openstack-uicore-foundation 4.0.85 → 4.0.87

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 (31) hide show
  1. package/lib/components/attendance-tracker.js +1 -1
  2. package/lib/components/index.js +1 -1
  3. package/lib/components/inputs/access-levels-input.js +1 -1
  4. package/lib/components/inputs/company-input.js +1 -1
  5. package/lib/components/inputs/country-dropdown.js +1 -1
  6. package/lib/components/inputs/country-input.js +1 -1
  7. package/lib/components/inputs/event-input.js +1 -1
  8. package/lib/components/inputs/group-input.js +1 -1
  9. package/lib/components/inputs/language-input.js +1 -1
  10. package/lib/components/inputs/member-input.js +1 -1
  11. package/lib/components/inputs/organization-input.js +1 -1
  12. package/lib/components/inputs/promocode-input.js +1 -1
  13. package/lib/components/inputs/registration-company-input.js +1 -1
  14. package/lib/components/inputs/speaker-input.js +1 -1
  15. package/lib/components/inputs/sponsor-input.js +1 -1
  16. package/lib/components/inputs/summit-input.js +1 -1
  17. package/lib/components/inputs/tag-input.js +1 -1
  18. package/lib/components/inputs/ticket-types-input.js +1 -1
  19. package/lib/components/sponsored-project-input.js +1 -1
  20. package/lib/css/components/extra-questions.css +1 -1
  21. package/lib/css/components/free-text-search.css +1 -1
  22. package/lib/css/components/index.css +1 -1
  23. package/lib/security/abstract-auth-callback-route.js +1 -1
  24. package/lib/security/actions.js +1 -1
  25. package/lib/security/methods.js +1 -1
  26. package/lib/security/reducers.js +1 -1
  27. package/lib/security/session-checker.js +1 -1
  28. package/lib/utils/actions.js +1 -1
  29. package/lib/utils/query-actions.js +1 -1
  30. package/lib/utils/reducers.js +1 -1
  31. package/package.json +3 -3
