openstack-uicore-foundation 4.0.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/methods.js CHANGED
@@ -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,(function(){return(()=>{var e={4341:(e,t,r)=>{"use strict";r.d(t,{CLEAR_SESSION_STATE:()=>p,SET_LOGGED_USER:()=>d,doLogout:()=>f,getUserInfo:()=>h,onUserAuth:()=>g,updateUserInfo:()=>m});var o=r(4656),n=r.n(o),s=r(4054),a=r(6530),l=r(886);function i(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 c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const d="SET_LOGGED_USER",p="CLEAR_SESSION_STATE",g=(e,t,r,o=0,n=null)=>s=>{(0,l.storeAuthInfo)(e,o,n,t),s({type:d,payload:{sessionState:r}})},f=e=>(t,r)=>{t({type:"LOGOUT_USER",payload:{backUrl:e}})},h=(e="groups",t="",r=null,o=null,i=null)=>async(c,u)=>{let d=(0,a.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:p}=u(),{member:g}=p,f=await(0,l.getAccessToken)();if(null!=g)return null!=o&&null!=r&&o.push(r),Promise.resolve();null==i&&(i=s.authErrorHandler),c((0,s.startLoading)());let h={access_token:f,expand:e};return t&&(h.fields=t),(0,s.getRequest)((0,s.createAction)("REQUEST_USER_INFO"),(0,s.createAction)("RECEIVE_USER_INFO"),(0,a.buildAPIBaseUrl)("/api/v1/members/me"),i)(h)(c,u).then((()=>{c((0,s.stopLoading)());let{member:e}=u().loggedUserState;if(null==e){let e={title:"ERROR",html:n().translate("errors.user_not_set"),type:"error"};c((0,s.showMessage)(e,l.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:n().translate("errors.user_not_authz"),type:"error"};return void c((0,s.showMessage)(e,l.initLogOut))}}null!=o&&null!=r&&o.push(r)}))},m=e=>(t,r)=>{let{loggedUserState:o}=r(),{member:n}=o;if(null==n)throw Error("Member is not set.");if(e.id!=n.id)throw Error("Member is not the same.");t({type:"UPDATE_USER_INFO",payload:c({},e)})}},886:(e,t,r)=>{"use strict";r.d(t,{clearAccessToken:()=>T,clearAuthInfo:()=>P,doLogin:()=>O,doLoginBasicLogin:()=>A,emitAccessToken:()=>E,getAccessToken:()=>v,getAuthInfo:()=>C,getAuthUrl:()=>S,getIdToken:()=>$,getLogoutUrl:()=>b,getOAuth2ClientId:()=>q,getOAuth2IDPBaseUrl:()=>j,initLogOut:()=>B,passwordlessLogin:()=>M,passwordlessStart:()=>D,storeAuthInfo:()=>I});var o=r(6530),n=r(4824),s=r.n(n),a=r(6113);const l=require("browser-tabs-lock");var i=r.n(l),c=r(1708),u=r.n(c),d=r(3856),p=r.n(d),g=r(4341);let f=s();const h=new(i()),m="openstackuicore.lock.getTokenSilently",y="code",w="authInfo",_="nonce",k="pkce",S=(e=null,t=null,r=null,n=null)=>{let s=q(),a=(0,o.getAuthCallback)(),l=j(),i=F(),c=H();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let d=R(16);(0,o.putOnLocalStorage)(_,d);let p=u()(`${l}/oauth2/auth`),g={response_type:encodeURI(c),scope:encodeURI(i),nonce:d,response_mode:"fragment",client_id:encodeURI(s),redirect_uri:encodeURI(a)};if(c===y){const e=U();(0,o.putOnLocalStorage)(k,JSON.stringify(e)),g.code_challenge=e.codeChallenge,g.code_challenge_method="S256",g.approval_prompt="force"}return t&&(g.prompt=t),r&&(g.id_token_hint=r),n&&(g.provider=n),p=p.query(g),p},b=e=>{let t=j(),r=q(),n=u()(`${t}/oauth2/end-session`),s=R(16),a=(0,o.getOrigin)()+"/auth/logout";return(0,o.putOnLocalStorage)("post_logout_state",s),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(r),state:s})},R=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},O=(e=null,t=null,r="consent")=>{let n=S(e,r,null,t);(0,o.getCurrentLocation)().replace(n.toString())},A=(e=null)=>{O(e,null,null)},U=()=>{const e=(0,o.base64URLEncode)((0,a.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,o.base64URLEncode)((0,o.sha256)(Buffer.from(e))),createdAt:new Date}},E=async(e,t=null)=>{let r=j(),n=q(),s=(0,o.getAuthCallback)(),a=JSON.parse((0,o.getFromLocalStorage)(k,!0));null!=t&&(s+=`?BackUrl=${encodeURI(t)}`);const l={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(n),redirect_uri:encodeURI(s)};try{const e=await fetch(`${r}/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)})),t=await e.json();let{access_token:o,refresh_token:n,id_token:s,expires_in:a,error:i,error_description:c}=t;return{access_token:o,refresh_token:n,id_token:s,expires_in:a,error:i,error_description:c}}catch(e){console.log(e)}},T=async()=>{if(await(0,o.retryPromise)((()=>h.acquireLock(m,5e3)),10))try{let e=C();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:r,accessTokenUpdatedAt:o,refreshToken:n}=e;I(null,0,n)}finally{await h.releaseLock(m)}},v=async()=>{if(await(0,o.retryPromise)((()=>h.acquireLock(m,5e3)),10))try{let e=C();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:r,accessTokenUpdatedAt:o,refreshToken:n}=e,s=H(),a=Math.floor(Date.now()/1e3);if(r-=20,a-o>r||null==t){if(console.log("getAccessToken access token expired"),s===y&&x()){if(!n)throw P(),Error("missing Refresh Token");let e=await L(n),{access_token:t,expires_in:r,refresh_token:o}=e;return void 0===o&&(o=null),I(t,r,o),t}throw P(),Error("Access Token Expired.")}return t}finally{await h.releaseLock(m)}throw Error("Lock acquire error.")},L=async e=>{let t=j(),r=q();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,o.getCurrentPathName)();throw(0,o.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),r=await e.json();let{access_token:s,refresh_token:a,expires_in:l}=r;return{access_token:s,refresh_token:a,expires_in:l}}catch(e){throw console.log(e),e}},I=(e,t,r=null,n=null)=>{let s=C(),a={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===r&&s&&(r=s.refreshToken),null===n&&s&&(n=s.idToken),r&&(a.refreshToken=r),n&&(a.idToken=n),(0,o.putOnLocalStorage)(w,JSON.stringify(a))},C=()=>{let e=(0,o.getFromLocalStorage)(w,!1);return null===e?null:JSON.parse(e)},P=()=>{if("undefined"!=typeof window)return(0,o.removeFromLocalStorage)(w),(0,o.removeFromLocalStorage)(_),void(0,o.removeFromLocalStorage)(k)},$=()=>{if("undefined"!=typeof window){const e=C();return e?e.idToken:null}return null},q=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,H=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",x=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),j=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,F=()=>"undefined"!=typeof window?window.SCOPES:null,B=()=>{(0,o.getCurrentLocation)().replace(b($()).toString())},D=e=>{let t=q(),r=F(),n=R(16);(0,o.putOnLocalStorage)(_,n);let s=j(),a=u()(`${s}/oauth2/auth`),l={response_type:"otp",scope:encodeURI(r),nonce:n,client_id:encodeURI(t),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)),f.post(a.toString()).send(l).then((e=>{let t=e.body;return Promise.resolve({response:t})})).catch((e=>Promise.reject(e)))},M=e=>t=>{let r=q(),n=F(),s=j(),a=u()(`${s}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error("otp param is mandatory.");let l={grant_type:"passwordless",connection:e.connection||"email",scope:encodeURI(n),client_id:encodeURI(r),otp:e.otp};return e.hasOwnProperty("email")&&(l.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(l.phone_number=encodeURIComponent(e.phone_number)),f.post(a.toString()).send(l).then((e=>{try{let n=e.body,{access_token:a,expires_in:l,refresh_token:i,id_token:c}=n;if(void 0===i&&(i=null),void 0===c&&(c=null),c&&!((e,t,r)=>{let n=new(p())({issuer:t,audience:r}),s=(0,o.getFromLocalStorage)(_,!0),a=n.decode(e),l=(a.header.alg,a.header.kid,a.payload.aud),i=a.payload.iss;return a.payload.exp,a.payload.nbf,(a.payload.nonce||null)==s&&l==r&&i==t})(c,s,r))throw Error("id token is not valid.");return I(a,l,i,c),t&&t({type:g.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))}},4054:(e,t,r)=>{"use strict";r.d(t,{authErrorHandler:()=>S,createAction:()=>h,defaultErrorHandler:()=>T,deleteRequest:()=>O,downloadFileByContent:()=>$,escapeFilterValue:()=>x,fetchErrorHandler:()=>L,fetchResponseHandler:()=>I,getCSV:()=>q,getRawCSV:()=>H,getRequest:()=>b,postFile:()=>U,postRequest:()=>A,putFile:()=>E,putRequest:()=>R,resetLoading:()=>m,responseHandler:()=>v,showMessage:()=>C,showSuccessMessage:()=>P,startLoading:()=>y,stopLoading:()=>w});var o=r(4824),n=r.n(o),s=r(1708),a=r.n(s),l=r(271),i=r.n(l),c=r(4656),u=r.n(c),d=r(6530),p=r(4341),g=r(886);let f=n();const h=e=>t=>({type:e,payload:t}),m=h("RESET_LOADING"),y=h("START_LOADING"),w=h("STOP_LOADING"),_={},k=e=>0===Object.keys(e).length&&e.constructor===Object,S=(e,t)=>(t,r)=>{let o=e.status,n="";switch(t(w()),o){case 403:let r={title:"ERROR",html:u().translate("errors.user_not_authz"),type:"error"};t(C(r,g.initLogOut));break;case 401:let o=(0,d.getCurrentPathName)(),l=(0,d.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),l||((0,d.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,g.doLogin)(o));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,i().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>";i().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:i().fire("ERROR",u().translate("errors.server_error"),"error")}},b=(e,t,r,o=T,n={})=>(s={})=>(l,i)=>{let c=a()(r);k(s)||(c=c.query(s));let u=c.toString();return e&&"function"==typeof e&&l(e(n)),(e=>{_[e]&&(_[e].abort(),console.log(`aborted request ${e}`),delete _[e])})(u),new Promise(((e,r)=>{let n=f.get(c.toString()).timeout({response:6e4,deadline:6e4}).end(v(l,i,t,o,e,r));((e,t)=>{_[e]=t})(u,n)}))},R=(e,t,r,o,n=T,s={})=>(l={})=>(i,c)=>{let u=a()(r);return k(l)||(u=u.query(l)),e&&"function"==typeof e&&i(e(s)),new Promise(((e,r)=>{null==o&&(o={}),f.put(u.toString()).send(o).end(v(i,c,t,n,e,r))}))},O=(e,t,r,o,n=T,s={})=>l=>(i,c)=>{let u=a()(r);return k(l)||(u=u.query(l)),e&&"function"==typeof e&&i(e(s)),new Promise(((e,r)=>{null==o&&(o={}),f.delete(u).send(o).end(v(i,c,t,n,e,r))}))},A=(e,t,r,o,n=T,s={})=>(l={})=>(i,c)=>{let u=a()(r);return k(l)||(u=u.query(l)),e&&"function"==typeof e&&i(e(s)),new Promise(((e,r)=>{let s=f.post(u);null!=o?s.send(o):s.set("Content-Type","text/plain"),s.end(v(i,c,t,n,e,r))}))},U=(e,t,r,o,n={},s=T,l={})=>(i={})=>(c,u)=>{let d=a()(r);return k(i)||(d=d.query(i)),e&&"function"==typeof e&&c(e(l)),new Promise(((e,r)=>{const a=f.post(d).attach("file",o);k(n)||Object.keys(n).forEach((function(e){let t=n[e];a.field(e,t)})),a.end(v(c,u,t,s,e,r))}))},E=(e,t,r,o=null,n={},s=T,l={})=>(i={})=>(c,u)=>{let d=a()(r);return k(i)||(d=d.query(i)),e&&"function"==typeof e&&c(e(l)),new Promise(((e,r)=>{const a=f.put(d);null!=o&&a.attach("file",o),k(n)||Object.keys(n).forEach((function(e){let t=n[e];a.field(e,t)})),a.end(v(c,u,t,s,e,r))}))},T=(e,t)=>e=>{let r=t.body,o="";r instanceof Object&&r.hasOwnProperty("message")&&(o=r.message),i().fire(t.statusText,o,"error")},v=(e,t,r,o,n,s)=>(a,l)=>{if(a||!l.ok)return o&&o(a,l)(e,t),s({err:a,res:l,dispatch:e,state:t});let i=l.body;return"function"==typeof r?(e(r({response:i})),n({response:i})):(e(r),n({response:i}))},L=e=>{let t=e.status,r=e.statusText;switch(t){case 403:i().fire("ERROR",u().translate("errors.user_not_authz"),"warning");break;case 401:i().fire("ERROR",u().translate("errors.session_expired"),"error");break;case 412:i().fire("ERROR",r,"warning");case 500:i().fire("ERROR",u().translate("errors.server_error"),"error")}},I=e=>{if(e.ok)return e.json();throw e},C=(e,t={})=>r=>{r(w()),i().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))},P=e=>t=>{t(w()),i().fire({title:u().translate("general.done"),html:e,type:"success"})},$=(e,t,r)=>{let o=document.createElement("a");o.textContent="download",o.download=e,o.href=`data:${r},${encodeURIComponent(t)}`,document.body.appendChild(o),o.click(),document.body.removeChild(o)},q=(e,t,r,o=null)=>n=>{let s=a()(e);return k(t)||(s=s.query(t)),n(y()),fetch(s.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>{n(w()),o&&(e=o+"\r\r"+e),$(r,e,"text/csv;charset=utf-8")})).catch(L)},H=(e,t,r=null)=>{let o=a()(e);return k(t)||(o=o.query(t)),fetch(o.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>(r&&(e=r+"\r\r"+e),e))).catch(L)},x=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6530:(e,t,r)=>{"use strict";r.d(t,{base64URLEncode:()=>E,buildAPIBaseUrl:()=>k,epochToMoment:()=>c,epochToMomentTimeZone:()=>u,findElementPos:()=>i,formatEpoch:()=>d,getAllowedUserGroups:()=>_,getAuthCallback:()=>f,getBackURL:()=>g,getCurrentHref:()=>w,getCurrentLocation:()=>h,getCurrentPathName:()=>y,getCurrentUserLanguage:()=>U,getFromLocalStorage:()=>b,getOrigin:()=>m,isClearingSessionState:()=>O,objectToQueryString:()=>p,putOnLocalStorage:()=>S,removeFromLocalStorage:()=>R,retryPromise:()=>v,setSessionClearingState:()=>A,sha256:()=>T});var o=r(8362),n=r.n(o),s=r(1708),a=r.n(s),l=r(6113);const i=e=>{var t=-70;if(e.offsetParent){do{t+=e.offsetTop}while(e=e.offsetParent);return[t]}},c=e=>e?(e*=1e3,n()(e)):e,u=(e,t)=>e?(e*=1e3,n()(e).tz(t)):e,d=(e,t="M/D/YYYY h:mm a")=>e?c(e).format(t):e,p=e=>{var t="";for(var r in e)""!=t&&(t+="&"),t+=r+"="+encodeURIComponent(e[r]);return t},g=()=>{let e=a()(window.location.href),t=e.search(!0),r=e.fragment(),o=t.hasOwnProperty("BackUrl")?t.BackUrl:null;return null!=r&&""!=r&&(o+=`#${r}`),o},f=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,h=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},m=()=>"undefined"!=typeof window?window.location.origin:null,y=()=>"undefined"!=typeof window?window.location.pathname:null,w=()=>"undefined"!=typeof window?window.location.href:null,_=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,k=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,S=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},b=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),R(e)),r}return null},R=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},O=()=>"undefined"!=typeof window&&window.clearing_session_state,A=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},U=()=>{let e="en";return"undefined"!=typeof navigator&&(e=navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage),e},E=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),T=e=>(0,l.createHash)("sha256").update(e).digest(),v=async(e,t=3)=>{for(let r=0;r<t;r++)if(await e())return!0;return!1}},7525:(e,t,r)=>{"use strict";r.d(t,{geoCodeAddress:()=>b,geoCodeLatLng:()=>R,getCountryList:()=>k,getLanguageList:()=>_,queryCompanies:()=>m,queryEvents:()=>f,queryGroups:()=>h,queryMembers:()=>c,queryOrganizations:()=>w,querySpeakers:()=>u,querySponsors:()=>y,queryTags:()=>d,queryTrackGroups:()=>g,queryTracks:()=>p});var o=r(4054),n=r(886),s=r(6530);const a=require("lodash");var l=r.n(a);const i=500,c=l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,o.escapeFilterValue)(e);let a=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/members?filter=${a}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i),u=(l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,o.escapeFilterValue)(e);let a=encodeURIComponent(`name=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${a}&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i),l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l="/api/v1";e&&(l+=`/summits/${e}`),l+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${a}&expand=member,registration_request`,fetch((0,s.buildAPIBaseUrl)(l)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i)),d=l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l="/api/v1",i=encodeURIComponent(`tag=@${t}`);l+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,l+=`&order=tag&page=1&per_page=50&access_token=${a}`,fetch((0,s.buildAPIBaseUrl)(l)).then(o.fetchResponseHandler).then((t=>{let o=[...t.data];e&&(o=o.map((e=>e.tag))),r(o)})).catch(o.fetchErrorHandler)}),i),p=l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l=encodeURIComponent(`name=@${t}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${l}&order=name&access_token=${a}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i),g=l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();let l=(t=(0,o.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${a}&${l}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i),f=l().debounce((async(e,t,r=!1,a)=>{const l=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let i=`/api/v1/summits/${e}/events`+(r?"/published":""),c=encodeURIComponent(`title=@${t}`);fetch((0,s.buildAPIBaseUrl)(`${i}?filter=${c}&order=title&access_token=${l}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(o.fetchErrorHandler)}),i),h=l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();let a=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/groups?filter=${a}&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i),m=l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,o.escapeFilterValue)(e);let a=encodeURIComponent(`name=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/companies?filter=${a}&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i),y=l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l=encodeURIComponent(`company_name=@${t}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${l}&expand=company,sponsorship&access_token=${a}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i),w=(l().debounce(((e,t,r)=>{let a=(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l=encodeURIComponent(`name=@${t}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${l}&&access_token=${a}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i),l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,o.escapeFilterValue)(e);let a=encodeURIComponent(`name=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/organizations?filter=${a}&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i)),_=(e,t)=>fetch((0,s.buildAPIBaseUrl)("/api/public/v1/languages"),{signal:t}).then(o.fetchResponseHandler).then((t=>{e(t.data)})).catch(o.fetchErrorHandler),k=(e,t)=>fetch((0,s.buildAPIBaseUrl)("/api/public/v1/countries"),{signal:t}).then(o.fetchResponseHandler).then((t=>{e(t.data)})).catch(o.fetchErrorHandler);var S;const b=e=>(S||(S=new google.maps.Geocoder),new Promise((function(t,r){S.geocode({address:e},(function(e,o){o==google.maps.GeocoderStatus.OK?t(e):r(o)}))}))),R=(e,t)=>{S||(S=new google.maps.Geocoder);var r={lat:parseFloat(e),lng:parseFloat(t)};return new Promise((function(e,t){S.geocode({location:r},(function(r,o){o==google.maps.GeocoderStatus.OK?e(r):t(o)}))}))}},1267:(e,t,r)=>{var o={"./en.json":6443,"./es.json":5117,"./zh.json":7554};function n(e){var t=s(e);return r(t)}function s(e){if(!r.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}n.keys=function(){return Object.keys(o)},n.resolve=s,e.exports=n,n.id=1267},4656:e=>{"use strict";e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{"use strict";e.exports=require("idtoken-verifier")},8362:e=>{"use strict";e.exports=require("moment-timezone")},4824:e=>{"use strict";e.exports=require("superagent")},271:e=>{"use strict";e.exports=require("sweetalert2")},1708:e=>{"use strict";e.exports=require("urijs")},6113:e=>{"use strict";e.exports=require("crypto")},6443:e=>{"use strict";e.exports=JSON.parse('{"errors":{"user_not_authz":"Hold on. Your user is not authorized!.","session_expired":"Hold on. Your session expired!.","server_error":"There was a problem with our server, please contact admin."},"general":{"select_summit":"Select a Summit...","add":"Add","clear":"Clear","remove":"Remove","drop_files":"Drop images or click to select files to upload.","search":"Search","save":"Save","done":"Done!","drag_and_drop":"Drag and Drop to sort items.","other":"Other","type_something":"Type something and press tab or enter.","are_you_sure":"Are you sure?","yes_delete":"Yes, delete.","remove_warning":"Are you sure you want to delete this?"}}')},5117:e=>{"use strict";e.exports=JSON.parse('{"errors":{"user_not_authz":"Hold on. Your user is not authorized!.","session_expired":"Hold on. Your session expired!.","server_error":"There was a problem with our server, please contact admin."},"general":{"select_summit":"Select a Summit...","add":"Add","clear":"Clear","remove":"Remove","drop_files":"Drop images or click to select files to upload.","search":"Search","save":"Save","done":"Done!","drag_and_drop":"Drag and Drop to sort items.","other":"Other","type_something":"Type something and press tab or enter.","are_you_sure":"Are you sure?","yes_delete":"Yes, delete.","remove_warning":"Are you sure you want to delete this?"}}')},7554:e=>{"use strict";e.exports=JSON.parse('{"errors":{"user_not_authz":"坚持,稍等。您的用户未经授权!","session_expired":"坚持,稍等。你的会话已经过期了!","server_error":"我们的服务器出现问题,请联系管理员。"},"general":{"select_summit":"选择峰会...","add":"加","clear":"明确","remove":"去掉","drop_files":"删除图像或单击以选择要上载的文件。","search":"搜索","save":"保存","done":"完成!","drag_and_drop":"拖放以对项目进行排序。","other":"其他","type_something":"输入内容并按Tab键或输入。","are_you_sure":"你确定吗?","yes_delete":"是的,删除。","remove_warning":"你确定要删除这个吗?"}}')}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.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(()=>{"use strict";r.r(o),r.d(o,{authErrorHandler:()=>n.authErrorHandler,clearAccessToken:()=>i.clearAccessToken,clearAuthInfo:()=>i.clearAuthInfo,createAction:()=>n.createAction,defaultErrorHandler:()=>n.defaultErrorHandler,deleteRequest:()=>n.deleteRequest,doLogin:()=>i.doLogin,doLoginBasicLogin:()=>i.doLoginBasicLogin,doLogout:()=>l.doLogout,downloadFileByContent:()=>n.downloadFileByContent,emitAccessToken:()=>i.emitAccessToken,epochToMoment:()=>a.epochToMoment,epochToMomentTimeZone:()=>a.epochToMomentTimeZone,escapeFilterValue:()=>n.escapeFilterValue,fetchErrorHandler:()=>n.fetchErrorHandler,fetchResponseHandler:()=>n.fetchResponseHandler,findElementPos:()=>a.findElementPos,formatEpoch:()=>a.formatEpoch,geoCodeAddress:()=>s.geoCodeAddress,geoCodeLatLng:()=>s.geoCodeLatLng,getAccessToken:()=>i.getAccessToken,getAuthInfo:()=>i.getAuthInfo,getAuthUrl:()=>i.getAuthUrl,getBackURL:()=>a.getBackURL,getCSV:()=>n.getCSV,getCountryList:()=>s.getCountryList,getCurrentHref:()=>a.getCurrentHref,getIdToken:()=>i.getIdToken,getLanguageList:()=>s.getLanguageList,getLogoutUrl:()=>i.getLogoutUrl,getOAuth2ClientId:()=>i.getOAuth2ClientId,getOAuth2IDPBaseUrl:()=>i.getOAuth2IDPBaseUrl,getRawCSV:()=>n.getRawCSV,getRequest:()=>n.getRequest,getUserInfo:()=>l.getUserInfo,initLogOut:()=>i.initLogOut,objectToQueryString:()=>a.objectToQueryString,onUserAuth:()=>l.onUserAuth,passwordlessLogin:()=>i.passwordlessLogin,passwordlessStart:()=>i.passwordlessStart,postFile:()=>n.postFile,postRequest:()=>n.postRequest,putFile:()=>n.putFile,putRequest:()=>n.putRequest,queryCompanies:()=>s.queryCompanies,queryEvents:()=>s.queryEvents,queryGroups:()=>s.queryGroups,queryMembers:()=>s.queryMembers,queryOrganizations:()=>s.queryOrganizations,querySpeakers:()=>s.querySpeakers,querySponsors:()=>s.querySponsors,queryTags:()=>s.queryTags,queryTrackGroups:()=>s.queryTrackGroups,queryTracks:()=>s.queryTracks,resetLoading:()=>n.resetLoading,responseHandler:()=>n.responseHandler,showMessage:()=>n.showMessage,showSuccessMessage:()=>n.showSuccessMessage,startLoading:()=>n.startLoading,stopLoading:()=>n.stopLoading,updateUserInfo:()=>l.updateUserInfo});require("react");var e=r(4656),t=r.n(e),n=r(4054),s=r(7525),a=r(6530),l=r(4341),i=r(886);let c=(0,a.getCurrentUserLanguage)();c.length>2&&(c=c.split("-")[0],c=c.split("_")[0]);try{t().setTexts(r(1267)(`./${c}.json`))}catch(e){t().setTexts(r(6443))}})(),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,(function(){return(()=>{var e={4341:(e,t,r)=>{"use strict";r.d(t,{CLEAR_SESSION_STATE:()=>p,SET_LOGGED_USER:()=>d,doLogout:()=>f,getUserInfo:()=>h,onUserAuth:()=>g,updateUserInfo:()=>m});var o=r(4656),n=r.n(o),s=r(4054),a=r(6530),l=r(886);function i(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 c(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const d="SET_LOGGED_USER",p="CLEAR_SESSION_STATE",g=(e,t,r,o=0,n=null)=>s=>{(0,l.storeAuthInfo)(e,o,n,t),s({type:d,payload:{sessionState:r}})},f=e=>(t,r)=>{t({type:"LOGOUT_USER",payload:{backUrl:e}})},h=(e="groups",t="",r=null,o=null,i=null)=>async(c,u)=>{let d=(0,a.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:p}=u(),{member:g}=p,f=await(0,l.getAccessToken)();if(null!=g)return null!=o&&null!=r&&o.push(r),Promise.resolve();null==i&&(i=s.authErrorHandler),c((0,s.startLoading)());let h={access_token:f,expand:e};return t&&(h.fields=t),(0,s.getRequest)((0,s.createAction)("REQUEST_USER_INFO"),(0,s.createAction)("RECEIVE_USER_INFO"),(0,a.buildAPIBaseUrl)("/api/v1/members/me"),i)(h)(c,u).then((()=>{c((0,s.stopLoading)());let{member:e}=u().loggedUserState;if(null==e){let e={title:"ERROR",html:n().translate("errors.user_not_set"),type:"error"};c((0,s.showMessage)(e,l.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:n().translate("errors.user_not_authz"),type:"error"};return void c((0,s.showMessage)(e,l.initLogOut))}}null!=o&&null!=r&&o.push(r)}))},m=e=>(t,r)=>{let{loggedUserState:o}=r(),{member:n}=o;if(null==n)throw Error("Member is not set.");if(e.id!=n.id)throw Error("Member is not the same.");t({type:"UPDATE_USER_INFO",payload:c({},e)})}},886:(e,t,r)=>{"use strict";r.d(t,{clearAccessToken:()=>T,clearAuthInfo:()=>P,doLogin:()=>O,doLoginBasicLogin:()=>A,emitAccessToken:()=>E,getAccessToken:()=>v,getAuthInfo:()=>C,getAuthUrl:()=>S,getIdToken:()=>$,getLogoutUrl:()=>b,getOAuth2ClientId:()=>q,getOAuth2IDPBaseUrl:()=>j,initLogOut:()=>B,passwordlessLogin:()=>M,passwordlessStart:()=>D,storeAuthInfo:()=>I});var o=r(6530),n=r(4824),s=r.n(n),a=r(6113);const l=require("browser-tabs-lock");var i=r.n(l),c=r(1708),u=r.n(c),d=r(3856),p=r.n(d),g=r(4341);let f=s();const h=new(i()),m="openstackuicore.lock.getTokenSilently",y="code",w="authInfo",_="nonce",k="pkce",S=(e=null,t=null,r=null,n=null)=>{let s=q(),a=(0,o.getAuthCallback)(),l=j(),i=F(),c=H();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let d=R(16);(0,o.putOnLocalStorage)(_,d);let p=u()(`${l}/oauth2/auth`),g={response_type:encodeURI(c),scope:encodeURI(i),nonce:d,response_mode:"fragment",client_id:encodeURI(s),redirect_uri:encodeURI(a)};if(c===y){const e=U();(0,o.putOnLocalStorage)(k,JSON.stringify(e)),g.code_challenge=e.codeChallenge,g.code_challenge_method="S256",g.approval_prompt="force"}return t&&(g.prompt=t),r&&(g.id_token_hint=r),n&&(g.provider=n),p=p.query(g),p},b=e=>{let t=j(),r=q(),n=u()(`${t}/oauth2/end-session`),s=R(16),a=(0,o.getOrigin)()+"/auth/logout";return(0,o.putOnLocalStorage)("post_logout_state",s),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(r),state:s})},R=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},O=(e=null,t=null,r=null)=>{let n=S(e,r,null,t);(0,o.getCurrentLocation)().replace(n.toString())},A=(e=null)=>{O(e,null,null)},U=()=>{const e=(0,o.base64URLEncode)((0,a.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,o.base64URLEncode)((0,o.sha256)(Buffer.from(e))),createdAt:new Date}},E=async(e,t=null)=>{let r=j(),n=q(),s=(0,o.getAuthCallback)(),a=JSON.parse((0,o.getFromLocalStorage)(k,!0));null!=t&&(s+=`?BackUrl=${encodeURI(t)}`);const l={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(n),redirect_uri:encodeURI(s)};try{const e=await fetch(`${r}/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)})),t=await e.json();let{access_token:o,refresh_token:n,id_token:s,expires_in:a,error:i,error_description:c}=t;return{access_token:o,refresh_token:n,id_token:s,expires_in:a,error:i,error_description:c}}catch(e){console.log(e)}},T=async()=>{if(await(0,o.retryPromise)((()=>h.acquireLock(m,5e3)),10))try{let e=C();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:r,accessTokenUpdatedAt:o,refreshToken:n}=e;I(null,0,n)}finally{await h.releaseLock(m)}},v=async()=>{if(await(0,o.retryPromise)((()=>h.acquireLock(m,5e3)),10))try{let e=C();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:r,accessTokenUpdatedAt:o,refreshToken:n}=e,s=H(),a=Math.floor(Date.now()/1e3);if(r-=20,a-o>r||null==t){if(console.log("getAccessToken access token expired"),s===y&&x()){if(!n)throw P(),Error("missing Refresh Token");let e=await L(n),{access_token:t,expires_in:r,refresh_token:o}=e;return void 0===o&&(o=null),I(t,r,o),t}throw P(),Error("Access Token Expired.")}return t}finally{await h.releaseLock(m)}throw Error("Lock acquire error.")},L=async e=>{let t=j(),r=q();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,o.getCurrentPathName)();throw(0,o.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),r=await e.json();let{access_token:s,refresh_token:a,expires_in:l}=r;return{access_token:s,refresh_token:a,expires_in:l}}catch(e){throw console.log(e),e}},I=(e,t,r=null,n=null)=>{let s=C(),a={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===r&&s&&(r=s.refreshToken),null===n&&s&&(n=s.idToken),r&&(a.refreshToken=r),n&&(a.idToken=n),(0,o.putOnLocalStorage)(w,JSON.stringify(a))},C=()=>{let e=(0,o.getFromLocalStorage)(w,!1);return null===e?null:JSON.parse(e)},P=()=>{if("undefined"!=typeof window)return(0,o.removeFromLocalStorage)(w),(0,o.removeFromLocalStorage)(_),void(0,o.removeFromLocalStorage)(k)},$=()=>{if("undefined"!=typeof window){const e=C();return e?e.idToken:null}return null},q=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,H=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",x=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),j=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,F=()=>"undefined"!=typeof window?window.SCOPES:null,B=()=>{(0,o.getCurrentLocation)().replace(b($()).toString())},D=e=>{let t=q(),r=F(),n=R(16);(0,o.putOnLocalStorage)(_,n);let s=j(),a=u()(`${s}/oauth2/auth`),l={response_type:"otp",scope:encodeURI(r),nonce:n,client_id:encodeURI(t),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)),f.post(a.toString()).send(l).then((e=>{let t=e.body;return Promise.resolve({response:t})})).catch((e=>Promise.reject(e)))},M=e=>t=>{let r=q(),n=F(),s=j(),a=u()(`${s}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error("otp param is mandatory.");let l={grant_type:"passwordless",connection:e.connection||"email",scope:encodeURI(n),client_id:encodeURI(r),otp:e.otp};return e.hasOwnProperty("email")&&(l.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(l.phone_number=encodeURIComponent(e.phone_number)),f.post(a.toString()).send(l).then((e=>{try{let n=e.body,{access_token:a,expires_in:l,refresh_token:i,id_token:c}=n;if(void 0===i&&(i=null),void 0===c&&(c=null),c&&!((e,t,r)=>{let n=new(p())({issuer:t,audience:r}),s=(0,o.getFromLocalStorage)(_,!0),a=n.decode(e),l=(a.header.alg,a.header.kid,a.payload.aud),i=a.payload.iss;return a.payload.exp,a.payload.nbf,(a.payload.nonce||null)==s&&l==r&&i==t})(c,s,r))throw Error("id token is not valid.");return I(a,l,i,c),t&&t({type:g.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))}},4054:(e,t,r)=>{"use strict";r.d(t,{authErrorHandler:()=>S,createAction:()=>h,defaultErrorHandler:()=>T,deleteRequest:()=>O,downloadFileByContent:()=>$,escapeFilterValue:()=>x,fetchErrorHandler:()=>L,fetchResponseHandler:()=>I,getCSV:()=>q,getRawCSV:()=>H,getRequest:()=>b,postFile:()=>U,postRequest:()=>A,putFile:()=>E,putRequest:()=>R,resetLoading:()=>m,responseHandler:()=>v,showMessage:()=>C,showSuccessMessage:()=>P,startLoading:()=>y,stopLoading:()=>w});var o=r(4824),n=r.n(o),s=r(1708),a=r.n(s),l=r(271),i=r.n(l),c=r(4656),u=r.n(c),d=r(6530),p=r(4341),g=r(886);let f=n();const h=e=>t=>({type:e,payload:t}),m=h("RESET_LOADING"),y=h("START_LOADING"),w=h("STOP_LOADING"),_={},k=e=>0===Object.keys(e).length&&e.constructor===Object,S=(e,t)=>(t,r)=>{let o=e.status,n="";switch(t(w()),o){case 403:let r={title:"ERROR",html:u().translate("errors.user_not_authz"),type:"error"};t(C(r,g.initLogOut));break;case 401:let o=(0,d.getCurrentPathName)(),l=(0,d.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),l||((0,d.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,g.doLogin)(o));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,i().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>";i().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:i().fire("ERROR",u().translate("errors.server_error"),"error")}},b=(e,t,r,o=T,n={})=>(s={})=>(l,i)=>{let c=a()(r);k(s)||(c=c.query(s));let u=c.toString();return e&&"function"==typeof e&&l(e(n)),(e=>{_[e]&&(_[e].abort(),console.log(`aborted request ${e}`),delete _[e])})(u),new Promise(((e,r)=>{let n=f.get(c.toString()).timeout({response:6e4,deadline:6e4}).end(v(l,i,t,o,e,r));((e,t)=>{_[e]=t})(u,n)}))},R=(e,t,r,o,n=T,s={})=>(l={})=>(i,c)=>{let u=a()(r);return k(l)||(u=u.query(l)),e&&"function"==typeof e&&i(e(s)),new Promise(((e,r)=>{null==o&&(o={}),f.put(u.toString()).send(o).end(v(i,c,t,n,e,r))}))},O=(e,t,r,o,n=T,s={})=>l=>(i,c)=>{let u=a()(r);return k(l)||(u=u.query(l)),e&&"function"==typeof e&&i(e(s)),new Promise(((e,r)=>{null==o&&(o={}),f.delete(u).send(o).end(v(i,c,t,n,e,r))}))},A=(e,t,r,o,n=T,s={})=>(l={})=>(i,c)=>{let u=a()(r);return k(l)||(u=u.query(l)),e&&"function"==typeof e&&i(e(s)),new Promise(((e,r)=>{let s=f.post(u);null!=o?s.send(o):s.set("Content-Type","text/plain"),s.end(v(i,c,t,n,e,r))}))},U=(e,t,r,o,n={},s=T,l={})=>(i={})=>(c,u)=>{let d=a()(r);return k(i)||(d=d.query(i)),e&&"function"==typeof e&&c(e(l)),new Promise(((e,r)=>{const a=f.post(d).attach("file",o);k(n)||Object.keys(n).forEach((function(e){let t=n[e];a.field(e,t)})),a.end(v(c,u,t,s,e,r))}))},E=(e,t,r,o=null,n={},s=T,l={})=>(i={})=>(c,u)=>{let d=a()(r);return k(i)||(d=d.query(i)),e&&"function"==typeof e&&c(e(l)),new Promise(((e,r)=>{const a=f.put(d);null!=o&&a.attach("file",o),k(n)||Object.keys(n).forEach((function(e){let t=n[e];a.field(e,t)})),a.end(v(c,u,t,s,e,r))}))},T=(e,t)=>e=>{let r=t.body,o="";r instanceof Object&&r.hasOwnProperty("message")&&(o=r.message),i().fire(t.statusText,o,"error")},v=(e,t,r,o,n,s)=>(a,l)=>{if(a||!l.ok)return o&&o(a,l)(e,t),s({err:a,res:l,dispatch:e,state:t});let i=l.body;return"function"==typeof r?(e(r({response:i})),n({response:i})):(e(r),n({response:i}))},L=e=>{let t=e.status,r=e.statusText;switch(t){case 403:i().fire("ERROR",u().translate("errors.user_not_authz"),"warning");break;case 401:i().fire("ERROR",u().translate("errors.session_expired"),"error");break;case 412:i().fire("ERROR",r,"warning");case 500:i().fire("ERROR",u().translate("errors.server_error"),"error")}},I=e=>{if(e.ok)return e.json();throw e},C=(e,t={})=>r=>{r(w()),i().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))},P=e=>t=>{t(w()),i().fire({title:u().translate("general.done"),html:e,type:"success"})},$=(e,t,r)=>{let o=document.createElement("a");o.textContent="download",o.download=e,o.href=`data:${r},${encodeURIComponent(t)}`,document.body.appendChild(o),o.click(),document.body.removeChild(o)},q=(e,t,r,o=null)=>n=>{let s=a()(e);return k(t)||(s=s.query(t)),n(y()),fetch(s.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>{n(w()),o&&(e=o+"\r\r"+e),$(r,e,"text/csv;charset=utf-8")})).catch(L)},H=(e,t,r=null)=>{let o=a()(e);return k(t)||(o=o.query(t)),fetch(o.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>(r&&(e=r+"\r\r"+e),e))).catch(L)},x=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6530:(e,t,r)=>{"use strict";r.d(t,{base64URLEncode:()=>E,buildAPIBaseUrl:()=>k,epochToMoment:()=>c,epochToMomentTimeZone:()=>u,findElementPos:()=>i,formatEpoch:()=>d,getAllowedUserGroups:()=>_,getAuthCallback:()=>f,getBackURL:()=>g,getCurrentHref:()=>w,getCurrentLocation:()=>h,getCurrentPathName:()=>y,getCurrentUserLanguage:()=>U,getFromLocalStorage:()=>b,getOrigin:()=>m,isClearingSessionState:()=>O,objectToQueryString:()=>p,putOnLocalStorage:()=>S,removeFromLocalStorage:()=>R,retryPromise:()=>v,setSessionClearingState:()=>A,sha256:()=>T});var o=r(8362),n=r.n(o),s=r(1708),a=r.n(s),l=r(6113);const i=e=>{var t=-70;if(e.offsetParent){do{t+=e.offsetTop}while(e=e.offsetParent);return[t]}},c=e=>e?(e*=1e3,n()(e)):e,u=(e,t)=>e?(e*=1e3,n()(e).tz(t)):e,d=(e,t="M/D/YYYY h:mm a")=>e?c(e).format(t):e,p=e=>{var t="";for(var r in e)""!=t&&(t+="&"),t+=r+"="+encodeURIComponent(e[r]);return t},g=()=>{let e=a()(window.location.href),t=e.search(!0),r=e.fragment(),o=t.hasOwnProperty("BackUrl")?t.BackUrl:null;return null!=r&&""!=r&&(o+=`#${r}`),o},f=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,h=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},m=()=>"undefined"!=typeof window?window.location.origin:null,y=()=>"undefined"!=typeof window?window.location.pathname:null,w=()=>"undefined"!=typeof window?window.location.href:null,_=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,k=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,S=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},b=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),R(e)),r}return null},R=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},O=()=>"undefined"!=typeof window&&window.clearing_session_state,A=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},U=()=>{let e="en";return"undefined"!=typeof navigator&&(e=navigator.languages&&navigator.languages[0]||navigator.language||navigator.userLanguage),e},E=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),T=e=>(0,l.createHash)("sha256").update(e).digest(),v=async(e,t=3)=>{for(let r=0;r<t;r++)if(await e())return!0;return!1}},7525:(e,t,r)=>{"use strict";r.d(t,{geoCodeAddress:()=>b,geoCodeLatLng:()=>R,getCountryList:()=>k,getLanguageList:()=>_,queryCompanies:()=>m,queryEvents:()=>f,queryGroups:()=>h,queryMembers:()=>c,queryOrganizations:()=>w,querySpeakers:()=>u,querySponsors:()=>y,queryTags:()=>d,queryTrackGroups:()=>g,queryTracks:()=>p});var o=r(4054),n=r(886),s=r(6530);const a=require("lodash");var l=r.n(a);const i=500,c=l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,o.escapeFilterValue)(e);let a=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/members?filter=${a}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i),u=(l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,o.escapeFilterValue)(e);let a=encodeURIComponent(`name=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${a}&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i),l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l="/api/v1";e&&(l+=`/summits/${e}`),l+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${a}&expand=member,registration_request`,fetch((0,s.buildAPIBaseUrl)(l)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i)),d=l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l="/api/v1",i=encodeURIComponent(`tag=@${t}`);l+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,l+=`&order=tag&page=1&per_page=50&access_token=${a}`,fetch((0,s.buildAPIBaseUrl)(l)).then(o.fetchResponseHandler).then((t=>{let o=[...t.data];e&&(o=o.map((e=>e.tag))),r(o)})).catch(o.fetchErrorHandler)}),i),p=l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l=encodeURIComponent(`name=@${t}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${l}&order=name&access_token=${a}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i),g=l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();let l=(t=(0,o.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${a}&${l}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i),f=l().debounce((async(e,t,r=!1,a)=>{const l=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let i=`/api/v1/summits/${e}/events`+(r?"/published":""),c=encodeURIComponent(`title=@${t}`);fetch((0,s.buildAPIBaseUrl)(`${i}?filter=${c}&order=title&access_token=${l}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(o.fetchErrorHandler)}),i),h=l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();let a=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/groups?filter=${a}&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i),m=l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,o.escapeFilterValue)(e);let a=encodeURIComponent(`name=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/companies?filter=${a}&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i),y=l().debounce((async(e,t,r)=>{const a=await(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l=encodeURIComponent(`company_name=@${t}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${l}&expand=company,sponsorship&access_token=${a}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i),w=(l().debounce(((e,t,r)=>{let a=(0,n.getAccessToken)();t=(0,o.escapeFilterValue)(t);let l=encodeURIComponent(`name=@${t}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${l}&&access_token=${a}`)).then(o.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(o.fetchErrorHandler)}),i),l().debounce((async(e,t)=>{const r=await(0,n.getAccessToken)();e=(0,o.escapeFilterValue)(e);let a=encodeURIComponent(`name=@${e}`);fetch((0,s.buildAPIBaseUrl)(`/api/v1/organizations?filter=${a}&access_token=${r}`)).then(o.fetchResponseHandler).then((e=>{let r=[...e.data];t(r)})).catch(o.fetchErrorHandler)}),i)),_=(e,t)=>fetch((0,s.buildAPIBaseUrl)("/api/public/v1/languages"),{signal:t}).then(o.fetchResponseHandler).then((t=>{e(t.data)})).catch(o.fetchErrorHandler),k=(e,t)=>fetch((0,s.buildAPIBaseUrl)("/api/public/v1/countries"),{signal:t}).then(o.fetchResponseHandler).then((t=>{e(t.data)})).catch(o.fetchErrorHandler);var S;const b=e=>(S||(S=new google.maps.Geocoder),new Promise((function(t,r){S.geocode({address:e},(function(e,o){o==google.maps.GeocoderStatus.OK?t(e):r(o)}))}))),R=(e,t)=>{S||(S=new google.maps.Geocoder);var r={lat:parseFloat(e),lng:parseFloat(t)};return new Promise((function(e,t){S.geocode({location:r},(function(r,o){o==google.maps.GeocoderStatus.OK?e(r):t(o)}))}))}},1267:(e,t,r)=>{var o={"./en.json":6443,"./es.json":5117,"./zh.json":7554};function n(e){var t=s(e);return r(t)}function s(e){if(!r.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}n.keys=function(){return Object.keys(o)},n.resolve=s,e.exports=n,n.id=1267},4656:e=>{"use strict";e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{"use strict";e.exports=require("idtoken-verifier")},8362:e=>{"use strict";e.exports=require("moment-timezone")},4824:e=>{"use strict";e.exports=require("superagent")},271:e=>{"use strict";e.exports=require("sweetalert2")},1708:e=>{"use strict";e.exports=require("urijs")},6113:e=>{"use strict";e.exports=require("crypto")},6443:e=>{"use strict";e.exports=JSON.parse('{"errors":{"user_not_authz":"Hold on. Your user is not authorized!.","session_expired":"Hold on. Your session expired!.","server_error":"There was a problem with our server, please contact admin."},"general":{"select_summit":"Select a Summit...","add":"Add","clear":"Clear","remove":"Remove","drop_files":"Drop images or click to select files to upload.","search":"Search","save":"Save","done":"Done!","drag_and_drop":"Drag and Drop to sort items.","other":"Other","type_something":"Type something and press tab or enter.","are_you_sure":"Are you sure?","yes_delete":"Yes, delete.","remove_warning":"Are you sure you want to delete this?"}}')},5117:e=>{"use strict";e.exports=JSON.parse('{"errors":{"user_not_authz":"Hold on. Your user is not authorized!.","session_expired":"Hold on. Your session expired!.","server_error":"There was a problem with our server, please contact admin."},"general":{"select_summit":"Select a Summit...","add":"Add","clear":"Clear","remove":"Remove","drop_files":"Drop images or click to select files to upload.","search":"Search","save":"Save","done":"Done!","drag_and_drop":"Drag and Drop to sort items.","other":"Other","type_something":"Type something and press tab or enter.","are_you_sure":"Are you sure?","yes_delete":"Yes, delete.","remove_warning":"Are you sure you want to delete this?"}}')},7554:e=>{"use strict";e.exports=JSON.parse('{"errors":{"user_not_authz":"坚持,稍等。您的用户未经授权!","session_expired":"坚持,稍等。你的会话已经过期了!","server_error":"我们的服务器出现问题,请联系管理员。"},"general":{"select_summit":"选择峰会...","add":"加","clear":"明确","remove":"去掉","drop_files":"删除图像或单击以选择要上载的文件。","search":"搜索","save":"保存","done":"完成!","drag_and_drop":"拖放以对项目进行排序。","other":"其他","type_something":"输入内容并按Tab键或输入。","are_you_sure":"你确定吗?","yes_delete":"是的,删除。","remove_warning":"你确定要删除这个吗?"}}')}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.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(()=>{"use strict";r.r(o),r.d(o,{authErrorHandler:()=>n.authErrorHandler,clearAccessToken:()=>i.clearAccessToken,clearAuthInfo:()=>i.clearAuthInfo,createAction:()=>n.createAction,defaultErrorHandler:()=>n.defaultErrorHandler,deleteRequest:()=>n.deleteRequest,doLogin:()=>i.doLogin,doLoginBasicLogin:()=>i.doLoginBasicLogin,doLogout:()=>l.doLogout,downloadFileByContent:()=>n.downloadFileByContent,emitAccessToken:()=>i.emitAccessToken,epochToMoment:()=>a.epochToMoment,epochToMomentTimeZone:()=>a.epochToMomentTimeZone,escapeFilterValue:()=>n.escapeFilterValue,fetchErrorHandler:()=>n.fetchErrorHandler,fetchResponseHandler:()=>n.fetchResponseHandler,findElementPos:()=>a.findElementPos,formatEpoch:()=>a.formatEpoch,geoCodeAddress:()=>s.geoCodeAddress,geoCodeLatLng:()=>s.geoCodeLatLng,getAccessToken:()=>i.getAccessToken,getAuthInfo:()=>i.getAuthInfo,getAuthUrl:()=>i.getAuthUrl,getBackURL:()=>a.getBackURL,getCSV:()=>n.getCSV,getCountryList:()=>s.getCountryList,getCurrentHref:()=>a.getCurrentHref,getIdToken:()=>i.getIdToken,getLanguageList:()=>s.getLanguageList,getLogoutUrl:()=>i.getLogoutUrl,getOAuth2ClientId:()=>i.getOAuth2ClientId,getOAuth2IDPBaseUrl:()=>i.getOAuth2IDPBaseUrl,getRawCSV:()=>n.getRawCSV,getRequest:()=>n.getRequest,getUserInfo:()=>l.getUserInfo,initLogOut:()=>i.initLogOut,objectToQueryString:()=>a.objectToQueryString,onUserAuth:()=>l.onUserAuth,passwordlessLogin:()=>i.passwordlessLogin,passwordlessStart:()=>i.passwordlessStart,postFile:()=>n.postFile,postRequest:()=>n.postRequest,putFile:()=>n.putFile,putRequest:()=>n.putRequest,queryCompanies:()=>s.queryCompanies,queryEvents:()=>s.queryEvents,queryGroups:()=>s.queryGroups,queryMembers:()=>s.queryMembers,queryOrganizations:()=>s.queryOrganizations,querySpeakers:()=>s.querySpeakers,querySponsors:()=>s.querySponsors,queryTags:()=>s.queryTags,queryTrackGroups:()=>s.queryTrackGroups,queryTracks:()=>s.queryTracks,resetLoading:()=>n.resetLoading,responseHandler:()=>n.responseHandler,showMessage:()=>n.showMessage,showSuccessMessage:()=>n.showSuccessMessage,startLoading:()=>n.startLoading,stopLoading:()=>n.stopLoading,updateUserInfo:()=>l.updateUserInfo});require("react");var e=r(4656),t=r.n(e),n=r(4054),s=r(7525),a=r(6530),l=r(4341),i=r(886);let c=(0,a.getCurrentUserLanguage)();c.length>2&&(c=c.split("-")[0],c=c.split("_")[0]);try{t().setTexts(r(1267)(`./${c}.json`))}catch(e){t().setTexts(r(6443))}})(),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,(function(){return(()=>{"use strict";var e={4341:(e,t,o)=>{o(4656),o(4054),o(6530),o(886)},886:(e,t,o)=>{o.d(t,{RESPONSE_TYPE_CODE:()=>p,RESPONSE_TYPE_IMPLICIT:()=>u,doLogin:()=>w,emitAccessToken:()=>k,getOAuth2Flow:()=>m,validateIdToken:()=>S});var r=o(6530),n=(o(4824),o(6113));const i=require("browser-tabs-lock");var a=o.n(i),s=o(1708),c=o.n(s),d=o(3856),l=o.n(d);o(4341);new(a());const u="token id_token",p="code",_="nonce",f="pkce",h=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},w=(e=null,t=null,o="consent")=>{let n=((e=null,t=null,o=null,n=null)=>{let i=y(),a=(0,r.getAuthCallback)(),s=O(),d=b(),l=m();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=h(16);(0,r.putOnLocalStorage)(_,u);let w=c()(`${s}/oauth2/auth`),k={response_type:encodeURI(l),scope:encodeURI(d),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(a)};if(l===p){const e=g();(0,r.putOnLocalStorage)(f,JSON.stringify(e)),k.code_challenge=e.codeChallenge,k.code_challenge_method="S256",k.approval_prompt="force"}return t&&(k.prompt=t),o&&(k.id_token_hint=o),n&&(k.provider=n),w=w.query(k),w})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},g=()=>{const e=(0,r.base64URLEncode)((0,n.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,r.base64URLEncode)((0,r.sha256)(Buffer.from(e))),createdAt:new Date}},k=async(e,t=null)=>{let o=O(),n=y(),i=(0,r.getAuthCallback)(),a=JSON.parse((0,r.getFromLocalStorage)(f,!0));null!=t&&(i+=`?BackUrl=${encodeURI(t)}`);const s={code:e,grant_type:"authorization_code",code_verifier:a.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(s)}).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:a,error:c,error_description:d}=t;return{access_token:r,refresh_token:n,id_token:i,expires_in:a,error:c,error_description:d}}catch(e){console.log(e)}},y=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,m=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",O=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,b=()=>"undefined"!=typeof window?window.SCOPES:null,S=(e,t,o)=>{let n=new(l())({issuer:t,audience:o}),i=(0,r.getFromLocalStorage)(_,!0),a=n.decode(e),s=(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&&s==o&&c==t}},4054:(e,t,o)=>{o(4824),o(1708),o(271),o(4656),o(6530),o(4341),o(886);const r=e=>t=>({type:e,payload:t});r("RESET_LOADING"),r("START_LOADING"),r("STOP_LOADING")},6530:(e,t,o)=>{o.d(t,{base64URLEncode:()=>u,getAuthCallback:()=>n,getCurrentHref:()=>s,getCurrentLocation:()=>i,getCurrentPathName:()=>a,getFromLocalStorage:()=>d,putOnLocalStorage:()=>c,sha256:()=>p});o(8362),o(1708);var r=o(6113);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,i=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},a=()=>"undefined"!=typeof window?window.location.pathname:null,s=()=>"undefined"!=typeof window?window.location.href:null,c=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},d=(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)},u=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),p=e=>(0,r.createHash)("sha256").update(e).digest()},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")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},1708:e=>{e.exports=require("urijs")},6113:e=>{e.exports=require("crypto")}},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:()=>p});var e=o(6689),t=o.n(e),n=o(1708),i=o.n(n),a=o(886),s=o(6530);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){l(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}function l(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class u extends t().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,a.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(d(d({},this.state),{},{error:r,error_description:n}));if(!e)return void(0,a.doLogin)((0,s.getCurrentPathName)());const c=!!t&&(0,a.validateIdToken)(t,this.state.issuer,this.state.audience);this.setState(d(d({},this.state),{},{id_token_is_valid:c,error:c?null:"Invalid Token",error_description:c?null:"Invalid Token",accessToken:e})),e&&c&&(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(d(d({},this.state),{},{error:o,error_description:r}));if(!e)return void(0,a.doLogin)((0,s.getCurrentPathName)());let n=i()((0,s.getCurrentHref)()).search(!0),c=n.hasOwnProperty("BackUrl")?n.BackUrl:null;(0,a.emitAccessToken)(e,c).then((e=>{let{id_token:n,access_token:i,refresh_token:s,expires_in:c,error:l,error_description:u}=e;if(l)return void this.setState(d(d({},this.state),{},{error:l,error_description:u}));const p=!!n&&(0,a.validateIdToken)(n,this.state.issuer,this.state.audience);this.setState(d(d({},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,c,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:c,refresh_token:s}),window.location.origin)))}))}componentDidMount(){let{flow:e}=this.state;e!==a.RESPONSE_TYPE_IMPLICIT?e===a.RESPONSE_TYPE_CODE&&this._codeFlow():this._implicitFlow()}extractHashParams(){return i().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=i()((0,s.getCurrentHref)()),t=e.search(!0),o=i().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+=`#${i().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=u})(),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,(function(){return(()=>{"use strict";var e={4341:(e,t,o)=>{o(4656),o(4054),o(6530),o(886)},886:(e,t,o)=>{o.d(t,{RESPONSE_TYPE_CODE:()=>p,RESPONSE_TYPE_IMPLICIT:()=>u,doLogin:()=>w,emitAccessToken:()=>k,getOAuth2Flow:()=>m,validateIdToken:()=>S});var r=o(6530),n=(o(4824),o(6113));const i=require("browser-tabs-lock");var a=o.n(i),s=o(1708),c=o.n(s),d=o(3856),l=o.n(d);o(4341);new(a());const u="token id_token",p="code",_="nonce",f="pkce",h=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},w=(e=null,t=null,o=null)=>{let n=((e=null,t=null,o=null,n=null)=>{let i=y(),a=(0,r.getAuthCallback)(),s=O(),d=b(),l=m();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=h(16);(0,r.putOnLocalStorage)(_,u);let w=c()(`${s}/oauth2/auth`),k={response_type:encodeURI(l),scope:encodeURI(d),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(a)};if(l===p){const e=g();(0,r.putOnLocalStorage)(f,JSON.stringify(e)),k.code_challenge=e.codeChallenge,k.code_challenge_method="S256",k.approval_prompt="force"}return t&&(k.prompt=t),o&&(k.id_token_hint=o),n&&(k.provider=n),w=w.query(k),w})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},g=()=>{const e=(0,r.base64URLEncode)((0,n.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,r.base64URLEncode)((0,r.sha256)(Buffer.from(e))),createdAt:new Date}},k=async(e,t=null)=>{let o=O(),n=y(),i=(0,r.getAuthCallback)(),a=JSON.parse((0,r.getFromLocalStorage)(f,!0));null!=t&&(i+=`?BackUrl=${encodeURI(t)}`);const s={code:e,grant_type:"authorization_code",code_verifier:a.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(s)}).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:a,error:c,error_description:d}=t;return{access_token:r,refresh_token:n,id_token:i,expires_in:a,error:c,error_description:d}}catch(e){console.log(e)}},y=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,m=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",O=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,b=()=>"undefined"!=typeof window?window.SCOPES:null,S=(e,t,o)=>{let n=new(l())({issuer:t,audience:o}),i=(0,r.getFromLocalStorage)(_,!0),a=n.decode(e),s=(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&&s==o&&c==t}},4054:(e,t,o)=>{o(4824),o(1708),o(271),o(4656),o(6530),o(4341),o(886);const r=e=>t=>({type:e,payload:t});r("RESET_LOADING"),r("START_LOADING"),r("STOP_LOADING")},6530:(e,t,o)=>{o.d(t,{base64URLEncode:()=>u,getAuthCallback:()=>n,getCurrentHref:()=>s,getCurrentLocation:()=>i,getCurrentPathName:()=>a,getFromLocalStorage:()=>d,putOnLocalStorage:()=>c,sha256:()=>p});o(8362),o(1708);var r=o(6113);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,i=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},a=()=>"undefined"!=typeof window?window.location.pathname:null,s=()=>"undefined"!=typeof window?window.location.href:null,c=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},d=(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)},u=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),p=e=>(0,r.createHash)("sha256").update(e).digest()},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")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},1708:e=>{e.exports=require("urijs")},6113:e=>{e.exports=require("crypto")}},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:()=>p});var e=o(6689),t=o.n(e),n=o(1708),i=o.n(n),a=o(886),s=o(6530);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){l(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}function l(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class u extends t().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,a.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(d(d({},this.state),{},{error:r,error_description:n}));if(!e)return void(0,a.doLogin)((0,s.getCurrentPathName)());const c=!!t&&(0,a.validateIdToken)(t,this.state.issuer,this.state.audience);this.setState(d(d({},this.state),{},{id_token_is_valid:c,error:c?null:"Invalid Token",error_description:c?null:"Invalid Token",accessToken:e})),e&&c&&(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(d(d({},this.state),{},{error:o,error_description:r}));if(!e)return void(0,a.doLogin)((0,s.getCurrentPathName)());let n=i()((0,s.getCurrentHref)()).search(!0),c=n.hasOwnProperty("BackUrl")?n.BackUrl:null;(0,a.emitAccessToken)(e,c).then((e=>{let{id_token:n,access_token:i,refresh_token:s,expires_in:c,error:l,error_description:u}=e;if(l)return void this.setState(d(d({},this.state),{},{error:l,error_description:u}));const p=!!n&&(0,a.validateIdToken)(n,this.state.issuer,this.state.audience);this.setState(d(d({},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,c,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:c,refresh_token:s}),window.location.origin)))}))}componentDidMount(){let{flow:e}=this.state;e!==a.RESPONSE_TYPE_IMPLICIT?e===a.RESPONSE_TYPE_CODE&&this._codeFlow():this._implicitFlow()}extractHashParams(){return i().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=i()((0,s.getCurrentHref)()),t=e.search(!0),o=i().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+=`#${i().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=u})(),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,(function(){return(()=>{"use strict";var e={4341:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_SESSION_STATE:()=>S,LOGOUT_USER:()=>p,RECEIVE_USER_INFO:()=>g,REQUEST_USER_INFO:()=>f,SESSION_STATE_STATUS_CHANGED:()=>y,SESSION_STATE_STATUS_ERROR:()=>h,SESSION_STATE_STATUS_UNCHANGED:()=>_,SET_LOGGED_USER:()=>d,UPDATE_SESSION_STATE_STATUS:()=>w,UPDATE_USER_INFO:()=>E,doLogout:()=>m,getUserInfo:()=>T,onUserAuth:()=>O,updateSessionStateStatus:()=>A,updateUserInfo:()=>b});var r=o(4656),n=o.n(r),s=o(4054),a=o(6530),i=o(886);function l(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 t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?l(Object(o),!0).forEach((function(t){c(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function c(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const d="SET_LOGGED_USER",p="LOGOUT_USER",f="REQUEST_USER_INFO",g="RECEIVE_USER_INFO",S="CLEAR_SESSION_STATE",w="UPDATE_SESSION_STATE_STATUS",_="unchanged",y="changed",h="error",E="UPDATE_USER_INFO",O=(e,t,o,r=0,n=null)=>s=>{(0,i.storeAuthInfo)(e,r,n,t),s({type:d,payload:{sessionState:o}})},m=e=>(t,o)=>{t({type:p,payload:{backUrl:e}})},T=(e="groups",t="",o=null,r=null,l=null)=>async(u,c)=>{let d=(0,a.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:p}=c(),{member:S}=p,w=await(0,i.getAccessToken)();if(null!=S)return null!=r&&null!=o&&r.push(o),Promise.resolve();null==l&&(l=s.authErrorHandler),u((0,s.startLoading)());let _={access_token:w,expand:e};return t&&(_.fields=t),(0,s.getRequest)((0,s.createAction)(f),(0,s.createAction)(g),(0,a.buildAPIBaseUrl)("/api/v1/members/me"),l)(_)(u,c).then((()=>{u((0,s.stopLoading)());let{member:e}=c().loggedUserState;if(null==e){let e={title:"ERROR",html:n().translate("errors.user_not_set"),type:"error"};u((0,s.showMessage)(e,i.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:n().translate("errors.user_not_authz"),type:"error"};return void u((0,s.showMessage)(e,i.initLogOut))}}null!=r&&null!=o&&r.push(o)}))},b=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:E,payload:u({},e)})},A=e=>(t,o)=>{t({type:w,payload:{sessionStateStatus:e}})}},886:(e,t,o)=>{o.d(t,{doLogin:()=>w,getAccessToken:()=>y,initLogOut:()=>R,storeAuthInfo:()=>E});var r=o(6530),n=(o(4824),o(6113));const s=require("browser-tabs-lock");var a=o.n(s),i=o(1708),l=o.n(i);o(3856),o(4341);const u=new(a()),c="openstackuicore.lock.getTokenSilently",d="code",p="authInfo",f="nonce",g="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},w=(e=null,t=null,o="consent")=>{let n=((e=null,t=null,o=null,n=null)=>{let s=T(),a=(0,r.getAuthCallback)(),i=U(),u=k(),c=b();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let p=S(16);(0,r.putOnLocalStorage)(f,p);let w=l()(`${i}/oauth2/auth`),y={response_type:encodeURI(c),scope:encodeURI(u),nonce:p,response_mode:"fragment",client_id:encodeURI(s),redirect_uri:encodeURI(a)};if(c===d){const e=_();(0,r.putOnLocalStorage)(g,JSON.stringify(e)),y.code_challenge=e.codeChallenge,y.code_challenge_method="S256",y.approval_prompt="force"}return t&&(y.prompt=t),o&&(y.id_token_hint=o),n&&(y.provider=n),w=w.query(y),w})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},_=()=>{const e=(0,r.base64URLEncode)((0,n.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,r.base64URLEncode)((0,r.sha256)(Buffer.from(e))),createdAt:new Date}},y=async()=>{if(await(0,r.retryPromise)((()=>u.acquireLock(c,5e3)),10))try{let e=O();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,s=b(),a=Math.floor(Date.now()/1e3);if(o-=20,a-r>o||null==t){if(console.log("getAccessToken access token expired"),s===d&&A()){if(!n)throw m(),Error("missing Refresh Token");let e=await h(n),{access_token:t,expires_in:o,refresh_token:r}=e;return void 0===r&&(r=null),E(t,o,r),t}throw m(),Error("Access Token Expired.")}return t}finally{await u.releaseLock(c)}throw Error("Lock acquire error.")},h=async e=>{let t=U(),o=T();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(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${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}},E=(e,t,o=null,n=null)=>{let s=O(),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)(p,JSON.stringify(a))},O=()=>{let e=(0,r.getFromLocalStorage)(p,!1);return null===e?null:JSON.parse(e)},m=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(p),(0,r.removeFromLocalStorage)(f),void(0,r.removeFromLocalStorage)(g)},T=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,b=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",A=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),U=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,k=()=>"undefined"!=typeof window?window.SCOPES:null,R=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=U(),o=T(),n=l()(`${t}/oauth2/end-session`),s=S(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})})((()=>{if("undefined"!=typeof window){const e=O();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,o)=>{o.d(t,{authErrorHandler:()=>E,createAction:()=>S,getRequest:()=>O,showMessage:()=>b,startLoading:()=>w,stopLoading:()=>_});var r=o(4824),n=o.n(r),s=o(1708),a=o.n(s),i=o(271),l=o.n(i),u=o(4656),c=o.n(u),d=o(6530),p=o(4341),f=o(886);let g=n();const S=e=>t=>({type:e,payload:t}),w=(S("RESET_LOADING"),S("START_LOADING")),_=S("STOP_LOADING"),y={},h=e=>0===Object.keys(e).length&&e.constructor===Object,E=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(_()),r){case 403:let o={title:"ERROR",html:c().translate("errors.user_not_authz"),type:"error"};t(b(o,f.initLogOut));break;case 401:let r=(0,d.getCurrentPathName)(),i=(0,d.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),i||((0,d.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,f.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,l().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>";l().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:l().fire("ERROR",c().translate("errors.server_error"),"error")}},O=(e,t,o,r=m,n={})=>(s={})=>(i,l)=>{let u=a()(o);h(s)||(u=u.query(s));let c=u.toString();return e&&"function"==typeof e&&i(e(n)),(e=>{y[e]&&(y[e].abort(),console.log(`aborted request ${e}`),delete y[e])})(c),new Promise(((e,o)=>{let n=g.get(u.toString()).timeout({response:6e4,deadline:6e4}).end(T(i,l,t,r,e,o));((e,t)=>{y[e]=t})(c,n)}))},m=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),l().fire(t.statusText,r,"error")},T=(e,t,o,r,n,s)=>(a,i)=>{if(a||!i.ok)return r&&r(a,i)(e,t),s({err:a,res:i,dispatch:e,state:t});let l=i.body;return"function"==typeof o?(e(o({response:l})),n({response:l})):(e(o),n({response:l}))},b=(e,t={})=>o=>{o(_()),l().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))}},6530:(e,t,o)=>{o.d(t,{base64URLEncode:()=>S,buildAPIBaseUrl:()=>u,getAllowedUserGroups:()=>l,getAuthCallback:()=>n,getCurrentLocation:()=>s,getCurrentPathName:()=>i,getFromLocalStorage:()=>d,getOrigin:()=>a,isClearingSessionState:()=>f,putOnLocalStorage:()=>c,removeFromLocalStorage:()=>p,retryPromise:()=>_,setSessionClearingState:()=>g,sha256:()=>w});o(8362),o(1708);var r=o(6113);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,s=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},a=()=>"undefined"!=typeof window?window.location.origin:null,i=()=>"undefined"!=typeof window?window.location.pathname:null,l=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,u=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,c=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},d=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),p(e)),o}return null},p=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},f=()=>"undefined"!=typeof window&&window.clearing_session_state,g=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},S=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),w=e=>(0,r.createHash)("sha256").update(e).digest(),_=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},1708:e=>{e.exports=require("urijs")},6113:e=>{e.exports=require("crypto")}},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,(function(){return(()=>{"use strict";var e={4341:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_SESSION_STATE:()=>S,LOGOUT_USER:()=>p,RECEIVE_USER_INFO:()=>g,REQUEST_USER_INFO:()=>f,SESSION_STATE_STATUS_CHANGED:()=>y,SESSION_STATE_STATUS_ERROR:()=>h,SESSION_STATE_STATUS_UNCHANGED:()=>_,SET_LOGGED_USER:()=>d,UPDATE_SESSION_STATE_STATUS:()=>w,UPDATE_USER_INFO:()=>E,doLogout:()=>m,getUserInfo:()=>T,onUserAuth:()=>O,updateSessionStateStatus:()=>A,updateUserInfo:()=>b});var r=o(4656),n=o.n(r),s=o(4054),a=o(6530),i=o(886);function l(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 t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?l(Object(o),!0).forEach((function(t){c(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function c(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const d="SET_LOGGED_USER",p="LOGOUT_USER",f="REQUEST_USER_INFO",g="RECEIVE_USER_INFO",S="CLEAR_SESSION_STATE",w="UPDATE_SESSION_STATE_STATUS",_="unchanged",y="changed",h="error",E="UPDATE_USER_INFO",O=(e,t,o,r=0,n=null)=>s=>{(0,i.storeAuthInfo)(e,r,n,t),s({type:d,payload:{sessionState:o}})},m=e=>(t,o)=>{t({type:p,payload:{backUrl:e}})},T=(e="groups",t="",o=null,r=null,l=null)=>async(u,c)=>{let d=(0,a.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:p}=c(),{member:S}=p,w=await(0,i.getAccessToken)();if(null!=S)return null!=r&&null!=o&&r.push(o),Promise.resolve();null==l&&(l=s.authErrorHandler),u((0,s.startLoading)());let _={access_token:w,expand:e};return t&&(_.fields=t),(0,s.getRequest)((0,s.createAction)(f),(0,s.createAction)(g),(0,a.buildAPIBaseUrl)("/api/v1/members/me"),l)(_)(u,c).then((()=>{u((0,s.stopLoading)());let{member:e}=c().loggedUserState;if(null==e){let e={title:"ERROR",html:n().translate("errors.user_not_set"),type:"error"};u((0,s.showMessage)(e,i.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:n().translate("errors.user_not_authz"),type:"error"};return void u((0,s.showMessage)(e,i.initLogOut))}}null!=r&&null!=o&&r.push(o)}))},b=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:E,payload:u({},e)})},A=e=>(t,o)=>{t({type:w,payload:{sessionStateStatus:e}})}},886:(e,t,o)=>{o.d(t,{doLogin:()=>w,getAccessToken:()=>y,initLogOut:()=>R,storeAuthInfo:()=>E});var r=o(6530),n=(o(4824),o(6113));const s=require("browser-tabs-lock");var a=o.n(s),i=o(1708),l=o.n(i);o(3856),o(4341);const u=new(a()),c="openstackuicore.lock.getTokenSilently",d="code",p="authInfo",f="nonce",g="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},w=(e=null,t=null,o=null)=>{let n=((e=null,t=null,o=null,n=null)=>{let s=T(),a=(0,r.getAuthCallback)(),i=U(),u=k(),c=b();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let p=S(16);(0,r.putOnLocalStorage)(f,p);let w=l()(`${i}/oauth2/auth`),y={response_type:encodeURI(c),scope:encodeURI(u),nonce:p,response_mode:"fragment",client_id:encodeURI(s),redirect_uri:encodeURI(a)};if(c===d){const e=_();(0,r.putOnLocalStorage)(g,JSON.stringify(e)),y.code_challenge=e.codeChallenge,y.code_challenge_method="S256",y.approval_prompt="force"}return t&&(y.prompt=t),o&&(y.id_token_hint=o),n&&(y.provider=n),w=w.query(y),w})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},_=()=>{const e=(0,r.base64URLEncode)((0,n.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,r.base64URLEncode)((0,r.sha256)(Buffer.from(e))),createdAt:new Date}},y=async()=>{if(await(0,r.retryPromise)((()=>u.acquireLock(c,5e3)),10))try{let e=O();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,s=b(),a=Math.floor(Date.now()/1e3);if(o-=20,a-r>o||null==t){if(console.log("getAccessToken access token expired"),s===d&&A()){if(!n)throw m(),Error("missing Refresh Token");let e=await h(n),{access_token:t,expires_in:o,refresh_token:r}=e;return void 0===r&&(r=null),E(t,o,r),t}throw m(),Error("Access Token Expired.")}return t}finally{await u.releaseLock(c)}throw Error("Lock acquire error.")},h=async e=>{let t=U(),o=T();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(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${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}},E=(e,t,o=null,n=null)=>{let s=O(),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)(p,JSON.stringify(a))},O=()=>{let e=(0,r.getFromLocalStorage)(p,!1);return null===e?null:JSON.parse(e)},m=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(p),(0,r.removeFromLocalStorage)(f),void(0,r.removeFromLocalStorage)(g)},T=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,b=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",A=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),U=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,k=()=>"undefined"!=typeof window?window.SCOPES:null,R=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=U(),o=T(),n=l()(`${t}/oauth2/end-session`),s=S(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})})((()=>{if("undefined"!=typeof window){const e=O();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,o)=>{o.d(t,{authErrorHandler:()=>E,createAction:()=>S,getRequest:()=>O,showMessage:()=>b,startLoading:()=>w,stopLoading:()=>_});var r=o(4824),n=o.n(r),s=o(1708),a=o.n(s),i=o(271),l=o.n(i),u=o(4656),c=o.n(u),d=o(6530),p=o(4341),f=o(886);let g=n();const S=e=>t=>({type:e,payload:t}),w=(S("RESET_LOADING"),S("START_LOADING")),_=S("STOP_LOADING"),y={},h=e=>0===Object.keys(e).length&&e.constructor===Object,E=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(_()),r){case 403:let o={title:"ERROR",html:c().translate("errors.user_not_authz"),type:"error"};t(b(o,f.initLogOut));break;case 401:let r=(0,d.getCurrentPathName)(),i=(0,d.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),i||((0,d.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,f.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,l().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>";l().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:l().fire("ERROR",c().translate("errors.server_error"),"error")}},O=(e,t,o,r=m,n={})=>(s={})=>(i,l)=>{let u=a()(o);h(s)||(u=u.query(s));let c=u.toString();return e&&"function"==typeof e&&i(e(n)),(e=>{y[e]&&(y[e].abort(),console.log(`aborted request ${e}`),delete y[e])})(c),new Promise(((e,o)=>{let n=g.get(u.toString()).timeout({response:6e4,deadline:6e4}).end(T(i,l,t,r,e,o));((e,t)=>{y[e]=t})(c,n)}))},m=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),l().fire(t.statusText,r,"error")},T=(e,t,o,r,n,s)=>(a,i)=>{if(a||!i.ok)return r&&r(a,i)(e,t),s({err:a,res:i,dispatch:e,state:t});let l=i.body;return"function"==typeof o?(e(o({response:l})),n({response:l})):(e(o),n({response:l}))},b=(e,t={})=>o=>{o(_()),l().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))}},6530:(e,t,o)=>{o.d(t,{base64URLEncode:()=>S,buildAPIBaseUrl:()=>u,getAllowedUserGroups:()=>l,getAuthCallback:()=>n,getCurrentLocation:()=>s,getCurrentPathName:()=>i,getFromLocalStorage:()=>d,getOrigin:()=>a,isClearingSessionState:()=>f,putOnLocalStorage:()=>c,removeFromLocalStorage:()=>p,retryPromise:()=>_,setSessionClearingState:()=>g,sha256:()=>w});o(8362),o(1708);var r=o(6113);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,s=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},a=()=>"undefined"!=typeof window?window.location.origin:null,i=()=>"undefined"!=typeof window?window.location.pathname:null,l=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,u=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,c=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},d=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),p(e)),o}return null},p=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},f=()=>"undefined"!=typeof window&&window.clearing_session_state,g=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},S=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),w=e=>(0,r.createHash)("sha256").update(e).digest(),_=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},1708:e=>{e.exports=require("urijs")},6113:e=>{e.exports=require("crypto")}},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,(function(){return(()=>{"use strict";var e={4341:(e,o,t)=>{t.d(o,{SET_LOGGED_USER:()=>n});t(4656),t(4054),t(6530),t(886);const n="SET_LOGGED_USER"},886:(e,o,t)=>{t.r(o),t.d(o,{ACCESS_TOKEN_SKEW_TIME:()=>_,RESPONSE_TYPE_CODE:()=>k,RESPONSE_TYPE_IMPLICIT:()=>y,clearAccessToken:()=>b,clearAuthInfo:()=>j,doLogin:()=>L,doLoginBasicLogin:()=>U,emitAccessToken:()=>R,getAccessToken:()=>P,getAuthInfo:()=>C,getAuthUrl:()=>T,getIdToken:()=>N,getLogoutUrl:()=>I,getOAuth2ClientId:()=>q,getOAuth2Flow:()=>D,getOAuth2IDPBaseUrl:()=>$,getOAuth2Scopes:()=>M,initLogOut:()=>G,passwordlessLogin:()=>H,passwordlessStart:()=>J,refreshAccessToken:()=>v,storeAuthInfo:()=>x,useOAuth2RefreshToken:()=>F,validateIdToken:()=>B});var n=t(6530),r=t(4824),i=t.n(r),a=t(6113);const s=require("browser-tabs-lock");var l=t.n(s),c=t(1708),d=t.n(c),u=t(3856),p=t.n(u),f=t(4341);let g=i();const h=new(l()),w="openstackuicore.lock.getTokenSilently",_=20,y="token id_token",k="code",m="authInfo",S="nonce",O="pkce",T=(e=null,o=null,t=null,r=null)=>{let i=q(),a=(0,n.getAuthCallback)(),s=$(),l=M(),c=D();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=E(16);(0,n.putOnLocalStorage)(S,u);let p=d()(`${s}/oauth2/auth`),f={response_type:encodeURI(c),scope:encodeURI(l),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(a)};if(c===k){const e=A();(0,n.putOnLocalStorage)(O,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return o&&(f.prompt=o),t&&(f.id_token_hint=t),r&&(f.provider=r),p=p.query(f),p},I=e=>{let o=$(),t=q(),r=d()(`${o}/oauth2/end-session`),i=E(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})},E=e=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=o.charAt(Math.floor(Math.random()*o.length));return t},L=(e=null,o=null,t="consent")=>{let r=T(e,t,null,o);(0,n.getCurrentLocation)().replace(r.toString())},U=(e=null)=>{L(e,null,null)},A=()=>{const e=(0,n.base64URLEncode)((0,a.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,n.base64URLEncode)((0,n.sha256)(Buffer.from(e))),createdAt:new Date}},R=async(e,o=null)=>{let t=$(),r=q(),i=(0,n.getAuthCallback)(),a=JSON.parse((0,n.getFromLocalStorage)(O,!0));null!=o&&(i+=`?BackUrl=${encodeURI(o)}`);const s={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(s)}).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:l,error_description:c}=o;return{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:l,error_description:c}}catch(e){console.log(e)}},b=async()=>{if(await(0,n.retryPromise)((()=>h.acquireLock(w,5e3)),10))try{let e=C();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e;x(null,0,r)}finally{await h.releaseLock(w)}},P=async()=>{if(await(0,n.retryPromise)((()=>h.acquireLock(w,5e3)),10))try{let e=C();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=D(),a=Math.floor(Date.now()/1e3);if(t-=_,a-n>t||null==o){if(console.log("getAccessToken access token expired"),i===k&&F()){if(!r)throw j(),Error("missing Refresh Token");let e=await v(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),x(o,t,n),o}throw j(),Error("Access Token Expired.")}return o}finally{await h.releaseLock(w)}throw Error("Lock acquire error.")},v=async e=>{let o=$(),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(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),t=await e.json();let{access_token:i,refresh_token:a,expires_in:s}=t;return{access_token:i,refresh_token:a,expires_in:s}}catch(e){throw console.log(e),e}},x=(e,o,t=null,r=null)=>{let i=C(),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)(m,JSON.stringify(a))},C=()=>{let e=(0,n.getFromLocalStorage)(m,!1);return null===e?null:JSON.parse(e)},j=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(m),(0,n.removeFromLocalStorage)(S),void(0,n.removeFromLocalStorage)(O)},N=()=>{if("undefined"!=typeof window){const e=C();return e?e.idToken:null}return null},q=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,D=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",F=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),$=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,M=()=>"undefined"!=typeof window?window.SCOPES:null,G=()=>{(0,n.getCurrentLocation)().replace(I(N()).toString())},B=(e,o,t)=>{let r=new(p())({issuer:o,audience:t}),i=(0,n.getFromLocalStorage)(S,!0),a=r.decode(e),s=(a.header.alg,a.header.kid,a.payload.aud),l=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&s==t&&l==o},J=e=>{let o=q(),t=M(),r=E(16);(0,n.putOnLocalStorage)(S,r);let i=$(),a=d()(`${i}/oauth2/auth`),s={response_type:"otp",scope:encodeURI(t),nonce:r,client_id:encodeURI(o),connection:e.connection||"email",send:e.send||"code"};return e.hasOwnProperty("email")&&(s.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(s.phone_number=encodeURIComponent(e.phone_number)),g.post(a.toString()).send(s).then((e=>{let o=e.body;return Promise.resolve({response:o})})).catch((e=>Promise.reject(e)))},H=e=>o=>{let t=q(),n=M(),r=$(),i=d()(`${r}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error("otp param is mandatory.");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)),g.post(i.toString()).send(a).then((e=>{try{let n=e.body,{access_token:i,expires_in:a,refresh_token:s,id_token:l}=n;if(void 0===s&&(s=null),void 0===l&&(l=null),l&&!B(l,r,t))throw Error("id token is not valid.");return x(i,a,s,l),o&&o({type:f.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))}},4054:(e,o,t)=>{t(4824),t(1708),t(271),t(4656),t(6530),t(4341),t(886);const n=e=>o=>({type:e,payload:o});n("RESET_LOADING"),n("START_LOADING"),n("STOP_LOADING")},6530:(e,o,t)=>{t.d(o,{base64URLEncode:()=>p,getAuthCallback:()=>r,getCurrentLocation:()=>i,getCurrentPathName:()=>s,getFromLocalStorage:()=>c,getOrigin:()=>a,putOnLocalStorage:()=>l,removeFromLocalStorage:()=>d,retryPromise:()=>g,setSessionClearingState:()=>u,sha256:()=>f});t(8362),t(1708);var n=t(6113);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,i=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},a=()=>"undefined"!=typeof window?window.location.origin:null,s=()=>"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}`),d(e)),t}return null},d=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},u=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},p=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),f=e=>(0,n.createHash)("sha256").update(e).digest(),g=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},1708:e=>{e.exports=require("urijs")},6113:e=>{e.exports=require("crypto")}},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(886)})()}));
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,(function(){return(()=>{"use strict";var e={4341:(e,o,t)=>{t.d(o,{SET_LOGGED_USER:()=>n});t(4656),t(4054),t(6530),t(886);const n="SET_LOGGED_USER"},886:(e,o,t)=>{t.r(o),t.d(o,{ACCESS_TOKEN_SKEW_TIME:()=>_,RESPONSE_TYPE_CODE:()=>k,RESPONSE_TYPE_IMPLICIT:()=>y,clearAccessToken:()=>b,clearAuthInfo:()=>j,doLogin:()=>L,doLoginBasicLogin:()=>U,emitAccessToken:()=>R,getAccessToken:()=>P,getAuthInfo:()=>C,getAuthUrl:()=>T,getIdToken:()=>N,getLogoutUrl:()=>I,getOAuth2ClientId:()=>q,getOAuth2Flow:()=>D,getOAuth2IDPBaseUrl:()=>$,getOAuth2Scopes:()=>M,initLogOut:()=>G,passwordlessLogin:()=>H,passwordlessStart:()=>J,refreshAccessToken:()=>v,storeAuthInfo:()=>x,useOAuth2RefreshToken:()=>F,validateIdToken:()=>B});var n=t(6530),r=t(4824),i=t.n(r),a=t(6113);const l=require("browser-tabs-lock");var s=t.n(l),c=t(1708),d=t.n(c),u=t(3856),p=t.n(u),f=t(4341);let g=i();const h=new(s()),w="openstackuicore.lock.getTokenSilently",_=20,y="token id_token",k="code",m="authInfo",S="nonce",O="pkce",T=(e=null,o=null,t=null,r=null)=>{let i=q(),a=(0,n.getAuthCallback)(),l=$(),s=M(),c=D();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=E(16);(0,n.putOnLocalStorage)(S,u);let p=d()(`${l}/oauth2/auth`),f={response_type:encodeURI(c),scope:encodeURI(s),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(a)};if(c===k){const e=A();(0,n.putOnLocalStorage)(O,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return o&&(f.prompt=o),t&&(f.id_token_hint=t),r&&(f.provider=r),p=p.query(f),p},I=e=>{let o=$(),t=q(),r=d()(`${o}/oauth2/end-session`),i=E(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})},E=e=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=o.charAt(Math.floor(Math.random()*o.length));return t},L=(e=null,o=null,t=null)=>{let r=T(e,t,null,o);(0,n.getCurrentLocation)().replace(r.toString())},U=(e=null)=>{L(e,null,null)},A=()=>{const e=(0,n.base64URLEncode)((0,a.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,n.base64URLEncode)((0,n.sha256)(Buffer.from(e))),createdAt:new Date}},R=async(e,o=null)=>{let t=$(),r=q(),i=(0,n.getAuthCallback)(),a=JSON.parse((0,n.getFromLocalStorage)(O,!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:s,error_description:c}=o;return{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:s,error_description:c}}catch(e){console.log(e)}},b=async()=>{if(await(0,n.retryPromise)((()=>h.acquireLock(w,5e3)),10))try{let e=C();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e;x(null,0,r)}finally{await h.releaseLock(w)}},P=async()=>{if(await(0,n.retryPromise)((()=>h.acquireLock(w,5e3)),10))try{let e=C();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=D(),a=Math.floor(Date.now()/1e3);if(t-=_,a-n>t||null==o){if(console.log("getAccessToken access token expired"),i===k&&F()){if(!r)throw j(),Error("missing Refresh Token");let e=await v(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),x(o,t,n),o}throw j(),Error("Access Token Expired.")}return o}finally{await h.releaseLock(w)}throw Error("Lock acquire error.")},v=async e=>{let o=$(),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(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${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}},x=(e,o,t=null,r=null)=>{let i=C(),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)(m,JSON.stringify(a))},C=()=>{let e=(0,n.getFromLocalStorage)(m,!1);return null===e?null:JSON.parse(e)},j=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(m),(0,n.removeFromLocalStorage)(S),void(0,n.removeFromLocalStorage)(O)},N=()=>{if("undefined"!=typeof window){const e=C();return e?e.idToken:null}return null},q=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,D=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",F=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),$=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,M=()=>"undefined"!=typeof window?window.SCOPES:null,G=()=>{(0,n.getCurrentLocation)().replace(I(N()).toString())},B=(e,o,t)=>{let r=new(p())({issuer:o,audience:t}),i=(0,n.getFromLocalStorage)(S,!0),a=r.decode(e),l=(a.header.alg,a.header.kid,a.payload.aud),s=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&l==t&&s==o},J=e=>{let o=q(),t=M(),r=E(16);(0,n.putOnLocalStorage)(S,r);let i=$(),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)),g.post(a.toString()).send(l).then((e=>{let o=e.body;return Promise.resolve({response:o})})).catch((e=>Promise.reject(e)))},H=e=>o=>{let t=q(),n=M(),r=$(),i=d()(`${r}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error("otp param is mandatory.");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)),g.post(i.toString()).send(a).then((e=>{try{let n=e.body,{access_token:i,expires_in:a,refresh_token:l,id_token:s}=n;if(void 0===l&&(l=null),void 0===s&&(s=null),s&&!B(s,r,t))throw Error("id token is not valid.");return x(i,a,l,s),o&&o({type:f.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))}},4054:(e,o,t)=>{t(4824),t(1708),t(271),t(4656),t(6530),t(4341),t(886);const n=e=>o=>({type:e,payload:o});n("RESET_LOADING"),n("START_LOADING"),n("STOP_LOADING")},6530:(e,o,t)=>{t.d(o,{base64URLEncode:()=>p,getAuthCallback:()=>r,getCurrentLocation:()=>i,getCurrentPathName:()=>l,getFromLocalStorage:()=>c,getOrigin:()=>a,putOnLocalStorage:()=>s,removeFromLocalStorage:()=>d,retryPromise:()=>g,setSessionClearingState:()=>u,sha256:()=>f});t(8362),t(1708);var n=t(6113);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,i=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},a=()=>"undefined"!=typeof window?window.location.origin:null,l=()=>"undefined"!=typeof window?window.location.pathname:null,s=(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}`),d(e)),t}return null},d=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},u=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},p=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),f=e=>(0,n.createHash)("sha256").update(e).digest(),g=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},1708:e=>{e.exports=require("urijs")},6113:e=>{e.exports=require("crypto")}},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(886)})()}));
@@ -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,(function(){return(()=>{"use strict";var e={4341:(e,t,o)=>{o.d(t,{CLEAR_SESSION_STATE:()=>r});o(4656),o(4054),o(6530),o(886);const r="CLEAR_SESSION_STATE"},886:(e,t,o)=>{o.d(t,{doLogin:()=>g,initLogOut:()=>R});var r=o(6530),n=(o(4824),o(6113));const a=require("browser-tabs-lock");var i=o.n(a),s=o(1708),l=o.n(s);o(3856),o(4341);new(i());const d="code",u="authInfo",c="nonce",p="pkce",f=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},g=(e=null,t=null,o="consent")=>{let n=((e=null,t=null,o=null,n=null)=>{let a=S(),i=(0,r.getAuthCallback)(),s=_(),u=m(),g=h();null!=e&&(i+=`?BackUrl=${encodeURI(e)}`);let y=f(16);(0,r.putOnLocalStorage)(c,y);let R=l()(`${s}/oauth2/auth`),b={response_type:encodeURI(g),scope:encodeURI(u),nonce:y,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(i)};if(g===d){const e=w();(0,r.putOnLocalStorage)(p,JSON.stringify(e)),b.code_challenge=e.codeChallenge,b.code_challenge_method="S256",b.approval_prompt="force"}return t&&(b.prompt=t),o&&(b.id_token_hint=o),n&&(b.provider=n),R=R.query(b),R})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},w=()=>{const e=(0,r.base64URLEncode)((0,n.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,r.base64URLEncode)((0,r.sha256)(Buffer.from(e))),createdAt:new Date}},y=()=>{let e=(0,r.getFromLocalStorage)(u,!1);return null===e?null:JSON.parse(e)},S=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,h=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",_=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,m=()=>"undefined"!=typeof window?window.SCOPES:null,R=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=_(),o=S(),n=l()(`${t}/oauth2/end-session`),a=f(16),i=(0,r.getOrigin)()+"/auth/logout";return(0,r.putOnLocalStorage)("post_logout_state",a),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:a})})((()=>{if("undefined"!=typeof window){const e=y();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_MESSAGE:()=>m,GENERIC_ERROR:()=>w,RESET_LOADING:()=>y,SHOW_MESSAGE:()=>R,START_LOADING:()=>S,STOP_LOADING:()=>h,VALIDATE:()=>_,authErrorHandler:()=>C,createAction:()=>b,defaultErrorHandler:()=>P,deleteRequest:()=>v,downloadFileByContent:()=>M,escapeFilterValue:()=>$,fetchErrorHandler:()=>U,fetchResponseHandler:()=>D,getCSV:()=>F,getRawCSV:()=>V,getRequest:()=>I,postFile:()=>x,postRequest:()=>q,putFile:()=>N,putRequest:()=>T,resetLoading:()=>E,responseHandler:()=>j,showMessage:()=>G,showSuccessMessage:()=>H,startLoading:()=>O,stopLoading:()=>L});var r=o(4824),n=o.n(r),a=o(1708),i=o.n(a),s=o(271),l=o.n(s),d=o(4656),u=o.n(d),c=o(6530),p=o(4341),f=o(886);let g=n();const w="Yikes. Something seems to be broken. Our web team has been notified, and we apologize for the inconvenience.",y="RESET_LOADING",S="START_LOADING",h="STOP_LOADING",_="VALIDATE",m="CLEAR_MESSAGE",R="SHOW_MESSAGE",b=e=>t=>({type:e,payload:t}),E=b(y),O=b(S),L=b(h),k={},A=e=>0===Object.keys(e).length&&e.constructor===Object,C=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(L()),r){case 403:let o={title:"ERROR",html:u().translate("errors.user_not_authz"),type:"error"};t(G(o,f.initLogOut));break;case 401:let r=(0,c.getCurrentPathName)(),s=(0,c.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),s||((0,c.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,f.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,l().fire("Not Found",n,"warning");break;case 412:for(var[a,i]of Object.entries(e.response.body.errors))isNaN(a)&&(n+=a+": "),n+=i+"<br>";l().fire("Validation error",n,"warning"),t({type:_,payload:{errors:e.response.body.errors}});break;default:l().fire("ERROR",u().translate("errors.server_error"),"error")}},I=(e,t,o,r=P,n={})=>(a={})=>(s,l)=>{let d=i()(o);A(a)||(d=d.query(a));let u=d.toString();return e&&"function"==typeof e&&s(e(n)),(e=>{k[e]&&(k[e].abort(),console.log(`aborted request ${e}`),delete k[e])})(u),new Promise(((e,o)=>{let n=g.get(d.toString()).timeout({response:6e4,deadline:6e4}).end(j(s,l,t,r,e,o));((e,t)=>{k[e]=t})(u,n)}))},T=(e,t,o,r,n=P,a={})=>(s={})=>(l,d)=>{let u=i()(o);return A(s)||(u=u.query(s)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,o)=>{null==r&&(r={}),g.put(u.toString()).send(r).end(j(l,d,t,n,e,o))}))},v=(e,t,o,r,n=P,a={})=>s=>(l,d)=>{let u=i()(o);return A(s)||(u=u.query(s)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,o)=>{null==r&&(r={}),g.delete(u).send(r).end(j(l,d,t,n,e,o))}))},q=(e,t,o,r,n=P,a={})=>(s={})=>(l,d)=>{let u=i()(o);return A(s)||(u=u.query(s)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,o)=>{let a=g.post(u);null!=r?a.send(r):a.set("Content-Type","text/plain"),a.end(j(l,d,t,n,e,o))}))},x=(e,t,o,r,n={},a=P,s={})=>(l={})=>(d,u)=>{let c=i()(o);return A(l)||(c=c.query(l)),e&&"function"==typeof e&&d(e(s)),new Promise(((e,o)=>{const i=g.post(c).attach("file",r);A(n)||Object.keys(n).forEach((function(e){let t=n[e];i.field(e,t)})),i.end(j(d,u,t,a,e,o))}))},N=(e,t,o,r=null,n={},a=P,s={})=>(l={})=>(d,u)=>{let c=i()(o);return A(l)||(c=c.query(l)),e&&"function"==typeof e&&d(e(s)),new Promise(((e,o)=>{const i=g.put(c);null!=r&&i.attach("file",r),A(n)||Object.keys(n).forEach((function(e){let t=n[e];i.field(e,t)})),i.end(j(d,u,t,a,e,o))}))},P=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),l().fire(t.statusText,r,"error")},j=(e,t,o,r,n,a)=>(i,s)=>{if(i||!s.ok)return r&&r(i,s)(e,t),a({err:i,res:s,dispatch:e,state:t});let l=s.body;return"function"==typeof o?(e(o({response:l})),n({response:l})):(e(o),n({response:l}))},U=e=>{let t=e.status,o=e.statusText;switch(t){case 403:l().fire("ERROR",u().translate("errors.user_not_authz"),"warning");break;case 401:l().fire("ERROR",u().translate("errors.session_expired"),"error");break;case 412:l().fire("ERROR",o,"warning");case 500:l().fire("ERROR",u().translate("errors.server_error"),"error")}},D=e=>{if(e.ok)return e.json();throw e},G=(e,t={})=>o=>{o(L()),l().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))},H=e=>t=>{t(L()),l().fire({title:u().translate("general.done"),html:e,type:"success"})},M=(e,t,o)=>{let r=document.createElement("a");r.textContent="download",r.download=e,r.href=`data:${o},${encodeURIComponent(t)}`,document.body.appendChild(r),r.click(),document.body.removeChild(r)},F=(e,t,o,r=null)=>n=>{let a=i()(e);return A(t)||(a=a.query(t)),n(O()),fetch(a.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>{n(L()),r&&(e=r+"\r\r"+e),M(o,e,"text/csv;charset=utf-8")})).catch(U)},V=(e,t,o=null)=>{let r=i()(e);return A(t)||(r=r.query(t)),fetch(r.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>(o&&(e=o+"\r\r"+e),e))).catch(U)},$=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6530:(e,t,o)=>{o.d(t,{base64URLEncode:()=>f,getAuthCallback:()=>n,getCurrentLocation:()=>a,getCurrentPathName:()=>s,getFromLocalStorage:()=>d,getOrigin:()=>i,isClearingSessionState:()=>c,putOnLocalStorage:()=>l,setSessionClearingState:()=>p,sha256:()=>g});o(8362),o(1708);var r=o(6113);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,a=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.origin:null,s=()=>"undefined"!=typeof window?window.location.pathname:null,l=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},d=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),u(e)),o}return null},u=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},c=()=>"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,""),g=e=>(0,r.createHash)("sha256").update(e).digest()},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")},1708:e=>{e.exports=require("urijs")},6113:e=>{e.exports=require("crypto")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,o),a.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(4054)})()}));
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,(function(){return(()=>{"use strict";var e={4341:(e,t,o)=>{o.d(t,{CLEAR_SESSION_STATE:()=>r});o(4656),o(4054),o(6530),o(886);const r="CLEAR_SESSION_STATE"},886:(e,t,o)=>{o.d(t,{doLogin:()=>g,initLogOut:()=>R});var r=o(6530),n=(o(4824),o(6113));const a=require("browser-tabs-lock");var i=o.n(a),s=o(1708),l=o.n(s);o(3856),o(4341);new(i());const d="code",u="authInfo",c="nonce",p="pkce",f=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},g=(e=null,t=null,o=null)=>{let n=((e=null,t=null,o=null,n=null)=>{let a=S(),i=(0,r.getAuthCallback)(),s=_(),u=m(),g=h();null!=e&&(i+=`?BackUrl=${encodeURI(e)}`);let y=f(16);(0,r.putOnLocalStorage)(c,y);let R=l()(`${s}/oauth2/auth`),b={response_type:encodeURI(g),scope:encodeURI(u),nonce:y,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(i)};if(g===d){const e=w();(0,r.putOnLocalStorage)(p,JSON.stringify(e)),b.code_challenge=e.codeChallenge,b.code_challenge_method="S256",b.approval_prompt="force"}return t&&(b.prompt=t),o&&(b.id_token_hint=o),n&&(b.provider=n),R=R.query(b),R})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},w=()=>{const e=(0,r.base64URLEncode)((0,n.randomBytes)(64));return{codeVerifier:e,codeChallenge:(0,r.base64URLEncode)((0,r.sha256)(Buffer.from(e))),createdAt:new Date}},y=()=>{let e=(0,r.getFromLocalStorage)(u,!1);return null===e?null:JSON.parse(e)},S=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,h=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",_=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,m=()=>"undefined"!=typeof window?window.SCOPES:null,R=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=_(),o=S(),n=l()(`${t}/oauth2/end-session`),a=f(16),i=(0,r.getOrigin)()+"/auth/logout";return(0,r.putOnLocalStorage)("post_logout_state",a),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:a})})((()=>{if("undefined"!=typeof window){const e=y();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_MESSAGE:()=>m,GENERIC_ERROR:()=>w,RESET_LOADING:()=>y,SHOW_MESSAGE:()=>R,START_LOADING:()=>S,STOP_LOADING:()=>h,VALIDATE:()=>_,authErrorHandler:()=>C,createAction:()=>b,defaultErrorHandler:()=>P,deleteRequest:()=>v,downloadFileByContent:()=>M,escapeFilterValue:()=>$,fetchErrorHandler:()=>U,fetchResponseHandler:()=>D,getCSV:()=>F,getRawCSV:()=>V,getRequest:()=>I,postFile:()=>x,postRequest:()=>q,putFile:()=>N,putRequest:()=>T,resetLoading:()=>E,responseHandler:()=>j,showMessage:()=>G,showSuccessMessage:()=>H,startLoading:()=>O,stopLoading:()=>L});var r=o(4824),n=o.n(r),a=o(1708),i=o.n(a),s=o(271),l=o.n(s),d=o(4656),u=o.n(d),c=o(6530),p=o(4341),f=o(886);let g=n();const w="Yikes. Something seems to be broken. Our web team has been notified, and we apologize for the inconvenience.",y="RESET_LOADING",S="START_LOADING",h="STOP_LOADING",_="VALIDATE",m="CLEAR_MESSAGE",R="SHOW_MESSAGE",b=e=>t=>({type:e,payload:t}),E=b(y),O=b(S),L=b(h),k={},A=e=>0===Object.keys(e).length&&e.constructor===Object,C=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(L()),r){case 403:let o={title:"ERROR",html:u().translate("errors.user_not_authz"),type:"error"};t(G(o,f.initLogOut));break;case 401:let r=(0,c.getCurrentPathName)(),s=(0,c.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),s||((0,c.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,f.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,l().fire("Not Found",n,"warning");break;case 412:for(var[a,i]of Object.entries(e.response.body.errors))isNaN(a)&&(n+=a+": "),n+=i+"<br>";l().fire("Validation error",n,"warning"),t({type:_,payload:{errors:e.response.body.errors}});break;default:l().fire("ERROR",u().translate("errors.server_error"),"error")}},I=(e,t,o,r=P,n={})=>(a={})=>(s,l)=>{let d=i()(o);A(a)||(d=d.query(a));let u=d.toString();return e&&"function"==typeof e&&s(e(n)),(e=>{k[e]&&(k[e].abort(),console.log(`aborted request ${e}`),delete k[e])})(u),new Promise(((e,o)=>{let n=g.get(d.toString()).timeout({response:6e4,deadline:6e4}).end(j(s,l,t,r,e,o));((e,t)=>{k[e]=t})(u,n)}))},T=(e,t,o,r,n=P,a={})=>(s={})=>(l,d)=>{let u=i()(o);return A(s)||(u=u.query(s)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,o)=>{null==r&&(r={}),g.put(u.toString()).send(r).end(j(l,d,t,n,e,o))}))},v=(e,t,o,r,n=P,a={})=>s=>(l,d)=>{let u=i()(o);return A(s)||(u=u.query(s)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,o)=>{null==r&&(r={}),g.delete(u).send(r).end(j(l,d,t,n,e,o))}))},q=(e,t,o,r,n=P,a={})=>(s={})=>(l,d)=>{let u=i()(o);return A(s)||(u=u.query(s)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,o)=>{let a=g.post(u);null!=r?a.send(r):a.set("Content-Type","text/plain"),a.end(j(l,d,t,n,e,o))}))},x=(e,t,o,r,n={},a=P,s={})=>(l={})=>(d,u)=>{let c=i()(o);return A(l)||(c=c.query(l)),e&&"function"==typeof e&&d(e(s)),new Promise(((e,o)=>{const i=g.post(c).attach("file",r);A(n)||Object.keys(n).forEach((function(e){let t=n[e];i.field(e,t)})),i.end(j(d,u,t,a,e,o))}))},N=(e,t,o,r=null,n={},a=P,s={})=>(l={})=>(d,u)=>{let c=i()(o);return A(l)||(c=c.query(l)),e&&"function"==typeof e&&d(e(s)),new Promise(((e,o)=>{const i=g.put(c);null!=r&&i.attach("file",r),A(n)||Object.keys(n).forEach((function(e){let t=n[e];i.field(e,t)})),i.end(j(d,u,t,a,e,o))}))},P=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),l().fire(t.statusText,r,"error")},j=(e,t,o,r,n,a)=>(i,s)=>{if(i||!s.ok)return r&&r(i,s)(e,t),a({err:i,res:s,dispatch:e,state:t});let l=s.body;return"function"==typeof o?(e(o({response:l})),n({response:l})):(e(o),n({response:l}))},U=e=>{let t=e.status,o=e.statusText;switch(t){case 403:l().fire("ERROR",u().translate("errors.user_not_authz"),"warning");break;case 401:l().fire("ERROR",u().translate("errors.session_expired"),"error");break;case 412:l().fire("ERROR",o,"warning");case 500:l().fire("ERROR",u().translate("errors.server_error"),"error")}},D=e=>{if(e.ok)return e.json();throw e},G=(e,t={})=>o=>{o(L()),l().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))},H=e=>t=>{t(L()),l().fire({title:u().translate("general.done"),html:e,type:"success"})},M=(e,t,o)=>{let r=document.createElement("a");r.textContent="download",r.download=e,r.href=`data:${o},${encodeURIComponent(t)}`,document.body.appendChild(r),r.click(),document.body.removeChild(r)},F=(e,t,o,r=null)=>n=>{let a=i()(e);return A(t)||(a=a.query(t)),n(O()),fetch(a.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>{n(L()),r&&(e=r+"\r\r"+e),M(o,e,"text/csv;charset=utf-8")})).catch(U)},V=(e,t,o=null)=>{let r=i()(e);return A(t)||(r=r.query(t)),fetch(r.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>(o&&(e=o+"\r\r"+e),e))).catch(U)},$=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6530:(e,t,o)=>{o.d(t,{base64URLEncode:()=>f,getAuthCallback:()=>n,getCurrentLocation:()=>a,getCurrentPathName:()=>s,getFromLocalStorage:()=>d,getOrigin:()=>i,isClearingSessionState:()=>c,putOnLocalStorage:()=>l,setSessionClearingState:()=>p,sha256:()=>g});o(8362),o(1708);var r=o(6113);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,a=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.origin:null,s=()=>"undefined"!=typeof window?window.location.pathname:null,l=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},d=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),u(e)),o}return null},u=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},c=()=>"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,""),g=e=>(0,r.createHash)("sha256").update(e).digest()},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")},1708:e=>{e.exports=require("urijs")},6113:e=>{e.exports=require("crypto")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,o),a.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(4054)})()}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openstack-uicore-foundation",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "ui reactjs components for openstack marketing site",
5
5
  "main": "lib/openstack-uicore-foundation.js",
6
6
  "scripts": {