openstack-uicore-foundation 4.0.43 → 4.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/lib/components/attendance-tracker.js +1 -1
  2. package/lib/components/google-map.js +1 -1
  3. package/lib/components/index.js +1 -1
  4. package/lib/components/inputs/access-levels-input.js +1 -1
  5. package/lib/components/inputs/company-input.js +1 -1
  6. package/lib/components/inputs/country-dropdown.js +1 -1
  7. package/lib/components/inputs/country-input.js +1 -1
  8. package/lib/components/inputs/event-input.js +1 -1
  9. package/lib/components/inputs/group-input.js +1 -1
  10. package/lib/components/inputs/language-input.js +1 -1
  11. package/lib/components/inputs/member-input.js +1 -1
  12. package/lib/components/inputs/operator-input.js +1 -0
  13. package/lib/components/inputs/organization-input.js +1 -1
  14. package/lib/components/inputs/registration-company-input.js +1 -1
  15. package/lib/components/inputs/speaker-input.js +1 -1
  16. package/lib/components/inputs/sponsor-input.js +1 -1
  17. package/lib/components/inputs/summit-input.js +1 -1
  18. package/lib/components/inputs/tag-input.js +1 -1
  19. package/lib/components/inputs/ticket-types-input.js +1 -1
  20. package/lib/components/simple-link-list.js +1 -1
  21. package/lib/components/sponsored-project-input.js +1 -0
  22. package/lib/components/table-sortable.js +1 -1
  23. package/lib/components/table.js +1 -1
  24. package/lib/css/components/index.css +1 -1
  25. package/lib/security/abstract-auth-callback-route.js +1 -1
  26. package/lib/security/actions.js +1 -1
  27. package/lib/security/constants.js +1 -0
  28. package/lib/security/methods.js +1 -1
  29. package/lib/security/session-checker.js +1 -1
  30. package/lib/utils/query-actions.js +1 -1
  31. package/lib/utils/use-fit-text.js +1 -1
  32. package/package.json +1 -1
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={4341:(e,o,t)=>{t(4656),t(4054),t(6793),t(8576)},8576:(e,o,t)=>{t.d(o,{getAccessToken:()=>p});var n=t(6793);t(4824);const r=require("browser-tabs-lock");var s=t.n(r);t(6530),t(3856),t(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);const i=new(s()),a="openstackuicore.lock.getTokenSilently",c="code",d="authInfo",u="nonce",l="pkce",p=async()=>{if(await(0,n.retryPromise)((()=>i.acquireLock(a,5e3)),10))try{let e=m();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,s=h(),d=Math.floor(Date.now()/1e3);if(t-=20,d-n>t||null==o){if(console.log("getAccessToken access token expired"),s===c&&k()){if(!r)throw y(),Error("missing Refresh Token");let e=await f(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),w(o,t,n),o}throw y(),Error("Access Token Expired.")}return o}finally{await i.releaseLock(a)}throw Error("Lock acquire error.")},f=async e=>{let o=_(),t=g();const r={grant_type:"refresh_token",client_id:encodeURI(t),refresh_token:e};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{if(400===e.status){(0,n.getCurrentPathName)();throw(0,n.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),t=await e.json();let{access_token:s,refresh_token:i,expires_in:a}=t;return{access_token:s,refresh_token:i,expires_in:a}}catch(e){throw console.log(e),e}},w=(e,o,t=null,r=null)=>{let s=m(),i={accessToken:e,expiresIn:o,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===t&&s&&(t=s.refreshToken),null===r&&s&&(r=s.idToken),t&&(i.refreshToken=t),r&&(i.idToken=r),(0,n.putOnLocalStorage)(d,JSON.stringify(i))},m=()=>{try{let e=(0,n.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},y=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(d),(0,n.removeFromLocalStorage)(u),void(0,n.removeFromLocalStorage)(l)},g=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,h=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",k=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),_=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,o,t)=>{t(4824),t(6530),t(271),t(4656),t(6793),t(4341),t(8576);const n=e=>o=>({type:e,payload:o});n("RESET_LOADING"),n("START_LOADING"),n("STOP_LOADING")},6793:(e,o,t)=>{t.d(o,{getCurrentPathName:()=>n,getFromLocalStorage:()=>s,putOnLocalStorage:()=>r,removeFromLocalStorage:()=>i,retryPromise:()=>c,setSessionClearingState:()=>a});t(8362),t(6530);const n=()=>"undefined"!=typeof window?window.location.pathname:null,r=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},s=(e,o)=>{if("undefined"!=typeof window){let t=window.localStorage.getItem(e);return o&&(console.log(`getFromLocalStorage removing key ${e}`),i(e)),t}return null},i=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},a=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},c=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var s=o[n]={exports:{}};return e[n](s,s.exports,t),s.exports}(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{t.r(n),t.d(n,{default:()=>l});var e=t(6689),o=t.n(e),r=t(580),s=t.n(r),i=t(4824),a=t.n(i),c=t(8576);function d(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}class u extends o().Component{constructor(...e){super(...e),d(this,"trackEnter",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();a().put(`${e}/api/v1/summits/${o}/metrics/enter`).send({access_token:s,type:n,source_id:t,location:r}).end((()=>console.log("ENTER PAGE")))}catch(e){console.log(e)}})),d(this,"trackLeave",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();a().post(`${e}/api/v1/summits/${o}/metrics/leave`).send({access_token:s,type:n,source_id:t,location:r}).end((()=>console.log("LEFT PAGE")))}catch(e){console.log(e)}})),d(this,"onBeforeUnload",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();return void navigator.sendBeacon(`${e}/api/v1/summits/${o}/metrics/leave?access_token=${s}&type=${n}&source_id=${t}&location=${r}`,{})}catch(e){console.log(e)}})),d(this,"getLocation",(()=>"undefined"!=typeof window?encodeURIComponent(window.location.href):""))}componentDidMount(){const{trackEnter:e,onBeforeUnload:o}=this;e(),"undefined"!=typeof window&&window.addEventListener("beforeunload",o)}componentWillUnmount(){const{trackLeave:e,onBeforeUnload:o}=this;e(),"undefined"!=typeof window&&window.removeEventListener("beforeunload",o)}render(){return null}}u.propTypes={sourceName:s().string,sourceId:s().number,summitId:s().number.isRequired,apiBaseUrl:s().string.isRequired},u.defaultProps={sourceId:0,sourceName:"GENERAL"};const l=u})(),n})()));
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={4341:(e,o,t)=>{t(4656),t(4054),t(6793),t(8576)},1593:(e,o,t)=>{t.d(o,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>i,AUTH_ERROR_MISSING_AUTH_INFO:()=>n,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>r,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>a});const n="AUTH_ERROR_MISSING_AUTH_INFO",r="AUTH_ERROR_MISSING_REFRESH_TOKEN",s="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",i="AUTH_ERROR_LOCK_ACQUIRE_ERROR",a="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,o,t)=>{t.d(o,{getAccessToken:()=>p});var n=t(6793);t(4824);const r=require("browser-tabs-lock");var s=t.n(r);t(6530),t(3856),t(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var i=t(1593);const a=new(s()),c="openstackuicore.lock.getTokenSilently",d="code",u="authInfo",l="nonce",_="pkce",p=async()=>{if(await(0,n.retryPromise)((()=>a.acquireLock(c,5e3)),10))try{let e=f();if(!e)throw Error(i.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,s=T(),u=Math.floor(Date.now()/1e3);if(t-=20,u-n>t||null==o){if(console.log("getAccessToken access token expired"),s===d&&y()){if(!r)throw w(),Error(i.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await R(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),E(o,t,n),o}throw w(),Error(i.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return o}finally{await a.releaseLock(c)}throw Error(i.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},R=async e=>{let o=S(),t=m();const r={grant_type:"refresh_token",client_id:encodeURI(t),refresh_token:e};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{if(400===e.status){(0,n.getCurrentPathName)();throw(0,n.setSessionClearingState)(!0),Error(`${i.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${i.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),t=await e.json();let{access_token:s,refresh_token:a,expires_in:c}=t;return{access_token:s,refresh_token:a,expires_in:c}}catch(e){throw console.log(e),e}},E=(e,o,t=null,r=null)=>{let s=f(),i={accessToken:e,expiresIn:o,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===t&&s&&(t=s.refreshToken),null===r&&s&&(r=s.idToken),t&&(i.refreshToken=t),r&&(i.idToken=r),(0,n.putOnLocalStorage)(u,JSON.stringify(i))},f=()=>{try{let e=(0,n.getFromLocalStorage)(u,!1);return e?JSON.parse(e):null}catch(e){return null}},w=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(u),(0,n.removeFromLocalStorage)(l),void(0,n.removeFromLocalStorage)(_)},m=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,T=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",y=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),S=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,o,t)=>{t(4824),t(6530),t(271),t(4656),t(6793),t(4341),t(8576);const n=e=>o=>({type:e,payload:o});n("RESET_LOADING"),n("START_LOADING"),n("STOP_LOADING")},6793:(e,o,t)=>{t.d(o,{getCurrentPathName:()=>n,getFromLocalStorage:()=>s,putOnLocalStorage:()=>r,removeFromLocalStorage:()=>i,retryPromise:()=>c,setSessionClearingState:()=>a});t(8362),t(6530);const n=()=>"undefined"!=typeof window?window.location.pathname:null,r=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},s=(e,o)=>{if("undefined"!=typeof window){let t=window.localStorage.getItem(e);return o&&(console.log(`getFromLocalStorage removing key ${e}`),i(e)),t}return null},i=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},a=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},c=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var s=o[n]={exports:{}};return e[n](s,s.exports,t),s.exports}(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{t.r(n),t.d(n,{default:()=>l});var e=t(6689),o=t.n(e),r=t(580),s=t.n(r),i=t(4824),a=t.n(i),c=t(8576);function d(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}class u extends o().Component{constructor(...e){super(...e),d(this,"trackEnter",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();a().put(`${e}/api/v1/summits/${o}/metrics/enter`).send({access_token:s,type:n,source_id:t,location:r}).end((()=>console.log("ENTER PAGE")))}catch(e){console.log(e)}})),d(this,"trackLeave",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();a().post(`${e}/api/v1/summits/${o}/metrics/leave`).send({access_token:s,type:n,source_id:t,location:r}).end((()=>console.log("LEFT PAGE")))}catch(e){console.log(e)}})),d(this,"onBeforeUnload",(async()=>{const{apiBaseUrl:e,summitId:o,sourceId:t,sourceName:n}=this.props,r=this.getLocation();try{const s=await(0,c.getAccessToken)();return void navigator.sendBeacon(`${e}/api/v1/summits/${o}/metrics/leave?access_token=${s}&type=${n}&source_id=${t}&location=${r}`,{})}catch(e){console.log(e)}})),d(this,"getLocation",(()=>"undefined"!=typeof window?encodeURIComponent(window.location.href):""))}componentDidMount(){const{trackEnter:e,onBeforeUnload:o}=this;e(),"undefined"!=typeof window&&window.addEventListener("beforeunload",o)}componentWillUnmount(){const{trackLeave:e,onBeforeUnload:o}=this;e(),"undefined"!=typeof window&&window.removeEventListener("beforeunload",o)}render(){return null}}u.propTypes={sourceName:s().string,sourceId:s().number,summitId:s().number.isRequired,apiBaseUrl:s().string.isRequired},u.defaultProps={sourceId:0,sourceName:"GENERAL"};const l=u})(),n})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={6793:(e,t,n)=>{n.d(t,{arraysEqual:()=>a});n(8362),n(6530);const a=(e,t)=>e.length===t.length&&e.every(((e,n)=>((e,t)=>{const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(let a of n)if(e[a]!==t[a])return!1;return!0})(e,t[n])))},8362:e=>{e.exports=require("moment-timezone")},6530:e=>{e.exports=require("urijs")}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var a={};return(()=>{n.r(a),n.d(a,{GMap:()=>p,default:()=>h});const e=require("react");var t=n.n(e);const o=require("react-google-maps"),r=require("react-google-maps/lib/components/addons/MarkerClusterer");var l=n.n(r),s=n(6793);const i={defaultZoom:2,defaultCenter:{lat:30.270166,lng:-97.731271},options:{minZoom:1,maxZoom:19}},d=(0,o.withGoogleMap)((e=>t().createElement(o.GoogleMap,{ref:e.onMapLoad,zoom:e.zoom,center:e.center,onBoundsChanged:e.onMapChange,onClick:e.onMapClick},e.showMarkers&&t().createElement(l(),{averageCenter:!0,enableRetinaIcons:!0,gridSize:60},e.markers.map((n=>t().createElement(o.Marker,{key:n.id,position:{lat:n.lat,lng:n.lng},onClick:()=>e.onToggleInfoWindow(n.id),onDragEnd:e.onMarkerDrag,draggable:e.draggable},n.isInfoWindowOpen&&t().createElement(o.InfoWindow,{onCloseClick:()=>e.onToggleInfoWindow(n.id)},t().createElement("div",null,n.name)))))))));class p extends t().Component{constructor(e){super(e),this.state={markers:e.markers},this.handleMapLoad=this.handleMapLoad.bind(this),this.handleMapChange=this.handleMapChange.bind(this),this.handleMarkerDrag=this.handleMarkerDrag.bind(this),this.handleMapClick=this.handleMapClick.bind(this)}componentDidUpdate(e,t,n){const a=this.props.markers;(0,s.arraysEqual)(a,e.markers)||this.setState({markers:a});let o=e.markers.map((e=>e.id)).sort().join(),r=a.map((e=>e.id)).sort().join();if(a.length>1&&o!==r){const e=new google.maps.LatLngBounds;for(let t of a){let n=new google.maps.LatLng(t.lat,t.lng);e.extend(n)}this._mapComponent.fitBounds(e)}}handleMapLoad(e){this._mapComponent=e}handleMapChange(){let e=this.props.markers.filter((e=>{let t=new google.maps.LatLng(e.lat,e.lng);return this._mapComponent.getBounds().contains(t)}));this.props.hasOwnProperty("onChangeCallback")&&this.props.onChangeCallback(e)}handleMarkerClick(e){let t=this.state.markers,n=t.find((t=>t.id==e)).isInfoWindowOpen;t.find((t=>t.id==e)).isInfoWindowOpen=!n,this.setState({markers:t})}handleMarkerDrag(e){this.props.onMarkerDragged(e.latLng.lat(),e.latLng.lng())}handleMapClick(e){this.props.onMapClick(e.latLng.lat(),e.latLng.lng())}render(){let{markers:e}=this.state,{zoom:n,center:a}=this.props,o=this.props.hasOwnProperty("draggable");return t().createElement(d,{showMarkers:e.length>0,markers:e,zoom:n||i.defaultZoom,center:a.lat?a:i.defaultCenter,loadingElement:t().createElement("div",{style:{height:"100%"}}),containerElement:t().createElement("div",{style:{height:"400px"}}),mapElement:t().createElement("div",{style:{height:"100%"}}),onMapLoad:this.handleMapLoad,onMapChange:this.handleMapChange,onToggleInfoWindow:this.handleMarkerClick,onMarkerDrag:this.handleMarkerDrag,draggable:o,onMapClick:this.handleMapClick})}}const h=p})(),a})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={6793:(e,t,n)=>{n.d(t,{arraysEqual:()=>a});n(8362),n(6530);const a=(e,t)=>e.length===t.length&&e.every(((e,n)=>((e,t)=>{const n=Object.keys(e),a=Object.keys(t);if(n.length!==a.length)return!1;for(let a of n)if(e[a]!==t[a])return!1;return!0})(e,t[n])))},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},6530:e=>{e.exports=require("urijs")}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var a={};return(()=>{n.r(a),n.d(a,{GMap:()=>p,default:()=>h});var e=n(6689),t=n.n(e);const o=require("react-google-maps"),r=require("react-google-maps/lib/components/addons/MarkerClusterer");var l=n.n(r),s=n(6793);const i={defaultZoom:2,defaultCenter:{lat:30.270166,lng:-97.731271},options:{minZoom:1,maxZoom:19}},d=(0,o.withGoogleMap)((e=>t().createElement(o.GoogleMap,{ref:e.onMapLoad,zoom:e.zoom,center:e.center,onBoundsChanged:e.onMapChange,onClick:e.onMapClick},e.showMarkers&&t().createElement(l(),{averageCenter:!0,enableRetinaIcons:!0,gridSize:60},e.markers.map((n=>t().createElement(o.Marker,{key:n.id,position:{lat:n.lat,lng:n.lng},onClick:()=>e.onToggleInfoWindow(n.id),onDragEnd:e.onMarkerDrag,draggable:e.draggable},n.isInfoWindowOpen&&t().createElement(o.InfoWindow,{onCloseClick:()=>e.onToggleInfoWindow(n.id)},t().createElement("div",null,n.name)))))))));class p extends t().Component{constructor(e){super(e),this.state={markers:e.markers},this.handleMapLoad=this.handleMapLoad.bind(this),this.handleMapChange=this.handleMapChange.bind(this),this.handleMarkerDrag=this.handleMarkerDrag.bind(this),this.handleMapClick=this.handleMapClick.bind(this)}componentDidUpdate(e,t,n){const a=this.props.markers;(0,s.arraysEqual)(a,e.markers)||this.setState({markers:a});let o=e.markers.map((e=>e.id)).sort().join(),r=a.map((e=>e.id)).sort().join();if(a.length>1&&o!==r){const e=new google.maps.LatLngBounds;for(let t of a){let n=new google.maps.LatLng(t.lat,t.lng);e.extend(n)}this._mapComponent.fitBounds(e)}}handleMapLoad(e){this._mapComponent=e}handleMapChange(){let e=this.props.markers.filter((e=>{let t=new google.maps.LatLng(e.lat,e.lng);return this._mapComponent.getBounds().contains(t)}));this.props.hasOwnProperty("onChangeCallback")&&this.props.onChangeCallback(e)}handleMarkerClick(e){let t=this.state.markers,n=t.find((t=>t.id==e)).isInfoWindowOpen;t.find((t=>t.id==e)).isInfoWindowOpen=!n,this.setState({markers:t})}handleMarkerDrag(e){this.props.onMarkerDragged(e.latLng.lat(),e.latLng.lng())}handleMapClick(e){this.props.onMapClick(e.latLng.lat(),e.latLng.lng())}render(){let{markers:e}=this.state,{zoom:n,center:a}=this.props,o=this.props.hasOwnProperty("draggable");return t().createElement(d,{showMarkers:e.length>0,markers:e,zoom:n||i.defaultZoom,center:a.lat?a:i.defaultCenter,loadingElement:t().createElement("div",{style:{height:"100%"}}),containerElement:t().createElement("div",{style:{height:"400px"}}),mapElement:t().createElement("div",{style:{height:"100%"}}),onMapLoad:this.handleMapLoad,onMapChange:this.handleMapChange,onToggleInfoWindow:this.handleMarkerClick,onMarkerDrag:this.handleMarkerDrag,draggable:o,onMapClick:this.handleMapClick})}}const h=p})(),a})()));