openstack-uicore-foundation 4.0.42 → 4.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/lib/components/attendance-tracker.js +1 -1
  2. package/lib/components/google-map.js +1 -1
  3. package/lib/components/index.js +1 -1
  4. package/lib/components/inputs/access-levels-input.js +1 -1
  5. package/lib/components/inputs/company-input.js +1 -1
  6. package/lib/components/inputs/country-dropdown.js +1 -1
  7. package/lib/components/inputs/country-input.js +1 -1
  8. package/lib/components/inputs/event-input.js +1 -1
  9. package/lib/components/inputs/group-input.js +1 -1
  10. package/lib/components/inputs/language-input.js +1 -1
  11. package/lib/components/inputs/member-input.js +1 -1
  12. package/lib/components/inputs/operator-input.js +1 -0
  13. package/lib/components/inputs/organization-input.js +1 -1
  14. package/lib/components/inputs/registration-company-input.js +1 -1
  15. package/lib/components/inputs/speaker-input.js +1 -1
  16. package/lib/components/inputs/sponsor-input.js +1 -1
  17. package/lib/components/inputs/summit-input.js +1 -1
  18. package/lib/components/inputs/tag-input.js +1 -1
  19. package/lib/components/inputs/ticket-types-input.js +1 -1
  20. package/lib/components/simple-link-list.js +1 -1
  21. package/lib/components/sponsored-project-input.js +1 -0
  22. package/lib/components/table-sortable.js +1 -1
  23. package/lib/components/table.js +1 -1
  24. package/lib/css/components/index.css +1 -1
  25. package/lib/security/abstract-auth-callback-route.js +1 -1
  26. package/lib/security/actions.js +1 -1
  27. package/lib/security/methods.js +1 -1
  28. package/lib/security/reducers.js +1 -1
  29. package/lib/security/session-checker.js +1 -1
  30. package/lib/utils/actions.js +1 -1
  31. package/lib/utils/query-actions.js +1 -1
  32. package/lib/utils/use-fit-text.js +1 -1
  33. package/package.json +1 -1