@@ -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={4341:(e,t,r)=>{r(8779),r(4656),r(4054),r(6793),r(8576)},1593:(e,t,r)=>{r.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>o,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>a,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>n,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>c});const a="AUTH_ERROR_MISSING_AUTH_INFO",n="AUTH_ERROR_MISSING_REFRESH_TOKEN",o="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",c="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,r)=>{r.d(t,{getAccessToken:()=>h});var a=r(6793);r(4824);const n=require("browser-tabs-lock");var o=r.n(n);r(6530),r(3856),r(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var s=r(1593);const c=new(o()),l="openstackuicore.lock.getTokenSilently",i="code",d="authInfo",u="nonce",p="pkce",h=async()=>{if(await(0,a.retryPromise)((()=>c.acquireLock(l,5e3)),10))try{let e=_();if(!e)throw Error(s.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:r,accessTokenUpdatedAt:a,refreshToken:n}=e,o=w(),d=Math.floor(Date.now()/1e3);if(r-=20,d-a>r||null==t){if(console.log("getAccessToken access token expired"),o===i&&E()){if(!n)throw m(),Error(s.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await f(n),{access_token:t,expires_in:r,refresh_token:a}=e;return void 0===a&&(a=null),R(t,r,a),t}throw m(),Error(s.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await c.releaseLock(l)}throw Error(s.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},f=async e=>{let t=y(),r=g();const n={grant_type:"refresh_token",client_id:encodeURI(r),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>{if(400===e.status){(0,a.getCurrentPathName)();throw(0,a.setSessionClearingState)(!0),Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),r=await e.json();let{access_token:o,refresh_token:c,expires_in:l}=r;return{access_token:o,refresh_token:c,expires_in:l}}catch(e){throw console.log(e),e}},R=(e,t,r=null,n=null)=>{let o=_(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===r&&o&&(r=o.refreshToken),null===n&&o&&(n=o.idToken),r&&(s.refreshToken=r),n&&(s.idToken=n),(0,a.putOnLocalStorage)(d,JSON.stringify(s))},_=()=>{try{let e=(0,a.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},m=()=>{if("undefined"!=typeof window)return(0,a.removeFromLocalStorage)(d),(0,a.removeFromLocalStorage)(u),void(0,a.removeFromLocalStorage)(p)},g=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,w=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",E=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),y=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,r)=>{r.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>l,fetchResponseHandler:()=>i});r(3838),r(4824),r(6530);var a=r(271),n=r.n(a),o=r(4656),s=r.n(o);r(6793),r(4341),r(8576);const c=e=>t=>({type:e,payload:t}),l=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,r=e.statusText;switch(t){case 403:n().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:n().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:n().fire("ERROR",r,"warning");case 500:n().fire("ERROR",s().translate("errors.server_error"),"error")}}),i=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,r)=>{r.d(t,{buildAPIBaseUrl:()=>n,getCurrentPathName:()=>a,getFromLocalStorage:()=>s,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>c,retryPromise:()=>d,setSessionClearingState:()=>l,shallowEqual:()=>i});r(8362),r(6530);const a=()=>"undefined"!=typeof window?window.location.pathname:null,n=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),r}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},l=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},i=(e,t)=>{const r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(let a of r)if(e[a]!==t[a])return!1;return!0},d=async(e,t=3)=>{for(let r=0;r<t;r++)if(await e())return!0;return!1}},7525:(e,t,r)=>{r.d(t,{queryTags:()=>u});var a=r(4054),n=r(8576),o=r(6793);const s=require("lodash");var c=r.n(s),l=r(6530),i=r.n(l);const d=500,u=(c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,a.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,a.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c="/api/v1";e&&(c+=`/summits/${e}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,o.buildAPIBaseUrl)(c)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c="/api/v1",l=encodeURIComponent(`tag=@${t}`);c+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${l}&expand=tag,track_tag_group`:`/tags?filter=${l}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,o.buildAPIBaseUrl)(c)).then(a.fetchResponseHandler).then((t=>{let a=[...t.data];e&&(a=a.map((e=>e.tag))),r(a)})).catch(a.fetchErrorHandler)}),d));c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${c}&order=name&access_token=${s}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();let c=(t=(0,a.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${c}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r=!1,s)=>{const c=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let l=`/api/v1/summits/${e}/events`+(r?"/published":""),i=encodeURIComponent(`title=@${t}`);fetch((0,o.buildAPIBaseUrl)(`${l}?filter=${i}&order=title&access_token=${c}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r,s=null)=>{let c=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,n.getAccessToken)()}`;if(t=(0,a.escapeFilterValue)(t)){c+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,o.buildAPIBaseUrl)(c)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,a.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{let s;try{s=await(0,n.getAccessToken)()}catch(e){return void r(e)}let c=i()(`/api/v1/summits/${e}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),t&&(t=(0,a.escapeFilterValue)(t),c.addQuery("filter[]",`name@@${t}`)),fetch((0,o.buildAPIBaseUrl)(c.toString())).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c=encodeURIComponent(`company_name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${c}&&access_token=${s}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,a.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d);c().debounce((async(e,t={},r,s="v1")=>{const c=await(0,n.getAccessToken)();let l=i()(`/api/${s}/summits/${e}/ticket-types`);if(l.addQuery("access_token",c),l.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,a.escapeFilterValue)(t.name);l.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,a.escapeFilterValue)(t.audience);l.addQuery("filter[]",`audience==${e}`)}fetch((0,o.buildAPIBaseUrl)(l.toString())).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)(),s=i()("/api/v1/sponsored-projects");s.addQuery("access_token",r),e&&(e=(0,a.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,o.buildAPIBaseUrl)(s.toString())).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c=encodeURIComponent(`code=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/promo-codes?filter=${c}&access_token=${s}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d)},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},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")},9953:e=>{e.exports=require("react-select/lib/Async")},9503:e=>{e.exports=require("react-select/lib/AsyncCreatable")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a](o,o.exports,r),o.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var a={};return(()=>{r.r(a),r.d(a,{default:()=>m});var e=r(8213),t=r.n(e),n=r(3838),o=r.n(n),s=r(6689),c=r.n(s),l=r(580),i=r.n(l),d=r(9953),u=r.n(d),p=r(9503),h=r.n(p),f=r(7525),R=r(6793);const _=["className","error","allowCreate"];class m extends c().Component{constructor(e){super(e),this.state={tagValue:e.value.map((e=>({tag:e.tag,id:e.id})))},this.handleChange=this.handleChange.bind(this),this.handleNew=this.handleNew.bind(this),this.getTags=this.getTags.bind(this)}componentDidUpdate(e,t,r){if(!(0,R.shallowEqual)(this.props.value,e.value)){let e=this.props.value.map((e=>({tag:e.tag,id:e.id})));this.setState({tagValue:e})}}handleNew(e){const t={tag:e};this.props.onCreate(e,this.setState({value:[...this.state.tagValue,t]}))}handleChange(e){let t={target:{id:this.props.id,value:e,type:"taginput"}};this.props.onChange(t)}getTags(e,t){if(!e)return Promise.resolve({options:[]});let r=this.props.hasOwnProperty("summitId")?this.props.summitId:null;(0,f.queryTags)(r,e,t)}render(){let e=this.props,{className:r,error:a,allowCreate:n}=e,s=o()(e,_),{tagValue:l}=this.state,i=this.props.hasOwnProperty("error")&&""!=a,d=l.sort(((e,t)=>e.tag.toLowerCase()>t.tag.toLowerCase()?1:e.tag.toLowerCase()<t.tag.toLowerCase()?-1:0));const p=n?h():u();return c().createElement("div",null,c().createElement(p,t()({},s,{className:r+" "+(i?"error":""),isMulti:!0,value:d,onChange:this.handleChange,onCreateOption:this.handleNew,loadOptions:this.getTags,getOptionLabel:e=>e.__isNew__?e.label:e.tag,getOptionValue:e=>e.__isNew__?e.value:e.tag})),i&&c().createElement("p",{className:"error-label"},a))}}m.propTypes={allowCreate:i().bool,className:i().string,summitId:i().number,id:i().string.isRequired,value:i().array,onCreate:i().func,onChange:i().func.isRequired},m.defaultProps={allowCreate:!1}})(),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={4341:(e,t,r)=>{r(8779),r(4656),r(4054),r(6793),r(8576)},1593:(e,t,r)=>{r.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>o,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>a,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>n,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>c});const a="AUTH_ERROR_MISSING_AUTH_INFO",n="AUTH_ERROR_MISSING_REFRESH_TOKEN",o="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",c="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,r)=>{r.d(t,{getAccessToken:()=>h});var a=r(6793);r(2691);const n=require("browser-tabs-lock");var o=r.n(n);r(6530),r(3856),r(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var s=r(1593);const c=new(o()),l="openstackuicore.lock.getTokenSilently",i="code",d="authInfo",u="nonce",p="pkce",h=async()=>{if(await(0,a.retryPromise)((()=>c.acquireLock(l,5e3)),10))try{let e=_();if(!e)throw Error(s.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:r,accessTokenUpdatedAt:a,refreshToken:n}=e,o=w(),d=Math.floor(Date.now()/1e3);if(r-=20,d-a>r||null==t){if(console.log("getAccessToken access token expired"),o===i&&E()){if(!n)throw m(),Error(s.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await f(n),{access_token:t,expires_in:r,refresh_token:a}=e;return void 0===a&&(a=null),R(t,r,a),t}throw m(),Error(s.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await c.releaseLock(l)}throw Error(s.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},f=async e=>{let t=y(),r=g();const n={grant_type:"refresh_token",client_id:encodeURI(r),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>{if(400===e.status){(0,a.getCurrentPathName)();throw(0,a.setSessionClearingState)(!0),Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),r=await e.json();let{access_token:o,refresh_token:c,expires_in:l}=r;return{access_token:o,refresh_token:c,expires_in:l}}catch(e){throw console.log(e),e}},R=(e,t,r=null,n=null)=>{let o=_(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===r&&o&&(r=o.refreshToken),null===n&&o&&(n=o.idToken),r&&(s.refreshToken=r),n&&(s.idToken=n),(0,a.putOnLocalStorage)(d,JSON.stringify(s))},_=()=>{try{let e=(0,a.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},m=()=>{if("undefined"!=typeof window)return(0,a.removeFromLocalStorage)(d),(0,a.removeFromLocalStorage)(u),void(0,a.removeFromLocalStorage)(p)},g=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,w=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",E=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),y=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,r)=>{r.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>l,fetchResponseHandler:()=>i});r(3838),r(2691),r(6530);var a=r(271),n=r.n(a),o=r(4656),s=r.n(o);r(6793),r(4341),r(8576);const c=e=>t=>({type:e,payload:t}),l=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,r=e.statusText;switch(t){case 403:n().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:n().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:n().fire("ERROR",r,"warning");case 500:n().fire("ERROR",s().translate("errors.server_error"),"error")}}),i=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,r)=>{r.d(t,{buildAPIBaseUrl:()=>n,getCurrentPathName:()=>a,getFromLocalStorage:()=>s,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>c,retryPromise:()=>d,setSessionClearingState:()=>l,shallowEqual:()=>i});r(8362),r(6530);const a=()=>"undefined"!=typeof window?window.location.pathname:null,n=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),r}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},l=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},i=(e,t)=>{const r=Object.keys(e),a=Object.keys(t);if(r.length!==a.length)return!1;for(let a of r)if(e[a]!==t[a])return!1;return!0},d=async(e,t=3)=>{for(let r=0;r<t;r++)if(await e())return!0;return!1}},7525:(e,t,r)=>{r.d(t,{queryTags:()=>u});var a=r(4054),n=r(8576),o=r(6793);const s=require("lodash");var c=r.n(s),l=r(6530),i=r.n(l);const d=500,u=(c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,a.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,a.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c="/api/v1";e&&(c+=`/summits/${e}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,o.buildAPIBaseUrl)(c)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c="/api/v1",l=encodeURIComponent(`tag=@${t}`);c+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${l}&expand=tag,track_tag_group`:`/tags?filter=${l}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,o.buildAPIBaseUrl)(c)).then(a.fetchResponseHandler).then((t=>{let a=[...t.data];e&&(a=a.map((e=>e.tag))),r(a)})).catch(a.fetchErrorHandler)}),d));c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${c}&order=name&access_token=${s}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();let c=(t=(0,a.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${c}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r=!1,s)=>{const c=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let l=`/api/v1/summits/${e}/events`+(r?"/published":""),i=encodeURIComponent(`title=@${t}`);fetch((0,o.buildAPIBaseUrl)(`${l}?filter=${i}&order=title&access_token=${c}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r,s=null)=>{let c=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,n.getAccessToken)()}`;if(t=(0,a.escapeFilterValue)(t)){c+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,o.buildAPIBaseUrl)(c)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,a.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{let s;try{s=await(0,n.getAccessToken)()}catch(e){return void r(e)}let c=i()(`/api/v1/summits/${e}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),t&&(t=(0,a.escapeFilterValue)(t),c.addQuery("filter[]",`name@@${t}`)),fetch((0,o.buildAPIBaseUrl)(c.toString())).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c=encodeURIComponent(`company_name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${c}&&access_token=${s}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,a.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${r}`)).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d);c().debounce((async(e,t={},r,s="v1")=>{const c=await(0,n.getAccessToken)();let l=i()(`/api/${s}/summits/${e}/ticket-types`);if(l.addQuery("access_token",c),l.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,a.escapeFilterValue)(t.name);l.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,a.escapeFilterValue)(t.audience);l.addQuery("filter[]",`audience==${e}`)}fetch((0,o.buildAPIBaseUrl)(l.toString())).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)(),s=i()("/api/v1/sponsored-projects");s.addQuery("access_token",r),e&&(e=(0,a.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,o.buildAPIBaseUrl)(s.toString())).then(a.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(a.fetchErrorHandler)}),d),c().debounce((async(e,t,r)=>{const s=await(0,n.getAccessToken)();t=(0,a.escapeFilterValue)(t);let c=encodeURIComponent(`code=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/promo-codes?filter=${c}&access_token=${s}`)).then(a.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(a.fetchErrorHandler)}),d)},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},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")},9953:e=>{e.exports=require("react-select/lib/Async")},9503:e=>{e.exports=require("react-select/lib/AsyncCreatable")},2691:e=>{e.exports=require("superagent/lib/client")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function r(a){var n=t[a];if(void 0!==n)return n.exports;var o=t[a]={exports:{}};return e[a](o,o.exports,r),o.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var a={};return(()=>{r.r(a),r.d(a,{default:()=>m});var e=r(8213),t=r.n(e),n=r(3838),o=r.n(n),s=r(6689),c=r.n(s),l=r(580),i=r.n(l),d=r(9953),u=r.n(d),p=r(9503),h=r.n(p),f=r(7525),R=r(6793);const _=["className","error","allowCreate"];class m extends c().Component{constructor(e){super(e),this.state={tagValue:e.value.map((e=>({tag:e.tag,id:e.id})))},this.handleChange=this.handleChange.bind(this),this.handleNew=this.handleNew.bind(this),this.getTags=this.getTags.bind(this)}componentDidUpdate(e,t,r){if(!(0,R.shallowEqual)(this.props.value,e.value)){let e=this.props.value.map((e=>({tag:e.tag,id:e.id})));this.setState({tagValue:e})}}handleNew(e){const t={tag:e};this.props.onCreate(e,this.setState({value:[...this.state.tagValue,t]}))}handleChange(e){let t={target:{id:this.props.id,value:e,type:"taginput"}};this.props.onChange(t)}getTags(e,t){if(!e)return Promise.resolve({options:[]});let r=this.props.hasOwnProperty("summitId")?this.props.summitId:null;(0,f.queryTags)(r,e,t)}render(){let e=this.props,{className:r,error:a,allowCreate:n}=e,s=o()(e,_),{tagValue:l}=this.state,i=this.props.hasOwnProperty("error")&&""!=a,d=l.sort(((e,t)=>e.tag.toLowerCase()>t.tag.toLowerCase()?1:e.tag.toLowerCase()<t.tag.toLowerCase()?-1:0));const p=n?h():u();return c().createElement("div",null,c().createElement(p,t()({},s,{className:r+" "+(i?"error":""),isMulti:!0,value:d,onChange:this.handleChange,onCreateOption:this.handleNew,loadOptions:this.getTags,getOptionLabel:e=>e.__isNew__?e.label:e.tag,getOptionValue:e=>e.__isNew__?e.value:e.tag})),i&&c().createElement("p",{className:"error-label"},a))}}m.propTypes={allowCreate:i().bool,className:i().string,summitId:i().number,id:i().string.isRequired,value:i().array,onCreate:i().func,onChange:i().func.isRequired},m.defaultProps={allowCreate:!1}})(),a})()));
@@ -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={4341:(e,t,n)=>{n(8779),n(4656),n(4054),n(6793),n(8576)},1593:(e,t,n)=>{n.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>o,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>a,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>c});const r="AUTH_ERROR_MISSING_AUTH_INFO",a="AUTH_ERROR_MISSING_REFRESH_TOKEN",o="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",c="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,n)=>{n.d(t,{getAccessToken:()=>h});var r=n(6793);n(4824);const a=require("browser-tabs-lock");var o=n.n(a);n(6530),n(3856),n(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var s=n(1593);const c=new(o()),i="openstackuicore.lock.getTokenSilently",l="code",d="authInfo",p="nonce",u="pkce",h=async()=>{if(await(0,r.retryPromise)((()=>c.acquireLock(i,5e3)),10))try{let e=_();if(!e)throw Error(s.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:n,accessTokenUpdatedAt:r,refreshToken:a}=e,o=E(),d=Math.floor(Date.now()/1e3);if(n-=20,d-r>n||null==t){if(console.log("getAccessToken access token expired"),o===l&&y()){if(!a)throw m(),Error(s.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await f(a),{access_token:t,expires_in:n,refresh_token:r}=e;return void 0===r&&(r=null),R(t,n,r),t}throw m(),Error(s.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await c.releaseLock(i)}throw Error(s.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},f=async e=>{let t=w(),n=g();const a={grant_type:"refresh_token",client_id:encodeURI(n),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),n=await e.json();let{access_token:o,refresh_token:c,expires_in:i}=n;return{access_token:o,refresh_token:c,expires_in:i}}catch(e){throw console.log(e),e}},R=(e,t,n=null,a=null)=>{let o=_(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===n&&o&&(n=o.refreshToken),null===a&&o&&(a=o.idToken),n&&(s.refreshToken=n),a&&(s.idToken=a),(0,r.putOnLocalStorage)(d,JSON.stringify(s))},_=()=>{try{let e=(0,r.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},m=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(d),(0,r.removeFromLocalStorage)(p),void(0,r.removeFromLocalStorage)(u)},g=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,E=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",y=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),w=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,n)=>{n.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>i,fetchResponseHandler:()=>l});n(3838),n(4824),n(6530);var r=n(271),a=n.n(r),o=n(4656),s=n.n(o);n(6793),n(4341),n(8576);const c=e=>t=>({type:e,payload:t}),i=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,n=e.statusText;switch(t){case 403:a().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:a().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:a().fire("ERROR",n,"warning");case 500:a().fire("ERROR",s().translate("errors.server_error"),"error")}}),l=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{buildAPIBaseUrl:()=>a,getCurrentPathName:()=>r,getFromLocalStorage:()=>s,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>c,retryPromise:()=>l,setSessionClearingState:()=>i});n(8362),n(6530);const r=()=>"undefined"!=typeof window?window.location.pathname:null,a=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),n}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},i=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},l=async(e,t=3)=>{for(let n=0;n<t;n++)if(await e())return!0;return!1}},7525:(e,t,n)=>{n.d(t,{queryTicketTypes:()=>p});var r=n(4054),a=n(8576),o=n(6793);const s=require("lodash");var c=n.n(s),i=n(6530),l=n.n(i);const d=500;c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1";e&&(c+=`/summits/${e}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,o.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1",i=encodeURIComponent(`tag=@${t}`);c+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,o.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((t=>{let r=[...t.data];e&&(r=r.map((e=>e.tag))),n(r)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${c}&order=name&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();let c=(t=(0,r.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n=!1,s)=>{const c=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let i=`/api/v1/summits/${e}/events`+(n?"/published":""),l=encodeURIComponent(`title=@${t}`);fetch((0,o.buildAPIBaseUrl)(`${i}?filter=${l}&order=title&access_token=${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n,s=null)=>{let c=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,a.getAccessToken)()}`;if(t=(0,r.escapeFilterValue)(t)){c+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,o.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{let s;try{s=await(0,a.getAccessToken)()}catch(e){return void n(e)}let c=l()(`/api/v1/summits/${e}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),t&&(t=(0,r.escapeFilterValue)(t),c.addQuery("filter[]",`name@@${t}`)),fetch((0,o.buildAPIBaseUrl)(c.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`company_name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${c}&&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d);const p=c().debounce((async(e,t={},n,s="v1")=>{const c=await(0,a.getAccessToken)();let i=l()(`/api/${s}/summits/${e}/ticket-types`);if(i.addQuery("access_token",c),i.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,r.escapeFilterValue)(t.name);i.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,r.escapeFilterValue)(t.audience);i.addQuery("filter[]",`audience==${e}`)}fetch((0,o.buildAPIBaseUrl)(i.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d);c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)(),s=l()("/api/v1/sponsored-projects");s.addQuery("access_token",n),e&&(e=(0,r.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,o.buildAPIBaseUrl)(s.toString())).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`code=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/promo-codes?filter=${c}&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d)},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},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")},9953:e=>{e.exports=require("react-select/lib/Async")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.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 r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{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 r={};return(()=>{n.r(r),n.d(r,{default:()=>R});var e=n(8213),t=n.n(e),a=n(3838),o=n.n(a),s=n(6689),c=n.n(s),i=n(9953),l=n.n(i),d=n(7525),p=n(580),u=n.n(p);const h=["value","error","onChange","id","multi"];class f extends c().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this),this.getTicketTypes=this.getTicketTypes.bind(this),this.getOptionValue=this.getOptionValue.bind(this),this.getOptionLabel=this.getOptionLabel.bind(this)}getOptionValue(e){return this.props.hasOwnProperty("getOptionValue")?this.props.getOptionValue(e):e.id}getOptionLabel(e){return this.props.hasOwnProperty("getOptionLabel")?this.props.getOptionLabel(e):`${e.name}`}handleChange(e){let t={target:{id:this.props.id,value:e,type:"tickettypeinput"}};this.props.onChange(t)}getTicketTypes(e,t){let{summitId:n,version:r}=this.props;if(!e)return Promise.resolve({options:[]});let a={name:e};this.props.hasOwnProperty("audience")&&(a.audience=this.props.audience),(0,d.queryTicketTypes)(n,a,t,r)}render(){let e=this.props,{value:n,error:r,onChange:a,id:s,multi:i}=e,d=o()(e,h),p=this.props.hasOwnProperty("multi"),u=this.props.hasOwnProperty("error")&&""!=r;return c().createElement("div",null,c().createElement(l(),t()({value:n,onChange:this.handleChange,loadOptions:this.getTicketTypes,getOptionValue:e=>this.getOptionValue(e),getOptionLabel:e=>this.getOptionLabel(e),isMulti:p},d)),u&&c().createElement("p",{className:"error-label"},r))}}f.defaultProps={version:"v1"},f.propTypes={audience:u().string,version:u().string};const R=f})(),r})()));
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={4341:(e,t,n)=>{n(8779),n(4656),n(4054),n(6793),n(8576)},1593:(e,t,n)=>{n.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>o,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>a,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>c});const r="AUTH_ERROR_MISSING_AUTH_INFO",a="AUTH_ERROR_MISSING_REFRESH_TOKEN",o="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",c="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,n)=>{n.d(t,{getAccessToken:()=>h});var r=n(6793);n(2691);const a=require("browser-tabs-lock");var o=n.n(a);n(6530),n(3856),n(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var s=n(1593);const c=new(o()),i="openstackuicore.lock.getTokenSilently",l="code",d="authInfo",p="nonce",u="pkce",h=async()=>{if(await(0,r.retryPromise)((()=>c.acquireLock(i,5e3)),10))try{let e=_();if(!e)throw Error(s.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:n,accessTokenUpdatedAt:r,refreshToken:a}=e,o=E(),d=Math.floor(Date.now()/1e3);if(n-=20,d-r>n||null==t){if(console.log("getAccessToken access token expired"),o===l&&y()){if(!a)throw m(),Error(s.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await f(a),{access_token:t,expires_in:n,refresh_token:r}=e;return void 0===r&&(r=null),R(t,n,r),t}throw m(),Error(s.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await c.releaseLock(i)}throw Error(s.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},f=async e=>{let t=w(),n=g();const a={grant_type:"refresh_token",client_id:encodeURI(n),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),n=await e.json();let{access_token:o,refresh_token:c,expires_in:i}=n;return{access_token:o,refresh_token:c,expires_in:i}}catch(e){throw console.log(e),e}},R=(e,t,n=null,a=null)=>{let o=_(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===n&&o&&(n=o.refreshToken),null===a&&o&&(a=o.idToken),n&&(s.refreshToken=n),a&&(s.idToken=a),(0,r.putOnLocalStorage)(d,JSON.stringify(s))},_=()=>{try{let e=(0,r.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},m=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(d),(0,r.removeFromLocalStorage)(p),void(0,r.removeFromLocalStorage)(u)},g=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,E=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",y=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),w=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,n)=>{n.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>i,fetchResponseHandler:()=>l});n(3838),n(2691),n(6530);var r=n(271),a=n.n(r),o=n(4656),s=n.n(o);n(6793),n(4341),n(8576);const c=e=>t=>({type:e,payload:t}),i=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,n=e.statusText;switch(t){case 403:a().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:a().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:a().fire("ERROR",n,"warning");case 500:a().fire("ERROR",s().translate("errors.server_error"),"error")}}),l=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{buildAPIBaseUrl:()=>a,getCurrentPathName:()=>r,getFromLocalStorage:()=>s,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>c,retryPromise:()=>l,setSessionClearingState:()=>i});n(8362),n(6530);const r=()=>"undefined"!=typeof window?window.location.pathname:null,a=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),n}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},i=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},l=async(e,t=3)=>{for(let n=0;n<t;n++)if(await e())return!0;return!1}},7525:(e,t,n)=>{n.d(t,{queryTicketTypes:()=>p});var r=n(4054),a=n(8576),o=n(6793);const s=require("lodash");var c=n.n(s),i=n(6530),l=n.n(i);const d=500;c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1";e&&(c+=`/summits/${e}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,o.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1",i=encodeURIComponent(`tag=@${t}`);c+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,o.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((t=>{let r=[...t.data];e&&(r=r.map((e=>e.tag))),n(r)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${c}&order=name&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();let c=(t=(0,r.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n=!1,s)=>{const c=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let i=`/api/v1/summits/${e}/events`+(n?"/published":""),l=encodeURIComponent(`title=@${t}`);fetch((0,o.buildAPIBaseUrl)(`${i}?filter=${l}&order=title&access_token=${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n,s=null)=>{let c=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,a.getAccessToken)()}`;if(t=(0,r.escapeFilterValue)(t)){c+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,o.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{let s;try{s=await(0,a.getAccessToken)()}catch(e){return void n(e)}let c=l()(`/api/v1/summits/${e}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),t&&(t=(0,r.escapeFilterValue)(t),c.addQuery("filter[]",`name@@${t}`)),fetch((0,o.buildAPIBaseUrl)(c.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`company_name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${c}&&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d);const p=c().debounce((async(e,t={},n,s="v1")=>{const c=await(0,a.getAccessToken)();let i=l()(`/api/${s}/summits/${e}/ticket-types`);if(i.addQuery("access_token",c),i.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,r.escapeFilterValue)(t.name);i.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,r.escapeFilterValue)(t.audience);i.addQuery("filter[]",`audience==${e}`)}fetch((0,o.buildAPIBaseUrl)(i.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d);c().debounce((async(e,t)=>{const n=await(0,a.getAccessToken)(),s=l()("/api/v1/sponsored-projects");s.addQuery("access_token",n),e&&(e=(0,r.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,o.buildAPIBaseUrl)(s.toString())).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,a.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`code=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/promo-codes?filter=${c}&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d)},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},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")},9953:e=>{e.exports=require("react-select/lib/Async")},2691:e=>{e.exports=require("superagent/lib/client")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.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 r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{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 r={};return(()=>{n.r(r),n.d(r,{default:()=>R});var e=n(8213),t=n.n(e),a=n(3838),o=n.n(a),s=n(6689),c=n.n(s),i=n(9953),l=n.n(i),d=n(7525),p=n(580),u=n.n(p);const h=["value","error","onChange","id","multi"];class f extends c().Component{constructor(e){super(e),this.state={value:e.value},this.handleChange=this.handleChange.bind(this),this.getTicketTypes=this.getTicketTypes.bind(this),this.getOptionValue=this.getOptionValue.bind(this),this.getOptionLabel=this.getOptionLabel.bind(this)}getOptionValue(e){return this.props.hasOwnProperty("getOptionValue")?this.props.getOptionValue(e):e.id}getOptionLabel(e){return this.props.hasOwnProperty("getOptionLabel")?this.props.getOptionLabel(e):`${e.name}`}handleChange(e){let t={target:{id:this.props.id,value:e,type:"tickettypeinput"}};this.props.onChange(t)}getTicketTypes(e,t){let{summitId:n,version:r}=this.props;if(!e)return Promise.resolve({options:[]});let a={name:e};this.props.hasOwnProperty("audience")&&(a.audience=this.props.audience),(0,d.queryTicketTypes)(n,a,t,r)}render(){let e=this.props,{value:n,error:r,onChange:a,id:s,multi:i}=e,d=o()(e,h),p=this.props.hasOwnProperty("multi"),u=this.props.hasOwnProperty("error")&&""!=r;return c().createElement("div",null,c().createElement(l(),t()({value:n,onChange:this.handleChange,loadOptions:this.getTicketTypes,getOptionValue:e=>this.getOptionValue(e),getOptionLabel:e=>this.getOptionLabel(e),isMulti:p},d)),u&&c().createElement("p",{className:"error-label"},r))}}f.defaultProps={version:"v1"},f.propTypes={audience:u().string,version:u().string};const R=f})(),r})()));
@@ -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={4341:(e,t,n)=>{n(8779),n(4656),n(4054),n(6793),n(8576)},1593:(e,t,n)=>{n.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>a,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>o,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>c});const r="AUTH_ERROR_MISSING_AUTH_INFO",o="AUTH_ERROR_MISSING_REFRESH_TOKEN",a="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",c="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,n)=>{n.d(t,{getAccessToken:()=>h});var r=n(6793);n(4824);const o=require("browser-tabs-lock");var a=n.n(o);n(6530),n(3856),n(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var s=n(1593);const c=new(a()),i="openstackuicore.lock.getTokenSilently",l="code",d="authInfo",p="nonce",u="pkce",h=async()=>{if(await(0,r.retryPromise)((()=>c.acquireLock(i,5e3)),10))try{let e=_();if(!e)throw Error(s.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:n,accessTokenUpdatedAt:r,refreshToken:o}=e,a=w(),d=Math.floor(Date.now()/1e3);if(n-=20,d-r>n||null==t){if(console.log("getAccessToken access token expired"),a===l&&g()){if(!o)throw m(),Error(s.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await f(o),{access_token:t,expires_in:n,refresh_token:r}=e;return void 0===r&&(r=null),R(t,n,r),t}throw m(),Error(s.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await c.releaseLock(i)}throw Error(s.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},f=async e=>{let t=y(),n=E();const o={grant_type:"refresh_token",client_id:encodeURI(n),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),n=await e.json();let{access_token:a,refresh_token:c,expires_in:i}=n;return{access_token:a,refresh_token:c,expires_in:i}}catch(e){throw console.log(e),e}},R=(e,t,n=null,o=null)=>{let a=_(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===n&&a&&(n=a.refreshToken),null===o&&a&&(o=a.idToken),n&&(s.refreshToken=n),o&&(s.idToken=o),(0,r.putOnLocalStorage)(d,JSON.stringify(s))},_=()=>{try{let e=(0,r.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},m=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(d),(0,r.removeFromLocalStorage)(p),void(0,r.removeFromLocalStorage)(u)},E=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,w=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",g=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),y=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,n)=>{n.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>i,fetchResponseHandler:()=>l});n(3838),n(4824),n(6530);var r=n(271),o=n.n(r),a=n(4656),s=n.n(a);n(6793),n(4341),n(8576);const c=e=>t=>({type:e,payload:t}),i=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,n=e.statusText;switch(t){case 403:o().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:o().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:o().fire("ERROR",n,"warning");case 500:o().fire("ERROR",s().translate("errors.server_error"),"error")}}),l=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{buildAPIBaseUrl:()=>o,getCurrentPathName:()=>r,getFromLocalStorage:()=>s,putOnLocalStorage:()=>a,removeFromLocalStorage:()=>c,retryPromise:()=>l,setSessionClearingState:()=>i});n(8362),n(6530);const r=()=>"undefined"!=typeof window?window.location.pathname:null,o=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,a=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),n}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},i=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},l=async(e,t=3)=>{for(let n=0;n<t;n++)if(await e())return!0;return!1}},7525:(e,t,n)=>{n.d(t,{querySponsoredProjects:()=>p});var r=n(4054),o=n(8576),a=n(6793);const s=require("lodash");var c=n.n(s),i=n(6530),l=n.n(i);const d=500;c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1";e&&(c+=`/summits/${e}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1",i=encodeURIComponent(`tag=@${t}`);c+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((t=>{let r=[...t.data];e&&(r=r.map((e=>e.tag))),n(r)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${c}&order=name&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();let c=(t=(0,r.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n=!1,s)=>{const c=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let i=`/api/v1/summits/${e}/events`+(n?"/published":""),l=encodeURIComponent(`title=@${t}`);fetch((0,a.buildAPIBaseUrl)(`${i}?filter=${l}&order=title&access_token=${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n,s=null)=>{let c=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,o.getAccessToken)()}`;if(t=(0,r.escapeFilterValue)(t)){c+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{let s;try{s=await(0,o.getAccessToken)()}catch(e){return void n(e)}let c=l()(`/api/v1/summits/${e}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),t&&(t=(0,r.escapeFilterValue)(t),c.addQuery("filter[]",`name@@${t}`)),fetch((0,a.buildAPIBaseUrl)(c.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`company_name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${c}&&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d);c().debounce((async(e,t={},n,s="v1")=>{const c=await(0,o.getAccessToken)();let i=l()(`/api/${s}/summits/${e}/ticket-types`);if(i.addQuery("access_token",c),i.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,r.escapeFilterValue)(t.name);i.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,r.escapeFilterValue)(t.audience);i.addQuery("filter[]",`audience==${e}`)}fetch((0,a.buildAPIBaseUrl)(i.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d);const p=c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)(),s=l()("/api/v1/sponsored-projects");s.addQuery("access_token",n),e&&(e=(0,r.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,a.buildAPIBaseUrl)(s.toString())).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d);c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`code=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/promo-codes?filter=${c}&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d)},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},9953:e=>{e.exports=require("react-select/lib/Async")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.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 r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{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 r={};return(()=>{n.r(r),n.d(r,{default:()=>u});var e=n(8213),t=n.n(e),o=n(3838),a=n.n(o),s=n(6689),c=n.n(s),i=n(9953),l=n.n(i),d=n(7525);const p=["value","error","onChange","id","multi"];class u extends c().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.getSponsoredProjects=this.getSponsoredProjects.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e,type:"sponsoredprojectinput"}};this.props.onChange(t)}getSponsoredProjects(e,t){if(!e)return Promise.resolve({options:[]});(0,d.querySponsoredProjects)(e,t)}render(){let e=this.props,{value:n,error:r,onChange:o,id:s,multi:i}=e,d=a()(e,p),u=this.props.hasOwnProperty("multi"),h=this.props.hasOwnProperty("clearable"),f=this.props.hasOwnProperty("error")&&""!=r;return c().createElement("div",null,c().createElement(l(),t()({value:n,onChange:this.handleChange,loadOptions:this.getSponsoredProjects,getOptionValue:e=>e.id,getOptionLabel:e=>`${e.name} (${e.id})`,isMulti:u,isClearable:h},d)),f&&c().createElement("p",{className:"error-label"},r))}}})(),r})()));
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={4341:(e,t,n)=>{n(8779),n(4656),n(4054),n(6793),n(8576)},1593:(e,t,n)=>{n.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>a,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>o,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>c});const r="AUTH_ERROR_MISSING_AUTH_INFO",o="AUTH_ERROR_MISSING_REFRESH_TOKEN",a="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",c="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,n)=>{n.d(t,{getAccessToken:()=>h});var r=n(6793);n(2691);const o=require("browser-tabs-lock");var a=n.n(o);n(6530),n(3856),n(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var s=n(1593);const c=new(a()),i="openstackuicore.lock.getTokenSilently",l="code",d="authInfo",p="nonce",u="pkce",h=async()=>{if(await(0,r.retryPromise)((()=>c.acquireLock(i,5e3)),10))try{let e=_();if(!e)throw Error(s.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:n,accessTokenUpdatedAt:r,refreshToken:o}=e,a=w(),d=Math.floor(Date.now()/1e3);if(n-=20,d-r>n||null==t){if(console.log("getAccessToken access token expired"),a===l&&g()){if(!o)throw m(),Error(s.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await f(o),{access_token:t,expires_in:n,refresh_token:r}=e;return void 0===r&&(r=null),R(t,n,r),t}throw m(),Error(s.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await c.releaseLock(i)}throw Error(s.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},f=async e=>{let t=y(),n=E();const o={grant_type:"refresh_token",client_id:encodeURI(n),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),n=await e.json();let{access_token:a,refresh_token:c,expires_in:i}=n;return{access_token:a,refresh_token:c,expires_in:i}}catch(e){throw console.log(e),e}},R=(e,t,n=null,o=null)=>{let a=_(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===n&&a&&(n=a.refreshToken),null===o&&a&&(o=a.idToken),n&&(s.refreshToken=n),o&&(s.idToken=o),(0,r.putOnLocalStorage)(d,JSON.stringify(s))},_=()=>{try{let e=(0,r.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},m=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(d),(0,r.removeFromLocalStorage)(p),void(0,r.removeFromLocalStorage)(u)},E=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,w=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",g=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),y=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,n)=>{n.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>i,fetchResponseHandler:()=>l});n(3838),n(2691),n(6530);var r=n(271),o=n.n(r),a=n(4656),s=n.n(a);n(6793),n(4341),n(8576);const c=e=>t=>({type:e,payload:t}),i=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,n=e.statusText;switch(t){case 403:o().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:o().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:o().fire("ERROR",n,"warning");case 500:o().fire("ERROR",s().translate("errors.server_error"),"error")}}),l=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{buildAPIBaseUrl:()=>o,getCurrentPathName:()=>r,getFromLocalStorage:()=>s,putOnLocalStorage:()=>a,removeFromLocalStorage:()=>c,retryPromise:()=>l,setSessionClearingState:()=>i});n(8362),n(6530);const r=()=>"undefined"!=typeof window?window.location.pathname:null,o=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,a=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),n}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},i=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},l=async(e,t=3)=>{for(let n=0;n<t;n++)if(await e())return!0;return!1}},7525:(e,t,n)=>{n.d(t,{querySponsoredProjects:()=>p});var r=n(4054),o=n(8576),a=n(6793);const s=require("lodash");var c=n.n(s),i=n(6530),l=n.n(i);const d=500;c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1";e&&(c+=`/summits/${e}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1",i=encodeURIComponent(`tag=@${t}`);c+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((t=>{let r=[...t.data];e&&(r=r.map((e=>e.tag))),n(r)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${c}&order=name&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();let c=(t=(0,r.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n=!1,s)=>{const c=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let i=`/api/v1/summits/${e}/events`+(n?"/published":""),l=encodeURIComponent(`title=@${t}`);fetch((0,a.buildAPIBaseUrl)(`${i}?filter=${l}&order=title&access_token=${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n,s=null)=>{let c=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,o.getAccessToken)()}`;if(t=(0,r.escapeFilterValue)(t)){c+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{let s;try{s=await(0,o.getAccessToken)()}catch(e){return void n(e)}let c=l()(`/api/v1/summits/${e}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),t&&(t=(0,r.escapeFilterValue)(t),c.addQuery("filter[]",`name@@${t}`)),fetch((0,a.buildAPIBaseUrl)(c.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`company_name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${c}&&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d);c().debounce((async(e,t={},n,s="v1")=>{const c=await(0,o.getAccessToken)();let i=l()(`/api/${s}/summits/${e}/ticket-types`);if(i.addQuery("access_token",c),i.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,r.escapeFilterValue)(t.name);i.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,r.escapeFilterValue)(t.audience);i.addQuery("filter[]",`audience==${e}`)}fetch((0,a.buildAPIBaseUrl)(i.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d);const p=c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)(),s=l()("/api/v1/sponsored-projects");s.addQuery("access_token",n),e&&(e=(0,r.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,a.buildAPIBaseUrl)(s.toString())).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d);c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`code=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/promo-codes?filter=${c}&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d)},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},9953:e=>{e.exports=require("react-select/lib/Async")},2691:e=>{e.exports=require("superagent/lib/client")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.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 r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{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 r={};return(()=>{n.r(r),n.d(r,{default:()=>u});var e=n(8213),t=n.n(e),o=n(3838),a=n.n(o),s=n(6689),c=n.n(s),i=n(9953),l=n.n(i),d=n(7525);const p=["value","error","onChange","id","multi"];class u extends c().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.getSponsoredProjects=this.getSponsoredProjects.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e,type:"sponsoredprojectinput"}};this.props.onChange(t)}getSponsoredProjects(e,t){if(!e)return Promise.resolve({options:[]});(0,d.querySponsoredProjects)(e,t)}render(){let e=this.props,{value:n,error:r,onChange:o,id:s,multi:i}=e,d=a()(e,p),u=this.props.hasOwnProperty("multi"),h=this.props.hasOwnProperty("clearable"),f=this.props.hasOwnProperty("error")&&""!=r;return c().createElement("div",null,c().createElement(l(),t()({value:n,onChange:this.handleChange,loadOptions:this.getSponsoredProjects,getOptionValue:e=>e.id,getOptionLabel:e=>`${e.name} (${e.id})`,isMulti:u,isClearable:h},d)),f&&c().createElement("p",{className:"error-label"},r))}}})(),r})()));
@@ -1 +1 @@
1
- .extra-question-error{color:red;display:block;font-size:12px;font-weight:700;margin:auto 0;padding:0}.extra-question-error:before{content:"\f071";font-family:FontAwesome;padding-right:5px}.questions-form{padding-bottom:5em}.questions-form h4{font-size:12pt}.questions-form .abc-checkbox{padding:0!important}.questions-form .form-check-label{font-weight:400!important}.questions-form .abc-radio label{max-width:90%}input:invalid{border-color:red!important}
1
+ .extra-question-error{color:red;display:block;font-size:12px;font-weight:700;margin:auto 0;padding:0}.extra-question-error:before{content:"\f071";font-family:FontAwesome;padding-right:5px}.questions-form{padding-bottom:5em}.questions-form h4{font-size:12pt}.questions-form .abc-checkbox{padding:0!important}.questions-form .form-check-label{font-weight:400!important}.questions-form .abc-radio label{max-width:90%}
@@ -1 +1 @@
1
- .extra-question-error{color:red;display:block;font-size:12px;font-weight:700;margin:auto 0;padding:0}.extra-question-error:before{content:"\f071";font-family:FontAwesome;padding-right:5px}.questions-form{padding-bottom:5em}.questions-form h4{font-size:12pt}.questions-form .abc-checkbox{padding:0!important}.questions-form .form-check-label{font-weight:400!important}.questions-form .abc-radio label{max-width:90%}input:invalid{border-color:red!important}
1
+ .extra-question-error{color:red;display:block;font-size:12px;font-weight:700;margin:auto 0;padding:0}.extra-question-error:before{content:"\f071";font-family:FontAwesome;padding-right:5px}.questions-form{padding-bottom:5em}.questions-form h4{font-size:12pt}.questions-form .abc-checkbox{padding:0!important}.questions-form .form-check-label{font-weight:400!important}.questions-form .abc-radio label{max-width:90%}
@@ -1,4 +1,4 @@
1
- .extra-question-error{color:red;display:block;font-size:12px;font-weight:700;margin:auto 0;padding:0}.extra-question-error:before{content:"\f071";font-family:FontAwesome;padding-right:5px}.questions-form{padding-bottom:5em}.questions-form h4{font-size:12pt}.questions-form .abc-checkbox{padding:0!important}.questions-form .form-check-label{font-weight:400!important}.questions-form .abc-radio label{max-width:90%}input:invalid{border-color:red!important}
1
+ .extra-question-error{color:red;display:block;font-size:12px;font-weight:700;margin:auto 0;padding:0}.extra-question-error:before{content:"\f071";font-family:FontAwesome;padding-right:5px}.questions-form{padding-bottom:5em}.questions-form h4{font-size:12pt}.questions-form .abc-checkbox{padding:0!important}.questions-form .form-check-label{font-weight:400!important}.questions-form .abc-radio label{max-width:90%}
2
2
 
3
3
  /*!
4
4
  * https://github.com/YouCanBookMe/react-datetime
@@ -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={4341:(e,t,o)=>{o(8779),o(4656),o(4054),o(6793),o(8576)},8576:(e,t,o)=>{o.d(t,{RESPONSE_TYPE_CODE:()=>m,RESPONSE_TYPE_IMPLICIT:()=>y,doLogin:()=>v,emitAccessToken:()=>P,getOAuth2Flow:()=>E,validateIdToken:()=>j});var r=o(6793);o(4824);const n=require("browser-tabs-lock");var i=o.n(n),s=o(6530),l=o.n(s),c=o(3856),d=o.n(c);o(4341);const u=require("crypto-js/sha256");var p=o.n(u);const _=require("crypto-js/enc-base64url");var f=o.n(_);const w=require("crypto-js/enc-hex");var h=o.n(w);const g=65536,k="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(i());const y="token id_token",m="code",b="nonce",O="pkce",S=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},v=(e=null,t=null,o=null,n=null,i=null)=>{let s=((e=null,t=null,o=null,n=null,i=null,s=null)=>{let a=I(),c=(0,r.getAuthCallback)(),d=x(),u=U(),p=E();null!=e&&(c+=`?BackUrl=${encodeURI(e)}`);let _=S(16);(0,r.putOnLocalStorage)(b,_);let f=l()(`${d}/oauth2/auth`),w={response_type:encodeURI(p),scope:encodeURI(u),nonce:_,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(c)};if(p===m){const e=T();(0,r.putOnLocalStorage)(O,JSON.stringify(e)),w.code_challenge=e.codeChallenge,w.code_challenge_method="S256",w.approval_prompt="force"}return t&&(w.prompt=t),u&&u.includes("offline_access")&&(w.prompt="consent"),o&&(w.id_token_hint=o),n&&(w.provider=n),s&&(w.otp_login_hint=s),i&&(w.login_hint=encodeURI(i)),f=f.query(w),f})(e,o,null,t,n,i);(0,r.getCurrentLocation)().replace(s.toString())},T=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!k)return a;if(e>0)if(e>g)for(let o=0;o<e;o+=g)k.getRandomValues(t.slice(o,o+g));else k.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=h();return"Base64url"===t&&(o=f()),p()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},P=async(e,t=null)=>{let o=x(),n=I(),i=(0,r.getAuthCallback)(),s=JSON.parse((0,r.getFromLocalStorage)(O,!0));null!=t&&(i+=`?BackUrl=${encodeURI(t)}`);const a={code:e,grant_type:"authorization_code",code_verifier:s.codeVerifier,client_id:encodeURI(n),redirect_uri:encodeURI(i)};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).catch((function(e){console.log("Request failed:",e.message)})),t=await e.json();let{access_token:r,refresh_token:n,id_token:i,expires_in:s,error:l,error_description:c}=t;return{access_token:r,refresh_token:n,id_token:i,expires_in:s,error:l,error_description:c}}catch(e){console.log(e)}},I=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,E=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",x=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,U=()=>"undefined"!=typeof window?window.SCOPES:null,j=(e,t,o)=>{let n=new(d())({issuer:t,audience:o}),i=(0,r.getFromLocalStorage)(b,!0),s=n.decode(e),a=(s.header.alg,s.header.kid,s.payload.aud),l=s.payload.iss;s.payload.exp,s.payload.nbf;return(s.payload.nonce||null)==i&&a==o&&l==t}},4054:(e,t,o)=>{o(3838),o(4824),o(6530),o(271),o(4656),o(6793),o(4341),o(8576);const r=e=>t=>({type:e,payload:t});r("RESET_LOADING"),r("START_LOADING"),r("STOP_LOADING")},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>d,getAuthCallback:()=>r,getCurrentHref:()=>s,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>l,putOnLocalStorage:()=>a});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.pathname:null,s=()=>"undefined"!=typeof window?window.location.href:null,a=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},l=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),o}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{o.r(r),o.d(r,{default:()=>_});var e=o(8779),t=o.n(e);const n=require("react");var i=o.n(n),s=o(6530),a=o.n(s),l=o(8576),c=o(6793);function d(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function u(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?d(Object(r),!0).forEach((function(o){t()(e,o,r[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}class p extends i().Component{constructor(e,t,o){super(o),this.state={id_token_is_valid:!0,error:null,error_description:null,issuer:e,audience:t,accessToken:null,flow:(0,l.getOAuth2Flow)()}}_implicitFlow(){const{access_token:e,id_token:t,session_state:o,error:r,error_description:n,expires_in:i}=this.extractHashParams();if(r)return void this.setState(u(u({},this.state),{},{error:r,error_description:n}));if(!e)return void(0,l.doLogin)((0,c.getCurrentPathName)());const s=!!t&&(0,l.validateIdToken)(t,this.state.issuer,this.state.audience);this.setState(u(u({},this.state),{},{id_token_is_valid:s,error:s?null:"Invalid Token",error_description:s?null:"Invalid Token",accessToken:e})),e&&s&&(this.props.onUserAuth(e,t,o,i),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_implicitFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:e,id_token:t,session_state:o,expires_in:i}),window.location.origin)))}_codeFlow(){const{code:e,session_state:t,error:o,error_description:r}=this.extractHashParams();if(o)return void this.setState(u(u({},this.state),{},{error:o,error_description:r}));if(!e)return void(0,l.doLogin)((0,c.getCurrentPathName)());let n=a()((0,c.getCurrentHref)()).search(!0),i=n.hasOwnProperty("BackUrl")?n.BackUrl:null;(0,l.emitAccessToken)(e,i).then((e=>{let{id_token:n,access_token:i,refresh_token:s,expires_in:a,error:c,error_description:d}=e;if(c)return void this.setState(u(u({},this.state),{},{error:c,error_description:d}));const p=!!n&&(0,l.validateIdToken)(n,this.state.issuer,this.state.audience);this.setState(u(u({},this.state),{},{id_token_is_valid:p,accessToken:i,error:p?o:"Invalid Token",error_description:p?r:"Invalid Token"})),i&&p&&(this.props.onUserAuth(i,n,t,a,s),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_codeFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:i,id_token:n,session_state:t,expires_in:a,refresh_token:s}),window.location.origin)))}))}componentDidMount(){let{flow:e}=this.state;e!==l.RESPONSE_TYPE_IMPLICIT?e===l.RESPONSE_TYPE_CODE&&this._codeFlow():this._implicitFlow()}extractHashParams(){return a().parseQuery(this.props.location.hash.substr(1))}shouldComponentUpdate(e,t,o){return t.accessToken!==this.state.accessToken||(t.error!==this.state.error||t.id_token_is_valid!==this.state.id_token_is_valid)}componentDidUpdate(e,t,o){if(t.accessToken!==this.state.accessToken){let e=a()((0,c.getCurrentHref)()),t=e.search(!0),o=a().parseQuery(e.fragment());delete o.code,delete o.access_token,delete o.expires_in,delete o.token_type,delete o.scope,delete o.id_token,delete o.session_state;let r=t.hasOwnProperty("BackUrl")?t.BackUrl:"/app";o.lenght>0&&(r+=`#${a().buildQuery(o)}`),this._callback(r)}}_callback(e){}_redirect2Error(e){}render(){let{id_token_is_valid:e,error:t,error_description:o}=this.state;return null!=t?this._redirect2Error(`${t} - ${o}.`):e?null:this._redirect2Error("Token Validation Error - Token is invalid.")}}const _=p})(),r})()));
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={4341:(e,t,o)=>{o(8779),o(4656),o(4054),o(6793),o(8576)},8576:(e,t,o)=>{o.d(t,{RESPONSE_TYPE_CODE:()=>m,RESPONSE_TYPE_IMPLICIT:()=>y,doLogin:()=>v,emitAccessToken:()=>P,getOAuth2Flow:()=>E,validateIdToken:()=>j});var r=o(6793);o(2691);const n=require("browser-tabs-lock");var i=o.n(n),s=o(6530),l=o.n(s),c=o(3856),d=o.n(c);o(4341);const u=require("crypto-js/sha256");var p=o.n(u);const _=require("crypto-js/enc-base64url");var f=o.n(_);const w=require("crypto-js/enc-hex");var h=o.n(w);const g=65536,k="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(i());const y="token id_token",m="code",b="nonce",O="pkce",S=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},v=(e=null,t=null,o=null,n=null,i=null)=>{let s=((e=null,t=null,o=null,n=null,i=null,s=null)=>{let a=I(),c=(0,r.getAuthCallback)(),d=x(),u=U(),p=E();null!=e&&(c+=`?BackUrl=${encodeURI(e)}`);let _=S(16);(0,r.putOnLocalStorage)(b,_);let f=l()(`${d}/oauth2/auth`),w={response_type:encodeURI(p),scope:encodeURI(u),nonce:_,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(c)};if(p===m){const e=T();(0,r.putOnLocalStorage)(O,JSON.stringify(e)),w.code_challenge=e.codeChallenge,w.code_challenge_method="S256",w.approval_prompt="force"}return t&&(w.prompt=t),u&&u.includes("offline_access")&&(w.prompt="consent"),o&&(w.id_token_hint=o),n&&(w.provider=n),s&&(w.otp_login_hint=s),i&&(w.login_hint=encodeURI(i)),f=f.query(w),f})(e,o,null,t,n,i);(0,r.getCurrentLocation)().replace(s.toString())},T=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!k)return a;if(e>0)if(e>g)for(let o=0;o<e;o+=g)k.getRandomValues(t.slice(o,o+g));else k.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=h();return"Base64url"===t&&(o=f()),p()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},P=async(e,t=null)=>{let o=x(),n=I(),i=(0,r.getAuthCallback)(),s=JSON.parse((0,r.getFromLocalStorage)(O,!0));null!=t&&(i+=`?BackUrl=${encodeURI(t)}`);const a={code:e,grant_type:"authorization_code",code_verifier:s.codeVerifier,client_id:encodeURI(n),redirect_uri:encodeURI(i)};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).catch((function(e){console.log("Request failed:",e.message)})),t=await e.json();let{access_token:r,refresh_token:n,id_token:i,expires_in:s,error:l,error_description:c}=t;return{access_token:r,refresh_token:n,id_token:i,expires_in:s,error:l,error_description:c}}catch(e){console.log(e)}},I=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,E=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",x=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,U=()=>"undefined"!=typeof window?window.SCOPES:null,j=(e,t,o)=>{let n=new(d())({issuer:t,audience:o}),i=(0,r.getFromLocalStorage)(b,!0),s=n.decode(e),a=(s.header.alg,s.header.kid,s.payload.aud),l=s.payload.iss;s.payload.exp,s.payload.nbf;return(s.payload.nonce||null)==i&&a==o&&l==t}},4054:(e,t,o)=>{o(3838),o(2691),o(6530),o(271),o(4656),o(6793),o(4341),o(8576);const r=e=>t=>({type:e,payload:t});r("RESET_LOADING"),r("START_LOADING"),r("STOP_LOADING")},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>d,getAuthCallback:()=>r,getCurrentHref:()=>s,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>l,putOnLocalStorage:()=>a});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.pathname:null,s=()=>"undefined"!=typeof window?window.location.href:null,a=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},l=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),o}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},2691:e=>{e.exports=require("superagent/lib/client")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{o.r(r),o.d(r,{default:()=>_});var e=o(8779),t=o.n(e);const n=require("react");var i=o.n(n),s=o(6530),a=o.n(s),l=o(8576),c=o(6793);function d(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function u(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?d(Object(r),!0).forEach((function(o){t()(e,o,r[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}class p extends i().Component{constructor(e,t,o){super(o),this.state={id_token_is_valid:!0,error:null,error_description:null,issuer:e,audience:t,accessToken:null,flow:(0,l.getOAuth2Flow)()}}_implicitFlow(){const{access_token:e,id_token:t,session_state:o,error:r,error_description:n,expires_in:i}=this.extractHashParams();if(r)return void this.setState(u(u({},this.state),{},{error:r,error_description:n}));if(!e)return void(0,l.doLogin)((0,c.getCurrentPathName)());const s=!!t&&(0,l.validateIdToken)(t,this.state.issuer,this.state.audience);this.setState(u(u({},this.state),{},{id_token_is_valid:s,error:s?null:"Invalid Token",error_description:s?null:"Invalid Token",accessToken:e})),e&&s&&(this.props.onUserAuth(e,t,o,i),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_implicitFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:e,id_token:t,session_state:o,expires_in:i}),window.location.origin)))}_codeFlow(){const{code:e,session_state:t,error:o,error_description:r}=this.extractHashParams();if(o)return void this.setState(u(u({},this.state),{},{error:o,error_description:r}));if(!e)return void(0,l.doLogin)((0,c.getCurrentPathName)());let n=a()((0,c.getCurrentHref)()).search(!0),i=n.hasOwnProperty("BackUrl")?n.BackUrl:null;(0,l.emitAccessToken)(e,i).then((e=>{let{id_token:n,access_token:i,refresh_token:s,expires_in:a,error:c,error_description:d}=e;if(c)return void this.setState(u(u({},this.state),{},{error:c,error_description:d}));const p=!!n&&(0,l.validateIdToken)(n,this.state.issuer,this.state.audience);this.setState(u(u({},this.state),{},{id_token_is_valid:p,accessToken:i,error:p?o:"Invalid Token",error_description:p?r:"Invalid Token"})),i&&p&&(this.props.onUserAuth(i,n,t,a,s),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_codeFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:i,id_token:n,session_state:t,expires_in:a,refresh_token:s}),window.location.origin)))}))}componentDidMount(){let{flow:e}=this.state;e!==l.RESPONSE_TYPE_IMPLICIT?e===l.RESPONSE_TYPE_CODE&&this._codeFlow():this._implicitFlow()}extractHashParams(){return a().parseQuery(this.props.location.hash.substr(1))}shouldComponentUpdate(e,t,o){return t.accessToken!==this.state.accessToken||(t.error!==this.state.error||t.id_token_is_valid!==this.state.id_token_is_valid)}componentDidUpdate(e,t,o){if(t.accessToken!==this.state.accessToken){let e=a()((0,c.getCurrentHref)()),t=e.search(!0),o=a().parseQuery(e.fragment());delete o.code,delete o.access_token,delete o.expires_in,delete o.token_type,delete o.scope,delete o.id_token,delete o.session_state;let r=t.hasOwnProperty("BackUrl")?t.BackUrl:"/app";o.lenght>0&&(r+=`#${a().buildQuery(o)}`),this._callback(r)}}_callback(e){}_redirect2Error(e){}render(){let{id_token_is_valid:e,error:t,error_description:o}=this.state;return null!=t?this._redirect2Error(`${t} - ${o}.`):e?null:this._redirect2Error("Token Validation Error - Token is invalid.")}}const _=p})(),r})()));
@@ -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={4341:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_SESSION_STATE:()=>E,LOGOUT_USER:()=>p,RECEIVE_USER_INFO:()=>S,REQUEST_USER_INFO:()=>f,SESSION_STATE_STATUS_CHANGED:()=>w,SESSION_STATE_STATUS_ERROR:()=>O,SESSION_STATE_STATUS_UNCHANGED:()=>g,SET_LOGGED_USER:()=>_,UPDATE_SESSION_STATE_STATUS:()=>R,UPDATE_USER_INFO:()=>y,doLogout:()=>h,getUserInfo:()=>U,onUserAuth:()=>T,updateSessionStateStatus:()=>m,updateUserInfo:()=>A});var r=o(8779),n=o.n(r),s=o(4656),a=o.n(s),i=o(4054),l=o(6793),u=o(8576);function c(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function d(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?c(Object(o),!0).forEach((function(t){n()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const _="SET_LOGGED_USER",p="LOGOUT_USER",f="REQUEST_USER_INFO",S="RECEIVE_USER_INFO",E="CLEAR_SESSION_STATE",R="UPDATE_SESSION_STATE_STATUS",g="unchanged",w="changed",O="error",y="UPDATE_USER_INFO",T=(e,t,o,r=0,n=null)=>s=>{(0,u.storeAuthInfo)(e,r,n,t),s({type:_,payload:{sessionState:o}})},h=e=>(t,o)=>{t({type:p,payload:{backUrl:e}})},U=(e="groups",t="",o=null,r=null,n=null)=>async(s,c)=>{let d=(0,l.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:_}=c(),{member:p}=_,E=await(0,u.getAccessToken)();if(null!=p)return null!=r&&null!=o&&r.push(o),Promise.resolve();null==n&&(n=i.authErrorHandler),s((0,i.startLoading)());let R={access_token:E,expand:e};return t&&(R.fields=t),(0,i.getRequest)((0,i.createAction)(f),(0,i.createAction)(S),(0,l.buildAPIBaseUrl)("/api/v1/members/me"),n)(R)(s,c).then((()=>{s((0,i.stopLoading)());let{member:e}=c().loggedUserState;if(null==e){let e={title:"ERROR",html:a().translate("errors.user_not_set"),type:"error"};s((0,i.showMessage)(e,u.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:a().translate("errors.user_not_authz"),type:"error"};return void s((0,i.showMessage)(e,u.initLogOut))}}null!=r&&null!=o&&r.push(o)}))},A=e=>(t,o)=>{let{loggedUserState:r}=o(),{member:n}=r;if(null==n)throw Error("Member is not set.");if(e.id!=n.id)throw Error("Member is not the same.");t({type:y,payload:d({},e)})},m=e=>(t,o)=>{t({type:R,payload:{sessionStateStatus:e}})}},1593:(e,t,o)=>{o.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>a,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>n,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>i});const r="AUTH_ERROR_MISSING_AUTH_INFO",n="AUTH_ERROR_MISSING_REFRESH_TOKEN",s="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",a="AUTH_ERROR_LOCK_ACQUIRE_ERROR",i="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,o)=>{o.d(t,{doLogin:()=>A,getAccessToken:()=>b,initLogOut:()=>F,storeAuthInfo:()=>k});var r=o(6793);o(4824);const n=require("browser-tabs-lock");var s=o.n(n),i=o(6530),l=o.n(i);o(3856),o(4341);const u=require("crypto-js/sha256");var c=o.n(u);const d=require("crypto-js/enc-base64url");var _=o.n(d);const p=require("crypto-js/enc-hex");var f=o.n(p);const S=65536,E="undefined"!=typeof window?window.crypto||window.msCrypto:null;var R=o(1593);const g=new(s()),w="openstackuicore.lock.getTokenSilently",O="code",y="authInfo",T="nonce",h="pkce",U=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},A=(e=null,t=null,o=null,n=null,s=null)=>{let a=((e=null,t=null,o=null,n=null,s=null,a=null)=>{let i=P(),u=(0,r.getAuthCallback)(),c=j(),d=x(),_=v();null!=e&&(u+=`?BackUrl=${encodeURI(e)}`);let p=U(16);(0,r.putOnLocalStorage)(T,p);let f=l()(`${c}/oauth2/auth`),S={response_type:encodeURI(_),scope:encodeURI(d),nonce:p,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(u)};if(_===O){const e=m();(0,r.putOnLocalStorage)(h,JSON.stringify(e)),S.code_challenge=e.codeChallenge,S.code_challenge_method="S256",S.approval_prompt="force"}return t&&(S.prompt=t),d&&d.includes("offline_access")&&(S.prompt="consent"),o&&(S.id_token_hint=o),n&&(S.provider=n),a&&(S.otp_login_hint=a),s&&(S.login_hint=encodeURI(s)),f=f.query(S),f})(e,o,null,t,n,s);(0,r.getCurrentLocation)().replace(a.toString())},m=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!E)return a;if(e>0)if(e>S)for(let o=0;o<e;o+=S)E.getRandomValues(t.slice(o,o+S));else E.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=f();return"Base64url"===t&&(o=_()),c()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},b=async()=>{if(await(0,r.retryPromise)((()=>g.acquireLock(w,5e3)),10))try{let e=N();if(!e)throw Error(R.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,s=v(),a=Math.floor(Date.now()/1e3);if(o-=20,a-r>o||null==t){if(console.log("getAccessToken access token expired"),s===O&&H()){if(!n)throw L(),Error(R.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await I(n),{access_token:t,expires_in:o,refresh_token:r}=e;return void 0===r&&(r=null),k(t,o,r),t}throw L(),Error(R.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await g.releaseLock(w)}throw Error(R.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},I=async e=>{let t=j(),o=P();const n={grant_type:"refresh_token",client_id:encodeURI(o),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${R.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${R.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),o=await e.json();let{access_token:s,refresh_token:a,expires_in:i}=o;return{access_token:s,refresh_token:a,expires_in:i}}catch(e){throw console.log(e),e}},k=(e,t,o=null,n=null)=>{let s=N(),a={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&s&&(o=s.refreshToken),null===n&&s&&(n=s.idToken),o&&(a.refreshToken=o),n&&(a.idToken=n),(0,r.putOnLocalStorage)(y,JSON.stringify(a))},N=()=>{try{let e=(0,r.getFromLocalStorage)(y,!1);return e?JSON.parse(e):null}catch(e){return null}},L=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(y),(0,r.removeFromLocalStorage)(T),void(0,r.removeFromLocalStorage)(h)},C=()=>{if("undefined"!=typeof window){const e=N();return e?e.idToken:null}return null},P=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,v=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",H=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),j=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,x=()=>"undefined"!=typeof window?window.SCOPES:null,F=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=j(),o=P(),n=l()(`${t}/oauth2/end-session`),s=U(16),a=(0,r.getOrigin)()+"/auth/logout";return(0,r.putOnLocalStorage)("post_logout_state",s),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(o),state:s})})(C()).toString())}},4054:(e,t,o)=>{o.d(t,{authErrorHandler:()=>U,createAction:()=>g,getRequest:()=>A,showMessage:()=>N,startLoading:()=>w,stopLoading:()=>O});var r=o(3838),n=o.n(r),s=o(4824),a=o.n(s),i=o(6530),l=o.n(i),u=o(271),c=o.n(u),d=o(4656),_=o.n(d),p=o(6793),f=o(4341),S=o(8576);const E=["access_token"];let R=a();const g=e=>t=>({type:e,payload:t}),w=(g("RESET_LOADING"),g("START_LOADING")),O=g("STOP_LOADING"),y={},T={},h=e=>0===Object.keys(e).length&&e.constructor===Object,U=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(O()),r){case 403:let o={title:"ERROR",html:_().translate("errors.user_not_authz"),type:"error"};t(N(o,S.initLogOut));break;case 401:let r=(0,p.getCurrentPathName)(),i=(0,p.isClearingSessionState)();t({type:f.CLEAR_SESSION_STATE,payload:{}}),i||((0,p.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,S.doLogin)(r));break;case 404:n="",n=e.response.body&&e.response.body.message?e.response.body.message:e.response.error&&e.response.error.message?e.response.error.message:e.message,c().fire("Not Found",n,"warning");break;case 412:for(var[s,a]of Object.entries(e.response.body.errors))isNaN(s)&&(n+=s+": "),n+=a+"<br>";c().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:c().fire("ERROR",_().translate("errors.server_error"),"error")}},A=(e,t,o,r=m,s={},a=!1)=>(i={})=>(u,c)=>{let d=l()(o),_=d.toString();if(!h(i)){const{access_token:e}=i,t=n()(i,E);_=d.query(t).toString(),d=d.query(i)}return e&&"function"==typeof e&&u(e(s)),(e=>{y[e]&&(y[e].abort(),console.log(`aborted request ${e}`),delete y[e])})(_),new Promise(((e,o)=>{let n=R.get(d.toString());if(a&&T.hasOwnProperty(_)){const{etag:e}=T[_];e&&n.set("If-None-Match",e)}n.timeout({response:6e4,deadline:6e4}).end(k(u,c,t,r,e,o,_,a)),((e,t)=>{y[e]=t})(_,n)}))},m=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),c().fire(t.statusText,r,"error")},b=e=>e.toLowerCase(),I=(e,t={})=>{const o=(e=>Object.keys(e))(t).find((e=>t=>b(t)===e)(e));return o?t[o]:void 0},k=(e,t,o,r,n,s,a=null,i=!1)=>(l,u)=>{if(l||!u.ok){if(304===l.status&&T.hasOwnProperty(a)&&i){const{body:t}=T[a];return"function"==typeof o?(e(o({response:t})),n({response:t})):(e(o),n({response:t}))}return r&&r(l,u)(e,t),s({err:l,res:u,dispatch:e,state:t})}let c=u.body;if(i){const e=I("etag",u.headers);e&&(T[a]={etag:e,body:c})}return"function"==typeof o?(e(o({response:c})),n({response:c})):(e(o),n({response:c}))},N=(e,t={})=>o=>{o(O()),c().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))}},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>f,buildAPIBaseUrl:()=>l,getAllowedUserGroups:()=>i,getAuthCallback:()=>r,getCurrentLocation:()=>n,getCurrentPathName:()=>a,getFromLocalStorage:()=>c,getOrigin:()=>s,isClearingSessionState:()=>_,putOnLocalStorage:()=>u,removeFromLocalStorage:()=>d,retryPromise:()=>S,setSessionClearingState:()=>p});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},s=()=>"undefined"!=typeof window?window.location.origin:null,a=()=>"undefined"!=typeof window?window.location.pathname:null,i=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,l=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,u=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},c=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),d(e)),o}return null},d=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},_=()=>"undefined"!=typeof window&&window.clearing_session_state,p=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},f=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),S=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,o),s.exports}return(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),o(4341)})()));
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={4341:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_SESSION_STATE:()=>E,LOGOUT_USER:()=>p,RECEIVE_USER_INFO:()=>S,REQUEST_USER_INFO:()=>f,SESSION_STATE_STATUS_CHANGED:()=>w,SESSION_STATE_STATUS_ERROR:()=>O,SESSION_STATE_STATUS_UNCHANGED:()=>g,SET_LOGGED_USER:()=>_,UPDATE_SESSION_STATE_STATUS:()=>R,UPDATE_USER_INFO:()=>y,doLogout:()=>h,getUserInfo:()=>U,onUserAuth:()=>T,updateSessionStateStatus:()=>m,updateUserInfo:()=>A});var r=o(8779),n=o.n(r),s=o(4656),i=o.n(s),a=o(4054),l=o(6793),u=o(8576);function c(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function d(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?c(Object(o),!0).forEach((function(t){n()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const _="SET_LOGGED_USER",p="LOGOUT_USER",f="REQUEST_USER_INFO",S="RECEIVE_USER_INFO",E="CLEAR_SESSION_STATE",R="UPDATE_SESSION_STATE_STATUS",g="unchanged",w="changed",O="error",y="UPDATE_USER_INFO",T=(e,t,o,r=0,n=null)=>s=>{(0,u.storeAuthInfo)(e,r,n,t),s({type:_,payload:{sessionState:o}})},h=e=>(t,o)=>{t({type:p,payload:{backUrl:e}})},U=(e="groups",t="",o=null,r=null,n=null)=>async(s,c)=>{let d=(0,l.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:_}=c(),{member:p}=_,E=await(0,u.getAccessToken)();if(null!=p)return null!=r&&null!=o&&r.push(o),Promise.resolve();null==n&&(n=a.authErrorHandler),s((0,a.startLoading)());let R={access_token:E,expand:e};return t&&(R.fields=t),(0,a.getRequest)((0,a.createAction)(f),(0,a.createAction)(S),(0,l.buildAPIBaseUrl)("/api/v1/members/me"),n)(R)(s,c).then((()=>{s((0,a.stopLoading)());let{member:e}=c().loggedUserState;if(null==e){let e={title:"ERROR",html:i().translate("errors.user_not_set"),type:"error"};s((0,a.showMessage)(e,u.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:i().translate("errors.user_not_authz"),type:"error"};return void s((0,a.showMessage)(e,u.initLogOut))}}null!=r&&null!=o&&r.push(o)}))},A=e=>(t,o)=>{let{loggedUserState:r}=o(),{member:n}=r;if(null==n)throw Error("Member is not set.");if(e.id!=n.id)throw Error("Member is not the same.");t({type:y,payload:d({},e)})},m=e=>(t,o)=>{t({type:R,payload:{sessionStateStatus:e}})}},1593:(e,t,o)=>{o.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>i,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>n,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>a});const r="AUTH_ERROR_MISSING_AUTH_INFO",n="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,t,o)=>{o.d(t,{doLogin:()=>A,getAccessToken:()=>b,initLogOut:()=>F,storeAuthInfo:()=>k});var r=o(6793);o(2691);const n=require("browser-tabs-lock");var s=o.n(n),i=o(6530),l=o.n(i);o(3856),o(4341);const u=require("crypto-js/sha256");var c=o.n(u);const d=require("crypto-js/enc-base64url");var _=o.n(d);const p=require("crypto-js/enc-hex");var f=o.n(p);const S=65536,E="undefined"!=typeof window?window.crypto||window.msCrypto:null;var R=o(1593);const g=new(s()),w="openstackuicore.lock.getTokenSilently",O="code",y="authInfo",T="nonce",h="pkce",U=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},A=(e=null,t=null,o=null,n=null,s=null)=>{let i=((e=null,t=null,o=null,n=null,s=null,i=null)=>{let a=P(),u=(0,r.getAuthCallback)(),c=j(),d=x(),_=v();null!=e&&(u+=`?BackUrl=${encodeURI(e)}`);let p=U(16);(0,r.putOnLocalStorage)(T,p);let f=l()(`${c}/oauth2/auth`),S={response_type:encodeURI(_),scope:encodeURI(d),nonce:p,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(u)};if(_===O){const e=m();(0,r.putOnLocalStorage)(h,JSON.stringify(e)),S.code_challenge=e.codeChallenge,S.code_challenge_method="S256",S.approval_prompt="force"}return t&&(S.prompt=t),d&&d.includes("offline_access")&&(S.prompt="consent"),o&&(S.id_token_hint=o),n&&(S.provider=n),i&&(S.otp_login_hint=i),s&&(S.login_hint=encodeURI(s)),f=f.query(S),f})(e,o,null,t,n,s);(0,r.getCurrentLocation)().replace(i.toString())},m=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!E)return a;if(e>0)if(e>S)for(let o=0;o<e;o+=S)E.getRandomValues(t.slice(o,o+S));else E.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=f();return"Base64url"===t&&(o=_()),c()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},b=async()=>{if(await(0,r.retryPromise)((()=>g.acquireLock(w,5e3)),10))try{let e=N();if(!e)throw Error(R.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,s=v(),i=Math.floor(Date.now()/1e3);if(o-=20,i-r>o||null==t){if(console.log("getAccessToken access token expired"),s===O&&H()){if(!n)throw L(),Error(R.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await I(n),{access_token:t,expires_in:o,refresh_token:r}=e;return void 0===r&&(r=null),k(t,o,r),t}throw L(),Error(R.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await g.releaseLock(w)}throw Error(R.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},I=async e=>{let t=j(),o=P();const n={grant_type:"refresh_token",client_id:encodeURI(o),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${R.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${R.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),o=await e.json();let{access_token:s,refresh_token:i,expires_in:a}=o;return{access_token:s,refresh_token:i,expires_in:a}}catch(e){throw console.log(e),e}},k=(e,t,o=null,n=null)=>{let s=N(),i={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&s&&(o=s.refreshToken),null===n&&s&&(n=s.idToken),o&&(i.refreshToken=o),n&&(i.idToken=n),(0,r.putOnLocalStorage)(y,JSON.stringify(i))},N=()=>{try{let e=(0,r.getFromLocalStorage)(y,!1);return e?JSON.parse(e):null}catch(e){return null}},L=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(y),(0,r.removeFromLocalStorage)(T),void(0,r.removeFromLocalStorage)(h)},C=()=>{if("undefined"!=typeof window){const e=N();return e?e.idToken:null}return null},P=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,v=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",H=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),j=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,x=()=>"undefined"!=typeof window?window.SCOPES:null,F=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=j(),o=P(),n=l()(`${t}/oauth2/end-session`),s=U(16),i=(0,r.getOrigin)()+"/auth/logout";return(0,r.putOnLocalStorage)("post_logout_state",s),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:s})})(C()).toString())}},4054:(e,t,o)=>{o.d(t,{authErrorHandler:()=>U,createAction:()=>g,getRequest:()=>A,showMessage:()=>N,startLoading:()=>w,stopLoading:()=>O});var r=o(3838),n=o.n(r),s=o(2691),i=o.n(s),a=o(6530),l=o.n(a),u=o(271),c=o.n(u),d=o(4656),_=o.n(d),p=o(6793),f=o(4341),S=o(8576);const E=["access_token"];let R=i();const g=e=>t=>({type:e,payload:t}),w=(g("RESET_LOADING"),g("START_LOADING")),O=g("STOP_LOADING"),y={},T={},h=e=>0===Object.keys(e).length&&e.constructor===Object,U=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(O()),r){case 403:let o={title:"ERROR",html:_().translate("errors.user_not_authz"),type:"error"};t(N(o,S.initLogOut));break;case 401:let r=(0,p.getCurrentPathName)(),a=(0,p.isClearingSessionState)();t({type:f.CLEAR_SESSION_STATE,payload:{}}),a||((0,p.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,S.doLogin)(r));break;case 404:n="",n=e.response.body&&e.response.body.message?e.response.body.message:e.response.error&&e.response.error.message?e.response.error.message:e.message,c().fire("Not Found",n,"warning");break;case 412:for(var[s,i]of Object.entries(e.response.body.errors))isNaN(s)&&(n+=s+": "),n+=i+"<br>";c().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:c().fire("ERROR",_().translate("errors.server_error"),"error")}},A=(e,t,o,r=m,s={},i=!1)=>(a={})=>(u,c)=>{let d=l()(o),_=d.toString();if(!h(a)){const{access_token:e}=a,t=n()(a,E);_=d.query(t).toString(),d=d.query(a)}return e&&"function"==typeof e&&u(e(s)),(e=>{y[e]&&(y[e].abort(),console.log(`aborted request ${e}`),delete y[e])})(_),new Promise(((e,o)=>{let n=R.get(d.toString());if(i&&T.hasOwnProperty(_)){const{etag:e}=T[_];e&&n.set("If-None-Match",e)}n.timeout({response:6e4,deadline:6e4}).end(k(u,c,t,r,e,o,_,i)),((e,t)=>{y[e]=t})(_,n)}))},m=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),c().fire(t.statusText,r,"error")},b=e=>e.toLowerCase(),I=(e,t={})=>{const o=(e=>Object.keys(e))(t).find((e=>t=>b(t)===e)(e));return o?t[o]:void 0},k=(e,t,o,r,n,s,i=null,a=!1)=>(l,u)=>{if(l||!u.ok){if(304===l.status&&T.hasOwnProperty(i)&&a){const{body:t}=T[i];return"function"==typeof o?(e(o({response:t})),n({response:t})):(e(o),n({response:t}))}return r&&r(l,u)(e,t),s({err:l,res:u,dispatch:e,state:t})}let c=u.body;if(a){const e=I("etag",u.headers);e&&(T[i]={etag:e,body:c})}return"function"==typeof o?(e(o({response:c})),n({response:c})):(e(o),n({response:c}))},N=(e,t={})=>o=>{o(O()),c().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))}},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>f,buildAPIBaseUrl:()=>l,getAllowedUserGroups:()=>a,getAuthCallback:()=>r,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>c,getOrigin:()=>s,isClearingSessionState:()=>_,putOnLocalStorage:()=>u,removeFromLocalStorage:()=>d,retryPromise:()=>S,setSessionClearingState:()=>p});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},s=()=>"undefined"!=typeof window?window.location.origin:null,i=()=>"undefined"!=typeof window?window.location.pathname:null,a=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,l=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,u=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},c=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),d(e)),o}return null},d=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},_=()=>"undefined"!=typeof window&&window.clearing_session_state,p=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},f=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),S=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},2691:e=>{e.exports=require("superagent/lib/client")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,o),s.exports}return(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),o(4341)})()));
@@ -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.d(o,{SET_LOGGED_USER:()=>n});t(8779),t(4656),t(4054),t(6793),t(8576);const n="SET_LOGGED_USER"},1593:(e,o,t)=>{t.d(o,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>i,AUTH_ERROR_ID_TOKEN_INVALID:()=>c,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>a,AUTH_ERROR_MISSING_AUTH_INFO:()=>n,AUTH_ERROR_MISSING_OTP_PARAM:()=>s,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>r,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>l});const n="AUTH_ERROR_MISSING_AUTH_INFO",r="AUTH_ERROR_MISSING_REFRESH_TOKEN",i="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",a="AUTH_ERROR_LOCK_ACQUIRE_ERROR",l="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR",c="AUTH_ERROR_ID_TOKEN_INVALID",s="AUTH_ERROR_MISSING_OTP_PARAM"},8576:(e,o,t)=>{t.r(o),t.d(o,{ACCESS_TOKEN_SKEW_TIME:()=>A,RESPONSE_TYPE_CODE:()=>k,RESPONSE_TYPE_IMPLICIT:()=>U,clearAccessToken:()=>M,clearAuthInfo:()=>$,doLogin:()=>v,doLoginBasicLogin:()=>x,emitAccessToken:()=>F,getAccessToken:()=>j,getAuthInfo:()=>q,getAuthUrl:()=>C,getIdToken:()=>B,getLogoutUrl:()=>b,getOAuth2ClientId:()=>Q,getOAuth2Flow:()=>V,getOAuth2IDPBaseUrl:()=>W,getOAuth2Scopes:()=>X,initLogOut:()=>z,isIdTokenAlive:()=>oe,passwordlessLogin:()=>ee,passwordlessStart:()=>Z,refreshAccessToken:()=>G,storeAuthInfo:()=>K,useOAuth2RefreshToken:()=>J,validateIdToken:()=>Y});var n=t(6793),r=t(4824),i=t.n(r);const l=require("browser-tabs-lock");var c=t.n(l),s=t(6530),d=t.n(s),u=t(3856),_=t.n(u),p=t(4341);const R=require("crypto-js/sha256");var f=t.n(R);const E=require("crypto-js/enc-base64url");var w=t.n(E);const h=require("crypto-js/enc-hex");var g=t.n(h);const S=65536,O="undefined"!=typeof window?window.crypto||window.msCrypto:null;var T=t(1593);let y=i();const I=new(c()),m="openstackuicore.lock.getTokenSilently",A=20,U="token id_token",k="code",L="authInfo",N="nonce",P="pkce",C=(e=null,o=null,t=null,r=null,i=null,a=null)=>{let l=Q(),c=(0,n.getAuthCallback)(),s=W(),u=X(),_=V();null!=e&&(c+=`?BackUrl=${encodeURI(e)}`);let p=H(16);(0,n.putOnLocalStorage)(N,p);let R=d()(`${s}/oauth2/auth`),f={response_type:encodeURI(_),scope:encodeURI(u),nonce:p,response_mode:"fragment",client_id:encodeURI(l),redirect_uri:encodeURI(c)};if(_===k){const e=D();(0,n.putOnLocalStorage)(P,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return o&&(f.prompt=o),u&&u.includes("offline_access")&&(f.prompt="consent"),t&&(f.id_token_hint=t),r&&(f.provider=r),a&&(f.otp_login_hint=a),i&&(f.login_hint=encodeURI(i)),R=R.query(f),R},b=e=>{let o=W(),t=Q(),r=d()(`${o}/oauth2/end-session`),i=H(16),a=(0,n.getOrigin)()+"/auth/logout";return(0,n.putOnLocalStorage)("post_logout_state",i),r.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(t),state:i})},H=e=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=o.charAt(Math.floor(Math.random()*o.length));return t},v=(e=null,o=null,t=null,r=null,i=null)=>{let a=C(e,t,null,o,r,i);(0,n.getCurrentLocation)().replace(a.toString())},x=(e=null,o=null,t=null)=>{v(e,null,null,o,t)},D=()=>{const e=(0,n.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const o=Buffer.allocUnsafe(e);if(!O)return a;if(e>0)if(e>S)for(let t=0;t<e;t+=S)O.getRandomValues(o.slice(t,t+S));else O.getRandomValues(o);return o})(64));return{codeVerifier:e,codeChallenge:((e,o="hex")=>{let t=g();return"Base64url"===o&&(t=w()),f()(e).toString(t)})(e,"Base64url"),createdAt:new Date}},F=async(e,o=null)=>{let t=W(),r=Q(),i=(0,n.getAuthCallback)(),a=JSON.parse((0,n.getFromLocalStorage)(P,!0));null!=o&&(i+=`?BackUrl=${encodeURI(o)}`);const l={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(r),redirect_uri:encodeURI(i)};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l)}).catch((function(e){console.log("Request failed:",e.message)})),o=await e.json();let{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:c,error_description:s}=o;return{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:c,error_description:s}}catch(e){console.log(e)}},M=async()=>{if(await(0,n.retryPromise)((()=>I.acquireLock(m,5e3)),10))try{let e=q();if(!e)throw Error(T.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e;K(null,0,r)}finally{await I.releaseLock(m)}},j=async()=>{if(await(0,n.retryPromise)((()=>I.acquireLock(m,5e3)),10))try{let e=q();if(!e)throw Error(T.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=V(),a=Math.floor(Date.now()/1e3);if(t-=A,a-n>t||null==o){if(console.log("getAccessToken access token expired"),i===k&&J()){if(!r)throw $(),Error(T.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await G(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),K(o,t,n),o}throw $(),Error(T.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return o}finally{await I.releaseLock(m)}throw Error(T.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},G=async e=>{let o=W(),t=Q();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(`${T.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${T.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),t=await e.json();let{access_token:i,refresh_token:a,expires_in:l}=t;return{access_token:i,refresh_token:a,expires_in:l}}catch(e){throw console.log(e),e}},K=(e,o,t=null,r=null)=>{let i=q(),a={accessToken:e,expiresIn:o,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===t&&i&&(t=i.refreshToken),null===r&&i&&(r=i.idToken),t&&(a.refreshToken=t),r&&(a.idToken=r),(0,n.putOnLocalStorage)(L,JSON.stringify(a))},q=()=>{try{let e=(0,n.getFromLocalStorage)(L,!1);return e?JSON.parse(e):null}catch(e){return null}},$=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(L),(0,n.removeFromLocalStorage)(N),void(0,n.removeFromLocalStorage)(P)},B=()=>{if("undefined"!=typeof window){const e=q();return e?e.idToken:null}return null},Q=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,V=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",J=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),W=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,X=()=>"undefined"!=typeof window?window.SCOPES:null,z=()=>{(0,n.getCurrentLocation)().replace(b(B()).toString())},Y=(e,o,t)=>{let r=new(_())({issuer:o,audience:t}),i=(0,n.getFromLocalStorage)(N,!0),a=r.decode(e),l=(a.header.alg,a.header.kid,a.payload.aud),c=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&l==t&&c==o},Z=e=>{let o=Q(),t=X(),r=H(16);(0,n.putOnLocalStorage)(N,r);let i=W(),a=d()(`${i}/oauth2/auth`),l={response_type:"otp",scope:encodeURI(t),nonce:r,client_id:encodeURI(o),connection:e.connection||"email",send:e.send||"code"};return e.hasOwnProperty("email")&&(l.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(l.phone_number=encodeURIComponent(e.phone_number)),e.hasOwnProperty("redirect_uri")&&(l.redirect_uri=encodeURIComponent(e.redirect_uri)),y.post(a.toString()).send(l).then((e=>{let o=e.body;return Promise.resolve({response:o})})).catch((e=>Promise.reject(e)))},ee=e=>o=>{let t=Q(),n=X(),r=W(),i=d()(`${r}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error(T.AUTH_ERROR_MISSING_OTP_PARAM);let a={grant_type:"passwordless",connection:e.connection||"email",scope:encodeURI(n),client_id:encodeURI(t),otp:e.otp};return e.hasOwnProperty("email")&&(a.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(a.phone_number=encodeURIComponent(e.phone_number)),y.post(i.toString()).send(a).then((e=>{try{let n=e.body,{access_token:i,expires_in:a,refresh_token:l,id_token:c}=n;if(void 0===l&&(l=null),void 0===c&&(c=null),c&&!Y(c,r,t))throw Error(T.AUTH_ERROR_ID_TOKEN_INVALID);return K(i,a,l,c),o&&o({type:p.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))},oe=(e=null)=>()=>{e||(e=Math.floor(Date.now()/1e3));const o=B();if(!o)throw Error("Id Token not set.");const t=W(),n=Q();return new(_())({issuer:t,audience:n}).decode(o).payload.exp-(e+A)>0}},4054:(e,o,t)=>{t(3838),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,{base64URLEncode:()=>u,getAuthCallback:()=>n,getCurrentLocation:()=>r,getCurrentPathName:()=>a,getFromLocalStorage:()=>c,getOrigin:()=>i,putOnLocalStorage:()=>l,removeFromLocalStorage:()=>s,retryPromise:()=>_,setSessionClearingState:()=>d});t(8362),t(6530);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,r=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.origin:null,a=()=>"undefined"!=typeof window?window.location.pathname:null,l=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},c=(e,o)=>{if("undefined"!=typeof window){let t=window.localStorage.getItem(e);return o&&(console.log(`getFromLocalStorage removing key ${e}`),s(e)),t}return null},s=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},u=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),_=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},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 i=o[n]={exports:{}};return e[n](i,i.exports,t),i.exports}return(()=>{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})}})(),t(8576)})()));
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.d(o,{SET_LOGGED_USER:()=>n});t(8779),t(4656),t(4054),t(6793),t(8576);const n="SET_LOGGED_USER"},1593:(e,o,t)=>{t.d(o,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>i,AUTH_ERROR_ID_TOKEN_INVALID:()=>c,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>a,AUTH_ERROR_MISSING_AUTH_INFO:()=>n,AUTH_ERROR_MISSING_OTP_PARAM:()=>s,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>r,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>l});const n="AUTH_ERROR_MISSING_AUTH_INFO",r="AUTH_ERROR_MISSING_REFRESH_TOKEN",i="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",a="AUTH_ERROR_LOCK_ACQUIRE_ERROR",l="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR",c="AUTH_ERROR_ID_TOKEN_INVALID",s="AUTH_ERROR_MISSING_OTP_PARAM"},8576:(e,o,t)=>{t.r(o),t.d(o,{ACCESS_TOKEN_SKEW_TIME:()=>A,RESPONSE_TYPE_CODE:()=>k,RESPONSE_TYPE_IMPLICIT:()=>U,clearAccessToken:()=>M,clearAuthInfo:()=>$,doLogin:()=>v,doLoginBasicLogin:()=>x,emitAccessToken:()=>F,getAccessToken:()=>j,getAuthInfo:()=>q,getAuthUrl:()=>b,getIdToken:()=>B,getLogoutUrl:()=>C,getOAuth2ClientId:()=>Q,getOAuth2Flow:()=>V,getOAuth2IDPBaseUrl:()=>W,getOAuth2Scopes:()=>X,initLogOut:()=>z,isIdTokenAlive:()=>oe,passwordlessLogin:()=>ee,passwordlessStart:()=>Z,refreshAccessToken:()=>G,storeAuthInfo:()=>K,useOAuth2RefreshToken:()=>J,validateIdToken:()=>Y});var n=t(6793),r=t(2691),i=t.n(r);const l=require("browser-tabs-lock");var c=t.n(l),s=t(6530),d=t.n(s),u=t(3856),_=t.n(u),p=t(4341);const R=require("crypto-js/sha256");var f=t.n(R);const E=require("crypto-js/enc-base64url");var w=t.n(E);const h=require("crypto-js/enc-hex");var g=t.n(h);const S=65536,O="undefined"!=typeof window?window.crypto||window.msCrypto:null;var T=t(1593);let y=i();const I=new(c()),m="openstackuicore.lock.getTokenSilently",A=20,U="token id_token",k="code",L="authInfo",N="nonce",P="pkce",b=(e=null,o=null,t=null,r=null,i=null,a=null)=>{let l=Q(),c=(0,n.getAuthCallback)(),s=W(),u=X(),_=V();null!=e&&(c+=`?BackUrl=${encodeURI(e)}`);let p=H(16);(0,n.putOnLocalStorage)(N,p);let R=d()(`${s}/oauth2/auth`),f={response_type:encodeURI(_),scope:encodeURI(u),nonce:p,response_mode:"fragment",client_id:encodeURI(l),redirect_uri:encodeURI(c)};if(_===k){const e=D();(0,n.putOnLocalStorage)(P,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return o&&(f.prompt=o),u&&u.includes("offline_access")&&(f.prompt="consent"),t&&(f.id_token_hint=t),r&&(f.provider=r),a&&(f.otp_login_hint=a),i&&(f.login_hint=encodeURI(i)),R=R.query(f),R},C=e=>{let o=W(),t=Q(),r=d()(`${o}/oauth2/end-session`),i=H(16),a=(0,n.getOrigin)()+"/auth/logout";return(0,n.putOnLocalStorage)("post_logout_state",i),r.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(t),state:i})},H=e=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=o.charAt(Math.floor(Math.random()*o.length));return t},v=(e=null,o=null,t=null,r=null,i=null)=>{let a=b(e,t,null,o,r,i);(0,n.getCurrentLocation)().replace(a.toString())},x=(e=null,o=null,t=null)=>{v(e,null,null,o,t)},D=()=>{const e=(0,n.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const o=Buffer.allocUnsafe(e);if(!O)return a;if(e>0)if(e>S)for(let t=0;t<e;t+=S)O.getRandomValues(o.slice(t,t+S));else O.getRandomValues(o);return o})(64));return{codeVerifier:e,codeChallenge:((e,o="hex")=>{let t=g();return"Base64url"===o&&(t=w()),f()(e).toString(t)})(e,"Base64url"),createdAt:new Date}},F=async(e,o=null)=>{let t=W(),r=Q(),i=(0,n.getAuthCallback)(),a=JSON.parse((0,n.getFromLocalStorage)(P,!0));null!=o&&(i+=`?BackUrl=${encodeURI(o)}`);const l={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(r),redirect_uri:encodeURI(i)};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l)}).catch((function(e){console.log("Request failed:",e.message)})),o=await e.json();let{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:c,error_description:s}=o;return{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:c,error_description:s}}catch(e){console.log(e)}},M=async()=>{if(await(0,n.retryPromise)((()=>I.acquireLock(m,5e3)),10))try{let e=q();if(!e)throw Error(T.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e;K(null,0,r)}finally{await I.releaseLock(m)}},j=async()=>{if(await(0,n.retryPromise)((()=>I.acquireLock(m,5e3)),10))try{let e=q();if(!e)throw Error(T.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=V(),a=Math.floor(Date.now()/1e3);if(t-=A,a-n>t||null==o){if(console.log("getAccessToken access token expired"),i===k&&J()){if(!r)throw $(),Error(T.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await G(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),K(o,t,n),o}throw $(),Error(T.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return o}finally{await I.releaseLock(m)}throw Error(T.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},G=async e=>{let o=W(),t=Q();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(`${T.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${T.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),t=await e.json();let{access_token:i,refresh_token:a,expires_in:l}=t;return{access_token:i,refresh_token:a,expires_in:l}}catch(e){throw console.log(e),e}},K=(e,o,t=null,r=null)=>{let i=q(),a={accessToken:e,expiresIn:o,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===t&&i&&(t=i.refreshToken),null===r&&i&&(r=i.idToken),t&&(a.refreshToken=t),r&&(a.idToken=r),(0,n.putOnLocalStorage)(L,JSON.stringify(a))},q=()=>{try{let e=(0,n.getFromLocalStorage)(L,!1);return e?JSON.parse(e):null}catch(e){return null}},$=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(L),(0,n.removeFromLocalStorage)(N),void(0,n.removeFromLocalStorage)(P)},B=()=>{if("undefined"!=typeof window){const e=q();return e?e.idToken:null}return null},Q=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,V=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",J=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),W=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,X=()=>"undefined"!=typeof window?window.SCOPES:null,z=()=>{(0,n.getCurrentLocation)().replace(C(B()).toString())},Y=(e,o,t)=>{let r=new(_())({issuer:o,audience:t}),i=(0,n.getFromLocalStorage)(N,!0),a=r.decode(e),l=(a.header.alg,a.header.kid,a.payload.aud),c=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&l==t&&c==o},Z=e=>{let o=Q(),t=X(),r=H(16);(0,n.putOnLocalStorage)(N,r);let i=W(),a=d()(`${i}/oauth2/auth`),l={response_type:"otp",scope:encodeURI(t),nonce:r,client_id:encodeURI(o),connection:e.connection||"email",send:e.send||"code"};return e.hasOwnProperty("email")&&(l.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(l.phone_number=encodeURIComponent(e.phone_number)),e.hasOwnProperty("redirect_uri")&&(l.redirect_uri=encodeURIComponent(e.redirect_uri)),y.post(a.toString()).send(l).then((e=>{let o=e.body;return Promise.resolve({response:o})})).catch((e=>Promise.reject(e)))},ee=e=>o=>{let t=Q(),n=X(),r=W(),i=d()(`${r}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error(T.AUTH_ERROR_MISSING_OTP_PARAM);let a={grant_type:"passwordless",connection:e.connection||"email",scope:encodeURI(n),client_id:encodeURI(t),otp:e.otp};return e.hasOwnProperty("email")&&(a.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(a.phone_number=encodeURIComponent(e.phone_number)),y.post(i.toString()).send(a).then((e=>{try{let n=e.body,{access_token:i,expires_in:a,refresh_token:l,id_token:c}=n;if(void 0===l&&(l=null),void 0===c&&(c=null),c&&!Y(c,r,t))throw Error(T.AUTH_ERROR_ID_TOKEN_INVALID);return K(i,a,l,c),o&&o({type:p.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))},oe=(e=null)=>()=>{e||(e=Math.floor(Date.now()/1e3));const o=B();if(!o)throw Error("Id Token not set.");const t=W(),n=Q();return new(_())({issuer:t,audience:n}).decode(o).payload.exp-(e+A)>0}},4054:(e,o,t)=>{t(3838),t(2691),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,{base64URLEncode:()=>u,getAuthCallback:()=>n,getCurrentLocation:()=>r,getCurrentPathName:()=>a,getFromLocalStorage:()=>c,getOrigin:()=>i,putOnLocalStorage:()=>l,removeFromLocalStorage:()=>s,retryPromise:()=>_,setSessionClearingState:()=>d});t(8362),t(6530);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,r=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.origin:null,a=()=>"undefined"!=typeof window?window.location.pathname:null,l=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},c=(e,o)=>{if("undefined"!=typeof window){let t=window.localStorage.getItem(e);return o&&(console.log(`getFromLocalStorage removing key ${e}`),s(e)),t}return null},s=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},u=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),_=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},2691:e=>{e.exports=require("superagent/lib/client")},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 i=o[n]={exports:{}};return e[n](i,i.exports,t),i.exports}return(()=>{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})}})(),t(8576)})()));
@@ -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={4341:(e,t,r)=>{r.d(t,{CLEAR_SESSION_STATE:()=>s,LOGOUT_USER:()=>n,RECEIVE_USER_INFO:()=>a,SESSION_STATE_STATUS_UNCHANGED:()=>u,SET_LOGGED_USER:()=>o,UPDATE_SESSION_STATE_STATUS:()=>i,UPDATE_USER_INFO:()=>l});r(8779),r(4656),r(4054),r(6793),r(8576);const o="SET_LOGGED_USER",n="LOGOUT_USER",a="RECEIVE_USER_INFO",s="CLEAR_SESSION_STATE",i="UPDATE_SESSION_STATE_STATUS",u="unchanged",l="UPDATE_USER_INFO"},8576:(e,t,r)=>{r.d(t,{clearAuthInfo:()=>S,getIdToken:()=>c,getOAuth2ClientId:()=>d,getOAuth2IDPBaseUrl:()=>p});var o=r(6793);r(4824);const n=require("browser-tabs-lock");var a=r.n(n);r(6530),r(3856),r(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);new(a());const s="authInfo",i="nonce",u="pkce",l=()=>{try{let e=(0,o.getFromLocalStorage)(s,!1);return e?JSON.parse(e):null}catch(e){return null}},S=()=>{if("undefined"!=typeof window)return(0,o.removeFromLocalStorage)(s),(0,o.removeFromLocalStorage)(i),void(0,o.removeFromLocalStorage)(u)},c=()=>{if("undefined"!=typeof window){const e=l();return e?e.idToken:null}return null},d=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,p=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,r)=>{r(3838),r(4824),r(6530),r(271),r(4656),r(6793),r(4341),r(8576);const o=e=>t=>({type:e,payload:t});o("RESET_LOADING"),o("START_LOADING"),o("STOP_LOADING")},6793:(e,t,r)=>{r.d(t,{getFromLocalStorage:()=>o,removeFromLocalStorage:()=>n});r(8362),r(6530);const o=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),n(e)),r}return null},n=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}};return e[o](a,a.exports,r),a.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};return(()=>{r.r(o),r.d(o,{loggedUserReducer:()=>c});var e=r(8779),t=r.n(e),n=r(4341),a=r(3856),s=r.n(a),i=r(8576);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function l(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?u(Object(o),!0).forEach((function(r){t()(e,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):u(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const S={isLoggedUser:!1,member:null,sessionState:null,backUrl:null,sessionStateStatus:n.SESSION_STATE_STATUS_UNCHANGED},c=(e=S,t)=>{const{type:r,payload:o}=t;let a=(0,i.getOAuth2IDPBaseUrl)(),u=(0,i.getOAuth2ClientId)();switch(r){case n.SET_LOGGED_USER:{let{sessionState:r}=t.payload;return l(l({},e),{},{isLoggedUser:!0,sessionState:r,backUrl:null,sessionStateStatus:n.SESSION_STATE_STATUS_UNCHANGED})}case n.UPDATE_SESSION_STATE_STATUS:{let{sessionStateStatus:r}=t.payload;return l(l({},e),{},{sessionStateStatus:r})}case n.CLEAR_SESSION_STATE:return(0,i.clearAuthInfo)(),l(l({},e),{},{isLoggedUser:!1,sessionState:null,backUrl:null});case n.LOGOUT_USER:return(0,i.clearAuthInfo)(),l(l({},S),{},{backUrl:o.backUrl});case n.RECEIVE_USER_INFO:{let{response:r}=t.payload;if(""!==a&&""!==u){let e=new(s())({issuer:a,audience:u}).decode((0,i.getIdToken)()),t=e.payload.groups||[],o=e.payload.address||{};t=t.map((e=>({id:e.id,title:e.name,description:e.name,code:e.slug,created:e.created_at,last_edited:e.updated_at}))),r=l(l({},r),{},{groups:[...r.groups,...t],address:o})}return l(l({},e),{},{member:r})}case n.UPDATE_USER_INFO:{let r=t.payload;return l(l({},e),{},{member:r})}default:return e}}})(),o})()));
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={4341:(e,t,r)=>{r.d(t,{CLEAR_SESSION_STATE:()=>s,LOGOUT_USER:()=>n,RECEIVE_USER_INFO:()=>a,SESSION_STATE_STATUS_UNCHANGED:()=>u,SET_LOGGED_USER:()=>o,UPDATE_SESSION_STATE_STATUS:()=>i,UPDATE_USER_INFO:()=>l});r(8779),r(4656),r(4054),r(6793),r(8576);const o="SET_LOGGED_USER",n="LOGOUT_USER",a="RECEIVE_USER_INFO",s="CLEAR_SESSION_STATE",i="UPDATE_SESSION_STATE_STATUS",u="unchanged",l="UPDATE_USER_INFO"},8576:(e,t,r)=>{r.d(t,{clearAuthInfo:()=>c,getIdToken:()=>S,getOAuth2ClientId:()=>d,getOAuth2IDPBaseUrl:()=>p});var o=r(6793);r(2691);const n=require("browser-tabs-lock");var a=r.n(n);r(6530),r(3856),r(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);new(a());const s="authInfo",i="nonce",u="pkce",l=()=>{try{let e=(0,o.getFromLocalStorage)(s,!1);return e?JSON.parse(e):null}catch(e){return null}},c=()=>{if("undefined"!=typeof window)return(0,o.removeFromLocalStorage)(s),(0,o.removeFromLocalStorage)(i),void(0,o.removeFromLocalStorage)(u)},S=()=>{if("undefined"!=typeof window){const e=l();return e?e.idToken:null}return null},d=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,p=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,r)=>{r(3838),r(2691),r(6530),r(271),r(4656),r(6793),r(4341),r(8576);const o=e=>t=>({type:e,payload:t});o("RESET_LOADING"),o("START_LOADING"),o("STOP_LOADING")},6793:(e,t,r)=>{r.d(t,{getFromLocalStorage:()=>o,removeFromLocalStorage:()=>n});r(8362),r(6530);const o=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),n(e)),r}return null},n=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},2691:e=>{e.exports=require("superagent/lib/client")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}};return e[o](a,a.exports,r),a.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};return(()=>{r.r(o),r.d(o,{loggedUserReducer:()=>S});var e=r(8779),t=r.n(e),n=r(4341),a=r(3856),s=r.n(a),i=r(8576);function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function l(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?u(Object(o),!0).forEach((function(r){t()(e,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):u(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const c={isLoggedUser:!1,member:null,sessionState:null,backUrl:null,sessionStateStatus:n.SESSION_STATE_STATUS_UNCHANGED},S=(e=c,t)=>{const{type:r,payload:o}=t;let a=(0,i.getOAuth2IDPBaseUrl)(),u=(0,i.getOAuth2ClientId)();switch(r){case n.SET_LOGGED_USER:{let{sessionState:r}=t.payload;return l(l({},e),{},{isLoggedUser:!0,sessionState:r,backUrl:null,sessionStateStatus:n.SESSION_STATE_STATUS_UNCHANGED})}case n.UPDATE_SESSION_STATE_STATUS:{let{sessionStateStatus:r}=t.payload;return l(l({},e),{},{sessionStateStatus:r})}case n.CLEAR_SESSION_STATE:return(0,i.clearAuthInfo)(),l(l({},e),{},{isLoggedUser:!1,sessionState:null,backUrl:null});case n.LOGOUT_USER:return(0,i.clearAuthInfo)(),l(l({},c),{},{backUrl:o.backUrl});case n.RECEIVE_USER_INFO:{let{response:r}=t.payload;if(""!==a&&""!==u){let e=new(s())({issuer:a,audience:u}).decode((0,i.getIdToken)()),t=e.payload.groups||[],o=e.payload.address||{};t=t.map((e=>({id:e.id,title:e.name,description:e.name,code:e.slug,created:e.created_at,last_edited:e.updated_at}))),r=l(l({},r),{},{groups:[...r.groups,...t],address:o})}return l(l({},e),{},{member:r})}case n.UPDATE_USER_INFO:{let r=t.payload;return l(l({},e),{},{member:r})}default:return e}}})(),o})()));
@@ -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={4341:(e,t,o)=>{o.d(t,{SESSION_STATE_STATUS_CHANGED:()=>r,SESSION_STATE_STATUS_UNCHANGED:()=>n,doLogout:()=>a,onUserAuth:()=>i,updateSessionStateStatus:()=>c});o(8779),o(4656),o(4054),o(6793);var s=o(8576);const n="unchanged",r="changed",i=(e,t,o,n=0,r=null)=>i=>{(0,s.storeAuthInfo)(e,n,r,t),i({type:"SET_LOGGED_USER",payload:{sessionState:o}})},a=e=>(t,o)=>{t({type:"LOGOUT_USER",payload:{backUrl:e}})},c=e=>(t,o)=>{t({type:"UPDATE_SESSION_STATE_STATUS",payload:{sessionStateStatus:e}})}},8576:(e,t,o)=>{o.d(t,{getAuthUrl:()=>y,initLogOut:()=>F,storeAuthInfo:()=>k});var s=o(6793);o(4824);const n=require("browser-tabs-lock");var r=o.n(n),i=o(6530),c=o.n(i);o(3856),o(4341);const l=require("crypto-js/sha256");var d=o.n(l);const p=require("crypto-js/enc-base64url");var u=o.n(p);const S=require("crypto-js/enc-hex");var h=o.n(S);const g=65536,f="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(r());const w="code",m="authInfo",_="nonce",O="pkce",y=(e=null,t=null,o=null,n=null,r=null,i=null)=>{let a=C(),l=(0,s.getAuthCallback)(),d=A(),p=L(),u=b();null!=e&&(l+=`?BackUrl=${encodeURI(e)}`);let S=v(16);(0,s.putOnLocalStorage)(_,S);let h=c()(`${d}/oauth2/auth`),g={response_type:encodeURI(u),scope:encodeURI(p),nonce:S,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(l)};if(u===w){const e=T();(0,s.putOnLocalStorage)(O,JSON.stringify(e)),g.code_challenge=e.codeChallenge,g.code_challenge_method="S256",g.approval_prompt="force"}return t&&(g.prompt=t),p&&p.includes("offline_access")&&(g.prompt="consent"),o&&(g.id_token_hint=o),n&&(g.provider=n),i&&(g.otp_login_hint=i),r&&(g.login_hint=encodeURI(r)),h=h.query(g),h},v=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let s=0;s<e;s++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},T=()=>{const e=(0,s.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!f)return a;if(e>0)if(e>g)for(let o=0;o<e;o+=g)f.getRandomValues(t.slice(o,o+g));else f.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=h();return"Base64url"===t&&(o=u()),d()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},k=(e,t,o=null,n=null)=>{let r=U(),i={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&r&&(o=r.refreshToken),null===n&&r&&(n=r.idToken),o&&(i.refreshToken=o),n&&(i.idToken=n),(0,s.putOnLocalStorage)(m,JSON.stringify(i))},U=()=>{try{let e=(0,s.getFromLocalStorage)(m,!1);return e?JSON.parse(e):null}catch(e){return null}},E=()=>{if("undefined"!=typeof window){const e=U();return e?e.idToken:null}return null},C=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,b=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",A=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,L=()=>"undefined"!=typeof window?window.SCOPES:null,F=()=>{(0,s.getCurrentLocation)().replace((e=>{let t=A(),o=C(),n=c()(`${t}/oauth2/end-session`),r=v(16),i=(0,s.getOrigin)()+"/auth/logout";return(0,s.putOnLocalStorage)("post_logout_state",r),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:r})})(E()).toString())}},4054:(e,t,o)=>{o(3838),o(4824),o(6530),o(271),o(4656),o(6793),o(4341),o(8576);const s=e=>t=>({type:e,payload:t});s("RESET_LOADING"),s("START_LOADING"),s("STOP_LOADING")},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>l,getAuthCallback:()=>s,getCurrentLocation:()=>n,getFromLocalStorage:()=>a,getOrigin:()=>r,putOnLocalStorage:()=>i});o(8362),o(6530);const s=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},r=()=>"undefined"!=typeof window?window.location.origin:null,i=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},a=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),o}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},l=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(s){var n=t[s];if(void 0!==n)return n.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,o),r.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var s in t)o.o(t,s)&&!o.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var s={};return(()=>{o.r(s),o.d(s,{default:()=>g});var e=o(8779),t=o.n(e);const n=require("react");var r=o.n(n);const i=require("react-redux");var a=o(4341),c=o(8576),l=o(6530),d=o.n(l);function p(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,s)}return o}function u(e){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?p(Object(s),!0).forEach((function(o){t()(e,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):p(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}const S=18e5;class h extends r().Component{constructor(e){super(e),this.state={opFrame_src:"",rpCheckSessionStateFrame_src:""},this.receiveMessage=this.receiveMessage.bind(this),this.receiveMessageFromChild=this.receiveMessageFromChild.bind(this),this.setTimer=this.setTimer.bind(this),this.checkSession=this.checkSession.bind(this),this.onSetupCheckSessionRP=this.onSetupCheckSessionRP.bind(this),this.rpCheckSessionStateFrameOnLoad=this.rpCheckSessionStateFrameOnLoad.bind(this),this.opFrame=null,this.rpCheckSessionStateFrame=null,this.setOPFrameRef=e=>{this.opFrame=e},this.setCheckSessionStateFrameRef=e=>{this.rpCheckSessionStateFrame=e},this.interval=null}componentWillUnmount(){try{this.interval&&(window.clearInterval(this.interval),this.interval=null),window.removeEventListener("message",this.receiveMessageFromChild,!1),window.removeEventListener("message",this.receiveMessage,!1)}catch(e){console.log(e)}}componentDidMount(){if(this.props.isLoggedUser&&"undefined"!=typeof window){if(window.location!==window.parent.location)return;this.onSetupCheckSessionRP()}}rpCheckSessionStateFrameOnLoad(e){let t=e.target;if(""==this.state.rpCheckSessionStateFrame_src)return;if(!t.contentDocument)return;window.removeEventListener("message",this.receiveMessageFromChild,!1);let o=new(d())(t.contentDocument.URL);console.log("OPSessionChecker::rpCheckSessionStateFrameOnLoad - resultUrl "+o);let s=o.search(!0),n=d().parseQuery(o.fragment()),r=null;if(s.hasOwnProperty("error")&&(r=s.error),n.hasOwnProperty("error")&&(r=n.error),r)return console.log("OPSessionChecker::rpCheckSessionStateFrameOnLoad - error "+r),void(0,c.initLogOut)();this.props.updateSessionStateStatus(a.SESSION_STATE_STATUS_UNCHANGED)}componentDidUpdate(e){if(this.props.sessionStateStatus!==e.sessionStateStatus){if(this.props.sessionStateStatus===a.SESSION_STATE_STATUS_CHANGED){let e=(0,c.getAuthUrl)(null,"none");return void(""==this.state.rpCheckSessionStateFrame_src&&this.setState(u(u({},this.state),{},{opFrame_src:"",rpCheckSessionStateFrame_src:e.toString()})))}if(this.props.sessionStateStatus===a.SESSION_STATE_STATUS_UNCHANGED)return void this.onSetupCheckSessionRP()}this.props.sessionState!==e.sessionState&&(console.log(`OPSessionChecker::componentDidUpdate updated session state ${this.props.sessionState}`),this.onSetupCheckSessionRP())}checkSession(){let e=new Date;if(console.log(`OPSessionChecker::checkSession now ${e.toLocaleString()}`),null==this.opFrame)return;if(null==this.props.sessionState)return;if(null==this.props.clientId)return;let t=this.props.idpBaseUrl,o=this.opFrame.contentWindow,s=this.props.clientId+" "+this.props.sessionState;o.postMessage(s,t)}setTimer(e){e.target;""!=this.state.opFrame_src&&this.props.isLoggedUser&&this.props.sessionStateStatus===a.SESSION_STATE_STATUS_UNCHANGED&&"undefined"!=typeof window&&(console.log("OPSessionChecker::setTimer setting interval 1800000"),this.interval=window.setInterval(this.checkSession,S))}onSetupCheckSessionRP(){if(null==this.opFrame)return;window.addEventListener("message",this.receiveMessage,!1);const e=`${this.props.idpBaseUrl}/oauth2/check-session`;""==this.state.opFrame_src&&this.setState(u(u({},this.state),{},{opFrame_src:e,rpCheckSessionStateFrame_src:""}))}receiveMessageFromChild(e){if("string"==typeof e.data||e.data instanceof String)try{let t=JSON.parse(e.data);t.hasOwnProperty("action")&&"SET_AUTH_INFO_SILENTLY"==t.action&&(window.removeEventListener("message",this.receiveMessageFromChild,!1),this.props.onUserAuth(t.access_token,t.id_token,t.session_state,t.expires_in,t.hasOwnProperty("refresh_token")?t.refresh_token:null))}catch(e){console.log(e)}}receiveMessage(e){if(e.origin!==this.props.idpBaseUrl)return;let t=e.data;return this.props.sessionStateStatus===a.SESSION_STATE_STATUS_UNCHANGED&&this.props.isLoggedUser&&t===a.SESSION_STATE_STATUS_CHANGED?(console.log("OPSessionChecker::receiveMessage - session state has changed on OP"),"undefined"!=typeof window&&window.clearInterval(this.interval),this.interval=null,window.addEventListener("message",this.receiveMessageFromChild,!1),window.removeEventListener("message",this.receiveMessage,!1),void this.props.updateSessionStateStatus(a.SESSION_STATE_STATUS_CHANGED)):void 0}render(){return this.props.isLoggedUser&&this.props.sessionState?"undefined"!=typeof window&&window.location!==window.parent.location?null:r().createElement("div",{style:{height:"0px"}},r().createElement("iframe",{ref:this.setOPFrameRef,id:"OPFrame",onLoad:this.setTimer,src:this.state.opFrame_src,style:{visibility:"hidden",position:"absolute",left:0,top:0,border:"none",width:0,height:0}},">"),r().createElement("iframe",{ref:this.setCheckSessionStateFrameRef,id:"RPCHeckSessionStateFrame",src:this.state.rpCheckSessionStateFrame_src,onLoad:this.rpCheckSessionStateFrameOnLoad,style:{visibility:"hidden",position:"absolute",left:0,top:0,border:"none",width:0,height:0}},">")):null}}const g=(0,i.connect)((({loggedUserState:e})=>({sessionState:e.sessionState,isLoggedUser:e.isLoggedUser,sessionStateStatus:e.sessionStateStatus})),{doLogout:a.doLogout,updateSessionStateStatus:a.updateSessionStateStatus,onUserAuth:a.onUserAuth})(h)})(),s})()));
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={4341:(e,t,o)=>{o.d(t,{SESSION_STATE_STATUS_CHANGED:()=>r,SESSION_STATE_STATUS_UNCHANGED:()=>n,doLogout:()=>a,onUserAuth:()=>i,updateSessionStateStatus:()=>l});o(8779),o(4656),o(4054),o(6793);var s=o(8576);const n="unchanged",r="changed",i=(e,t,o,n=0,r=null)=>i=>{(0,s.storeAuthInfo)(e,n,r,t),i({type:"SET_LOGGED_USER",payload:{sessionState:o}})},a=e=>(t,o)=>{t({type:"LOGOUT_USER",payload:{backUrl:e}})},l=e=>(t,o)=>{t({type:"UPDATE_SESSION_STATE_STATUS",payload:{sessionStateStatus:e}})}},8576:(e,t,o)=>{o.d(t,{getAuthUrl:()=>y,initLogOut:()=>F,storeAuthInfo:()=>k});var s=o(6793);o(2691);const n=require("browser-tabs-lock");var r=o.n(n),i=o(6530),l=o.n(i);o(3856),o(4341);const c=require("crypto-js/sha256");var d=o.n(c);const p=require("crypto-js/enc-base64url");var u=o.n(p);const S=require("crypto-js/enc-hex");var h=o.n(S);const g=65536,f="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(r());const w="code",m="authInfo",_="nonce",O="pkce",y=(e=null,t=null,o=null,n=null,r=null,i=null)=>{let a=C(),c=(0,s.getAuthCallback)(),d=A(),p=L(),u=b();null!=e&&(c+=`?BackUrl=${encodeURI(e)}`);let S=v(16);(0,s.putOnLocalStorage)(_,S);let h=l()(`${d}/oauth2/auth`),g={response_type:encodeURI(u),scope:encodeURI(p),nonce:S,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(c)};if(u===w){const e=T();(0,s.putOnLocalStorage)(O,JSON.stringify(e)),g.code_challenge=e.codeChallenge,g.code_challenge_method="S256",g.approval_prompt="force"}return t&&(g.prompt=t),p&&p.includes("offline_access")&&(g.prompt="consent"),o&&(g.id_token_hint=o),n&&(g.provider=n),i&&(g.otp_login_hint=i),r&&(g.login_hint=encodeURI(r)),h=h.query(g),h},v=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let s=0;s<e;s++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},T=()=>{const e=(0,s.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!f)return a;if(e>0)if(e>g)for(let o=0;o<e;o+=g)f.getRandomValues(t.slice(o,o+g));else f.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=h();return"Base64url"===t&&(o=u()),d()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},k=(e,t,o=null,n=null)=>{let r=U(),i={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&r&&(o=r.refreshToken),null===n&&r&&(n=r.idToken),o&&(i.refreshToken=o),n&&(i.idToken=n),(0,s.putOnLocalStorage)(m,JSON.stringify(i))},U=()=>{try{let e=(0,s.getFromLocalStorage)(m,!1);return e?JSON.parse(e):null}catch(e){return null}},E=()=>{if("undefined"!=typeof window){const e=U();return e?e.idToken:null}return null},C=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,b=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",A=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,L=()=>"undefined"!=typeof window?window.SCOPES:null,F=()=>{(0,s.getCurrentLocation)().replace((e=>{let t=A(),o=C(),n=l()(`${t}/oauth2/end-session`),r=v(16),i=(0,s.getOrigin)()+"/auth/logout";return(0,s.putOnLocalStorage)("post_logout_state",r),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:r})})(E()).toString())}},4054:(e,t,o)=>{o(3838),o(2691),o(6530),o(271),o(4656),o(6793),o(4341),o(8576);const s=e=>t=>({type:e,payload:t});s("RESET_LOADING"),s("START_LOADING"),s("STOP_LOADING")},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>c,getAuthCallback:()=>s,getCurrentLocation:()=>n,getFromLocalStorage:()=>a,getOrigin:()=>r,putOnLocalStorage:()=>i});o(8362),o(6530);const s=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},r=()=>"undefined"!=typeof window?window.location.origin:null,i=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},a=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),l(e)),o}return null},l=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},c=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},2691:e=>{e.exports=require("superagent/lib/client")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(s){var n=t[s];if(void 0!==n)return n.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,o),r.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var s in t)o.o(t,s)&&!o.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var s={};return(()=>{o.r(s),o.d(s,{default:()=>g});var e=o(8779),t=o.n(e);const n=require("react");var r=o.n(n);const i=require("react-redux");var a=o(4341),l=o(8576),c=o(6530),d=o.n(c);function p(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,s)}return o}function u(e){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?p(Object(s),!0).forEach((function(o){t()(e,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):p(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}const S=18e5;class h extends r().Component{constructor(e){super(e),this.state={opFrame_src:"",rpCheckSessionStateFrame_src:""},this.receiveMessage=this.receiveMessage.bind(this),this.receiveMessageFromChild=this.receiveMessageFromChild.bind(this),this.setTimer=this.setTimer.bind(this),this.checkSession=this.checkSession.bind(this),this.onSetupCheckSessionRP=this.onSetupCheckSessionRP.bind(this),this.rpCheckSessionStateFrameOnLoad=this.rpCheckSessionStateFrameOnLoad.bind(this),this.opFrame=null,this.rpCheckSessionStateFrame=null,this.setOPFrameRef=e=>{this.opFrame=e},this.setCheckSessionStateFrameRef=e=>{this.rpCheckSessionStateFrame=e},this.interval=null}componentWillUnmount(){try{this.interval&&(window.clearInterval(this.interval),this.interval=null),window.removeEventListener("message",this.receiveMessageFromChild,!1),window.removeEventListener("message",this.receiveMessage,!1)}catch(e){console.log(e)}}componentDidMount(){if(this.props.isLoggedUser&&"undefined"!=typeof window){if(window.location!==window.parent.location)return;this.onSetupCheckSessionRP()}}rpCheckSessionStateFrameOnLoad(e){let t=e.target;if(""==this.state.rpCheckSessionStateFrame_src)return;if(!t.contentDocument)return;window.removeEventListener("message",this.receiveMessageFromChild,!1);let o=new(d())(t.contentDocument.URL);console.log("OPSessionChecker::rpCheckSessionStateFrameOnLoad - resultUrl "+o);let s=o.search(!0),n=d().parseQuery(o.fragment()),r=null;if(s.hasOwnProperty("error")&&(r=s.error),n.hasOwnProperty("error")&&(r=n.error),r)return console.log("OPSessionChecker::rpCheckSessionStateFrameOnLoad - error "+r),void(0,l.initLogOut)();this.props.updateSessionStateStatus(a.SESSION_STATE_STATUS_UNCHANGED)}componentDidUpdate(e){if(this.props.sessionStateStatus!==e.sessionStateStatus){if(this.props.sessionStateStatus===a.SESSION_STATE_STATUS_CHANGED){let e=(0,l.getAuthUrl)(null,"none");return void(""==this.state.rpCheckSessionStateFrame_src&&this.setState(u(u({},this.state),{},{opFrame_src:"",rpCheckSessionStateFrame_src:e.toString()})))}if(this.props.sessionStateStatus===a.SESSION_STATE_STATUS_UNCHANGED)return void this.onSetupCheckSessionRP()}this.props.sessionState!==e.sessionState&&(console.log(`OPSessionChecker::componentDidUpdate updated session state ${this.props.sessionState}`),this.onSetupCheckSessionRP())}checkSession(){let e=new Date;if(console.log(`OPSessionChecker::checkSession now ${e.toLocaleString()}`),null==this.opFrame)return;if(null==this.props.sessionState)return;if(null==this.props.clientId)return;let t=this.props.idpBaseUrl,o=this.opFrame.contentWindow,s=this.props.clientId+" "+this.props.sessionState;o.postMessage(s,t)}setTimer(e){e.target;""!=this.state.opFrame_src&&this.props.isLoggedUser&&this.props.sessionStateStatus===a.SESSION_STATE_STATUS_UNCHANGED&&"undefined"!=typeof window&&(console.log("OPSessionChecker::setTimer setting interval 1800000"),this.interval=window.setInterval(this.checkSession,S))}onSetupCheckSessionRP(){if(null==this.opFrame)return;window.addEventListener("message",this.receiveMessage,!1);const e=`${this.props.idpBaseUrl}/oauth2/check-session`;""==this.state.opFrame_src&&this.setState(u(u({},this.state),{},{opFrame_src:e,rpCheckSessionStateFrame_src:""}))}receiveMessageFromChild(e){if("string"==typeof e.data||e.data instanceof String)try{let t=JSON.parse(e.data);t.hasOwnProperty("action")&&"SET_AUTH_INFO_SILENTLY"==t.action&&(window.removeEventListener("message",this.receiveMessageFromChild,!1),this.props.onUserAuth(t.access_token,t.id_token,t.session_state,t.expires_in,t.hasOwnProperty("refresh_token")?t.refresh_token:null))}catch(e){console.log(e)}}receiveMessage(e){if(e.origin!==this.props.idpBaseUrl)return;let t=e.data;return this.props.sessionStateStatus===a.SESSION_STATE_STATUS_UNCHANGED&&this.props.isLoggedUser&&t===a.SESSION_STATE_STATUS_CHANGED?(console.log("OPSessionChecker::receiveMessage - session state has changed on OP"),"undefined"!=typeof window&&window.clearInterval(this.interval),this.interval=null,window.addEventListener("message",this.receiveMessageFromChild,!1),window.removeEventListener("message",this.receiveMessage,!1),void this.props.updateSessionStateStatus(a.SESSION_STATE_STATUS_CHANGED)):void 0}render(){return this.props.isLoggedUser&&this.props.sessionState?"undefined"!=typeof window&&window.location!==window.parent.location?null:r().createElement("div",{style:{height:"0px"}},r().createElement("iframe",{ref:this.setOPFrameRef,id:"OPFrame",onLoad:this.setTimer,src:this.state.opFrame_src,style:{visibility:"hidden",position:"absolute",left:0,top:0,border:"none",width:0,height:0}},">"),r().createElement("iframe",{ref:this.setCheckSessionStateFrameRef,id:"RPCHeckSessionStateFrame",src:this.state.rpCheckSessionStateFrame_src,onLoad:this.rpCheckSessionStateFrameOnLoad,style:{visibility:"hidden",position:"absolute",left:0,top:0,border:"none",width:0,height:0}},">")):null}}const g=(0,i.connect)((({loggedUserState:e})=>({sessionState:e.sessionState,isLoggedUser:e.isLoggedUser,sessionStateStatus:e.sessionStateStatus})),{doLogout:a.doLogout,updateSessionStateStatus:a.updateSessionStateStatus,onUserAuth:a.onUserAuth})(h)})(),s})()));