UNPKG

@jibestream-dev/jmap-mapui-kit

Version:

Kit for the Jibestream SDK to create a Map UI

1 lines 36.5 kB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["jmap-mapui-kit"]=e():t["jmap-mapui-kit"]=e()}(this,function(){return function(t){function e(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,o){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:o})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=8)}([function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),r=function(){function t(e,n){o(this,t),this.container=t._createComponentContainer(),this.component=t._createComponent(),this.uiKit=e,this.defaultOptions=this._getDefaultOptions(),this._updateOptions(n),this.uiKit.uiContainer.appendChild(this.container),this.container.appendChild(this.component)}return i(t,[{key:"updateComponent",value:function(t){this._updateOptions(t)}},{key:"_updateOptions",value:function(t){this.currentOptions||(this.currentOptions=Object.assign(this.defaultOptions,t)),this.currentOptions=Object.assign(this.currentOptions,t)}},{key:"generateCss",value:function(){return""}},{key:"_getCssFromStyle",value:function(t){var e="\n background: "+t.fill.toString(16)+";\n opacity: "+t.opacity+";\n ";if(t.stroke){var n=this._convertHexToRgb(t.stroke.toString(16));e+="border-color: "+("rgba("+n.r+", "+n.g+", "+n.b+", "+t.strokeOpacity+")")+";\n border-style: solid;\n border-width: "+t.strokeWidth+"px;\n "}return e}},{key:"_getCssFromFont",value:function(t){return"\n text-align: "+t.align+";\n font-family: "+t.fontFamily+";\n font-size: "+t.fontSize+"px;\n text-stroke: "+t.strokeWidth+" #"+t.stroke.toString(16)+";\n -webkit-text-stroke: "+t.strokeWidth+" #"+t.stroke.toString(16)+";\n color: "+t.fill.toString(16)+";\n "}},{key:"_getPositioningVars",value:function(t){var e=100*t.currentOptions.position[0]+"%",n=100*t.currentOptions.position[1]+"%";return{top:n,left:e,translateX:"-"+e,translateY:"-"+n,padding:t.currentOptions.padding.join("px ")+"px"}}},{key:"_getPositioningCss",value:function(t){var e=this._getPositioningVars(t),n=e.top,o=e.left,i=e.translateX,r=e.translateY,a=e.padding;return"\n ."+t.uiKit.className+" ."+t.componentName+" .component {\n top: "+n+";\n left: "+o+";\n transform: translateX("+i+") translateY("+r+");\n padding: "+a+";\n box-sizing: border-box;\n }\n "}},{key:"_convertHexToRgb",value:function(t){var e=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,n=t.replace(e,function(t,e,n,o){return e+e+n+n+o+o}),o=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(n);return o?{r:parseInt(o[1],16),g:parseInt(o[2],16),b:parseInt(o[3],16)}:null}},{key:"_getDefaultOptions",value:function(){return{}}}],[{key:"_createComponentContainer",value:function(t){var e=document.createElement("div");return e.classList.add("container"),e}},{key:"_createComponent",value:function(){var t=document.createElement("div");return t.classList.add("component"),t}}]),t}();e.default=r},function(t,e,n){"use strict";var o,i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};o=function(){return this}();try{o=o||Function("return this")()||(0,eval)("this")}catch(t){"object"===("undefined"==typeof window?"undefined":i(window))&&(o=window)}t.exports=o},function(t,e,n){"use strict";(function(e){function o(t){return t&&t.__esModule?t:{default:t}}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var r=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),a=n(3),s=o(a),c=n(7),l=o(c),p=n(4),u=o(p),d=n(5),h=o(d),f=n(6),m=o(f),y=function(){function t(n){var o=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(i(this,t),n instanceof e.jmap.JController==!1)throw new Error("MapUIKit uses JController as its first argument.");return this._={},this._.control=n,this._.control.activeVenue.template?this._.uiKitStyle=this.parseTemplate(this._.control.activeVenue.template.uiKitStyle):this._.uiKitStyle=null,this.allowConcurrentPopups=r.allowConcurrentPopups,this.className=r.className||"map-ui-container",this.padding=r.padding||[0,0,0,0],this.uiContainer=document.createElement("div"),this.uiContainer.classList.add(this.className),this._.control.stage.stageContainer.appendChild(this.uiContainer),this._updateCSS(),this._.control.jungle.util.hasPercentageDimensions(this._.control.stage._width,this._.control.stage._height)&&this._.control.jungle.util.addResizeListener(function(){o._updateContainerSize()}),this}return r(t,[{key:"renderCompass",value:function(t){return this.compass?this.compass.updateComponent(t):this.compass=new s.default(this,t),this._updateCSS(),this.compass.container}},{key:"renderFloorSelector",value:function(t){return this.floorSelector?this.floorSelector.updateComponent(t):this.floorSelector=new u.default(this,t),this._updateCSS(),this.floorSelector.container}},{key:"renderZoomButtons",value:function(t){return this.zoomButtons?this.zoomButtons.updateComponent(t):this.zoomButtons=new l.default(this,t),this._updateCSS(),this.zoomButtons.container}},{key:"renderSearch",value:function(t){return this.search?this.search.updateComponent(t):this.search=new m.default(this,t),this._updateCSS(),this.search.container}},{key:"renderPopup",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.popups=this.popups||[],!this.allowConcurrentPopups&&this.popups.length){var e=this.popups[0].currentOptions.map;this._.control.removeComponent(this.popups[0].container,e),this.popups=[]}return this.popups.push(new h.default(this,t)),this._updateCSS(),this.popups[this.popups.length-1].container}},{key:"parseTemplate",value:function(t){var e={floorSelector:{},zoom:{},popup:{},search:{},compass:{}};t.floorSelector.maxHeight&&(e.floorSelector.maxHeight=t.floorSelector.maxHeight),t.floorSelector.vertical&&(e.floorSelector.vertical=t.floorSelector.vertical),t.popup.titleTextFont&&(e.popup.titleTextFont=new jmap.Font(t.popup.titleTextFont)),t.popup.subTextFont&&(e.popup.subTextFont=new jmap.Font(t.popup.subTextFont)),t.popup.actionButtonStyle&&(e.popup.actionButtonStyle=new jmap.Style(t.popup.actionButtonStyle)),t.popup.actionButtonTextFont&&(e.popup.actionButtonTextFont=new jmap.Font(t.popup.actionButtonTextFont)),t.popup.showActionButton&&(e.popup.showActionButton=t.popup.showActionButton),t.popup.popupStyle&&(e.popup.popupStyle=new jmap.Style(t.popup.popupStyle)),t.compass.width&&(e.compass.width=t.compass.width),t.compass.height&&(e.compass.height=t.compass.height);var n=[{name:"activeFont",type:"Font"},{name:"inactiveFont",type:"Font"},{name:"activeStyle",type:"Style"},{name:"inactiveStyle",type:"Style"},{name:"padding"},{name:"position"}];return["floorSelector","zoom","search","compass"].forEach(function(o){n.forEach(function(n){t[o][n.name]&&(n.type?e[o][n.name]=new jmap[n.type](t[o][n.name]):e[o][n.name]=t[o][n.name])})}),e}},{key:"_updateContainerSize",value:function(){var t=this._.control.stage.getClientRect();this.uiContainer.style.width=t.width+"px",this.uiContainer.style.height=t.height+"px"}},{key:"_updateCSS",value:function(){this._updateContainerSize(),this._.cssElement&&(this._.cssElement.parentNode.removeChild(this._.cssElement),delete this._.cssElement);var t="\n /* General */\n ."+this.className+" {\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n box-sizing: border-box;\n }\n\n ."+this.className+" .container {\n width: 100%;\n height: 100%;\n top: 0;\n left: 0;\n display: block;\n position: absolute;\n box-sizing: border-box;\n }\n\n ."+this.className+" .component {\n display: table;\n line-height: 1;\n pointer-events: auto;\n position: relative;\n }\n ";this.compass&&(t+=this.compass.generateCss()),this.zoomButtons&&(t+=this.zoomButtons.generateCss()),this.floorSelector&&(t+=this.floorSelector.generateCss()),this.popups&&this.popups.length&&(t+=this.popups[0].generateCss()),this.search&&(t+=this.search.generateCss()),this._.cssElement=document.createElement("style"),this._.cssElement.innerHTML=t,document.head.appendChild(this._.cssElement)}}]),t}();t.exports=y}).call(e,n(1))},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),s=n(0),c=function(t){return t&&t.__esModule?t:{default:t}}(s),l=function(t){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e);var r=t._.uiKitStyle?Object.assign(t._.uiKitStyle.compass,n):n,a=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,r));a.componentName=r.className||"compass",a.container.classList.add(a.componentName);var s=document.createElement("img");return s.onclick=a.currentOptions.resetRotationOnTap?a.resetCompass.bind(a):null,a.component.appendChild(s),r.svgIcon&&!r.rotatedSvgIcon&&(a.currentOptions.rotatedSvgIcon=r.svgIcon),a._updateCompassRotation(),a}return r(e,t),a(e,[{key:"updateComponent",value:function(t){this._updateOptions(t);var e=this.component.querySelector("img");e.src=this.currentOptions.svgIcon,e.onclick=this.currentOptions.resetRotationOnTap?this.resetCompass.bind(this):null}},{key:"generateCss",value:function(){var t=this._getPositioningCss(this),e=this.currentOptions.width,n=this.currentOptions.height,o=this.uiKit.className,i=this.uiKit.padding.join("px ")+"px";return t+="\n ."+o+" ."+this.componentName+" {\n padding: "+i+";\n }\n\n ."+o+" ."+this.componentName+" .component {\n line-height: 0;\n }\n\n ."+o+" ."+this.componentName+" img {\n width: "+e+"px;\n height: "+n+"px;\n }\n "}},{key:"resetCompass",value:function(){if("rotate(0deg)"!==this.component.querySelector("img").style.transform){var t=new jmap.Transform({rotation:0,animation:new jmap.Animation({duration:1})});this.uiKit._.control.setMapTransform(t)}}},{key:"_updateCompassRotation",value:function(){var t=this,e="rotate("+this.uiKit._.control.currentMapView.rotation+"deg)",n=this.component.querySelector("img");requestAnimationFrame(function(){if(e!==n.style.transform){n.style.transform=""+e;var o=t.component.querySelector("img");o.src="rotate(0deg)"===e?t.currentOptions.svgIcon:t.currentOptions.rotatedSvgIcon}t._updateCompassRotation()})}},{key:"_getDefaultOptions",value:function(){return{svgIcon:e._getCompassSvg(),rotatedSvgIcon:e._getRotatedCompassSvg(),resetRotationOnTap:!0,position:[1,0],padding:[0,0,0,0],width:50,height:50}}}],[{key:"_getCompassSvg",value:function(){return"data:image/svg+xml;base64,"+window.btoa('<?xml version="1.0" encoding="iso-8859-1"?>\n \x3c!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --\x3e\n <svg id="Compass_2_-_Locked" data-name="Compass 2 - Locked"\n \txmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t<defs>\n \t\t<style>.cls-1{opacity:0.8;}.cls-2{fill:#f5f5f5;}.cls-3{fill:none;stroke:#000;stroke-width:0.2px;opacity:0.2;}.cls-3,.cls-4{stroke-miterlimit:10;}.cls-4{fill:blue;stroke:blue;stroke-width:0.02px;}.cls-5{fill:#e6e6e6;opacity:0.6;}.cls-5,.cls-7,.cls-8{isolation:isolate;}.cls-6{fill:red;}.cls-7,.cls-8{fill:#3e2723;}.cls-7{opacity:0.2;}.cls-8{opacity:0.1;}</style>\n \t</defs>\n \t<title>Compass - locked state@100x</title>\n \t<g class="cls-1">\n \t\t<circle class="cls-2" cx="12" cy="12" r="10"/>\n \t\t<circle class="cls-3" cx="12" cy="12" r="10"/>\n \t</g>\n \t<circle class="cls-4" cx="12" cy="12" r="0.75"/>\n \t<path class="cls-5" d="M12,20,9.5,12A3.12,3.12,0,0,0,12,13.8,3.12,3.12,0,0,0,14.5,12Z"/>\n \t<path class="cls-6" d="M12,4,9.5,12A3.12,3.12,0,0,1,12,10.2,3.12,3.12,0,0,1,14.5,12Z"/>\n \t<path class="cls-7" d="M12,10.2h0A3.13,3.13,0,0,1,14.5,12L12,4"/>\n \t<path class="cls-8" d="M12,13.8h0A3.13,3.13,0,0,0,14.5,12L12,20"/>\n </svg>')}},{key:"_getRotatedCompassSvg",value:function(){return"data:image/svg+xml;base64,"+window.btoa('<?xml version="1.0" encoding="iso-8859-1"?>\n \x3c!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --\x3e\n <svg id="Layer_1" data-name="Layer 1"\n \txmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n \t<defs>\n \t\t<style>.cls-1{opacity:0.8;}.cls-2{fill:#fff;}.cls-3{fill:none;stroke:#000;stroke-miterlimit:10;stroke-width:0.2px;opacity:0.2;}.cls-4,.cls-8{opacity:0.1;}.cls-4,.cls-5,.cls-7,.cls-8{isolation:isolate;}.cls-5{fill:#e6e6e6;opacity:0.6;}.cls-6{fill:red;}.cls-7,.cls-8{fill:#3e2723;}.cls-7{opacity:0.2;}</style>\n \t</defs>\n \t<title>Compass - icon</title>\n \t<g id="Compass_2_-_Traditional" data-name="Compass 2 - Traditional">\n \t\t<g class="cls-1">\n \t\t\t<circle class="cls-2" cx="12" cy="12" r="10"/>\n \t\t\t<circle class="cls-3" cx="12" cy="12" r="10"/>\n \t\t</g>\n \t\t<circle class="cls-4" cx="12" cy="12" r="0.75"/>\n \t\t<path class="cls-5" d="M12,20,9.5,12A3.12,3.12,0,0,0,12,13.8,3.12,3.12,0,0,0,14.5,12Z"/>\n \t\t<path class="cls-6" d="M12,4,9.5,12A3.12,3.12,0,0,1,12,10.2,3.12,3.12,0,0,1,14.5,12Z"/>\n \t\t<path class="cls-7" d="M12,10.2h0A3.13,3.13,0,0,1,14.5,12L12,4"/>\n \t\t<path class="cls-8" d="M12,13.8h0A3.13,3.13,0,0,0,14.5,12L12,20"/>\n \t</g>\n </svg>')}}]),e}(c.default);e.default=l},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function a(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e<t.length;e++)n[e]=t[e];return n}return Array.from(t)}Object.defineProperty(e,"__esModule",{value:!0});var s=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),c=n(0),l=function(t){return t&&t.__esModule?t:{default:t}}(c),p=function(t){var e=t.container,n=t.childSelector,o=t.getScore,i=t.ascending,r=t.vertical,s=t.ltr,c=r&&i||!r&&!s||!r&&i&&!s;[].concat(a(e.querySelectorAll(n))).sort(function(t,e){return c?o(e)-o(t):o(t)-o(e)}).forEach(function(t){return e.appendChild(t)})},u=function(t){function e(t){function n(t){var e=t.toElement||t.relatedTarget||{};if(e.parentNode!=this&&e!=this){var n={scrollTop:c.scrollTop};Tweeny.to(n,500,{scrollTop:c.scrollHeight,onUpdate:function(){c.scrollTop=n.scrollTop}})}}var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e);var a=t._.uiKitStyle?Object.assign(t._.uiKitStyle.floorSelector,r):r,s=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,a));s.componentName=a.className||"floor-selector",s.container.classList.add(s.componentName);var c=document.createElement("div");c.classList.add("floors"),c.addEventListener("mouseout",n,!0),s.component.appendChild(c);var l=s.uiKit._.control.activeVenue.buildings.getDefault().floors.getAll(),p=(l.map(function(t,e){var n=document.createElement("div");n.setAttribute("data-order",t.level),n.innerHTML=t.shortName,n.setAttribute("data-map-id",t.map.id),n.onclick=function(t){var e=t.currentTarget.getAttribute("data-map-id");if(s.uiKit._.control.currentMap.id!==+e){var n=s.uiKit._.control.activeVenue.maps.getById(+e);n&&s.uiKit._.control.showMap(n),s.updateActiveElement()}},c.appendChild(n)}),document.createElement("div"));return p.setAttribute("data-order","-1"),p.classList.add("active"),c.appendChild(p),requestAnimationFrame(function(){c.scrollTop=c.scrollHeight}),s.updateComponent(a),jmap.dispatcher.subscribe("JMAP_CONTROLLER_MAP_SHOW",function(t,e){if(t&&t.mapId){s.uiKit._.control.activeVenue.maps.getById(t.mapId)&&s.updateActiveElement()}}),s}return r(e,t),s(e,[{key:"updateActiveElement",value:function(){var t=this.uiKit._.control.activeVenue.buildings.getFloorByMap(this.uiKit._.control.currentMap),e=this.component.querySelector('.floors > div[data-order="-1"]');e.innerHTML=t.shortName||"",e.setAttribute("data-map-id",t.map.id)}},{key:"updateComponent",value:function(t){this._updateOptions(t);this.uiKit._.control.activeVenue.buildings.getDefault().floors.getAll();p({container:this.component.querySelector(".floors"),childSelector:"div",getScore:function(t){return parseInt(t.getAttribute("data-order"))},ascending:this.isAscending(),ltr:this.isLtr(),vertical:this.currentOptions.vertical});for(var e=this.component.querySelectorAll(".floors > div"),n=0;n<e.length;++n){var o=e[n],i=this.currentOptions.vertical?"Y":"X",r=this.isAscending()&&this.currentOptions.vertical||!this.currentOptions.vertical&&!this.isLtr()?"":"-";if(this.currentOptions.vertical)if(this.isAscending()){var a="translate"+i+"("+r+100*(e.length-n-1)+"%)";o.style.transform=a}else{var s="translate"+i+"("+r+100*n+"%)";o.style.transform=s}else if(this.isAscending())if(this.isLtr()){var c="translate"+i+"("+r+100*n+"%)";o.style.transform=c}else{var l="translate"+i+"("+r+100*(e.length-n-1)+"%)";o.style.transform=l}else if(this.isLtr()){var u="translate"+i+"("+r+100*n+"%)";o.style.transform=u}else{var d="translate"+i+"("+r+100*(e.length-n-1)+"%)";o.style.transform=d}}this.updateActiveElement()}},{key:"generateCss",value:function(){var t=this._getPositioningCss(this),e=this.uiKit.className,n=this.currentOptions.vertical,o=this.isLtr(),i=this.isAscending(),r=n&&i||!n&&!o||!n&&i&&!o,a=r?"last-child":"first-child",s=this.currentOptions.vertical?"10px 0":"0 10px",c=this.currentOptions.vertical?"block":"inline-block",l=this.uiKit.padding.join("px ")+"px",p=this.currentOptions;return t+="\n ."+e+" ."+this.componentName+" {\n padding: "+l+";\n }\n\n ."+e+" ."+this.componentName+" .floors {\n overflow: auto;\n }\n ."+e+" ."+this.componentName+" .floors > div {\n margin: "+s+";\n position: relative;\n transition: opacity 0.25s, transform 0.25s;\n padding: 10px;\n cursor: pointer;\n border-radius: 5px;\n display: "+c+";\n "+this._getCssFromFont(p.inactiveFont)+"\n "+this._getCssFromStyle(p.inactiveStyle)+"\n opacity: 0;\n }\n\n ."+e+" ."+this.componentName+" .floors > div:hover,\n ."+e+" ."+this.componentName+" .floors > .active {\n "+this._getCssFromFont(p.activeFont)+"\n "+this._getCssFromStyle(p.activeStyle)+"\n }\n\n\n ."+e+" ."+this.componentName+" .floors > div:first-child {\n margin-top: 0;\n }\n\n ."+e+" ."+this.componentName+" .floors > div:"+a+" {\n opacity: 1;\n z-index: 1;\n }\n\n div."+e+" ."+this.componentName+" .floors {\n pointer-events: none;\n }\n\n div."+e+" ."+this.componentName+" .floors > .active {\n pointer-events: auto;\n }\n\n div."+e+" ."+this.componentName+" .floors:hover {\n pointer-events: auto;\n }\n\n ."+e+" ."+this.componentName+" .floors:hover > div {\n opacity: 1;\n transform: translateY(0) translateX(0) !important;\n }\n\n ."+e+" ."+this.componentName+" .floors > div:last-child {\n margin-bottom: 0;\n }\n "}},{key:"_getDefaultOptions",value:function(){return{inactiveStyle:new jmap.Style({fill:"#FFFFFF",opacity:1,stroke:"",strokeWidth:0,strokeOpacity:1}),inactiveFont:new jmap.Font({fill:"#313131",fontFamily:"Helvetica, Arial, sans-serif",fontSize:24}),activeStyle:new jmap.Style({fill:"#3E4EB8",opacity:1,stroke:"",strokeWidth:0,strokeOpacity:1}),activeFont:new jmap.Font({fill:"#FFFFFF",fontFamily:"Helvetica, Arial, sans-serif",fontSize:24}),position:[1,1],padding:[0,0,0,0],vertical:!0}}},{key:"isAscending",value:function(){return this.currentOptions.position[1]>=.5}},{key:"isLtr",value:function(){return this.currentOptions.position[0]<.5}}]),e}(l.default);e.default=u},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),s=n(0),c=function(t){return t&&t.__esModule?t:{default:t}}(s),l=function(t){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e);var r=t._.uiKitStyle?Object.assign(t._.uiKitStyle.popup,n):n,a=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,r));a.componentName=r.className||"popup",a.container.classList.add(a.componentName);var s=document.createElement("div");s.id="popup-box";var c=document.createElement("a");c.classList.add("close"),c.innerHTML="x",c.onclick=a.closePopup.bind(a);var l=document.createElement("h2");l.id="popup-title";var p=document.createElement("p");p.id="popup-subtitle";var u=document.createElement("a");return u.id="popup-action",s.appendChild(c),s.appendChild(l),s.appendChild(p),s.appendChild(u),a.component.appendChild(s),r.metadata&&(a.metadata=n.metadata),a.updateComponent(a.currentOptions),a}return r(e,t),a(e,[{key:"closePopup",value:function(){this.uiKit._.control.removeComponent(this.container,this.currentOptions.map)}},{key:"updateComponent",value:function(t){var e=this;this._updateOptions(t);var n=this.container,o=this.currentOptions;n.querySelector("#popup-title").innerHTML=o.titleText,n.querySelector("#popup-subtitle").innerHTML=o.subText,n.querySelector("#popup-action").innerHTML=o.actionButtonText,n.querySelector("#popup-action").onclick=function(t){o.actionButtonCallback(t,e)},this.uiKit._.control.addComponent(n,this.currentOptions.map,this.currentOptions.coordinates)}},{key:"generateCss",value:function(){var t=this.currentOptions,e=t.showActionButton?"block":"none",n=this.uiKit.padding.join("px ")+"px";return"\n ."+this.uiKit.className+" ."+this.componentName+" {\n padding: "+n+";\n }\n\n ."+this.componentName+" {\n pointer-events: none !important;\n }\n\n ."+this.componentName+" .component {\n "+this._getCssFromStyle(t.popupStyle)+"\n transform: translateX(-50%) translateY(-100%);\n position: relative;\n margin-top: -10px;\n padding: 20px;\n border-radius: 5px;\n pointer-events: auto;\n }\n\n ."+this.componentName+" h2 {\n margin-top: 0;\n margin-bottom: 8px;\n "+this._getCssFromFont(t.titleTextStyle)+"\n }\n\n ."+this.componentName+" p {\n margin-bottom: 16px;\n "+this._getCssFromFont(t.subTextStyle)+"\n }\n\n ."+this.componentName+" #popup-action {\n border-radius: 5px;\n padding: 6px 8px;\n text-align: center;\n "+this._getCssFromStyle(t.actionButtonStyle)+"\n "+this._getCssFromFont(t.actionButtonTextStyle)+"\n display: "+e+";\n }\n\n ."+this.componentName+" #action-popup: hover {\n text-decoration: none;\n cursor: pointer;\n }\n\n ."+this.componentName+" .close {\n position: absolute;\n top: 0;\n right: 0;\n margin: 5px 8px;\n font-family: arial;\n color: #A0A0A0;\n font-size: 14px;\n cursor: pointer;\n }\n\n ."+this.componentName+" .component:after{\n content: '';\n position: absolute;\n top: 100%;\n left: 50%;\n margin-left: -10px;\n border-width: 10px;\n border-style: solid;\n border-color: #FFFFFF transparent transparent transparent;\n }\n "}},{key:"_getDefaultOptions",value:function(){return{map:this.uiKit._.control.currentMap,coordinates:[],titleText:"",titleTextStyle:new jmap.Font({fontFamily:"Helvetica, Arial, sans-serif",fontSize:20,fill:"#121212",align:"left"}),subText:"",subTextStyle:new jmap.Font({fontFamily:"Helvetica, Arial, sans-serif",fontSize:12,fill:"#313131",align:"left"}),showActionButton:!1,actionButtonText:"",actionButtonTextStyle:new jmap.Font({fontFamily:"Helvetica, Arial, sans-serif",fontSize:16,fill:"#FFFFFF"}),actionButtonInactiveStyle:new jmap.Style({fill:"#1A6FD3"}),actionButtonStyle:new jmap.Style({fill:"#157EFB"}),actionButtonCallback:function(){},popupStyle:new jmap.Style({fill:"#FFFFFF",stroke:null,strokeWidth:0,strokeOpacity:0,opacity:1})}}}]),e}(c.default);e.default=l},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),s=n(0),c=function(t){return t&&t.__esModule?t:{default:t}}(s),l=function(t){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e);var r=t._.uiKitStyle?Object.assign(t._.uiKitStyle.search,n):n,a=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,r));a.componentName=r.className||"search",a.container.classList.add(a.componentName);var s=document.createElement("div");s.classList.add("search-control");var c=document.createElement("span");c.classList.add("search-icon-container");var l=document.createElement("i");l.classList.add("search-icon");var p=document.createElement("img");p.src=a._getSearchSvg(),p.width=16,p.height=16,p.style.margin="6px",l.appendChild(p);var u=document.createElement("input");u.classList.add("search-input"),u.placeholder=a.currentOptions.placeholder;var d=document.createElement("div");return d.classList.add("search-results-container"),c.appendChild(l),s.appendChild(c),s.appendChild(u),a.currentOptions.position[1]>.5?(a.component.appendChild(d),a.component.appendChild(s)):(a.component.appendChild(s),a.component.appendChild(d)),u.addEventListener("keyup",function(t){var e=a.component.querySelector(".search-results-container"),n=e.cloneNode(!1);e.parentNode.replaceChild(n,e);var o=u.value;a._updateResultsWithQuery(o)}),a}return r(e,t),a(e,[{key:"_updateResultsWithQuery",value:function(t){var e=this,n=this.currentOptions,o=n.searchArray,i=n.maxResults;jmap.JController.getObjectsInArrayByString(o,t,[],i).forEach(function(t){var o=document.createElement("a");o.dataset.id=t.id,o.classList.add("search-result"),o.innerHTML=t.name,o.onclick=function(o){var i=e.component.querySelector(".search-results-container"),r=i.cloneNode(!1);i.parentNode.replaceChild(r,i),n.onSelect(o,t)},e.component.querySelector(".search-results-container").appendChild(o)})}},{key:"updateComponent",value:function(t){this._updateOptions(t)}},{key:"generateCss",value:function(){var t=this._getPositioningCss(this),e=this.uiKit.className,n=this.currentOptions,o=this.uiKit.padding.join("px ")+"px";return t+="\n ."+e+" ."+this.componentName+" {\n padding: "+o+";\n }\n\n ."+e+" ."+this.componentName+" .search-control {\n width: 100%;\n padding-left: 30px;\n box-sizing: border-box;\n position: relative;\n }\n\n ."+e+" ."+this.componentName+" .search-input {\n display: block;\n width: 100%;\n box-sizing: border-box;\n padding: 8px;\n border-radius: 0 5px 5px 0;\n border: 1px solid #CCCCCC;\n outline: none;\n }\n\n ."+e+" ."+this.componentName+" .search-input:focus {\n border-color: #777777;\n }\n\n ."+e+" ."+this.componentName+" .component {\n width: 100%;\n }\n\n ."+e+" ."+this.componentName+" span.search-icon-container {\n position: absolute;\n left: 0;\n top: 0;\n width: 30px;\n height: 100%;\n background: #E9ECEF;\n border-radius: 5px 0 0 5px;\n border: 1px solid #CCCCCC;\n border-right: none;\n box-sizing: border-box;\n }\n\n ."+e+" ."+this.componentName+" .search-results-container a{\n display: block;\n padding: 10px;\n cursor: pointer;\n "+this._getCssFromFont(n.inactiveFont)+"\n "+this._getCssFromStyle(n.inactiveStyle)+"\n text-align: left;\n }\n\n ."+e+" ."+this.componentName+" .search-results-container a:hover {\n "+this._getCssFromFont(n.activeFont)+"\n "+this._getCssFromStyle(n.activeStyle)+"\n text-align: left;\n }\n "}},{key:"_getDefaultOptions",value:function(){return{inactiveStyle:new jmap.Style({fill:"#FFFFFF",stroke:"#DFDFDF",strokeWidth:1,strokeOpacity:1}),inactiveFont:new jmap.Font({fill:"#313131",fontFamily:"Helvetica, Arial, sans-serif",align:"left",fontSize:16}),activeStyle:new jmap.Style({fill:"#DFDFDF",stroke:"#DFDFDF",strokeWidth:1,strokeOpacity:1}),activeFont:new jmap.Font({fill:"#000000",fontFamily:"Helvetica, Arial, sans-serif",align:"left",fontSize:16}),position:[1,0],placeholder:"Search...",searchArray:this.uiKit._.control.activeVenue.destinations.getAll().map(function(t){return t.export()}),maxResults:5,onSelect:function(){},padding:[0,0,0,0]}}},{key:"_getSearchSvg",value:function(){return"data:image/svg+xml;base64,"+window.btoa('<svg aria-hidden="true" data-prefix="fas" data-icon="search" role="img"\n \txmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" class="svg-inline--fa fa-search fa-w-16 fa-5x">\n \t<path fill="#777777" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z" class=""></path>\n </svg>')}}]),e}(c.default);e.default=l},function(t,e,n){"use strict";function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function r(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var a=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),s=n(0),c=function(t){return t&&t.__esModule?t:{default:t}}(s),l=function(t){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e);var r=t._.uiKitStyle?Object.assign(t._.uiKitStyle.zoom,n):n,a=i(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,r));a.componentName=r.className||"zoom-buttons",a.container.classList.add(a.componentName);var s=document.createElement("div"),c=function(){a.uiKit._.control.scaleMapByPercent(.35)};s.innerHTML=a.currentOptions.zoomInText,s.onclick=c.bind(a),s.setAttribute("data-zoom","in");var l=document.createElement("div"),p=function(){a.uiKit._.control.scaleMapByPercent(-.35)};return l.innerHTML=a.currentOptions.zoomOutText,l.onclick=p.bind(a),l.setAttribute("data-zoom","out"),a.component.appendChild(s),a.component.appendChild(l),a}return r(e,t),a(e,[{key:"updateComponent",value:function(t){this._updateOptions(t);var e=this.component.querySelector('[data-zoom="in"]');e.innerHTML=this.currentOptions.zoomInText;this.component.querySelector('[data-zoom="out"]');e.innerHTML=this.currentOptions.zoomOutText}},{key:"generateCss",value:function(){var t=this._getPositioningCss(this),e=this.currentOptions,n=this.uiKit.className,o=this.uiKit.padding.join("px ")+"px";return t+="\n ."+n+" ."+this.componentName+" {\n padding: "+o+";\n }\n\n ."+n+" ."+this.componentName+" [data-zoom] {\n padding: 10px 12px;\n background: #000000;\n text-align: center;\n cursor: pointer;\n display: block;\n border-radius: 6px 6px 0 0;\n "+this._getCssFromFont(e.inactiveFont)+"\n "+this._getCssFromStyle(e.inactiveStyle)+"\n }\n\n ."+n+" ."+this.componentName+" [data-zoom]:last-child {\n border-radius: 0 0 6px 6px;\n border-top: 0;\n }\n\n ."+n+" ."+this.componentName+" [data-zoom]:active,\n ."+n+" ."+this.componentName+" [data-zoom]:hover {\n "+this._getCssFromFont(e.activeFont)+"\n "+this._getCssFromStyle(e.activeStyle)+"\n }\n "}},{key:"_getDefaultOptions",value:function(){return{inactiveStyle:new jmap.Style({fill:"#FFFFFF",opacity:1,stroke:"",strokeWidth:0}),inactiveFont:new jmap.Font({fill:"#313131",fontFamily:"Helvetica, Arial, sans-serif",fontSize:24}),activeStyle:new jmap.Style({fill:"#3E4EB8",opacity:1,strokeWidth:0}),activeFont:new jmap.Font({fill:"#FFFFFF",fontFamily:"Helvetica, Arial, sans-serif",fontSize:24}),position:[0,1],zoomInText:"+",zoomOutText:"-",padding:[0,0,0,0]}}}]),e}(c.default);e.default=l},function(t,e,n){"use strict";(function(e){var o=n(2);e.MapUIKit=o,t.exports=o}).call(e,n(1))}])});