@@ -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={4341:(e,t,n)=>{n(4656),n(4054),n(6793),n(8576)},8576:(e,t,n)=>{n.d(t,{getAccessToken:()=>p});var r=n(6793);n(4824);const o=require("browser-tabs-lock");var a=n.n(o);n(6530),n(3856),n(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);const s=new(a()),c="openstackuicore.lock.getTokenSilently",i="code",l="authInfo",d="nonce",u="pkce",p=async()=>{if(await(0,r.retryPromise)((()=>s.acquireLock(c,5e3)),10))try{let e=m();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:n,accessTokenUpdatedAt:r,refreshToken:o}=e,a=w(),l=Math.floor(Date.now()/1e3);if(n-=20,l-r>n||null==t){if(console.log("getAccessToken access token expired"),a===i&&k()){if(!o)throw g(),Error("missing Refresh Token");let e=await h(o),{access_token:t,expires_in:n,refresh_token:r}=e;return void 0===r&&(r=null),f(t,n,r),t}throw g(),Error("Access Token Expired.")}return t}finally{await s.releaseLock(c)}throw Error("Lock acquire error.")},h=async e=>{let t=$(),n=y();const o={grant_type:"refresh_token",client_id:encodeURI(n),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),n=await e.json();let{access_token:a,refresh_token:s,expires_in:c}=n;return{access_token:a,refresh_token:s,expires_in:c}}catch(e){throw console.log(e),e}},f=(e,t,n=null,o=null)=>{let a=m(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===n&&a&&(n=a.refreshToken),null===o&&a&&(o=a.idToken),n&&(s.refreshToken=n),o&&(s.idToken=o),(0,r.putOnLocalStorage)(l,JSON.stringify(s))},m=()=>{try{let e=(0,r.getFromLocalStorage)(l,!1);return e?JSON.parse(e):null}catch(e){return null}},g=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(l),(0,r.removeFromLocalStorage)(d),void(0,r.removeFromLocalStorage)(u)},y=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,w=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",k=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),$=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,n)=>{n.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>i,fetchResponseHandler:()=>l});n(4824),n(6530);var r=n(271),o=n.n(r),a=n(4656),s=n.n(a);n(6793),n(4341),n(8576);const c=e=>t=>({type:e,payload:t}),i=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,n=e.statusText;switch(t){case 403:o().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:o().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:o().fire("ERROR",n,"warning");case 500:o().fire("ERROR",s().translate("errors.server_error"),"error")}}),l=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{buildAPIBaseUrl:()=>o,getCurrentPathName:()=>r,getFromLocalStorage:()=>s,putOnLocalStorage:()=>a,removeFromLocalStorage:()=>c,retryPromise:()=>l,setSessionClearingState:()=>i});n(8362),n(6530);const r=()=>"undefined"!=typeof window?window.location.pathname:null,o=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,a=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),n}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},i=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},l=async(e,t=3)=>{for(let n=0;n<t;n++)if(await e())return!0;return!1}},7525:(e,t,n)=>{n.d(t,{querySponsoredProjects:()=>u});var r=n(4054),o=n(8576),a=n(6793);const s=require("lodash");var c=n.n(s),i=n(6530),l=n.n(i);const d=500;c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`full_name=@${e},first_name=@${e},last_name=@${e},email=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1";e&&(c+=`/summits/${e}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${t},first_name=@${t},last_name=@${t},email=@${t}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c="/api/v1",i=encodeURIComponent(`tag=@${t}`);c+=e?`/summits/${e}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((t=>{let r=[...t.data];e&&(r=r.map((e=>e.tag))),n(r)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/tracks?filter=${c}&order=name&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();let c=(t=(0,r.escapeFilterValue)(t))?encodeURIComponent(`filter=name=@${t}`):"";fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/track-groups?order=name&access_token=${s}&${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n=!1,s)=>{const c=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let i=`/api/v1/summits/${e}/events`+(n?"/published":""),l=encodeURIComponent(`title=@${t}`);fetch((0,a.buildAPIBaseUrl)(`${i}?filter=${l}&order=title&access_token=${c}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n,s=null)=>{let c=`/api/v1/summits/${e}/event-types?order=name&access_token=${await(0,o.getAccessToken)()}`;if(t=(0,r.escapeFilterValue)(t)){c+=`&filter[]=${encodeURIComponent(`name=@${t}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,a.buildAPIBaseUrl)(c)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();let s=encodeURIComponent(`title=@${e},code=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{let s;try{s=await(0,o.getAccessToken)()}catch(e){return void n(e)}let c=l()(`/api/v1/summits/${e}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),t&&(t=(0,r.escapeFilterValue)(t),c.addQuery("filter[]",`name@@${t}`)),fetch((0,a.buildAPIBaseUrl)(c.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`company_name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t,n)=>{const s=await(0,o.getAccessToken)();t=(0,r.escapeFilterValue)(t);let c=encodeURIComponent(`name=@${t}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${e}/access-level-types?filter=${c}&&access_token=${s}`)).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d),c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)();e=(0,r.escapeFilterValue)(e);let s=encodeURIComponent(`name=@${e}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${n}`)).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d);c().debounce((async(e,t={},n,s="v1")=>{const c=await(0,o.getAccessToken)();let i=l()(`/api/${s}/summits/${e}/ticket-types`);if(i.addQuery("access_token",c),i.addQuery("order","name"),t.hasOwnProperty("name")){const e=(0,r.escapeFilterValue)(t.name);i.addQuery("filter[]",`name@@${e}`)}if(t.hasOwnProperty("audience")){const e=(0,r.escapeFilterValue)(t.audience);i.addQuery("filter[]",`audience==${e}`)}fetch((0,a.buildAPIBaseUrl)(i.toString())).then(r.fetchResponseHandler).then((e=>{let t=[...e.data];n(t)})).catch(r.fetchErrorHandler)}),d);const u=c().debounce((async(e,t)=>{const n=await(0,o.getAccessToken)(),s=l()("/api/v1/sponsored-projects");s.addQuery("access_token",n),e&&(e=(0,r.escapeFilterValue)(e),s.addQuery("filter[]",`name=@${e}`)),fetch((0,a.buildAPIBaseUrl)(s.toString())).then(r.fetchResponseHandler).then((e=>{let n=[...e.data];t(n)})).catch(r.fetchErrorHandler)}),d)},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},9953:e=>{e.exports=require("react-select/lib/Async")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{n.r(r),n.d(r,{default:()=>d});var e=n(6689),t=n.n(e),o=n(9953),a=n.n(o),s=n(7525);const c=["value","error","onChange","id","multi"];function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}class d extends t().Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this),this.getSponsoredProjects=this.getSponsoredProjects.bind(this)}handleChange(e){let t={target:{id:this.props.id,value:e,type:"sponsoredprojectinput"}};this.props.onChange(t)}getSponsoredProjects(e,t){if(!e)return Promise.resolve({options:[]});(0,s.querySponsoredProjects)(e,t)}render(){let e=this.props,{value:n,error:r,onChange:o,id:s,multi:d}=e,u=l(e,c),p=this.props.hasOwnProperty("multi"),h=this.props.hasOwnProperty("clearable"),f=this.props.hasOwnProperty("error")&&""!=r;return t().createElement("div",null,t().createElement(a(),i({value:n,onChange:this.handleChange,loadOptions:this.getSponsoredProjects,getOptionValue:e=>e.id,getOptionLabel:e=>`${e.name} (${e.id})`,isMulti:p,isClearable:h},u)),f&&t().createElement("p",{className:"error-label"},r))}}})(),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={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 a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var 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:()=>w});var e=r(6689),t=r.n(e),o=r(580),a=r.n(o);const i=require("immutability-helper");var s=r.n(i);const c=require("react-dnd"),l=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 p=d,u=e=>t().createElement("td",e,e.children);class m 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))))}}function h(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 y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?h(Object(r),!0).forEach((function(t){b(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function b(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const f=({text:r,even:n,id:o,index:a,moveCard:i,dropItem:s,children:l})=>{const d=(0,e.useRef)(null),[{handlerId:p},u]=(0,c.useDrop)({accept:"row",collect:e=>({handlerId:e.getHandlerId()}),drop:(e,t)=>s(o,a+1),hover(e,t){var r;if(!d.current)return;const n=e.index,o=a;if(n===o)return;const s=null===(r=d.current)||void 0===r?void 0:r.getBoundingClientRect(),c=(s.bottom-s.top)/2,l=t.getClientOffset().y-s.top;n<o&&l<c||n>o&&l>c||(i(n,o),e.index=o)}}),[{isDragging:m},h]=(0,c.useDrag)({type:"row",item:()=>({id:o,index:a}),collect:e=>({isDragging:e.isDragging()})}),b=m?0:1;return h(u(d)),t().createElement("tr",{id:o,ref:d,role:"row",className:n?"even":"odd",style:y(y({},{border:"1px dashed gray",padding:"0.5rem 1rem",marginBottom:".5rem",backgroundColor:"white",cursor:"move"}),{},{opacity:b})},l)};f.propTypes={index:a().number.isRequired,id:a().any.isRequired,moveCard:a().func.isRequired};const g=f;var v=r(4656),O=r.n(v);const E="",k=({data:r,options:n,columns:o,dropCallback:a})=>{const[i,d]=(0,e.useState)(r),h=(e,r,n,o)=>t().createElement(g,{even:o%2==0,key:e.id,index:o,id:e.id,moveCard:y,dropItem:b},((e,r,n)=>{var o=r.map(((r,n)=>t().createElement(u,{key:n},e[r.columnKey])));return n&&o.push(t().createElement(m,{key:"actions",id:e.id,actions:n})),o})(e,r,n.actions)),y=(e,t,r)=>{d((r=>s()(r,{$splice:[[e,1],[t,0,r[e]]]})))},b=(e,t)=>{a(i,e,t)};let f=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 "+f},t().createElement("thead",null,t().createElement("tr",null,o.map(((e,r)=>{let n=e.width?e.width:E;return t().createElement(p,{width:n,key:r},e.value)})),n.actions&&t().createElement(p,{key:"actions"},"Actions"))),t().createElement("tbody",null,o.length>0&&i.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(c.DndProvider,{backend:l.HTML5Backend},h(e,o,n,r)))))))};k.propTypes={data:a().array.isRequired,options:a().shape({className:a().string,actions:a().object}).isRequired,columns:a().arrayOf(a().shape({columnKey:a().string.isRequired,value:a().any.isRequired})).isRequired,dropCallback:a().func.isRequired};const w=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:()=>a});var n=r(6689),o=r.n(n);const a=({children:e,className:t=""})=>o().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:null==e?void 0:e.replace(/\n/g,"<br />")}})},4391:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(6689),o=r.n(n),a=r(418);const i=e=>{let{children:t}=e,r="";return t&&(r=o().isValidElement(t)?t:o().createElement(a.default,null,t.toString())),o().createElement("td",e,r)}},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 a=t[n]={exports:{}};return e[n](a,a.exports,r),a.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var 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),a=r.n(o);const i=require("immutability-helper");var l=r.n(i);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))))}}function m(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 h(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?m(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):m(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const f=({text:r,even:n,id:o,index:a,moveCard:i,dropItem:l,children:c})=>{const d=(0,e.useRef)(null),[{handlerId:u},p]=(0,s.useDrop)({accept:"row",collect:e=>({handlerId:e.getHandlerId()}),drop:(e,t)=>l(o,a+1),hover(e,t){var r;if(!d.current)return;const n=e.index,o=a;if(n===o)return;const l=null===(r=d.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||(i(n,o),e.index=o)}}),[{isDragging:m},y]=(0,s.useDrag)({type:"row",item:()=>({id:o,index:a}),collect:e=>({isDragging:e.isDragging()})}),f=m?0:1;return y(p(d)),t().createElement("tr",{id:o,ref:d,role:"row",className:n?"even":"odd",style:h(h({},{border:"1px dashed gray",padding:"0.5rem 1rem",marginBottom:".5rem",backgroundColor:"white",cursor:"move"}),{},{opacity:f})},c)};f.propTypes={index:a().number.isRequired,id:a().any.isRequired,moveCard:a().func.isRequired};const b=f;var g=r(4656),v=r.n(g),O=r(4391);const E="",w=({data:r,options:n,columns:o,dropCallback:a})=>{const[i,d]=(0,e.useState)(r),m=(e,r,n,o)=>t().createElement(b,{even:o%2==0,key:e.id,index:o,id:e.id,moveCard:h,dropItem:y},((e,r,n)=>{let o=r.map(((r,n)=>r.hasOwnProperty("render")?t().createElement(O.Z,{key:"cell_"+n,title:r.hasOwnProperty("title")?e[r.columnKey]:null},r.render(e,e[r.columnKey])):t().createElement(O.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)),h=(e,t,r)=>{d((r=>l()(r,{$splice:[[e,1],[t,0,r[e]]]})))},y=(e,t)=>{a(i,e,t)};let f=n.hasOwnProperty("className")?n.className:"";return t().createElement("div",{className:"sortable-table-box"},t().createElement("i",null,v().translate("general.drag_and_drop")),t().createElement("table",{className:"table table-striped table-hover sortableTable "+f},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&&i.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},m(e,o,n,r)))))))};w.propTypes={data:a().array.isRequired,options:a().shape({className:a().string,actions:a().object}).isRequired,columns:a().arrayOf(a().shape({columnKey:a().string.isRequired,value:a().any.isRequired})).isRequired,dropCallback:a().func.isRequired};const k=w})(),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={418:(e,t,r)=>{r.d(t,{default:()=>s});var o=r(6689),n=r.n(o);const s=({children:e,className:t=""})=>n().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:null==e?void 0:e.replace(/\n/g,"<br />")}})},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},2076:e=>{e.exports=require("react-tooltip")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};return(()=>{r.r(o),r.d(o,{default:()=>b});var e=r(6689),t=r.n(e),n=r(580),s=r.n(n);class l extends t().Component{constructor(e){super(e),this.handleSort=this.handleSort.bind(this)}getSortClass(){if(!this.props.sortable)return null;switch(this.props.sortDir){case 1:return"sorting_asc";case-1:return"sorting_desc";default:return this.props.sortable?"sorting":null}}handleSort(e){e.preventDefault(),this.props.hasOwnProperty("onSort")&&this.props.sortable&&this.props.onSort(this.props.columnIndex,this.props.columnKey,this.props.sortDir?-1*this.props.sortDir:1,this.props.sortFunc)}render(){return t().createElement("th",{onClick:this.handleSort,className:this.getSortClass(),width:this.props.width},this.props.children)}}l.propTypes={onSort:s().func,sortDir:s().number,columnIndex:s().number,columnKey:s().any,sortable:s().bool,sortFunc:s().func};const a=l;var i=r(418);const c=e=>{let{children:r}=e,o="";return r&&(o=t().isValidElement(r)?r:t().createElement(i.default,null,r.toString())),t().createElement("td",e,o)};class d extends t().Component{constructor(e){super(e),this.handleEdit=this.handleEdit.bind(this)}shouldDisplayAction(e){let{id:t}=this.props;return!e.hasOwnProperty("display")||e.display(t)}handleEdit(e,t){t.stopPropagation(),t.preventDefault(),this.props.actions.edit.onClick(e)}render(){let{even:e,actions:r,id:o,children:n}=this.props,s=e?"even":"odd";return r.hasOwnProperty("edit")&&this.shouldDisplayAction(r.edit)?t().createElement("tr",{role:"row",className:s+" can-edit",onClick:this.handleEdit.bind(this,o)},n):t().createElement("tr",{role:"row",className:s},n)}}class p extends t().Component{constructor(e){super(e),this.handleAction=this.handleAction.bind(this),this.shouldDisplayAction=this.shouldDisplayAction.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("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"})),e.hasOwnProperty("custom")&&e.custom.map((e=>this.shouldDisplayAction(e)&&t().createElement("a",{href:"","data-tip":e.tooltip,key:"custom_"+e.name,onClick:this.handleAction.bind(this,e.onClick,r)},e.icon))))}}var h=r(2076),u=r.n(h);const m={sortFunc:(e,t)=>e<t?-1:e>t?1:0,sortable:!1,sortCol:0,sortDir:1,colWidth:""},y=(e,t,r,o)=>e&&e===r||r===t?o:null,b=e=>{let{options:r,columns:o}=e,n=r.hasOwnProperty("className")?r.className:"";return n+=r.actions.hasOwnProperty("edit")?" table-hover":"",t().createElement("div",null,t().createElement("table",{className:"table table-striped dataTable "+n},t().createElement("thead",null,t().createElement("tr",null,o.map(((o,n)=>{let s=void 0!==r.sortCol?r.sortCol:m.sortCol,l=void 0!==r.sortDir?r.sortDir:m.sortDir,i=void 0!==r.sortFunc?r.sortFunc:m.sortFunc,c=void 0!==o.sortable?o.sortable:m.sortable,d=void 0!==o.width?o.width:m.colWidth;return t().createElement(a,{onSort:e.onSort,sortDir:y(o.columnKey,n,s,l),sortable:c,sortFunc:i,columnIndex:n,columnKey:o.columnKey,width:d,key:"heading_"+n},o.value)})),r.actions&&t().createElement(a,{key:"actions_heading"},r.actionsHeader||" "))),t().createElement("tbody",null,o.length>0&&e.data.map(((e,n)=>Array.isArray(e)&&e.length!==o.length?(console.warn(`Data at row ${n} is ${e.length}. It should be ${o.length}.`),t().createElement("tr",{key:"row_"+n})):t().createElement(d,{even:n%2==0,key:"row_"+n,id:e.id,actions:r.actions},((e,r,o)=>{var n=r.map(((r,o)=>r.hasOwnProperty("render")?t().createElement(c,{key:"cell_"+o},r.render(e,e[r.columnKey])):t().createElement(c,{key:"cell_"+o,title:r.hasOwnProperty("title")?e[r.columnKey]:null},e[r.columnKey])));return o&&n.push(t().createElement(p,{key:"actions_cell",id:e.id,actions:o})),n})(e,o,r.actions)))))),t().createElement(u(),{delayShow:10}))}})(),o})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={418:(e,t,r)=>{r.d(t,{default:()=>s});var o=r(6689),n=r.n(o);const s=({children:e,className:t=""})=>n().createElement("span",{className:t,dangerouslySetInnerHTML:{__html:null==e?void 0:e.replace(/\n/g,"<br />")}})},4391:(e,t,r)=>{r.d(t,{Z:()=>l});var o=r(6689),n=r.n(o),s=r(418);const l=e=>{let{children:t}=e,r="";return t&&(r=n().isValidElement(t)?t:n().createElement(s.default,null,t.toString())),n().createElement("td",e,r)}},580:e=>{e.exports=require("prop-types")},6689:e=>{e.exports=require("react")},2076:e=>{e.exports=require("react-tooltip")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};return(()=>{r.r(o),r.d(o,{default:()=>y});var e=r(6689),t=r.n(e),n=r(580),s=r.n(n);class l extends t().Component{constructor(e){super(e),this.handleSort=this.handleSort.bind(this)}getSortClass(){if(!this.props.sortable)return null;switch(this.props.sortDir){case 1:return"sorting_asc";case-1:return"sorting_desc";default:return this.props.sortable?"sorting":null}}handleSort(e){e.preventDefault(),this.props.hasOwnProperty("onSort")&&this.props.sortable&&this.props.onSort(this.props.columnIndex,this.props.columnKey,this.props.sortDir?-1*this.props.sortDir:1,this.props.sortFunc)}render(){return t().createElement("th",{onClick:this.handleSort,className:this.getSortClass(),width:this.props.width},this.props.children)}}l.propTypes={onSort:s().func,sortDir:s().number,columnIndex:s().number,columnKey:s().any,sortable:s().bool,sortFunc:s().func};const a=l;var i=r(4391);class c extends t().Component{constructor(e){super(e),this.handleEdit=this.handleEdit.bind(this)}shouldDisplayAction(e){let{id:t}=this.props;return!e.hasOwnProperty("display")||e.display(t)}handleEdit(e,t){t.stopPropagation(),t.preventDefault(),this.props.actions.edit.onClick(e)}render(){let{even:e,actions:r,id:o,children:n}=this.props,s=e?"even":"odd";return r.hasOwnProperty("edit")&&this.shouldDisplayAction(r.edit)?t().createElement("tr",{role:"row",className:s+" can-edit",onClick:this.handleEdit.bind(this,o)},n):t().createElement("tr",{role:"row",className:s},n)}}class d extends t().Component{constructor(e){super(e),this.handleAction=this.handleAction.bind(this),this.shouldDisplayAction=this.shouldDisplayAction.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("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"})),e.hasOwnProperty("custom")&&e.custom.map((e=>this.shouldDisplayAction(e)&&t().createElement("a",{href:"","data-tip":e.tooltip,key:"custom_"+e.name,onClick:this.handleAction.bind(this,e.onClick,r)},e.icon))))}}var p=r(2076),h=r.n(p);const u={sortFunc:(e,t)=>e<t?-1:e>t?1:0,sortable:!1,sortCol:0,sortDir:1,colWidth:""},m=(e,t,r,o)=>e&&e===r||r===t?o:null,y=e=>{let{options:r,columns:o}=e,n=r.hasOwnProperty("className")?r.className:"";return n+=r.actions.hasOwnProperty("edit")?" table-hover":"",t().createElement("div",null,t().createElement("table",{className:"table table-striped dataTable "+n},t().createElement("thead",null,t().createElement("tr",null,o.map(((o,n)=>{let s=void 0!==r.sortCol?r.sortCol:u.sortCol,l=void 0!==r.sortDir?r.sortDir:u.sortDir,i=void 0!==r.sortFunc?r.sortFunc:u.sortFunc,c=void 0!==o.sortable?o.sortable:u.sortable,d=void 0!==o.width?o.width:u.colWidth;return t().createElement(a,{onSort:e.onSort,sortDir:m(o.columnKey,n,s,l),sortable:c,sortFunc:i,columnIndex:n,columnKey:o.columnKey,width:d,key:"heading_"+n},o.value)})),r.actions&&t().createElement(a,{key:"actions_heading"},r.actionsHeader||" "))),t().createElement("tbody",null,o.length>0&&e.data.map(((e,n)=>Array.isArray(e)&&e.length!==o.length?(console.warn(`Data at row ${n} is ${e.length}. It should be ${o.length}.`),t().createElement("tr",{key:"row_"+n})):t().createElement(c,{even:n%2==0,key:"row_"+n,id:e.id,actions:r.actions},((e,r,o)=>{var n=r.map(((r,o)=>r.hasOwnProperty("render")?t().createElement(i.Z,{key:"cell_"+o},r.render(e,e[r.columnKey])):t().createElement(i.Z,{key:"cell_"+o,title:r.hasOwnProperty("title")?e[r.columnKey]:null},e[r.columnKey])));return o&&n.push(t().createElement(d,{key:"actions_cell",id:e.id,actions:o})),n})(e,o,r.actions)))))),t().createElement(h(),{delayShow:10}))}})(),o})()));
@@ -1,3 +1,3 @@
1
1
  /*!
2
2
  * https://github.com/YouCanBookMe/react-datetime
3
- */.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}
3
+ */.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}.extra-question-error{color:red;display:block;font-size:12px;font-weight:700;margin:auto 0;padding:0}.extra-question-error:before{content:"\f071";font-family:FontAwesome;padding-right:5px}.questions-form{padding-bottom:5em}.questions-form h4{font-size:12pt}.questions-form .abc-checkbox{padding:0!important}.questions-form .form-check-label{font-weight:400!important}input:invalid{border-color:red!important}
@@ -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(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",O="nonce",b="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(),a=(0,r.getAuthCallback)(),s=x(),l=j(),d=E();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=S(16);(0,r.putOnLocalStorage)(O,u);let p=c()(`${s}/oauth2/auth`),_={response_type:encodeURI(d),scope:encodeURI(l),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(a)};if(d===m){const e=T();(0,r.putOnLocalStorage)(b,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)(),a=JSON.parse((0,r.getFromLocalStorage)(b,!0));null!=t&&(i+=`?BackUrl=${encodeURI(t)}`);const s={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(n),redirect_uri:encodeURI(i)};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(s)}).catch((function(e){console.log("Request failed:",e.message)})),t=await e.json();let{access_token:r,refresh_token:n,id_token:i,expires_in:a,error:c,error_description:l}=t;return{access_token:r,refresh_token:n,id_token:i,expires_in:a,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)(O,!0),a=n.decode(e),s=(a.header.alg,a.header.kid,a.payload.aud),c=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&s==o&&c==t}},4054:(e,t,o)=>{o(4824),o(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:()=>a,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>c,putOnLocalStorage:()=>s});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,a=()=>"undefined"!=typeof window?window.location.href:null,s=(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,"")},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:()=>p});const e=require("react");var t=o.n(e),n=o(6530),i=o.n(n),a=o(8576),s=o(6793);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 l(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){d(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class u extends t().Component{constructor(e,t,o){super(o),this.state={id_token_is_valid:!0,error:null,error_description:null,issuer:e,audience:t,accessToken:null,flow:(0,a.getOAuth2Flow)()}}_implicitFlow(){const{access_token:e,id_token:t,session_state:o,error:r,error_description:n,expires_in:i}=this.extractHashParams();if(r)return void this.setState(l(l({},this.state),{},{error:r,error_description:n}));if(!e)return void(0,a.doLogin)((0,s.getCurrentPathName)());const c=!!t&&(0,a.validateIdToken)(t,this.state.issuer,this.state.audience);this.setState(l(l({},this.state),{},{id_token_is_valid:c,error:c?null:"Invalid Token",error_description:c?null:"Invalid Token",accessToken:e})),e&&c&&(this.props.onUserAuth(e,t,o,i),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_implicitFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:e,id_token:t,session_state:o,expires_in:i}),window.location.origin)))}_codeFlow(){const{code:e,session_state:t,error:o,error_description:r}=this.extractHashParams();if(o)return void this.setState(l(l({},this.state),{},{error:o,error_description:r}));if(!e)return void(0,a.doLogin)((0,s.getCurrentPathName)());let n=i()((0,s.getCurrentHref)()).search(!0),c=n.hasOwnProperty("BackUrl")?n.BackUrl:null;(0,a.emitAccessToken)(e,c).then((e=>{let{id_token:n,access_token:i,refresh_token:s,expires_in:c,error:d,error_description:u}=e;if(d)return void this.setState(l(l({},this.state),{},{error:d,error_description:u}));const p=!!n&&(0,a.validateIdToken)(n,this.state.issuer,this.state.audience);this.setState(l(l({},this.state),{},{id_token_is_valid:p,accessToken:i,error:p?o:"Invalid Token",error_description:p?r:"Invalid Token"})),i&&p&&(this.props.onUserAuth(i,n,t,c,s),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_codeFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:i,id_token:n,session_state:t,expires_in:c,refresh_token:s}),window.location.origin)))}))}componentDidMount(){let{flow:e}=this.state;e!==a.RESPONSE_TYPE_IMPLICIT?e===a.RESPONSE_TYPE_CODE&&this._codeFlow():this._implicitFlow()}extractHashParams(){return i().parseQuery(this.props.location.hash.substr(1))}shouldComponentUpdate(e,t,o){return t.accessToken!==this.state.accessToken||(t.error!==this.state.error||t.id_token_is_valid!==this.state.id_token_is_valid)}componentDidUpdate(e,t,o){if(t.accessToken!==this.state.accessToken){let e=i()((0,s.getCurrentHref)()),t=e.search(!0),o=i().parseQuery(e.fragment());delete o.code,delete o.access_token,delete o.expires_in,delete o.token_type,delete o.scope,delete o.id_token,delete o.session_state;let r=t.hasOwnProperty("BackUrl")?t.BackUrl:"/app";o.lenght>0&&(r+=`#${i().buildQuery(o)}`),this._callback(r)}}_callback(e){}_redirect2Error(e){}render(){let{id_token_is_valid:e,error:t,error_description:o}=this.state;return null!=t?this._redirect2Error(`${t} - ${o}.`):e?null:this._redirect2Error("Token Validation Error - Token is invalid.")}}const p=u})(),r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,o)=>{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",O="nonce",b="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(),a=(0,r.getAuthCallback)(),s=x(),l=j(),d=E();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=S(16);(0,r.putOnLocalStorage)(O,u);let p=c()(`${s}/oauth2/auth`),_={response_type:encodeURI(d),scope:encodeURI(l),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(a)};if(d===m){const e=T();(0,r.putOnLocalStorage)(b,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)(),a=JSON.parse((0,r.getFromLocalStorage)(b,!0));null!=t&&(i+=`?BackUrl=${encodeURI(t)}`);const s={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(n),redirect_uri:encodeURI(i)};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(s)}).catch((function(e){console.log("Request failed:",e.message)})),t=await e.json();let{access_token:r,refresh_token:n,id_token:i,expires_in:a,error:c,error_description:l}=t;return{access_token:r,refresh_token:n,id_token:i,expires_in:a,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)(O,!0),a=n.decode(e),s=(a.header.alg,a.header.kid,a.payload.aud),c=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&s==o&&c==t}},4054:(e,t,o)=>{o(4824),o(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:()=>a,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>c,putOnLocalStorage:()=>s});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,a=()=>"undefined"!=typeof window?window.location.href:null,s=(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,"")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},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:()=>p});var e=o(6689),t=o.n(e),n=o(6530),i=o.n(n),a=o(8576),s=o(6793);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 l(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){d(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):c(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function d(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}class u extends t().Component{constructor(e,t,o){super(o),this.state={id_token_is_valid:!0,error:null,error_description:null,issuer:e,audience:t,accessToken:null,flow:(0,a.getOAuth2Flow)()}}_implicitFlow(){const{access_token:e,id_token:t,session_state:o,error:r,error_description:n,expires_in:i}=this.extractHashParams();if(r)return void this.setState(l(l({},this.state),{},{error:r,error_description:n}));if(!e)return void(0,a.doLogin)((0,s.getCurrentPathName)());const c=!!t&&(0,a.validateIdToken)(t,this.state.issuer,this.state.audience);this.setState(l(l({},this.state),{},{id_token_is_valid:c,error:c?null:"Invalid Token",error_description:c?null:"Invalid Token",accessToken:e})),e&&c&&(this.props.onUserAuth(e,t,o,i),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_implicitFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:e,id_token:t,session_state:o,expires_in:i}),window.location.origin)))}_codeFlow(){const{code:e,session_state:t,error:o,error_description:r}=this.extractHashParams();if(o)return void this.setState(l(l({},this.state),{},{error:o,error_description:r}));if(!e)return void(0,a.doLogin)((0,s.getCurrentPathName)());let n=i()((0,s.getCurrentHref)()).search(!0),c=n.hasOwnProperty("BackUrl")?n.BackUrl:null;(0,a.emitAccessToken)(e,c).then((e=>{let{id_token:n,access_token:i,refresh_token:s,expires_in:c,error:d,error_description:u}=e;if(d)return void this.setState(l(l({},this.state),{},{error:d,error_description:u}));const p=!!n&&(0,a.validateIdToken)(n,this.state.issuer,this.state.audience);this.setState(l(l({},this.state),{},{id_token_is_valid:p,accessToken:i,error:p?o:"Invalid Token",error_description:p?r:"Invalid Token"})),i&&p&&(this.props.onUserAuth(i,n,t,c,s),"undefined"!=typeof window&&window.location!==window.parent.location&&(console.log("AbstractAuthorizationCallbackRoute::_codeFlow running inside iframe, sending auth state to parent"),window.parent.postMessage(JSON.stringify({action:"SET_AUTH_INFO_SILENTLY",access_token:i,id_token:n,session_state:t,expires_in:c,refresh_token:s}),window.location.origin)))}))}componentDidMount(){let{flow:e}=this.state;e!==a.RESPONSE_TYPE_IMPLICIT?e===a.RESPONSE_TYPE_CODE&&this._codeFlow():this._implicitFlow()}extractHashParams(){return i().parseQuery(this.props.location.hash.substr(1))}shouldComponentUpdate(e,t,o){return t.accessToken!==this.state.accessToken||(t.error!==this.state.error||t.id_token_is_valid!==this.state.id_token_is_valid)}componentDidUpdate(e,t,o){if(t.accessToken!==this.state.accessToken){let e=i()((0,s.getCurrentHref)()),t=e.search(!0),o=i().parseQuery(e.fragment());delete o.code,delete o.access_token,delete o.expires_in,delete o.token_type,delete o.scope,delete o.id_token,delete o.session_state;let r=t.hasOwnProperty("BackUrl")?t.BackUrl:"/app";o.lenght>0&&(r+=`#${i().buildQuery(o)}`),this._callback(r)}}_callback(e){}_redirect2Error(e){}render(){let{id_token_is_valid:e,error:t,error_description:o}=this.state;return null!=t?this._redirect2Error(`${t} - ${o}.`):e?null:this._redirect2Error("Token Validation Error - Token is invalid.")}}const p=u})(),r})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,o)=>{o.r(t),o.d(t,{CLEAR_SESSION_STATE:()=>w,LOGOUT_USER:()=>p,RECEIVE_USER_INFO:()=>g,REQUEST_USER_INFO:()=>f,SESSION_STATE_STATUS_CHANGED:()=>y,SESSION_STATE_STATUS_ERROR:()=>h,SESSION_STATE_STATUS_UNCHANGED:()=>_,SET_LOGGED_USER:()=>d,UPDATE_SESSION_STATE_STATUS:()=>S,UPDATE_USER_INFO:()=>E,doLogout:()=>m,getUserInfo:()=>T,onUserAuth:()=>O,updateSessionStateStatus:()=>A,updateUserInfo:()=>b});var r=o(4656),n=o.n(r),s=o(4054),i=o(6793),a=o(8576);function l(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function u(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?l(Object(o),!0).forEach((function(t){c(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function c(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const d="SET_LOGGED_USER",p="LOGOUT_USER",f="REQUEST_USER_INFO",g="RECEIVE_USER_INFO",w="CLEAR_SESSION_STATE",S="UPDATE_SESSION_STATE_STATUS",_="unchanged",y="changed",h="error",E="UPDATE_USER_INFO",O=(e,t,o,r=0,n=null)=>s=>{(0,a.storeAuthInfo)(e,r,n,t),s({type:d,payload:{sessionState:o}})},m=e=>(t,o)=>{t({type:p,payload:{backUrl:e}})},T=(e="groups",t="",o=null,r=null,l=null)=>async(u,c)=>{let d=(0,i.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:p}=c(),{member:w}=p,S=await(0,a.getAccessToken)();if(null!=w)return null!=r&&null!=o&&r.push(o),Promise.resolve();null==l&&(l=s.authErrorHandler),u((0,s.startLoading)());let _={access_token:S,expand:e};return t&&(_.fields=t),(0,s.getRequest)((0,s.createAction)(f),(0,s.createAction)(g),(0,i.buildAPIBaseUrl)("/api/v1/members/me"),l)(_)(u,c).then((()=>{u((0,s.stopLoading)());let{member:e}=c().loggedUserState;if(null==e){let e={title:"ERROR",html:n().translate("errors.user_not_set"),type:"error"};u((0,s.showMessage)(e,a.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:n().translate("errors.user_not_authz"),type:"error"};return void u((0,s.showMessage)(e,a.initLogOut))}}null!=r&&null!=o&&r.push(o)}))},b=e=>(t,o)=>{let{loggedUserState:r}=o(),{member:n}=r;if(null==n)throw Error("Member is not set.");if(e.id!=n.id)throw Error("Member is not the same.");t({type:E,payload:u({},e)})},A=e=>(t,o)=>{t({type:S,payload:{sessionStateStatus:e}})}},8576:(e,t,o)=>{o.d(t,{doLogin:()=>b,getAccessToken:()=>R,initLogOut:()=>C,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 f=require("crypto-js/enc-hex");var g=o.n(f);const w=65536,S="undefined"!=typeof window?window.crypto||window.msCrypto:null;const _=new(s()),y="openstackuicore.lock.getTokenSilently",h="code",E="authInfo",O="nonce",m="pkce",T=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},b=(e=null,t=null,o=null)=>{let n=((e=null,t=null,o=null,n=null)=>{let s=v(),i=(0,r.getAuthCallback)(),a=j(),u=x(),c=P();null!=e&&(i+=`?BackUrl=${encodeURI(e)}`);let d=T(16);(0,r.putOnLocalStorage)(O,d);let p=l()(`${a}/oauth2/auth`),f={response_type:encodeURI(c),scope:encodeURI(u),nonce:d,response_mode:"fragment",client_id:encodeURI(s),redirect_uri:encodeURI(i)};if(c===h){const e=A();(0,r.putOnLocalStorage)(m,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return t&&(f.prompt=t),u&&u.includes("offline_access")&&(f.prompt="consent"),o&&(f.id_token_hint=o),n&&(f.provider=n),p=p.query(f),p})(e,o,null,t);(0,r.getCurrentLocation)().replace(n.toString())},A=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!S)return a;if(e>0)if(e>w)for(let o=0;o<e;o+=w)S.getRandomValues(t.slice(o,o+w));else S.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=g();return"Base64url"===t&&(o=p()),c()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},R=async()=>{if(await(0,r.retryPromise)((()=>_.acquireLock(y,5e3)),10))try{let e=L();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,s=P(),i=Math.floor(Date.now()/1e3);if(o-=20,i-r>o||null==t){if(console.log("getAccessToken access token expired"),s===h&&N()){if(!n)throw I(),Error("missing Refresh Token");let e=await U(n),{access_token:t,expires_in:o,refresh_token:r}=e;return void 0===r&&(r=null),k(t,o,r),t}throw I(),Error("Access Token Expired.")}return t}finally{await _.releaseLock(y)}throw Error("Lock acquire error.")},U=async e=>{let t=j(),o=v();const n={grant_type:"refresh_token",client_id:encodeURI(o),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),o=await e.json();let{access_token:s,refresh_token:i,expires_in:a}=o;return{access_token:s,refresh_token:i,expires_in:a}}catch(e){throw console.log(e),e}},k=(e,t,o=null,n=null)=>{let s=L(),i={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&s&&(o=s.refreshToken),null===n&&s&&(n=s.idToken),o&&(i.refreshToken=o),n&&(i.idToken=n),(0,r.putOnLocalStorage)(E,JSON.stringify(i))},L=()=>{let e=(0,r.getFromLocalStorage)(E,!1);return null===e?null:JSON.parse(e)},I=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(E),(0,r.removeFromLocalStorage)(O),void(0,r.removeFromLocalStorage)(m)},v=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,P=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",N=()=>"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,C=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=j(),o=v(),n=l()(`${t}/oauth2/end-session`),s=T(16),i=(0,r.getOrigin)()+"/auth/logout";return(0,r.putOnLocalStorage)("post_logout_state",s),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:s})})((()=>{if("undefined"!=typeof window){const e=L();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,o)=>{o.d(t,{authErrorHandler:()=>E,createAction:()=>w,getRequest:()=>O,showMessage:()=>b,startLoading:()=>S,stopLoading:()=>_});var r=o(4824),n=o.n(r),s=o(6530),i=o.n(s),a=o(271),l=o.n(a),u=o(4656),c=o.n(u),d=o(6793),p=o(4341),f=o(8576);let g=n();const w=e=>t=>({type:e,payload:t}),S=(w("RESET_LOADING"),w("START_LOADING")),_=w("STOP_LOADING"),y={},h=e=>0===Object.keys(e).length&&e.constructor===Object,E=(e,t)=>(t,o)=>{let r=e.status,n="";switch(t(_()),r){case 403:let o={title:"ERROR",html:c().translate("errors.user_not_authz"),type:"error"};t(b(o,f.initLogOut));break;case 401:let r=(0,d.getCurrentPathName)(),a=(0,d.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),a||((0,d.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,f.doLogin)(r));break;case 404:n="",n=e.response.body&&e.response.body.message?e.response.body.message:e.response.error&&e.response.error.message?e.response.error.message:e.message,l().fire("Not Found",n,"warning");break;case 412:for(var[s,i]of Object.entries(e.response.body.errors))isNaN(s)&&(n+=s+": "),n+=i+"<br>";l().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:l().fire("ERROR",c().translate("errors.server_error"),"error")}},O=(e,t,o,r=m,n={})=>(s={})=>(a,l)=>{let u=i()(o);h(s)||(u=u.query(s));let c=u.toString();return e&&"function"==typeof e&&a(e(n)),(e=>{y[e]&&(y[e].abort(),console.log(`aborted request ${e}`),delete y[e])})(c),new Promise(((e,o)=>{let n=g.get(u.toString()).timeout({response:6e4,deadline:6e4}).end(T(a,l,t,r,e,o));((e,t)=>{y[e]=t})(c,n)}))},m=(e,t)=>e=>{let o=t.body,r="";o instanceof Object&&o.hasOwnProperty("message")&&(r=o.message),l().fire(t.statusText,r,"error")},T=(e,t,o,r,n,s)=>(i,a)=>{if(i||!a.ok)return r&&r(i,a)(e,t),s({err:i,res:a,dispatch:e,state:t});let l=a.body;return"function"==typeof o?(e(o({response:l})),n({response:l})):(e(o),n({response:l}))},b=(e,t={})=>o=>{o(_()),l().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))}},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>g,buildAPIBaseUrl:()=>l,getAllowedUserGroups:()=>a,getAuthCallback:()=>r,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>c,getOrigin:()=>s,isClearingSessionState:()=>p,putOnLocalStorage:()=>u,removeFromLocalStorage:()=>d,retryPromise:()=>w,setSessionClearingState:()=>f});o(8362),o(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},s=()=>"undefined"!=typeof window?window.location.origin:null,i=()=>"undefined"!=typeof window?window.location.pathname:null,a=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,l=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,u=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},c=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),d(e)),o}return null},d=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},p=()=>"undefined"!=typeof window&&window.clearing_session_state,f=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},g=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),w=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},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,r)=>{r.r(t),r.d(t,{CLEAR_SESSION_STATE:()=>w,LOGOUT_USER:()=>p,RECEIVE_USER_INFO:()=>g,REQUEST_USER_INFO:()=>f,SESSION_STATE_STATUS_CHANGED:()=>y,SESSION_STATE_STATUS_ERROR:()=>h,SESSION_STATE_STATUS_UNCHANGED:()=>_,SET_LOGGED_USER:()=>d,UPDATE_SESSION_STATE_STATUS:()=>S,UPDATE_USER_INFO:()=>E,doLogout:()=>m,getUserInfo:()=>T,onUserAuth:()=>O,updateSessionStateStatus:()=>A,updateUserInfo:()=>b});var o=r(4656),n=r.n(o),s=r(4054),i=r(6793),a=r(8576);function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){c(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const d="SET_LOGGED_USER",p="LOGOUT_USER",f="REQUEST_USER_INFO",g="RECEIVE_USER_INFO",w="CLEAR_SESSION_STATE",S="UPDATE_SESSION_STATE_STATUS",_="unchanged",y="changed",h="error",E="UPDATE_USER_INFO",O=(e,t,r,o=0,n=null)=>s=>{(0,a.storeAuthInfo)(e,o,n,t),s({type:d,payload:{sessionState:r}})},m=e=>(t,r)=>{t({type:p,payload:{backUrl:e}})},T=(e="groups",t="",r=null,o=null,l=null)=>async(u,c)=>{let d=(0,i.getAllowedUserGroups)();d=""!==d?d.split(" "):[];let{loggedUserState:p}=c(),{member:w}=p,S=await(0,a.getAccessToken)();if(null!=w)return null!=o&&null!=r&&o.push(r),Promise.resolve();null==l&&(l=s.authErrorHandler),u((0,s.startLoading)());let _={access_token:S,expand:e};return t&&(_.fields=t),(0,s.getRequest)((0,s.createAction)(f),(0,s.createAction)(g),(0,i.buildAPIBaseUrl)("/api/v1/members/me"),l)(_)(u,c).then((()=>{u((0,s.stopLoading)());let{member:e}=c().loggedUserState;if(null==e){let e={title:"ERROR",html:n().translate("errors.user_not_set"),type:"error"};u((0,s.showMessage)(e,a.initLogOut))}if(d.length>0){if(0===e.groups.filter(((e,t)=>d.includes(e.code))).length){let e={title:"ERROR",html:n().translate("errors.user_not_authz"),type:"error"};return void u((0,s.showMessage)(e,a.initLogOut))}}null!=o&&null!=r&&o.push(r)}))},b=e=>(t,r)=>{let{loggedUserState:o}=r(),{member:n}=o;if(null==n)throw Error("Member is not set.");if(e.id!=n.id)throw Error("Member is not the same.");t({type:E,payload:u({},e)})},A=e=>(t,r)=>{t({type:S,payload:{sessionStateStatus:e}})}},8576:(e,t,r)=>{r.d(t,{doLogin:()=>b,getAccessToken:()=>R,initLogOut:()=>C,storeAuthInfo:()=>k});var o=r(6793);r(4824);const n=require("browser-tabs-lock");var s=r.n(n),i=r(6530),l=r.n(i);r(3856),r(4341);const u=require("crypto-js/sha256");var c=r.n(u);const d=require("crypto-js/enc-base64url");var p=r.n(d);const f=require("crypto-js/enc-hex");var g=r.n(f);const w=65536,S="undefined"!=typeof window?window.crypto||window.msCrypto:null;const _=new(s()),y="openstackuicore.lock.getTokenSilently",h="code",E="authInfo",O="nonce",m="pkce",T=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r="";for(let o=0;o<e;o++)r+=t.charAt(Math.floor(Math.random()*t.length));return r},b=(e=null,t=null,r=null)=>{let n=((e=null,t=null,r=null,n=null)=>{let s=v(),i=(0,o.getAuthCallback)(),a=j(),u=x(),c=P();null!=e&&(i+=`?BackUrl=${encodeURI(e)}`);let d=T(16);(0,o.putOnLocalStorage)(O,d);let p=l()(`${a}/oauth2/auth`),f={response_type:encodeURI(c),scope:encodeURI(u),nonce:d,response_mode:"fragment",client_id:encodeURI(s),redirect_uri:encodeURI(i)};if(c===h){const e=A();(0,o.putOnLocalStorage)(m,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return t&&(f.prompt=t),u&&u.includes("offline_access")&&(f.prompt="consent"),r&&(f.id_token_hint=r),n&&(f.provider=n),p=p.query(f),p})(e,r,null,t);(0,o.getCurrentLocation)().replace(n.toString())},A=()=>{const e=(0,o.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!S)return a;if(e>0)if(e>w)for(let r=0;r<e;r+=w)S.getRandomValues(t.slice(r,r+w));else S.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let r=g();return"Base64url"===t&&(r=p()),c()(e).toString(r)})(e,"Base64url"),createdAt:new Date}},R=async()=>{if(await(0,o.retryPromise)((()=>_.acquireLock(y,5e3)),10))try{let e=L();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:r,accessTokenUpdatedAt:o,refreshToken:n}=e,s=P(),i=Math.floor(Date.now()/1e3);if(r-=20,i-o>r||null==t){if(console.log("getAccessToken access token expired"),s===h&&N()){if(!n)throw I(),Error("missing Refresh Token");let e=await U(n),{access_token:t,expires_in:r,refresh_token:o}=e;return void 0===o&&(o=null),k(t,r,o),t}throw I(),Error("Access Token Expired.")}return t}finally{await _.releaseLock(y)}throw Error("Lock acquire error.")},U=async e=>{let t=j(),r=v();const n={grant_type:"refresh_token",client_id:encodeURI(r),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>{if(400===e.status){(0,o.getCurrentPathName)();throw(0,o.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),r=await e.json();let{access_token:s,refresh_token:i,expires_in:a}=r;return{access_token:s,refresh_token:i,expires_in:a}}catch(e){throw console.log(e),e}},k=(e,t,r=null,n=null)=>{let s=L(),i={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===r&&s&&(r=s.refreshToken),null===n&&s&&(n=s.idToken),r&&(i.refreshToken=r),n&&(i.idToken=n),(0,o.putOnLocalStorage)(E,JSON.stringify(i))},L=()=>{try{let e=(0,o.getFromLocalStorage)(E,!1);return e?JSON.parse(e):null}catch(e){return null}},I=()=>{if("undefined"!=typeof window)return(0,o.removeFromLocalStorage)(E),(0,o.removeFromLocalStorage)(O),void(0,o.removeFromLocalStorage)(m)},v=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,P=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",N=()=>"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,C=()=>{(0,o.getCurrentLocation)().replace((e=>{let t=j(),r=v(),n=l()(`${t}/oauth2/end-session`),s=T(16),i=(0,o.getOrigin)()+"/auth/logout";return(0,o.putOnLocalStorage)("post_logout_state",s),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(r),state:s})})((()=>{if("undefined"!=typeof window){const e=L();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,r)=>{r.d(t,{authErrorHandler:()=>E,createAction:()=>w,getRequest:()=>O,showMessage:()=>b,startLoading:()=>S,stopLoading:()=>_});var o=r(4824),n=r.n(o),s=r(6530),i=r.n(s),a=r(271),l=r.n(a),u=r(4656),c=r.n(u),d=r(6793),p=r(4341),f=r(8576);let g=n();const w=e=>t=>({type:e,payload:t}),S=(w("RESET_LOADING"),w("START_LOADING")),_=w("STOP_LOADING"),y={},h=e=>0===Object.keys(e).length&&e.constructor===Object,E=(e,t)=>(t,r)=>{let o=e.status,n="";switch(t(_()),o){case 403:let r={title:"ERROR",html:c().translate("errors.user_not_authz"),type:"error"};t(b(r,f.initLogOut));break;case 401:let o=(0,d.getCurrentPathName)(),a=(0,d.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),a||((0,d.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,f.doLogin)(o));break;case 404:n="",n=e.response.body&&e.response.body.message?e.response.body.message:e.response.error&&e.response.error.message?e.response.error.message:e.message,l().fire("Not Found",n,"warning");break;case 412:for(var[s,i]of Object.entries(e.response.body.errors))isNaN(s)&&(n+=s+": "),n+=i+"<br>";l().fire("Validation error",n,"warning"),t({type:"VALIDATE",payload:{errors:e.response.body.errors}});break;default:l().fire("ERROR",c().translate("errors.server_error"),"error")}},O=(e,t,r,o=m,n={})=>(s={})=>(a,l)=>{let u=i()(r);h(s)||(u=u.query(s));let c=u.toString();return e&&"function"==typeof e&&a(e(n)),(e=>{y[e]&&(y[e].abort(),console.log(`aborted request ${e}`),delete y[e])})(c),new Promise(((e,r)=>{let n=g.get(u.toString()).timeout({response:6e4,deadline:6e4}).end(T(a,l,t,o,e,r));((e,t)=>{y[e]=t})(c,n)}))},m=(e,t)=>e=>{let r=t.body,o="";r instanceof Object&&r.hasOwnProperty("message")&&(o=r.message),l().fire(t.statusText,o,"error")},T=(e,t,r,o,n,s)=>(i,a)=>{if(i||!a.ok)return o&&o(i,a)(e,t),s({err:i,res:a,dispatch:e,state:t});let l=a.body;return"function"==typeof r?(e(r({response:l})),n({response:l})):(e(r),n({response:l}))},b=(e,t={})=>r=>{r(_()),l().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))}},6793:(e,t,r)=>{r.d(t,{base64URLEncode:()=>g,buildAPIBaseUrl:()=>l,getAllowedUserGroups:()=>a,getAuthCallback:()=>o,getCurrentLocation:()=>n,getCurrentPathName:()=>i,getFromLocalStorage:()=>c,getOrigin:()=>s,isClearingSessionState:()=>p,putOnLocalStorage:()=>u,removeFromLocalStorage:()=>d,retryPromise:()=>w,setSessionClearingState:()=>f});r(8362),r(6530);const o=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},s=()=>"undefined"!=typeof window?window.location.origin:null,i=()=>"undefined"!=typeof window?window.location.pathname:null,a=()=>"undefined"!=typeof window?window.ALLOWED_USER_GROUPS||"":null,l=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,u=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},c=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),d(e)),r}return null},d=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},p=()=>"undefined"!=typeof window&&window.clearing_session_state,f=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},g=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),w=async(e,t=3)=>{for(let r=0;r<t;r++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,r),s.exports}return(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),r(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(4656),t(4054),t(6793),t(8576);const n="SET_LOGGED_USER"},8576:(e,o,t)=>{t.r(o),t.d(o,{ACCESS_TOKEN_SKEW_TIME:()=>E,RESPONSE_TYPE_CODE:()=>R,RESPONSE_TYPE_IMPLICIT:()=>L,clearAccessToken:()=>D,clearAuthInfo:()=>G,doLogin:()=>C,doLoginBasicLogin:()=>j,emitAccessToken:()=>N,getAccessToken:()=>F,getAuthInfo:()=>B,getAuthUrl:()=>v,getIdToken:()=>J,getLogoutUrl:()=>P,getOAuth2ClientId:()=>H,getOAuth2Flow:()=>V,getOAuth2IDPBaseUrl:()=>z,getOAuth2Scopes:()=>W,initLogOut:()=>Y,passwordlessLogin:()=>Z,passwordlessStart:()=>X,refreshAccessToken:()=>$,storeAuthInfo:()=>M,useOAuth2RefreshToken:()=>K,validateIdToken:()=>Q});var n=t(6793),r=t(4824),i=t.n(r);const s=require("browser-tabs-lock");var l=t.n(s),c=t(6530),d=t.n(c),u=t(3856),p=t.n(u),f=t(4341);const w=require("crypto-js/sha256");var g=t.n(w);const h=require("crypto-js/enc-base64url");var _=t.n(h);const y=require("crypto-js/enc-hex");var m=t.n(y);const k=65536,S="undefined"!=typeof window?window.crypto||window.msCrypto:null;let O=i();const T=new(l()),I="openstackuicore.lock.getTokenSilently",E=20,L="token id_token",R="code",U="authInfo",A="nonce",b="pkce",v=(e=null,o=null,t=null,r=null)=>{let i=H(),a=(0,n.getAuthCallback)(),s=z(),l=W(),c=V();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=x(16);(0,n.putOnLocalStorage)(A,u);let p=d()(`${s}/oauth2/auth`),f={response_type:encodeURI(c),scope:encodeURI(l),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(a)};if(c===R){const e=q();(0,n.putOnLocalStorage)(b,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return o&&(f.prompt=o),l&&l.includes("offline_access")&&(f.prompt="consent"),t&&(f.id_token_hint=t),r&&(f.provider=r),p=p.query(f),p},P=e=>{let o=z(),t=H(),r=d()(`${o}/oauth2/end-session`),i=x(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})},x=e=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=o.charAt(Math.floor(Math.random()*o.length));return t},C=(e=null,o=null,t=null)=>{let r=v(e,t,null,o);(0,n.getCurrentLocation)().replace(r.toString())},j=(e=null)=>{C(e,null,null)},q=()=>{const e=(0,n.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const o=Buffer.allocUnsafe(e);if(!S)return a;if(e>0)if(e>k)for(let t=0;t<e;t+=k)S.getRandomValues(o.slice(t,t+k));else S.getRandomValues(o);return o})(64));return{codeVerifier:e,codeChallenge:((e,o="hex")=>{let t=m();return"Base64url"===o&&(t=_()),g()(e).toString(t)})(e,"Base64url"),createdAt:new Date}},N=async(e,o=null)=>{let t=z(),r=H(),i=(0,n.getAuthCallback)(),a=JSON.parse((0,n.getFromLocalStorage)(b,!0));null!=o&&(i+=`?BackUrl=${encodeURI(o)}`);const s={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(r),redirect_uri:encodeURI(i)};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(s)}).catch((function(e){console.log("Request failed:",e.message)})),o=await e.json();let{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:l,error_description:c}=o;return{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:l,error_description:c}}catch(e){console.log(e)}},D=async()=>{if(await(0,n.retryPromise)((()=>T.acquireLock(I,5e3)),10))try{let e=B();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e;M(null,0,r)}finally{await T.releaseLock(I)}},F=async()=>{if(await(0,n.retryPromise)((()=>T.acquireLock(I,5e3)),10))try{let e=B();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=V(),a=Math.floor(Date.now()/1e3);if(t-=E,a-n>t||null==o){if(console.log("getAccessToken access token expired"),i===R&&K()){if(!r)throw G(),Error("missing Refresh Token");let e=await $(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),M(o,t,n),o}throw G(),Error("Access Token Expired.")}return o}finally{await T.releaseLock(I)}throw Error("Lock acquire error.")},$=async e=>{let o=z(),t=H();const r={grant_type:"refresh_token",client_id:encodeURI(t),refresh_token:e};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{if(400===e.status){(0,n.getCurrentPathName)();throw(0,n.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),t=await e.json();let{access_token:i,refresh_token:a,expires_in:s}=t;return{access_token:i,refresh_token:a,expires_in:s}}catch(e){throw console.log(e),e}},M=(e,o,t=null,r=null)=>{let i=B(),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)(U,JSON.stringify(a))},B=()=>{let e=(0,n.getFromLocalStorage)(U,!1);return null===e?null:JSON.parse(e)},G=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(U),(0,n.removeFromLocalStorage)(A),void(0,n.removeFromLocalStorage)(b)},J=()=>{if("undefined"!=typeof window){const e=B();return e?e.idToken:null}return null},H=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,V=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",K=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),z=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,W=()=>"undefined"!=typeof window?window.SCOPES:null,Y=()=>{(0,n.getCurrentLocation)().replace(P(J()).toString())},Q=(e,o,t)=>{let r=new(p())({issuer:o,audience:t}),i=(0,n.getFromLocalStorage)(A,!0),a=r.decode(e),s=(a.header.alg,a.header.kid,a.payload.aud),l=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&s==t&&l==o},X=e=>{let o=H(),t=W(),r=x(16);(0,n.putOnLocalStorage)(A,r);let i=z(),a=d()(`${i}/oauth2/auth`),s={response_type:"otp",scope:encodeURI(t),nonce:r,client_id:encodeURI(o),connection:e.connection||"email",send:e.send||"code"};return e.hasOwnProperty("email")&&(s.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(s.phone_number=encodeURIComponent(e.phone_number)),e.hasOwnProperty("redirect_uri")&&(s.redirect_uri=encodeURIComponent(e.redirect_uri)),O.post(a.toString()).send(s).then((e=>{let o=e.body;return Promise.resolve({response:o})})).catch((e=>Promise.reject(e)))},Z=e=>o=>{let t=H(),n=W(),r=z(),i=d()(`${r}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error("otp param is mandatory.");let a={grant_type:"passwordless",connection:e.connection||"email",scope:encodeURI(n),client_id:encodeURI(t),otp:e.otp};return e.hasOwnProperty("email")&&(a.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(a.phone_number=encodeURIComponent(e.phone_number)),O.post(i.toString()).send(a).then((e=>{try{let n=e.body,{access_token:i,expires_in:a,refresh_token:s,id_token:l}=n;if(void 0===s&&(s=null),void 0===l&&(l=null),l&&!Q(l,r,t))throw Error("id token is not valid.");return M(i,a,s,l),o&&o({type:f.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))}},4054:(e,o,t)=>{t(4824),t(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:()=>l,getOrigin:()=>i,putOnLocalStorage:()=>s,removeFromLocalStorage:()=>c,retryPromise:()=>p,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,s=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},l=(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,""),p=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},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(4656),t(4054),t(6793),t(8576);const n="SET_LOGGED_USER"},8576:(e,o,t)=>{t.r(o),t.d(o,{ACCESS_TOKEN_SKEW_TIME:()=>E,RESPONSE_TYPE_CODE:()=>R,RESPONSE_TYPE_IMPLICIT:()=>L,clearAccessToken:()=>D,clearAuthInfo:()=>G,doLogin:()=>C,doLoginBasicLogin:()=>j,emitAccessToken:()=>N,getAccessToken:()=>F,getAuthInfo:()=>B,getAuthUrl:()=>v,getIdToken:()=>J,getLogoutUrl:()=>P,getOAuth2ClientId:()=>H,getOAuth2Flow:()=>V,getOAuth2IDPBaseUrl:()=>z,getOAuth2Scopes:()=>W,initLogOut:()=>Y,passwordlessLogin:()=>Z,passwordlessStart:()=>X,refreshAccessToken:()=>$,storeAuthInfo:()=>M,useOAuth2RefreshToken:()=>K,validateIdToken:()=>Q});var n=t(6793),r=t(4824),i=t.n(r);const s=require("browser-tabs-lock");var l=t.n(s),c=t(6530),d=t.n(c),u=t(3856),p=t.n(u),f=t(4341);const w=require("crypto-js/sha256");var g=t.n(w);const h=require("crypto-js/enc-base64url");var _=t.n(h);const y=require("crypto-js/enc-hex");var m=t.n(y);const k=65536,S="undefined"!=typeof window?window.crypto||window.msCrypto:null;let O=i();const T=new(l()),I="openstackuicore.lock.getTokenSilently",E=20,L="token id_token",R="code",U="authInfo",A="nonce",b="pkce",v=(e=null,o=null,t=null,r=null)=>{let i=H(),a=(0,n.getAuthCallback)(),s=z(),l=W(),c=V();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let u=x(16);(0,n.putOnLocalStorage)(A,u);let p=d()(`${s}/oauth2/auth`),f={response_type:encodeURI(c),scope:encodeURI(l),nonce:u,response_mode:"fragment",client_id:encodeURI(i),redirect_uri:encodeURI(a)};if(c===R){const e=q();(0,n.putOnLocalStorage)(b,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return o&&(f.prompt=o),l&&l.includes("offline_access")&&(f.prompt="consent"),t&&(f.id_token_hint=t),r&&(f.provider=r),p=p.query(f),p},P=e=>{let o=z(),t=H(),r=d()(`${o}/oauth2/end-session`),i=x(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})},x=e=>{let o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t="";for(let n=0;n<e;n++)t+=o.charAt(Math.floor(Math.random()*o.length));return t},C=(e=null,o=null,t=null)=>{let r=v(e,t,null,o);(0,n.getCurrentLocation)().replace(r.toString())},j=(e=null)=>{C(e,null,null)},q=()=>{const e=(0,n.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const o=Buffer.allocUnsafe(e);if(!S)return a;if(e>0)if(e>k)for(let t=0;t<e;t+=k)S.getRandomValues(o.slice(t,t+k));else S.getRandomValues(o);return o})(64));return{codeVerifier:e,codeChallenge:((e,o="hex")=>{let t=m();return"Base64url"===o&&(t=_()),g()(e).toString(t)})(e,"Base64url"),createdAt:new Date}},N=async(e,o=null)=>{let t=z(),r=H(),i=(0,n.getAuthCallback)(),a=JSON.parse((0,n.getFromLocalStorage)(b,!0));null!=o&&(i+=`?BackUrl=${encodeURI(o)}`);const s={code:e,grant_type:"authorization_code",code_verifier:a.codeVerifier,client_id:encodeURI(r),redirect_uri:encodeURI(i)};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(s)}).catch((function(e){console.log("Request failed:",e.message)})),o=await e.json();let{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:l,error_description:c}=o;return{access_token:n,refresh_token:r,id_token:i,expires_in:a,error:l,error_description:c}}catch(e){console.log(e)}},D=async()=>{if(await(0,n.retryPromise)((()=>T.acquireLock(I,5e3)),10))try{let e=B();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e;M(null,0,r)}finally{await T.releaseLock(I)}},F=async()=>{if(await(0,n.retryPromise)((()=>T.acquireLock(I,5e3)),10))try{let e=B();if(!e)throw Error("Missing Auth info.");let{accessToken:o,expiresIn:t,accessTokenUpdatedAt:n,refreshToken:r}=e,i=V(),a=Math.floor(Date.now()/1e3);if(t-=E,a-n>t||null==o){if(console.log("getAccessToken access token expired"),i===R&&K()){if(!r)throw G(),Error("missing Refresh Token");let e=await $(r),{access_token:o,expires_in:t,refresh_token:n}=e;return void 0===n&&(n=null),M(o,t,n),o}throw G(),Error("Access Token Expired.")}return o}finally{await T.releaseLock(I)}throw Error("Lock acquire error.")},$=async e=>{let o=z(),t=H();const r={grant_type:"refresh_token",client_id:encodeURI(t),refresh_token:e};try{const e=await fetch(`${o}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(r)}).then((e=>{if(400===e.status){(0,n.getCurrentPathName)();throw(0,n.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),t=await e.json();let{access_token:i,refresh_token:a,expires_in:s}=t;return{access_token:i,refresh_token:a,expires_in:s}}catch(e){throw console.log(e),e}},M=(e,o,t=null,r=null)=>{let i=B(),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)(U,JSON.stringify(a))},B=()=>{try{let e=(0,n.getFromLocalStorage)(U,!1);return e?JSON.parse(e):null}catch(e){return null}},G=()=>{if("undefined"!=typeof window)return(0,n.removeFromLocalStorage)(U),(0,n.removeFromLocalStorage)(A),void(0,n.removeFromLocalStorage)(b)},J=()=>{if("undefined"!=typeof window){const e=B();return e?e.idToken:null}return null},H=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,V=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",K=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),z=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,W=()=>"undefined"!=typeof window?window.SCOPES:null,Y=()=>{(0,n.getCurrentLocation)().replace(P(J()).toString())},Q=(e,o,t)=>{let r=new(p())({issuer:o,audience:t}),i=(0,n.getFromLocalStorage)(A,!0),a=r.decode(e),s=(a.header.alg,a.header.kid,a.payload.aud),l=a.payload.iss;a.payload.exp,a.payload.nbf;return(a.payload.nonce||null)==i&&s==t&&l==o},X=e=>{let o=H(),t=W(),r=x(16);(0,n.putOnLocalStorage)(A,r);let i=z(),a=d()(`${i}/oauth2/auth`),s={response_type:"otp",scope:encodeURI(t),nonce:r,client_id:encodeURI(o),connection:e.connection||"email",send:e.send||"code"};return e.hasOwnProperty("email")&&(s.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(s.phone_number=encodeURIComponent(e.phone_number)),e.hasOwnProperty("redirect_uri")&&(s.redirect_uri=encodeURIComponent(e.redirect_uri)),O.post(a.toString()).send(s).then((e=>{let o=e.body;return Promise.resolve({response:o})})).catch((e=>Promise.reject(e)))},Z=e=>o=>{let t=H(),n=W(),r=z(),i=d()(`${r}/oauth2/token`);if(!e.hasOwnProperty("otp"))throw Error("otp param is mandatory.");let a={grant_type:"passwordless",connection:e.connection||"email",scope:encodeURI(n),client_id:encodeURI(t),otp:e.otp};return e.hasOwnProperty("email")&&(a.email=encodeURIComponent(e.email)),e.hasOwnProperty("phone_number")&&(a.phone_number=encodeURIComponent(e.phone_number)),O.post(i.toString()).send(a).then((e=>{try{let n=e.body,{access_token:i,expires_in:a,refresh_token:s,id_token:l}=n;if(void 0===s&&(s=null),void 0===l&&(l=null),l&&!Q(l,r,t))throw Error("id token is not valid.");return M(i,a,s,l),o&&o({type:f.SET_LOGGED_USER,payload:{sessionState:null}}),Promise.resolve({response:n})}catch(e){return console.log(e),Promise.reject(e)}})).catch((e=>Promise.reject(e)))}},4054:(e,o,t)=>{t(4824),t(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:()=>l,getOrigin:()=>i,putOnLocalStorage:()=>s,removeFromLocalStorage:()=>c,retryPromise:()=>p,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,s=(e,o)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,o)},l=(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,""),p=async(e,o=3)=>{for(let t=0;t<o;t++)if(await e())return!0;return!1}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},o={};function t(n){var r=o[n];if(void 0!==r)return r.exports;var i=o[n]={exports:{}};return e[n](i,i.exports,t),i.exports}return(()=>{t.n=e=>{var o=e&&e.__esModule?()=>e.default:()=>e;return t.d(o,{a:o}),o}})(),(()=>{t.d=(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]})}})(),(()=>{t.o=(e,o)=>Object.prototype.hasOwnProperty.call(e,o)})(),(()=>{t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),t(8576)})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,r)=>{r.d(t,{CLEAR_SESSION_STATE:()=>s,LOGOUT_USER:()=>n,RECEIVE_USER_INFO:()=>a,SESSION_STATE_STATUS_UNCHANGED:()=>u,SET_LOGGED_USER:()=>o,UPDATE_SESSION_STATE_STATUS:()=>i,UPDATE_USER_INFO:()=>l});r(4656),r(4054),r(6793),r(8576);const o="SET_LOGGED_USER",n="LOGOUT_USER",a="RECEIVE_USER_INFO",s="CLEAR_SESSION_STATE",i="UPDATE_SESSION_STATE_STATUS",u="unchanged",l="UPDATE_USER_INFO"},8576:(e,t,r)=>{r.d(t,{clearAuthInfo:()=>S,getIdToken:()=>c,getOAuth2ClientId:()=>d,getOAuth2IDPBaseUrl:()=>p});var o=r(6793);r(4824);const n=require("browser-tabs-lock");var a=r.n(n);r(6530),r(3856),r(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);new(a());const s="authInfo",i="nonce",u="pkce",l=()=>{let e=(0,o.getFromLocalStorage)(s,!1);return null===e?null:JSON.parse(e)},S=()=>{if("undefined"!=typeof window)return(0,o.removeFromLocalStorage)(s),(0,o.removeFromLocalStorage)(i),void(0,o.removeFromLocalStorage)(u)},c=()=>{if("undefined"!=typeof window){const e=l();return e?e.idToken:null}return null},d=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,p=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,r)=>{r(4824),r(6530),r(271),r(4656),r(6793),r(4341),r(8576);const o=e=>t=>({type:e,payload:t});o("RESET_LOADING"),o("START_LOADING"),o("STOP_LOADING")},6793:(e,t,r)=>{r.d(t,{getFromLocalStorage:()=>o,removeFromLocalStorage:()=>n});r(8362),r(6530);const o=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),n(e)),r}return null},n=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}};return e[o](a,a.exports,r),a.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};return(()=>{r.r(o),r.d(o,{loggedUserReducer:()=>S});var e=r(4341),t=r(3856),n=r.n(t),a=r(8576);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const l={isLoggedUser:!1,member:null,sessionState:null,backUrl:null,sessionStateStatus:e.SESSION_STATE_STATUS_UNCHANGED},S=(t=l,r)=>{const{type:o,payload:s}=r;let u=(0,a.getOAuth2IDPBaseUrl)(),S=(0,a.getOAuth2ClientId)();switch(o){case e.SET_LOGGED_USER:{let{sessionState:o}=r.payload;return i(i({},t),{},{isLoggedUser:!0,sessionState:o,backUrl:null,sessionStateStatus:e.SESSION_STATE_STATUS_UNCHANGED})}case e.UPDATE_SESSION_STATE_STATUS:{let{sessionStateStatus:e}=r.payload;return i(i({},t),{},{sessionStateStatus:e})}case e.CLEAR_SESSION_STATE:return(0,a.clearAuthInfo)(),i(i({},t),{},{isLoggedUser:!1,sessionState:null,backUrl:null});case e.LOGOUT_USER:return(0,a.clearAuthInfo)(),i(i({},l),{},{backUrl:s.backUrl});case e.RECEIVE_USER_INFO:{let{response:e}=r.payload;if(""!==u&&""!==S){let t=new(n())({issuer:u,audience:S}).decode((0,a.getIdToken)()),r=t.payload.groups||[],o=t.payload.address||{};r=r.map((e=>({id:e.id,title:e.name,description:e.name,code:e.slug,created:e.created_at,last_edited:e.updated_at}))),e=i(i({},e),{},{groups:[...e.groups,...r],address:o})}return i(i({},t),{},{member:e})}case e.UPDATE_USER_INFO:{let e=r.payload;return i(i({},t),{},{member:e})}default:return t}}})(),o})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,r)=>{r.d(t,{CLEAR_SESSION_STATE:()=>s,LOGOUT_USER:()=>n,RECEIVE_USER_INFO:()=>a,SESSION_STATE_STATUS_UNCHANGED:()=>u,SET_LOGGED_USER:()=>o,UPDATE_SESSION_STATE_STATUS:()=>i,UPDATE_USER_INFO:()=>l});r(4656),r(4054),r(6793),r(8576);const o="SET_LOGGED_USER",n="LOGOUT_USER",a="RECEIVE_USER_INFO",s="CLEAR_SESSION_STATE",i="UPDATE_SESSION_STATE_STATUS",u="unchanged",l="UPDATE_USER_INFO"},8576:(e,t,r)=>{r.d(t,{clearAuthInfo:()=>c,getIdToken:()=>S,getOAuth2ClientId:()=>d,getOAuth2IDPBaseUrl:()=>p});var o=r(6793);r(4824);const n=require("browser-tabs-lock");var a=r.n(n);r(6530),r(3856),r(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);new(a());const s="authInfo",i="nonce",u="pkce",l=()=>{try{let e=(0,o.getFromLocalStorage)(s,!1);return e?JSON.parse(e):null}catch(e){return null}},c=()=>{if("undefined"!=typeof window)return(0,o.removeFromLocalStorage)(s),(0,o.removeFromLocalStorage)(i),void(0,o.removeFromLocalStorage)(u)},S=()=>{if("undefined"!=typeof window){const e=l();return e?e.idToken:null}return null},d=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,p=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,r)=>{r(4824),r(6530),r(271),r(4656),r(6793),r(4341),r(8576);const o=e=>t=>({type:e,payload:t});o("RESET_LOADING"),o("START_LOADING"),o("STOP_LOADING")},6793:(e,t,r)=>{r.d(t,{getFromLocalStorage:()=>o,removeFromLocalStorage:()=>n});r(8362),r(6530);const o=(e,t)=>{if("undefined"!=typeof window){let r=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),n(e)),r}return null},n=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)}},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}};return e[o](a,a.exports,r),a.exports}(()=>{r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t}})(),(()=>{r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var o={};return(()=>{r.r(o),r.d(o,{loggedUserReducer:()=>c});var e=r(4341),t=r(3856),n=r.n(t),a=r(8576);function s(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?s(Object(r),!0).forEach((function(t){u(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):s(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const l={isLoggedUser:!1,member:null,sessionState:null,backUrl:null,sessionStateStatus:e.SESSION_STATE_STATUS_UNCHANGED},c=(t=l,r)=>{const{type:o,payload:s}=r;let u=(0,a.getOAuth2IDPBaseUrl)(),c=(0,a.getOAuth2ClientId)();switch(o){case e.SET_LOGGED_USER:{let{sessionState:o}=r.payload;return i(i({},t),{},{isLoggedUser:!0,sessionState:o,backUrl:null,sessionStateStatus:e.SESSION_STATE_STATUS_UNCHANGED})}case e.UPDATE_SESSION_STATE_STATUS:{let{sessionStateStatus:e}=r.payload;return i(i({},t),{},{sessionStateStatus:e})}case e.CLEAR_SESSION_STATE:return(0,a.clearAuthInfo)(),i(i({},t),{},{isLoggedUser:!1,sessionState:null,backUrl:null});case e.LOGOUT_USER:return(0,a.clearAuthInfo)(),i(i({},l),{},{backUrl:s.backUrl});case e.RECEIVE_USER_INFO:{let{response:e}=r.payload;if(""!==u&&""!==c){let t=new(n())({issuer:u,audience:c}).decode((0,a.getIdToken)()),r=t.payload.groups||[],o=t.payload.address||{};r=r.map((e=>({id:e.id,title:e.name,description:e.name,code:e.slug,created:e.created_at,last_edited:e.updated_at}))),e=i(i({},e),{},{groups:[...e.groups,...r],address:o})}return i(i({},t),{},{member:e})}case e.UPDATE_USER_INFO:{let e=r.payload;return i(i({},t),{},{member:e})}default:return t}}})(),o})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,o)=>{o.d(t,{SESSION_STATE_STATUS_CHANGED:()=>r,SESSION_STATE_STATUS_UNCHANGED:()=>n,doLogout:()=>a,onUserAuth:()=>i,updateSessionStateStatus:()=>c});o(4656),o(4054),o(6793);var s=o(8576);const n="unchanged",r="changed",i=(e,t,o,n=0,r=null)=>i=>{(0,s.storeAuthInfo)(e,n,r,t),i({type:"SET_LOGGED_USER",payload:{sessionState:o}})},a=e=>(t,o)=>{t({type:"LOGOUT_USER",payload:{backUrl:e}})},c=e=>(t,o)=>{t({type:"UPDATE_SESSION_STATE_STATUS",payload:{sessionStateStatus:e}})}},8576:(e,t,o)=>{o.d(t,{getAuthUrl:()=>y,initLogOut:()=>L,storeAuthInfo:()=>k});var s=o(6793);o(4824);const n=require("browser-tabs-lock");var r=o.n(n),i=o(6530),c=o.n(i);o(3856),o(4341);const l=require("crypto-js/sha256");var d=o.n(l);const u=require("crypto-js/enc-base64url");var p=o.n(u);const S=require("crypto-js/enc-hex");var h=o.n(S);const g=65536,f="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(r());const w="code",m="authInfo",_="nonce",O="pkce",y=(e=null,t=null,o=null,n=null)=>{let r=E(),i=(0,s.getAuthCallback)(),a=b(),l=A(),d=C();null!=e&&(i+=`?BackUrl=${encodeURI(e)}`);let u=v(16);(0,s.putOnLocalStorage)(_,u);let p=c()(`${a}/oauth2/auth`),S={response_type:encodeURI(d),scope:encodeURI(l),nonce:u,response_mode:"fragment",client_id:encodeURI(r),redirect_uri:encodeURI(i)};if(d===w){const e=T();(0,s.putOnLocalStorage)(O,JSON.stringify(e)),S.code_challenge=e.codeChallenge,S.code_challenge_method="S256",S.approval_prompt="force"}return t&&(S.prompt=t),l&&l.includes("offline_access")&&(S.prompt="consent"),o&&(S.id_token_hint=o),n&&(S.provider=n),p=p.query(S),p},v=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let s=0;s<e;s++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},T=()=>{const e=(0,s.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!f)return a;if(e>0)if(e>g)for(let o=0;o<e;o+=g)f.getRandomValues(t.slice(o,o+g));else f.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=h();return"Base64url"===t&&(o=p()),d()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},k=(e,t,o=null,n=null)=>{let r=U(),i={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&r&&(o=r.refreshToken),null===n&&r&&(n=r.idToken),o&&(i.refreshToken=o),n&&(i.idToken=n),(0,s.putOnLocalStorage)(m,JSON.stringify(i))},U=()=>{let e=(0,s.getFromLocalStorage)(m,!1);return null===e?null:JSON.parse(e)},E=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,C=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",b=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,A=()=>"undefined"!=typeof window?window.SCOPES:null,L=()=>{(0,s.getCurrentLocation)().replace((e=>{let t=b(),o=E(),n=c()(`${t}/oauth2/end-session`),r=v(16),i=(0,s.getOrigin)()+"/auth/logout";return(0,s.putOnLocalStorage)("post_logout_state",r),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:r})})((()=>{if("undefined"!=typeof window){const e=U();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,o)=>{o(4824),o(6530),o(271),o(4656),o(6793),o(4341),o(8576);const s=e=>t=>({type:e,payload:t});s("RESET_LOADING"),s("START_LOADING"),s("STOP_LOADING")},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>l,getAuthCallback:()=>s,getCurrentLocation:()=>n,getFromLocalStorage:()=>a,getOrigin:()=>r,putOnLocalStorage:()=>i});o(8362),o(6530);const s=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},r=()=>"undefined"!=typeof window?window.location.origin:null,i=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},a=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),o}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},l=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(s){var n=t[s];if(void 0!==n)return n.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,o),r.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var s in t)o.o(t,s)&&!o.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var s={};return(()=>{o.r(s),o.d(s,{default:()=>h});const e=require("react");var t=o.n(e);const n=require("react-redux");var r=o(4341),i=o(8576),a=o(6530),c=o.n(a);function l(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,s)}return o}function d(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?l(Object(o),!0).forEach((function(t){u(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function u(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const p=18e5;class S extends t().Component{constructor(e){super(e),this.state={opFrame_src:"",rpCheckSessionStateFrame_src:""},this.receiveMessage=this.receiveMessage.bind(this),this.receiveMessageFromChild=this.receiveMessageFromChild.bind(this),this.setTimer=this.setTimer.bind(this),this.checkSession=this.checkSession.bind(this),this.onSetupCheckSessionRP=this.onSetupCheckSessionRP.bind(this),this.rpCheckSessionStateFrameOnLoad=this.rpCheckSessionStateFrameOnLoad.bind(this),this.opFrame=null,this.rpCheckSessionStateFrame=null,this.setOPFrameRef=e=>{this.opFrame=e},this.setCheckSessionStateFrameRef=e=>{this.rpCheckSessionStateFrame=e},this.interval=null}componentWillUnmount(){try{this.interval&&(window.clearInterval(this.interval),this.interval=null),window.removeEventListener("message",this.receiveMessageFromChild,!1),window.removeEventListener("message",this.receiveMessage,!1)}catch(e){console.log(e)}}componentDidMount(){if(this.props.isLoggedUser&&"undefined"!=typeof window){if(window.location!==window.parent.location)return;this.onSetupCheckSessionRP()}}rpCheckSessionStateFrameOnLoad(e){let t=e.target;if(""==this.state.rpCheckSessionStateFrame_src)return;if(!t.contentDocument)return;window.removeEventListener("message",this.receiveMessageFromChild,!1);let o=new(c())(t.contentDocument.URL);console.log("OPSessionChecker::rpCheckSessionStateFrameOnLoad - resultUrl "+o);let s=o.search(!0),n=c().parseQuery(o.fragment()),a=null;if(s.hasOwnProperty("error")&&(a=s.error),n.hasOwnProperty("error")&&(a=n.error),a)return console.log("OPSessionChecker::rpCheckSessionStateFrameOnLoad - error "+a),void(0,i.initLogOut)();this.props.updateSessionStateStatus(r.SESSION_STATE_STATUS_UNCHANGED)}componentDidUpdate(e){if(this.props.sessionStateStatus!==e.sessionStateStatus){if(this.props.sessionStateStatus===r.SESSION_STATE_STATUS_CHANGED){let e=(0,i.getAuthUrl)(null,"none");return void(""==this.state.rpCheckSessionStateFrame_src&&this.setState(d(d({},this.state),{},{opFrame_src:"",rpCheckSessionStateFrame_src:e.toString()})))}if(this.props.sessionStateStatus===r.SESSION_STATE_STATUS_UNCHANGED)return void this.onSetupCheckSessionRP()}this.props.sessionState!==e.sessionState&&(console.log(`OPSessionChecker::componentDidUpdate updated session state ${this.props.sessionState}`),this.onSetupCheckSessionRP())}checkSession(){let e=new Date;if(console.log(`OPSessionChecker::checkSession now ${e.toLocaleString()}`),null==this.opFrame)return;if(null==this.props.sessionState)return;if(null==this.props.clientId)return;let t=this.props.idpBaseUrl,o=this.opFrame.contentWindow,s=this.props.clientId+" "+this.props.sessionState;o.postMessage(s,t)}setTimer(e){e.target;""!=this.state.opFrame_src&&this.props.isLoggedUser&&this.props.sessionStateStatus===r.SESSION_STATE_STATUS_UNCHANGED&&"undefined"!=typeof window&&(console.log("OPSessionChecker::setTimer setting interval 1800000"),this.interval=window.setInterval(this.checkSession,p))}onSetupCheckSessionRP(){if(null==this.opFrame)return;window.addEventListener("message",this.receiveMessage,!1);const e=`${this.props.idpBaseUrl}/oauth2/check-session`;""==this.state.opFrame_src&&this.setState(d(d({},this.state),{},{opFrame_src:e,rpCheckSessionStateFrame_src:""}))}receiveMessageFromChild(e){if("string"==typeof e.data||e.data instanceof String)try{let t=JSON.parse(e.data);t.hasOwnProperty("action")&&"SET_AUTH_INFO_SILENTLY"==t.action&&(window.removeEventListener("message",this.receiveMessageFromChild,!1),this.props.onUserAuth(t.access_token,t.id_token,t.session_state,t.expires_in,t.hasOwnProperty("refresh_token")?t.refresh_token:null))}catch(e){console.log(e)}}receiveMessage(e){if(e.origin!==this.props.idpBaseUrl)return;let t=e.data;return this.props.sessionStateStatus===r.SESSION_STATE_STATUS_UNCHANGED&&this.props.isLoggedUser&&t===r.SESSION_STATE_STATUS_CHANGED?(console.log("OPSessionChecker::receiveMessage - session state has changed on OP"),"undefined"!=typeof window&&window.clearInterval(this.interval),this.interval=null,window.addEventListener("message",this.receiveMessageFromChild,!1),window.removeEventListener("message",this.receiveMessage,!1),void this.props.updateSessionStateStatus(r.SESSION_STATE_STATUS_CHANGED)):void 0}render(){return this.props.isLoggedUser&&this.props.sessionState?"undefined"!=typeof window&&window.location!==window.parent.location?null:t().createElement("div",{style:{height:"0px"}},t().createElement("iframe",{ref:this.setOPFrameRef,id:"OPFrame",onLoad:this.setTimer,src:this.state.opFrame_src,style:{visibility:"hidden",position:"absolute",left:0,top:0,border:"none",width:0,height:0}},">"),t().createElement("iframe",{ref:this.setCheckSessionStateFrameRef,id:"RPCHeckSessionStateFrame",src:this.state.rpCheckSessionStateFrame_src,onLoad:this.rpCheckSessionStateFrameOnLoad,style:{visibility:"hidden",position:"absolute",left:0,top:0,border:"none",width:0,height:0}},">")):null}}const h=(0,n.connect)((({loggedUserState:e})=>({sessionState:e.sessionState,isLoggedUser:e.isLoggedUser,sessionStateStatus:e.sessionStateStatus})),{doLogout:r.doLogout,updateSessionStateStatus:r.updateSessionStateStatus,onUserAuth:r.onUserAuth})(S)})(),s})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,o)=>{o.d(t,{SESSION_STATE_STATUS_CHANGED:()=>r,SESSION_STATE_STATUS_UNCHANGED:()=>n,doLogout:()=>a,onUserAuth:()=>i,updateSessionStateStatus:()=>c});o(4656),o(4054),o(6793);var s=o(8576);const n="unchanged",r="changed",i=(e,t,o,n=0,r=null)=>i=>{(0,s.storeAuthInfo)(e,n,r,t),i({type:"SET_LOGGED_USER",payload:{sessionState:o}})},a=e=>(t,o)=>{t({type:"LOGOUT_USER",payload:{backUrl:e}})},c=e=>(t,o)=>{t({type:"UPDATE_SESSION_STATE_STATUS",payload:{sessionStateStatus:e}})}},8576:(e,t,o)=>{o.d(t,{getAuthUrl:()=>y,initLogOut:()=>L,storeAuthInfo:()=>k});var s=o(6793);o(4824);const n=require("browser-tabs-lock");var r=o.n(n),i=o(6530),c=o.n(i);o(3856),o(4341);const l=require("crypto-js/sha256");var d=o.n(l);const u=require("crypto-js/enc-base64url");var p=o.n(u);const S=require("crypto-js/enc-hex");var h=o.n(S);const g=65536,f="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(r());const w="code",m="authInfo",_="nonce",O="pkce",y=(e=null,t=null,o=null,n=null)=>{let r=E(),i=(0,s.getAuthCallback)(),a=b(),l=A(),d=C();null!=e&&(i+=`?BackUrl=${encodeURI(e)}`);let u=v(16);(0,s.putOnLocalStorage)(_,u);let p=c()(`${a}/oauth2/auth`),S={response_type:encodeURI(d),scope:encodeURI(l),nonce:u,response_mode:"fragment",client_id:encodeURI(r),redirect_uri:encodeURI(i)};if(d===w){const e=T();(0,s.putOnLocalStorage)(O,JSON.stringify(e)),S.code_challenge=e.codeChallenge,S.code_challenge_method="S256",S.approval_prompt="force"}return t&&(S.prompt=t),l&&l.includes("offline_access")&&(S.prompt="consent"),o&&(S.id_token_hint=o),n&&(S.provider=n),p=p.query(S),p},v=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let s=0;s<e;s++)o+=t.charAt(Math.floor(Math.random()*t.length));return o},T=()=>{const e=(0,s.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!f)return a;if(e>0)if(e>g)for(let o=0;o<e;o+=g)f.getRandomValues(t.slice(o,o+g));else f.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let o=h();return"Base64url"===t&&(o=p()),d()(e).toString(o)})(e,"Base64url"),createdAt:new Date}},k=(e,t,o=null,n=null)=>{let r=U(),i={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===o&&r&&(o=r.refreshToken),null===n&&r&&(n=r.idToken),o&&(i.refreshToken=o),n&&(i.idToken=n),(0,s.putOnLocalStorage)(m,JSON.stringify(i))},U=()=>{try{let e=(0,s.getFromLocalStorage)(m,!1);return e?JSON.parse(e):null}catch(e){return null}},E=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,C=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",b=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,A=()=>"undefined"!=typeof window?window.SCOPES:null,L=()=>{(0,s.getCurrentLocation)().replace((e=>{let t=b(),o=E(),n=c()(`${t}/oauth2/end-session`),r=v(16),i=(0,s.getOrigin)()+"/auth/logout";return(0,s.putOnLocalStorage)("post_logout_state",r),n.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:r})})((()=>{if("undefined"!=typeof window){const e=U();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,o)=>{o(4824),o(6530),o(271),o(4656),o(6793),o(4341),o(8576);const s=e=>t=>({type:e,payload:t});s("RESET_LOADING"),s("START_LOADING"),s("STOP_LOADING")},6793:(e,t,o)=>{o.d(t,{base64URLEncode:()=>l,getAuthCallback:()=>s,getCurrentLocation:()=>n,getFromLocalStorage:()=>a,getOrigin:()=>r,putOnLocalStorage:()=>i});o(8362),o(6530);const s=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,n=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},r=()=>"undefined"!=typeof window?window.location.origin:null,i=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},a=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),o}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},l=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},4656:e=>{e.exports=require("i18n-react/dist/i18n-react")},3856:e=>{e.exports=require("idtoken-verifier")},8362:e=>{e.exports=require("moment-timezone")},6689:e=>{e.exports=require("react")},4824:e=>{e.exports=require("superagent")},271:e=>{e.exports=require("sweetalert2")},6530:e=>{e.exports=require("urijs")}},t={};function o(s){var n=t[s];if(void 0!==n)return n.exports;var r=t[s]={exports:{}};return e[s](r,r.exports,o),r.exports}(()=>{o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t}})(),(()=>{o.d=(e,t)=>{for(var s in t)o.o(t,s)&&!o.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})}})(),(()=>{o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var s={};return(()=>{o.r(s),o.d(s,{default:()=>h});var e=o(6689),t=o.n(e);const n=require("react-redux");var r=o(4341),i=o(8576),a=o(6530),c=o.n(a);function l(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,s)}return o}function d(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?l(Object(o),!0).forEach((function(t){u(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function u(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}const p=18e5;class S extends t().Component{constructor(e){super(e),this.state={opFrame_src:"",rpCheckSessionStateFrame_src:""},this.receiveMessage=this.receiveMessage.bind(this),this.receiveMessageFromChild=this.receiveMessageFromChild.bind(this),this.setTimer=this.setTimer.bind(this),this.checkSession=this.checkSession.bind(this),this.onSetupCheckSessionRP=this.onSetupCheckSessionRP.bind(this),this.rpCheckSessionStateFrameOnLoad=this.rpCheckSessionStateFrameOnLoad.bind(this),this.opFrame=null,this.rpCheckSessionStateFrame=null,this.setOPFrameRef=e=>{this.opFrame=e},this.setCheckSessionStateFrameRef=e=>{this.rpCheckSessionStateFrame=e},this.interval=null}componentWillUnmount(){try{this.interval&&(window.clearInterval(this.interval),this.interval=null),window.removeEventListener("message",this.receiveMessageFromChild,!1),window.removeEventListener("message",this.receiveMessage,!1)}catch(e){console.log(e)}}componentDidMount(){if(this.props.isLoggedUser&&"undefined"!=typeof window){if(window.location!==window.parent.location)return;this.onSetupCheckSessionRP()}}rpCheckSessionStateFrameOnLoad(e){let t=e.target;if(""==this.state.rpCheckSessionStateFrame_src)return;if(!t.contentDocument)return;window.removeEventListener("message",this.receiveMessageFromChild,!1);let o=new(c())(t.contentDocument.URL);console.log("OPSessionChecker::rpCheckSessionStateFrameOnLoad - resultUrl "+o);let s=o.search(!0),n=c().parseQuery(o.fragment()),a=null;if(s.hasOwnProperty("error")&&(a=s.error),n.hasOwnProperty("error")&&(a=n.error),a)return console.log("OPSessionChecker::rpCheckSessionStateFrameOnLoad - error "+a),void(0,i.initLogOut)();this.props.updateSessionStateStatus(r.SESSION_STATE_STATUS_UNCHANGED)}componentDidUpdate(e){if(this.props.sessionStateStatus!==e.sessionStateStatus){if(this.props.sessionStateStatus===r.SESSION_STATE_STATUS_CHANGED){let e=(0,i.getAuthUrl)(null,"none");return void(""==this.state.rpCheckSessionStateFrame_src&&this.setState(d(d({},this.state),{},{opFrame_src:"",rpCheckSessionStateFrame_src:e.toString()})))}if(this.props.sessionStateStatus===r.SESSION_STATE_STATUS_UNCHANGED)return void this.onSetupCheckSessionRP()}this.props.sessionState!==e.sessionState&&(console.log(`OPSessionChecker::componentDidUpdate updated session state ${this.props.sessionState}`),this.onSetupCheckSessionRP())}checkSession(){let e=new Date;if(console.log(`OPSessionChecker::checkSession now ${e.toLocaleString()}`),null==this.opFrame)return;if(null==this.props.sessionState)return;if(null==this.props.clientId)return;let t=this.props.idpBaseUrl,o=this.opFrame.contentWindow,s=this.props.clientId+" "+this.props.sessionState;o.postMessage(s,t)}setTimer(e){e.target;""!=this.state.opFrame_src&&this.props.isLoggedUser&&this.props.sessionStateStatus===r.SESSION_STATE_STATUS_UNCHANGED&&"undefined"!=typeof window&&(console.log("OPSessionChecker::setTimer setting interval 1800000"),this.interval=window.setInterval(this.checkSession,p))}onSetupCheckSessionRP(){if(null==this.opFrame)return;window.addEventListener("message",this.receiveMessage,!1);const e=`${this.props.idpBaseUrl}/oauth2/check-session`;""==this.state.opFrame_src&&this.setState(d(d({},this.state),{},{opFrame_src:e,rpCheckSessionStateFrame_src:""}))}receiveMessageFromChild(e){if("string"==typeof e.data||e.data instanceof String)try{let t=JSON.parse(e.data);t.hasOwnProperty("action")&&"SET_AUTH_INFO_SILENTLY"==t.action&&(window.removeEventListener("message",this.receiveMessageFromChild,!1),this.props.onUserAuth(t.access_token,t.id_token,t.session_state,t.expires_in,t.hasOwnProperty("refresh_token")?t.refresh_token:null))}catch(e){console.log(e)}}receiveMessage(e){if(e.origin!==this.props.idpBaseUrl)return;let t=e.data;return this.props.sessionStateStatus===r.SESSION_STATE_STATUS_UNCHANGED&&this.props.isLoggedUser&&t===r.SESSION_STATE_STATUS_CHANGED?(console.log("OPSessionChecker::receiveMessage - session state has changed on OP"),"undefined"!=typeof window&&window.clearInterval(this.interval),this.interval=null,window.addEventListener("message",this.receiveMessageFromChild,!1),window.removeEventListener("message",this.receiveMessage,!1),void this.props.updateSessionStateStatus(r.SESSION_STATE_STATUS_CHANGED)):void 0}render(){return this.props.isLoggedUser&&this.props.sessionState?"undefined"!=typeof window&&window.location!==window.parent.location?null:t().createElement("div",{style:{height:"0px"}},t().createElement("iframe",{ref:this.setOPFrameRef,id:"OPFrame",onLoad:this.setTimer,src:this.state.opFrame_src,style:{visibility:"hidden",position:"absolute",left:0,top:0,border:"none",width:0,height:0}},">"),t().createElement("iframe",{ref:this.setCheckSessionStateFrameRef,id:"RPCHeckSessionStateFrame",src:this.state.rpCheckSessionStateFrame_src,onLoad:this.rpCheckSessionStateFrameOnLoad,style:{visibility:"hidden",position:"absolute",left:0,top:0,border:"none",width:0,height:0}},">")):null}}const h=(0,n.connect)((({loggedUserState:e})=>({sessionState:e.sessionState,isLoggedUser:e.isLoggedUser,sessionStateStatus:e.sessionStateStatus})),{doLogout:r.doLogout,updateSessionStateStatus:r.updateSessionStateStatus,onUserAuth:r.onUserAuth})(S)})(),s})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,n)=>{n.d(t,{CLEAR_SESSION_STATE:()=>o});n(4656),n(4054),n(6793),n(8576);const o="CLEAR_SESSION_STATE"},8576:(e,t,n)=>{n.d(t,{doLogin:()=>b,initLogOut:()=>I});var o=n(6793);n(4824);const r=require("browser-tabs-lock");var s=n.n(r),i=n(6530),l=n.n(i);n(3856),n(4341);const u=require("crypto-js/sha256");var d=n.n(u);const c=require("crypto-js/enc-base64url");var p=n.n(c);const f=require("crypto-js/enc-hex");var g=n.n(f);const w=65536,y="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(s());const S="code",h="authInfo",m="nonce",_="pkce",R=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n="";for(let o=0;o<e;o++)n+=t.charAt(Math.floor(Math.random()*t.length));return n},b=(e=null,t=null,n=null)=>{let r=((e=null,t=null,n=null,r=null)=>{let s=L(),a=(0,o.getAuthCallback)(),i=A(),u=C(),d=k();null!=e&&(a+=`?BackUrl=${encodeURI(e)}`);let c=R(16);(0,o.putOnLocalStorage)(m,c);let p=l()(`${i}/oauth2/auth`),f={response_type:encodeURI(d),scope:encodeURI(u),nonce:c,response_mode:"fragment",client_id:encodeURI(s),redirect_uri:encodeURI(a)};if(d===S){const e=E();(0,o.putOnLocalStorage)(_,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return t&&(f.prompt=t),u&&u.includes("offline_access")&&(f.prompt="consent"),n&&(f.id_token_hint=n),r&&(f.provider=r),p=p.query(f),p})(e,n,null,t);(0,o.getCurrentLocation)().replace(r.toString())},E=()=>{const e=(0,o.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!y)return a;if(e>0)if(e>w)for(let n=0;n<e;n+=w)y.getRandomValues(t.slice(n,n+w));else y.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let n=g();return"Base64url"===t&&(n=p()),d()(e).toString(n)})(e,"Base64url"),createdAt:new Date}},O=()=>{let e=(0,o.getFromLocalStorage)(h,!1);return null===e?null:JSON.parse(e)},L=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,k=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",A=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,C=()=>"undefined"!=typeof window?window.SCOPES:null,I=()=>{(0,o.getCurrentLocation)().replace((e=>{let t=A(),n=L(),r=l()(`${t}/oauth2/end-session`),s=R(16),a=(0,o.getOrigin)()+"/auth/logout";return(0,o.putOnLocalStorage)("post_logout_state",s),r.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(a),client_id:encodeURI(n),state:s})})((()=>{if("undefined"!=typeof window){const e=O();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,n)=>{n.r(t),n.d(t,{CLEAR_MESSAGE:()=>_,GENERIC_ERROR:()=>w,RESET_LOADING:()=>y,SHOW_MESSAGE:()=>R,START_LOADING:()=>S,STOP_LOADING:()=>h,VALIDATE:()=>m,authErrorHandler:()=>C,createAction:()=>b,defaultErrorHandler:()=>N,deleteRequest:()=>v,downloadFileByContent:()=>H,escapeFilterValue:()=>$,fetchErrorHandler:()=>U,fetchResponseHandler:()=>D,getCSV:()=>F,getRawCSV:()=>V,getRequest:()=>I,postFile:()=>x,postRequest:()=>T,putFile:()=>j,putRequest:()=>q,resetLoading:()=>E,responseHandler:()=>P,showMessage:()=>G,showSuccessMessage:()=>M,startLoading:()=>O,stopLoading:()=>L});var o=n(4824),r=n.n(o),s=n(6530),a=n.n(s),i=n(271),l=n.n(i),u=n(4656),d=n.n(u),c=n(6793),p=n(4341),f=n(8576);let g=r();const w="Yikes. Something seems to be broken. Our web team has been notified, and we apologize for the inconvenience.",y="RESET_LOADING",S="START_LOADING",h="STOP_LOADING",m="VALIDATE",_="CLEAR_MESSAGE",R="SHOW_MESSAGE",b=e=>t=>({type:e,payload:t}),E=b(y),O=b(S),L=b(h),k={},A=e=>0===Object.keys(e).length&&e.constructor===Object,C=(e,t)=>(t,n)=>{let o=e.status,r="";switch(t(L()),o){case 403:let n={title:"ERROR",html:d().translate("errors.user_not_authz"),type:"error"};t(G(n,f.initLogOut));break;case 401:let o=(0,c.getCurrentPathName)(),i=(0,c.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),i||((0,c.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,f.doLogin)(o));break;case 404:r="",r=e.response.body&&e.response.body.message?e.response.body.message:e.response.error&&e.response.error.message?e.response.error.message:e.message,l().fire("Not Found",r,"warning");break;case 412:for(var[s,a]of Object.entries(e.response.body.errors))isNaN(s)&&(r+=s+": "),r+=a+"<br>";l().fire("Validation error",r,"warning"),t({type:m,payload:{errors:e.response.body.errors}});break;default:l().fire("ERROR",d().translate("errors.server_error"),"error")}},I=(e,t,n,o=N,r={})=>(s={})=>(i,l)=>{let u=a()(n);A(s)||(u=u.query(s));let d=u.toString();return e&&"function"==typeof e&&i(e(r)),(e=>{k[e]&&(k[e].abort(),console.log(`aborted request ${e}`),delete k[e])})(d),new Promise(((e,n)=>{let r=g.get(u.toString()).timeout({response:6e4,deadline:6e4}).end(P(i,l,t,o,e,n));((e,t)=>{k[e]=t})(d,r)}))},q=(e,t,n,o,r=N,s={})=>(i={})=>(l,u)=>{let d=a()(n);return A(i)||(d=d.query(i)),e&&"function"==typeof e&&l(e(s)),new Promise(((e,n)=>{null==o&&(o={}),g.put(d.toString()).send(o).end(P(l,u,t,r,e,n))}))},v=(e,t,n,o,r=N,s={})=>i=>(l,u)=>{let d=a()(n);return A(i)||(d=d.query(i)),e&&"function"==typeof e&&l(e(s)),new Promise(((e,n)=>{null==o&&(o={}),g.delete(d).send(o).end(P(l,u,t,r,e,n))}))},T=(e,t,n,o,r=N,s={})=>(i={})=>(l,u)=>{let d=a()(n);return A(i)||(d=d.query(i)),e&&"function"==typeof e&&l(e(s)),new Promise(((e,n)=>{let s=g.post(d);null!=o?s.send(o):s.set("Content-Type","text/plain"),s.end(P(l,u,t,r,e,n))}))},x=(e,t,n,o,r={},s=N,i={})=>(l={})=>(u,d)=>{let c=a()(n);return A(l)||(c=c.query(l)),e&&"function"==typeof e&&u(e(i)),new Promise(((e,n)=>{const a=g.post(c).attach("file",o);A(r)||Object.keys(r).forEach((function(e){let t=r[e];a.field(e,t)})),a.end(P(u,d,t,s,e,n))}))},j=(e,t,n,o=null,r={},s=N,i={})=>(l={})=>(u,d)=>{let c=a()(n);return A(l)||(c=c.query(l)),e&&"function"==typeof e&&u(e(i)),new Promise(((e,n)=>{const a=g.put(c);null!=o&&a.attach("file",o),A(r)||Object.keys(r).forEach((function(e){let t=r[e];a.field(e,t)})),a.end(P(u,d,t,s,e,n))}))},N=(e,t)=>e=>{let n=t.body,o="";n instanceof Object&&n.hasOwnProperty("message")&&(o=n.message),l().fire(t.statusText,o,"error")},P=(e,t,n,o,r,s)=>(a,i)=>{if(a||!i.ok)return o&&o(a,i)(e,t),s({err:a,res:i,dispatch:e,state:t});let l=i.body;return"function"==typeof n?(e(n({response:l})),r({response:l})):(e(n),r({response:l}))},U=e=>{let t=e.status,n=e.statusText;switch(t){case 403:l().fire("ERROR",d().translate("errors.user_not_authz"),"warning");break;case 401:l().fire("ERROR",d().translate("errors.session_expired"),"error");break;case 412:l().fire("ERROR",n,"warning");case 500:l().fire("ERROR",d().translate("errors.server_error"),"error")}},D=e=>{if(e.ok)return e.json();throw e},G=(e,t={})=>n=>{n(L()),l().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))},M=e=>t=>{t(L()),l().fire({title:d().translate("general.done"),html:e,type:"success"})},H=(e,t,n)=>{let o=document.createElement("a");o.textContent="download",o.download=e,o.href=`data:${n},${encodeURIComponent(t)}`,document.body.appendChild(o),o.click(),document.body.removeChild(o)},F=(e,t,n,o=null)=>r=>{let s=a()(e);return A(t)||(s=s.query(t)),r(O()),fetch(s.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>{r(L()),o&&(e=o+"\r\r"+e),H(n,e,"text/csv;charset=utf-8")})).catch(U)},V=(e,t,n=null)=>{let o=a()(e);return A(t)||(o=o.query(t)),fetch(o.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>(n&&(e=n+"\r\r"+e),e))).catch(U)},$=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{base64URLEncode:()=>p,getAuthCallback:()=>o,getCurrentLocation:()=>r,getCurrentPathName:()=>a,getFromLocalStorage:()=>l,getOrigin:()=>s,isClearingSessionState:()=>d,putOnLocalStorage:()=>i,setSessionClearingState:()=>c});n(8362),n(6530);const o=()=>"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},s=()=>"undefined"!=typeof window?window.location.origin:null,a=()=>"undefined"!=typeof window?window.location.pathname:null,i=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},l=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),u(e)),n}return null},u=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=()=>"undefined"!=typeof window&&window.clearing_session_state,c=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},p=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},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 n(o){var r=t[o];if(void 0!==r)return r.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}return(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{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})}})(),n(4054)})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,n)=>{n.d(t,{CLEAR_SESSION_STATE:()=>r});n(4656),n(4054),n(6793),n(8576);const r="CLEAR_SESSION_STATE"},8576:(e,t,n)=>{n.d(t,{doLogin:()=>b,initLogOut:()=>I});var r=n(6793);n(4824);const o=require("browser-tabs-lock");var s=n.n(o),i=n(6530),l=n.n(i);n(3856),n(4341);const u=require("crypto-js/sha256");var d=n.n(u);const c=require("crypto-js/enc-base64url");var p=n.n(c);const f=require("crypto-js/enc-hex");var g=n.n(f);const w=65536,y="undefined"!=typeof window?window.crypto||window.msCrypto:null;new(s());const S="code",h="authInfo",m="nonce",_="pkce",R=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n="";for(let r=0;r<e;r++)n+=t.charAt(Math.floor(Math.random()*t.length));return n},b=(e=null,t=null,n=null)=>{let o=((e=null,t=null,n=null,o=null)=>{let a=L(),s=(0,r.getAuthCallback)(),i=A(),u=C(),d=k();null!=e&&(s+=`?BackUrl=${encodeURI(e)}`);let c=R(16);(0,r.putOnLocalStorage)(m,c);let p=l()(`${i}/oauth2/auth`),f={response_type:encodeURI(d),scope:encodeURI(u),nonce:c,response_mode:"fragment",client_id:encodeURI(a),redirect_uri:encodeURI(s)};if(d===S){const e=E();(0,r.putOnLocalStorage)(_,JSON.stringify(e)),f.code_challenge=e.codeChallenge,f.code_challenge_method="S256",f.approval_prompt="force"}return t&&(f.prompt=t),u&&u.includes("offline_access")&&(f.prompt="consent"),n&&(f.id_token_hint=n),o&&(f.provider=o),p=p.query(f),p})(e,n,null,t);(0,r.getCurrentLocation)().replace(o.toString())},E=()=>{const e=(0,r.base64URLEncode)((e=>{if(e>4294967295)throw new RangeError("requested too many random bytes");const t=Buffer.allocUnsafe(e);if(!y)return a;if(e>0)if(e>w)for(let n=0;n<e;n+=w)y.getRandomValues(t.slice(n,n+w));else y.getRandomValues(t);return t})(64));return{codeVerifier:e,codeChallenge:((e,t="hex")=>{let n=g();return"Base64url"===t&&(n=p()),d()(e).toString(n)})(e,"Base64url"),createdAt:new Date}},O=()=>{try{let e=(0,r.getFromLocalStorage)(h,!1);return e?JSON.parse(e):null}catch(e){return null}},L=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,k=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",A=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,C=()=>"undefined"!=typeof window?window.SCOPES:null,I=()=>{(0,r.getCurrentLocation)().replace((e=>{let t=A(),n=L(),o=l()(`${t}/oauth2/end-session`),a=R(16),s=(0,r.getOrigin)()+"/auth/logout";return(0,r.putOnLocalStorage)("post_logout_state",a),o.query({id_token_hint:e,post_logout_redirect_uri:encodeURI(s),client_id:encodeURI(n),state:a})})((()=>{if("undefined"!=typeof window){const e=O();return e?e.idToken:null}return null})()).toString())}},4054:(e,t,n)=>{n.r(t),n.d(t,{CLEAR_MESSAGE:()=>_,GENERIC_ERROR:()=>w,RESET_LOADING:()=>y,SHOW_MESSAGE:()=>R,START_LOADING:()=>S,STOP_LOADING:()=>h,VALIDATE:()=>m,authErrorHandler:()=>C,createAction:()=>b,defaultErrorHandler:()=>N,deleteRequest:()=>v,downloadFileByContent:()=>H,escapeFilterValue:()=>$,fetchErrorHandler:()=>U,fetchResponseHandler:()=>D,getCSV:()=>F,getRawCSV:()=>V,getRequest:()=>I,postFile:()=>x,postRequest:()=>T,putFile:()=>j,putRequest:()=>q,resetLoading:()=>E,responseHandler:()=>P,showMessage:()=>G,showSuccessMessage:()=>M,startLoading:()=>O,stopLoading:()=>L});var r=n(4824),o=n.n(r),a=n(6530),s=n.n(a),i=n(271),l=n.n(i),u=n(4656),d=n.n(u),c=n(6793),p=n(4341),f=n(8576);let g=o();const w="Yikes. Something seems to be broken. Our web team has been notified, and we apologize for the inconvenience.",y="RESET_LOADING",S="START_LOADING",h="STOP_LOADING",m="VALIDATE",_="CLEAR_MESSAGE",R="SHOW_MESSAGE",b=e=>t=>({type:e,payload:t}),E=b(y),O=b(S),L=b(h),k={},A=e=>0===Object.keys(e).length&&e.constructor===Object,C=(e,t)=>(t,n)=>{let r=e.status,o="";switch(t(L()),r){case 403:let n={title:"ERROR",html:d().translate("errors.user_not_authz"),type:"error"};t(G(n,f.initLogOut));break;case 401:let r=(0,c.getCurrentPathName)(),i=(0,c.isClearingSessionState)();t({type:p.CLEAR_SESSION_STATE,payload:{}}),i||((0,c.setSessionClearingState)(!0),console.log("authErrorHandler 401 - re login"),(0,f.doLogin)(r));break;case 404:o="",o=e.response.body&&e.response.body.message?e.response.body.message:e.response.error&&e.response.error.message?e.response.error.message:e.message,l().fire("Not Found",o,"warning");break;case 412:for(var[a,s]of Object.entries(e.response.body.errors))isNaN(a)&&(o+=a+": "),o+=s+"<br>";l().fire("Validation error",o,"warning"),t({type:m,payload:{errors:e.response.body.errors}});break;default:l().fire("ERROR",d().translate("errors.server_error"),"error")}},I=(e,t,n,r=N,o={})=>(a={})=>(i,l)=>{let u=s()(n);A(a)||(u=u.query(a));let d=u.toString();return e&&"function"==typeof e&&i(e(o)),(e=>{k[e]&&(k[e].abort(),console.log(`aborted request ${e}`),delete k[e])})(d),new Promise(((e,n)=>{let o=g.get(u.toString()).timeout({response:6e4,deadline:6e4}).end(P(i,l,t,r,e,n));((e,t)=>{k[e]=t})(d,o)}))},q=(e,t,n,r,o=N,a={})=>(i={})=>(l,u)=>{let d=s()(n);return A(i)||(d=d.query(i)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,n)=>{null==r&&(r={}),g.put(d.toString()).send(r).end(P(l,u,t,o,e,n))}))},v=(e,t,n,r,o=N,a={})=>i=>(l,u)=>{let d=s()(n);return A(i)||(d=d.query(i)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,n)=>{null==r&&(r={}),g.delete(d).send(r).end(P(l,u,t,o,e,n))}))},T=(e,t,n,r,o=N,a={})=>(i={})=>(l,u)=>{let d=s()(n);return A(i)||(d=d.query(i)),e&&"function"==typeof e&&l(e(a)),new Promise(((e,n)=>{let a=g.post(d);null!=r?a.send(r):a.set("Content-Type","text/plain"),a.end(P(l,u,t,o,e,n))}))},x=(e,t,n,r,o={},a=N,i={})=>(l={})=>(u,d)=>{let c=s()(n);return A(l)||(c=c.query(l)),e&&"function"==typeof e&&u(e(i)),new Promise(((e,n)=>{const s=g.post(c).attach("file",r);A(o)||Object.keys(o).forEach((function(e){let t=o[e];s.field(e,t)})),s.end(P(u,d,t,a,e,n))}))},j=(e,t,n,r=null,o={},a=N,i={})=>(l={})=>(u,d)=>{let c=s()(n);return A(l)||(c=c.query(l)),e&&"function"==typeof e&&u(e(i)),new Promise(((e,n)=>{const s=g.put(c);null!=r&&s.attach("file",r),A(o)||Object.keys(o).forEach((function(e){let t=o[e];s.field(e,t)})),s.end(P(u,d,t,a,e,n))}))},N=(e,t)=>e=>{let n=t.body,r="";n instanceof Object&&n.hasOwnProperty("message")&&(r=n.message),l().fire(t.statusText,r,"error")},P=(e,t,n,r,o,a)=>(s,i)=>{if(s||!i.ok)return r&&r(s,i)(e,t),a({err:s,res:i,dispatch:e,state:t});let l=i.body;return"function"==typeof n?(e(n({response:l})),o({response:l})):(e(n),o({response:l}))},U=e=>{let t=e.status,n=e.statusText;switch(t){case 403:l().fire("ERROR",d().translate("errors.user_not_authz"),"warning");break;case 401:l().fire("ERROR",d().translate("errors.session_expired"),"error");break;case 412:l().fire("ERROR",n,"warning");case 500:l().fire("ERROR",d().translate("errors.server_error"),"error")}},D=e=>{if(e.ok)return e.json();throw e},G=(e,t={})=>n=>{n(L()),l().fire(e).then((e=>{e.value&&"function"==typeof t&&t()}))},M=e=>t=>{t(L()),l().fire({title:d().translate("general.done"),html:e,type:"success"})},H=(e,t,n)=>{let r=document.createElement("a");r.textContent="download",r.download=e,r.href=`data:${n},${encodeURIComponent(t)}`,document.body.appendChild(r),r.click(),document.body.removeChild(r)},F=(e,t,n,r=null)=>o=>{let a=s()(e);return A(t)||(a=a.query(t)),o(O()),fetch(a.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>{o(L()),r&&(e=r+"\r\r"+e),H(n,e,"text/csv;charset=utf-8")})).catch(U)},V=(e,t,n=null)=>{let r=s()(e);return A(t)||(r=r.query(t)),fetch(r.toString()).then((e=>{if(e.ok)return e.text();throw e})).then((e=>(n&&(e=n+"\r\r"+e),e))).catch(U)},$=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{base64URLEncode:()=>p,getAuthCallback:()=>r,getCurrentLocation:()=>o,getCurrentPathName:()=>s,getFromLocalStorage:()=>l,getOrigin:()=>a,isClearingSessionState:()=>d,putOnLocalStorage:()=>i,setSessionClearingState:()=>c});n(8362),n(6530);const r=()=>"undefined"!=typeof window?`${window.location.origin}/auth/callback`:null,o=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},a=()=>"undefined"!=typeof window?window.location.origin:null,s=()=>"undefined"!=typeof window?window.location.pathname:null,i=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},l=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),u(e)),n}return null},u=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},d=()=>"undefined"!=typeof window&&window.clearing_session_state,c=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},p=e=>e.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")},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 n(r){var o=t[r];if(void 0!==o)return o.exports;var a=t[r]={exports:{}};return e[r](a,a.exports,n),a.exports}return(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),n(4054)})()));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,n)=>{n(4656),n(4054),n(6793),n(8576)},8576:(e,t,n)=>{n.d(t,{getAccessToken:()=>p});var r=n(6793);n(4824);const a=require("browser-tabs-lock");var o=n.n(a);n(6530),n(3856),n(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);const s=new(o()),c="openstackuicore.lock.getTokenSilently",i="code",l="authInfo",d="nonce",u="pkce",p=async()=>{if(await(0,r.retryPromise)((()=>s.acquireLock(c,5e3)),10))try{let e=m();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:n,accessTokenUpdatedAt:r,refreshToken:a}=e,o=w(),l=Math.floor(Date.now()/1e3);if(n-=20,l-r>n||null==t){if(console.log("getAccessToken access token expired"),o===i&&k()){if(!a)throw g(),Error("missing Refresh Token");let e=await f(a),{access_token:t,expires_in:n,refresh_token:r}=e;return void 0===r&&(r=null),h(t,n,r),t}throw g(),Error("Access Token Expired.")}return t}finally{await s.releaseLock(c)}throw Error("Lock acquire error.")},f=async e=>{let t=$(),n=y();const a={grant_type:"refresh_token",client_id:encodeURI(n),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),n=await e.json();let{access_token:o,refresh_token:s,expires_in:c}=n;return{access_token:o,refresh_token:s,expires_in:c}}catch(e){throw console.log(e),e}},h=(e,t,n=null,a=null)=>{let o=m(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===n&&o&&(n=o.refreshToken),null===a&&o&&(a=o.idToken),n&&(s.refreshToken=n),a&&(s.idToken=a),(0,r.putOnLocalStorage)(l,JSON.stringify(s))},m=()=>{let e=(0,r.getFromLocalStorage)(l,!1);return null===e?null:JSON.parse(e)},g=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(l),(0,r.removeFromLocalStorage)(d),void(0,r.removeFromLocalStorage)(u)},y=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,w=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",k=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),$=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,n)=>{n.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>i,fetchResponseHandler:()=>l});n(4824),n(6530);var r=n(271),a=n.n(r),o=n(4656),s=n.n(o);n(6793),n(4341),n(8576);const c=e=>t=>({type:e,payload:t}),i=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,n=e.statusText;switch(t){case 403:a().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:a().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:a().fire("ERROR",n,"warning");case 500:a().fire("ERROR",s().translate("errors.server_error"),"error")}}),l=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{buildAPIBaseUrl:()=>a,getCurrentPathName:()=>r,getFromLocalStorage:()=>s,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>c,retryPromise:()=>l,setSessionClearingState:()=>i});n(8362),n(6530);const r=()=>"undefined"!=typeof window?window.location.pathname:null,a=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),n}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},i=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},l=async(e,t=3)=>{for(let n=0;n<t;n++)if(await e())return!0;return!1}},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 n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{n.r(r),n.d(r,{RECEIVE_COUNTRIES:()=>l,geoCodeAddress:()=>E,geoCodeLatLng:()=>U,getCountryList:()=>T,getLanguageList:()=>A,queryAccessLevels:()=>b,queryCompanies:()=>$,queryEventTypes:()=>w,queryEvents:()=>y,queryGroups:()=>k,queryMembers:()=>u,queryOrganizations:()=>v,queryRegistrationCompanies:()=>_,querySpeakers:()=>f,querySponsors:()=>R,querySummits:()=>p,queryTags:()=>h,queryTicketTypes:()=>S,queryTrackGroups:()=>g,queryTracks:()=>m});var e=n(4054),t=n(8576),a=n(6793);const o=require("lodash");var s=n.n(o),c=n(6530),i=n.n(c);const l="RECEIVE_COUNTRIES",d=500,u=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();n=(0,e.escapeFilterValue)(n);let s=encodeURIComponent(`full_name=@${n},first_name=@${n},last_name=@${n},email=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),p=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();n=(0,e.escapeFilterValue)(n);let s=encodeURIComponent(`name=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),f=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c="/api/v1";n&&(c+=`/summits/${n}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${r},first_name=@${r},last_name=@${r},email=@${r}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,a.buildAPIBaseUrl)(c)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),h=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c="/api/v1",i=encodeURIComponent(`tag=@${r}`);c+=n?`/summits/${n}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,a.buildAPIBaseUrl)(c)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];n&&(t=t.map((e=>e.tag))),o(t)})).catch(e.fetchErrorHandler)}),d),m=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c=encodeURIComponent(`name=@${r}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${n}/tracks?filter=${c}&order=name&access_token=${s}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),g=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();let c=(r=(0,e.escapeFilterValue)(r))?encodeURIComponent(`filter=name=@${r}`):"";fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${n}/track-groups?order=name&access_token=${s}&${c}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),y=s().debounce((async(n,r,o=!1,s)=>{const c=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let i=`/api/v1/summits/${n}/events`+(o?"/published":""),l=encodeURIComponent(`title=@${r}`);fetch((0,a.buildAPIBaseUrl)(`${i}?filter=${l}&order=title&access_token=${c}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(e.fetchErrorHandler)}),d),w=s().debounce((async(n,r,o,s=null)=>{let c=`/api/v1/summits/${n}/event-types?order=name&access_token=${await(0,t.getAccessToken)()}`;if(r=(0,e.escapeFilterValue)(r)){c+=`&filter[]=${encodeURIComponent(`name=@${r}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,a.buildAPIBaseUrl)(c)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),k=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();let s=encodeURIComponent(`title=@${n},code=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),$=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();n=(0,e.escapeFilterValue)(n);let s=encodeURIComponent(`name=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),_=s().debounce((async(n,r,o)=>{let s;try{s=await(0,t.getAccessToken)()}catch(e){return void o(e)}let c=i()(`/api/v1/summits/${n}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),r&&(r=(0,e.escapeFilterValue)(r),c.addQuery("filter[]",`name@@${r}`)),fetch((0,a.buildAPIBaseUrl)(c.toString())).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),R=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c=encodeURIComponent(`company_name=@${r}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${n}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),b=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c=encodeURIComponent(`name=@${r}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${n}/access-level-types?filter=${c}&&access_token=${s}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),v=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();n=(0,e.escapeFilterValue)(n);let s=encodeURIComponent(`name=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),A=(t,n)=>fetch((0,a.buildAPIBaseUrl)("/api/public/v1/languages"),{signal:n}).then(e.fetchResponseHandler).then((e=>{t(e.data)})).catch(e.fetchErrorHandler),T=(t,n)=>fetch((0,a.buildAPIBaseUrl)("/api/public/v1/countries"),{signal:n}).then(e.fetchResponseHandler).then((e=>{t(e.data)})).catch(e.fetchErrorHandler);var I;const E=e=>(I||(I=new google.maps.Geocoder),new Promise((function(t,n){I.geocode({address:e},(function(e,r){r==google.maps.GeocoderStatus.OK?t(e):n(r)}))}))),U=(e,t)=>{I||(I=new google.maps.Geocoder);var n={lat:parseFloat(e),lng:parseFloat(t)};return new Promise((function(e,t){I.geocode({location:n},(function(n,r){r==google.maps.GeocoderStatus.OK?e(n):t(r)}))}))},S=s().debounce((async(n,r={},o,s="v1")=>{const c=await(0,t.getAccessToken)();let l=i()(`/api/${s}/summits/${n}/ticket-types`);if(l.addQuery("access_token",c),l.addQuery("order","name"),r.hasOwnProperty("name")){const t=(0,e.escapeFilterValue)(r.name);l.addQuery("filter[]",`name@@${t}`)}if(r.hasOwnProperty("audience")){const t=(0,e.escapeFilterValue)(r.audience);l.addQuery("filter[]",`audience==${t}`)}fetch((0,a.buildAPIBaseUrl)(l.toString())).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d)})(),r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("openstack-uicore-foundation",[],t):"object"==typeof exports?exports["openstack-uicore-foundation"]=t():e["openstack-uicore-foundation"]=t()}(this,(()=>(()=>{"use strict";var e={4341:(e,t,n)=>{n(4656),n(4054),n(6793),n(8576)},8576:(e,t,n)=>{n.d(t,{getAccessToken:()=>p});var r=n(6793);n(4824);const a=require("browser-tabs-lock");var o=n.n(a);n(6530),n(3856),n(4341);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);const s=new(o()),c="openstackuicore.lock.getTokenSilently",i="code",l="authInfo",d="nonce",u="pkce",p=async()=>{if(await(0,r.retryPromise)((()=>s.acquireLock(c,5e3)),10))try{let e=m();if(!e)throw Error("Missing Auth info.");let{accessToken:t,expiresIn:n,accessTokenUpdatedAt:r,refreshToken:a}=e,o=w(),l=Math.floor(Date.now()/1e3);if(n-=20,l-r>n||null==t){if(console.log("getAccessToken access token expired"),o===i&&k()){if(!a)throw g(),Error("missing Refresh Token");let e=await f(a),{access_token:t,expires_in:n,refresh_token:r}=e;return void 0===r&&(r=null),h(t,n,r),t}throw g(),Error("Access Token Expired.")}return t}finally{await s.releaseLock(c)}throw Error("Lock acquire error.")},f=async e=>{let t=$(),n=y();const a={grant_type:"refresh_token",client_id:encodeURI(n),refresh_token:e};try{const e=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(a)}).then((e=>{if(400===e.status){(0,r.getCurrentPathName)();throw(0,r.setSessionClearingState)(!0),Error(`${e.status} - ${e.statusText}`)}return e})).catch((function(e){throw Error(`Request failed: ${e.message}`)})),n=await e.json();let{access_token:o,refresh_token:s,expires_in:c}=n;return{access_token:o,refresh_token:s,expires_in:c}}catch(e){throw console.log(e),e}},h=(e,t,n=null,a=null)=>{let o=m(),s={accessToken:e,expiresIn:t,accessTokenUpdatedAt:Math.floor(Date.now()/1e3)};null===n&&o&&(n=o.refreshToken),null===a&&o&&(a=o.idToken),n&&(s.refreshToken=n),a&&(s.idToken=a),(0,r.putOnLocalStorage)(l,JSON.stringify(s))},m=()=>{try{let e=(0,r.getFromLocalStorage)(l,!1);return e?JSON.parse(e):null}catch(e){return null}},g=()=>{if("undefined"!=typeof window)return(0,r.removeFromLocalStorage)(l),(0,r.removeFromLocalStorage)(d),void(0,r.removeFromLocalStorage)(u)},y=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,w=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",k=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),$=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null},4054:(e,t,n)=>{n.d(t,{escapeFilterValue:()=>d,fetchErrorHandler:()=>i,fetchResponseHandler:()=>l});n(4824),n(6530);var r=n(271),a=n.n(r),o=n(4656),s=n.n(o);n(6793),n(4341),n(8576);const c=e=>t=>({type:e,payload:t}),i=(c("RESET_LOADING"),c("START_LOADING"),c("STOP_LOADING"),e=>{let t=e.status,n=e.statusText;switch(t){case 403:a().fire("ERROR",s().translate("errors.user_not_authz"),"warning");break;case 401:a().fire("ERROR",s().translate("errors.session_expired"),"error");break;case 412:a().fire("ERROR",n,"warning");case 500:a().fire("ERROR",s().translate("errors.server_error"),"error")}}),l=e=>{if(e.ok)return e.json();throw e},d=e=>e=(e=e.replace(/,/g,"\\,")).replace(/;/g,"\\;")},6793:(e,t,n)=>{n.d(t,{buildAPIBaseUrl:()=>a,getCurrentPathName:()=>r,getFromLocalStorage:()=>s,putOnLocalStorage:()=>o,removeFromLocalStorage:()=>c,retryPromise:()=>l,setSessionClearingState:()=>i});n(8362),n(6530);const r=()=>"undefined"!=typeof window?window.location.pathname:null,a=e=>"undefined"!=typeof window?`${window.API_BASE_URL}${e}`:null``,o=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},s=(e,t)=>{if("undefined"!=typeof window){let n=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),c(e)),n}return null},c=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},i=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},l=async(e,t=3)=>{for(let n=0;n<t;n++)if(await e())return!0;return!1}},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 n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}(()=>{n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t}})(),(()=>{n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}})(),(()=>{n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})();var r={};return(()=>{n.r(r),n.d(r,{RECEIVE_COUNTRIES:()=>l,geoCodeAddress:()=>E,geoCodeLatLng:()=>S,getCountryList:()=>T,getLanguageList:()=>v,queryAccessLevels:()=>b,queryCompanies:()=>$,queryEventTypes:()=>w,queryEvents:()=>y,queryGroups:()=>k,queryMembers:()=>u,queryOrganizations:()=>A,queryRegistrationCompanies:()=>_,querySpeakers:()=>f,querySponsoredProjects:()=>H,querySponsors:()=>R,querySummits:()=>p,queryTags:()=>h,queryTicketTypes:()=>U,queryTrackGroups:()=>g,queryTracks:()=>m});var e=n(4054),t=n(8576),a=n(6793);const o=require("lodash");var s=n.n(o),c=n(6530),i=n.n(c);const l="RECEIVE_COUNTRIES",d=500,u=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();n=(0,e.escapeFilterValue)(n);let s=encodeURIComponent(`full_name=@${n},first_name=@${n},last_name=@${n},email=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/members?filter=${s}&expand=tickets,rsvp,schedule_summit_events,all_affiliations&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),p=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();n=(0,e.escapeFilterValue)(n);let s=encodeURIComponent(`name=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/all?filter=${s}&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),f=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c="/api/v1";n&&(c+=`/summits/${n}`),c+=`/speakers?filter=${encodeURIComponent(`full_name=@${r},first_name=@${r},last_name=@${r},email=@${r}`)}&access_token=${s}&expand=member,registration_request`,fetch((0,a.buildAPIBaseUrl)(c)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),h=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c="/api/v1",i=encodeURIComponent(`tag=@${r}`);c+=n?`/summits/${n}/track-tag-groups/all/allowed-tags?filter=${i}&expand=tag,track_tag_group`:`/tags?filter=${i}`,c+=`&order=tag&page=1&per_page=50&access_token=${s}`,fetch((0,a.buildAPIBaseUrl)(c)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];n&&(t=t.map((e=>e.tag))),o(t)})).catch(e.fetchErrorHandler)}),d),m=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c=encodeURIComponent(`name=@${r}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${n}/tracks?filter=${c}&order=name&access_token=${s}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),g=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();let c=(r=(0,e.escapeFilterValue)(r))?encodeURIComponent(`filter=name=@${r}`):"";fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${n}/track-groups?order=name&access_token=${s}&${c}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),y=s().debounce((async(n,r,o=!1,s)=>{const c=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let i=`/api/v1/summits/${n}/events`+(o?"/published":""),l=encodeURIComponent(`title=@${r}`);fetch((0,a.buildAPIBaseUrl)(`${i}?filter=${l}&order=title&access_token=${c}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];s(t)})).catch(e.fetchErrorHandler)}),d),w=s().debounce((async(n,r,o,s=null)=>{let c=`/api/v1/summits/${n}/event-types?order=name&access_token=${await(0,t.getAccessToken)()}`;if(r=(0,e.escapeFilterValue)(r)){c+=`&filter[]=${encodeURIComponent(`name=@${r}`)}`}if(s){c+=`&filter[]=${encodeURIComponent(`class_name==${s}`)}`}fetch((0,a.buildAPIBaseUrl)(c)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),k=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();let s=encodeURIComponent(`title=@${n},code=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/groups?filter=${s}&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),$=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();n=(0,e.escapeFilterValue)(n);let s=encodeURIComponent(`name=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/companies?filter=${s}&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),_=s().debounce((async(n,r,o)=>{let s;try{s=await(0,t.getAccessToken)()}catch(e){return void o(e)}let c=i()(`/api/v1/summits/${n}/registration-companies`);c.addQuery("access_token",s),c.addQuery("order","name"),r&&(r=(0,e.escapeFilterValue)(r),c.addQuery("filter[]",`name@@${r}`)),fetch((0,a.buildAPIBaseUrl)(c.toString())).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),R=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c=encodeURIComponent(`company_name=@${r}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${n}/sponsors?filter=${c}&expand=company,sponsorship&access_token=${s}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),b=s().debounce((async(n,r,o)=>{const s=await(0,t.getAccessToken)();r=(0,e.escapeFilterValue)(r);let c=encodeURIComponent(`name=@${r}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/summits/${n}/access-level-types?filter=${c}&&access_token=${s}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),A=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)();n=(0,e.escapeFilterValue)(n);let s=encodeURIComponent(`name=@${n}`);fetch((0,a.buildAPIBaseUrl)(`/api/v1/organizations?filter=${s}&access_token=${o}`)).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d),v=(t,n)=>fetch((0,a.buildAPIBaseUrl)("/api/public/v1/languages"),{signal:n}).then(e.fetchResponseHandler).then((e=>{t(e.data)})).catch(e.fetchErrorHandler),T=(t,n)=>fetch((0,a.buildAPIBaseUrl)("/api/public/v1/countries"),{signal:n}).then(e.fetchResponseHandler).then((e=>{t(e.data)})).catch(e.fetchErrorHandler);var I;const E=e=>(I||(I=new google.maps.Geocoder),new Promise((function(t,n){I.geocode({address:e},(function(e,r){r==google.maps.GeocoderStatus.OK?t(e):n(r)}))}))),S=(e,t)=>{I||(I=new google.maps.Geocoder);var n={lat:parseFloat(e),lng:parseFloat(t)};return new Promise((function(e,t){I.geocode({location:n},(function(n,r){r==google.maps.GeocoderStatus.OK?e(n):t(r)}))}))},U=s().debounce((async(n,r={},o,s="v1")=>{const c=await(0,t.getAccessToken)();let l=i()(`/api/${s}/summits/${n}/ticket-types`);if(l.addQuery("access_token",c),l.addQuery("order","name"),r.hasOwnProperty("name")){const t=(0,e.escapeFilterValue)(r.name);l.addQuery("filter[]",`name@@${t}`)}if(r.hasOwnProperty("audience")){const t=(0,e.escapeFilterValue)(r.audience);l.addQuery("filter[]",`audience==${t}`)}fetch((0,a.buildAPIBaseUrl)(l.toString())).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];o(t)})).catch(e.fetchErrorHandler)}),d),H=s().debounce((async(n,r)=>{const o=await(0,t.getAccessToken)(),s=i()("/api/v1/sponsored-projects");s.addQuery("access_token",o),n&&(n=(0,e.escapeFilterValue)(n),s.addQuery("filter[]",`name=@${n}`)),fetch((0,a.buildAPIBaseUrl)(s.toString())).then(e.fetchResponseHandler).then((e=>{let t=[...e.data];r(t)})).catch(e.fetchErrorHandler)}),d)})(),r})()));