UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime

2 lines (1 loc) 3.62 kB
this.primereact=this.primereact||{},this.primereact.gmap=function(e,n,r,t){"use strict";function a(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}})),n.default=e,Object.freeze(n)}var o=a(n);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},l.apply(this,arguments)}function u(e,n){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=i(e))||n&&e&&"number"==typeof e.length){r&&(e=r);var t=0,a=function(){};return{s:a,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,l=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return l=e.done,e},e:function(e){u=!0,o=e},f:function(){try{l||null==r.return||r.return()}finally{if(u)throw o}}}}function i(e,n){if(e){if("string"==typeof e)return c(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,n):void 0}}function c(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,t=new Array(n);r<n;r++)t[r]=e[r];return t}var f=o.memo(o.forwardRef((function(e,n){var a=o.useRef(null),i=o.useRef(null),c=o.useRef(null),s=function(e){if(e){var n,r=u(e);try{for(r.s();!(n=r.n()).done;){var t=n.value;t.setMap(i.current),p(t)}}catch(e){r.e(e)}finally{r.f()}c.current=e}},p=function(n){n.addListener("click",(function(r){e.onOverlayClick&&e.onOverlayClick({originalEvent:r,overlay:n,map:i.current})})),n.getDraggable()&&d(n)},d=function(n){y(n,"dragstart",e.onOverlayDragStart),y(n,"drag",e.onOverlayDrag),y(n,"dragend",e.onOverlayDragEnd)},g=function(e,n){i.current.addListener(e,(function(e){n&&n(e)}))},y=function(e,n,r){e.addListener(n,(function(n){r&&r({originalEvent:n,overlay:e,map:i.current})}))},v=function(e){if(e){var n,r=u(e);try{for(r.s();!(n=r.n()).done;){var t=n.value;t.setMap(null),m(t)}}catch(e){r.e(e)}finally{r.f()}}},m=function(e){google.maps.event.clearListeners(e,"click"),e.getDraggable()&&(google.maps.event.clearListeners(e,"dragstart"),google.maps.event.clearListeners(e,"drag"),google.maps.event.clearListeners(e,"dragend"))},b=function(){return i.current};r.useMountEffect((function(){i.current=new google.maps.Map(a.current,e.options),e.onMapReady&&e.onMapReady({map:i.current}),s(e.overlays),g("click",e.onMapClick),g("dragend",e.onMapDragEnd),g("zoom_changed",e.onZoomChanged)})),r.useUpdateEffect((function(){return s(e.overlays),function(){v(c.current)}})),o.useImperativeHandle(n,(function(){return{props:e,getMap:b,getElement:function(){return a.current}}}));var O=t.ObjectUtils.findDiffKeys(e,f.defaultProps);return o.createElement("div",l({ref:a,style:e.style,className:e.className},O))})));return f.displayName="GMap",f.defaultProps={__TYPE:"GMap",options:null,overlays:null,style:null,className:null,onMapReady:null,onMapClick:null,onMapDragEnd:null,onZoomChanged:null,onOverlayDragStart:null,onOverlayDrag:null,onOverlayDragEnd:null,onOverlayClick:null},e.GMap=f,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.hooks,primereact.utils);