openstack-uicore-foundation 4.0.79 → 4.0.81

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.
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,a)=>{a(8779),a(4656),a(4054),a(6793),a(8576)},1593:(e,t,a)=>{a.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>o,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>n,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>r,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>l});const n="AUTH_ERROR_MISSING_AUTH_INFO",r="AUTH_ERROR_MISSING_REFRESH_TOKEN",o="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",l="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,a)=>{a.d(t,{getAccessToken:()=>f});var n=a(6793);a(4824);const r=require("browser-tabs-lock");var o=a.n(r);a(6530),a(3856),a(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var s=a(1593);const l=new(o()),c="openstackuicore.lock.getTokenSilently",i="code",d="authInfo",u="nonce",p="pkce",f=async()=>{if(await(0,n.retryPromise)((()=>l.acquireLock(c,5e3)),10))try{let e=R();if(!e)throw Error(s.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:a,accessTokenUpdatedAt:n,refreshToken:r}=e,o=y(),d=Math.floor(Date.now()/1e3);if(a-=20,d-n>a||null==t){if(console.log("getAccessToken access token expired"),o===i&&g()){if(!r)throw _(),Error(s.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await h(r),{access_token:t,expires_in:a,refresh_token:n}=e;return void 0===n&&(n=null),m(t,a,n),t}throw _(),Error(s.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await l.releaseLock(c)}throw Error(s.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},h=async e=>{let t=w(),a=E();const r={grant_type:"refresh_token",client_id:encodeURI(a),refresh_token:e};try{const e=await fetch(`${t}/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(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),a=await e.json();let{access_token:o,refresh_token:l,expires_in:c}=a;return{access_token:o,refresh_token:l,expires_in:c}}catch(e){throw console.log(e),e}},m=(e,t,a=null,r=null)=>{let o=R(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===a&&o&&(a=o.refreshToken),null===r&&o&&(r=o.idToken),a&&(s.refreshToken=a),r&&(s.idToken=r),(0,n.putOnLocalStorage)(d,JSON.stringify(s))},R=()=>{try{let e=(0,n.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},_=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(d),(0,n.removeFromLocalStorage)(u),void(0,n.removeFromLocalStorage)(p)},E=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,y=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",g=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),w=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,a)=>{a.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>c,fetchResponseHandler:()=>i});a(3838),a(4824),a(6530);var n=a(271),r=a.n(n),o=a(4656),s=a.n(o);a(6793),a(4341),a(8576);const l=e=>t=>({type:e,payload:t}),c=(l("RESET_LOADING"),l("START_LOADING"),l("STOP_LOADING"),e=>{let t=e.status,a=e.statusText;switch(t){case 403:r().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:r().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:r().fire("ERROR",a,"warning");case 500:r().fire("ERROR",s().translate("errors.server_error"),"error")}}),i=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,a)=>{a.d(t,{buildAPIBaseUrl:()=>r,getCurrentPathName:()=>n,getFromLocalStorage:()=>s,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>l,retryPromise:()=>i,setSessionClearingState:()=>c});a(8362),a(6530);const n=()=>"undefined"!=typeof window?window.location.pathname:null,r=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let a=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),l(e)),a}return null},l=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},c=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},i=async(e,t=3)=>{for(let a=0;a<t;a++)if(await e())return!0;return!1}},7525:(e,t,a)=>{a.d(t,{queryRegistrationCompanies:()=>u});var n=a(4054),r=a(8576),o=a(6793);const s=require("lodash");var l=a.n(s),c=a(6530),i=a.n(c);const d=500,u=(l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();e=(0,n.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();e=(0,n.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.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=${s}&expand=member,registration_request`,fetch((0,o.buildAPIBaseUrl)(l)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l="/api/v1",c=encodeURIComponent(`tag=@${t}`);l+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${c}&expand=tag,track_tag_group`:`/tags?filter=${c}`,l+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,o.buildAPIBaseUrl)(l)).then(n.fetchResponseHandler).then((t=>{let n=[...t.data];e&&(n=n.map((e=>e.tag))),a(n)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${l}&order=name&access_token=${s}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();let l=(t=(0,n.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${l}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a=!1,s)=>{const l=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let c=`/api/v1/summits/${e}/events`+(a?"/published":""),i=encodeURIComponent(`title=@${t}`);fetch((0,o.buildAPIBaseUrl)(`${c}?filter=${i}&order=title&access_token=${l}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a,s=null)=>{let l=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,r.getAccessToken)()}`;if(t=(0,n.escapeFilterValue)(t)){l+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){l+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,o.buildAPIBaseUrl)(l)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();e=(0,n.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{let s;try{s=await(0,r.getAccessToken)()}catch(e){return void a(e)}let l=i()(`/api/v1/summits/${e}/registration-companies`);l.addQuery("access_token",s),l.addQuery("order","name"),t&&(t=(0,n.escapeFilterValue)(t),l.addQuery("filter[]",`name@@${t}`)),fetch((0,o.buildAPIBaseUrl)(l.toString())).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d));l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l=encodeURIComponent(`company_name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${l}&expand=company,sponsorship&access_token=${s}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${l}&&access_token=${s}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();e=(0,n.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d);l().debounce((async(e,t={},a,s="v1")=>{const l=await(0,r.getAccessToken)();let c=i()(`/api/${s}/summits/${e}/ticket-types`);if(c.addQuery("access_token",l),c.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,n.escapeFilterValue)(t.name);c.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,n.escapeFilterValue)(t.audience);c.addQuery("filter[]",`audience==${e}`)}fetch((0,o.buildAPIBaseUrl)(c.toString())).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)(),s=i()("/api/v1/sponsored-projects");s.addQuery("access_token",a),e&&(e=(0,n.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,o.buildAPIBaseUrl)(s.toString())).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l=encodeURIComponent(`code=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/promo-codes?filter=${l}&access_token=${s}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d)},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},9953:e=>{e.exports=require("react-select/lib/Async")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function a(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,a),o.exports}(()=>{a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t}})(),(()=>{a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{a.r(n),a.d(n,{default:()=>m});var e=a(8213),t=a.n(e),r=a(3838),o=a.n(r),s=a(6689),l=a.n(s),c=a(580),i=a.n(c),d=a(9953),u=a.n(d),p=a(7525);const f=["error","value","onChange","id","multi","isMulti","className","summitId","onError"],h=e=>{let{error:a,value:n,onChange:r,id:c,multi:i,isMulti:d,className:h,summitId:m,onError:R}=e,_=o()(e,f);const[E,y]=(0,s.useState)({value:null,label:""}),[g,w]=(0,s.useState)(!1),[b,v]=(0,s.useState)(""),[k,T]=(0,s.useState)(i||d),[$,A]=(0,s.useState)(a),[S,I]=(0,s.useState)(!1);(0,s.useEffect)((()=>{A(a)}),[a]),(0,s.useEffect)((()=>{!n.id&&n.name?(w(!0),v(n.name),y({value:null,label:n.name})):d&&n.length>0?y(n.map((e=>({value:e.id,label:e.name})))):!d&&n.id&&y({value:n.id,label:n.name})}),[n]);return l().createElement("div",null,g?l().createElement(l().Fragment,null,l().createElement("input",t()({value:b,placeholder:"Enter your company",onChange:e=>{v(e.target.value);let t={target:{id:c,value:{id:null,name:e.target.value},type:"companyinput"}};r(t)},className:"form-control",style:{paddingRight:25}},_)),!S&&l().createElement("i",{"aria-label":"Clear",style:{position:"absolute",top:10,right:25,cursor:"pointer",opacity:"65%"},onClick:()=>{w(!g),v(""),y({value:null,label:""}),r({target:{id:c,value:{id:null,name:""},type:"companyinput"}})},className:"fa fa-close"})):l().createElement(u(),t()({value:E.label&&E.value?E:null,placeholder:"Select a company",onChange:e=>{if(null===e.value){w(!0);const t=k?e.map((e=>({value:e.value,label:""}))):{value:e.value,label:""};return y(t),void r({target:{id:c,value:t,type:"companyinput"}})}const t=k?e.map((e=>({id:e.value,name:e.label}))):{id:e.value,name:e.label},a=k?e.map((e=>({value:e.value,label:e.label}))):{value:e.value,label:e.label};y(a),r({target:{id:c,value:t,type:"companyinput"}})},defaultOptions:!0,loadOptions:(e,t)=>{(0,p.queryRegistrationCompanies)(m,e,(a=>{if(!e){if(0===a.length)I(!0),w(!0);else{t([{value:null,label:"Other"}])}return}a instanceof Error&&R(a),0===a.length&&t([]);let n=[...a.map((e=>({value:e.id.toString(),label:e.name}))),{value:null,label:"Other"}];t(n)}))},isMulti:k,className:h},_)),$&&l().createElement("p",{className:"error-label"},a))},m=h;h.propTypes={onError:i().func.isRequired}})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,a)=>{a(8779),a(4656),a(4054),a(6793),a(8576)},1593:(e,t,a)=>{a.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>o,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>s,AUTH_ERROR_MISSING_AUTH_INFO:()=>n,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>r,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>l});const n="AUTH_ERROR_MISSING_AUTH_INFO",r="AUTH_ERROR_MISSING_REFRESH_TOKEN",o="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",s="AUTH_ERROR_LOCK_ACQUIRE_ERROR",l="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,a)=>{a.d(t,{getAccessToken:()=>f});var n=a(6793);a(4824);const r=require("browser-tabs-lock");var o=a.n(r);a(6530),a(3856),a(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);var s=a(1593);const l=new(o()),c="openstackuicore.lock.getTokenSilently",i="code",d="authInfo",u="nonce",p="pkce",f=async()=>{if(await(0,n.retryPromise)((()=>l.acquireLock(c,5e3)),10))try{let e=R();if(!e)throw Error(s.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:a,accessTokenUpdatedAt:n,refreshToken:r}=e,o=y(),d=Math.floor(Date.now()/1e3);if(a-=20,d-n>a||null==t){if(console.log("getAccessToken access token expired"),o===i&&g()){if(!r)throw _(),Error(s.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await h(r),{access_token:t,expires_in:a,refresh_token:n}=e;return void 0===n&&(n=null),m(t,a,n),t}throw _(),Error(s.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await l.releaseLock(c)}throw Error(s.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},h=async e=>{let t=w(),a=E();const r={grant_type:"refresh_token",client_id:encodeURI(a),refresh_token:e};try{const e=await fetch(`${t}/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(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${s.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),a=await e.json();let{access_token:o,refresh_token:l,expires_in:c}=a;return{access_token:o,refresh_token:l,expires_in:c}}catch(e){throw console.log(e),e}},m=(e,t,a=null,r=null)=>{let o=R(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===a&&o&&(a=o.refreshToken),null===r&&o&&(r=o.idToken),a&&(s.refreshToken=a),r&&(s.idToken=r),(0,n.putOnLocalStorage)(d,JSON.stringify(s))},R=()=>{try{let e=(0,n.getFromLocalStorage)(d,!1);return e?JSON.parse(e):null}catch(e){return null}},_=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(d),(0,n.removeFromLocalStorage)(u),void(0,n.removeFromLocalStorage)(p)},E=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,y=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",g=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),w=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,a)=>{a.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>c,fetchResponseHandler:()=>i});a(3838),a(4824),a(6530);var n=a(271),r=a.n(n),o=a(4656),s=a.n(o);a(6793),a(4341),a(8576);const l=e=>t=>({type:e,payload:t}),c=(l("RESET_LOADING"),l("START_LOADING"),l("STOP_LOADING"),e=>{let t=e.status,a=e.statusText;switch(t){case 403:r().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:r().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:r().fire("ERROR",a,"warning");case 500:r().fire("ERROR",s().translate("errors.server_error"),"error")}}),i=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,a)=>{a.d(t,{buildAPIBaseUrl:()=>r,getCurrentPathName:()=>n,getFromLocalStorage:()=>s,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>l,retryPromise:()=>i,setSessionClearingState:()=>c});a(8362),a(6530);const n=()=>"undefined"!=typeof window?window.location.pathname:null,r=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let a=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),l(e)),a}return null},l=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},c=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},i=async(e,t=3)=>{for(let a=0;a<t;a++)if(await e())return!0;return!1}},7525:(e,t,a)=>{a.d(t,{queryRegistrationCompanies:()=>u});var n=a(4054),r=a(8576),o=a(6793);const s=require("lodash");var l=a.n(s),c=a(6530),i=a.n(c);const d=500,u=(l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();e=(0,n.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();e=(0,n.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.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=${s}&expand=member,registration_request`,fetch((0,o.buildAPIBaseUrl)(l)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l="/api/v1",c=encodeURIComponent(`tag=@${t}`);l+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${c}&expand=tag,track_tag_group`:`/tags?filter=${c}`,l+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,o.buildAPIBaseUrl)(l)).then(n.fetchResponseHandler).then((t=>{let n=[...t.data];e&&(n=n.map((e=>e.tag))),a(n)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${l}&order=name&access_token=${s}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();let l=(t=(0,n.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${l}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a=!1,s)=>{const l=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let c=`/api/v1/summits/${e}/events`+(a?"/published":""),i=encodeURIComponent(`title=@${t}`);fetch((0,o.buildAPIBaseUrl)(`${c}?filter=${i}&order=title&access_token=${l}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a,s=null)=>{let l=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,r.getAccessToken)()}`;if(t=(0,n.escapeFilterValue)(t)){l+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){l+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,o.buildAPIBaseUrl)(l)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();e=(0,n.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{let s;try{s=await(0,r.getAccessToken)()}catch(e){return void a(e)}let l=i()(`/api/v1/summits/${e}/registration-companies`);l.addQuery("access_token",s),l.addQuery("order","name"),t&&(t=(0,n.escapeFilterValue)(t),l.addQuery("filter[]",`name@@${t}`)),fetch((0,o.buildAPIBaseUrl)(l.toString())).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d));l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l=encodeURIComponent(`company_name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${l}&expand=company,sponsorship&access_token=${s}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l=encodeURIComponent(`name=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${l}&&access_token=${s}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)();e=(0,n.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${a}`)).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d);l().debounce((async(e,t={},a,s="v1")=>{const l=await(0,r.getAccessToken)();let c=i()(`/api/${s}/summits/${e}/ticket-types`);if(c.addQuery("access_token",l),c.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,n.escapeFilterValue)(t.name);c.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,n.escapeFilterValue)(t.audience);c.addQuery("filter[]",`audience==${e}`)}fetch((0,o.buildAPIBaseUrl)(c.toString())).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t)=>{const a=await(0,r.getAccessToken)(),s=i()("/api/v1/sponsored-projects");s.addQuery("access_token",a),e&&(e=(0,n.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,o.buildAPIBaseUrl)(s.toString())).then(n.fetchResponseHandler).then((e=>{let a=[...e.data];t(a)})).catch(n.fetchErrorHandler)}),d),l().debounce((async(e,t,a)=>{const s=await(0,r.getAccessToken)();t=(0,n.escapeFilterValue)(t);let l=encodeURIComponent(`code=@${t}`);fetch((0,o.buildAPIBaseUrl)(`/api/v1/summits/${e}/promo-codes?filter=${l}&access_token=${s}`)).then(n.fetchResponseHandler).then((e=>{let t=[...e.data];a(t)})).catch(n.fetchErrorHandler)}),d)},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},9953:e=>{e.exports=require("react-select/lib/Async")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function a(n){var r=t[n];if(void 0!==r)return r.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,a),o.exports}(()=>{a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t}})(),(()=>{a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{a.r(n),a.d(n,{default:()=>m});var e=a(8213),t=a.n(e),r=a(3838),o=a.n(r),s=a(6689),l=a.n(s),c=a(580),i=a.n(c),d=a(9953),u=a.n(d),p=a(7525);const f=["error","value","onChange","id","multi","isMulti","className","summitId","onError","inputPlaceholder","DDLPlaceholder"],h=e=>{let{error:a,value:n,onChange:r,id:c,multi:i,isMulti:d,className:h,summitId:m,onError:R,inputPlaceholder:_,DDLPlaceholder:E}=e,y=o()(e,f);const[g,w]=(0,s.useState)({value:null,label:""}),[b,v]=(0,s.useState)(!1),[k,T]=(0,s.useState)(""),[$,A]=(0,s.useState)(i||d),[S,I]=(0,s.useState)(a),[O,U]=(0,s.useState)(!1);(0,s.useEffect)((()=>{I(a)}),[a]),(0,s.useEffect)((()=>{!n.id&&n.name?(v(!0),T(n.name),w({value:null,label:n.name})):d&&n.length>0?w(n.map((e=>({value:e.id,label:e.name})))):!d&&n.id&&w({value:n.id,label:n.name})}),[n]);return l().createElement("div",null,b?l().createElement(l().Fragment,null,l().createElement("input",t()({value:k,placeholder:_,onChange:e=>{T(e.target.value);let t={target:{id:c,value:{id:null,name:e.target.value},type:"companyinput"}};r(t)},className:"form-control",style:{paddingRight:25}},y)),!O&&l().createElement("i",{"aria-label":"Clear",style:{position:"absolute",top:10,right:25,cursor:"pointer",opacity:"65%"},onClick:()=>{v(!b),T(""),w({value:null,label:""}),r({target:{id:c,value:{id:null,name:""},type:"companyinput"}})},className:"fa fa-close"})):l().createElement(u(),t()({value:g.label&&g.value?g:null,placeholder:E,onChange:e=>{if(null===e.value){v(!0);const t=$?e.map((e=>({value:e.value,label:""}))):{value:e.value,label:""};return w(t),void r({target:{id:c,value:t,type:"companyinput"}})}const t=$?e.map((e=>({id:e.value,name:e.label}))):{id:e.value,name:e.label},a=$?e.map((e=>({value:e.value,label:e.label}))):{value:e.value,label:e.label};w(a),r({target:{id:c,value:t,type:"companyinput"}})},defaultOptions:!0,loadOptions:(e,t)=>{(0,p.queryRegistrationCompanies)(m,e,(a=>{if(!e){if(0===a.length)U(!0),v(!0);else{t([{value:null,label:"Other"}])}return}a instanceof Error&&R(a),0===a.length&&t([]);let n=[...a.map((e=>({value:e.id.toString(),label:e.name}))),{value:null,label:"Other"}];t(n)}))},isMulti:$,className:h},y)),S&&l().createElement("p",{className:"error-label"},a))},m=h;h.defaultProps={inputPlaceholder:"Enter your company",DDLPlaceholder:"Select a company"},h.propTypes={onError:i().func.isRequired}})(),n})()));
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},6689:e=>{e.exports=require("react")}},t={};function o(n){var r=t[n];if(void 0!==r)return r.exports;var a=t[n]={exports:{}};return e[n](a,a.exports,o),a.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 n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{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 n={};return(()=>{o.r(n),o.d(n,{default:()=>p});var e=o(8213),t=o.n(e),r=o(3838),a=o.n(r),l=o(6689),s=o.n(l);const u="tDZTa8dy9OMVyGAtxNOS",i="VoBl8JcsRZelj8EKGKtC",c=["value","options","onChange"],p=e=>{let{value:o,options:n,onChange:r}=e,l=a()(e,c);const p=e=>{const t=n.findIndex((e=>e.value===o));t>=0&&(e?t<n.length-1&&r(n[t+1].value):t>0&&r(n[t-1].value))},d=n.find((e=>e.value===o)).label;return s().createElement("div",t()({className:u},l),s().createElement("button",{className:"btn btn-default",onClick:()=>p(!1)},s().createElement("i",{className:"fa fa-minus"})),s().createElement("span",{className:i},d),s().createElement("button",{className:"btn btn-default",onClick:()=>p(!0)},s().createElement("i",{className:"fa fa-plus"})))}})(),n})()));
@@ -0,0 +1 @@
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={6689:e=>{e.exports=require("react")},1929:e=>{e.exports=require("react-select")}},o={};function t(r){var n=o[r];if(void 0!==n)return n.exports;var a=o[r]={exports:{}};return e[r](a,a.exports,t),a.exports}(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var r in o)t.o(o,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:o[r]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{t.r(r),t.d(r,{default:()=>u});var e=t(6689),o=t.n(e),n=t(1929),a=t.n(n);const u=({days:e,currentValue:t,placeholder:r,onDayChanged:n})=>{const u=e.find((e=>e.value===t));return o().createElement(a(),{placeholder:r,className:"day-selector",name:"form-field-name",value:u,onChange:e=>{n((null==e?void 0:e.value)||null)},options:e})}})(),r})()));
@@ -0,0 +1 @@
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={6689:e=>{e.exports=require("react")},1929:e=>{e.exports=require("react-select")}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var a=o[n]={exports:{}};return e[n](a,a.exports,t),a.exports}(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var n={};return(()=>{t.r(n),t.d(n,{default:()=>u});var e=t(6689),o=t.n(e),r=t(1929),a=t.n(r);const u=({venues:e,currentValue:t,placeholder:n,onVenueChanged:r})=>{const u=e.find((e=>e.value.id===t.id))||null;return o().createElement(a(),{placeholder:n,className:"venues-selector",name:"form-field-name",value:u,onChange:e=>{r((null==e?void 0:e.value)||null)},options:e,optionRenderer:e=>{let t=e.value;return"SummitVenue"===t.class_name?o().createElement("span",{className:"location-option-venue"},t.name):o().createElement("span",{className:"location-option-room"},"- ",t.name)}})}})(),n})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},6961:e=>{e.exports=require("dropzone")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")}},t={};function o(r){var s=t[r];if(void 0!==s)return s.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,o),n.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:()=>g});var e=o(8779),t=o.n(e),s=o(6689),n=o.n(s);const i=require("react-dom");var p=o.n(i);const l=require("extend");var a=o.n(l);require("dropzone/dist/dropzone.css");const d=e=>n().createElement("div",{"data-filetype":e.filetype,className:"filepicker-file-icon"});var c=o(580),h=o.n(c);let f=null;class u extends n().Component{constructor(e){super(e),this.state={files:[]},this.onUploadComplete=this.onUploadComplete.bind(this)}onUploadComplete(e){this.props.onUploadComplete&&this.props.onUploadComplete(e,this.props.id,this.props.data)}getDjsConfig(){let e=null;const t={url:this.props.config.postUrl?this.props.config.postUrl:null};return e=this.props.djsConfig?a()(!0,{},t,this.props.djsConfig):t,e.accept=(t,o)=>{e.maxFiles&&e.maxFiles<this.state.files.length+this.props.uploadCount&&o("Max files reached"),o()},e}componentDidMount(){const e=this.getDjsConfig();f=f||o(6961),f.autoDiscover=!1,this.props.config.postUrl||this.props.eventHandlers.drop||console.info('Neither postUrl nor a "drop" eventHandler specified, the React-Dropzone component might misbehave.');var t=this.props.config.dropzoneSelector||p().findDOMNode(this);this.dropzone=new f(t,e),this.setupEvents()}componentWillUnmount(){if(this.dropzone){if(this.dropzone.getActiveFiles().length>0){this.queueDestroy=!0;const e=window.setInterval((()=>!1===this.queueDestroy?window.clearInterval(e):0===this.dropzone.getActiveFiles().length?(this.dropzone=this.destroy(this.dropzone),window.clearInterval(e)):void 0),500)}else this.dropzone=this.destroy(this.dropzone)}}componentDidUpdate(){const{config:e,djsConfig:t}=this.props,o=t||{},r=e&&e.postUrl?{url:e.postUrl}:{};if(this.queueDestroy=!1,!this.dropzone){const e=this.props.config.dropzoneSelector||p().findDOMNode(this);this.dropzone=new f(e,this.getDjsConfig())}this.dropzone.options=a()(!0,{},this.dropzone.options,o,r)}render(){const e=[],{files:t}=this.state,{config:o}=this.props,r=this.props.className?"filepicker dropzone "+this.props.className:"filepicker dropzone";if(o.showFiletypeIcon&&o.iconFiletypes&&(!t||t.length<1))for(var s=0;s<this.props.config.iconFiletypes.length;s+=1)e.push(n().createElement(d,{filetype:o.iconFiletypes[s],key:"icon-component"+s}));return!this.props.config.postUrl&&this.props.action?n().createElement("form",{action:this.props.action,className:r},e,this.props.children):n().createElement("div",{id:this.props.id,className:r}," ",e," ",this.props.children," ")}setupEvents(){const e=this.props.eventHandlers;if(this.dropzone&&e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])if("[object Array]"===Object.prototype.toString.call(e[t]))for(var o=0;o<e[t].length;o+=1)"init"===t?e[t][o](this.dropzone):this.dropzone.on(t,e[t][o]);else"init"===t?e[t](this.dropzone):this.dropzone.on(t,e[t]);this.dropzone.on("addedfile",(e=>{if(!e)return;const t=this.state.files||[];t.push(e),this.setState({files:t})})),this.dropzone.on("removedfile",(e=>{if(!e)return;const t=this.state.files||[];t.forEach(((o,r)=>{o.name===e.name&&o.size===e.size&&t.splice(r,1)})),this.setState({files:t})})),this.dropzone.on("uploadprogress",((e,t,o)=>{if(t=o/e.size*100,e.previewElement){let o=e.previewElement.querySelectorAll("[data-dz-uploadprogress]");o.length>0&&(o=o[0]),o&&(o.style.width=t+"%")}})),this.dropzone.on("sending",((e,t,o)=>{this.props.hasOwnProperty("access_token")&&o.append("access_token",this.props.access_token);let r=this,s=t.onload;t.onload=function(e){s(e);let o=JSON.parse(t.responseText);"string"==typeof o.name&&r.onUploadComplete(o)}}))}}destroy(e){return e.off(),e.destroy()}}u.defaultProps={djsConfig:{},config:{},eventHandlers:{},data:{}},u.propTypes={id:h().string.isRequired};const m=u;function y(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}class g extends n().Component{constructor(e){super(e)}render(){let{value:e,onRemove:o,error:r,mediaType:s,postUrl:i,maxFiles:p=1,timeOut:l,onUploadComplete:a,djsConfig:d,id:c}=this.props,h=this.props.hasOwnProperty("error")&&""!==r;const f=s&&s.type?s.type.allowed_extensions.map((e=>`.${e.toLowerCase()}`)).join(","):"",u=s?s.max_size/1024:100,g=!p||e.length<p,v=function(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?y(Object(r),!0).forEach((function(o){t()(e,o,r[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({paramName:"file",maxFilesize:u,timeout:l||6e5,chunking:!0,retryChunks:!0,parallelChunkUploads:!1,addRemoveLinks:!0,maxFiles:p,acceptedFiles:f,dropzoneSelector:`media_upload_${s.id}`},d),b={showFiletypeIcon:!1,postUrl:i},z={media_type:s,media_upload:e};let j={};return o&&(j={removedfile:o}),n().createElement("div",{className:"row"},n().createElement("div",{className:"col-md-6",style:{height:180}},g?n().createElement(m,{id:c,djsConfig:v,config:b,eventHandlers:j,data:z,uploadCount:e.length,onUploadComplete:a}):n().createElement("div",{className:"filepicker disabled"},"Max number of files uploaded for this type - Remove uploaded file to add new file.")),n().createElement("div",{className:"col-md-6"},h&&n().createElement("p",{className:"error-label"},r),e.length>0&&n().createElement("div",null,n().createElement("label",null,"Uploaded"),e.map(((e,t)=>n().createElement("div",{key:`uploaded-${t}`},n().createElement("a",{href:e.private_url||e.public_url,target:"_blank"},e.filename),o&&n().createElement("span",null," - ",n().createElement("a",{onClick:t=>o(e)},"Remove"))))))))}}})(),r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},6961:e=>{e.exports=require("dropzone")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},6405:e=>{e.exports=require("react-dom")}},t={};function o(r){var s=t[r];if(void 0!==s)return s.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,o),n.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:()=>g});var e=o(8779),t=o.n(e),s=o(6689),n=o.n(s),i=o(6405),p=o.n(i);const l=require("extend");var a=o.n(l);require("dropzone/dist/dropzone.css");const d=e=>n().createElement("div",{"data-filetype":e.filetype,className:"filepicker-file-icon"});var c=o(580),h=o.n(c);let f=null;class u extends n().Component{constructor(e){super(e),this.state={files:[]},this.onUploadComplete=this.onUploadComplete.bind(this)}onUploadComplete(e){this.props.onUploadComplete&&this.props.onUploadComplete(e,this.props.id,this.props.data)}getDjsConfig(){let e=null;const t={url:this.props.config.postUrl?this.props.config.postUrl:null};return e=this.props.djsConfig?a()(!0,{},t,this.props.djsConfig):t,e.accept=(t,o)=>{e.maxFiles&&e.maxFiles<this.state.files.length+this.props.uploadCount&&o("Max files reached"),o()},e}componentDidMount(){const e=this.getDjsConfig();f=f||o(6961),f.autoDiscover=!1,this.props.config.postUrl||this.props.eventHandlers.drop||console.info('Neither postUrl nor a "drop" eventHandler specified, the React-Dropzone component might misbehave.');var t=this.props.config.dropzoneSelector||p().findDOMNode(this);this.dropzone=new f(t,e),this.setupEvents()}componentWillUnmount(){if(this.dropzone){if(this.dropzone.getActiveFiles().length>0){this.queueDestroy=!0;const e=window.setInterval((()=>!1===this.queueDestroy?window.clearInterval(e):0===this.dropzone.getActiveFiles().length?(this.dropzone=this.destroy(this.dropzone),window.clearInterval(e)):void 0),500)}else this.dropzone=this.destroy(this.dropzone)}}componentDidUpdate(){const{config:e,djsConfig:t}=this.props,o=t||{},r=e&&e.postUrl?{url:e.postUrl}:{};if(this.queueDestroy=!1,!this.dropzone){const e=this.props.config.dropzoneSelector||p().findDOMNode(this);this.dropzone=new f(e,this.getDjsConfig())}this.dropzone.options=a()(!0,{},this.dropzone.options,o,r)}render(){const e=[],{files:t}=this.state,{config:o}=this.props,r=this.props.className?"filepicker dropzone "+this.props.className:"filepicker dropzone";if(o.showFiletypeIcon&&o.iconFiletypes&&(!t||t.length<1))for(var s=0;s<this.props.config.iconFiletypes.length;s+=1)e.push(n().createElement(d,{filetype:o.iconFiletypes[s],key:"icon-component"+s}));return!this.props.config.postUrl&&this.props.action?n().createElement("form",{action:this.props.action,className:r},e,this.props.children):n().createElement("div",{id:this.props.id,className:r}," ",e," ",this.props.children," ")}setupEvents(){const e=this.props.eventHandlers;if(this.dropzone&&e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])if("[object Array]"===Object.prototype.toString.call(e[t]))for(var o=0;o<e[t].length;o+=1)"init"===t?e[t][o](this.dropzone):this.dropzone.on(t,e[t][o]);else"init"===t?e[t](this.dropzone):this.dropzone.on(t,e[t]);this.dropzone.on("addedfile",(e=>{if(!e)return;const t=this.state.files||[];t.push(e),this.setState({files:t})})),this.dropzone.on("removedfile",(e=>{if(!e)return;const t=this.state.files||[];t.forEach(((o,r)=>{o.name===e.name&&o.size===e.size&&t.splice(r,1)})),this.setState({files:t})})),this.dropzone.on("uploadprogress",((e,t,o)=>{if(t=o/e.size*100,e.previewElement){let o=e.previewElement.querySelectorAll("[data-dz-uploadprogress]");o.length>0&&(o=o[0]),o&&(o.style.width=t+"%")}})),this.dropzone.on("sending",((e,t,o)=>{this.props.hasOwnProperty("access_token")&&o.append("access_token",this.props.access_token);let r=this,s=t.onload;t.onload=function(e){s(e);let o=JSON.parse(t.responseText);"string"==typeof o.name&&r.onUploadComplete(o)}}))}}destroy(e){return e.off(),e.destroy()}}u.defaultProps={djsConfig:{},config:{},eventHandlers:{},data:{}},u.propTypes={id:h().string.isRequired};const m=u;function y(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}class g extends n().Component{constructor(e){super(e)}render(){let{value:e,onRemove:o,error:r,mediaType:s,postUrl:i,maxFiles:p=1,timeOut:l,onUploadComplete:a,djsConfig:d,id:c}=this.props,h=this.props.hasOwnProperty("error")&&""!==r;const f=s&&s.type?s.type.allowed_extensions.map((e=>`.${e.toLowerCase()}`)).join(","):"",u=s?s.max_size/1024:100,g=!p||e.length<p,v=function(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?y(Object(r),!0).forEach((function(o){t()(e,o,r[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({paramName:"file",maxFilesize:u,timeout:l||6e5,chunking:!0,retryChunks:!0,parallelChunkUploads:!1,addRemoveLinks:!0,maxFiles:p,acceptedFiles:f,dropzoneSelector:`media_upload_${s.id}`},d),b={showFiletypeIcon:!1,postUrl:i},z={media_type:s,media_upload:e};let j={};return o&&(j={removedfile:o}),n().createElement("div",{className:"row"},n().createElement("div",{className:"col-md-6",style:{height:180}},g?n().createElement(m,{id:c,djsConfig:v,config:b,eventHandlers:j,data:z,uploadCount:e.length,onUploadComplete:a}):n().createElement("div",{className:"filepicker disabled"},"Max number of files uploaded for this type - Remove uploaded file to add new file.")),n().createElement("div",{className:"col-md-6"},h&&n().createElement("p",{className:"error-label"},r),e.length>0&&n().createElement("div",null,n().createElement("label",null,"Uploaded"),e.map(((e,t)=>n().createElement("div",{key:`uploaded-${t}`},n().createElement("a",{href:e.private_url||e.public_url,target:"_blank"},e.filename),o&&n().createElement("span",null," - ",n().createElement("a",{onClick:t=>o(e)},"Remove"))))))))}}})(),r})()));
@@ -0,0 +1 @@
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={};(()=>{e.d=(o,t)=>{for(var n in t)e.o(t,n)&&!e.o(o,n)&&Object.defineProperty(o,n,{enumerable:!0,get:t[n]})}})(),(()=>{e.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};e.r(o),e.d(o,{DraggableItemTypes:()=>t,PixelsPerMinute:()=>r,SlotSizeOptions:()=>i,TBALocation:()=>n,bulkOptions:()=>a});const t={UNSCHEDULEEVENT:"UnScheduleEvent",SCHEDULEEVENT:"ScheduleEvent"},n={id:0,name:"TBD",class_name:"SummitVenue"},i=[5,10,15,30,60],r=3,a=[{value:"BULK_ACTION_EDIT",label:"Edit"},{value:"BULK_ACTION_PUBLISH",label:"Unpublish"}];return o})()));
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={9626:(e,t,n)=>{n.d(t,{default:()=>o});var a=n(6689),i=n.n(a),r=n(4656),s=n.n(r);class l extends i().Component{onPerformBulkAction(){let e=this.actionTypeSelect.value;""!==e&&this.props.onSelectedBulkAction(e)}render(){let{onSelectAll:e,bulkOptions:t}=this.props;return i().createElement("div",{className:"row bulk-actions-selector-container"},i().createElement("div",{className:"col-md-8"},i().createElement("input",{type:"checkbox",onClick:e}),i().createElement("select",{ref:e=>{this.actionTypeSelect=e}},i().createElement("option",{value:""},s().translate("published_bulk_actions_selector.options.default")),t.map(((e,t)=>i().createElement("option",{key:t,value:e.value},e.label))))),i().createElement("div",{className:"col-md-4"},i().createElement("button",{onClick:this.onPerformBulkAction.bind(this),title:s().translate("published_bulk_actions_selector.titles.go"),className:"btn btn-default btn-sm"},i().createElement("i",{className:"fa fa-play"}," ",s().translate("published_bulk_actions_selector.buttons.go")))))}}const o=l},1006:(e,t,n)=>{n.d(t,{default:()=>d});var a=n(8213),i=n.n(a),r=n(3838),s=n.n(r),l=n(6689),o=n.n(l);const m="tDZTa8dy9OMVyGAtxNOS",u="VoBl8JcsRZelj8EKGKtC",c=["value","options","onChange"],d=e=>{let{value:t,options:n,onChange:a}=e,r=s()(e,c);const l=e=>{const i=n.findIndex((e=>e.value===t));i>=0&&(e?i<n.length-1&&a(n[i+1].value):i>0&&a(n[i-1].value))},d=n.find((e=>e.value===t)).label;return o().createElement("div",i()({className:m},r),o().createElement("button",{className:"btn btn-default",onClick:()=>l(!1)},o().createElement("i",{className:"fa fa-minus"})),o().createElement("span",{className:u},d),o().createElement("button",{className:"btn btn-default",onClick:()=>l(!0)},o().createElement("i",{className:"fa fa-plus"})))}},9745:(e,t,n)=>{n.d(t,{default:()=>l});var a=n(6689),i=n.n(a),r=n(1929),s=n.n(r);const l=({days:e,currentValue:t,placeholder:n,onDayChanged:a})=>{const r=e.find((e=>e.value===t));return i().createElement(s(),{placeholder:n,className:"day-selector",name:"form-field-name",value:r,onChange:e=>{a((null==e?void 0:e.value)||null)},options:e})}},1613:(e,t,n)=>{n.d(t,{default:()=>l});var a=n(6689),i=n.n(a),r=n(1929),s=n.n(r);const l=({venues:e,currentValue:t,placeholder:n,onVenueChanged:a})=>{const r=e.find((e=>e.value.id===t.id))||null;return i().createElement(s(),{placeholder:n,className:"venues-selector",name:"form-field-name",value:r,onChange:e=>{a((null==e?void 0:e.value)||null)},options:e,optionRenderer:e=>{let t=e.value;return"SummitVenue"===t.class_name?i().createElement("span",{className:"location-option-venue"},t.name):i().createElement("span",{className:"location-option-room"},"- ",t.name)}})}},418:(e,t,n)=>{n.d(t,{default:()=>r});var a=n(6689),i=n.n(a);const r=({children:e,replaceNewLine:t=!1,className:n=""})=>i().createElement("span",{className:n,dangerouslySetInnerHTML:{__html:t?null==e?void 0:e.replace(/\n/g,"<br />"):e}})},8775:(e,t,n)=>{n.d(t,{DraggableItemTypes:()=>a,PixelsPerMinute:()=>s,SlotSizeOptions:()=>r,TBALocation:()=>i,bulkOptions:()=>l});const a={UNSCHEDULEEVENT:"UnScheduleEvent",SCHEDULEEVENT:"ScheduleEvent"},i={id:0,name:"TBD",class_name:"SummitVenue"},r=[5,10,15,30,60],s=3,l=[{value:"BULK_ACTION_EDIT",label:"Edit"},{value:"BULK_ACTION_PUBLISH",label:"Unpublish"}]},8575:(e,t,n)=>{n.d(t,{default:()=>r});var a=n(8362),i=n.n(a);const r=class{constructor(e,t=null){this._event=e,this._summit=t}set summit(e){this._summit=e}get summit(){return this._summit}getId(){return this._event.id}isPublished(){return this._event.hasOwnProperty("is_published")&&this._event.is_published}getMinutesDuration(e){if(this._event.hasOwnProperty("start_date")&&this._event.hasOwnProperty("end_date")&&null!=this._event.start_date&&null!=this._event.end_date){let e=i()(1e3*this._event.start_date).tz(this._summit.time_zone.name);return i()(1e3*this._event.end_date).tz(this._summit.time_zone.name).diff(e,"minutes")}return this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):e}canMove(e,t,n,a){let r=this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):a;this.isPublished()&&(r=this.getMinutesDuration());let s=i().tz(t+" "+n.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name),l=i().tz(t+" "+n.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name);l=l.add(r,"minutes");for(let t of e.filter((e=>e.id!==this.getId()))){let e=i()(1e3*t.start_date).tz(this._summit.time_zone.name),n=i()(1e3*t.end_date).tz(this._summit.time_zone.name);if(e.isBefore(l)&&n.isAfter(s))return!1}return!0}calculateNewDates(e,t,n){return n=this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):n,[i().tz(e+" "+t.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name),i().tz(e+" "+t.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name).add(n,"minutes")]}isValidEndDate(e){if(null==e)return!0;let t=i().tz(1e3*this._event.start_date,this._summit.time_zone.name);e=i().tz(1e3*e,this._summit.time_zone.name);let n=i().tz(1e3*this._summit.end_date,this._summit.time_zone.name);return e.isAfter(t)&&(e.isBefore(n)||e.isSame(n))}isValidStartDate(e){if(null==e)return!0;e=i().tz(1e3*e,this._summit.time_zone.name);let t=i().tz(1e3*this._event.end_date,this._summit.time_zone.name),n=i().tz(1e3*this._summit.start_date,this._summit.time_zone.name);return i().isMoment(e)&&e.isAfter(n)&&e.isBefore(t)}isValidTitle(e){return""!==e.trim()}isValid(){return this.isValidTitle(this._event.title)&&this.isValidStartDate(this._event.start_date)&&this.isValidEndDate(this._event.end_date)}}},6793:(e,t,n)=>{n.d(t,{epochToMomentTimeZone:()=>r});var a=n(8362),i=n.n(a);n(6530);const r=(e,t)=>e?(e*=1e3,i()(e).tz(t)):e},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8213:e=>{e.exports=require("@babel/runtime/helpers/extends")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4946:e=>{e.exports=require("i18n-react")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},7964:e=>{e.exports=require("react-dnd")},6405:e=>{e.exports=require("react-dom")},1929:e=>{e.exports=require("react-select")},6530:e=>{e.exports=require("urijs")}},t={};function n(a){var i=t[a];if(void 0!==i)return i.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var a={};return(()=>{n.r(a),n.d(a,{default:()=>k});var e=n(3838),t=n.n(e),i=n(6689),r=n.n(i),s=n(9745),l=n(1613),o=n(1006),m=n(8362),u=n.n(m),c=n(7964),d=n(8775),p=n(8779),h=n.n(p);const v=require("react-bootstrap");var f=n(418);function _(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function E(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_(Object(n),!0).forEach((function(t){h()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const b=({event:e,step:t,initialTop:n,initialHeight:a,minHeight:s,maxHeight:l,canResize:o,onResized:m,onUnPublishEvent:u,onEditEvent:p,onClickSelected:h,selectedPublishedEvents:_})=>{const[b,g]=(0,c.useDrag)((()=>({type:d.DraggableItemTypes.SCHEDULEEVENT,item:{id:e.id,title:e.title,is_published:e.is_published,start_date:e.start_date,end_date:e.end_date,duration:e.duration},collect:e=>({isDragging:e.isDragging()})})),[e.id,e.duration,e.start_date,e.end_date]),[y,D]=(0,i.useState)({resizing:!1,type:null,lastYPos:null}),[z,S]=(0,i.useState)({top:n,height:a}),M=_.includes(e.id),N=n=>{if(!y.resizing)return;let a=y.lastYPos,i=n.pageY,r=i-a;if(t&&t>0){let e=parseInt(Math.round(Math.abs(r)/t));if(r=Math.sign(r)*e*t,!r)return n.preventDefault(),!1}let m=z.height,u=z.top;"S"===y.type&&(m=z.height+r),"N"===y.type&&(r<0?(u=z.top-Math.abs(r),m=z.height+Math.abs(r)):(u=z.top+Math.abs(r),m=z.height-Math.abs(r))),m<s&&(m=s,i=a,u=z.top);let c="function"==typeof l?l():l;m>c&&(m=c,i=a,u=z.top),u<0&&(u=0,m=z.height,i=a),o(e.id,u,m)&&(D(E(E({},y),{},{resizing:!0,lastYPos:i})),S({top:u,height:m})),n.preventDefault()},P=e=>{e.preventDefault(),D({type:null,lastYPos:null,resizing:!1})};return(0,i.useEffect)((()=>(y.resizing?(document.addEventListener("mousemove",N,!1),document.addEventListener("mouseup",P,!1)):(document.removeEventListener("mousemove",N,!1),document.removeEventListener("mouseup",P,!1),z.top===n&&z.height===a||m(e.id,z.top,z.height)),()=>{document.removeEventListener("mousemove",N,!1),document.removeEventListener("mouseup",P,!1)})),[y.resizing]),r().createElement("div",{className:"row schedule-event "+(z.height>15?"is-resizable":""),"data-resizable":!0,id:`event_${e.id}`,onMouseDown:e=>{if(!e.target.getAttribute("data-resizable"))return;const t=e.target.getBoundingClientRect();let n;if(e.clientY-t.top<10)n="N";else{if(!(t.bottom-e.clientY<10))return;n="S"}D({resizing:!0,type:n,lastYPos:e.pageY}),e.preventDefault()},ref:g,style:{top:z.top,height:z.height,display:b.isDragging?"none":"block",cursor:"move"}},r().createElement("div",{className:"event-select-wrapper"},r().createElement("input",{className:"select-event-btn",id:`selected_event_${e.id}`,type:"checkbox",checked:M,onChange:()=>h(e)})),r().createElement("div",{className:"col-md-12 event-container"},r().createElement(v.OverlayTrigger,{trigger:["hover"],placement:"bottom",overlay:(()=>r().createElement(v.Popover,{id:"popover-trigger-focus",title:e.title},r().createElement(f.default,null,e.description)))()},r().createElement("div",{className:"event-content"},r().createElement("span",{className:"event-title"},e.title)))),r().createElement("div",{className:"event-actions"},r().createElement("i",{className:"fa fa-minus-circle unpublish-event-btn","aria-hidden":"true",title:"unpublish event",onClick:()=>u(e)}),r().createElement("i",{className:"fa fa-pencil-square-o edit-published-event-btn",title:"edit event","aria-hidden":"true",onClick:()=>p(e)})))};var g=n(6405),y=n.n(g),D=n(8575);const z=({timeLabel:e,id:t})=>r().createElement("div",{id:t,className:"row time-slot"},r().createElement("div",{className:"col-md-12"},r().createElement("span",null,e))),S=e=>{const{currentDay:t,currentSummit:n,events:a,timeSlot:i,pixelsPerMinute:s,interval:l,onDroppedEvent:o}=e,m=`time_slot_container_${i.format("HH_mm")}`,[u,p]=(0,c.useDrop)((()=>({accept:[d.DraggableItemTypes.UNSCHEDULEEVENT,d.DraggableItemTypes.SCHEDULEEVENT],collect:e=>({isOver:e.isOver(),canDrop:e.canDrop()}),canDrop:(e,r)=>new D.default(e,n).canMove(a,t,i,l),drop:(e,t,n)=>{o(e,i)}})),[l,i]),{isOver:h,canDrop:v}=u;return r().createElement("div",{id:m,ref:p,className:"row time-slot-container",style:(()=>{const e={};return h?(e.backgroundColor=v?"green":"red",e.opacity=.5):v&&(e.backgroundColor="yellow",e.opacity=.5),e})()},r().createElement("div",{className:"col-md-12"},((e,t)=>{let n=[],a=5*t;for(var i=0;i<2;i++)n[i]=r().createElement("div",{key:i,className:"minute-container",style:{position:"relative",width:"100%",height:`${a}px`}});return n})(0,s)))},M=e=>{const[t,n]=(0,i.useState)([]),a=(0,i.useRef)(null);(0,i.useEffect)((()=>{h()}),[e.interval]);const s=(t,n)=>{e.onScheduleEvent(t,e.currentDay,n)},l=(t,n,a)=>{const{events:i,currentDay:r,startTime:s,pixelsPerMinute:l,currentSummit:o}=e,{height:m}=c();if(m<n+a)return!1;const d=i.filter((e=>e.id!==t)),p=Math.floor(n/(l*(10/E))),h=Math.floor(a/(l*(10/E)));let v=u().tz(r+" "+s,"YYYY-MM-DD HH:mm",o.time_zone.name);v=v.add(p,"minutes");let f=u().tz(r+" "+s,"YYYY-MM-DD HH:mm",o.time_zone.name);f=f.add(p+h,"minutes");for(const e of d){const t=u()(1e3*e.start_date).tz(o.time_zone.name),n=u()(1e3*e.end_date).tz(o.time_zone.name);if(t.isBefore(f)&&n.isAfter(v))return!1}return!0},o=(t,n,a)=>{const{events:i,currentDay:r,startTime:s,pixelsPerMinute:l,currentSummit:o}=e,m=i.filter((e=>e.id===t)).shift(),c=Math.floor(n/(l*(10/E))),d=Math.floor(a/(l*(10/E)));let p=u().tz(r+" "+s,"YYYY-MM-DD HH:mm",o.time_zone.name);p=p.add(c,"minutes"),e.onScheduleEventWithDuration(m,r,u()(p.format("HH:mm"),"HH:mm"),d)},m=()=>c().height,c=()=>y().findDOMNode(a.current).getBoundingClientRect(),d=t=>{const{currentDay:n,startTime:a,pixelsPerMinute:i,currentSummit:r}=e,s=u()(1e3*t.start_date).utc().tz(r.time_zone.name),l=u().tz(n+" "+a,"YYYY-MM-DD HH:mm",r.time_zone.name);return s.diff(l,"minutes")*i*(10/E)},p=t=>{const{pixelsPerMinute:n,currentSummit:a,interval:i}=e,r=u()(1e3*t.start_date).tz(a.time_zone.name);return u()(1e3*t.end_date).tz(a.time_zone.name).diff(r,"minutes")*n*(10/i)},h=()=>{const e=[];let t=!1;const a=u().tz(f,"HH:mm",M.time_zone.name),i=u().tz(_,"HH:mm",M.time_zone.name);let r=a;do{e.push(r),r=r.clone(),r.add(E,"m"),t=r.isAfter(i)}while(!t);n(e)},{events:v,startTime:f,endTime:_,interval:E,pixelsPerMinute:g,currentDay:D,currentSummit:M,onEditEvent:N,onUnPublishEvent:P,onClickSelected:H,selectedPublishedEvents:Y}=e;return r().createElement("div",{className:"row outer-schedule-events-container"},r().createElement("div",{className:"col-md-2 no-margin no-padding"},t.map(((e,t)=>r().createElement(z,{timeLabel:e.format("HH:mm"),key:t,id:e.format("HH_mm")})))),r().createElement("div",{className:"schedule-events-container col-md-10 no-margin no-padding",ref:a},t.map(((e,t)=>r().createElement(S,{timeSlot:e,onDroppedEvent:s,key:`timeslot-${t}`,events:v,currentSummit:M,interval:E,pixelsPerMinute:g,currentDay:D}))),v.map(((e,t)=>r().createElement(b,{event:e,selectedPublishedEvents:Y,key:`event-${e.id}-${e.start_date}-${e.end_date}-${E}`,type:"MAIN",step:5*g,minHeight:10*g,initialTop:d(e),initialHeight:p(e),canResize:l,onResized:o,maxHeight:m,onUnPublishEvent:P,onEditEvent:N,onClickSelected:H,currentDay:D})))))};var N=n(6793),P=n(9626),H=n(4946),Y=n.n(H);const O=["summit","scheduleEvents","selectedEvents","currentDay","currentVenue","slotSize"],k=e=>{let{summit:n,scheduleEvents:a,selectedEvents:m,currentDay:u,currentVenue:c,slotSize:p}=e,h=t()(e,O);const v=(0,i.useMemo)((()=>(e=>{const t=[],n=(0,N.epochToMomentTimeZone)(e.start_date,e.time_zone_id),a=(0,N.epochToMomentTimeZone)(e.end_date,e.time_zone_id);let i=n.clone();do{const e={value:i.format("YYYY-MM-DD"),label:i.format("dddd Do , MMMM YYYY")};t.push(e),i=i.clone(),i.add(1,"day")}while(!i.isAfter(a));return t})(n)),[n.start_date,n.end_date]),f=(0,i.useMemo)((()=>(e=>{const t=[{value:d.TBALocation,label:d.TBALocation.name}];for(let n=0;n<e.locations.length;n++){const a=e.locations[n];if("SummitVenue"!==a.class_name)continue;const i={value:a,label:a.name};if(t.push(i),a.hasOwnProperty("rooms"))for(let e=0;e<a.rooms.length;e++){let n={value:a.rooms[e],label:a.rooms[e].name};t.push(n)}}return t})(n)),[n.locations]),_=d.SlotSizeOptions.map((e=>({value:e,label:`${e} min.`})));return r().createElement(r().Fragment,null,r().createElement(s.default,{onDayChanged:h.onDayChanged,days:v,currentValue:u,placeholder:Y().translate("schedule.placeholders.select_day")}),r().createElement("div",{className:"row"},r().createElement("div",{className:"col-md-8"},r().createElement(l.default,{onVenueChanged:h.onVenueChanged,venues:f,currentValue:c,placeholder:Y().translate("schedule.placeholders.select_venue")})),r().createElement("div",{className:"col-md-4"},r().createElement("span",null,"Slot size: "),r().createElement(o.default,{value:p,onChange:h.onSlotSizeChange,options:_,style:{display:"inline-block",marginLeft:10}}))),a.length>0&&r().createElement(P.default,{bulkOptions:d.bulkOptions,onSelectAll:h.onSelectAll,onSelectedBulkAction:h.onSelectedBulkAction}),u&&c&&r().createElement(M,{startTime:"00:00",endTime:"23:50",currentSummit:n,interval:p,currentDay:u,pixelsPerMinute:d.PixelsPerMinute,onScheduleEvent:h.onScheduleEvent,onScheduleEventWithDuration:h.onScheduleEventWithDuration,events:a,onUnPublishEvent:h.onUnPublishEvent,onEditEvent:h.onEditEvent,onClickSelected:h.onClickSelected,selectedPublishedEvents:m}))}})(),a})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={418:(e,t,r)=>{r.d(t,{default:()=>i});var n=r(6689),o=r.n(n);const i=({children:e,replaceNewLine:t=!1,className:r=""})=>o().createElement("span",{className:r,dangerouslySetInnerHTML:{__html:t?null==e?void 0:e.replace(/\n/g,"<br />"):e}})},4391:(e,t,r)=>{r.d(t,{Z:()=>a});var n=r(6689),o=r.n(n),i=r(418);const a=e=>{let{children:t}=e,r="";return t&&(r=o().isValidElement(t)?t:o().createElement(i.default,null,t.toString())),o().createElement("td",e,r)}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.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 n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{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 n={};return(()=>{r.r(n),r.d(n,{default:()=>x});var e=r(6689),t=r.n(e),o=r(580),i=r.n(o);const a=require("immutability-helper");var l=r.n(a);const s=require("react-dnd"),c=require("react-dnd-html5-backend");class d extends t().Component{constructor(e){super(e)}render(){return t().createElement("th",{width:this.props.width},this.props.children)}}const u=d;class p extends t().Component{constructor(e){super(e),this.handleAction=this.handleAction.bind(this)}shouldDisplayAction(e){let{id:t}=this.props;return!e.hasOwnProperty("display")||e.display(t)}handleAction(e,t,r){r.stopPropagation(),r.preventDefault(),e(t)}render(){let{actions:e,id:r}=this.props;return t().createElement("td",{className:"actions",key:"actions"},e.hasOwnProperty("edit")&&this.shouldDisplayAction(e.edit)&&t().createElement("a",{href:"","data-tip":"edit",onClick:this.handleAction.bind(this,e.edit.onClick,r)},t().createElement("i",{className:"fa fa-pencil-square-o"})),e.hasOwnProperty("delete")&&this.shouldDisplayAction(e.delete)&&t().createElement("a",{href:"","data-tip":"delete",onClick:this.handleAction.bind(this,e.delete.onClick,r)},t().createElement("i",{className:"fa fa-trash-o delete-icon"})),"custom"in e&&e.custom.map((e=>this.shouldDisplayAction(e,r)&&t().createElement("a",{href:"","data-tip":e.tooltip,key:"custom_"+e.name,onClick:this.handleAction.bind(this,e.onClick,r)},e.icon))))}}var m=r(8779),h=r.n(m);function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){h()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const b=({text:r,even:n,id:o,index:i,moveCard:a,dropItem:l,children:c,findRow:d})=>{const u=d(o).index,p=(0,e.useRef)(null),[{handlerId:m},h]=(0,s.useDrop)({accept:"row",collect:e=>({handlerId:e.getHandlerId()}),hover(e,t){var r;if(!p.current)return;const n=e.index,o=i;if(n===o)return;const l=null===(r=p.current)||void 0===r?void 0:r.getBoundingClientRect(),s=(l.bottom-l.top)/2,c=t.getClientOffset().y-l.top;n<o&&c<s||n>o&&c>s||(a(n,o),e.index=o)}}),[{isDragging:y},b]=(0,s.useDrag)({type:"row",item:()=>({id:o,index:i}),end:(e,t)=>{const{id:r,index:n}=e;return t.didDrop()?l(r,n+1):a(n,u)},collect:e=>({isDragging:e.isDragging()})}),g=y?0:1;return b(h(p)),t().createElement("tr",{id:o,ref:p,role:"row",className:n?"even":"odd",style:f(f({},{border:"1px dashed gray",padding:"0.5rem 1rem",marginBottom:".5rem",backgroundColor:"white",cursor:"move"}),{},{opacity:g})},c)};b.propTypes={index:i().number.isRequired,id:i().any.isRequired,moveCard:i().func.isRequired};const g=b;var v=r(4656),O=r.n(v),w=r(4391);const E="",k=({data:r,options:n,columns:o,dropCallback:i,orderField:a,idField:d})=>{const[m,h]=(0,e.useState)(r);(0,e.useEffect)((()=>{h(r)}),[r]);const y=(e,r,n,o)=>t().createElement(g,{even:o%2==0,key:e.id,index:o,id:e.id,moveCard:v,findRow:b,dropItem:k},((e,r,n)=>{let o=r.map(((r,n)=>r.hasOwnProperty("render")?t().createElement(w.Z,{key:"cell_"+n,title:r.hasOwnProperty("title")?e[r.columnKey]:null},r.render(e,e[r.columnKey])):t().createElement(w.Z,{key:"cell_"+n,title:r.hasOwnProperty("title")?e[r.columnKey]:null},e[r.columnKey])));return n&&o.push(t().createElement(p,{key:"actions",id:e.id,actions:n})),o})(e,r,n.actions)),f=e=>(e.sort((function(e,t){const r=e[a],n=t[a];return r<n?-1:r>n?1:0})),e),b=(0,e.useCallback)((e=>{const t=m.filter((t=>t[d]===e))[0];return{row:t,index:m.indexOf(t)}}),[m]),v=(0,e.useCallback)(((e,t)=>{h((r=>{r=l()(r,{$splice:[[e,1],[t,0,r[e]]]});for(let e in r)r[e][a]=parseInt(e)+1;return f(r)}))}),[m,h]),k=(e,t)=>{const r=f(m);h(r),i(r,e,t)};let x=n.hasOwnProperty("className")?n.className:"";return t().createElement("div",{className:"sortable-table-box"},t().createElement("i",null,O().translate("general.drag_and_drop")),t().createElement("table",{className:"table table-striped table-hover sortableTable "+x},t().createElement("thead",null,t().createElement("tr",null,o.map(((e,r)=>{let n=e.width?e.width:E;return t().createElement(u,{width:n,key:r},e.value)})),n.actions&&t().createElement(u,{key:"actions"},"Actions"))),t().createElement("tbody",null,o.length>0&&m.map(((e,r)=>Array.isArray(e)&&e.length!==o.length?(console.warn(`Data at row ${r} is ${e.length}. It should be ${o.length}.`),t().createElement("tr",null)):t().createElement(s.DndProvider,{backend:c.HTML5Backend,key:r},y(e,o,n,r)))))))};k.defaultProps={idField:"id"},k.propTypes={data:i().array.isRequired,options:i().shape({className:i().string,actions:i().object}).isRequired,columns:i().arrayOf(i().shape({columnKey:i().string.isRequired,value:i().any.isRequired})).isRequired,dropCallback:i().func.isRequired,orderField:i().string.isRequired,idField:i().string};const x=k})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={418:(e,t,r)=>{r.d(t,{default:()=>i});var n=r(6689),o=r.n(n);const i=({children:e,replaceNewLine:t=!1,className:r=""})=>o().createElement("span",{className:r,dangerouslySetInnerHTML:{__html:t?null==e?void 0:e.replace(/\n/g,"<br />"):e}})},4391:(e,t,r)=>{r.d(t,{Z:()=>a});var n=r(6689),o=r.n(n),i=r(418);const a=e=>{let{children:t}=e,r="";return t&&(r=o().isValidElement(t)?t:o().createElement(i.default,null,t.toString())),o().createElement("td",e,r)}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},7964:e=>{e.exports=require("react-dnd")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.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 n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),(()=>{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 n={};return(()=>{r.r(n),r.d(n,{default:()=>k});var e=r(6689),t=r.n(e),o=r(580),i=r.n(o);const a=require("immutability-helper");var l=r.n(a),s=r(7964);const c=require("react-dnd-html5-backend");class d extends t().Component{constructor(e){super(e)}render(){return t().createElement("th",{width:this.props.width},this.props.children)}}const u=d;class p extends t().Component{constructor(e){super(e),this.handleAction=this.handleAction.bind(this)}shouldDisplayAction(e){let{id:t}=this.props;return!e.hasOwnProperty("display")||e.display(t)}handleAction(e,t,r){r.stopPropagation(),r.preventDefault(),e(t)}render(){let{actions:e,id:r}=this.props;return t().createElement("td",{className:"actions",key:"actions"},e.hasOwnProperty("edit")&&this.shouldDisplayAction(e.edit)&&t().createElement("a",{href:"","data-tip":"edit",onClick:this.handleAction.bind(this,e.edit.onClick,r)},t().createElement("i",{className:"fa fa-pencil-square-o"})),e.hasOwnProperty("delete")&&this.shouldDisplayAction(e.delete)&&t().createElement("a",{href:"","data-tip":"delete",onClick:this.handleAction.bind(this,e.delete.onClick,r)},t().createElement("i",{className:"fa fa-trash-o delete-icon"})),"custom"in e&&e.custom.map((e=>this.shouldDisplayAction(e,r)&&t().createElement("a",{href:"","data-tip":e.tooltip,key:"custom_"+e.name,onClick:this.handleAction.bind(this,e.onClick,r)},e.icon))))}}var m=r(8779),h=r.n(m);function y(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?y(Object(r),!0).forEach((function(t){h()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const b=({text:r,even:n,id:o,index:i,moveCard:a,dropItem:l,children:c,findRow:d})=>{const u=d(o).index,p=(0,e.useRef)(null),[{handlerId:m},h]=(0,s.useDrop)({accept:"row",collect:e=>({handlerId:e.getHandlerId()}),hover(e,t){var r;if(!p.current)return;const n=e.index,o=i;if(n===o)return;const l=null===(r=p.current)||void 0===r?void 0:r.getBoundingClientRect(),s=(l.bottom-l.top)/2,c=t.getClientOffset().y-l.top;n<o&&c<s||n>o&&c>s||(a(n,o),e.index=o)}}),[{isDragging:y},b]=(0,s.useDrag)({type:"row",item:()=>({id:o,index:i}),end:(e,t)=>{const{id:r,index:n}=e;return t.didDrop()?l(r,n+1):a(n,u)},collect:e=>({isDragging:e.isDragging()})}),g=y?0:1;return b(h(p)),t().createElement("tr",{id:o,ref:p,role:"row",className:n?"even":"odd",style:f(f({},{border:"1px dashed gray",padding:"0.5rem 1rem",marginBottom:".5rem",backgroundColor:"white",cursor:"move"}),{},{opacity:g})},c)};b.propTypes={index:i().number.isRequired,id:i().any.isRequired,moveCard:i().func.isRequired};const g=b;var v=r(4656),O=r.n(v),w=r(4391);const E="",x=({data:r,options:n,columns:o,dropCallback:i,orderField:a,idField:d})=>{const[m,h]=(0,e.useState)(r);(0,e.useEffect)((()=>{h(r)}),[r]);const y=(e,r,n,o)=>t().createElement(g,{even:o%2==0,key:e.id,index:o,id:e.id,moveCard:v,findRow:b,dropItem:x},((e,r,n)=>{let o=r.map(((r,n)=>r.hasOwnProperty("render")?t().createElement(w.Z,{key:"cell_"+n,title:r.hasOwnProperty("title")?e[r.columnKey]:null},r.render(e,e[r.columnKey])):t().createElement(w.Z,{key:"cell_"+n,title:r.hasOwnProperty("title")?e[r.columnKey]:null},e[r.columnKey])));return n&&o.push(t().createElement(p,{key:"actions",id:e.id,actions:n})),o})(e,r,n.actions)),f=e=>(e.sort((function(e,t){const r=e[a],n=t[a];return r<n?-1:r>n?1:0})),e),b=(0,e.useCallback)((e=>{const t=m.filter((t=>t[d]===e))[0];return{row:t,index:m.indexOf(t)}}),[m]),v=(0,e.useCallback)(((e,t)=>{h((r=>{r=l()(r,{$splice:[[e,1],[t,0,r[e]]]});for(let e in r)r[e][a]=parseInt(e)+1;return f(r)}))}),[m,h]),x=(e,t)=>{const r=f(m);h(r),i(r,e,t)};let k=n.hasOwnProperty("className")?n.className:"";return t().createElement("div",{className:"sortable-table-box"},t().createElement("i",null,O().translate("general.drag_and_drop")),t().createElement("table",{className:"table table-striped table-hover sortableTable "+k},t().createElement("thead",null,t().createElement("tr",null,o.map(((e,r)=>{let n=e.width?e.width:E;return t().createElement(u,{width:n,key:r},e.value)})),n.actions&&t().createElement(u,{key:"actions"},"Actions"))),t().createElement("tbody",null,o.length>0&&m.map(((e,r)=>Array.isArray(e)&&e.length!==o.length?(console.warn(`Data at row ${r} is ${e.length}. It should be ${o.length}.`),t().createElement("tr",null)):t().createElement(s.DndProvider,{backend:c.HTML5Backend,key:r},y(e,o,n,r)))))))};x.defaultProps={idField:"id"},x.propTypes={data:i().array.isRequired,options:i().shape({className:i().string,actions:i().object}).isRequired,columns:i().arrayOf(i().shape({columnKey:i().string.isRequired,value:i().any.isRequired})).isRequired,dropCallback:i().func.isRequired,orderField:i().string.isRequired,idField:i().string};const k=x})(),n})()));
@@ -0,0 +1 @@
1
+ .bulk-actions-selector-container div{padding:1em}.bulk-actions-selector-container div input[type=checkbox]{margin-right:1em}.bulk-actions-selector-container div select{height:30px;width:90%}
@@ -2,4 +2,4 @@
2
2
 
3
3
  /*!
4
4
  * https://github.com/YouCanBookMe/react-datetime
5
- */.rdt{position:relative}.rdtPicker{background:#fff;border:1px solid #e4e3e3;box-shadow:0 1px 3px rgba(0,0,0,.1);display:none;margin-top:1px;padding:4px;position:absolute;width:auto;z-index:9999999!important}.rdtOpen .rdtPicker{display:block}.rdtStatic .rdtPicker{box-shadow:none;position:static}.rdtPicker .rdtTimeToggle{text-align:center}.rdtPicker table{margin:0;width:100%}.rdtPicker td,.rdtPicker th{height:28px;text-align:center}.rdtPicker td{cursor:pointer}.rdtPicker .rdtTimeToggle:hover,.rdtPicker td.rdtDay:hover,.rdtPicker td.rdtHour:hover,.rdtPicker td.rdtMinute:hover,.rdtPicker td.rdtSecond:hover{background:#eee;cursor:pointer}.rdtPicker td.rdtNew,.rdtPicker td.rdtOld{color:#999}.rdtPicker td.rdtToday{position:relative}.rdtPicker td.rdtToday:before{border-bottom:7px solid #428bca;border-left:7px solid transparent;border-top-color:rgba(0,0,0,.2);bottom:4px;content:"";display:inline-block;position:absolute;right:4px}.rdtPicker td.rdtActive,.rdtPicker td.rdtActive:hover{background-color:#428bca;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.rdtPicker td.rdtActive.rdtToday:before{border-bottom-color:#fff}.rdtPicker td.rdtDisabled,.rdtPicker td.rdtDisabled:hover{background:none;color:#999;cursor:not-allowed}.rdtPicker td span.rdtOld{color:#999}.rdtPicker td span.rdtDisabled,.rdtPicker td span.rdtDisabled:hover{background:none;color:#999;cursor:not-allowed}.rdtPicker th{border-bottom:1px solid #f9f9f9}.rdtPicker .dow{border-bottom:none;width:14.2857%}.rdtPicker th.rdtSwitch{width:100px}.rdtPicker th.rdtNext,.rdtPicker th.rdtPrev{font-size:21px;vertical-align:top}.rdtNext span,.rdtPrev span{-webkit-touch-callout:none;display:block;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rdtPicker th.rdtDisabled,.rdtPicker th.rdtDisabled:hover{background:none;color:#999;cursor:not-allowed}.rdtPicker thead tr:first-child th{cursor:pointer}.rdtPicker thead tr:first-child th:hover{background:#eee}.rdtPicker tfoot{border-top:1px solid #f9f9f9}.rdtPicker button{background:none;border:none;cursor:pointer}.rdtPicker button:hover{background-color:#eee}.rdtPicker thead button{height:100%;width:100%}td.rdtMonth,td.rdtYear{cursor:pointer;height:50px;width:25%}td.rdtMonth:hover,td.rdtYear:hover{background:#eee}.rdtCounters{display:inline-block}.rdtCounters>div{float:left}.rdtCounter{height:100px;width:40px}.rdtCounterSeparator{line-height:100px}.rdtCounter .rdtBtn{-webkit-touch-callout:none;cursor:pointer;display:block;height:40%;line-height:40px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rdtCounter .rdtBtn:hover{background:#eee}.rdtCounter .rdtCount{font-size:1.2em;height:20%}.rdtMilli{padding-left:8px;vertical-align:middle;width:48px}.rdtMilli input{font-size:1.2em;margin-top:37px;width:100%}.option-group{font-style:italic;font-weight:700}.option-child{padding-left:15px}.dropzone{border:2px dashed gray;color:gray;height:150px;padding:20px;text-align:center}.file-box{max-height:50px;max-width:50px;position:relative;text-align:center}.file-box img{width:100%}.file-box .remove{color:red;cursor:pointer;height:20px;position:absolute;right:-10px;top:-5px;width:20px}.filepicker{font-family:sans-serif}div.filepicker{background-color:#e1e1e1;border:2px dashed #c7c7c7;border-radius:5px;height:100%;min-height:100px;padding:5px;text-align:center}div.filepicker.disabled{cursor:not-allowed;padding-top:30px}.filepicker-file-icon{color:#000;display:inline-block;margin:1.5em 0 2.5em;padding-left:45px;position:relative}.filepicker-file-icon:before{border:2px solid #7f7f7f;border-radius:2px;content:"";height:34px;left:0;position:absolute;top:-7px;width:29px}.filepicker-file-icon:after{background-color:#000;color:#fff;content:"file";content:attr(data-filetype);font-size:11px;left:-4px;letter-spacing:1px;line-height:1.3;padding:0 2px;position:absolute;text-align:right;text-transform:uppercase;top:9px}.filepicker-file-icon .fileCorner{border-color:#fff transparent transparent #920035;border-style:solid;border-width:11px 0 0 11px;height:0;left:22px;position:absolute;top:-7px;width:0}.simple-link-list{margin-top:40px}.simple-link-list .link-select{width:200px}.simple-link-list .link-select .Select-control{border-radius:4px 0 0 4px;height:100%}.simple-link-list .link-select .Select-control .Select-input{height:32px}.simple-link-list .add-button{border-color:#afafaf;height:38px}.simple-link-list:not(.panel .simple-link-list){border:1px solid #ccc;border-radius:3px;margin:5px;padding:10px}.panel .simple-link-list .simple-link-list-title{display:none}.summit-dropdown .summit-select{width:150px}.summit-dropdown .summit-select>div{border-bottom-right-radius:unset;border-top-right-radius:unset}.summit-dropdown .btn{border-left-color:#e7e7e7;height:38px}.summit-dropdown.big .summit-select input{height:32px}.summit-dropdown.big .btn{height:46px}table.sortableTable{clear:both;margin-bottom:6px!important;margin-top:6px!important;max-width:none!important}table.sortableTable td,table.sortableTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.sortableTable td.sortableTables_empty,table.sortableTable th.sortableTables_empty{text-align:center}table.sortableTable.nowrap td,table.sortableTable.nowrap th{white-space:nowrap}table.sortableTable thead>tr>td.sorting,table.sortableTable thead>tr>td.sorting_asc,table.sortableTable thead>tr>td.sorting_desc,table.sortableTable thead>tr>th.sorting,table.sortableTable thead>tr>th.sorting_asc,table.sortableTable thead>tr>th.sorting_desc{padding-right:30px}table.sortableTable thead>tr>td:active,table.sortableTable thead>tr>th:active{outline:none}table.sortableTable thead .sorting,table.sortableTable thead .sorting_asc,table.sortableTable thead .sorting_asc_disabled,table.sortableTable thead .sorting_desc,table.sortableTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.sortableTable thead .sorting:after,table.sortableTable thead .sorting_asc:after,table.sortableTable thead .sorting_asc_disabled:after,table.sortableTable thead .sorting_desc:after,table.sortableTable thead .sorting_desc_disabled:after{bottom:8px;display:block;font-family:Glyphicons Halflings;opacity:.5;position:absolute;right:8px}table.sortableTable thead .sorting:after{content:"\e150";opacity:.2}table.sortableTable thead .sorting_asc:after{content:"\e155"}table.sortableTable thead .sorting_desc:after{content:"\e156"}table.sortableTable thead .sorting_asc_disabled:after,table.sortableTable thead .sorting_desc_disabled:after{color:#eee}table.table-bordered.sortableTable{border-collapse:separate!important}table.table-bordered.sortableTable td,table.table-bordered.sortableTable th{border-left-width:0}table.table-bordered.sortableTable td:last-child,table.table-bordered.sortableTable th:last-child{border-right-width:0}table.table-bordered.sortableTable tbody td,table.table-bordered.sortableTable tbody th{border-bottom-width:0}table.sortableTable>tbody>tr.child{padding:.5em 1em}table.sortableTable>tbody>tr.child:hover{background:transparent!important}table.sortableTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.sortableTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:.5em 0}table.sortableTable>tbody>tr.child ul li:first-child{padding-top:0}table.sortableTable>tbody>tr.child ul li:last-child{border-bottom:none}table.sortableTable>tbody>tr.can-edit{cursor:pointer}table.sortableTable .actions{width:70px}table.sortableTable .actions a{margin-left:10px}table.sortableTable .actions a .delete-icon:hover{color:#da0000!important}table.sortableTable .actions a .fa:hover{color:#024c85}.sortable-table-box{margin-top:20px}table.editableTable{clear:both;margin-bottom:6px!important;margin-top:6px!important;max-width:none!important}table.editableTable td,table.editableTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.editableTable td.editableTables_empty,table.editableTable th.editableTables_empty{text-align:center}table.editableTable.nowrap td,table.editableTable.nowrap th{white-space:nowrap}table.editableTable thead>tr>td.sorting,table.editableTable thead>tr>td.sorting_asc,table.editableTable thead>tr>td.sorting_desc,table.editableTable thead>tr>th.sorting,table.editableTable thead>tr>th.sorting_asc,table.editableTable thead>tr>th.sorting_desc{padding-right:30px}table.editableTable thead>tr>td:active,table.editableTable thead>tr>th:active{outline:none}table.editableTable thead .sorting,table.editableTable thead .sorting_asc,table.editableTable thead .sorting_asc_disabled,table.editableTable thead .sorting_desc,table.editableTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.editableTable thead .sorting:after,table.editableTable thead .sorting_asc:after,table.editableTable thead .sorting_asc_disabled:after,table.editableTable thead .sorting_desc:after,table.editableTable thead .sorting_desc_disabled:after{bottom:8px;display:block;font-family:Glyphicons Halflings;opacity:.5;position:absolute;right:8px}table.editableTable thead .sorting:after{content:"\e150";opacity:.2}table.editableTable thead .sorting_asc:after{content:"\e155"}table.editableTable thead .sorting_desc:after{content:"\e156"}table.editableTable thead .sorting_asc_disabled:after,table.editableTable thead .sorting_desc_disabled:after{color:#eee}table.table-bordered.editableTable{border-collapse:separate!important}table.table-bordered.editableTable td,table.table-bordered.editableTable th{border-left-width:0}table.table-bordered.editableTable td:last-child,table.table-bordered.editableTable th:last-child{border-right-width:0}table.table-bordered.editableTable tbody td,table.table-bordered.editableTable tbody th{border-bottom-width:0}table.editableTable>tbody>tr.child{padding:.5em 1em}table.editableTable>tbody>tr.child:hover{background:transparent!important}table.editableTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.editableTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:.5em 0}table.editableTable>tbody>tr.child ul li:first-child{padding-top:0}table.editableTable>tbody>tr.child ul li:last-child{border-bottom:none}table.editableTable>tbody>tr.can-edit{cursor:pointer}table.editableTable .actions{width:70px}table.editableTable .actions a{margin-left:10px}table.editableTable .actions a .delete-icon:hover{color:#da0000!important}table.editableTable .actions a .fa:hover{color:#024c85}table.dataTable{clear:both;margin-bottom:6px!important;margin-top:6px!important;max-width:none!important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap td,table.dataTable.nowrap th{white-space:nowrap}table.dataTable thead>tr>td.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc{padding-right:30px}table.dataTable thead>tr>td:active,table.dataTable thead>tr>th:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_desc_disabled:after{bottom:8px;display:block;font-family:Glyphicons Halflings;opacity:.5;position:absolute;right:8px}table.dataTable thead .sorting:after{content:"\e150";opacity:.2}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}table.table-bordered.dataTable{border-collapse:separate!important}table.table-bordered.dataTable td,table.table-bordered.dataTable th{border-left-width:0}table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable th:last-child{border-right-width:0}table.table-bordered.dataTable tbody td,table.table-bordered.dataTable tbody th{border-bottom-width:0}table.dataTable>tbody>tr.child{padding:.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent!important}table.dataTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:.5em 0}table.dataTable>tbody>tr.child ul li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul li:last-child{border-bottom:none}table.dataTable>tbody>tr.can-edit{cursor:pointer}table.dataTable .actions{width:70px}table.dataTable .actions a{margin-left:10px}table.dataTable .actions a .delete-icon:hover{color:#da0000!important}table.dataTable .actions a .fa:hover{color:#024c85}.action-dropdown .action-select{width:250px}.action-dropdown .action-select .Select-control{border-radius:4px 0 0 4px;height:100%}.action-dropdown .action-select .Select-control .Select-input{height:32px}.action-dropdown.small :global .Select-control{height:30px}.action-dropdown.small :global .Select-placeholder{line-height:20px}.action-dropdown.small :global .Select-value{line-height:26px!important}.action-dropdown.small :global .Select-value-label{line-height:26px}.action-dropdown.small :global .Select-input{height:26px}.action-dropdown.normal .btn{height:38px}.pTjbvR2PI3JIAfGGYR5C{border-color:transparent;border-radius:20px;bottom:0;color:#fff;font-size:20px;height:30px;padding:0;position:absolute;right:0;text-align:center;width:30px}.pTjbvR2PI3JIAfGGYR5C.BnU6_vcWc8sasL8roBPA{background-color:#e39900}.pTjbvR2PI3JIAfGGYR5C.yREg1belHCLDAYYfAg77{background-color:#7ed321}.pTjbvR2PI3JIAfGGYR5C.mFp_9X3SzjgPNXRSXiFR{background-color:#396bd0}.pTjbvR2PI3JIAfGGYR5C i{margin-top:4px}
5
+ */.rdt{position:relative}.rdtPicker{background:#fff;border:1px solid #e4e3e3;box-shadow:0 1px 3px rgba(0,0,0,.1);display:none;margin-top:1px;padding:4px;position:absolute;width:auto;z-index:9999999!important}.rdtOpen .rdtPicker{display:block}.rdtStatic .rdtPicker{box-shadow:none;position:static}.rdtPicker .rdtTimeToggle{text-align:center}.rdtPicker table{margin:0;width:100%}.rdtPicker td,.rdtPicker th{height:28px;text-align:center}.rdtPicker td{cursor:pointer}.rdtPicker .rdtTimeToggle:hover,.rdtPicker td.rdtDay:hover,.rdtPicker td.rdtHour:hover,.rdtPicker td.rdtMinute:hover,.rdtPicker td.rdtSecond:hover{background:#eee;cursor:pointer}.rdtPicker td.rdtNew,.rdtPicker td.rdtOld{color:#999}.rdtPicker td.rdtToday{position:relative}.rdtPicker td.rdtToday:before{border-bottom:7px solid #428bca;border-left:7px solid transparent;border-top-color:rgba(0,0,0,.2);bottom:4px;content:"";display:inline-block;position:absolute;right:4px}.rdtPicker td.rdtActive,.rdtPicker td.rdtActive:hover{background-color:#428bca;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.rdtPicker td.rdtActive.rdtToday:before{border-bottom-color:#fff}.rdtPicker td.rdtDisabled,.rdtPicker td.rdtDisabled:hover{background:none;color:#999;cursor:not-allowed}.rdtPicker td span.rdtOld{color:#999}.rdtPicker td span.rdtDisabled,.rdtPicker td span.rdtDisabled:hover{background:none;color:#999;cursor:not-allowed}.rdtPicker th{border-bottom:1px solid #f9f9f9}.rdtPicker .dow{border-bottom:none;width:14.2857%}.rdtPicker th.rdtSwitch{width:100px}.rdtPicker th.rdtNext,.rdtPicker th.rdtPrev{font-size:21px;vertical-align:top}.rdtNext span,.rdtPrev span{-webkit-touch-callout:none;display:block;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rdtPicker th.rdtDisabled,.rdtPicker th.rdtDisabled:hover{background:none;color:#999;cursor:not-allowed}.rdtPicker thead tr:first-child th{cursor:pointer}.rdtPicker thead tr:first-child th:hover{background:#eee}.rdtPicker tfoot{border-top:1px solid #f9f9f9}.rdtPicker button{background:none;border:none;cursor:pointer}.rdtPicker button:hover{background-color:#eee}.rdtPicker thead button{height:100%;width:100%}td.rdtMonth,td.rdtYear{cursor:pointer;height:50px;width:25%}td.rdtMonth:hover,td.rdtYear:hover{background:#eee}.rdtCounters{display:inline-block}.rdtCounters>div{float:left}.rdtCounter{height:100px;width:40px}.rdtCounterSeparator{line-height:100px}.rdtCounter .rdtBtn{-webkit-touch-callout:none;cursor:pointer;display:block;height:40%;line-height:40px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rdtCounter .rdtBtn:hover{background:#eee}.rdtCounter .rdtCount{font-size:1.2em;height:20%}.rdtMilli{padding-left:8px;vertical-align:middle;width:48px}.rdtMilli input{font-size:1.2em;margin-top:37px;width:100%}.option-group{font-style:italic;font-weight:700}.option-child{padding-left:15px}.dropzone{border:2px dashed gray;color:gray;height:150px;padding:20px;text-align:center}.file-box{max-height:50px;max-width:50px;position:relative;text-align:center}.file-box img{width:100%}.file-box .remove{color:red;cursor:pointer;height:20px;position:absolute;right:-10px;top:-5px;width:20px}.filepicker{font-family:sans-serif}div.filepicker{background-color:#e1e1e1;border:2px dashed #c7c7c7;border-radius:5px;height:100%;min-height:100px;padding:5px;text-align:center}div.filepicker.disabled{cursor:not-allowed;padding-top:30px}.filepicker-file-icon{color:#000;display:inline-block;margin:1.5em 0 2.5em;padding-left:45px;position:relative}.filepicker-file-icon:before{border:2px solid #7f7f7f;border-radius:2px;content:"";height:34px;left:0;position:absolute;top:-7px;width:29px}.filepicker-file-icon:after{background-color:#000;color:#fff;content:"file";content:attr(data-filetype);font-size:11px;left:-4px;letter-spacing:1px;line-height:1.3;padding:0 2px;position:absolute;text-align:right;text-transform:uppercase;top:9px}.filepicker-file-icon .fileCorner{border-color:#fff transparent transparent #920035;border-style:solid;border-width:11px 0 0 11px;height:0;left:22px;position:absolute;top:-7px;width:0}.simple-link-list{margin-top:40px}.simple-link-list .link-select{width:200px}.simple-link-list .link-select .Select-control{border-radius:4px 0 0 4px;height:100%}.simple-link-list .link-select .Select-control .Select-input{height:32px}.simple-link-list .add-button{border-color:#afafaf;height:38px}.simple-link-list:not(.panel .simple-link-list){border:1px solid #ccc;border-radius:3px;margin:5px;padding:10px}.panel .simple-link-list .simple-link-list-title{display:none}.summit-dropdown .summit-select{width:150px}.summit-dropdown .summit-select>div{border-bottom-right-radius:unset;border-top-right-radius:unset}.summit-dropdown .btn{border-left-color:#e7e7e7;height:38px}.summit-dropdown.big .summit-select input{height:32px}.summit-dropdown.big .btn{height:46px}table.sortableTable{clear:both;margin-bottom:6px!important;margin-top:6px!important;max-width:none!important}table.sortableTable td,table.sortableTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.sortableTable td.sortableTables_empty,table.sortableTable th.sortableTables_empty{text-align:center}table.sortableTable.nowrap td,table.sortableTable.nowrap th{white-space:nowrap}table.sortableTable thead>tr>td.sorting,table.sortableTable thead>tr>td.sorting_asc,table.sortableTable thead>tr>td.sorting_desc,table.sortableTable thead>tr>th.sorting,table.sortableTable thead>tr>th.sorting_asc,table.sortableTable thead>tr>th.sorting_desc{padding-right:30px}table.sortableTable thead>tr>td:active,table.sortableTable thead>tr>th:active{outline:none}table.sortableTable thead .sorting,table.sortableTable thead .sorting_asc,table.sortableTable thead .sorting_asc_disabled,table.sortableTable thead .sorting_desc,table.sortableTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.sortableTable thead .sorting:after,table.sortableTable thead .sorting_asc:after,table.sortableTable thead .sorting_asc_disabled:after,table.sortableTable thead .sorting_desc:after,table.sortableTable thead .sorting_desc_disabled:after{bottom:8px;display:block;font-family:Glyphicons Halflings;opacity:.5;position:absolute;right:8px}table.sortableTable thead .sorting:after{content:"\e150";opacity:.2}table.sortableTable thead .sorting_asc:after{content:"\e155"}table.sortableTable thead .sorting_desc:after{content:"\e156"}table.sortableTable thead .sorting_asc_disabled:after,table.sortableTable thead .sorting_desc_disabled:after{color:#eee}table.table-bordered.sortableTable{border-collapse:separate!important}table.table-bordered.sortableTable td,table.table-bordered.sortableTable th{border-left-width:0}table.table-bordered.sortableTable td:last-child,table.table-bordered.sortableTable th:last-child{border-right-width:0}table.table-bordered.sortableTable tbody td,table.table-bordered.sortableTable tbody th{border-bottom-width:0}table.sortableTable>tbody>tr.child{padding:.5em 1em}table.sortableTable>tbody>tr.child:hover{background:transparent!important}table.sortableTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.sortableTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:.5em 0}table.sortableTable>tbody>tr.child ul li:first-child{padding-top:0}table.sortableTable>tbody>tr.child ul li:last-child{border-bottom:none}table.sortableTable>tbody>tr.can-edit{cursor:pointer}table.sortableTable .actions{width:70px}table.sortableTable .actions a{margin-left:10px}table.sortableTable .actions a .delete-icon:hover{color:#da0000!important}table.sortableTable .actions a .fa:hover{color:#024c85}.sortable-table-box{margin-top:20px}table.editableTable{clear:both;margin-bottom:6px!important;margin-top:6px!important;max-width:none!important}table.editableTable td,table.editableTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.editableTable td.editableTables_empty,table.editableTable th.editableTables_empty{text-align:center}table.editableTable.nowrap td,table.editableTable.nowrap th{white-space:nowrap}table.editableTable thead>tr>td.sorting,table.editableTable thead>tr>td.sorting_asc,table.editableTable thead>tr>td.sorting_desc,table.editableTable thead>tr>th.sorting,table.editableTable thead>tr>th.sorting_asc,table.editableTable thead>tr>th.sorting_desc{padding-right:30px}table.editableTable thead>tr>td:active,table.editableTable thead>tr>th:active{outline:none}table.editableTable thead .sorting,table.editableTable thead .sorting_asc,table.editableTable thead .sorting_asc_disabled,table.editableTable thead .sorting_desc,table.editableTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.editableTable thead .sorting:after,table.editableTable thead .sorting_asc:after,table.editableTable thead .sorting_asc_disabled:after,table.editableTable thead .sorting_desc:after,table.editableTable thead .sorting_desc_disabled:after{bottom:8px;display:block;font-family:Glyphicons Halflings;opacity:.5;position:absolute;right:8px}table.editableTable thead .sorting:after{content:"\e150";opacity:.2}table.editableTable thead .sorting_asc:after{content:"\e155"}table.editableTable thead .sorting_desc:after{content:"\e156"}table.editableTable thead .sorting_asc_disabled:after,table.editableTable thead .sorting_desc_disabled:after{color:#eee}table.table-bordered.editableTable{border-collapse:separate!important}table.table-bordered.editableTable td,table.table-bordered.editableTable th{border-left-width:0}table.table-bordered.editableTable td:last-child,table.table-bordered.editableTable th:last-child{border-right-width:0}table.table-bordered.editableTable tbody td,table.table-bordered.editableTable tbody th{border-bottom-width:0}table.editableTable>tbody>tr.child{padding:.5em 1em}table.editableTable>tbody>tr.child:hover{background:transparent!important}table.editableTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.editableTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:.5em 0}table.editableTable>tbody>tr.child ul li:first-child{padding-top:0}table.editableTable>tbody>tr.child ul li:last-child{border-bottom:none}table.editableTable>tbody>tr.can-edit{cursor:pointer}table.editableTable .actions{width:70px}table.editableTable .actions a{margin-left:10px}table.editableTable .actions a .delete-icon:hover{color:#da0000!important}table.editableTable .actions a .fa:hover{color:#024c85}table.dataTable{clear:both;margin-bottom:6px!important;margin-top:6px!important;max-width:none!important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap td,table.dataTable.nowrap th{white-space:nowrap}table.dataTable thead>tr>td.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc{padding-right:30px}table.dataTable thead>tr>td:active,table.dataTable thead>tr>th:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_desc_disabled:after{bottom:8px;display:block;font-family:Glyphicons Halflings;opacity:.5;position:absolute;right:8px}table.dataTable thead .sorting:after{content:"\e150";opacity:.2}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}table.table-bordered.dataTable{border-collapse:separate!important}table.table-bordered.dataTable td,table.table-bordered.dataTable th{border-left-width:0}table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable th:last-child{border-right-width:0}table.table-bordered.dataTable tbody td,table.table-bordered.dataTable tbody th{border-bottom-width:0}table.dataTable>tbody>tr.child{padding:.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent!important}table.dataTable>tbody>tr.child ul{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul li{border-bottom:1px solid #efefef;padding:.5em 0}table.dataTable>tbody>tr.child ul li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul li:last-child{border-bottom:none}table.dataTable>tbody>tr.can-edit{cursor:pointer}table.dataTable .actions{width:70px}table.dataTable .actions a{margin-left:10px}table.dataTable .actions a .delete-icon:hover{color:#da0000!important}table.dataTable .actions a .fa:hover{color:#024c85}.action-dropdown .action-select{width:250px}.action-dropdown .action-select .Select-control{border-radius:4px 0 0 4px;height:100%}.action-dropdown .action-select .Select-control .Select-input{height:32px}.action-dropdown.small :global .Select-control{height:30px}.action-dropdown.small :global .Select-placeholder{line-height:20px}.action-dropdown.small :global .Select-value{line-height:26px!important}.action-dropdown.small :global .Select-value-label{line-height:26px}.action-dropdown.small :global .Select-input{height:26px}.action-dropdown.normal .btn{height:38px}.pTjbvR2PI3JIAfGGYR5C{border-color:transparent;border-radius:20px;bottom:0;color:#fff;font-size:20px;height:30px;padding:0;position:absolute;right:0;text-align:center;width:30px}.pTjbvR2PI3JIAfGGYR5C.BnU6_vcWc8sasL8roBPA{background-color:#e39900}.pTjbvR2PI3JIAfGGYR5C.yREg1belHCLDAYYfAg77{background-color:#7ed321}.pTjbvR2PI3JIAfGGYR5C.mFp_9X3SzjgPNXRSXiFR{background-color:#396bd0}.pTjbvR2PI3JIAfGGYR5C i{margin-top:4px}.tDZTa8dy9OMVyGAtxNOS .VoBl8JcsRZelj8EKGKtC{display:inline-block;margin-left:10px;margin-right:10px;text-align:center}.bulk-actions-selector-container div{padding:1em}.bulk-actions-selector-container div input[type=checkbox]{margin-right:1em}.bulk-actions-selector-container div select{height:30px;width:90%}.schedule-event{-webkit-touch-callout:none;background-color:#b3d6ed;margin:0!important;overflow:hidden;position:absolute;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;z-index:999999999}.schedule-event .row{height:100%}.schedule-event .row .col-md-12{height:100%;position:relative}.schedule-event .event-container{float:left;height:calc(100% - 10px);margin:5px 10px;overflow:hidden;padding:0!important;width:90%}.schedule-event .event-actions{float:right;margin:0 5px 0 0}.schedule-event .event-select-wrapper{float:left;margin:5px 0 0 5px}.is-resizable{overflow:hidden}.is-resizable:after,.is-resizable:before{background-color:#fff;border:1px solid #000;border-radius:5px;content:" ";cursor:ns-resize;display:block;height:5px;left:15%;position:absolute;right:15%;visibility:hidden;z-index:1000000000}.is-resizable:before{top:0}.is-resizable:after{bottom:0}.is-resizable:hover:after,.is-resizable:hover:before{visibility:visible}.schedule-events-container{position:relative}.event-content{height:100%;width:100%}.event-content-half{height:90%;width:50%}.time-slot{background-color:gray;border-left:1px solid #000;color:#fff;font-weight:700}.time-slot,.time-slot-container{border-bottom:1px solid #000;border-right:1px solid #000;height:30px!important;margin:0;padding:0}.time-slot-container{position:relative;width:100%}.time-slot-container .col-md-12{margin:0!important;padding:0!important}.time-slot-container .col-md-12 .minute-container{border-bottom:1px solid #000}.time-slot-overlay{height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%;z-index:1000}.no-padding{padding:0!important}.no-margin{margin:0!important}.location-option-venue{font-weight:700}.location-option-room{margin-left:15px}.swal2-container{z-index:1000000001}.day-selector,.event-type-selector,.venues-selector{padding-bottom:10px}.outer-schedule-events-container{border-top:1px solid #000;max-height:800px;overflow-x:hidden;overflow-y:auto}.empty-list-message{font-weight:700}.fa-spinner{z-index:1000000001}.Select-menu-outer{z-index:1000000001!important}.swal2-container{z-index:1000000002!important}.select-event-btn{cursor:pointer;z-index:1000000000}.unpublish-event-btn{right:5%}.edit-published-event-btn,.unpublish-event-btn{cursor:pointer;padding-top:10px;position:absolute;z-index:1000000000}.edit-published-event-btn{right:8%}.popover{max-width:60%!important;z-index:1000000003!important}.event-title:hover{cursor:pointer}.modal{z-index:1000000005!important}.ajax-loader-container{z-index:1000000009!important}.bulk-actions-editor-container{background-color:#fff;margin:1em;padding:1em}.bulk-actions-editor-container .col-title{font-weight:700;padding:1em}.bulk-actions-editor-container .col-form-buttons button{margin-right:10px}
@@ -0,0 +1 @@
1
+ .tDZTa8dy9OMVyGAtxNOS .VoBl8JcsRZelj8EKGKtC{display:inline-block;margin-left:10px;margin-right:10px;text-align:center}
@@ -0,0 +1 @@
1
+ .tDZTa8dy9OMVyGAtxNOS .VoBl8JcsRZelj8EKGKtC{display:inline-block;margin-left:10px;margin-right:10px;text-align:center}.bulk-actions-selector-container div{padding:1em}.bulk-actions-selector-container div input[type=checkbox]{margin-right:1em}.bulk-actions-selector-container div select{height:30px;width:90%}.schedule-event{-webkit-touch-callout:none;background-color:#b3d6ed;margin:0!important;overflow:hidden;position:absolute;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;z-index:999999999}.schedule-event .row{height:100%}.schedule-event .row .col-md-12{height:100%;position:relative}.schedule-event .event-container{float:left;height:calc(100% - 10px);margin:5px 10px;overflow:hidden;padding:0!important;width:90%}.schedule-event .event-actions{float:right;margin:0 5px 0 0}.schedule-event .event-select-wrapper{float:left;margin:5px 0 0 5px}.is-resizable{overflow:hidden}.is-resizable:after,.is-resizable:before{background-color:#fff;border:1px solid #000;border-radius:5px;content:" ";cursor:ns-resize;display:block;height:5px;left:15%;position:absolute;right:15%;visibility:hidden;z-index:1000000000}.is-resizable:before{top:0}.is-resizable:after{bottom:0}.is-resizable:hover:after,.is-resizable:hover:before{visibility:visible}.schedule-events-container{position:relative}.event-content{height:100%;width:100%}.event-content-half{height:90%;width:50%}.time-slot{background-color:gray;border-left:1px solid #000;color:#fff;font-weight:700}.time-slot,.time-slot-container{border-bottom:1px solid #000;border-right:1px solid #000;height:30px!important;margin:0;padding:0}.time-slot-container{position:relative;width:100%}.time-slot-container .col-md-12{margin:0!important;padding:0!important}.time-slot-container .col-md-12 .minute-container{border-bottom:1px solid #000}.time-slot-overlay{height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%;z-index:1000}.no-padding{padding:0!important}.no-margin{margin:0!important}.location-option-venue{font-weight:700}.location-option-room{margin-left:15px}.swal2-container{z-index:1000000001}.day-selector,.event-type-selector,.venues-selector{padding-bottom:10px}.outer-schedule-events-container{border-top:1px solid #000;max-height:800px;overflow-x:hidden;overflow-y:auto}.empty-list-message{font-weight:700}.fa-spinner{z-index:1000000001}.Select-menu-outer{z-index:1000000001!important}.swal2-container{z-index:1000000002!important}.select-event-btn{cursor:pointer;z-index:1000000000}.unpublish-event-btn{right:5%}.edit-published-event-btn,.unpublish-event-btn{cursor:pointer;padding-top:10px;position:absolute;z-index:1000000000}.edit-published-event-btn{right:8%}.popover{max-width:60%!important;z-index:1000000003!important}.event-title:hover{cursor:pointer}.modal{z-index:1000000005!important}.ajax-loader-container{z-index:1000000009!important}.bulk-actions-editor-container{background-color:#fff;margin:1em;padding:1em}.bulk-actions-editor-container .col-title{font-weight:700;padding:1em}.bulk-actions-editor-container .col-form-buttons button{margin-right:10px}
@@ -0,0 +1 @@
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],e):"object"==typeof exports?exports["openstack-uicore-foundation"]=e():t["openstack-uicore-foundation"]=e()}(this,(()=>(()=>{"use strict";var t={8575:(t,e,i)=>{i.d(e,{default:()=>r});var n=i(8362),s=i.n(n);const r=class{constructor(t,e=null){this._event=t,this._summit=e}set summit(t){this._summit=t}get summit(){return this._summit}getId(){return this._event.id}isPublished(){return this._event.hasOwnProperty("is_published")&&this._event.is_published}getMinutesDuration(t){if(this._event.hasOwnProperty("start_date")&&this._event.hasOwnProperty("end_date")&&null!=this._event.start_date&&null!=this._event.end_date){let t=s()(1e3*this._event.start_date).tz(this._summit.time_zone.name);return s()(1e3*this._event.end_date).tz(this._summit.time_zone.name).diff(t,"minutes")}return this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):t}canMove(t,e,i,n){let r=this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):n;this.isPublished()&&(r=this.getMinutesDuration());let m=s().tz(e+" "+i.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name),a=s().tz(e+" "+i.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name);a=a.add(r,"minutes");for(let e of t.filter((t=>t.id!==this.getId()))){let t=s()(1e3*e.start_date).tz(this._summit.time_zone.name),i=s()(1e3*e.end_date).tz(this._summit.time_zone.name);if(t.isBefore(a)&&i.isAfter(m))return!1}return!0}calculateNewDates(t,e,i){return i=this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):i,[s().tz(t+" "+e.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name),s().tz(t+" "+e.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name).add(i,"minutes")]}isValidEndDate(t){if(null==t)return!0;let e=s().tz(1e3*this._event.start_date,this._summit.time_zone.name);t=s().tz(1e3*t,this._summit.time_zone.name);let i=s().tz(1e3*this._summit.end_date,this._summit.time_zone.name);return t.isAfter(e)&&(t.isBefore(i)||t.isSame(i))}isValidStartDate(t){if(null==t)return!0;t=s().tz(1e3*t,this._summit.time_zone.name);let e=s().tz(1e3*this._event.end_date,this._summit.time_zone.name),i=s().tz(1e3*this._summit.start_date,this._summit.time_zone.name);return s().isMoment(t)&&t.isAfter(i)&&t.isBefore(e)}isValidTitle(t){return""!==t.trim()}isValid(){return this.isValidTitle(this._event.title)&&this.isValidStartDate(this._event.start_date)&&this.isValidEndDate(this._event.end_date)}}},8362:t=>{t.exports=require("moment-timezone")}},e={};function i(n){var s=e[n];if(void 0!==s)return s.exports;var r=e[n]={exports:{}};return t[n](r,r.exports,i),r.exports}(()=>{i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e}})(),(()=>{i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})}})(),(()=>{i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})(),(()=>{i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}})();var n={};return(()=>{i.r(n),i.d(n,{SummitEvent:()=>t.default});require("react");var t=i(8575)})(),n})()));
@@ -0,0 +1 @@
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],e):"object"==typeof exports?exports["openstack-uicore-foundation"]=e():t["openstack-uicore-foundation"]=e()}(this,(()=>(()=>{"use strict";var t={8362:t=>{t.exports=require("moment-timezone")}},e={};function i(n){var s=e[n];if(void 0!==s)return s.exports;var r=e[n]={exports:{}};return t[n](r,r.exports,i),r.exports}(()=>{i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e}})(),(()=>{i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})}})(),(()=>{i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})(),(()=>{i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}})();var n={};return(()=>{i.r(n),i.d(n,{default:()=>s});var t=i(8362),e=i.n(t);const s=class{constructor(t,e=null){this._event=t,this._summit=e}set summit(t){this._summit=t}get summit(){return this._summit}getId(){return this._event.id}isPublished(){return this._event.hasOwnProperty("is_published")&&this._event.is_published}getMinutesDuration(t){if(this._event.hasOwnProperty("start_date")&&this._event.hasOwnProperty("end_date")&&null!=this._event.start_date&&null!=this._event.end_date){let t=e()(1e3*this._event.start_date).tz(this._summit.time_zone.name);return e()(1e3*this._event.end_date).tz(this._summit.time_zone.name).diff(t,"minutes")}return this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):t}canMove(t,i,n,s){let r=this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):s;this.isPublished()&&(r=this.getMinutesDuration());let m=e().tz(i+" "+n.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name),a=e().tz(i+" "+n.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name);a=a.add(r,"minutes");for(let i of t.filter((t=>t.id!==this.getId()))){let t=e()(1e3*i.start_date).tz(this._summit.time_zone.name),n=e()(1e3*i.end_date).tz(this._summit.time_zone.name);if(t.isBefore(a)&&n.isAfter(m))return!1}return!0}calculateNewDates(t,i,n){return n=this._event.hasOwnProperty("duration")&&this._event.duration>0?parseInt(this._event.duration/60):n,[e().tz(t+" "+i.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name),e().tz(t+" "+i.format("HH:mm"),"YYYY-MM-DD HH:mm",this._summit.time_zone.name).add(n,"minutes")]}isValidEndDate(t){if(null==t)return!0;let i=e().tz(1e3*this._event.start_date,this._summit.time_zone.name);t=e().tz(1e3*t,this._summit.time_zone.name);let n=e().tz(1e3*this._summit.end_date,this._summit.time_zone.name);return t.isAfter(i)&&(t.isBefore(n)||t.isSame(n))}isValidStartDate(t){if(null==t)return!0;t=e().tz(1e3*t,this._summit.time_zone.name);let i=e().tz(1e3*this._event.end_date,this._summit.time_zone.name),n=e().tz(1e3*this._summit.start_date,this._summit.time_zone.name);return e().isMoment(t)&&t.isAfter(n)&&t.isBefore(i)}isValidTitle(t){return""!==t.trim()}isValid(){return this.isValidTitle(this._event.title)&&this.isValidStartDate(this._event.start_date)&&this.isValidEndDate(this._event.end_date)}}})(),n})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,o)=>{o(8779),o(4656),o(4054),o(6793),o(8576)},8576:(e,t,o)=>{o.d(t,{RESPONSE_TYPE_CODE:()=>m,RESPONSE_TYPE_IMPLICIT:()=>y,doLogin:()=>v,emitAccessToken:()=>P,getOAuth2Flow:()=>E,validateIdToken:()=>L});var r=o(6793);o(4824);const n=require("browser-tabs-lock");var i=o.n(n),s=o(6530),c=o.n(s),l=o(3856),d=o.n(l);o(4341);const u=require("crypto-js/sha256");var p=o.n(u);const _=require("crypto-js/enc-base64url");var f=o.n(_);const w=require("crypto-js/enc-hex");var h=o.n(w);const g=65536,k="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(i());const y="token id_token",m="code",b="nonce",O="pkce",S=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},v=(e=null,t=null,o=null)=>{let n=((e=null,t=null,o=null,n=null)=>{let i=I(),s=(0,r.getAuthCallback)(),a=x(),l=j(),d=E();null!=e&&(s+=`?BackUrl=${encodeURI(e)}`);let u=S(16);(0,r.putOnLocalStorage)(b,u);let p=c()(`${a}/oauth2/auth`),_={response_type:encodeURI(d),scope:encodeURI(l),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(s)};if(d===m){const e=T();(0,r.putOnLocalStorage)(O,JSON.stringify(e)),_.code_challenge=e.codeChallenge,_.code_challenge_method="S256",_.approval_prompt="force"}return t&&(_.prompt=t),l&&l.includes("offline_access")&&(_.prompt="consent"),o&&(_.id_token_hint=o),n&&(_.provider=n),p=p.query(_),p})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},T=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!k)return a;if(e>0)if(e>g)for(let o=0;o<e;o+=g)k.getRandomValues(t.slice(o,o+g));else k.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=h();return"Base64url"===t&&(o=f()),p()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},P=async(e,t=null)=>{let o=x(),n=I(),i=(0,r.getAuthCallback)(),s=JSON.parse((0,r.getFromLocalStorage)(O,!0));null!=t&&(i+=`?BackUrl=${encodeURI(t)}`);const a={code:e,grant_type:"authorization_code",code_verifier:s.codeVerifier,client_id:encodeURI(n),redirect_uri:encodeURI(i)};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).catch((function(e){console.log("Request failed:",e.message)})),t=await e.json();let{access_token:r,refresh_token:n,id_token:i,expires_in:s,error:c,error_description:l}=t;return{access_token:r,refresh_token:n,id_token:i,expires_in:s,error:c,error_description:l}}catch(e){console.log(e)}},I=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,E=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",x=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,j=()=>"undefined"!=typeof window?window.SCOPES:null,L=(e,t,o)=>{let n=new(d())({issuer:t,audience:o}),i=(0,r.getFromLocalStorage)(b,!0),s=n.decode(e),a=(s.header.alg,s.header.kid,s.payload.aud),c=s.payload.iss;s.payload.exp,s.payload.nbf;return(s.payload.nonce||null)==i&&a==o&&c==t}},4054:(e,t,o)=>{o(3838),o(4824),o(6530),o(271),o(4656),o(6793),o(4341),o(8576);const r=e=>t=>({type:e,payload:t});r("RESET_LOADING"),r("START_LOADING"),r("STOP_LOADING")},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>d,getAuthCallback:()=>r,getCurrentHref:()=>s,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>c,putOnLocalStorage:()=>a});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.pathname:null,s=()=>"undefined"!=typeof window?window.location.href:null,a=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},c=(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)},d=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{o.r(r),o.d(r,{default:()=>_});var e=o(8779),t=o.n(e);const n=require("react");var i=o.n(n),s=o(6530),a=o.n(s),c=o(8576),l=o(6793);function d(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function u(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?d(Object(r),!0).forEach((function(o){t()(e,o,r[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}class p extends i().Component{constructor(e,t,o){super(o),this.state={id_token_is_valid:!0,error:null,error_description:null,issuer:e,audience:t,accessToken:null,flow:(0,c.getOAuth2Flow)()}}_implicitFlow(){const{access_token:e,id_token:t,session_state:o,error:r,error_description:n,expires_in:i}=this.extractHashParams();if(r)return void this.setState(u(u({},this.state),{},{error:r,error_description:n}));if(!e)return void(0,c.doLogin)((0,l.getCurrentPathName)());const s=!!t&&(0,c.validateIdToken)(t,this.state.issuer,this.state.audience);this.setState(u(u({},this.state),{},{id_token_is_valid:s,error:s?null:"Invalid Token",error_description:s?null:"Invalid Token",accessToken:e})),e&&s&&(this.props.onUserAuth(e,t,o,i),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_implicitFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:e,id_token:t,session_state:o,expires_in:i}),window.location.origin)))}_codeFlow(){const{code:e,session_state:t,error:o,error_description:r}=this.extractHashParams();if(o)return void this.setState(u(u({},this.state),{},{error:o,error_description:r}));if(!e)return void(0,c.doLogin)((0,l.getCurrentPathName)());let n=a()((0,l.getCurrentHref)()).search(!0),i=n.hasOwnProperty("BackUrl")?n.BackUrl:null;(0,c.emitAccessToken)(e,i).then((e=>{let{id_token:n,access_token:i,refresh_token:s,expires_in:a,error:l,error_description:d}=e;if(l)return void this.setState(u(u({},this.state),{},{error:l,error_description:d}));const p=!!n&&(0,c.validateIdToken)(n,this.state.issuer,this.state.audience);this.setState(u(u({},this.state),{},{id_token_is_valid:p,accessToken:i,error:p?o:"Invalid Token",error_description:p?r:"Invalid Token"})),i&&p&&(this.props.onUserAuth(i,n,t,a,s),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_codeFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:i,id_token:n,session_state:t,expires_in:a,refresh_token:s}),window.location.origin)))}))}componentDidMount(){let{flow:e}=this.state;e!==c.RESPONSE_TYPE_IMPLICIT?e===c.RESPONSE_TYPE_CODE&&this._codeFlow():this._implicitFlow()}extractHashParams(){return a().parseQuery(this.props.location.hash.substr(1))}shouldComponentUpdate(e,t,o){return t.accessToken!==this.state.accessToken||(t.error!==this.state.error||t.id_token_is_valid!==this.state.id_token_is_valid)}componentDidUpdate(e,t,o){if(t.accessToken!==this.state.accessToken){let e=a()((0,l.getCurrentHref)()),t=e.search(!0),o=a().parseQuery(e.fragment());delete o.code,delete o.access_token,delete o.expires_in,delete o.token_type,delete o.scope,delete o.id_token,delete o.session_state;let r=t.hasOwnProperty("BackUrl")?t.BackUrl:"/app";o.lenght>0&&(r+=`#${a().buildQuery(o)}`),this._callback(r)}}_callback(e){}_redirect2Error(e){}render(){let{id_token_is_valid:e,error:t,error_description:o}=this.state;return null!=t?this._redirect2Error(`${t} - ${o}.`):e?null:this._redirect2Error("Token Validation Error - Token is invalid.")}}const _=p})(),r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,o)=>{o(8779),o(4656),o(4054),o(6793),o(8576)},8576:(e,t,o)=>{o.d(t,{RESPONSE_TYPE_CODE:()=>m,RESPONSE_TYPE_IMPLICIT:()=>y,doLogin:()=>v,emitAccessToken:()=>P,getOAuth2Flow:()=>E,validateIdToken:()=>j});var r=o(6793);o(4824);const n=require("browser-tabs-lock");var i=o.n(n),s=o(6530),l=o.n(s),c=o(3856),d=o.n(c);o(4341);const u=require("crypto-js/sha256");var p=o.n(u);const _=require("crypto-js/enc-base64url");var f=o.n(_);const w=require("crypto-js/enc-hex");var h=o.n(w);const g=65536,k="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(i());const y="token id_token",m="code",b="nonce",O="pkce",S=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},v=(e=null,t=null,o=null,n=null,i=null)=>{let s=((e=null,t=null,o=null,n=null,i=null,s=null)=>{let a=I(),c=(0,r.getAuthCallback)(),d=x(),u=U(),p=E();null!=e&&(c+=`?BackUrl=${encodeURI(e)}`);let _=S(16);(0,r.putOnLocalStorage)(b,_);let f=l()(`${d}/oauth2/auth`),w={response_type:encodeURI(p),scope:encodeURI(u),nonce:_,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(c)};if(p===m){const e=T();(0,r.putOnLocalStorage)(O,JSON.stringify(e)),w.code_challenge=e.codeChallenge,w.code_challenge_method="S256",w.approval_prompt="force"}return t&&(w.prompt=t),u&&u.includes("offline_access")&&(w.prompt="consent"),o&&(w.id_token_hint=o),n&&(w.provider=n),s&&(w.otp_login_hint=s),i&&(w.login_hint=encodeURI(i)),f=f.query(w),f})(e,o,null,t,n,i);(0,r.getCurrentLocation)().replace(s.toString())},T=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!k)return a;if(e>0)if(e>g)for(let o=0;o<e;o+=g)k.getRandomValues(t.slice(o,o+g));else k.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=h();return"Base64url"===t&&(o=f()),p()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},P=async(e,t=null)=>{let o=x(),n=I(),i=(0,r.getAuthCallback)(),s=JSON.parse((0,r.getFromLocalStorage)(O,!0));null!=t&&(i+=`?BackUrl=${encodeURI(t)}`);const a={code:e,grant_type:"authorization_code",code_verifier:s.codeVerifier,client_id:encodeURI(n),redirect_uri:encodeURI(i)};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).catch((function(e){console.log("Request failed:",e.message)})),t=await e.json();let{access_token:r,refresh_token:n,id_token:i,expires_in:s,error:l,error_description:c}=t;return{access_token:r,refresh_token:n,id_token:i,expires_in:s,error:l,error_description:c}}catch(e){console.log(e)}},I=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,E=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",x=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,U=()=>"undefined"!=typeof window?window.SCOPES:null,j=(e,t,o)=>{let n=new(d())({issuer:t,audience:o}),i=(0,r.getFromLocalStorage)(b,!0),s=n.decode(e),a=(s.header.alg,s.header.kid,s.payload.aud),l=s.payload.iss;s.payload.exp,s.payload.nbf;return(s.payload.nonce||null)==i&&a==o&&l==t}},4054:(e,t,o)=>{o(3838),o(4824),o(6530),o(271),o(4656),o(6793),o(4341),o(8576);const r=e=>t=>({type:e,payload:t});r("RESET_LOADING"),r("START_LOADING"),r("STOP_LOADING")},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>d,getAuthCallback:()=>r,getCurrentHref:()=>s,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>l,putOnLocalStorage:()=>a});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.pathname:null,s=()=>"undefined"!=typeof window?window.location.href:null,a=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},l=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),o}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,o),i.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{o.r(r),o.d(r,{default:()=>_});var e=o(8779),t=o.n(e);const n=require("react");var i=o.n(n),s=o(6530),a=o.n(s),l=o(8576),c=o(6793);function d(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function u(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?d(Object(r),!0).forEach((function(o){t()(e,o,r[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}class p extends i().Component{constructor(e,t,o){super(o),this.state={id_token_is_valid:!0,error:null,error_description:null,issuer:e,audience:t,accessToken:null,flow:(0,l.getOAuth2Flow)()}}_implicitFlow(){const{access_token:e,id_token:t,session_state:o,error:r,error_description:n,expires_in:i}=this.extractHashParams();if(r)return void this.setState(u(u({},this.state),{},{error:r,error_description:n}));if(!e)return void(0,l.doLogin)((0,c.getCurrentPathName)());const s=!!t&&(0,l.validateIdToken)(t,this.state.issuer,this.state.audience);this.setState(u(u({},this.state),{},{id_token_is_valid:s,error:s?null:"Invalid Token",error_description:s?null:"Invalid Token",accessToken:e})),e&&s&&(this.props.onUserAuth(e,t,o,i),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_implicitFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:e,id_token:t,session_state:o,expires_in:i}),window.location.origin)))}_codeFlow(){const{code:e,session_state:t,error:o,error_description:r}=this.extractHashParams();if(o)return void this.setState(u(u({},this.state),{},{error:o,error_description:r}));if(!e)return void(0,l.doLogin)((0,c.getCurrentPathName)());let n=a()((0,c.getCurrentHref)()).search(!0),i=n.hasOwnProperty("BackUrl")?n.BackUrl:null;(0,l.emitAccessToken)(e,i).then((e=>{let{id_token:n,access_token:i,refresh_token:s,expires_in:a,error:c,error_description:d}=e;if(c)return void this.setState(u(u({},this.state),{},{error:c,error_description:d}));const p=!!n&&(0,l.validateIdToken)(n,this.state.issuer,this.state.audience);this.setState(u(u({},this.state),{},{id_token_is_valid:p,accessToken:i,error:p?o:"Invalid Token",error_description:p?r:"Invalid Token"})),i&&p&&(this.props.onUserAuth(i,n,t,a,s),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_codeFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:i,id_token:n,session_state:t,expires_in:a,refresh_token:s}),window.location.origin)))}))}componentDidMount(){let{flow:e}=this.state;e!==l.RESPONSE_TYPE_IMPLICIT?e===l.RESPONSE_TYPE_CODE&&this._codeFlow():this._implicitFlow()}extractHashParams(){return a().parseQuery(this.props.location.hash.substr(1))}shouldComponentUpdate(e,t,o){return t.accessToken!==this.state.accessToken||(t.error!==this.state.error||t.id_token_is_valid!==this.state.id_token_is_valid)}componentDidUpdate(e,t,o){if(t.accessToken!==this.state.accessToken){let e=a()((0,c.getCurrentHref)()),t=e.search(!0),o=a().parseQuery(e.fragment());delete o.code,delete o.access_token,delete o.expires_in,delete o.token_type,delete o.scope,delete o.id_token,delete o.session_state;let r=t.hasOwnProperty("BackUrl")?t.BackUrl:"/app";o.lenght>0&&(r+=`#${a().buildQuery(o)}`),this._callback(r)}}_callback(e){}_redirect2Error(e){}render(){let{id_token_is_valid:e,error:t,error_description:o}=this.state;return null!=t?this._redirect2Error(`${t} - ${o}.`):e?null:this._redirect2Error("Token Validation Error - Token is invalid.")}}const _=p})(),r})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_SESSION_STATE:()=>E,LOGOUT_USER:()=>_,RECEIVE_USER_INFO:()=>S,REQUEST_USER_INFO:()=>f,SESSION_STATE_STATUS_CHANGED:()=>w,SESSION_STATE_STATUS_ERROR:()=>O,SESSION_STATE_STATUS_UNCHANGED:()=>g,SET_LOGGED_USER:()=>p,UPDATE_SESSION_STATE_STATUS:()=>R,UPDATE_USER_INFO:()=>y,doLogout:()=>h,getUserInfo:()=>U,onUserAuth:()=>T,updateSessionStateStatus:()=>m,updateUserInfo:()=>A});var r=o(8779),n=o.n(r),s=o(4656),a=o.n(s),i=o(4054),l=o(6793),u=o(8576);function c(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function d(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?c(Object(o),!0).forEach((function(t){n()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const p="SET_LOGGED_USER",_="LOGOUT_USER",f="REQUEST_USER_INFO",S="RECEIVE_USER_INFO",E="CLEAR_SESSION_STATE",R="UPDATE_SESSION_STATE_STATUS",g="unchanged",w="changed",O="error",y="UPDATE_USER_INFO",T=(e,t,o,r=0,n=null)=>s=>{(0,u.storeAuthInfo)(e,r,n,t),s({type:p,payload:{sessionState:o}})},h=e=>(t,o)=>{t({type:_,payload:{backUrl:e}})},U=(e="groups",t="",o=null,r=null,n=null)=>async(s,c)=>{let d=(0,l.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:p}=c(),{member:_}=p,E=await(0,u.getAccessToken)();if(null!=_)return null!=r&&null!=o&&r.push(o),Promise.resolve();null==n&&(n=i.authErrorHandler),s((0,i.startLoading)());let R={access_token:E,expand:e};return t&&(R.fields=t),(0,i.getRequest)((0,i.createAction)(f),(0,i.createAction)(S),(0,l.buildAPIBaseUrl)("/api/v1/members/me"),n)(R)(s,c).then((()=>{s((0,i.stopLoading)());let{member:e}=c().loggedUserState;if(null==e){let e={title:"ERROR",html:a().translate("errors.user_not_set"),type:"error"};s((0,i.showMessage)(e,u.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:a().translate("errors.user_not_authz"),type:"error"};return void s((0,i.showMessage)(e,u.initLogOut))}}null!=r&&null!=o&&r.push(o)}))},A=e=>(t,o)=>{let{loggedUserState:r}=o(),{member:n}=r;if(null==n)throw Error("Member is not set.");if(e.id!=n.id)throw Error("Member is not the same.");t({type:y,payload:d({},e)})},m=e=>(t,o)=>{t({type:R,payload:{sessionStateStatus:e}})}},1593:(e,t,o)=>{o.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>a,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>n,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>i});const r="AUTH_ERROR_MISSING_AUTH_INFO",n="AUTH_ERROR_MISSING_REFRESH_TOKEN",s="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",a="AUTH_ERROR_LOCK_ACQUIRE_ERROR",i="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,o)=>{o.d(t,{doLogin:()=>A,getAccessToken:()=>b,initLogOut:()=>F,storeAuthInfo:()=>k});var r=o(6793);o(4824);const n=require("browser-tabs-lock");var s=o.n(n),i=o(6530),l=o.n(i);o(3856),o(4341);const u=require("crypto-js/sha256");var c=o.n(u);const d=require("crypto-js/enc-base64url");var p=o.n(d);const _=require("crypto-js/enc-hex");var f=o.n(_);const S=65536,E="undefined"!=typeof window?window.crypto||window.msCrypto:null;var R=o(1593);const g=new(s()),w="openstackuicore.lock.getTokenSilently",O="code",y="authInfo",T="nonce",h="pkce",U=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},A=(e=null,t=null,o=null)=>{let n=((e=null,t=null,o=null,n=null)=>{let s=P(),a=(0,r.getAuthCallback)(),i=j(),u=x(),c=v();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let d=U(16);(0,r.putOnLocalStorage)(T,d);let p=l()(`${i}/oauth2/auth`),_={response_type:encodeURI(c),scope:encodeURI(u),nonce:d,response_mode:"fragment",client_id:encodeURI(s),redirect_uri:encodeURI(a)};if(c===O){const e=m();(0,r.putOnLocalStorage)(h,JSON.stringify(e)),_.code_challenge=e.codeChallenge,_.code_challenge_method="S256",_.approval_prompt="force"}return t&&(_.prompt=t),u&&u.includes("offline_access")&&(_.prompt="consent"),o&&(_.id_token_hint=o),n&&(_.provider=n),p=p.query(_),p})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},m=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!E)return a;if(e>0)if(e>S)for(let o=0;o<e;o+=S)E.getRandomValues(t.slice(o,o+S));else E.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=f();return"Base64url"===t&&(o=p()),c()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},b=async()=>{if(await(0,r.retryPromise)((()=>g.acquireLock(w,5e3)),10))try{let e=N();if(!e)throw Error(R.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,s=v(),a=Math.floor(Date.now()/1e3);if(o-=20,a-r>o||null==t){if(console.log("getAccessToken access token expired"),s===O&&H()){if(!n)throw L(),Error(R.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await I(n),{access_token:t,expires_in:o,refresh_token:r}=e;return void 0===r&&(r=null),k(t,o,r),t}throw L(),Error(R.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await g.releaseLock(w)}throw Error(R.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},I=async e=>{let t=j(),o=P();const n={grant_type:"refresh_token",client_id:encodeURI(o),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${R.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${R.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),o=await e.json();let{access_token:s,refresh_token:a,expires_in:i}=o;return{access_token:s,refresh_token:a,expires_in:i}}catch(e){throw console.log(e),e}},k=(e,t,o=null,n=null)=>{let s=N(),a={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&s&&(o=s.refreshToken),null===n&&s&&(n=s.idToken),o&&(a.refreshToken=o),n&&(a.idToken=n),(0,r.putOnLocalStorage)(y,JSON.stringify(a))},N=()=>{try{let e=(0,r.getFromLocalStorage)(y,!1);return e?JSON.parse(e):null}catch(e){return null}},L=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(y),(0,r.removeFromLocalStorage)(T),void(0,r.removeFromLocalStorage)(h)},C=()=>{if("undefined"!=typeof window){const e=N();return e?e.idToken:null}return null},P=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,v=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",H=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),j=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,x=()=>"undefined"!=typeof window?window.SCOPES:null,F=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=j(),o=P(),n=l()(`${t}/oauth2/end-session`),s=U(16),a=(0,r.getOrigin)()+"/auth/logout";return(0,r.putOnLocalStorage)("post_logout_state",s),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(o),state:s})})(C()).toString())}},4054:(e,t,o)=>{o.d(t,{authErrorHandler:()=>U,createAction:()=>g,getRequest:()=>A,showMessage:()=>N,startLoading:()=>w,stopLoading:()=>O});var r=o(3838),n=o.n(r),s=o(4824),a=o.n(s),i=o(6530),l=o.n(i),u=o(271),c=o.n(u),d=o(4656),p=o.n(d),_=o(6793),f=o(4341),S=o(8576);const E=["access_token"];let R=a();const g=e=>t=>({type:e,payload:t}),w=(g("RESET_LOADING"),g("START_LOADING")),O=g("STOP_LOADING"),y={},T={},h=e=>0===Object.keys(e).length&&e.constructor===Object,U=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(O()),r){case 403:let o={title:"ERROR",html:p().translate("errors.user_not_authz"),type:"error"};t(N(o,S.initLogOut));break;case 401:let r=(0,_.getCurrentPathName)(),i=(0,_.isClearingSessionState)();t({type:f.CLEAR_SESSION_STATE,payload:{}}),i||((0,_.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,S.doLogin)(r));break;case 404:n="",n=e.response.body&&e.response.body.message?e.response.body.message:e.response.error&&e.response.error.message?e.response.error.message:e.message,c().fire("Not Found",n,"warning");break;case 412:for(var[s,a]of Object.entries(e.response.body.errors))isNaN(s)&&(n+=s+": "),n+=a+"<br>";c().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:c().fire("ERROR",p().translate("errors.server_error"),"error")}},A=(e,t,o,r=m,s={},a=!1)=>(i={})=>(u,c)=>{let d=l()(o),p=d.toString();if(!h(i)){const{access_token:e}=i,t=n()(i,E);p=d.query(t).toString(),d=d.query(i)}return e&&"function"==typeof e&&u(e(s)),(e=>{y[e]&&(y[e].abort(),console.log(`aborted request ${e}`),delete y[e])})(p),new Promise(((e,o)=>{let n=R.get(d.toString());if(a&&T.hasOwnProperty(p)){const{etag:e}=T[p];e&&n.set("If-None-Match",e)}n.timeout({response:6e4,deadline:6e4}).end(k(u,c,t,r,e,o,p,a)),((e,t)=>{y[e]=t})(p,n)}))},m=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),c().fire(t.statusText,r,"error")},b=e=>e.toLowerCase(),I=(e,t={})=>{const o=(e=>Object.keys(e))(t).find((e=>t=>b(t)===e)(e));return o?t[o]:void 0},k=(e,t,o,r,n,s,a=null,i=!1)=>(l,u)=>{if(l||!u.ok){if(304===l.status&&T.hasOwnProperty(a)&&i){const{body:t}=T[a];return"function"==typeof o?(e(o({response:t})),n({response:t})):(e(o),n({response:t}))}return r&&r(l,u)(e,t),s({err:l,res:u,dispatch:e,state:t})}let c=u.body;if(i){const e=I("etag",u.headers);e&&(T[a]={etag:e,body:c})}return"function"==typeof o?(e(o({response:c})),n({response:c})):(e(o),n({response:c}))},N=(e,t={})=>o=>{o(O()),c().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))}},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>f,buildAPIBaseUrl:()=>l,getAllowedUserGroups:()=>i,getAuthCallback:()=>r,getCurrentLocation:()=>n,getCurrentPathName:()=>a,getFromLocalStorage:()=>c,getOrigin:()=>s,isClearingSessionState:()=>p,putOnLocalStorage:()=>u,removeFromLocalStorage:()=>d,retryPromise:()=>S,setSessionClearingState:()=>_});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},s=()=>"undefined"!=typeof window?window.location.origin:null,a=()=>"undefined"!=typeof window?window.location.pathname:null,i=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,l=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,u=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},c=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),d(e)),o}return null},d=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},p=()=>"undefined"!=typeof window&&window.clearing_session_state,_=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},f=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),S=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,o),s.exports}return(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),o(4341)})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_SESSION_STATE:()=>E,LOGOUT_USER:()=>p,RECEIVE_USER_INFO:()=>S,REQUEST_USER_INFO:()=>f,SESSION_STATE_STATUS_CHANGED:()=>w,SESSION_STATE_STATUS_ERROR:()=>O,SESSION_STATE_STATUS_UNCHANGED:()=>g,SET_LOGGED_USER:()=>_,UPDATE_SESSION_STATE_STATUS:()=>R,UPDATE_USER_INFO:()=>y,doLogout:()=>h,getUserInfo:()=>U,onUserAuth:()=>T,updateSessionStateStatus:()=>m,updateUserInfo:()=>A});var r=o(8779),n=o.n(r),s=o(4656),a=o.n(s),i=o(4054),l=o(6793),u=o(8576);function c(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function d(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?c(Object(o),!0).forEach((function(t){n()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const _="SET_LOGGED_USER",p="LOGOUT_USER",f="REQUEST_USER_INFO",S="RECEIVE_USER_INFO",E="CLEAR_SESSION_STATE",R="UPDATE_SESSION_STATE_STATUS",g="unchanged",w="changed",O="error",y="UPDATE_USER_INFO",T=(e,t,o,r=0,n=null)=>s=>{(0,u.storeAuthInfo)(e,r,n,t),s({type:_,payload:{sessionState:o}})},h=e=>(t,o)=>{t({type:p,payload:{backUrl:e}})},U=(e="groups",t="",o=null,r=null,n=null)=>async(s,c)=>{let d=(0,l.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:_}=c(),{member:p}=_,E=await(0,u.getAccessToken)();if(null!=p)return null!=r&&null!=o&&r.push(o),Promise.resolve();null==n&&(n=i.authErrorHandler),s((0,i.startLoading)());let R={access_token:E,expand:e};return t&&(R.fields=t),(0,i.getRequest)((0,i.createAction)(f),(0,i.createAction)(S),(0,l.buildAPIBaseUrl)("/api/v1/members/me"),n)(R)(s,c).then((()=>{s((0,i.stopLoading)());let{member:e}=c().loggedUserState;if(null==e){let e={title:"ERROR",html:a().translate("errors.user_not_set"),type:"error"};s((0,i.showMessage)(e,u.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:a().translate("errors.user_not_authz"),type:"error"};return void s((0,i.showMessage)(e,u.initLogOut))}}null!=r&&null!=o&&r.push(o)}))},A=e=>(t,o)=>{let{loggedUserState:r}=o(),{member:n}=r;if(null==n)throw Error("Member is not set.");if(e.id!=n.id)throw Error("Member is not the same.");t({type:y,payload:d({},e)})},m=e=>(t,o)=>{t({type:R,payload:{sessionStateStatus:e}})}},1593:(e,t,o)=>{o.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>a,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>n,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>i});const r="AUTH_ERROR_MISSING_AUTH_INFO",n="AUTH_ERROR_MISSING_REFRESH_TOKEN",s="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",a="AUTH_ERROR_LOCK_ACQUIRE_ERROR",i="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR"},8576:(e,t,o)=>{o.d(t,{doLogin:()=>A,getAccessToken:()=>b,initLogOut:()=>F,storeAuthInfo:()=>k});var r=o(6793);o(4824);const n=require("browser-tabs-lock");var s=o.n(n),i=o(6530),l=o.n(i);o(3856),o(4341);const u=require("crypto-js/sha256");var c=o.n(u);const d=require("crypto-js/enc-base64url");var _=o.n(d);const p=require("crypto-js/enc-hex");var f=o.n(p);const S=65536,E="undefined"!=typeof window?window.crypto||window.msCrypto:null;var R=o(1593);const g=new(s()),w="openstackuicore.lock.getTokenSilently",O="code",y="authInfo",T="nonce",h="pkce",U=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},A=(e=null,t=null,o=null,n=null,s=null)=>{let a=((e=null,t=null,o=null,n=null,s=null,a=null)=>{let i=P(),u=(0,r.getAuthCallback)(),c=j(),d=x(),_=v();null!=e&&(u+=`?BackUrl=${encodeURI(e)}`);let p=U(16);(0,r.putOnLocalStorage)(T,p);let f=l()(`${c}/oauth2/auth`),S={response_type:encodeURI(_),scope:encodeURI(d),nonce:p,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(u)};if(_===O){const e=m();(0,r.putOnLocalStorage)(h,JSON.stringify(e)),S.code_challenge=e.codeChallenge,S.code_challenge_method="S256",S.approval_prompt="force"}return t&&(S.prompt=t),d&&d.includes("offline_access")&&(S.prompt="consent"),o&&(S.id_token_hint=o),n&&(S.provider=n),a&&(S.otp_login_hint=a),s&&(S.login_hint=encodeURI(s)),f=f.query(S),f})(e,o,null,t,n,s);(0,r.getCurrentLocation)().replace(a.toString())},m=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!E)return a;if(e>0)if(e>S)for(let o=0;o<e;o+=S)E.getRandomValues(t.slice(o,o+S));else E.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=f();return"Base64url"===t&&(o=_()),c()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},b=async()=>{if(await(0,r.retryPromise)((()=>g.acquireLock(w,5e3)),10))try{let e=N();if(!e)throw Error(R.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,s=v(),a=Math.floor(Date.now()/1e3);if(o-=20,a-r>o||null==t){if(console.log("getAccessToken access token expired"),s===O&&H()){if(!n)throw L(),Error(R.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await I(n),{access_token:t,expires_in:o,refresh_token:r}=e;return void 0===r&&(r=null),k(t,o,r),t}throw L(),Error(R.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return t}finally{await g.releaseLock(w)}throw Error(R.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},I=async e=>{let t=j(),o=P();const n={grant_type:"refresh_token",client_id:encodeURI(o),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${R.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${R.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),o=await e.json();let{access_token:s,refresh_token:a,expires_in:i}=o;return{access_token:s,refresh_token:a,expires_in:i}}catch(e){throw console.log(e),e}},k=(e,t,o=null,n=null)=>{let s=N(),a={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&s&&(o=s.refreshToken),null===n&&s&&(n=s.idToken),o&&(a.refreshToken=o),n&&(a.idToken=n),(0,r.putOnLocalStorage)(y,JSON.stringify(a))},N=()=>{try{let e=(0,r.getFromLocalStorage)(y,!1);return e?JSON.parse(e):null}catch(e){return null}},L=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(y),(0,r.removeFromLocalStorage)(T),void(0,r.removeFromLocalStorage)(h)},C=()=>{if("undefined"!=typeof window){const e=N();return e?e.idToken:null}return null},P=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,v=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",H=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),j=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,x=()=>"undefined"!=typeof window?window.SCOPES:null,F=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=j(),o=P(),n=l()(`${t}/oauth2/end-session`),s=U(16),a=(0,r.getOrigin)()+"/auth/logout";return(0,r.putOnLocalStorage)("post_logout_state",s),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(o),state:s})})(C()).toString())}},4054:(e,t,o)=>{o.d(t,{authErrorHandler:()=>U,createAction:()=>g,getRequest:()=>A,showMessage:()=>N,startLoading:()=>w,stopLoading:()=>O});var r=o(3838),n=o.n(r),s=o(4824),a=o.n(s),i=o(6530),l=o.n(i),u=o(271),c=o.n(u),d=o(4656),_=o.n(d),p=o(6793),f=o(4341),S=o(8576);const E=["access_token"];let R=a();const g=e=>t=>({type:e,payload:t}),w=(g("RESET_LOADING"),g("START_LOADING")),O=g("STOP_LOADING"),y={},T={},h=e=>0===Object.keys(e).length&&e.constructor===Object,U=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(O()),r){case 403:let o={title:"ERROR",html:_().translate("errors.user_not_authz"),type:"error"};t(N(o,S.initLogOut));break;case 401:let r=(0,p.getCurrentPathName)(),i=(0,p.isClearingSessionState)();t({type:f.CLEAR_SESSION_STATE,payload:{}}),i||((0,p.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,S.doLogin)(r));break;case 404:n="",n=e.response.body&&e.response.body.message?e.response.body.message:e.response.error&&e.response.error.message?e.response.error.message:e.message,c().fire("Not Found",n,"warning");break;case 412:for(var[s,a]of Object.entries(e.response.body.errors))isNaN(s)&&(n+=s+": "),n+=a+"<br>";c().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:c().fire("ERROR",_().translate("errors.server_error"),"error")}},A=(e,t,o,r=m,s={},a=!1)=>(i={})=>(u,c)=>{let d=l()(o),_=d.toString();if(!h(i)){const{access_token:e}=i,t=n()(i,E);_=d.query(t).toString(),d=d.query(i)}return e&&"function"==typeof e&&u(e(s)),(e=>{y[e]&&(y[e].abort(),console.log(`aborted request ${e}`),delete y[e])})(_),new Promise(((e,o)=>{let n=R.get(d.toString());if(a&&T.hasOwnProperty(_)){const{etag:e}=T[_];e&&n.set("If-None-Match",e)}n.timeout({response:6e4,deadline:6e4}).end(k(u,c,t,r,e,o,_,a)),((e,t)=>{y[e]=t})(_,n)}))},m=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),c().fire(t.statusText,r,"error")},b=e=>e.toLowerCase(),I=(e,t={})=>{const o=(e=>Object.keys(e))(t).find((e=>t=>b(t)===e)(e));return o?t[o]:void 0},k=(e,t,o,r,n,s,a=null,i=!1)=>(l,u)=>{if(l||!u.ok){if(304===l.status&&T.hasOwnProperty(a)&&i){const{body:t}=T[a];return"function"==typeof o?(e(o({response:t})),n({response:t})):(e(o),n({response:t}))}return r&&r(l,u)(e,t),s({err:l,res:u,dispatch:e,state:t})}let c=u.body;if(i){const e=I("etag",u.headers);e&&(T[a]={etag:e,body:c})}return"function"==typeof o?(e(o({response:c})),n({response:c})):(e(o),n({response:c}))},N=(e,t={})=>o=>{o(O()),c().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))}},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>f,buildAPIBaseUrl:()=>l,getAllowedUserGroups:()=>i,getAuthCallback:()=>r,getCurrentLocation:()=>n,getCurrentPathName:()=>a,getFromLocalStorage:()=>c,getOrigin:()=>s,isClearingSessionState:()=>_,putOnLocalStorage:()=>u,removeFromLocalStorage:()=>d,retryPromise:()=>S,setSessionClearingState:()=>p});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},s=()=>"undefined"!=typeof window?window.location.origin:null,a=()=>"undefined"!=typeof window?window.location.pathname:null,i=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,l=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,u=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},c=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),d(e)),o}return null},d=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},_=()=>"undefined"!=typeof window&&window.clearing_session_state,p=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},f=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),S=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,o),s.exports}return(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),o(4341)})()));
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={4341:(e,o,t)=>{t.d(o,{SET_LOGGED_USER:()=>n});t(8779),t(4656),t(4054),t(6793),t(8576);const n="SET_LOGGED_USER"},1593:(e,o,t)=>{t.d(o,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>i,AUTH_ERROR_ID_TOKEN_INVALID:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>a,AUTH_ERROR_MISSING_AUTH_INFO:()=>n,AUTH_ERROR_MISSING_OTP_PARAM:()=>c,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>r,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>l});const n="AUTH_ERROR_MISSING_AUTH_INFO",r="AUTH_ERROR_MISSING_REFRESH_TOKEN",i="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",a="AUTH_ERROR_LOCK_ACQUIRE_ERROR",l="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR",s="AUTH_ERROR_ID_TOKEN_INVALID",c="AUTH_ERROR_MISSING_OTP_PARAM"},8576:(e,o,t)=>{t.r(o),t.d(o,{ACCESS_TOKEN_SKEW_TIME:()=>A,RESPONSE_TYPE_CODE:()=>k,RESPONSE_TYPE_IMPLICIT:()=>U,clearAccessToken:()=>M,clearAuthInfo:()=>$,doLogin:()=>v,doLoginBasicLogin:()=>x,emitAccessToken:()=>F,getAccessToken:()=>j,getAuthInfo:()=>q,getAuthUrl:()=>C,getIdToken:()=>B,getLogoutUrl:()=>b,getOAuth2ClientId:()=>Q,getOAuth2Flow:()=>V,getOAuth2IDPBaseUrl:()=>W,getOAuth2Scopes:()=>X,initLogOut:()=>z,isIdTokenAlive:()=>oe,passwordlessLogin:()=>ee,passwordlessStart:()=>Z,refreshAccessToken:()=>G,storeAuthInfo:()=>K,useOAuth2RefreshToken:()=>J,validateIdToken:()=>Y});var n=t(6793),r=t(4824),i=t.n(r);const l=require("browser-tabs-lock");var s=t.n(l),c=t(6530),d=t.n(c),u=t(3856),_=t.n(u),p=t(4341);const R=require("crypto-js/sha256");var f=t.n(R);const E=require("crypto-js/enc-base64url");var w=t.n(E);const h=require("crypto-js/enc-hex");var S=t.n(h);const O=65536,g="undefined"!=typeof window?window.crypto||window.msCrypto:null;var T=t(1593);let y=i();const I=new(s()),m="openstackuicore.lock.getTokenSilently",A=20,U="token id_token",k="code",L="authInfo",N="nonce",P="pkce",C=(e=null,o=null,t=null,r=null)=>{let i=Q(),a=(0,n.getAuthCallback)(),l=W(),s=X(),c=V();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=H(16);(0,n.putOnLocalStorage)(N,u);let _=d()(`${l}/oauth2/auth`),p={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=D();(0,n.putOnLocalStorage)(P,JSON.stringify(e)),p.code_challenge=e.codeChallenge,p.code_challenge_method="S256",p.approval_prompt="force"}return o&&(p.prompt=o),s&&s.includes("offline_access")&&(p.prompt="consent"),t&&(p.id_token_hint=t),r&&(p.provider=r),_=_.query(p),_},b=e=>{let o=W(),t=Q(),r=d()(`${o}/oauth2/end-session`),i=H(16),a=(0,n.getOrigin)()+"/auth/logout";return(0,n.putOnLocalStorage)("post_logout_state",i),r.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(t),state:i})},H=e=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=o.charAt(Math.floor(Math.random()*o.length));return t},v=(e=null,o=null,t=null)=>{let r=C(e,t,null,o);(0,n.getCurrentLocation)().replace(r.toString())},x=(e=null)=>{v(e,null,null)},D=()=>{const e=(0,n.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const o=Buffer.allocUnsafe(e);if(!g)return a;if(e>0)if(e>O)for(let t=0;t<e;t+=O)g.getRandomValues(o.slice(t,t+O));else g.getRandomValues(o);return o})(64));return{codeVerifier:e,codeChallenge:((e,o="hex")=>{let t=S();return"Base64url"===o&&(t=w()),f()(e).toString(t)})(e,"Base64url"),createdAt:new Date}},F=async(e,o=null)=>{let t=W(),r=Q(),i=(0,n.getAuthCallback)(),a=JSON.parse((0,n.getFromLocalStorage)(P,!0));null!=o&&(i+=`?BackUrl=${encodeURI(o)}`);const l={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(r),redirect_uri:encodeURI(i)};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l)}).catch((function(e){console.log("Request failed:",e.message)})),o=await e.json();let{access_token:n,refresh_token:r,id_token:i,expires_in:a,error: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)}},M=async()=>{if(await(0,n.retryPromise)((()=>I.acquireLock(m,5e3)),10))try{let e=q();if(!e)throw Error(T.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e;K(null,0,r)}finally{await I.releaseLock(m)}},j=async()=>{if(await(0,n.retryPromise)((()=>I.acquireLock(m,5e3)),10))try{let e=q();if(!e)throw Error(T.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=V(),a=Math.floor(Date.now()/1e3);if(t-=A,a-n>t||null==o){if(console.log("getAccessToken access token expired"),i===k&&J()){if(!r)throw $(),Error(T.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await G(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),K(o,t,n),o}throw $(),Error(T.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return o}finally{await I.releaseLock(m)}throw Error(T.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},G=async e=>{let o=W(),t=Q();const r={grant_type:"refresh_token",client_id:encodeURI(t),refresh_token:e};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{if(400===e.status){(0,n.getCurrentPathName)();throw(0,n.setSessionClearingState)(!0),Error(`${T.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${T.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),t=await e.json();let{access_token:i,refresh_token:a,expires_in:l}=t;return{access_token:i,refresh_token:a,expires_in:l}}catch(e){throw console.log(e),e}},K=(e,o,t=null,r=null)=>{let i=q(),a={accessToken:e,expiresIn:o,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===t&&i&&(t=i.refreshToken),null===r&&i&&(r=i.idToken),t&&(a.refreshToken=t),r&&(a.idToken=r),(0,n.putOnLocalStorage)(L,JSON.stringify(a))},q=()=>{try{let e=(0,n.getFromLocalStorage)(L,!1);return e?JSON.parse(e):null}catch(e){return null}},$=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(L),(0,n.removeFromLocalStorage)(N),void(0,n.removeFromLocalStorage)(P)},B=()=>{if("undefined"!=typeof window){const e=q();return e?e.idToken:null}return null},Q=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,V=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",J=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),W=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,X=()=>"undefined"!=typeof window?window.SCOPES:null,z=()=>{(0,n.getCurrentLocation)().replace(b(B()).toString())},Y=(e,o,t)=>{let r=new(_())({issuer:o,audience:t}),i=(0,n.getFromLocalStorage)(N,!0),a=r.decode(e),l=(a.header.alg,a.header.kid,a.payload.aud),s=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&l==t&&s==o},Z=e=>{let o=Q(),t=X(),r=H(16);(0,n.putOnLocalStorage)(N,r);let i=W(),a=d()(`${i}/oauth2/auth`),l={response_type:"otp",scope:encodeURI(t),nonce:r,client_id:encodeURI(o),connection:e.connection||"email",send:e.send||"code"};return e.hasOwnProperty("email")&&(l.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(l.phone_number=encodeURIComponent(e.phone_number)),e.hasOwnProperty("redirect_uri")&&(l.redirect_uri=encodeURIComponent(e.redirect_uri)),y.post(a.toString()).send(l).then((e=>{let o=e.body;return Promise.resolve({response:o})})).catch((e=>Promise.reject(e)))},ee=e=>o=>{let t=Q(),n=X(),r=W(),i=d()(`${r}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error(T.AUTH_ERROR_MISSING_OTP_PARAM);let a={grant_type:"passwordless",connection:e.connection||"email",scope:encodeURI(n),client_id:encodeURI(t),otp:e.otp};return e.hasOwnProperty("email")&&(a.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(a.phone_number=encodeURIComponent(e.phone_number)),y.post(i.toString()).send(a).then((e=>{try{let n=e.body,{access_token:i,expires_in:a,refresh_token:l,id_token:s}=n;if(void 0===l&&(l=null),void 0===s&&(s=null),s&&!Y(s,r,t))throw Error(T.AUTH_ERROR_ID_TOKEN_INVALID);return K(i,a,l,s),o&&o({type:p.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))},oe=(e=null)=>()=>{e||(e=Math.floor(Date.now()/1e3));const o=B();if(!o)throw Error("Id Token not set.");const t=W(),n=Q();return new(_())({issuer:t,audience:n}).decode(o).payload.exp-(e+A)>0}},4054:(e,o,t)=>{t(3838),t(4824),t(6530),t(271),t(4656),t(6793),t(4341),t(8576);const n=e=>o=>({type:e,payload:o});n("RESET_LOADING"),n("START_LOADING"),n("STOP_LOADING")},6793:(e,o,t)=>{t.d(o,{base64URLEncode:()=>u,getAuthCallback:()=>n,getCurrentLocation:()=>r,getCurrentPathName:()=>a,getFromLocalStorage:()=>s,getOrigin:()=>i,putOnLocalStorage:()=>l,removeFromLocalStorage:()=>c,retryPromise:()=>_,setSessionClearingState:()=>d});t(8362),t(6530);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,r=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.origin:null,a=()=>"undefined"!=typeof window?window.location.pathname:null,l=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},s=(e,o)=>{if("undefined"!=typeof window){let t=window.localStorage.getItem(e);return o&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),t}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},u=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),_=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var i=o[n]={exports:{}};return e[n](i,i.exports,t),i.exports}return(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),t(8576)})()));
1
+ !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],o):"object"==typeof exports?exports["openstack-uicore-foundation"]=o():e["openstack-uicore-foundation"]=o()}(this,(()=>(()=>{"use strict";var e={4341:(e,o,t)=>{t.d(o,{SET_LOGGED_USER:()=>n});t(8779),t(4656),t(4054),t(6793),t(8576);const n="SET_LOGGED_USER"},1593:(e,o,t)=>{t.d(o,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>i,AUTH_ERROR_ID_TOKEN_INVALID:()=>c,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>a,AUTH_ERROR_MISSING_AUTH_INFO:()=>n,AUTH_ERROR_MISSING_OTP_PARAM:()=>s,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>r,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>l});const n="AUTH_ERROR_MISSING_AUTH_INFO",r="AUTH_ERROR_MISSING_REFRESH_TOKEN",i="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",a="AUTH_ERROR_LOCK_ACQUIRE_ERROR",l="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR",c="AUTH_ERROR_ID_TOKEN_INVALID",s="AUTH_ERROR_MISSING_OTP_PARAM"},8576:(e,o,t)=>{t.r(o),t.d(o,{ACCESS_TOKEN_SKEW_TIME:()=>A,RESPONSE_TYPE_CODE:()=>k,RESPONSE_TYPE_IMPLICIT:()=>U,clearAccessToken:()=>M,clearAuthInfo:()=>$,doLogin:()=>v,doLoginBasicLogin:()=>x,emitAccessToken:()=>F,getAccessToken:()=>j,getAuthInfo:()=>q,getAuthUrl:()=>C,getIdToken:()=>B,getLogoutUrl:()=>b,getOAuth2ClientId:()=>Q,getOAuth2Flow:()=>V,getOAuth2IDPBaseUrl:()=>W,getOAuth2Scopes:()=>X,initLogOut:()=>z,isIdTokenAlive:()=>oe,passwordlessLogin:()=>ee,passwordlessStart:()=>Z,refreshAccessToken:()=>G,storeAuthInfo:()=>K,useOAuth2RefreshToken:()=>J,validateIdToken:()=>Y});var n=t(6793),r=t(4824),i=t.n(r);const l=require("browser-tabs-lock");var c=t.n(l),s=t(6530),d=t.n(s),u=t(3856),_=t.n(u),p=t(4341);const R=require("crypto-js/sha256");var f=t.n(R);const E=require("crypto-js/enc-base64url");var w=t.n(E);const h=require("crypto-js/enc-hex");var g=t.n(h);const S=65536,O="undefined"!=typeof window?window.crypto||window.msCrypto:null;var T=t(1593);let y=i();const I=new(c()),m="openstackuicore.lock.getTokenSilently",A=20,U="token id_token",k="code",L="authInfo",N="nonce",P="pkce",C=(e=null,o=null,t=null,r=null,i=null,a=null)=>{let l=Q(),c=(0,n.getAuthCallback)(),s=W(),u=X(),_=V();null!=e&&(c+=`?BackUrl=${encodeURI(e)}`);let p=H(16);(0,n.putOnLocalStorage)(N,p);let R=d()(`${s}/oauth2/auth`),f={response_type:encodeURI(_),scope:encodeURI(u),nonce:p,response_mode:"fragment",client_id:encodeURI(l),redirect_uri:encodeURI(c)};if(_===k){const e=D();(0,n.putOnLocalStorage)(P,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return o&&(f.prompt=o),u&&u.includes("offline_access")&&(f.prompt="consent"),t&&(f.id_token_hint=t),r&&(f.provider=r),a&&(f.otp_login_hint=a),i&&(f.login_hint=encodeURI(i)),R=R.query(f),R},b=e=>{let o=W(),t=Q(),r=d()(`${o}/oauth2/end-session`),i=H(16),a=(0,n.getOrigin)()+"/auth/logout";return(0,n.putOnLocalStorage)("post_logout_state",i),r.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(t),state:i})},H=e=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=o.charAt(Math.floor(Math.random()*o.length));return t},v=(e=null,o=null,t=null,r=null,i=null)=>{let a=C(e,t,null,o,r,i);(0,n.getCurrentLocation)().replace(a.toString())},x=(e=null,o=null,t=null)=>{v(e,null,null,o,t)},D=()=>{const e=(0,n.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const o=Buffer.allocUnsafe(e);if(!O)return a;if(e>0)if(e>S)for(let t=0;t<e;t+=S)O.getRandomValues(o.slice(t,t+S));else O.getRandomValues(o);return o})(64));return{codeVerifier:e,codeChallenge:((e,o="hex")=>{let t=g();return"Base64url"===o&&(t=w()),f()(e).toString(t)})(e,"Base64url"),createdAt:new Date}},F=async(e,o=null)=>{let t=W(),r=Q(),i=(0,n.getAuthCallback)(),a=JSON.parse((0,n.getFromLocalStorage)(P,!0));null!=o&&(i+=`?BackUrl=${encodeURI(o)}`);const l={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(r),redirect_uri:encodeURI(i)};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(l)}).catch((function(e){console.log("Request failed:",e.message)})),o=await e.json();let{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:c,error_description:s}=o;return{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:c,error_description:s}}catch(e){console.log(e)}},M=async()=>{if(await(0,n.retryPromise)((()=>I.acquireLock(m,5e3)),10))try{let e=q();if(!e)throw Error(T.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e;K(null,0,r)}finally{await I.releaseLock(m)}},j=async()=>{if(await(0,n.retryPromise)((()=>I.acquireLock(m,5e3)),10))try{let e=q();if(!e)throw Error(T.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=V(),a=Math.floor(Date.now()/1e3);if(t-=A,a-n>t||null==o){if(console.log("getAccessToken access token expired"),i===k&&J()){if(!r)throw $(),Error(T.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await G(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),K(o,t,n),o}throw $(),Error(T.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)}return o}finally{await I.releaseLock(m)}throw Error(T.AUTH_ERROR_LOCK_ACQUIRE_ERROR)},G=async e=>{let o=W(),t=Q();const r={grant_type:"refresh_token",client_id:encodeURI(t),refresh_token:e};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{if(400===e.status){(0,n.getCurrentPathName)();throw(0,n.setSessionClearingState)(!0),Error(`${T.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`${T.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${e.message}`)})),t=await e.json();let{access_token:i,refresh_token:a,expires_in:l}=t;return{access_token:i,refresh_token:a,expires_in:l}}catch(e){throw console.log(e),e}},K=(e,o,t=null,r=null)=>{let i=q(),a={accessToken:e,expiresIn:o,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===t&&i&&(t=i.refreshToken),null===r&&i&&(r=i.idToken),t&&(a.refreshToken=t),r&&(a.idToken=r),(0,n.putOnLocalStorage)(L,JSON.stringify(a))},q=()=>{try{let e=(0,n.getFromLocalStorage)(L,!1);return e?JSON.parse(e):null}catch(e){return null}},$=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(L),(0,n.removeFromLocalStorage)(N),void(0,n.removeFromLocalStorage)(P)},B=()=>{if("undefined"!=typeof window){const e=q();return e?e.idToken:null}return null},Q=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,V=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",J=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),W=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,X=()=>"undefined"!=typeof window?window.SCOPES:null,z=()=>{(0,n.getCurrentLocation)().replace(b(B()).toString())},Y=(e,o,t)=>{let r=new(_())({issuer:o,audience:t}),i=(0,n.getFromLocalStorage)(N,!0),a=r.decode(e),l=(a.header.alg,a.header.kid,a.payload.aud),c=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&l==t&&c==o},Z=e=>{let o=Q(),t=X(),r=H(16);(0,n.putOnLocalStorage)(N,r);let i=W(),a=d()(`${i}/oauth2/auth`),l={response_type:"otp",scope:encodeURI(t),nonce:r,client_id:encodeURI(o),connection:e.connection||"email",send:e.send||"code"};return e.hasOwnProperty("email")&&(l.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(l.phone_number=encodeURIComponent(e.phone_number)),e.hasOwnProperty("redirect_uri")&&(l.redirect_uri=encodeURIComponent(e.redirect_uri)),y.post(a.toString()).send(l).then((e=>{let o=e.body;return Promise.resolve({response:o})})).catch((e=>Promise.reject(e)))},ee=e=>o=>{let t=Q(),n=X(),r=W(),i=d()(`${r}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error(T.AUTH_ERROR_MISSING_OTP_PARAM);let a={grant_type:"passwordless",connection:e.connection||"email",scope:encodeURI(n),client_id:encodeURI(t),otp:e.otp};return e.hasOwnProperty("email")&&(a.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(a.phone_number=encodeURIComponent(e.phone_number)),y.post(i.toString()).send(a).then((e=>{try{let n=e.body,{access_token:i,expires_in:a,refresh_token:l,id_token:c}=n;if(void 0===l&&(l=null),void 0===c&&(c=null),c&&!Y(c,r,t))throw Error(T.AUTH_ERROR_ID_TOKEN_INVALID);return K(i,a,l,c),o&&o({type:p.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))},oe=(e=null)=>()=>{e||(e=Math.floor(Date.now()/1e3));const o=B();if(!o)throw Error("Id Token not set.");const t=W(),n=Q();return new(_())({issuer:t,audience:n}).decode(o).payload.exp-(e+A)>0}},4054:(e,o,t)=>{t(3838),t(4824),t(6530),t(271),t(4656),t(6793),t(4341),t(8576);const n=e=>o=>({type:e,payload:o});n("RESET_LOADING"),n("START_LOADING"),n("STOP_LOADING")},6793:(e,o,t)=>{t.d(o,{base64URLEncode:()=>u,getAuthCallback:()=>n,getCurrentLocation:()=>r,getCurrentPathName:()=>a,getFromLocalStorage:()=>c,getOrigin:()=>i,putOnLocalStorage:()=>l,removeFromLocalStorage:()=>s,retryPromise:()=>_,setSessionClearingState:()=>d});t(8362),t(6530);const n=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,r=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},i=()=>"undefined"!=typeof window?window.location.origin:null,a=()=>"undefined"!=typeof window?window.location.pathname:null,l=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},c=(e,o)=>{if("undefined"!=typeof window){let t=window.localStorage.getItem(e);return o&&(console.log(`getFromLocalStorage removing key ${e}`),s(e)),t}return null},s=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},u=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),_=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},8779:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},3838:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var i=o[n]={exports:{}};return e[n](i,i.exports,t),i.exports}return(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),t(8576)})()));