@rsltda/components 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/rs-components.es.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var c = (p, C,
|
|
4
|
-
function
|
|
1
|
+
var J = Object.defineProperty;
|
|
2
|
+
var V = (p, C, e) => C in p ? J(p, C, { enumerable: !0, configurable: !0, writable: !0, value: e }) : p[C] = e;
|
|
3
|
+
var c = (p, C, e) => V(p, typeof C != "symbol" ? C + "" : C, e);
|
|
4
|
+
function _(p, C) {
|
|
5
5
|
customElements.get(p) || customElements.define(p, C);
|
|
6
6
|
}
|
|
7
|
-
const V = "data:image/png;base64,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", j = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABXFJREFUeNrUW0tsE0cY/u0aBC3YRtCSQBCO6COkUkuqAlEuJCggwQEw5EClKsR9obZAidQeWoRIyoGqqtQEEIgL4SWBxCuckJIUzAUoqIp7SVukCkuJUah4ODYvJelj/vHs4KSJ45mdmV3/0mjt9fze+b/5/sfM7nrAkFz1vx4kh0WkVZMWYJ+z5Qo7RkmLVaVuJU2My6PZ6BA5rCNt0xgGTyQIxFHS2nWC4dFo+C7SGhT8HRrfTlqjDiA8GmiOhm/XgCsa30pAaHIlAMR4pPh50kKa3TZGWpgAEVfxZ15FxiPVLxswHlgs6WaAO88AZnwbmBd0iRrChJhjADhovDIQPDZ9vhucFwShQjYmeCWNDzKfd4MEWfA1GgTb2IXdIovIpPxoxAXIhaplZ39q+TyY/+VWmFwyJ2+d/sPH4K9THfl2LxV1BZ+EHbtkjH9l40pYcGifsF6ovEwEAGRmjTYGyM7+pNkBqPjlJ3hh+nT6faDzEtw7cx6GBtJ56T+8eE3kckIsEGXAFzKzP2vtCm58/94DcHtnq854gAyNKGcAi/wPZUZUfuYgBFYsh7/TabhR8i49V3b4e5ixYe2Eutk6+aZFwoAZOhhQLWM80h+NR0l1XOLB0DL+6W9/wD+p1MjU5PfD1IVvjNARSYvoqgSEqGoAlsnS35K7pzPpuui99c9XNpVr/qfzautODsCDji6Zy1az/QSlAEgtPgKVS+hxqO8OD2Yz16/j9H6r4wT9PJxKQ0/dp5kprF3OfxfIANnytg4XkALAvzJjTLLrOZW9gUxAxMD40tLF9HP8qx2Z/lVvwiRWJ0jQn2dPHQBIVX5jBbBcQW3OR5v4Z0n6C02WDzQKBrtsf5+w/8IyHjDRZSTpLyQ+3Rco2vaZsA76/q2PtxhZRGgF4GlPL/y5eSsUfVCft84TkhYTh45QXRMiUgj9CwUkpA7wqGZAcrxAOJav9+0/Qo8lWxroEctfjPAzV9XyPsMDKeg/fo734SvAk+dg+H4qp651PsdYlbtAbLxqsPTbb2Ba5WJ4dP0m+PyZFOcjRrzWsoenOTQq1PQ1TCGru2c9v3O6L9izg6bKbN37F7vostmqFpNXb0Dxh/U0QD7++SY9N0iC5ARjVQ5APFep27f7Oyje/jnN7RjE5m5uoMZjqYtV3azVtbTYsYy3gEFAHpy9QIsfK//jTKPxlm6wagkMJu5w41Enj8lSviP061gnp71TTo+zI/XUODQe5eWG90fU+fi7NcPZNT8ChsYPJhJcFzOHpYvnsHJ8kZXG3H1SaeGx2g2C426CFn9SB1PmzeV+bUnvD238d+4aAT89PutNwL0LnXStMFoX+2AMGbo7wP8b+2f3w9iBv9vdExDdELkNZm5+2BG8s1yhwwVQ2gsgAx4V6ezV+ecOSbs2ANgdmJibjRfdFZa5L9DqYgCExyZ1a8ylwTBOZr9UVEn2zpAbY0Gz1sXQKAYEWU0QKuTZl2YAe1an2UWzH5FVtPt8QDdI7hUqlCiZkBpZZbuPyDS6YPZtjcEWAOzmg5PVYYvdR2S8imYg6YDxSuKQbQBY5eVEQIyoeHBS5XOCl0Hy/qHpwKfaBUwHxKSdtKcNABaMTLhCs6qnRJW6gKHaQBn1dbiAbldQSn1tALDaoMXt1NfJAGtlFldMfR2g6gGA5eeIQuqHdUVUXQxQ6QqRgntlRmFWwD2+sM7xeUG/RGxQP6J7cNoBYAWSTGoMm3h1zgQDgEXwqGDKi5oYmxEArBnNc9kcVf1mmCsAYHQO5+H3YYOTYpQBVmrMtWCqMfXKrCMAMBCaxokHjXa3twoCgKx4EB+V71ucGIgjAIyKB3ET+d6Vgu8dqnoDVFb+E2AAEkYQxr2UiokAAAAASUVORK5CYII=", K = "data:image/png;base64,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", X = "data:image/png;base64,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", $ = "data:image/png;base64,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", tt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABG5JREFUeNrkW01ME0EUfm0UDxgoqOGgCa1EPWBiBZSDBwsoZxuNeNNe0JuSmBi8ABeBk3BS8EC44V9s4s2D1sQLEW09ikFqwsXESDV4QRN8L51Kf2bbnd2Z2dn4kkmbne523jff996b2d0AaLKtAQjhRxRbDFsj+15sr9lnClsm8BByOsYVUOx0GD/OYbvMcbiWERDz2JIqwQgodHwE2xUJlyPnk9iGVAARUEBzcvyGAlzJ+WkEYdRIANB5ovgzbGHFss1giyMQWRkXC0pynqj+SoPzwGJJmgHuPQOY83Og30gSPciEjGcAeOi8NBACLjWfBu+NQDjuNCYEHTofYpo3wUIs+GoNgnPsj02xKE7KXS0SwD+KGTT75RYRlYITBoyAuTanlAGGz74jFogy4DqYbyNKGMAi/7rIxb/8wBN+S4x0e+2lRWRAk91r7hD4/5jogDteAnzflON8F7r0tt9eWiSpIggp2QCcFhnwz18Aw4f5fSvYd3+18vi1CEBbPf+cMy1CeMXYfoJUACwXH7exEH1XtlI/uw/gZnteBoNF9WInCqmprvIazXjs3sn896cYwmbLwliknkngD8ClxUppPT4B0LAN3jEVEohazfT4x8rjk0fzjpDzBRkMHAC4g8f3PK/8/cX9285fWKzsv3UoD6aVrBpKmWN7VSqSBbiV3ywn4bTtBni0lnekMNjhIwALp9DBNb4DVw9aO18rpvS32GerGwZwbXy58tj6ZikrnnQDnA9XB2xlo7rzfW+s+0hunmyI0IzxZsQq8pNcXnzl91Vzvma2CXkEwMSyvd9RHCD9TnyyyAob7ljY2+IBAJlvAEucsogCHY8RROGZVXv5XqSP5ONGyCIAlCS6mc/8YLTQzR8ozXKtoohiRZcFnalGmGy3rf+cCgAyxVrmFTKD4fxskCPNdWIzUQiUSzl+H9UI7zl9naHqY5WZBf7F74ZdAOk+61q9tREH22t/HdC0M38O2YMO6z4CuLwijGoE4EPxWbUWJjToVskLHip2ovWCY5UogRT4x1LSAWBbz1kfOJ9RuSGS9AEA8yrrgHkfAJBUBgCTQcZk53XsCk8bDIDw2BzdGtsagFXQcydYxLI4+xFdawETY8GYk5OcMoDqr7RBLHA0+44ZwJ7VGTNo9hNOT3T7fACxIOqx8ymckB5PNkTQhgyYfVdjcAUAu/ngZXU45fYRmaAk/eU8cF5KHHINgIcBMSHjwUmZzwnSbfOYHwKfbAnoDog5N2lPGQAsGOmQwpisp0SlSkBTbSCN+iokoFoKUqmvDABWG0yZTn1lElC0WJJOfZUSKNQGCYnUj6uKqEFVF5YohYTvXpmRmBVojy+ucnxBUG8JF9RPqB6ccgBYgeQkNcZ1vDqngwEEAsWClGDKS2kZm66lG0uNtJtc64EWZSnPMwYUpca4Dd3HQaMFdf4Zo3W1BVOPrldmPQGAgTBqEQ+G3G5v+QKAQoSH0lvtSRYo4b8AoCweZHXkeyON3juU9QaoU/srwAB77Uga7jO8tAAAAABJRU5ErkJggg==", et = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hJREFUeNrkWv91sjAUTXv6v+0EuoFsIJ2gdgM2KE4gTsBxAusE6ATRCdAJaCdAJ+DLTX2U9tNWKCSB3HPeIUgE7s19+QHcMHW4F+GIcEX0TuUitqftRsROxIF1AAMRvohYRFYyuAjvJFwriS8qkD4X6elcrRACNxnWRPycEIHJ5JHTSUPkixGfHGYUvFMLZYoiPdOJaiWfaQgjRNBF3ggRHM3kiyIMdPT2qSECUMeoFJFB5ClCVeRdA8lTKEkFbrAA3ObWV+KCqAUCLMoQuqnQ85cbLu4/1jCHw8fq1nEc9vb2JrfngGMI13VlnMNms5FxAbjQQxOtP67SIlEUZYvFQpYFoQzAfhzH2SWMx+PsJwRB8Nt13SYEKLXKA0kiikA5SRJJLk3TzPO8//4ThmFOEMB+xTQItPb+IEtAq4s0kKQBYX0ZJMJgMJB1EHALOYDqX3LIL/cQNSFAei15EAE5AATpdzgA5LFPIvi+/4Us5zw/FwlDQalRrKNyZngVedgdhBAgXHQEEaU+gVoa5KhPOJcaFHDSlQJkygUAKSJebE2y9Xfgd+Q6iEMoOAVbcsUfO8GsiWHw4knFzTMhwOfj3e2W9Xq9fKjDsPb+/p4f7/f78j/AbreTQ+V6vZb1ptMp2+/3X+rgfLSP+vP5XNatg9tdHdagcXs2m7HRaJSP+SCGMsitVqvP3pTz/NhyuWQiFSQ57GP7/Pws64AsiQABUT4ej0y4hj081DPU39WZIyBPQpAIaLmnpye5j2Ovr6+yBeEO1Ad5YDgcSlFo4gRMJhN5vDhpgrN+mAQ1KsDhp0fTuKnHx0cm8lOSQGuBIAAHFGdvLy8vOSlKATgEZRCk3+ECAIKhDpwGAa+8V6tWgZVXhbdlUr1FL2Z2TQiwb5EAjdyr06IUaOyZQNIC8qWmwbclBVi1wP5LG94FaH0wGhtMPlJhMc9gAVxVeWZiZ5hUIXJrYkdTETOVF7s3zAWJDsU9G3PfxBGB68w7E16Vaf9KROfrstCE3lfXxxIpM+jbQV+DAGPTxmFuS8ene6Gk5aOoaxEoEMA3fT0e22Z9VXMDo63/HaGN1m9yscRZC+GyDk54dKTCmLUcfxkVItYBODZav461gss6hjJrhYB1ENcumznrMFyb8r7KgslhloC3fapb91Q5YhaC5geJDXl/CZ7uvP8nwAAeipVa4iJE4AAAAABJRU5ErkJggg==", nt = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABIlJREFUeNrkWs11ozAQlnf3bm8H7iD4treQCuKtIKSCcM0p5LgnXiqwOyCpAPu2NzsV4A5wKmD1sR4iE4k/I4HN9948jBlAM5o/jRgxc5hwsjjZnMaH3yLWh+OK05bTnl0AppxcThtOSU0KOTkHxZ2l4IsGQssoPjzrLBSBQfotCS5ThNf2gEctPgs+HRxmX81kWWw6naZHEdvtlu12u/RYAjD85rTr08w7hxmSzt58Pk8Wi0USx3FSBvCA17btMmuw+iS8dKCO4yRRFCVNgXuhvD4rQSo8N/EkDMOkLeBZeGbflGCpZr2KqdcFnqlwi7gs7uiK9rFMeN3AOyRK2JhWQNCF8CVK8E0Jb+dfDtM0CbgDT6MyJRhxhVB86WQyOSnSN8Vms1GVz2Zn3/f9pCt4nmfcCoJ8uusScAVYYE4BC12lMEX+DLxiYzwgFd603/9f1fKBZiUvSmFVyYtroNVqxdbrtZTn+vqa8biT/n5+fmbcEo5eyemnjtmf582tSr5HJUcZAgUNZQxFEEspCILChRFMX6wWJTy2DgX4+fq+LFWRoCD8hstAOJgt6v08XNfNBMQR51UgUaanPfoXBT8xT2PWRV9F9AaREjCD4AFR3U9KKrKQkmAY6FDAUeWnqvUhPK3+wEcpkiwAwlMag5BQpCisWFOQYojINfJ1h8RltFSGpf5PJg+BQJQlyCJIUIoJNNMQjsxY5hpi1JcpgGJLjvQqQCY8CS7Opmo5i/9huhAcioKl4EhWUTUIEpoqYFRTAZ8nyecpOjn39/ef1RJPUUh/lOootYn8IOoQgff29jblQVrDfyIPnkfnuPbw8HD0vFSQ0aiRbD9a6YAe8jbyMY7j8TirAZD/IRyf8Yz/5uYmu3Z3d8fe3t5S4XCOI3eNlIcUQe8gntlsxrg7fKk1mqCxAjCY/CxAeNDT01NW+IAPAuIchQ0Exgy+v7+nvLgG4Pzj4+NIGO4K7PX1Nb0mCktFkNhPNKGAvdiazisAg+LBKDVhDBLXISAAC8B1GvjLy0s26Kurq8wFyB3INWAFABSG/6E8WeUpsYC99jpAFoi6AhVQTVaF3+pYfVtm1zbI0nKt89bhNlkL6IZiLeDosIAval4ul53PPuJJlbG2hegM+gG1yuDvDTY9f4nRFwVIPi2ZwuPjo8z//3D6a2wvoGc9QSON0S97/ajnTQZEvEuxUxSYsDxHtSNkCgXdJGO+GHWhBMx8wWZpZDL+eKqlKpbAOtwBcaaoj1gn97e1NxipBoPAmG9bnQI0SYpaZKZnv/S7ANEaTtkmx70lH0oY9/3SjCAjmC66PFXSJdIbeBVRvvXtsFO/EbLrDgB9ASx16UgLK+ogNWhuzHQtfhpvlRskn/UA0o8lDFDMevTtoNuBAuasZwgNCh+yHsIyaPpT1lN4BhTgsp5jMzTTl9UGgzP9PPwhmn7lxdKlmr4uV+hVwdOFK8zZmeOUrBCwC4A1RNNvY61gswtDnbWCxy4QVZfNIbtg2EPy+yYLJosNBOG5l7ptl8oBGyCoPoiG4PcqOF37/T8BBgCThigH5VpvfwAAAABJRU5ErkJggg==", ot = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABJZJREFUeNrsW79PE1Ec/9ZWfoWDm4yLeOwidZaEDg4mLDiqgx1hsk7oRJmECV10BBZ0McUB49aSYOJgUrAOJg4t8Ae0iAFKgPN966Fce+/uvbt77+6on+RLmvbufd/3+76/7wBoc8Qk8VEJpQiNEkoapDZdUyO0YdAaoYLxXaSBQucI6S4pZ6wRScGLHgRvpnxUFKF6PHEWi1DDGgOSxgY1R/MY6QG1/xIkb/5hv/FVh9ruKRTW91n4VAjdM2JFaJAmVKWdnNqf0DOTffrGepeu18CW8Bq8Fu+xsYSqwTM0wlMFX3ytOApNI7zXQRGBKyFJO/n0A0WvbsddC39GuAauZWMJySADXtlqY15O3c4abJSgBqGAnCzhGZSQCyLPSxWeQQlS64S8lc+LFv6MKDGhLKsOSBkK+BcM+hNQLumg9p1AZacDtrYTtgtcHzgG7dqRa+3Xfsbh1kgCKtv15p+wPliR7vvnTX9+VnGs6DC1lUsdIlwhJyPym5hqA50taQu/c1ICqQY9uwKFD1dGSLgwf3MV9LCD/P1niugG+dU4cYMe24UeP9Uhxpm8ss8UmJ7aM/HOPm9xg3FCi6IsYL5Z4yzlrRWhCzhUeY5ug7wtrp0XaQHJ5uA3fOOQevH7D72wUYrZBsM0Nkaq7sx4SCeB85fpO+SNe6jtHlP36De4/JhyQiYaH+v1FAdwDxbrMiPOqYCsydnGuuHunTr14qtXjiEWU0ibS095338cEQtQoF5PwNbO5RbaJSkP16Fhs9QNn7+07GFGlAuYUwKD6WLQmp6i/772qQdSY3v0oDOr2LoZyx7scCnodnL09n5DSCsQ94DMxJ5Q/glZgmJAfPHqlPLrCZCcbqTUc6lych/CBk/FzPBQt21AXFnulR4EeV2gYBrObZ9w3byyfNJIW9TR0uQhLL1RGv0EKyz2UBCpgIqZeZ1rs9gAVbeOgZxcC5HavpHPM08PiJLYFIu8LRqiikgFrLWc6mqnL7716P4eZCb7iCK6GuU0k0VZ814TGQM0p2bISxnMO1OgNEOa6EBY9GMS1Nw2o0J4hqiUdrgoIxNk/LCC5gjOmwEop5+RoQDNKoWRVtW1K+CDEJ77kBcllWogCXm/8jjvZAh5AP0BqrRSeImWxze/dfGZE8dsENdGHjx7EokqbXDhxhJYTt5mgFJ2K0TcgwK6rUZkh/VTePvuqNEGp0aOfNH0zJwCE09+Ndam4CVvBShkQGqVHQqr7oefeC/DgDWwR2OIBZZ5HjZBmPdZAh5egzneqXE6R1kvAnh9QULj9T8iGAwOxP++HHEGfEmiTBqbzdIB1zMSQoMQ8MtUCyDulRihpy+0MJJAvvh+3AcF1AxXSklW/Byhj2GZFKlg846QACoHGfmZmySBlIaQoixB+DyEGCkJCkhCyCHyTdF5iAA0QQGxGsbAR0O2nQIf8+zwogY+GpI+mr4GEYUfrpCBiKPYbqbvlytE2vT9cIUMXDAU28303RZIkSp4eJFmUMA4XHAsRL3W92N4YhUPitBGaP5fowuV8tzEg8D8PhGgAhYJDRufV+A/gsFvAQYAGFubR/xBobMAAAAASUVORK5CYII=", at = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA9xJREFUeNrsWz124jAQHjY5gEtK7wkwJ1hKSvYGvkGcE4Qtt+JxAucGpkxn6NKZdOnMDUyZzqvhmd2gSLJk/dmw33vzSBxjSaOZb37kANw4Ro7GCYjMiPwgEjUSUPcciewb2RHZNtcGDVx0RqTuKFnzjEEuvNBYOC35UBQRaO64jEUEfeWAqJlg2GoesxkEQQBRFJ1+3+/3cDweYbvdyoxzIPKz4YreICZS8XaOLLZOkqQuiqJuA96D9+J3BJZQNWP2ZvHchadpWncFfrdFEd6VEPF2Po7juqqqWhf4DHyWwBIin4RXsiams+siaxAoIfChgMzV4iWUkPmI804XL6EEp3lCzvJ5V+BwQukqD5g1CvhHBiSml2V5+jwcDicRIQzDk3QF5gzT6ZQ1DuYHG+e+/9n0V6tVa0aHoY0ozIYrZC6Y/2JQspNfwhZea1MCyQa1XYEzjlJEuO9g/pdZUHyZi6Ab5Hne6gaPj48wGql54HK5hKenp4ux8RqFBZFnWxawojUuk96ygC7QkuW1ug2Ozbh3ZdMCInq3zwUNC5vNBt7e3oRkeC6M2jCZTL4QJ46N30VS5M3RNJT8mLNDF7JYLLR4AOfAeK407hQVcOFwZPIwn8+5N4/H45Ofi8rc9/f30y5+fHz8DaGfBXcXn8MDWtjr6yt9+ZcTCyAEpM3khDCFFoJhVQScg44FfPPeOyMcQBbJ/BtaWJIkVse/d7VQJMT1ei0kRDqkPjw89K7np5XMENYWmnuWZc5JUKsIorNA3dh/7iCppMmMbDC3qYCUnrRuTk/n9qgE2U4Sjs1QZGqTBHcs3zbSWCT+j4RHFCGVGAnG3tm0gLCtGNJxBdWeAqcYCm0TYWGiE0SXzSqmLyiHCxeRIDFhBTSDq0YAzu4nLhQQshi8S1Z4dgU8CFEBJ/tzYv7cnmDXOK4aRXAM4B+g+j0Nwt3s2h+QAT5bkEc4PyWqeEroYgkyOy9YfAkesBSltSYqRQmfP8vS19GYcGLI1Fju6pTKEg1Wb0djzNSYJVgEYdyXITy8B2N8W+FkavdHBkKikv9hHw9LX7qXiC9JYAcIP1XOSIh8B88vU6Vg75WYXvq+VGLkQIz4/p0BBRwbV5o5VvxvIi996RQFIHhHyIKUPplfukiyKDH0FKWDxefQY8wcKCCCnsPmm6IrGABCS4RY9ZH4OhVK10Z80r3DayU+btpv0PRDGChMuEICA0dxa6ZvyhUGbfomXCGBK0Nxa6bfNUEaVMKjilhCAQu4cqRDz/VNNE9YfFDADYH+X6OrCnld+MCb3997VMAzkUnz8wb+ww/+CDAA4q4zpysTtacAAAAASUVORK5CYII=", it = /* @__PURE__ */ Object.assign({
|
|
7
|
+
const j = "data:image/png;base64,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", K = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABXFJREFUeNrUW0tsE0cY/u0aBC3YRtCSQBCO6COkUkuqAlEuJCggwQEw5EClKsR9obZAidQeWoRIyoGqqtQEEIgL4SWBxCuckJIUzAUoqIp7SVukCkuJUah4ODYvJelj/vHs4KSJ45mdmV3/0mjt9fze+b/5/sfM7nrAkFz1vx4kh0WkVZMWYJ+z5Qo7RkmLVaVuJU2My6PZ6BA5rCNt0xgGTyQIxFHS2nWC4dFo+C7SGhT8HRrfTlqjDiA8GmiOhm/XgCsa30pAaHIlAMR4pPh50kKa3TZGWpgAEVfxZ15FxiPVLxswHlgs6WaAO88AZnwbmBd0iRrChJhjADhovDIQPDZ9vhucFwShQjYmeCWNDzKfd4MEWfA1GgTb2IXdIovIpPxoxAXIhaplZ39q+TyY/+VWmFwyJ2+d/sPH4K9THfl2LxV1BZ+EHbtkjH9l40pYcGifsF6ovEwEAGRmjTYGyM7+pNkBqPjlJ3hh+nT6faDzEtw7cx6GBtJ56T+8eE3kckIsEGXAFzKzP2vtCm58/94DcHtnq854gAyNKGcAi/wPZUZUfuYgBFYsh7/TabhR8i49V3b4e5ixYe2Eutk6+aZFwoAZOhhQLWM80h+NR0l1XOLB0DL+6W9/wD+p1MjU5PfD1IVvjNARSYvoqgSEqGoAlsnS35K7pzPpuui99c9XNpVr/qfzautODsCDji6Zy1az/QSlAEgtPgKVS+hxqO8OD2Yz16/j9H6r4wT9PJxKQ0/dp5kprF3OfxfIANnytg4XkALAvzJjTLLrOZW9gUxAxMD40tLF9HP8qx2Z/lVvwiRWJ0jQn2dPHQBIVX5jBbBcQW3OR5v4Z0n6C02WDzQKBrtsf5+w/8IyHjDRZSTpLyQ+3Rco2vaZsA76/q2PtxhZRGgF4GlPL/y5eSsUfVCft84TkhYTh45QXRMiUgj9CwUkpA7wqGZAcrxAOJav9+0/Qo8lWxroEctfjPAzV9XyPsMDKeg/fo734SvAk+dg+H4qp651PsdYlbtAbLxqsPTbb2Ba5WJ4dP0m+PyZFOcjRrzWsoenOTQq1PQ1TCGru2c9v3O6L9izg6bKbN37F7vostmqFpNXb0Dxh/U0QD7++SY9N0iC5ARjVQ5APFep27f7Oyje/jnN7RjE5m5uoMZjqYtV3azVtbTYsYy3gEFAHpy9QIsfK//jTKPxlm6wagkMJu5w41Enj8lSviP061gnp71TTo+zI/XUODQe5eWG90fU+fi7NcPZNT8ChsYPJhJcFzOHpYvnsHJ8kZXG3H1SaeGx2g2C426CFn9SB1PmzeV+bUnvD238d+4aAT89PutNwL0LnXStMFoX+2AMGbo7wP8b+2f3w9iBv9vdExDdELkNZm5+2BG8s1yhwwVQ2gsgAx4V6ezV+ecOSbs2ANgdmJibjRfdFZa5L9DqYgCExyZ1a8ylwTBOZr9UVEn2zpAbY0Gz1sXQKAYEWU0QKuTZl2YAe1an2UWzH5FVtPt8QDdI7hUqlCiZkBpZZbuPyDS6YPZtjcEWAOzmg5PVYYvdR2S8imYg6YDxSuKQbQBY5eVEQIyoeHBS5XOCl0Hy/qHpwKfaBUwHxKSdtKcNABaMTLhCs6qnRJW6gKHaQBn1dbiAbldQSn1tALDaoMXt1NfJAGtlFldMfR2g6gGA5eeIQuqHdUVUXQxQ6QqRgntlRmFWwD2+sM7xeUG/RGxQP6J7cNoBYAWSTGoMm3h1zgQDgEXwqGDKi5oYmxEArBnNc9kcVf1mmCsAYHQO5+H3YYOTYpQBVmrMtWCqMfXKrCMAMBCaxokHjXa3twoCgKx4EB+V71ucGIgjAIyKB3ET+d6Vgu8dqnoDVFb+E2AAEkYQxr2UiokAAAAASUVORK5CYII=", X = "data:image/png;base64,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", $ = "data:image/png;base64,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", ee = "data:image/png;base64,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", te = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABG5JREFUeNrkW01ME0EUfm0UDxgoqOGgCa1EPWBiBZSDBwsoZxuNeNNe0JuSmBi8ABeBk3BS8EC44V9s4s2D1sQLEW09ikFqwsXESDV4QRN8L51Kf2bbnd2Z2dn4kkmbne523jff996b2d0AaLKtAQjhRxRbDFsj+15sr9lnClsm8BByOsYVUOx0GD/OYbvMcbiWERDz2JIqwQgodHwE2xUJlyPnk9iGVAARUEBzcvyGAlzJ+WkEYdRIANB5ovgzbGHFss1giyMQWRkXC0pynqj+SoPzwGJJmgHuPQOY83Og30gSPciEjGcAeOi8NBACLjWfBu+NQDjuNCYEHTofYpo3wUIs+GoNgnPsj02xKE7KXS0SwD+KGTT75RYRlYITBoyAuTanlAGGz74jFogy4DqYbyNKGMAi/7rIxb/8wBN+S4x0e+2lRWRAk91r7hD4/5jogDteAnzflON8F7r0tt9eWiSpIggp2QCcFhnwz18Aw4f5fSvYd3+18vi1CEBbPf+cMy1CeMXYfoJUACwXH7exEH1XtlI/uw/gZnteBoNF9WInCqmprvIazXjs3sn896cYwmbLwliknkngD8ClxUppPT4B0LAN3jEVEohazfT4x8rjk0fzjpDzBRkMHAC4g8f3PK/8/cX9285fWKzsv3UoD6aVrBpKmWN7VSqSBbiV3ywn4bTtBni0lnekMNjhIwALp9DBNb4DVw9aO18rpvS32GerGwZwbXy58tj6ZikrnnQDnA9XB2xlo7rzfW+s+0hunmyI0IzxZsQq8pNcXnzl91Vzvma2CXkEwMSyvd9RHCD9TnyyyAob7ljY2+IBAJlvAEucsogCHY8RROGZVXv5XqSP5ONGyCIAlCS6mc/8YLTQzR8ozXKtoohiRZcFnalGmGy3rf+cCgAyxVrmFTKD4fxskCPNdWIzUQiUSzl+H9UI7zl9naHqY5WZBf7F74ZdAOk+61q9tREH22t/HdC0M38O2YMO6z4CuLwijGoE4EPxWbUWJjToVskLHip2ovWCY5UogRT4x1LSAWBbz1kfOJ9RuSGS9AEA8yrrgHkfAJBUBgCTQcZk53XsCk8bDIDw2BzdGtsagFXQcydYxLI4+xFdawETY8GYk5OcMoDqr7RBLHA0+44ZwJ7VGTNo9hNOT3T7fACxIOqx8ymckB5PNkTQhgyYfVdjcAUAu/ngZXU45fYRmaAk/eU8cF5KHHINgIcBMSHjwUmZzwnSbfOYHwKfbAnoDog5N2lPGQAsGOmQwpisp0SlSkBTbSCN+iokoFoKUqmvDABWG0yZTn1lElC0WJJOfZUSKNQGCYnUj6uKqEFVF5YohYTvXpmRmBVojy+ucnxBUG8JF9RPqB6ccgBYgeQkNcZ1vDqngwEEAsWClGDKS2kZm66lG0uNtJtc64EWZSnPMwYUpca4Dd3HQaMFdf4Zo3W1BVOPrldmPQGAgTBqEQ+G3G5v+QKAQoSH0lvtSRYo4b8AoCweZHXkeyON3juU9QaoU/srwAB77Uga7jO8tAAAAABJRU5ErkJggg==", ne = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hJREFUeNrkWv91sjAUTXv6v+0EuoFsIJ2gdgM2KE4gTsBxAusE6ATRCdAJaCdAJ+DLTX2U9tNWKCSB3HPeIUgE7s19+QHcMHW4F+GIcEX0TuUitqftRsROxIF1AAMRvohYRFYyuAjvJFwriS8qkD4X6elcrRACNxnWRPycEIHJ5JHTSUPkixGfHGYUvFMLZYoiPdOJaiWfaQgjRNBF3ggRHM3kiyIMdPT2qSECUMeoFJFB5ClCVeRdA8lTKEkFbrAA3ObWV+KCqAUCLMoQuqnQ85cbLu4/1jCHw8fq1nEc9vb2JrfngGMI13VlnMNms5FxAbjQQxOtP67SIlEUZYvFQpYFoQzAfhzH2SWMx+PsJwRB8Nt13SYEKLXKA0kiikA5SRJJLk3TzPO8//4ThmFOEMB+xTQItPb+IEtAq4s0kKQBYX0ZJMJgMJB1EHALOYDqX3LIL/cQNSFAei15EAE5AATpdzgA5LFPIvi+/4Us5zw/FwlDQalRrKNyZngVedgdhBAgXHQEEaU+gVoa5KhPOJcaFHDSlQJkygUAKSJebE2y9Xfgd+Q6iEMoOAVbcsUfO8GsiWHw4knFzTMhwOfj3e2W9Xq9fKjDsPb+/p4f7/f78j/AbreTQ+V6vZb1ptMp2+/3X+rgfLSP+vP5XNatg9tdHdagcXs2m7HRaJSP+SCGMsitVqvP3pTz/NhyuWQiFSQ57GP7/Pws64AsiQABUT4ej0y4hj081DPU39WZIyBPQpAIaLmnpye5j2Ovr6+yBeEO1Ad5YDgcSlFo4gRMJhN5vDhpgrN+mAQ1KsDhp0fTuKnHx0cm8lOSQGuBIAAHFGdvLy8vOSlKATgEZRCk3+ECAIKhDpwGAa+8V6tWgZVXhbdlUr1FL2Z2TQiwb5EAjdyr06IUaOyZQNIC8qWmwbclBVi1wP5LG94FaH0wGhtMPlJhMc9gAVxVeWZiZ5hUIXJrYkdTETOVF7s3zAWJDsU9G3PfxBGB68w7E16Vaf9KROfrstCE3lfXxxIpM+jbQV+DAGPTxmFuS8ene6Gk5aOoaxEoEMA3fT0e22Z9VXMDo63/HaGN1m9yscRZC+GyDk54dKTCmLUcfxkVItYBODZav461gss6hjJrhYB1ENcumznrMFyb8r7KgslhloC3fapb91Q5YhaC5geJDXl/CZ7uvP8nwAAeipVa4iJE4AAAAABJRU5ErkJggg==", oe = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABIlJREFUeNrkWs11ozAQlnf3bm8H7iD4treQCuKtIKSCcM0p5LgnXiqwOyCpAPu2NzsV4A5wKmD1sR4iE4k/I4HN9948jBlAM5o/jRgxc5hwsjjZnMaH3yLWh+OK05bTnl0AppxcThtOSU0KOTkHxZ2l4IsGQssoPjzrLBSBQfotCS5ThNf2gEctPgs+HRxmX81kWWw6naZHEdvtlu12u/RYAjD85rTr08w7hxmSzt58Pk8Wi0USx3FSBvCA17btMmuw+iS8dKCO4yRRFCVNgXuhvD4rQSo8N/EkDMOkLeBZeGbflGCpZr2KqdcFnqlwi7gs7uiK9rFMeN3AOyRK2JhWQNCF8CVK8E0Jb+dfDtM0CbgDT6MyJRhxhVB86WQyOSnSN8Vms1GVz2Zn3/f9pCt4nmfcCoJ8uusScAVYYE4BC12lMEX+DLxiYzwgFd603/9f1fKBZiUvSmFVyYtroNVqxdbrtZTn+vqa8biT/n5+fmbcEo5eyemnjtmf582tSr5HJUcZAgUNZQxFEEspCILChRFMX6wWJTy2DgX4+fq+LFWRoCD8hstAOJgt6v08XNfNBMQR51UgUaanPfoXBT8xT2PWRV9F9AaREjCD4AFR3U9KKrKQkmAY6FDAUeWnqvUhPK3+wEcpkiwAwlMag5BQpCisWFOQYojINfJ1h8RltFSGpf5PJg+BQJQlyCJIUIoJNNMQjsxY5hpi1JcpgGJLjvQqQCY8CS7Opmo5i/9huhAcioKl4EhWUTUIEpoqYFRTAZ8nyecpOjn39/ef1RJPUUh/lOootYn8IOoQgff29jblQVrDfyIPnkfnuPbw8HD0vFSQ0aiRbD9a6YAe8jbyMY7j8TirAZD/IRyf8Yz/5uYmu3Z3d8fe3t5S4XCOI3eNlIcUQe8gntlsxrg7fKk1mqCxAjCY/CxAeNDT01NW+IAPAuIchQ0Exgy+v7+nvLgG4Pzj4+NIGO4K7PX1Nb0mCktFkNhPNKGAvdiazisAg+LBKDVhDBLXISAAC8B1GvjLy0s26Kurq8wFyB3INWAFABSG/6E8WeUpsYC99jpAFoi6AhVQTVaF3+pYfVtm1zbI0nKt89bhNlkL6IZiLeDosIAval4ul53PPuJJlbG2hegM+gG1yuDvDTY9f4nRFwVIPi2ZwuPjo8z//3D6a2wvoGc9QSON0S97/ajnTQZEvEuxUxSYsDxHtSNkCgXdJGO+GHWhBMx8wWZpZDL+eKqlKpbAOtwBcaaoj1gn97e1NxipBoPAmG9bnQI0SYpaZKZnv/S7ANEaTtkmx70lH0oY9/3SjCAjmC66PFXSJdIbeBVRvvXtsFO/EbLrDgB9ASx16UgLK+ogNWhuzHQtfhpvlRskn/UA0o8lDFDMevTtoNuBAuasZwgNCh+yHsIyaPpT1lN4BhTgsp5jMzTTl9UGgzP9PPwhmn7lxdKlmr4uV+hVwdOFK8zZmeOUrBCwC4A1RNNvY61gswtDnbWCxy4QVZfNIbtg2EPy+yYLJosNBOG5l7ptl8oBGyCoPoiG4PcqOF37/T8BBgCThigH5VpvfwAAAABJRU5ErkJggg==", ae = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABJZJREFUeNrsW79PE1Ec/9ZWfoWDm4yLeOwidZaEDg4mLDiqgx1hsk7oRJmECV10BBZ0McUB49aSYOJgUrAOJg4t8Ae0iAFKgPN966Fce+/uvbt77+6on+RLmvbufd/3+76/7wBoc8Qk8VEJpQiNEkoapDZdUyO0YdAaoYLxXaSBQucI6S4pZ6wRScGLHgRvpnxUFKF6PHEWi1DDGgOSxgY1R/MY6QG1/xIkb/5hv/FVh9ruKRTW91n4VAjdM2JFaJAmVKWdnNqf0DOTffrGepeu18CW8Bq8Fu+xsYSqwTM0wlMFX3ytOApNI7zXQRGBKyFJO/n0A0WvbsddC39GuAauZWMJySADXtlqY15O3c4abJSgBqGAnCzhGZSQCyLPSxWeQQlS64S8lc+LFv6MKDGhLKsOSBkK+BcM+hNQLumg9p1AZacDtrYTtgtcHzgG7dqRa+3Xfsbh1kgCKtv15p+wPliR7vvnTX9+VnGs6DC1lUsdIlwhJyPym5hqA50taQu/c1ICqQY9uwKFD1dGSLgwf3MV9LCD/P1niugG+dU4cYMe24UeP9Uhxpm8ss8UmJ7aM/HOPm9xg3FCi6IsYL5Z4yzlrRWhCzhUeY5ug7wtrp0XaQHJ5uA3fOOQevH7D72wUYrZBsM0Nkaq7sx4SCeB85fpO+SNe6jtHlP36De4/JhyQiYaH+v1FAdwDxbrMiPOqYCsydnGuuHunTr14qtXjiEWU0ibS095338cEQtQoF5PwNbO5RbaJSkP16Fhs9QNn7+07GFGlAuYUwKD6WLQmp6i/772qQdSY3v0oDOr2LoZyx7scCnodnL09n5DSCsQ94DMxJ5Q/glZgmJAfPHqlPLrCZCcbqTUc6lych/CBk/FzPBQt21AXFnulR4EeV2gYBrObZ9w3byyfNJIW9TR0uQhLL1RGv0EKyz2UBCpgIqZeZ1rs9gAVbeOgZxcC5HavpHPM08PiJLYFIu8LRqiikgFrLWc6mqnL7716P4eZCb7iCK6GuU0k0VZ814TGQM0p2bISxnMO1OgNEOa6EBY9GMS1Nw2o0J4hqiUdrgoIxNk/LCC5gjOmwEop5+RoQDNKoWRVtW1K+CDEJ77kBcllWogCXm/8jjvZAh5AP0BqrRSeImWxze/dfGZE8dsENdGHjx7EokqbXDhxhJYTt5mgFJ2K0TcgwK6rUZkh/VTePvuqNEGp0aOfNH0zJwCE09+Ndam4CVvBShkQGqVHQqr7oefeC/DgDWwR2OIBZZ5HjZBmPdZAh5egzneqXE6R1kvAnh9QULj9T8iGAwOxP++HHEGfEmiTBqbzdIB1zMSQoMQ8MtUCyDulRihpy+0MJJAvvh+3AcF1AxXSklW/Byhj2GZFKlg846QACoHGfmZmySBlIaQoixB+DyEGCkJCkhCyCHyTdF5iAA0QQGxGsbAR0O2nQIf8+zwogY+GpI+mr4GEYUfrpCBiKPYbqbvlytE2vT9cIUMXDAU28303RZIkSp4eJFmUMA4XHAsRL3W92N4YhUPitBGaP5fowuV8tzEg8D8PhGgAhYJDRufV+A/gsFvAQYAGFubR/xBobMAAAAASUVORK5CYII=", ie = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA9xJREFUeNrsWz124jAQHjY5gEtK7wkwJ1hKSvYGvkGcE4Qtt+JxAucGpkxn6NKZdOnMDUyZzqvhmd2gSLJk/dmw33vzSBxjSaOZb37kANw4Ro7GCYjMiPwgEjUSUPcciewb2RHZNtcGDVx0RqTuKFnzjEEuvNBYOC35UBQRaO64jEUEfeWAqJlg2GoesxkEQQBRFJ1+3+/3cDweYbvdyoxzIPKz4YreICZS8XaOLLZOkqQuiqJuA96D9+J3BJZQNWP2ZvHchadpWncFfrdFEd6VEPF2Po7juqqqWhf4DHyWwBIin4RXsiams+siaxAoIfChgMzV4iWUkPmI804XL6EEp3lCzvJ5V+BwQukqD5g1CvhHBiSml2V5+jwcDicRIQzDk3QF5gzT6ZQ1DuYHG+e+/9n0V6tVa0aHoY0ozIYrZC6Y/2JQspNfwhZea1MCyQa1XYEzjlJEuO9g/pdZUHyZi6Ab5Hne6gaPj48wGql54HK5hKenp4ux8RqFBZFnWxawojUuk96ygC7QkuW1ug2Ozbh3ZdMCInq3zwUNC5vNBt7e3oRkeC6M2jCZTL4QJ46N30VS5M3RNJT8mLNDF7JYLLR4AOfAeK407hQVcOFwZPIwn8+5N4/H45Ofi8rc9/f30y5+fHz8DaGfBXcXn8MDWtjr6yt9+ZcTCyAEpM3khDCFFoJhVQScg44FfPPeOyMcQBbJ/BtaWJIkVse/d7VQJMT1ei0kRDqkPjw89K7np5XMENYWmnuWZc5JUKsIorNA3dh/7iCppMmMbDC3qYCUnrRuTk/n9qgE2U4Sjs1QZGqTBHcs3zbSWCT+j4RHFCGVGAnG3tm0gLCtGNJxBdWeAqcYCm0TYWGiE0SXzSqmLyiHCxeRIDFhBTSDq0YAzu4nLhQQshi8S1Z4dgU8CFEBJ/tzYv7cnmDXOK4aRXAM4B+g+j0Nwt3s2h+QAT5bkEc4PyWqeEroYgkyOy9YfAkesBSltSYqRQmfP8vS19GYcGLI1Fju6pTKEg1Wb0djzNSYJVgEYdyXITy8B2N8W+FkavdHBkKikv9hHw9LX7qXiC9JYAcIP1XOSIh8B88vU6Vg75WYXvq+VGLkQIz4/p0BBRwbV5o5VvxvIi996RQFIHhHyIKUPplfukiyKDH0FKWDxefQY8wcKCCCnsPmm6IrGABCS4RY9ZH4OhVK10Z80r3DayU+btpv0PRDGChMuEICA0dxa6ZvyhUGbfomXCGBK0Nxa6bfNUEaVMKjilhCAQu4cqRDz/VNNE9YfFDADYH+X6OrCnld+MCb3997VMAzkUnz8wb+ww/+CDAA4q4zpysTtacAAAAASUVORK5CYII=", se = /* @__PURE__ */ Object.assign({
|
|
8
8
|
"../json/PuntosMapas_gasgas_0.json": () => import("./PuntosMapas_gasgas_0-CjccjpQ8.js").then((p) => p.default),
|
|
9
9
|
"../json/PuntosMapas_gasgas_1.json": () => import("./PuntosMapas_gasgas_1-inakGBZ_.js").then((p) => p.default),
|
|
10
10
|
"../json/PuntosMapas_hqv_0.json": () => import("./PuntosMapas_hqv_0-OSIxCcrz.js").then((p) => p.default),
|
|
@@ -13,28 +13,30 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
13
13
|
"../json/PuntosMapas_ktm_1.json": () => import("./PuntosMapas_ktm_1-DCq6GRnp.js").then((p) => p.default),
|
|
14
14
|
"../json/PuntosMapas_voge_0.json": () => import("./PuntosMapas_voge_0-DL0EWJWf.js").then((p) => p.default),
|
|
15
15
|
"../json/PuntosMapas_voge_1.json": () => import("./PuntosMapas_voge_1-Clawdtrj.js").then((p) => p.default)
|
|
16
|
-
}),
|
|
17
|
-
"../pin/gasgas.png":
|
|
18
|
-
"../pin/gasgas_distribuidor.png":
|
|
19
|
-
"../pin/hqv.png":
|
|
20
|
-
"../pin/hqv_distribuidor.png":
|
|
21
|
-
"../pin/ktm.png":
|
|
22
|
-
"../pin/ktm_distribuidor.png":
|
|
23
|
-
"../pin/rs.png":
|
|
24
|
-
"../pin/rs_distribuidor.png":
|
|
25
|
-
"../pin/voge.png":
|
|
26
|
-
"../pin/voge_distribuidor.png":
|
|
27
|
-
}),
|
|
16
|
+
}), re = /* @__PURE__ */ Object.assign({
|
|
17
|
+
"../pin/gasgas.png": j,
|
|
18
|
+
"../pin/gasgas_distribuidor.png": K,
|
|
19
|
+
"../pin/hqv.png": X,
|
|
20
|
+
"../pin/hqv_distribuidor.png": $,
|
|
21
|
+
"../pin/ktm.png": ee,
|
|
22
|
+
"../pin/ktm_distribuidor.png": te,
|
|
23
|
+
"../pin/rs.png": ne,
|
|
24
|
+
"../pin/rs_distribuidor.png": oe,
|
|
25
|
+
"../pin/voge.png": ae,
|
|
26
|
+
"../pin/voge_distribuidor.png": ie
|
|
27
|
+
}), q = "#000000", U = "/assets/fontawesome/css/all.min.css", H = "https://ap2.rs-shop.cl/web/PuntosMapas", le = {
|
|
28
28
|
gasgas: "#cb0d25",
|
|
29
|
+
hqv: "#2b3d60",
|
|
29
30
|
ktm: "#ff6600"
|
|
30
|
-
},
|
|
31
|
+
}, Y = {
|
|
31
32
|
gas: "gasgas",
|
|
32
33
|
gasgas: "gasgas",
|
|
34
|
+
rsltda: "rs",
|
|
33
35
|
husqvarna: "hqv"
|
|
34
36
|
}, N = {
|
|
35
37
|
sucursal: 0,
|
|
36
38
|
distribuidor: 1
|
|
37
|
-
},
|
|
39
|
+
}, ce = ["norte", "rm", "centro", "sur"], de = {
|
|
38
40
|
norte: "Zona Norte",
|
|
39
41
|
rm: "RM",
|
|
40
42
|
centro: "Zona Centro",
|
|
@@ -47,7 +49,7 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
47
49
|
maxLat: -17,
|
|
48
50
|
minLng: -76,
|
|
49
51
|
maxLng: -66
|
|
50
|
-
}, R = 720 * 60 * 60 * 1e3,
|
|
52
|
+
}, R = 720 * 60 * 60 * 1e3, O = 0, pe = "rs-map-cache", v = "points", W = {
|
|
51
53
|
"region de arica y parinacota": "norte",
|
|
52
54
|
"arica y parinacota": "norte",
|
|
53
55
|
"region de tarapaca": "norte",
|
|
@@ -118,27 +120,30 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
118
120
|
c(this, "activeZone", "all");
|
|
119
121
|
c(this, "mapHeight", "");
|
|
120
122
|
c(this, "googleMapsApiKey", "");
|
|
121
|
-
c(this, "pointsApiUrl",
|
|
123
|
+
c(this, "pointsApiUrl", H);
|
|
122
124
|
c(this, "markerIconBaseUrl", "");
|
|
123
125
|
c(this, "defaultMarkerIconUrl", "");
|
|
124
126
|
c(this, "pointsCacheTtlMs", R);
|
|
127
|
+
c(this, "refreshIntervalMs", O);
|
|
128
|
+
c(this, "refreshIntervalId", null);
|
|
125
129
|
c(this, "panAnimationFrame", null);
|
|
126
130
|
c(this, "highlightTimeout", null);
|
|
127
131
|
c(this, "isSyncingInitialAttributes", !1);
|
|
128
132
|
c(this, "refreshQueued", !1);
|
|
133
|
+
c(this, "refreshQueuedForce", !1);
|
|
129
134
|
c(this, "localPointsRequests", /* @__PURE__ */ new Map());
|
|
130
135
|
c(this, "closePointModal", () => {
|
|
131
|
-
var
|
|
132
|
-
this.pointModalOverlayEl && (this.pointModalOverlayEl.setAttribute("hidden", ""), (
|
|
136
|
+
var e;
|
|
137
|
+
this.pointModalOverlayEl && (this.pointModalOverlayEl.setAttribute("hidden", ""), (e = this.pointModalBodyEl) == null || e.replaceChildren());
|
|
133
138
|
});
|
|
134
|
-
c(this, "handlePointModalOverlayClick", (
|
|
135
|
-
|
|
139
|
+
c(this, "handlePointModalOverlayClick", (e) => {
|
|
140
|
+
e.target === this.pointModalOverlayEl && this.closePointModal();
|
|
136
141
|
});
|
|
137
|
-
c(this, "handlePointModalKeydown", (
|
|
138
|
-
|
|
142
|
+
c(this, "handlePointModalKeydown", (e) => {
|
|
143
|
+
e.key === "Escape" && this.pointModalOverlayEl && !this.pointModalOverlayEl.hasAttribute("hidden") && this.closePointModal();
|
|
139
144
|
});
|
|
140
|
-
c(this, "handleZoneButtonClick", (
|
|
141
|
-
const n =
|
|
145
|
+
c(this, "handleZoneButtonClick", (e) => {
|
|
146
|
+
const n = e.currentTarget.dataset.zone;
|
|
142
147
|
n && (this.setActiveZone(n), this.scrollToZoneSection(n));
|
|
143
148
|
});
|
|
144
149
|
c(this, "handleNearestClick", () => {
|
|
@@ -147,8 +152,8 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
147
152
|
return;
|
|
148
153
|
}
|
|
149
154
|
navigator.geolocation.getCurrentPosition(
|
|
150
|
-
(
|
|
151
|
-
const { latitude:
|
|
155
|
+
(e) => {
|
|
156
|
+
const { latitude: t, longitude: n } = e.coords, o = this.findNearestPoint(t, n);
|
|
152
157
|
if (o) {
|
|
153
158
|
const a = this.getPointPosition(o);
|
|
154
159
|
a && this.centerMapOnPoint(a.lat, a.lng), this.scrollToPointCard(o.id);
|
|
@@ -160,15 +165,18 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
160
165
|
}
|
|
161
166
|
);
|
|
162
167
|
});
|
|
168
|
+
c(this, "handleVisibilityChange", () => {
|
|
169
|
+
!document.hidden && this.isConnected && this.refreshIntervalMs > 0 && this.forceRefresh();
|
|
170
|
+
});
|
|
163
171
|
A.ensureFontAwesome(), this.root = this.attachShadow({ mode: "open" }), this.root.innerHTML = `
|
|
164
|
-
<link rel="stylesheet" href="${
|
|
172
|
+
<link rel="stylesheet" href="${U}" />
|
|
165
173
|
<style>
|
|
166
174
|
:host {
|
|
167
175
|
display: block;
|
|
168
176
|
position: relative;
|
|
169
177
|
width: 100%;
|
|
170
178
|
height: var(--map-height, 520px);
|
|
171
|
-
--rs-map-accent: ${
|
|
179
|
+
--rs-map-accent: ${q};
|
|
172
180
|
}
|
|
173
181
|
.map-layout {
|
|
174
182
|
display: grid;
|
|
@@ -624,7 +632,7 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
624
632
|
justify-content: space-between;
|
|
625
633
|
gap: 12px;
|
|
626
634
|
padding: 14px 18px;
|
|
627
|
-
background:
|
|
635
|
+
background: var(--rs-map-accent);
|
|
628
636
|
color: #fff;
|
|
629
637
|
}
|
|
630
638
|
.point-modal__title {
|
|
@@ -699,7 +707,10 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
699
707
|
}
|
|
700
708
|
.point-modal__extra a,
|
|
701
709
|
.point-modal__link {
|
|
702
|
-
|
|
710
|
+
display: inline-flex;
|
|
711
|
+
align-items: center;
|
|
712
|
+
gap: 8px;
|
|
713
|
+
color: var(--rs-map-accent);
|
|
703
714
|
font-weight: 600;
|
|
704
715
|
text-decoration: none;
|
|
705
716
|
border-bottom: 1px solid currentColor;
|
|
@@ -708,7 +719,7 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
708
719
|
.point-modal__extra a:focus-visible,
|
|
709
720
|
.point-modal__link:hover,
|
|
710
721
|
.point-modal__link:focus-visible {
|
|
711
|
-
|
|
722
|
+
filter: brightness(0.92);
|
|
712
723
|
}
|
|
713
724
|
.point-modal__actions {
|
|
714
725
|
display: flex;
|
|
@@ -776,29 +787,31 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
776
787
|
"google-maps-key",
|
|
777
788
|
"points-api-url",
|
|
778
789
|
"cache-days",
|
|
790
|
+
"refresh-interval",
|
|
791
|
+
"refresh-token",
|
|
779
792
|
"marker-icon-base",
|
|
780
793
|
"marker-icon-default"
|
|
781
794
|
];
|
|
782
795
|
}
|
|
783
796
|
connectedCallback() {
|
|
784
|
-
this.mapEl = this.root.querySelector("#map"), this.panelTitleEl = this.root.querySelector("[data-panel-title]"), this.zonesContainer = this.root.querySelector("[data-zone-container]"), this.componentMessageEl = this.root.querySelector("[data-component-message]"), this.mapLayoutEl = this.root.querySelector("[data-map-layout]"), this.pointModalOverlayEl = this.root.querySelector("[data-point-modal-overlay]"), this.pointModalTitleEl = this.root.querySelector("[data-point-modal-title]"), this.pointModalBodyEl = this.root.querySelector("[data-point-modal-body]"), this.pointModalCloseButton = this.root.querySelector("[data-point-modal-close]"), this.zoneButtons = Array.from(this.root.querySelectorAll("[data-zone]")), this.nearestButton = this.root.querySelector('[data-action="nearest"]'), this.zoneButtons.forEach((
|
|
797
|
+
this.mapEl = this.root.querySelector("#map"), this.panelTitleEl = this.root.querySelector("[data-panel-title]"), this.zonesContainer = this.root.querySelector("[data-zone-container]"), this.componentMessageEl = this.root.querySelector("[data-component-message]"), this.mapLayoutEl = this.root.querySelector("[data-map-layout]"), this.pointModalOverlayEl = this.root.querySelector("[data-point-modal-overlay]"), this.pointModalTitleEl = this.root.querySelector("[data-point-modal-title]"), this.pointModalBodyEl = this.root.querySelector("[data-point-modal-body]"), this.pointModalCloseButton = this.root.querySelector("[data-point-modal-close]"), this.zoneButtons = Array.from(this.root.querySelectorAll("[data-zone]")), this.nearestButton = this.root.querySelector('[data-action="nearest"]'), this.zoneButtons.forEach((e) => e.addEventListener("click", this.handleZoneButtonClick)), this.nearestButton && this.nearestButton.addEventListener("click", this.handleNearestClick), this.pointModalOverlayEl.addEventListener("click", this.handlePointModalOverlayClick), this.pointModalCloseButton.addEventListener("click", this.closePointModal), window.addEventListener("keydown", this.handlePointModalKeydown), this.updateZoneButtons(), this.setMapHeight(this.getAttribute("height")), this.setComponentState("loading"), this.applyRefreshInterval(this.getAttribute("refresh-interval")), document.addEventListener("visibilitychange", this.handleVisibilityChange), this.syncAttributesToState();
|
|
785
798
|
}
|
|
786
799
|
disconnectedCallback() {
|
|
787
|
-
var
|
|
788
|
-
(
|
|
800
|
+
var e, t, n;
|
|
801
|
+
(e = this.pointsController) == null || e.abort(), this.clearRefreshTimer(), this.zoneButtons.forEach((o) => o.removeEventListener("click", this.handleZoneButtonClick)), this.nearestButton && this.nearestButton.removeEventListener("click", this.handleNearestClick), (t = this.pointModalOverlayEl) == null || t.removeEventListener("click", this.handlePointModalOverlayClick), (n = this.pointModalCloseButton) == null || n.removeEventListener("click", this.closePointModal), window.removeEventListener("keydown", this.handlePointModalKeydown), document.removeEventListener("visibilitychange", this.handleVisibilityChange);
|
|
789
802
|
}
|
|
790
|
-
attributeChangedCallback(
|
|
791
|
-
|
|
803
|
+
attributeChangedCallback(e, t, n) {
|
|
804
|
+
e === "marca" ? this.setMarca(n != null ? n : "") : e === "tipo" ? this.setTipo(n != null ? n : "") : e === "height" ? this.setMapHeight(n) : e === "google-maps-key" ? this.setGoogleMapsKey(n) : e === "points-api-url" ? this.setPointsApiUrl(n) : e === "cache-days" ? this.setCacheDays(n) : e === "refresh-interval" ? this.applyRefreshInterval(n) : e === "refresh-token" ? this.isConnected && n !== t && this.queueRefreshPoints(!0) : e === "marker-icon-base" ? this.setMarkerIconBase(n) : e === "marker-icon-default" && this.setDefaultMarkerIcon(n);
|
|
792
805
|
}
|
|
793
806
|
loadGoogleMaps() {
|
|
794
807
|
return window._rsGoogleMapsLoaded ? Promise.resolve().then(() => {
|
|
795
808
|
this.initMap();
|
|
796
|
-
}) : this.googleMapsApiKey ? (A.googleMapsLoaderPromise || (A.googleMapsLoaderPromise = new Promise((
|
|
809
|
+
}) : this.googleMapsApiKey ? (A.googleMapsLoaderPromise || (A.googleMapsLoaderPromise = new Promise((e, t) => {
|
|
797
810
|
const n = document.querySelector('script[data-rs-google-maps="true"]');
|
|
798
811
|
if (n) {
|
|
799
|
-
n.addEventListener("load", () =>
|
|
812
|
+
n.addEventListener("load", () => e(), { once: !0 }), n.addEventListener(
|
|
800
813
|
"error",
|
|
801
|
-
() =>
|
|
814
|
+
() => t(new Error("Error al cargar la API de Google Maps")),
|
|
802
815
|
{ once: !0 }
|
|
803
816
|
);
|
|
804
817
|
return;
|
|
@@ -808,95 +821,115 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
808
821
|
v: "weekly"
|
|
809
822
|
});
|
|
810
823
|
o.src = `https://maps.googleapis.com/maps/api/js?${a.toString()}`, o.async = !0, o.defer = !0, o.dataset.rsGoogleMaps = "true", o.onload = () => {
|
|
811
|
-
window._rsGoogleMapsLoaded = !0,
|
|
824
|
+
window._rsGoogleMapsLoaded = !0, e();
|
|
812
825
|
}, o.onerror = () => {
|
|
813
|
-
A.googleMapsLoaderPromise = null,
|
|
826
|
+
A.googleMapsLoaderPromise = null, t(new Error("Error al cargar la API de Google Maps"));
|
|
814
827
|
}, document.head.appendChild(o);
|
|
815
828
|
})), A.googleMapsLoaderPromise.then(() => {
|
|
816
829
|
window._rsGoogleMapsLoaded = !0, this.initMap();
|
|
817
|
-
}).catch((
|
|
818
|
-
console.error(
|
|
830
|
+
}).catch((e) => {
|
|
831
|
+
console.error(e instanceof Error ? e.message : "Error al cargar la API de Google Maps");
|
|
819
832
|
})) : (console.error('Falta la clave de Google Maps. Define el atributo "google-maps-key" en <rs-map>.'), Promise.resolve());
|
|
820
833
|
}
|
|
821
834
|
initMap() {
|
|
822
|
-
const
|
|
823
|
-
if (!
|
|
835
|
+
const e = window.google;
|
|
836
|
+
if (!e) {
|
|
824
837
|
console.error("Google Maps aun no esta disponible.");
|
|
825
838
|
return;
|
|
826
839
|
}
|
|
827
|
-
const
|
|
828
|
-
this.map = new
|
|
829
|
-
center:
|
|
840
|
+
const t = this.getInitialCenter();
|
|
841
|
+
this.map = new e.maps.Map(this.mapEl, {
|
|
842
|
+
center: t,
|
|
830
843
|
zoom: 14,
|
|
831
844
|
mapTypeId: "roadmap"
|
|
832
845
|
}), this.points.length && this.updateMarkers(this.points);
|
|
833
846
|
}
|
|
834
847
|
getInitialCenter() {
|
|
835
|
-
const
|
|
836
|
-
return
|
|
848
|
+
const e = this.getFirstValidPoint();
|
|
849
|
+
return e || { lat: -33.4489, lng: -70.6693 };
|
|
837
850
|
}
|
|
838
851
|
getFirstValidPoint() {
|
|
839
|
-
for (const
|
|
840
|
-
const
|
|
841
|
-
if (
|
|
842
|
-
return
|
|
852
|
+
for (const e of this.points) {
|
|
853
|
+
const t = this.getPointPosition(e);
|
|
854
|
+
if (t)
|
|
855
|
+
return t;
|
|
843
856
|
}
|
|
844
857
|
return null;
|
|
845
858
|
}
|
|
846
859
|
syncAttributesToState() {
|
|
847
|
-
var
|
|
848
|
-
this.isSyncingInitialAttributes = !0, this.setMarca((
|
|
860
|
+
var e, t;
|
|
861
|
+
this.isSyncingInitialAttributes = !0, this.setMarca((e = this.getAttribute("marca")) != null ? e : ""), this.setTipo((t = this.getAttribute("tipo")) != null ? t : ""), this.setGoogleMapsKey(this.getAttribute("google-maps-key")), this.setPointsApiUrl(this.getAttribute("points-api-url")), this.setCacheDays(this.getAttribute("cache-days")), this.setMarkerIconBase(this.getAttribute("marker-icon-base")), this.setDefaultMarkerIcon(this.getAttribute("marker-icon-default")), this.isSyncingInitialAttributes = !1, this.queueRefreshPoints();
|
|
849
862
|
}
|
|
850
|
-
setMapHeight(
|
|
851
|
-
const
|
|
852
|
-
if (!
|
|
863
|
+
setMapHeight(e) {
|
|
864
|
+
const t = (e != null ? e : "").trim();
|
|
865
|
+
if (!t) {
|
|
853
866
|
this.mapHeight = "", this.style.removeProperty("--map-height");
|
|
854
867
|
return;
|
|
855
868
|
}
|
|
856
|
-
this.mapHeight =
|
|
869
|
+
this.mapHeight = t, this.style.setProperty("--map-height", t);
|
|
857
870
|
}
|
|
858
|
-
setGoogleMapsKey(
|
|
859
|
-
this.googleMapsApiKey = (
|
|
871
|
+
setGoogleMapsKey(e) {
|
|
872
|
+
this.googleMapsApiKey = (e != null ? e : "").trim(), this.googleMapsApiKey && this.isConnected && this.loadGoogleMaps();
|
|
860
873
|
}
|
|
861
|
-
setPointsApiUrl(
|
|
862
|
-
const
|
|
863
|
-
this.pointsApiUrl =
|
|
874
|
+
setPointsApiUrl(e) {
|
|
875
|
+
const t = (e != null ? e : "").trim();
|
|
876
|
+
this.pointsApiUrl = t || H, this.pointsApiUrl && this.isConnected && !this.isSyncingInitialAttributes && this.queueRefreshPoints();
|
|
864
877
|
}
|
|
865
|
-
setCacheDays(
|
|
866
|
-
const
|
|
867
|
-
if (!
|
|
878
|
+
setCacheDays(e) {
|
|
879
|
+
const t = (e != null ? e : "").trim();
|
|
880
|
+
if (!t) {
|
|
868
881
|
this.pointsCacheTtlMs = R;
|
|
869
882
|
return;
|
|
870
883
|
}
|
|
871
|
-
const n = Number(
|
|
884
|
+
const n = Number(t);
|
|
872
885
|
if (!Number.isFinite(n) || n < 0) {
|
|
873
886
|
this.pointsCacheTtlMs = R;
|
|
874
887
|
return;
|
|
875
888
|
}
|
|
876
889
|
this.pointsCacheTtlMs = n * 24 * 60 * 60 * 1e3;
|
|
877
890
|
}
|
|
878
|
-
|
|
879
|
-
const
|
|
880
|
-
|
|
891
|
+
applyRefreshInterval(e) {
|
|
892
|
+
const t = (e != null ? e : "").trim(), n = this.parseRefreshInterval(t);
|
|
893
|
+
this.refreshIntervalMs = n, this.clearRefreshTimer(), this.isConnected && this.refreshIntervalMs > 0 && (this.refreshIntervalId = window.setInterval(() => {
|
|
894
|
+
document.hidden || this.forceRefresh();
|
|
895
|
+
}, this.refreshIntervalMs));
|
|
896
|
+
}
|
|
897
|
+
parseRefreshInterval(e) {
|
|
898
|
+
if (!e)
|
|
899
|
+
return O;
|
|
900
|
+
const t = Number(e);
|
|
901
|
+
return !Number.isFinite(t) || t <= 0 ? O : Math.round(t * 60 * 1e3);
|
|
902
|
+
}
|
|
903
|
+
clearRefreshTimer() {
|
|
904
|
+
this.refreshIntervalId !== null && (window.clearInterval(this.refreshIntervalId), this.refreshIntervalId = null);
|
|
905
|
+
}
|
|
906
|
+
setMarkerIconBase(e) {
|
|
907
|
+
const t = (e != null ? e : "").trim();
|
|
908
|
+
if (!t) {
|
|
881
909
|
this.markerIconBaseUrl = "";
|
|
882
910
|
return;
|
|
883
911
|
}
|
|
884
|
-
this.markerIconBaseUrl =
|
|
912
|
+
this.markerIconBaseUrl = t.endsWith("/") ? t : `${t}/`;
|
|
885
913
|
}
|
|
886
|
-
setDefaultMarkerIcon(
|
|
887
|
-
this.defaultMarkerIconUrl = (
|
|
914
|
+
setDefaultMarkerIcon(e) {
|
|
915
|
+
this.defaultMarkerIconUrl = (e != null ? e : "").trim();
|
|
888
916
|
}
|
|
889
|
-
setMarca(
|
|
890
|
-
this.marca =
|
|
917
|
+
setMarca(e) {
|
|
918
|
+
this.marca = e.trim(), this.marcaKey = this.normalizeBrandKey(this.marca), this.applyBrandColor(), this.isSyncingInitialAttributes || this.queueRefreshPoints();
|
|
891
919
|
}
|
|
892
|
-
setTipo(
|
|
893
|
-
this.tipo =
|
|
920
|
+
setTipo(e) {
|
|
921
|
+
this.tipo = e.trim(), this.tipoCode = this.normalizeTipo(this.tipo), this.updatePanelTitle(), this.isSyncingInitialAttributes || this.queueRefreshPoints();
|
|
894
922
|
}
|
|
895
|
-
queueRefreshPoints() {
|
|
896
|
-
this.refreshQueued
|
|
897
|
-
this.refreshQueued = !1
|
|
923
|
+
queueRefreshPoints(e = !1) {
|
|
924
|
+
e && (this.refreshQueuedForce = !0), !this.refreshQueued && (this.refreshQueued = !0, queueMicrotask(() => {
|
|
925
|
+
this.refreshQueued = !1;
|
|
926
|
+
const t = this.refreshQueuedForce;
|
|
927
|
+
this.refreshQueuedForce = !1, this.refreshPoints({ force: t });
|
|
898
928
|
}));
|
|
899
929
|
}
|
|
930
|
+
forceRefresh() {
|
|
931
|
+
this.queueRefreshPoints(!0);
|
|
932
|
+
}
|
|
900
933
|
get marcaFilter() {
|
|
901
934
|
return this.marca;
|
|
902
935
|
}
|
|
@@ -906,130 +939,135 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
906
939
|
updatePanelTitle() {
|
|
907
940
|
if (!this.panelTitleEl)
|
|
908
941
|
return;
|
|
909
|
-
const
|
|
910
|
-
this.panelTitleEl.textContent =
|
|
942
|
+
const e = this.getTipoLabel();
|
|
943
|
+
this.panelTitleEl.textContent = e != null ? e : "Puntos del mapa";
|
|
911
944
|
}
|
|
912
945
|
getTipoLabel() {
|
|
913
946
|
if (this.tipoCode !== null && this.tipoCode in L)
|
|
914
947
|
return L[this.tipoCode];
|
|
915
|
-
const
|
|
916
|
-
return
|
|
948
|
+
const e = this.tipo.trim().toLowerCase(), t = e && e in N ? N[e] : null;
|
|
949
|
+
return t !== null && t in L ? L[t] : null;
|
|
917
950
|
}
|
|
918
951
|
applyBrandColor() {
|
|
919
|
-
var
|
|
920
|
-
const
|
|
921
|
-
this.style.setProperty("--rs-map-accent",
|
|
952
|
+
var t;
|
|
953
|
+
const e = (t = le[this.marcaKey]) != null ? t : q;
|
|
954
|
+
this.style.setProperty("--rs-map-accent", e);
|
|
922
955
|
}
|
|
923
|
-
normalizeTipo(
|
|
924
|
-
if (!
|
|
956
|
+
normalizeTipo(e) {
|
|
957
|
+
if (!e)
|
|
925
958
|
return null;
|
|
926
|
-
const
|
|
927
|
-
if (
|
|
928
|
-
return N[
|
|
929
|
-
const n = Number(
|
|
959
|
+
const t = e.trim().toLowerCase();
|
|
960
|
+
if (t in N)
|
|
961
|
+
return N[t];
|
|
962
|
+
const n = Number(t);
|
|
930
963
|
return Number.isFinite(n) && (n === 0 || n === 1) ? n : null;
|
|
931
964
|
}
|
|
932
|
-
async refreshPoints() {
|
|
933
|
-
var
|
|
965
|
+
async refreshPoints(e = {}) {
|
|
966
|
+
var r, u;
|
|
967
|
+
const t = (r = e.force) != null ? r : !1;
|
|
934
968
|
if (!this.isConnected || !this.marca || this.tipoCode === null)
|
|
935
969
|
return;
|
|
936
970
|
if (!this.pointsApiUrl) {
|
|
937
971
|
console.error('Falta la URL de la API de puntos. Define el atributo "points-api-url" en <rs-map>.'), this.setComponentState("error");
|
|
938
972
|
return;
|
|
939
973
|
}
|
|
940
|
-
(
|
|
941
|
-
const
|
|
942
|
-
this.pointsController =
|
|
943
|
-
const
|
|
944
|
-
marca:
|
|
974
|
+
(u = this.pointsController) == null || u.abort();
|
|
975
|
+
const n = new AbortController();
|
|
976
|
+
this.pointsController = n;
|
|
977
|
+
const o = this.getMarcaRequestValue(), a = new URLSearchParams({
|
|
978
|
+
marca: o,
|
|
945
979
|
tipo: String(this.tipoCode)
|
|
946
|
-
}),
|
|
947
|
-
if (
|
|
948
|
-
if (this.applyPointsPayload(
|
|
980
|
+
}), s = this.pointsApiUrl.includes("?"), i = s && !/[?&]$/.test(this.pointsApiUrl), l = s ? i ? "&" : "" : "?", d = `${this.pointsApiUrl}${l}${a.toString()}`, m = this.getPointsCacheKey(d), h = t ? null : await this.readPointsCache(m), f = h && Date.now() - h.timestamp < this.pointsCacheTtlMs, b = !t && !h ? await this.getLocalPointsFallback(o, this.tipoCode) : null;
|
|
981
|
+
if (h) {
|
|
982
|
+
if (this.applyPointsPayload(h.data), this.setComponentState("ready"), f)
|
|
949
983
|
return;
|
|
950
|
-
} else
|
|
984
|
+
} else b ? (this.applyPointsPayload(b), this.setComponentState("ready")) : (!t || this.points.length === 0) && this.setComponentState("loading");
|
|
951
985
|
try {
|
|
952
|
-
const
|
|
953
|
-
signal:
|
|
986
|
+
const g = await fetch(d, {
|
|
987
|
+
signal: n.signal
|
|
954
988
|
});
|
|
955
|
-
if (!
|
|
956
|
-
throw new Error(`Respuesta ${
|
|
957
|
-
const
|
|
958
|
-
if (!Array.isArray(
|
|
989
|
+
if (!g.ok)
|
|
990
|
+
throw new Error(`Respuesta ${g.status}`);
|
|
991
|
+
const x = await g.json();
|
|
992
|
+
if (!Array.isArray(x))
|
|
959
993
|
throw new Error("La respuesta de puntos no es valida.");
|
|
960
|
-
const
|
|
961
|
-
await this.writePointsCache(
|
|
962
|
-
} catch (
|
|
963
|
-
if (
|
|
994
|
+
const w = x;
|
|
995
|
+
await this.writePointsCache(m, w), this.applyPointsPayload(w), this.setComponentState("ready");
|
|
996
|
+
} catch (g) {
|
|
997
|
+
if (g instanceof DOMException && g.name === "AbortError")
|
|
964
998
|
return;
|
|
965
|
-
if (
|
|
966
|
-
console.warn("Se mantienen puntos locales por error al refrescar el mapa",
|
|
999
|
+
if (h || b) {
|
|
1000
|
+
console.warn("Se mantienen puntos locales por error al refrescar el mapa", g);
|
|
967
1001
|
return;
|
|
968
1002
|
}
|
|
969
|
-
|
|
1003
|
+
if (t && this.points.length > 0) {
|
|
1004
|
+
console.warn("No se pudo forzar la actualizacion de puntos, se conservan los datos actuales", g);
|
|
1005
|
+
return;
|
|
1006
|
+
}
|
|
1007
|
+
console.error("No se pudieron cargar los puntos del mapa", g), this.setComponentState("error");
|
|
970
1008
|
}
|
|
971
1009
|
}
|
|
972
|
-
applyPointsPayload(
|
|
973
|
-
this.points = this.transformPoints(
|
|
1010
|
+
applyPointsPayload(e) {
|
|
1011
|
+
this.points = this.transformPoints(e), this.reportUnmappablePoints(this.points), this.renderPoints(this.points), this.initialViewApplied = !1, this.updateMarkers(this.points);
|
|
974
1012
|
}
|
|
975
|
-
reportUnmappablePoints(
|
|
976
|
-
const
|
|
1013
|
+
reportUnmappablePoints(e) {
|
|
1014
|
+
const t = e.filter((n) => !this.getPointPosition(n)).map((n) => ({
|
|
977
1015
|
id: n.id,
|
|
978
1016
|
titulo: n.titulo,
|
|
979
1017
|
direccion: n.direccion,
|
|
980
1018
|
lat: n.lat,
|
|
981
1019
|
lng: n.lng
|
|
982
1020
|
}));
|
|
983
|
-
|
|
1021
|
+
t.length && console.warn("Puntos con coordenadas fuera de rango o invalidas; no se muestran como markers.", t);
|
|
984
1022
|
}
|
|
985
|
-
getPointsCacheKey(
|
|
986
|
-
return `rs-map:points:${
|
|
1023
|
+
getPointsCacheKey(e) {
|
|
1024
|
+
return `rs-map:points:${e}`;
|
|
987
1025
|
}
|
|
988
|
-
async getLocalPointsFallback(
|
|
989
|
-
const o = `../json/PuntosMapas_${this.normalizeBrandKey(
|
|
1026
|
+
async getLocalPointsFallback(e, t) {
|
|
1027
|
+
const o = `../json/PuntosMapas_${this.normalizeBrandKey(e)}_${t}.json`, a = this.localPointsRequests.get(o);
|
|
990
1028
|
if (a)
|
|
991
1029
|
return a;
|
|
992
|
-
const s =
|
|
1030
|
+
const s = se[o];
|
|
993
1031
|
if (!s)
|
|
994
1032
|
return null;
|
|
995
|
-
const i = s().then((
|
|
996
|
-
const d = this.parseLocalPointsPayload(
|
|
1033
|
+
const i = s().then((l) => {
|
|
1034
|
+
const d = this.parseLocalPointsPayload(l);
|
|
997
1035
|
return d != null && d.length ? d : null;
|
|
998
1036
|
}).catch(() => null);
|
|
999
1037
|
return this.localPointsRequests.set(o, i), i;
|
|
1000
1038
|
}
|
|
1001
|
-
parseLocalPointsPayload(
|
|
1002
|
-
return Array.isArray(
|
|
1039
|
+
parseLocalPointsPayload(e) {
|
|
1040
|
+
return Array.isArray(e) ? e : null;
|
|
1003
1041
|
}
|
|
1004
|
-
async readPointsCache(
|
|
1005
|
-
const
|
|
1006
|
-
if (
|
|
1007
|
-
return
|
|
1042
|
+
async readPointsCache(e) {
|
|
1043
|
+
const t = await this.readPointsCacheFromIndexedDb(e);
|
|
1044
|
+
if (t)
|
|
1045
|
+
return t;
|
|
1008
1046
|
try {
|
|
1009
|
-
const n = window.localStorage.getItem(
|
|
1047
|
+
const n = window.localStorage.getItem(e);
|
|
1010
1048
|
if (!n)
|
|
1011
1049
|
return null;
|
|
1012
1050
|
const o = JSON.parse(n);
|
|
1013
|
-
return !o || !Array.isArray(o.data) || !Number.isFinite(o.timestamp) ? (window.localStorage.removeItem(
|
|
1051
|
+
return !o || !Array.isArray(o.data) || !Number.isFinite(o.timestamp) ? (window.localStorage.removeItem(e), null) : o;
|
|
1014
1052
|
} catch {
|
|
1015
1053
|
return null;
|
|
1016
1054
|
}
|
|
1017
1055
|
}
|
|
1018
|
-
async writePointsCache(
|
|
1056
|
+
async writePointsCache(e, t) {
|
|
1019
1057
|
const n = {
|
|
1020
1058
|
timestamp: Date.now(),
|
|
1021
|
-
data:
|
|
1059
|
+
data: t
|
|
1022
1060
|
};
|
|
1023
|
-
await this.writePointsCacheToIndexedDb(
|
|
1061
|
+
await this.writePointsCacheToIndexedDb(e, n);
|
|
1024
1062
|
try {
|
|
1025
|
-
window.localStorage.setItem(
|
|
1063
|
+
window.localStorage.setItem(e, JSON.stringify(n));
|
|
1026
1064
|
} catch {
|
|
1027
1065
|
}
|
|
1028
1066
|
}
|
|
1029
|
-
async readPointsCacheFromIndexedDb(
|
|
1030
|
-
const
|
|
1031
|
-
return
|
|
1032
|
-
const s =
|
|
1067
|
+
async readPointsCacheFromIndexedDb(e) {
|
|
1068
|
+
const t = await A.openPointsCacheDb();
|
|
1069
|
+
return t ? new Promise((n) => {
|
|
1070
|
+
const s = t.transaction(v, "readonly").objectStore(v).get(e);
|
|
1033
1071
|
s.onsuccess = () => {
|
|
1034
1072
|
const i = s.result;
|
|
1035
1073
|
if (!i || !Array.isArray(i.data) || !Number.isFinite(i.timestamp)) {
|
|
@@ -1043,141 +1081,141 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
1043
1081
|
}, s.onerror = () => n(null);
|
|
1044
1082
|
}) : null;
|
|
1045
1083
|
}
|
|
1046
|
-
async writePointsCacheToIndexedDb(
|
|
1084
|
+
async writePointsCacheToIndexedDb(e, t) {
|
|
1047
1085
|
const n = await A.openPointsCacheDb();
|
|
1048
1086
|
n && await new Promise((o) => {
|
|
1049
1087
|
const i = n.transaction(v, "readwrite").objectStore(v).put({
|
|
1050
|
-
key:
|
|
1051
|
-
timestamp:
|
|
1052
|
-
data:
|
|
1088
|
+
key: e,
|
|
1089
|
+
timestamp: t.timestamp,
|
|
1090
|
+
data: t.data
|
|
1053
1091
|
});
|
|
1054
1092
|
i.onsuccess = () => o(), i.onerror = () => o();
|
|
1055
1093
|
});
|
|
1056
1094
|
}
|
|
1057
1095
|
static openPointsCacheDb() {
|
|
1058
|
-
return typeof window == "undefined" || !("indexedDB" in window) ? Promise.resolve(null) : (A.pointsCacheDbPromise || (A.pointsCacheDbPromise = new Promise((
|
|
1059
|
-
const
|
|
1060
|
-
|
|
1061
|
-
const n =
|
|
1096
|
+
return typeof window == "undefined" || !("indexedDB" in window) ? Promise.resolve(null) : (A.pointsCacheDbPromise || (A.pointsCacheDbPromise = new Promise((e) => {
|
|
1097
|
+
const t = window.indexedDB.open(pe, 1);
|
|
1098
|
+
t.onupgradeneeded = () => {
|
|
1099
|
+
const n = t.result;
|
|
1062
1100
|
n.objectStoreNames.contains(v) || n.createObjectStore(v, { keyPath: "key" });
|
|
1063
|
-
},
|
|
1101
|
+
}, t.onsuccess = () => e(t.result), t.onerror = () => e(null);
|
|
1064
1102
|
})), A.pointsCacheDbPromise);
|
|
1065
1103
|
}
|
|
1066
|
-
transformPoints(
|
|
1067
|
-
return
|
|
1068
|
-
...
|
|
1069
|
-
zone: this.getZoneForPoint(
|
|
1104
|
+
transformPoints(e) {
|
|
1105
|
+
return e.map((t) => ({
|
|
1106
|
+
...t,
|
|
1107
|
+
zone: this.getZoneForPoint(t)
|
|
1070
1108
|
}));
|
|
1071
1109
|
}
|
|
1072
|
-
renderPoints(
|
|
1110
|
+
renderPoints(e) {
|
|
1073
1111
|
if (!this.zonesContainer)
|
|
1074
1112
|
return;
|
|
1075
|
-
const
|
|
1076
|
-
this.pointsByZone =
|
|
1113
|
+
const t = this.groupPoints(e);
|
|
1114
|
+
this.pointsByZone = t, this.updateZoneButtonCounts();
|
|
1077
1115
|
const n = document.createDocumentFragment();
|
|
1078
|
-
|
|
1116
|
+
ce.forEach((o) => {
|
|
1079
1117
|
const a = document.createElement("section");
|
|
1080
1118
|
a.className = "zone-section", a.dataset.zoneSection = o;
|
|
1081
1119
|
const s = document.createElement("div");
|
|
1082
1120
|
s.className = "zone-section__header";
|
|
1083
1121
|
const i = document.createElement("span");
|
|
1084
|
-
if (i.textContent =
|
|
1085
|
-
const
|
|
1086
|
-
|
|
1122
|
+
if (i.textContent = de[o], s.appendChild(i), a.appendChild(s), t[o].length === 0) {
|
|
1123
|
+
const l = document.createElement("p");
|
|
1124
|
+
l.className = "zone-section__empty", l.textContent = "Sin puntos en esta zona.", a.appendChild(l);
|
|
1087
1125
|
} else {
|
|
1088
|
-
const
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
}), a.appendChild(
|
|
1126
|
+
const l = document.createElement("div");
|
|
1127
|
+
l.className = "zone-section__list", t[o].forEach((d) => {
|
|
1128
|
+
l.appendChild(this.createPointCard(d));
|
|
1129
|
+
}), a.appendChild(l);
|
|
1092
1130
|
}
|
|
1093
1131
|
n.appendChild(a);
|
|
1094
1132
|
}), this.zonesContainer.replaceChildren(n), this.updateZoneVisibility();
|
|
1095
1133
|
}
|
|
1096
|
-
groupPoints(
|
|
1097
|
-
const
|
|
1134
|
+
groupPoints(e) {
|
|
1135
|
+
const t = {
|
|
1098
1136
|
norte: [],
|
|
1099
1137
|
rm: [],
|
|
1100
1138
|
centro: [],
|
|
1101
1139
|
sur: []
|
|
1102
1140
|
};
|
|
1103
|
-
return
|
|
1104
|
-
|
|
1105
|
-
}),
|
|
1106
|
-
}
|
|
1107
|
-
createPointCard(
|
|
1108
|
-
var
|
|
1109
|
-
const
|
|
1110
|
-
|
|
1111
|
-
const n = this.getPointCoordinateWarning(
|
|
1112
|
-
o.className = "point-card__title", o.textContent =
|
|
1141
|
+
return e.forEach((n) => {
|
|
1142
|
+
t[n.zone].push(n);
|
|
1143
|
+
}), t;
|
|
1144
|
+
}
|
|
1145
|
+
createPointCard(e) {
|
|
1146
|
+
var b;
|
|
1147
|
+
const t = document.createElement("article");
|
|
1148
|
+
t.className = "point-card", t.dataset.pointId = String(e.id);
|
|
1149
|
+
const n = this.getPointCoordinateWarning(e), o = document.createElement("h3");
|
|
1150
|
+
o.className = "point-card__title", o.textContent = e.titulo || "Sin nombre", t.appendChild(o);
|
|
1113
1151
|
const a = document.createElement("div");
|
|
1114
1152
|
a.className = "point-card__address-block";
|
|
1115
1153
|
const s = document.createElement("p");
|
|
1116
|
-
if (s.className = "point-card__address", s.textContent =
|
|
1117
|
-
const
|
|
1118
|
-
|
|
1154
|
+
if (s.className = "point-card__address", s.textContent = e.direccion || "Sin direccion", a.appendChild(s), e.comuna_name) {
|
|
1155
|
+
const r = document.createElement("p");
|
|
1156
|
+
r.className = "point-card__meta", r.textContent = e.comuna_name, a.appendChild(r);
|
|
1119
1157
|
}
|
|
1120
|
-
if (
|
|
1121
|
-
const
|
|
1122
|
-
|
|
1158
|
+
if (e.provincia_name) {
|
|
1159
|
+
const r = document.createElement("p");
|
|
1160
|
+
r.className = "point-card__meta", r.textContent = e.provincia_name, a.appendChild(r);
|
|
1123
1161
|
}
|
|
1124
|
-
if (
|
|
1125
|
-
const
|
|
1126
|
-
|
|
1162
|
+
if (e.region_name) {
|
|
1163
|
+
const r = document.createElement("p");
|
|
1164
|
+
r.className = "point-card__meta", r.textContent = e.region_name, a.appendChild(r);
|
|
1127
1165
|
}
|
|
1128
|
-
|
|
1166
|
+
t.appendChild(a);
|
|
1129
1167
|
let i = null;
|
|
1130
|
-
const
|
|
1131
|
-
if (
|
|
1132
|
-
const
|
|
1133
|
-
|
|
1168
|
+
const l = this.getPointPosition(e);
|
|
1169
|
+
if (l) {
|
|
1170
|
+
const r = document.createElement("div");
|
|
1171
|
+
r.className = "point-card__map-actions";
|
|
1134
1172
|
const u = document.createElement("button");
|
|
1135
1173
|
u.type = "button", u.className = "point-card__focus";
|
|
1136
|
-
const
|
|
1137
|
-
u.appendChild(
|
|
1138
|
-
this.focusPointWithZoom(
|
|
1139
|
-
}),
|
|
1174
|
+
const g = this.createIconElement("fa-solid fa-location-crosshairs");
|
|
1175
|
+
u.appendChild(g), u.appendChild(document.createTextNode(" Ver en el mapa")), u.addEventListener("click", () => {
|
|
1176
|
+
this.focusPointWithZoom(l.lat, l.lng), this.scrollToPointCard(e.id);
|
|
1177
|
+
}), r.appendChild(u), r.appendChild(this.createMobileNavigationActions(l)), i = r;
|
|
1140
1178
|
} else if (n) {
|
|
1141
|
-
const
|
|
1142
|
-
|
|
1179
|
+
const r = document.createElement("div");
|
|
1180
|
+
r.className = "point-card__coordinate-warning";
|
|
1143
1181
|
const u = this.createIconElement("fa-solid fa-circle-info");
|
|
1144
|
-
|
|
1145
|
-
const
|
|
1146
|
-
|
|
1182
|
+
r.appendChild(u);
|
|
1183
|
+
const g = document.createElement("span");
|
|
1184
|
+
g.textContent = n, r.appendChild(g), i = r;
|
|
1147
1185
|
}
|
|
1148
1186
|
const d = document.createElement("div");
|
|
1149
1187
|
d.className = "point-card__details", d.hidden = !0;
|
|
1150
|
-
let
|
|
1151
|
-
const
|
|
1152
|
-
|
|
1153
|
-
let
|
|
1154
|
-
if (
|
|
1155
|
-
const
|
|
1156
|
-
|
|
1188
|
+
let m = !1;
|
|
1189
|
+
const h = document.createElement("div");
|
|
1190
|
+
h.className = "point-card__actions";
|
|
1191
|
+
let f = null;
|
|
1192
|
+
if (e.url && e.url !== "#") {
|
|
1193
|
+
const r = document.createElement("a");
|
|
1194
|
+
r.href = e.url, r.target = "_blank", r.rel = "noopener noreferrer", r.className = "point-card__action";
|
|
1157
1195
|
const u = this.createIconElement("fa-solid fa-globe");
|
|
1158
|
-
|
|
1196
|
+
r.appendChild(u), r.appendChild(document.createTextNode("Sitio web")), h.appendChild(r);
|
|
1159
1197
|
}
|
|
1160
|
-
if (
|
|
1161
|
-
const
|
|
1162
|
-
|
|
1198
|
+
if (e.email) {
|
|
1199
|
+
const r = document.createElement("a");
|
|
1200
|
+
r.href = `mailto:${e.email}`, r.target = "_blank", r.rel = "noopener noreferrer", r.className = "point-card__action point-card__action--text";
|
|
1163
1201
|
const u = this.createIconElement("fa-solid fa-envelope");
|
|
1164
|
-
|
|
1202
|
+
r.appendChild(u), r.appendChild(document.createTextNode(e.email)), h.appendChild(r);
|
|
1165
1203
|
}
|
|
1166
|
-
if (
|
|
1167
|
-
const
|
|
1168
|
-
|
|
1204
|
+
if (h.childElementCount && (d.appendChild(h), m = !0), (b = e.telefonos) != null && b.length) {
|
|
1205
|
+
const r = document.createElement("div");
|
|
1206
|
+
r.className = "point-card__contact";
|
|
1169
1207
|
const u = document.createElement("div");
|
|
1170
1208
|
u.className = "point-card__contact-title";
|
|
1171
|
-
const
|
|
1172
|
-
u.appendChild(
|
|
1209
|
+
const g = this.createIconElement("fa-solid fa-phone");
|
|
1210
|
+
u.appendChild(g), u.appendChild(document.createTextNode("Telefonos")), r.appendChild(u);
|
|
1173
1211
|
const x = document.createElement("ul");
|
|
1174
|
-
x.className = "point-card__phone-list",
|
|
1212
|
+
x.className = "point-card__phone-list", e.telefonos.slice().sort((w, y) => w.orden - y.orden).forEach((w) => {
|
|
1175
1213
|
const y = document.createElement("li");
|
|
1176
1214
|
y.className = "point-card__phone-item";
|
|
1177
1215
|
const k = document.createElement("span");
|
|
1178
1216
|
k.className = "point-card__phone-icon";
|
|
1179
|
-
const
|
|
1180
|
-
if (
|
|
1217
|
+
const D = this.isWhatsappPhone(w);
|
|
1218
|
+
if (D) {
|
|
1181
1219
|
const B = this.createIconElement("fa-brands fa-whatsapp");
|
|
1182
1220
|
k.appendChild(B);
|
|
1183
1221
|
} else
|
|
@@ -1185,134 +1223,134 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
1185
1223
|
y.appendChild(k);
|
|
1186
1224
|
const S = document.createElement("div");
|
|
1187
1225
|
S.className = "point-card__phone-content";
|
|
1188
|
-
const
|
|
1189
|
-
|
|
1190
|
-
const E =
|
|
1191
|
-
if (E.className = "point-card__phone-number",
|
|
1226
|
+
const z = document.createElement("span");
|
|
1227
|
+
z.className = "point-card__phone-name", z.textContent = w.nombre, S.appendChild(z);
|
|
1228
|
+
const E = D ? document.createElement("a") : document.createElement("span");
|
|
1229
|
+
if (E.className = "point-card__phone-number", D) {
|
|
1192
1230
|
const B = this.getWhatsappLink(w.telefono);
|
|
1193
1231
|
B && (E.href = B, E.target = "_blank", E.rel = "noopener noreferrer", E.classList.add("point-card__phone-number--link"));
|
|
1194
1232
|
}
|
|
1195
1233
|
E.textContent = w.telefono, S.appendChild(E), y.appendChild(S), x.appendChild(y);
|
|
1196
|
-
}),
|
|
1234
|
+
}), r.appendChild(x), d.appendChild(r), m = !0;
|
|
1197
1235
|
}
|
|
1198
|
-
if (
|
|
1199
|
-
const
|
|
1200
|
-
|
|
1236
|
+
if (e.adicional) {
|
|
1237
|
+
const r = document.createElement("p");
|
|
1238
|
+
r.className = "point-card__extra", r.innerHTML = e.adicional, r.querySelectorAll("a").forEach((u) => {
|
|
1201
1239
|
u.classList.add("point-card__extra-link");
|
|
1202
|
-
const
|
|
1203
|
-
|
|
1204
|
-
}), d.appendChild(
|
|
1240
|
+
const g = this.createIconElement("fa-solid fa-arrow-up-right-from-square");
|
|
1241
|
+
g.classList.add("point-card__extra-icon"), u.appendChild(g);
|
|
1242
|
+
}), d.appendChild(r), m = !0;
|
|
1205
1243
|
}
|
|
1206
|
-
if (
|
|
1207
|
-
|
|
1208
|
-
const
|
|
1209
|
-
|
|
1244
|
+
if (e.googlelink) {
|
|
1245
|
+
f = document.createElement("a"), f.href = e.googlelink, f.target = "_blank", f.rel = "noopener noreferrer", f.className = "point-card__action";
|
|
1246
|
+
const r = this.createIconElement("fa-solid fa-map-location-dot");
|
|
1247
|
+
f.appendChild(r), f.appendChild(document.createTextNode("Google Maps"));
|
|
1210
1248
|
}
|
|
1211
|
-
if (
|
|
1212
|
-
const
|
|
1213
|
-
|
|
1249
|
+
if (f) {
|
|
1250
|
+
const r = document.createElement("div");
|
|
1251
|
+
r.className = "point-card__actions", r.appendChild(f), d.appendChild(r), m = !0;
|
|
1214
1252
|
}
|
|
1215
|
-
if (
|
|
1216
|
-
const
|
|
1217
|
-
|
|
1218
|
-
const u = this.createIconElement("fa-solid fa-circle-info"),
|
|
1219
|
-
|
|
1253
|
+
if (m) {
|
|
1254
|
+
const r = document.createElement("button");
|
|
1255
|
+
r.type = "button", r.className = "point-card__toggle";
|
|
1256
|
+
const u = this.createIconElement("fa-solid fa-circle-info"), g = document.createElement("span");
|
|
1257
|
+
g.textContent = "Mas informacion", r.appendChild(u), r.appendChild(g), r.addEventListener("click", () => {
|
|
1220
1258
|
const x = d.hidden;
|
|
1221
|
-
d.hidden = !x,
|
|
1222
|
-
}),
|
|
1259
|
+
d.hidden = !x, g.textContent = x ? "Ocultar informacion" : "Mas informacion", u.className = x ? "fa-solid fa-circle-xmark" : "fa-solid fa-circle-info";
|
|
1260
|
+
}), t.appendChild(r), t.appendChild(d);
|
|
1223
1261
|
}
|
|
1224
|
-
return i &&
|
|
1262
|
+
return i && t.appendChild(i), t;
|
|
1225
1263
|
}
|
|
1226
|
-
createMobileNavigationActions(
|
|
1227
|
-
const
|
|
1228
|
-
return
|
|
1264
|
+
createMobileNavigationActions(e) {
|
|
1265
|
+
const t = document.createElement("div");
|
|
1266
|
+
return t.className = "point-card__mobile-navigation", t.appendChild(
|
|
1229
1267
|
this.createMobileNavigationLink(
|
|
1230
|
-
`https://www.google.com/maps/dir/?api=1&destination=${
|
|
1268
|
+
`https://www.google.com/maps/dir/?api=1&destination=${e.lat},${e.lng}&travelmode=driving`,
|
|
1231
1269
|
"Ir con Google Maps",
|
|
1232
1270
|
"fa-brands fa-google"
|
|
1233
1271
|
)
|
|
1234
|
-
),
|
|
1272
|
+
), t.appendChild(
|
|
1235
1273
|
this.createMobileNavigationLink(
|
|
1236
|
-
`https://waze.com/ul?ll=${
|
|
1274
|
+
`https://waze.com/ul?ll=${e.lat},${e.lng}&navigate=yes`,
|
|
1237
1275
|
"Ir con Waze",
|
|
1238
1276
|
"fa-brands fa-waze"
|
|
1239
1277
|
)
|
|
1240
|
-
),
|
|
1278
|
+
), t;
|
|
1241
1279
|
}
|
|
1242
|
-
createMobileNavigationLink(
|
|
1280
|
+
createMobileNavigationLink(e, t, n) {
|
|
1243
1281
|
const o = document.createElement("a");
|
|
1244
|
-
return o.href =
|
|
1282
|
+
return o.href = e, o.target = "_blank", o.rel = "noopener noreferrer", o.className = "point-card__mobile-nav-link", o.appendChild(this.createIconElement(n)), o.appendChild(document.createTextNode(t)), o;
|
|
1245
1283
|
}
|
|
1246
|
-
getZoneForPoint(
|
|
1247
|
-
const
|
|
1248
|
-
return
|
|
1284
|
+
getZoneForPoint(e) {
|
|
1285
|
+
const t = this.normalizeRegionName(e.region_name || "");
|
|
1286
|
+
return t && t in W ? W[t] : t.includes("metropolitana") ? "rm" : t.includes("araucania") || t.includes("rios") || t.includes("lagos") || t.includes("aysen") || t.includes("magallanes") ? "sur" : t.includes("arica") || t.includes("tarapaca") || t.includes("antofagasta") || t.includes("atacama") || t.includes("coquimbo") ? "norte" : "centro";
|
|
1249
1287
|
}
|
|
1250
|
-
normalizeRegionName(
|
|
1251
|
-
return
|
|
1288
|
+
normalizeRegionName(e) {
|
|
1289
|
+
return e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").trim();
|
|
1252
1290
|
}
|
|
1253
1291
|
getMarcaRequestValue() {
|
|
1254
|
-
var
|
|
1255
|
-
const
|
|
1256
|
-
return (
|
|
1292
|
+
var t;
|
|
1293
|
+
const e = this.normalizeBrandToken(this.marca);
|
|
1294
|
+
return (t = Y[e]) != null ? t : this.marca;
|
|
1257
1295
|
}
|
|
1258
|
-
normalizeBrandKey(
|
|
1296
|
+
normalizeBrandKey(e) {
|
|
1259
1297
|
var n;
|
|
1260
|
-
const
|
|
1261
|
-
return
|
|
1298
|
+
const t = this.normalizeBrandToken(e);
|
|
1299
|
+
return t ? (n = Y[t]) != null ? n : t : "default";
|
|
1262
1300
|
}
|
|
1263
|
-
normalizeBrandToken(
|
|
1264
|
-
return
|
|
1301
|
+
normalizeBrandToken(e) {
|
|
1302
|
+
return e.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, "").replace(/[^a-z0-9]+/g, "");
|
|
1265
1303
|
}
|
|
1266
|
-
getMarkerIcon(
|
|
1267
|
-
const
|
|
1268
|
-
return n || (this.markerIconBaseUrl ? `${this.markerIconBaseUrl}${
|
|
1304
|
+
getMarkerIcon(e) {
|
|
1305
|
+
const t = this.marcaKey || "default", n = this.getLocalMarkerIconUrl(t, e);
|
|
1306
|
+
return n || (this.markerIconBaseUrl ? `${this.markerIconBaseUrl}${t}.png` : this.defaultMarkerIconUrl ? this.defaultMarkerIconUrl : null);
|
|
1269
1307
|
}
|
|
1270
|
-
getLocalMarkerIconUrl(
|
|
1308
|
+
getLocalMarkerIconUrl(e, t) {
|
|
1271
1309
|
var s;
|
|
1272
|
-
const n =
|
|
1273
|
-
return (s =
|
|
1310
|
+
const n = t ? Number(t.tipo) : NaN, a = (Number.isFinite(n) ? n : this.tipoCode) === 1 ? `${e}_distribuidor.png` : `${e}.png`;
|
|
1311
|
+
return (s = re[`../pin/${a}`]) != null ? s : null;
|
|
1274
1312
|
}
|
|
1275
|
-
getPointCoordinateWarning(
|
|
1276
|
-
if (this.getPointPosition(
|
|
1313
|
+
getPointCoordinateWarning(e) {
|
|
1314
|
+
if (this.getPointPosition(e))
|
|
1277
1315
|
return null;
|
|
1278
|
-
const
|
|
1279
|
-
return !Number.isFinite(
|
|
1316
|
+
const t = Number(e.lat), n = Number(e.lng), o = `lat ${e.lat || "sin dato"}, lng ${e.lng || "sin dato"}`;
|
|
1317
|
+
return !Number.isFinite(t) || !Number.isFinite(n) ? `Ubicacion por revisar: ${o}.` : `Ubicacion por revisar: ${o}.`;
|
|
1280
1318
|
}
|
|
1281
|
-
getPointPosition(
|
|
1282
|
-
const
|
|
1283
|
-
return this.isMappableCoordinate(
|
|
1319
|
+
getPointPosition(e) {
|
|
1320
|
+
const t = Number(e.lat), n = Number(e.lng);
|
|
1321
|
+
return this.isMappableCoordinate(t, n) ? { lat: t, lng: n } : null;
|
|
1284
1322
|
}
|
|
1285
|
-
isMappableCoordinate(
|
|
1286
|
-
return Number.isFinite(
|
|
1323
|
+
isMappableCoordinate(e, t) {
|
|
1324
|
+
return Number.isFinite(e) && Number.isFinite(t) && e >= T.minLat && e <= T.maxLat && t >= T.minLng && t <= T.maxLng;
|
|
1287
1325
|
}
|
|
1288
|
-
updateMarkers(
|
|
1289
|
-
const
|
|
1290
|
-
if (!
|
|
1326
|
+
updateMarkers(e) {
|
|
1327
|
+
const t = window.google;
|
|
1328
|
+
if (!t || !this.map)
|
|
1291
1329
|
return;
|
|
1292
1330
|
this.markers.forEach((a) => a.setMap(null)), this.markers = [];
|
|
1293
1331
|
const n = [];
|
|
1294
|
-
if (
|
|
1332
|
+
if (e.forEach((a) => {
|
|
1295
1333
|
const s = this.getPointPosition(a);
|
|
1296
1334
|
s && n.push({ point: a, position: s });
|
|
1297
1335
|
}), !n.length)
|
|
1298
1336
|
return;
|
|
1299
|
-
const o = new
|
|
1337
|
+
const o = new t.maps.LatLngBounds();
|
|
1300
1338
|
if (n.forEach(({ point: a, position: s }) => {
|
|
1301
|
-
const { lat: i, lng:
|
|
1339
|
+
const { lat: i, lng: l } = s, d = this.getMarkerIcon(a), m = d && this.map ? {
|
|
1302
1340
|
url: d,
|
|
1303
|
-
scaledSize: new
|
|
1304
|
-
anchor: new
|
|
1305
|
-
} : void 0,
|
|
1341
|
+
scaledSize: new t.maps.Size(64, 64),
|
|
1342
|
+
anchor: new t.maps.Point(32, 64)
|
|
1343
|
+
} : void 0, h = new t.maps.Marker({
|
|
1306
1344
|
map: this.map,
|
|
1307
|
-
position: { lat: i, lng:
|
|
1345
|
+
position: { lat: i, lng: l },
|
|
1308
1346
|
title: a.titulo,
|
|
1309
|
-
icon:
|
|
1347
|
+
icon: m
|
|
1310
1348
|
});
|
|
1311
|
-
|
|
1349
|
+
h.addListener("click", () => {
|
|
1312
1350
|
this.openPointModal(a), this.scrollToPointCard(a.id);
|
|
1313
|
-
}), this.markers.push(
|
|
1314
|
-
const
|
|
1315
|
-
|
|
1351
|
+
}), this.markers.push(h);
|
|
1352
|
+
const f = h.getPosition();
|
|
1353
|
+
f && o.extend(f);
|
|
1316
1354
|
}), !this.initialViewApplied && this.markers.length) {
|
|
1317
1355
|
const a = this.markers[0].getPosition();
|
|
1318
1356
|
if (a) {
|
|
@@ -1326,103 +1364,103 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
1326
1364
|
} else
|
|
1327
1365
|
this.map.fitBounds(o);
|
|
1328
1366
|
}
|
|
1329
|
-
openPointModal(
|
|
1330
|
-
var
|
|
1331
|
-
!this.pointModalOverlayEl || !this.pointModalTitleEl || !this.pointModalBodyEl || (this.pointModalTitleEl.textContent =
|
|
1367
|
+
openPointModal(e) {
|
|
1368
|
+
var t;
|
|
1369
|
+
!this.pointModalOverlayEl || !this.pointModalTitleEl || !this.pointModalBodyEl || (this.pointModalTitleEl.textContent = e.titulo || "Sin nombre", this.pointModalBodyEl.replaceChildren(this.createPointModalContent(e)), this.pointModalOverlayEl.removeAttribute("hidden"), (t = this.pointModalCloseButton) == null || t.focus());
|
|
1332
1370
|
}
|
|
1333
|
-
createPointModalContent(
|
|
1371
|
+
createPointModalContent(e) {
|
|
1334
1372
|
var s;
|
|
1335
|
-
const
|
|
1336
|
-
if (
|
|
1373
|
+
const t = document.createDocumentFragment();
|
|
1374
|
+
if (e.portada) {
|
|
1337
1375
|
const i = document.createElement("img");
|
|
1338
|
-
i.className = "point-modal__cover", i.src =
|
|
1376
|
+
i.className = "point-modal__cover", i.src = e.portada, i.alt = e.titulo || "Imagen del punto", i.loading = "lazy", i.addEventListener("error", () => i.remove(), { once: !0 }), t.appendChild(i);
|
|
1339
1377
|
}
|
|
1340
1378
|
const n = this.createPointModalSection();
|
|
1341
|
-
this.appendPointModalLine(n, "Direccion",
|
|
1379
|
+
this.appendPointModalLine(n, "Direccion", e.direccion), this.appendPointModalLine(n, "Comuna", e.comuna_name), this.appendPointModalLine(n, "Provincia", e.provincia_name), this.appendPointModalLine(n, "Region", e.region_name), this.appendPointModalLine(n, "RUT", e.rut), n.childElementCount && t.appendChild(n);
|
|
1342
1380
|
const o = this.createPointModalSection();
|
|
1343
|
-
if (this.appendPointModalLine(o, "Correo",
|
|
1381
|
+
if (this.appendPointModalLine(o, "Correo", e.email), (s = e.telefonos) != null && s.length) {
|
|
1344
1382
|
const i = document.createElement("p");
|
|
1345
1383
|
i.className = "point-modal__line";
|
|
1346
|
-
const
|
|
1347
|
-
|
|
1384
|
+
const l = document.createElement("span");
|
|
1385
|
+
l.className = "point-modal__label", l.textContent = "Telefonos:", i.appendChild(l), o.appendChild(i);
|
|
1348
1386
|
const d = document.createElement("ul");
|
|
1349
|
-
d.className = "point-modal__phone-list",
|
|
1350
|
-
d.appendChild(this.createPointModalPhoneItem(
|
|
1387
|
+
d.className = "point-modal__phone-list", e.telefonos.slice().sort((m, h) => m.orden - h.orden).forEach((m) => {
|
|
1388
|
+
d.appendChild(this.createPointModalPhoneItem(m));
|
|
1351
1389
|
}), o.appendChild(d);
|
|
1352
1390
|
}
|
|
1353
|
-
if (o.childElementCount &&
|
|
1354
|
-
const i = this.createPointModalSection(),
|
|
1355
|
-
|
|
1391
|
+
if (o.childElementCount && t.appendChild(o), e.adicional) {
|
|
1392
|
+
const i = this.createPointModalSection(), l = document.createElement("div");
|
|
1393
|
+
l.className = "point-modal__extra", l.innerHTML = e.adicional, l.querySelectorAll("a").forEach((d) => {
|
|
1356
1394
|
d.target = "_blank", d.rel = "noopener noreferrer";
|
|
1357
|
-
}), i.appendChild(
|
|
1395
|
+
}), i.appendChild(l), t.appendChild(i);
|
|
1358
1396
|
}
|
|
1359
|
-
const a = this.createPointModalActions(
|
|
1360
|
-
return a.childElementCount &&
|
|
1397
|
+
const a = this.createPointModalActions(e);
|
|
1398
|
+
return a.childElementCount && t.appendChild(a), t;
|
|
1361
1399
|
}
|
|
1362
1400
|
createPointModalSection() {
|
|
1363
|
-
const
|
|
1364
|
-
return
|
|
1401
|
+
const e = document.createElement("div");
|
|
1402
|
+
return e.className = "point-modal__section", e;
|
|
1365
1403
|
}
|
|
1366
|
-
appendPointModalLine(
|
|
1404
|
+
appendPointModalLine(e, t, n) {
|
|
1367
1405
|
const o = (n != null ? n : "").trim();
|
|
1368
1406
|
if (!o || o === "#")
|
|
1369
1407
|
return;
|
|
1370
1408
|
const a = document.createElement("p");
|
|
1371
1409
|
a.className = "point-modal__line";
|
|
1372
1410
|
const s = document.createElement("span");
|
|
1373
|
-
s.className = "point-modal__label", s.textContent = `${
|
|
1411
|
+
s.className = "point-modal__label", s.textContent = `${t}: `, a.appendChild(s), a.appendChild(document.createTextNode(o)), e.appendChild(a);
|
|
1374
1412
|
}
|
|
1375
|
-
createPointModalPhoneItem(
|
|
1413
|
+
createPointModalPhoneItem(e) {
|
|
1376
1414
|
var s;
|
|
1377
|
-
const
|
|
1378
|
-
|
|
1415
|
+
const t = document.createElement("li");
|
|
1416
|
+
t.className = "point-modal__phone-item";
|
|
1379
1417
|
const n = document.createElement("span");
|
|
1380
|
-
n.className = "point-modal__label", n.textContent = `${
|
|
1381
|
-
const o = ((s =
|
|
1418
|
+
n.className = "point-modal__label", n.textContent = `${e.nombre || "Telefono"}: `, t.appendChild(n);
|
|
1419
|
+
const o = ((s = e.telefono) != null ? s : "").trim(), a = this.isWhatsappPhone(e) ? this.getWhatsappLink(o) : null;
|
|
1382
1420
|
if (a) {
|
|
1383
1421
|
const i = document.createElement("a");
|
|
1384
|
-
i.href = a, i.target = "_blank", i.rel = "noopener noreferrer", i.className = "point-modal__link", i.textContent = o,
|
|
1422
|
+
i.href = a, i.target = "_blank", i.rel = "noopener noreferrer", i.className = "point-modal__link", i.textContent = o, t.appendChild(i);
|
|
1385
1423
|
} else
|
|
1386
|
-
|
|
1387
|
-
return
|
|
1424
|
+
t.appendChild(document.createTextNode(o));
|
|
1425
|
+
return t;
|
|
1388
1426
|
}
|
|
1389
|
-
createPointModalActions(
|
|
1390
|
-
const
|
|
1391
|
-
return
|
|
1427
|
+
createPointModalActions(e) {
|
|
1428
|
+
const t = document.createElement("div");
|
|
1429
|
+
return t.className = "point-modal__section point-modal__actions", e.url && e.url !== "#" && t.appendChild(this.createPointModalLink(e.url, "Sitio web", !0, "fa-solid fa-globe")), e.googlelink && t.appendChild(this.createPointModalLink(e.googlelink, "Google Maps")), e.email && t.appendChild(this.createPointModalLink(`mailto:${e.email}`, "Enviar correo", !1, "fa-solid fa-envelope")), t;
|
|
1392
1430
|
}
|
|
1393
|
-
createPointModalLink(
|
|
1394
|
-
const
|
|
1395
|
-
return
|
|
1431
|
+
createPointModalLink(e, t, n = !0, o) {
|
|
1432
|
+
const a = document.createElement("a");
|
|
1433
|
+
return a.href = e, a.className = "point-modal__link", o && a.appendChild(this.createIconElement(o)), a.appendChild(document.createTextNode(t)), n && (a.target = "_blank", a.rel = "noopener noreferrer"), a;
|
|
1396
1434
|
}
|
|
1397
|
-
setActiveZone(
|
|
1435
|
+
setActiveZone(e) {
|
|
1398
1436
|
}
|
|
1399
|
-
scrollToZoneSection(
|
|
1437
|
+
scrollToZoneSection(e) {
|
|
1400
1438
|
if (!this.zonesContainer)
|
|
1401
1439
|
return;
|
|
1402
|
-
const
|
|
1403
|
-
|
|
1440
|
+
const t = this.zonesContainer.querySelector(`[data-zone-section="${e}"]`);
|
|
1441
|
+
t && t.scrollIntoView({ behavior: "smooth", block: "start" });
|
|
1404
1442
|
}
|
|
1405
1443
|
updateZoneButtons() {
|
|
1406
|
-
this.zoneButtons.forEach((
|
|
1407
|
-
const
|
|
1408
|
-
|
|
1444
|
+
this.zoneButtons.forEach((e) => {
|
|
1445
|
+
const t = e.dataset.zone, n = this.activeZone === t;
|
|
1446
|
+
e.classList.toggle("is-active", n), e.setAttribute("aria-pressed", String(n));
|
|
1409
1447
|
});
|
|
1410
1448
|
}
|
|
1411
1449
|
updateZoneButtonCounts() {
|
|
1412
|
-
this.zoneButtons.forEach((
|
|
1413
|
-
|
|
1414
|
-
const
|
|
1415
|
-
|
|
1450
|
+
this.zoneButtons.forEach((e) => {
|
|
1451
|
+
e.dataset.zone;
|
|
1452
|
+
const t = e.dataset.label || e.textContent || "";
|
|
1453
|
+
e.textContent = t;
|
|
1416
1454
|
});
|
|
1417
1455
|
}
|
|
1418
1456
|
updateZoneVisibility() {
|
|
1419
1457
|
if (!this.zonesContainer)
|
|
1420
1458
|
return;
|
|
1421
|
-
this.zonesContainer.querySelectorAll("[data-zone-section]").forEach((
|
|
1422
|
-
|
|
1459
|
+
this.zonesContainer.querySelectorAll("[data-zone-section]").forEach((t) => {
|
|
1460
|
+
t.removeAttribute("hidden");
|
|
1423
1461
|
});
|
|
1424
1462
|
}
|
|
1425
|
-
findNearestPoint(
|
|
1463
|
+
findNearestPoint(e, t) {
|
|
1426
1464
|
if (!this.points.length)
|
|
1427
1465
|
return null;
|
|
1428
1466
|
let n = null, o = 1 / 0;
|
|
@@ -1430,143 +1468,144 @@ const V = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAA
|
|
|
1430
1468
|
const s = this.getPointPosition(a);
|
|
1431
1469
|
if (!s)
|
|
1432
1470
|
return;
|
|
1433
|
-
const i = this.haversine(
|
|
1471
|
+
const i = this.haversine(e, t, s.lat, s.lng);
|
|
1434
1472
|
i < o && (o = i, n = a);
|
|
1435
1473
|
}), n;
|
|
1436
1474
|
}
|
|
1437
|
-
haversine(
|
|
1438
|
-
const a = (
|
|
1475
|
+
haversine(e, t, n, o) {
|
|
1476
|
+
const a = (h) => h * Math.PI / 180, i = a(n - e), l = a(o - t), d = Math.sin(i / 2) * Math.sin(i / 2) + Math.cos(a(e)) * Math.cos(a(n)) * Math.sin(l / 2) * Math.sin(l / 2);
|
|
1439
1477
|
return 6371e3 * (2 * Math.atan2(Math.sqrt(d), Math.sqrt(1 - d)));
|
|
1440
1478
|
}
|
|
1441
|
-
scrollToPointCard(
|
|
1479
|
+
scrollToPointCard(e) {
|
|
1442
1480
|
if (!this.zonesContainer)
|
|
1443
1481
|
return;
|
|
1444
|
-
const
|
|
1445
|
-
|
|
1482
|
+
const t = this.zonesContainer.querySelector(`[data-point-id="${e}"]`);
|
|
1483
|
+
t && (t.scrollIntoView({ behavior: "smooth", block: "center" }), this.highlightPointCard(t));
|
|
1446
1484
|
}
|
|
1447
|
-
highlightPointCard(
|
|
1448
|
-
var
|
|
1449
|
-
this.highlightTimeout !== null && (clearTimeout(this.highlightTimeout), this.highlightTimeout = null), (
|
|
1485
|
+
highlightPointCard(e) {
|
|
1486
|
+
var t;
|
|
1487
|
+
this.highlightTimeout !== null && (clearTimeout(this.highlightTimeout), this.highlightTimeout = null), (t = this.zonesContainer) == null || t.querySelectorAll(".point-card--highlight").forEach((n) => {
|
|
1450
1488
|
n.classList.remove("point-card--highlight");
|
|
1451
|
-
}),
|
|
1452
|
-
|
|
1489
|
+
}), e.classList.add("point-card--highlight"), this.highlightTimeout = window.setTimeout(() => {
|
|
1490
|
+
e.classList.remove("point-card--highlight"), this.highlightTimeout = null;
|
|
1453
1491
|
}, 3500);
|
|
1454
1492
|
}
|
|
1455
|
-
setComponentState(
|
|
1493
|
+
setComponentState(e) {
|
|
1456
1494
|
if (!(!this.componentMessageEl || !this.mapLayoutEl))
|
|
1457
|
-
if (
|
|
1495
|
+
if (e === "ready")
|
|
1458
1496
|
this.componentMessageEl.setAttribute("hidden", ""), this.mapLayoutEl.removeAttribute("hidden");
|
|
1459
1497
|
else {
|
|
1460
|
-
const
|
|
1461
|
-
this.componentMessageEl.textContent =
|
|
1498
|
+
const t = e === "loading" ? "Cargando puntos..." : "Mapa temporalmente no disponible";
|
|
1499
|
+
this.componentMessageEl.textContent = t, this.componentMessageEl.removeAttribute("hidden"), this.mapLayoutEl.setAttribute("hidden", "");
|
|
1462
1500
|
}
|
|
1463
1501
|
}
|
|
1464
|
-
centerMapOnPoint(
|
|
1465
|
-
if (!window.google || !this.map || !Number.isFinite(
|
|
1502
|
+
centerMapOnPoint(e, t, n = 14) {
|
|
1503
|
+
if (!window.google || !this.map || !Number.isFinite(e) || !Number.isFinite(t))
|
|
1466
1504
|
return;
|
|
1467
1505
|
const a = typeof this.map.getZoom == "function" ? this.map.getZoom() : null, s = !a || a < n;
|
|
1468
|
-
this.animateMapPan(
|
|
1506
|
+
this.animateMapPan(e, t, () => {
|
|
1469
1507
|
s && this.map.setZoom(n);
|
|
1470
1508
|
});
|
|
1471
1509
|
}
|
|
1472
|
-
async focusPointWithZoom(
|
|
1473
|
-
!window.google || !this.map || !Number.isFinite(
|
|
1474
|
-
this.animateMapPan(
|
|
1510
|
+
async focusPointWithZoom(e, t) {
|
|
1511
|
+
!window.google || !this.map || !Number.isFinite(e) || !Number.isFinite(t) || (await this.animateZoomTo(8, 800), await this.wait(500), await new Promise((o) => {
|
|
1512
|
+
this.animateMapPan(e, t, o);
|
|
1475
1513
|
}), await this.wait(500), await this.animateZoomTo(18, 800));
|
|
1476
1514
|
}
|
|
1477
|
-
wait(
|
|
1478
|
-
return new Promise((
|
|
1479
|
-
window.setTimeout(
|
|
1515
|
+
wait(e) {
|
|
1516
|
+
return new Promise((t) => {
|
|
1517
|
+
window.setTimeout(t, e);
|
|
1480
1518
|
});
|
|
1481
1519
|
}
|
|
1482
|
-
async animateZoomTo(
|
|
1520
|
+
async animateZoomTo(e, t = 600) {
|
|
1483
1521
|
if (!window.google || !this.map || typeof this.map.getZoom != "function" || typeof this.map.setZoom != "function")
|
|
1484
1522
|
return;
|
|
1485
1523
|
const o = this.map.getZoom();
|
|
1486
1524
|
if (!Number.isFinite(o)) {
|
|
1487
|
-
this.map.setZoom(
|
|
1525
|
+
this.map.setZoom(e);
|
|
1488
1526
|
return;
|
|
1489
1527
|
}
|
|
1490
|
-
const a =
|
|
1528
|
+
const a = e - o;
|
|
1491
1529
|
if (Math.abs(a) < 0.01) {
|
|
1492
|
-
this.map.setZoom(
|
|
1530
|
+
this.map.setZoom(e);
|
|
1493
1531
|
return;
|
|
1494
1532
|
}
|
|
1495
1533
|
await new Promise((s) => {
|
|
1496
|
-
const i = performance.now(),
|
|
1497
|
-
const
|
|
1498
|
-
this.map.setZoom(Math.round(
|
|
1534
|
+
const i = performance.now(), l = (m) => 1 - Math.pow(1 - m, 3), d = (m) => {
|
|
1535
|
+
const h = m - i, f = Math.min(h / t, 1), b = l(f), r = o + a * b;
|
|
1536
|
+
this.map.setZoom(Math.round(r * 100) / 100), f < 1 ? requestAnimationFrame(d) : (this.map.setZoom(e), s());
|
|
1499
1537
|
};
|
|
1500
1538
|
requestAnimationFrame(d);
|
|
1501
1539
|
});
|
|
1502
1540
|
}
|
|
1503
|
-
animateMapPan(
|
|
1541
|
+
animateMapPan(e, t, n) {
|
|
1504
1542
|
if (!window.google || !this.map)
|
|
1505
1543
|
return;
|
|
1506
1544
|
this.panAnimationFrame !== null && (cancelAnimationFrame(this.panAnimationFrame), this.panAnimationFrame = null);
|
|
1507
1545
|
const a = this.map.getCenter();
|
|
1508
1546
|
if (!a) {
|
|
1509
|
-
this.map.setCenter({ lat:
|
|
1547
|
+
this.map.setCenter({ lat: e, lng: t }), n == null || n();
|
|
1510
1548
|
return;
|
|
1511
1549
|
}
|
|
1512
|
-
const s = a.lat(), i = a.lng(),
|
|
1513
|
-
const u =
|
|
1514
|
-
this.map.setCenter({ lat: w, lng: y }),
|
|
1550
|
+
const s = a.lat(), i = a.lng(), l = e - s, d = t - i, m = 600, h = performance.now(), f = (r) => 1 - Math.pow(1 - r, 3), b = (r) => {
|
|
1551
|
+
const u = r - h, g = Math.min(u / m, 1), x = f(g), w = s + l * x, y = i + d * x;
|
|
1552
|
+
this.map.setCenter({ lat: w, lng: y }), g < 1 ? this.panAnimationFrame = requestAnimationFrame(b) : (this.panAnimationFrame = null, n == null || n());
|
|
1515
1553
|
};
|
|
1516
|
-
this.panAnimationFrame = requestAnimationFrame(
|
|
1554
|
+
this.panAnimationFrame = requestAnimationFrame(b);
|
|
1517
1555
|
}
|
|
1518
1556
|
static ensureFontAwesome() {
|
|
1519
1557
|
if (A.fontAwesomeAttached)
|
|
1520
1558
|
return;
|
|
1521
|
-
if (document.querySelector(`link[href="${
|
|
1559
|
+
if (document.querySelector(`link[href="${U}"]`)) {
|
|
1522
1560
|
A.fontAwesomeAttached = !0;
|
|
1523
1561
|
return;
|
|
1524
1562
|
}
|
|
1525
|
-
const
|
|
1526
|
-
|
|
1563
|
+
const t = document.createElement("link");
|
|
1564
|
+
t.rel = "stylesheet", t.href = U, t.crossOrigin = "anonymous", t.referrerPolicy = "no-referrer", t.addEventListener("load", () => {
|
|
1527
1565
|
A.fontAwesomeAttached = !0;
|
|
1528
|
-
}), document.head.appendChild(
|
|
1566
|
+
}), document.head.appendChild(t);
|
|
1529
1567
|
}
|
|
1530
|
-
createIconElement(
|
|
1531
|
-
const
|
|
1532
|
-
return
|
|
1568
|
+
createIconElement(e) {
|
|
1569
|
+
const t = document.createElement("i");
|
|
1570
|
+
return t.className = e, t.setAttribute("aria-hidden", "true"), t;
|
|
1533
1571
|
}
|
|
1534
|
-
isWhatsappPhone(
|
|
1535
|
-
return !!(
|
|
1572
|
+
isWhatsappPhone(e) {
|
|
1573
|
+
return !!(e.whatsapp || e.watshapp);
|
|
1536
1574
|
}
|
|
1537
|
-
getWhatsappLink(
|
|
1538
|
-
const
|
|
1539
|
-
return
|
|
1575
|
+
getWhatsappLink(e) {
|
|
1576
|
+
const t = e.replace(/\D+/g, "");
|
|
1577
|
+
return t ? `https://wa.me/${t}` : null;
|
|
1540
1578
|
}
|
|
1541
1579
|
};
|
|
1542
1580
|
c(A, "tag", "rs-map"), c(A, "googleMapsLoaderPromise", null), c(A, "pointsCacheDbPromise", null), c(A, "fontAwesomeAttached", !1);
|
|
1543
|
-
let
|
|
1544
|
-
const
|
|
1581
|
+
let I = A;
|
|
1582
|
+
const he = `<?xml version="1.0" encoding="utf-8"?>\r
|
|
1545
1583
|
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->\r
|
|
1546
1584
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
|
|
1547
1585
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve" style="fill: #ffffff;">\r
|
|
1548
1586
|
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>\r
|
|
1549
1587
|
<g><path d="M965.1,437.2c-24.9-8.4-52.2-8.7-78.1-13.5c-41.3-8.3-45.5-55.5-61.6-87c-17.4-27.9-1.8-58.7,17.9-80.2c16.7-22.2,45.4-50.8,21.8-78.9c-22.1-17.9-37.3-48.8-67.4-53.1c-30.2,2.7-50,30-74.7,45.2c-33.8,26.5-71.6-3.8-105.1-14.8c-30.2-6.9-45.2-36.2-45.6-65.2c-5.5-27.6-1.1-66.3-34.8-76.6c-36.1-3.3-99-13.6-104.1,37.7c-7.8,33.8-0.3,78.4-36.1,97.9c-30.8,10.5-59.5,30.1-92.3,31.9c-38.2-5.7-59.8-46-96.2-55.8c-32.6-2.2-48.3,31.8-70.7,49.7c-23.6,20.9-7.6,51.7,9.9,70.3c18.9,24.9,47.2,54.4,28.4,87.8c-16.4,31.3-19.6,75.8-57,89.7c-29.6,7.7-62.6,3.9-89.8,18.5c-25.6,30-28.1,94.8,5.4,120.4c36.3,14.9,84.8,0.8,111.7,35.3c13.3,29.6,28.4,59.5,35.6,91.1c-0.7,43.9-48.4,67.1-58.2,107.8c9.5,38.8,52.5,81.3,96.4,74.3c33.2-16.3,57.3-56.9,98.4-51.3c30.2,11.8,62.2,21.7,89.5,39.2c29.7,30.2,13.4,78.3,33.4,112.9c29.9,25.7,94.7,28.3,120.1-5.4c14.8-36.3,0.9-84.9,35.2-111.8c29.5-13.3,59.5-28.4,91-35.6c42.3,0,64.7,46,103.3,56c32.5,2.2,48.3-31.8,70.7-49.7c24.5-22.1,6.1-53.2-11.6-72.5c-18.9-24-45-53.3-26.7-85.6c16.4-31.3,19.6-75.7,57-89.6c29.6-7.7,62.6-4,89.8-18.5C996.1,527.5,998.6,462.7,965.1,437.2z M577.6,593.4c-21.6,18-49.5,28-77.5,27.9c-79.1,3-142.8-83.6-116.4-158.4c20.6-76,121.1-111.4,184.6-64.9C634.9,439.4,640,545.6,577.6,593.4z"/></g>\r
|
|
1550
|
-
</svg>`,
|
|
1588
|
+
</svg>`, me = `<?xml version="1.0" encoding="utf-8"?>\r
|
|
1551
1589
|
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon -->\r
|
|
1552
1590
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\r
|
|
1553
1591
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve" style="fill: #ffffff;">\r
|
|
1554
1592
|
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata>\r
|
|
1555
1593
|
<g><g><g><path d="M171.2,451.6c-89,0-161.2,72.2-161.2,161.2c0,89,72.2,161.2,161.2,161.2c65,0,120.9-38.6,146.4-94l38.3,29.5c0,0,281.5,2,296.9-6.7c0,0-34.9-95.4,9.4-135.7c4.7-4.2,10.5-9.1,17-14.2c-7.4,18.5-11.6,38.7-11.6,59.9c0,89,72.2,161.2,161.2,161.2c89,0,161.2-72.2,161.2-161.2c0-89.1-72.2-161.2-161.2-161.2c-1.5,0-2.9,0.2-4.3,0.2c11.6-7.6,19.1-12.3,19.1-12.3l-12.1-10.8c0,0,34.9-8,26.9-25.5c-8.1-17.5-92.7-122.3-92.7-122.3s15-32.2-16-55.1l-14.9,32.2c0,0-38-26.2-53.1-21.2c-15.1,5-37.8,7.6-44.8,18.6l-7,6.6c0,0-2,11.6,9.6,28.7c0,0,116.4,35.8,121.9,62c0,0,8.1,16.6-26.7,20.6l-7,9.1l-18.7,1l-33.7-77.1c0,0-32.3,8.6-48.9,21.7l2.5,13.1c0,0-135.5-92.2-263,44.3c0,0-94.2,27.2-160.2-56.4c0,0-1-27.2-160.2-22.2l11.1,11.6c0,0-11.1,1-15.6,8.1c-4.5,7,2.5,14.6,38.8,14.6c0,0,82.1,93.7,145.1,88.2l89.7,43.3l39.8,68c0,0,0.1,5.8,0.5,14.8c-9.2,2-19.6,4.2-30.6,6.5C302.9,497.9,242.5,451.6,171.2,451.6z M828.8,501c61.7,0,111.8,50.2,111.8,111.8c0,61.7-50.2,111.8-111.8,111.8c-61.7,0-111.8-50.2-111.8-111.8C717,551.2,767.1,501,828.8,501z M171.2,724.7c-61.6,0-111.8-50.2-111.8-111.8c0-61.7,50.2-111.8,111.8-111.8c47.4,0,87.9,29.7,104.1,71.4c-59.3,12.6-118.1,25.2-118.1,25.2l7.6,41.8l116.1-5.1C270.9,685.7,225.5,724.7,171.2,724.7z M364.8,630.6c3.3,11.2,7.6,20.1,13.2,23.9l-51.8,2c2.2-7.9,3.9-16.1,4.9-24.5L364.8,630.6z"/></g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g><g></g></g>\r
|
|
1556
|
-
</svg>`,
|
|
1557
|
-
"../ws/gear.svg":
|
|
1558
|
-
"../ws/motorcycle.svg":
|
|
1559
|
-
}),
|
|
1594
|
+
</svg>`, ue = "WhatsApp", ge = "Contactar por WhatsApp", fe = "compra de motos", Ae = "En este momento no es posible atender su solicitud. Le invitamos a contactarnos dentro de nuestro horario de atencion.", Z = "#25d366", be = "#000000", Q = "motorcycle", Ce = "https://wa.me/", xe = /* @__PURE__ */ Object.assign({
|
|
1595
|
+
"../ws/gear.svg": he,
|
|
1596
|
+
"../ws/motorcycle.svg": me
|
|
1597
|
+
}), we = {
|
|
1560
1598
|
gasgas: "#cb0d25",
|
|
1561
|
-
hqv: "#
|
|
1599
|
+
hqv: "#2b3d60",
|
|
1562
1600
|
ktm: "#ff6600",
|
|
1563
1601
|
rs: "#000000",
|
|
1564
1602
|
voge: "#000000"
|
|
1565
|
-
},
|
|
1603
|
+
}, ye = {
|
|
1566
1604
|
gas: "gasgas",
|
|
1567
1605
|
gasgas: "gasgas",
|
|
1606
|
+
rsltda: "rs",
|
|
1568
1607
|
husqvarna: "hqv"
|
|
1569
|
-
},
|
|
1608
|
+
}, Ee = {
|
|
1570
1609
|
0: 0,
|
|
1571
1610
|
7: 0,
|
|
1572
1611
|
dom: 0,
|
|
@@ -1603,7 +1642,7 @@ const pt = `<?xml version="1.0" encoding="utf-8"?>\r
|
|
|
1603
1642
|
sabado: 6,
|
|
1604
1643
|
sat: 6,
|
|
1605
1644
|
saturday: 6
|
|
1606
|
-
},
|
|
1645
|
+
}, ve = {
|
|
1607
1646
|
sun: 0,
|
|
1608
1647
|
mon: 1,
|
|
1609
1648
|
tue: 2,
|
|
@@ -1611,23 +1650,23 @@ const pt = `<?xml version="1.0" encoding="utf-8"?>\r
|
|
|
1611
1650
|
thu: 4,
|
|
1612
1651
|
fri: 5,
|
|
1613
1652
|
sat: 6
|
|
1614
|
-
},
|
|
1615
|
-
Object.entries(
|
|
1616
|
-
var
|
|
1617
|
-
const
|
|
1618
|
-
return [P(
|
|
1653
|
+
}, Pe = Object.fromEntries(
|
|
1654
|
+
Object.entries(xe).map(([p, C]) => {
|
|
1655
|
+
var t, n;
|
|
1656
|
+
const e = (n = (t = p.split("/").pop()) == null ? void 0 : t.replace(/\.svg$/i, "")) != null ? n : "";
|
|
1657
|
+
return [P(e), Me(C)];
|
|
1619
1658
|
})
|
|
1620
1659
|
);
|
|
1621
|
-
function
|
|
1660
|
+
function Me(p) {
|
|
1622
1661
|
return p.replace(/<\?xml[\s\S]*?\?>\s*/i, "").replace(/<!DOCTYPE[\s\S]*?>\s*/i, "").replace(/<metadata>[\s\S]*?<\/metadata>\s*/i, "").replace(/<svg\b/i, '<svg class="menu-link-icon" aria-hidden="true" focusable="false"').replace(/style="fill:\s*#ffffff;?"/i, 'style="fill: currentColor;"');
|
|
1623
1662
|
}
|
|
1624
1663
|
function P(p) {
|
|
1625
1664
|
return p.normalize("NFD").replace(/[\u0300-\u036f]/g, "").trim().toLowerCase().replace(/[^a-z0-9]+/g, "");
|
|
1626
1665
|
}
|
|
1627
|
-
function
|
|
1666
|
+
function ke(p) {
|
|
1628
1667
|
return /^(https?:\/\/|\/\/|data:image\/|blob:|\/|\.\/|\.\.\/)/i.test(p.trim());
|
|
1629
1668
|
}
|
|
1630
|
-
class
|
|
1669
|
+
class G extends HTMLElement {
|
|
1631
1670
|
constructor() {
|
|
1632
1671
|
super();
|
|
1633
1672
|
c(this, "root");
|
|
@@ -1642,13 +1681,13 @@ class Q extends HTMLElement {
|
|
|
1642
1681
|
c(this, "handleButtonClick", () => {
|
|
1643
1682
|
this.menuEl.hidden && this.syncAttributesToState(), this.setMenuOpen(this.menuEl.hidden);
|
|
1644
1683
|
});
|
|
1645
|
-
c(this, "handleMenuClick", (
|
|
1646
|
-
const
|
|
1647
|
-
if (
|
|
1648
|
-
|
|
1684
|
+
c(this, "handleMenuClick", (e) => {
|
|
1685
|
+
const t = e.composedPath();
|
|
1686
|
+
if (t.find((a) => a instanceof HTMLAnchorElement && a.getAttribute("aria-disabled") === "true")) {
|
|
1687
|
+
e.preventDefault();
|
|
1649
1688
|
return;
|
|
1650
1689
|
}
|
|
1651
|
-
|
|
1690
|
+
t.find((a) => a instanceof HTMLAnchorElement || a instanceof HTMLButtonElement) && this.setMenuOpen(!1);
|
|
1652
1691
|
});
|
|
1653
1692
|
c(this, "handleCustomMenuSlotChange", () => {
|
|
1654
1693
|
this.syncAttributesToState();
|
|
@@ -1656,11 +1695,11 @@ class Q extends HTMLElement {
|
|
|
1656
1695
|
c(this, "handleChildrenMutation", () => {
|
|
1657
1696
|
this.syncAttributesToState();
|
|
1658
1697
|
});
|
|
1659
|
-
c(this, "handleDocumentClick", (
|
|
1660
|
-
this.menuEl.hidden ||
|
|
1698
|
+
c(this, "handleDocumentClick", (e) => {
|
|
1699
|
+
this.menuEl.hidden || e.composedPath().includes(this) || this.setMenuOpen(!1);
|
|
1661
1700
|
});
|
|
1662
|
-
c(this, "handleDocumentKeydown", (
|
|
1663
|
-
this.menuEl.hidden ||
|
|
1701
|
+
c(this, "handleDocumentKeydown", (e) => {
|
|
1702
|
+
this.menuEl.hidden || e.key !== "Escape" || (this.setMenuOpen(!1), this.buttonEl.focus());
|
|
1664
1703
|
});
|
|
1665
1704
|
this.root = this.attachShadow({ mode: "open" }), this.root.innerHTML = `
|
|
1666
1705
|
<style>
|
|
@@ -1670,7 +1709,7 @@ class Q extends HTMLElement {
|
|
|
1670
1709
|
bottom: var(--rs-whatsapp-bottom, 24px);
|
|
1671
1710
|
z-index: var(--rs-whatsapp-z-index, 9999);
|
|
1672
1711
|
display: inline-block;
|
|
1673
|
-
--rs-whatsapp-brand-color: ${
|
|
1712
|
+
--rs-whatsapp-brand-color: ${Z};
|
|
1674
1713
|
font-family: var(--rs-whatsapp-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
|
|
1675
1714
|
}
|
|
1676
1715
|
:host([position="bottom-left"]) {
|
|
@@ -1702,7 +1741,7 @@ class Q extends HTMLElement {
|
|
|
1702
1741
|
justify-content: center;
|
|
1703
1742
|
gap: 10px;
|
|
1704
1743
|
border-radius: 999px;
|
|
1705
|
-
background: var(--rs-whatsapp-bg, ${
|
|
1744
|
+
background: var(--rs-whatsapp-bg, ${Z});
|
|
1706
1745
|
color: var(--rs-whatsapp-color, #ffffff);
|
|
1707
1746
|
box-shadow: var(--rs-whatsapp-shadow, 0 10px 24px rgb(0 0 0 / 22%));
|
|
1708
1747
|
cursor: pointer;
|
|
@@ -1941,7 +1980,7 @@ class Q extends HTMLElement {
|
|
|
1941
1980
|
</span>
|
|
1942
1981
|
<span class="label"></span>
|
|
1943
1982
|
</button>
|
|
1944
|
-
|
|
1983
|
+
`, this.cacheShadowElements();
|
|
1945
1984
|
}
|
|
1946
1985
|
static get observedAttributes() {
|
|
1947
1986
|
return [
|
|
@@ -1962,7 +2001,7 @@ class Q extends HTMLElement {
|
|
|
1962
2001
|
];
|
|
1963
2002
|
}
|
|
1964
2003
|
connectedCallback() {
|
|
1965
|
-
this.
|
|
2004
|
+
this.cacheShadowElements(), this.buttonEl.addEventListener("click", this.handleButtonClick), this.menuEl.addEventListener("click", this.handleMenuClick), this.customMenuSlotEl.addEventListener("slotchange", this.handleCustomMenuSlotChange), document.addEventListener("click", this.handleDocumentClick), document.addEventListener("keydown", this.handleDocumentKeydown), this.childrenObserver = new MutationObserver(this.handleChildrenMutation), this.childrenObserver.observe(this, {
|
|
1966
2005
|
childList: !0,
|
|
1967
2006
|
subtree: !0,
|
|
1968
2007
|
characterData: !0,
|
|
@@ -1970,93 +2009,96 @@ class Q extends HTMLElement {
|
|
|
1970
2009
|
attributeFilter: ["label", "telefono", "mensaje", "target", "icon", "dias", "desde", "hasta"]
|
|
1971
2010
|
}), this.syncAttributesToState();
|
|
1972
2011
|
}
|
|
2012
|
+
cacheShadowElements() {
|
|
2013
|
+
this.buttonEl = this.root.querySelector("button"), this.menuEl = this.root.querySelector(".menu"), this.generatedOptionsEl = this.root.querySelector("[data-generated-options]"), this.customMenuSlotEl = this.root.querySelector('slot[name="menu"]'), this.closedMessageEl = this.root.querySelector("[data-closed-message]"), this.closedMessageTextEl = this.root.querySelector("[data-closed-message-text]"), this.labelEl = this.root.querySelector(".label");
|
|
2014
|
+
}
|
|
1973
2015
|
disconnectedCallback() {
|
|
1974
|
-
var
|
|
1975
|
-
(
|
|
2016
|
+
var e, t, n, o;
|
|
2017
|
+
(e = this.buttonEl) == null || e.removeEventListener("click", this.handleButtonClick), (t = this.menuEl) == null || t.removeEventListener("click", this.handleMenuClick), (n = this.customMenuSlotEl) == null || n.removeEventListener("slotchange", this.handleCustomMenuSlotChange), document.removeEventListener("click", this.handleDocumentClick), document.removeEventListener("keydown", this.handleDocumentKeydown), (o = this.childrenObserver) == null || o.disconnect();
|
|
1976
2018
|
}
|
|
1977
2019
|
attributeChangedCallback() {
|
|
1978
2020
|
this.isConnected && this.syncAttributesToState();
|
|
1979
2021
|
}
|
|
1980
2022
|
syncAttributesToState() {
|
|
1981
|
-
var i,
|
|
1982
|
-
const
|
|
1983
|
-
if (this.labelEl.textContent =
|
|
2023
|
+
var i, l, d, m, h;
|
|
2024
|
+
const e = ((i = this.getAttribute("label")) != null ? i : "").trim() || ue, t = ((l = this.getAttribute("menu-label")) != null ? l : "").trim() || fe, n = ((d = this.getAttribute("aria-label")) != null ? d : "").trim() || ge, o = ((m = this.getAttribute("target")) != null ? m : "_blank").trim() || "_blank", a = ((h = this.getAttribute("icon")) != null ? h : Q).trim() || Q, s = this.isOutsideBusinessHours();
|
|
2025
|
+
if (this.labelEl.textContent = e, this.buttonEl.setAttribute("aria-label", n), this.buttonEl.setAttribute("title", n), this.syncBrandVariant(), this.closedMessageTextEl.textContent = this.getClosedMessage(), this.closedMessageEl.hidden = !s, this.customMenuSlotEl.hidden = s, s) {
|
|
1984
2026
|
this.generatedOptionsEl.hidden = !0, this.generatedOptionsEl.replaceChildren();
|
|
1985
2027
|
return;
|
|
1986
2028
|
}
|
|
1987
|
-
this.renderMenuOptions(
|
|
2029
|
+
this.renderMenuOptions(t, o, a);
|
|
1988
2030
|
}
|
|
1989
|
-
buildWhatsappUrl(
|
|
1990
|
-
const n = this.sanitizePhone(
|
|
2031
|
+
buildWhatsappUrl(e, t) {
|
|
2032
|
+
const n = this.sanitizePhone(e);
|
|
1991
2033
|
if (!n)
|
|
1992
2034
|
return "";
|
|
1993
|
-
const o = (
|
|
1994
|
-
return `${
|
|
2035
|
+
const o = (t != null ? t : "").trim(), a = o ? `?text=${encodeURIComponent(o)}` : "";
|
|
2036
|
+
return `${Ce}${n}${a}`;
|
|
1995
2037
|
}
|
|
1996
|
-
sanitizePhone(
|
|
1997
|
-
return (
|
|
2038
|
+
sanitizePhone(e) {
|
|
2039
|
+
return (e != null ? e : "").replace(/[^\d]/g, "");
|
|
1998
2040
|
}
|
|
1999
2041
|
syncBrandVariant() {
|
|
2000
2042
|
var o, a;
|
|
2001
|
-
const
|
|
2002
|
-
if (!
|
|
2003
|
-
this.style.setProperty("--rs-whatsapp-brand-color",
|
|
2043
|
+
const e = ((o = this.getAttribute("marca")) != null ? o : "").trim();
|
|
2044
|
+
if (!e) {
|
|
2045
|
+
this.style.setProperty("--rs-whatsapp-brand-color", Z);
|
|
2004
2046
|
return;
|
|
2005
2047
|
}
|
|
2006
|
-
const
|
|
2048
|
+
const t = this.normalizeBrandKey(e), n = (a = we[t]) != null ? a : be;
|
|
2007
2049
|
this.style.setProperty("--rs-whatsapp-brand-color", n);
|
|
2008
2050
|
}
|
|
2009
|
-
normalizeBrandKey(
|
|
2051
|
+
normalizeBrandKey(e) {
|
|
2010
2052
|
var n;
|
|
2011
|
-
const
|
|
2012
|
-
return (n =
|
|
2053
|
+
const t = P(e);
|
|
2054
|
+
return (n = ye[t]) != null ? n : t;
|
|
2013
2055
|
}
|
|
2014
|
-
renderMenuOptions(
|
|
2056
|
+
renderMenuOptions(e, t, n) {
|
|
2015
2057
|
if (this.customMenuSlotEl.assignedElements({ flatten: !0 }).length > 0) {
|
|
2016
2058
|
this.generatedOptionsEl.hidden = !0, this.generatedOptionsEl.replaceChildren();
|
|
2017
2059
|
return;
|
|
2018
2060
|
}
|
|
2019
|
-
const s = this.getWhatsappOptions(
|
|
2061
|
+
const s = this.getWhatsappOptions(e, t, n).filter((i) => this.sanitizePhone(i.telefono)).map((i) => this.createMenuLink(i));
|
|
2020
2062
|
this.generatedOptionsEl.replaceChildren(...s), this.generatedOptionsEl.hidden = !1;
|
|
2021
2063
|
}
|
|
2022
|
-
getWhatsappOptions(
|
|
2064
|
+
getWhatsappOptions(e, t, n) {
|
|
2023
2065
|
var a, s;
|
|
2024
|
-
const o = Array.from(this.querySelectorAll(
|
|
2066
|
+
const o = Array.from(this.querySelectorAll(F.tag));
|
|
2025
2067
|
return o.length ? o.map((i) => {
|
|
2026
|
-
var
|
|
2068
|
+
var l, d, m, h, f, b;
|
|
2027
2069
|
return {
|
|
2028
|
-
label: ((d = (
|
|
2029
|
-
telefono: ((
|
|
2030
|
-
mensaje: ((
|
|
2031
|
-
target: ((
|
|
2032
|
-
icon: ((
|
|
2070
|
+
label: ((d = (l = i.getAttribute("label")) != null ? l : i.textContent) != null ? d : "").trim() || e,
|
|
2071
|
+
telefono: ((m = i.getAttribute("telefono")) != null ? m : "").trim(),
|
|
2072
|
+
mensaje: ((h = i.getAttribute("mensaje")) != null ? h : "").trim(),
|
|
2073
|
+
target: ((f = i.getAttribute("target")) != null ? f : t).trim() || t,
|
|
2074
|
+
icon: ((b = i.getAttribute("icon")) != null ? b : n).trim() || n
|
|
2033
2075
|
};
|
|
2034
2076
|
}) : [
|
|
2035
2077
|
{
|
|
2036
|
-
label:
|
|
2078
|
+
label: e,
|
|
2037
2079
|
telefono: ((a = this.getAttribute("telefono")) != null ? a : "").trim(),
|
|
2038
2080
|
mensaje: ((s = this.getAttribute("mensaje")) != null ? s : "").trim(),
|
|
2039
|
-
target:
|
|
2081
|
+
target: t,
|
|
2040
2082
|
icon: n
|
|
2041
2083
|
}
|
|
2042
2084
|
];
|
|
2043
2085
|
}
|
|
2044
|
-
createMenuLink(
|
|
2045
|
-
const
|
|
2046
|
-
|
|
2047
|
-
const a = this.createOptionIcon(
|
|
2048
|
-
return a &&
|
|
2086
|
+
createMenuLink(e) {
|
|
2087
|
+
const t = document.createElement("a"), n = document.createElement("span"), o = this.buildWhatsappUrl(e.telefono, e.mensaje);
|
|
2088
|
+
t.className = "menu-link", t.rel = "noopener noreferrer", t.target = e.target, n.className = "menu-label", n.textContent = e.label;
|
|
2089
|
+
const a = this.createOptionIcon(e.icon);
|
|
2090
|
+
return a && t.append(a), t.append(n), o ? (t.href = o, t.tabIndex = 0, t) : (t.setAttribute("aria-disabled", "true"), t.tabIndex = -1, t);
|
|
2049
2091
|
}
|
|
2050
|
-
createOptionIcon(
|
|
2092
|
+
createOptionIcon(e) {
|
|
2051
2093
|
var s, i;
|
|
2052
|
-
const
|
|
2094
|
+
const t = e.trim(), n = P(t);
|
|
2053
2095
|
if (n === "none")
|
|
2054
2096
|
return null;
|
|
2055
|
-
if (
|
|
2056
|
-
const
|
|
2057
|
-
return
|
|
2097
|
+
if (ke(t)) {
|
|
2098
|
+
const l = document.createElement("img");
|
|
2099
|
+
return l.className = "menu-link-icon", l.src = t, l.alt = "", l.setAttribute("aria-hidden", "true"), l.decoding = "async", l;
|
|
2058
2100
|
}
|
|
2059
|
-
const o =
|
|
2101
|
+
const o = Pe[n || Q];
|
|
2060
2102
|
if (!o)
|
|
2061
2103
|
return null;
|
|
2062
2104
|
const a = document.createElement("template");
|
|
@@ -2064,131 +2106,131 @@ class Q extends HTMLElement {
|
|
|
2064
2106
|
}
|
|
2065
2107
|
getClosedMessage() {
|
|
2066
2108
|
var n;
|
|
2067
|
-
const
|
|
2068
|
-
return
|
|
2109
|
+
const e = ((n = this.getAttribute("mensaje-fuera-horario")) != null ? n : "").trim() || Ae, t = this.getScheduleSummary();
|
|
2110
|
+
return t ? `${e}
|
|
2069
2111
|
Horario de atencion:
|
|
2070
|
-
${
|
|
2112
|
+
${t}` : e;
|
|
2071
2113
|
}
|
|
2072
2114
|
isOutsideBusinessHours() {
|
|
2073
|
-
const
|
|
2074
|
-
if (
|
|
2075
|
-
const n = P(
|
|
2115
|
+
const e = this.getAttribute("fuera-horario");
|
|
2116
|
+
if (e !== null) {
|
|
2117
|
+
const n = P(e);
|
|
2076
2118
|
return n !== "false" && n !== "0" && n !== "no";
|
|
2077
2119
|
}
|
|
2078
|
-
const
|
|
2079
|
-
return
|
|
2120
|
+
const t = this.getScheduleSegments().join(";");
|
|
2121
|
+
return t ? !this.isWithinBusinessHours(t) : !1;
|
|
2080
2122
|
}
|
|
2081
2123
|
getScheduleSegments() {
|
|
2082
|
-
var
|
|
2083
|
-
const
|
|
2084
|
-
return
|
|
2085
|
-
var i,
|
|
2086
|
-
const o = ((i = n.getAttribute("dias")) != null ? i : "").trim(), a = ((
|
|
2124
|
+
var t;
|
|
2125
|
+
const e = Array.from(this.querySelectorAll(M.tag));
|
|
2126
|
+
return e.length ? e.map((n) => {
|
|
2127
|
+
var i, l, d;
|
|
2128
|
+
const o = ((i = n.getAttribute("dias")) != null ? i : "").trim(), a = ((l = n.getAttribute("desde")) != null ? l : "").trim(), s = ((d = n.getAttribute("hasta")) != null ? d : "").trim();
|
|
2087
2129
|
return !o || !a || !s ? "" : `${o} ${a}-${s}`;
|
|
2088
|
-
}).filter(Boolean) : ((
|
|
2130
|
+
}).filter(Boolean) : ((t = this.getAttribute("horario")) != null ? t : "").split(";").map((n) => n.trim()).filter(Boolean);
|
|
2089
2131
|
}
|
|
2090
2132
|
getScheduleSummary() {
|
|
2091
|
-
var
|
|
2092
|
-
const
|
|
2093
|
-
return
|
|
2094
|
-
var i,
|
|
2095
|
-
const o = ((i = n.getAttribute("dias")) != null ? i : "").trim(), a = ((
|
|
2133
|
+
var t;
|
|
2134
|
+
const e = Array.from(this.querySelectorAll(M.tag));
|
|
2135
|
+
return e.length ? e.map((n) => {
|
|
2136
|
+
var i, l, d;
|
|
2137
|
+
const o = ((i = n.getAttribute("dias")) != null ? i : "").trim(), a = ((l = n.getAttribute("desde")) != null ? l : "").trim(), s = ((d = n.getAttribute("hasta")) != null ? d : "").trim();
|
|
2096
2138
|
return !o || !a || !s ? "" : `${o} ${a}-${s}`;
|
|
2097
2139
|
}).filter(Boolean).join(`
|
|
2098
|
-
`) : ((
|
|
2140
|
+
`) : ((t = this.getAttribute("horario")) != null ? t : "").split(";").map((n) => n.trim()).filter(Boolean).join(`
|
|
2099
2141
|
`);
|
|
2100
2142
|
}
|
|
2101
|
-
isWithinBusinessHours(
|
|
2102
|
-
const
|
|
2103
|
-
return
|
|
2143
|
+
isWithinBusinessHours(e) {
|
|
2144
|
+
const t = this.getCurrentTimeParts();
|
|
2145
|
+
return e.split(";").some((n) => this.isScheduleSegmentActive(n, t.day, t.minutes));
|
|
2104
2146
|
}
|
|
2105
2147
|
getCurrentTimeParts() {
|
|
2106
|
-
var
|
|
2107
|
-
const
|
|
2108
|
-
if (!
|
|
2109
|
-
const
|
|
2148
|
+
var t, n, o, a, s, i;
|
|
2149
|
+
const e = ((t = this.getAttribute("time-zone")) != null ? t : "").trim();
|
|
2150
|
+
if (!e) {
|
|
2151
|
+
const l = /* @__PURE__ */ new Date();
|
|
2110
2152
|
return {
|
|
2111
|
-
day:
|
|
2112
|
-
minutes:
|
|
2153
|
+
day: l.getDay(),
|
|
2154
|
+
minutes: l.getHours() * 60 + l.getMinutes()
|
|
2113
2155
|
};
|
|
2114
2156
|
}
|
|
2115
2157
|
try {
|
|
2116
|
-
const
|
|
2117
|
-
timeZone:
|
|
2158
|
+
const l = /* @__PURE__ */ new Date(), d = new Intl.DateTimeFormat("en-US", {
|
|
2159
|
+
timeZone: e,
|
|
2118
2160
|
weekday: "short"
|
|
2119
|
-
}).format(
|
|
2120
|
-
timeZone:
|
|
2161
|
+
}).format(l).toLowerCase(), m = new Intl.DateTimeFormat("en-US", {
|
|
2162
|
+
timeZone: e,
|
|
2121
2163
|
hour12: !1,
|
|
2122
2164
|
hour: "2-digit",
|
|
2123
2165
|
minute: "2-digit"
|
|
2124
|
-
}).formatToParts(
|
|
2166
|
+
}).formatToParts(l), h = Number((o = (n = m.find((b) => b.type === "hour")) == null ? void 0 : n.value) != null ? o : 0) % 24, f = Number((s = (a = m.find((b) => b.type === "minute")) == null ? void 0 : a.value) != null ? s : 0);
|
|
2125
2167
|
return {
|
|
2126
|
-
day: (i =
|
|
2127
|
-
minutes:
|
|
2168
|
+
day: (i = ve[d]) != null ? i : l.getDay(),
|
|
2169
|
+
minutes: h * 60 + f
|
|
2128
2170
|
};
|
|
2129
2171
|
} catch {
|
|
2130
|
-
const
|
|
2172
|
+
const l = /* @__PURE__ */ new Date();
|
|
2131
2173
|
return {
|
|
2132
|
-
day:
|
|
2133
|
-
minutes:
|
|
2174
|
+
day: l.getDay(),
|
|
2175
|
+
minutes: l.getHours() * 60 + l.getMinutes()
|
|
2134
2176
|
};
|
|
2135
2177
|
}
|
|
2136
2178
|
}
|
|
2137
|
-
isScheduleSegmentActive(
|
|
2138
|
-
const o =
|
|
2179
|
+
isScheduleSegmentActive(e, t, n) {
|
|
2180
|
+
const o = e.trim().normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().match(/^(.+?)\s+(\d{1,2}:\d{2})\s*-\s*(\d{1,2}:\d{2})$/);
|
|
2139
2181
|
if (!o)
|
|
2140
2182
|
return !1;
|
|
2141
2183
|
const a = this.parseScheduleDays(o[1]), s = this.parseScheduleTime(o[2]), i = this.parseScheduleTime(o[3]);
|
|
2142
|
-
return !a.includes(
|
|
2184
|
+
return !a.includes(t) || s === null || i === null ? !1 : s <= i ? n >= s && n <= i : n >= s || n <= i;
|
|
2143
2185
|
}
|
|
2144
|
-
parseScheduleDays(
|
|
2145
|
-
const
|
|
2146
|
-
return
|
|
2186
|
+
parseScheduleDays(e) {
|
|
2187
|
+
const t = e.normalize("NFD").replace(/[\u0300-\u036f]/g, "").toLowerCase().replace(/\s+/g, "");
|
|
2188
|
+
return t === "*" || t === "todos" || t === "all" ? [0, 1, 2, 3, 4, 5, 6] : t.split(",").flatMap((n) => {
|
|
2147
2189
|
const [o, a] = n.split("-"), s = this.parseScheduleDay(o), i = a ? this.parseScheduleDay(a) : s;
|
|
2148
2190
|
if (s === null || i === null)
|
|
2149
2191
|
return [];
|
|
2150
2192
|
if (s === i)
|
|
2151
2193
|
return [s];
|
|
2152
|
-
const
|
|
2194
|
+
const l = [];
|
|
2153
2195
|
let d = s;
|
|
2154
2196
|
for (; ; ) {
|
|
2155
|
-
if (
|
|
2156
|
-
return
|
|
2197
|
+
if (l.push(d), d === i)
|
|
2198
|
+
return l;
|
|
2157
2199
|
d = (d + 1) % 7;
|
|
2158
2200
|
}
|
|
2159
2201
|
});
|
|
2160
2202
|
}
|
|
2161
|
-
parseScheduleDay(
|
|
2203
|
+
parseScheduleDay(e) {
|
|
2162
2204
|
var n;
|
|
2163
|
-
if (!
|
|
2205
|
+
if (!e)
|
|
2164
2206
|
return null;
|
|
2165
|
-
const
|
|
2166
|
-
return (n =
|
|
2207
|
+
const t = P(e);
|
|
2208
|
+
return (n = Ee[t]) != null ? n : null;
|
|
2167
2209
|
}
|
|
2168
|
-
parseScheduleTime(
|
|
2169
|
-
const [
|
|
2210
|
+
parseScheduleTime(e) {
|
|
2211
|
+
const [t, n] = e.split(":"), o = Number(t), a = Number(n);
|
|
2170
2212
|
return !Number.isInteger(o) || !Number.isInteger(a) || o < 0 || o > 23 || a < 0 || a > 59 ? null : o * 60 + a;
|
|
2171
2213
|
}
|
|
2172
|
-
setMenuOpen(
|
|
2173
|
-
this.menuEl.hidden = !
|
|
2214
|
+
setMenuOpen(e) {
|
|
2215
|
+
this.menuEl.hidden = !e, this.buttonEl.setAttribute("aria-expanded", String(e)), this.toggleAttribute("open", e);
|
|
2174
2216
|
}
|
|
2175
2217
|
}
|
|
2176
|
-
c(
|
|
2177
|
-
class
|
|
2218
|
+
c(G, "tag", "rs-whatsapp");
|
|
2219
|
+
class F extends HTMLElement {
|
|
2178
2220
|
}
|
|
2179
|
-
c(
|
|
2221
|
+
c(F, "tag", "rs-whatsapp-option");
|
|
2180
2222
|
class M extends HTMLElement {
|
|
2181
2223
|
}
|
|
2182
2224
|
c(M, "tag", "rs-whatsapp-schedule");
|
|
2183
|
-
|
|
2184
|
-
F
|
|
2185
|
-
|
|
2186
|
-
|
|
2225
|
+
_(I.tag, I);
|
|
2226
|
+
_(F.tag, F);
|
|
2227
|
+
_(M.tag, M);
|
|
2228
|
+
_(G.tag, G);
|
|
2187
2229
|
export {
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2230
|
+
I as RsMap,
|
|
2231
|
+
G as RsWhatsapp,
|
|
2232
|
+
F as RsWhatsappOption,
|
|
2191
2233
|
M as RsWhatsappSchedule,
|
|
2192
|
-
|
|
2234
|
+
_ as safeDefine
|
|
2193
2235
|
};
|
|
2194
2236
|
//# sourceMappingURL=rs-components.es.js.map
|