openstack-uicore-foundation 5.0.16-beta.1 → 5.0.17-beta.2

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 (86) hide show
  1. package/lib/components/index.js +1 -1
  2. package/lib/components/index.js.map +1 -1
  3. package/lib/components/inputs/access-levels-input.js.map +1 -1
  4. package/lib/components/inputs/attendee-input.js.map +1 -1
  5. package/lib/components/inputs/company-input-v2.js.map +1 -1
  6. package/lib/components/inputs/company-input.js.map +1 -1
  7. package/lib/components/inputs/country-dropdown.js.map +1 -1
  8. package/lib/components/inputs/country-input.js.map +1 -1
  9. package/lib/components/inputs/event-input.js.map +1 -1
  10. package/lib/components/inputs/group-input.js.map +1 -1
  11. package/lib/components/inputs/language-input.js.map +1 -1
  12. package/lib/components/inputs/member-input.js.map +1 -1
  13. package/lib/components/inputs/organization-input.js.map +1 -1
  14. package/lib/components/inputs/promocode-input.js.map +1 -1
  15. package/lib/components/inputs/registration-company-input.js.map +1 -1
  16. package/lib/components/inputs/speaker-input.js.map +1 -1
  17. package/lib/components/inputs/sponsor-input.js.map +1 -1
  18. package/lib/components/inputs/summit-input.js.map +1 -1
  19. package/lib/components/inputs/tag-input.js.map +1 -1
  20. package/lib/components/inputs/ticket-types-input.js.map +1 -1
  21. package/lib/components/inputs/upload-input-v2.js +1 -1
  22. package/lib/components/inputs/upload-input-v2.js.map +1 -1
  23. package/lib/components/inputs/upload-input-v3.js +1 -1
  24. package/lib/components/inputs/upload-input-v3.js.map +1 -1
  25. package/lib/components/mui/cards/inline-card.js +2 -0
  26. package/lib/components/mui/cards/inline-card.js.map +1 -0
  27. package/lib/components/mui/cards/list-card.js +2 -0
  28. package/lib/components/mui/cards/list-card.js.map +1 -0
  29. package/lib/components/mui/cards/table-card.js +2 -0
  30. package/lib/components/mui/cards/table-card.js.map +1 -0
  31. package/lib/components/mui/cards.js +2 -0
  32. package/lib/components/mui/cards.js.map +1 -0
  33. package/lib/components/mui/editable-table.js.map +1 -1
  34. package/lib/components/mui/form-item-table.js +1 -1
  35. package/lib/components/mui/form-item-table.js.map +1 -1
  36. package/lib/components/mui/formik-inputs/additional-input-list.js.map +1 -1
  37. package/lib/components/mui/formik-inputs/additional-input.js.map +1 -1
  38. package/lib/components/mui/formik-inputs/async-select.js.map +1 -1
  39. package/lib/components/mui/formik-inputs/checkbox-group.js.map +1 -1
  40. package/lib/components/mui/formik-inputs/company-input.js.map +1 -1
  41. package/lib/components/mui/formik-inputs/datepicker.js +1 -1
  42. package/lib/components/mui/formik-inputs/datepicker.js.map +1 -1
  43. package/lib/components/mui/formik-inputs/discount-field.js.map +1 -1
  44. package/lib/components/mui/formik-inputs/dropdown-checkbox.js +1 -1
  45. package/lib/components/mui/formik-inputs/dropdown-checkbox.js.map +1 -1
  46. package/lib/components/mui/formik-inputs/dropdown-radio.js +1 -1
  47. package/lib/components/mui/formik-inputs/dropdown-radio.js.map +1 -1
  48. package/lib/components/mui/formik-inputs/file-size-field.js.map +1 -1
  49. package/lib/components/mui/formik-inputs/item-price-tiers.js.map +1 -1
  50. package/lib/components/mui/formik-inputs/price-field.js.map +1 -1
  51. package/lib/components/mui/formik-inputs/sponsor-input.js.map +1 -1
  52. package/lib/components/mui/formik-inputs/sponsorship-input.js.map +1 -1
  53. package/lib/components/mui/formik-inputs/sponsorship-summit-select.js.map +1 -1
  54. package/lib/components/mui/formik-inputs/summit-addon-select.js.map +1 -1
  55. package/lib/components/mui/formik-inputs/timepicker.js +1 -1
  56. package/lib/components/mui/formik-inputs/timepicker.js.map +1 -1
  57. package/lib/components/mui/formik-inputs/upload.js +1 -1
  58. package/lib/components/mui/formik-inputs/upload.js.map +1 -1
  59. package/lib/components/mui/infinite-table.js.map +1 -1
  60. package/lib/components/mui/item-settings-modal.js +1 -1
  61. package/lib/components/mui/item-settings-modal.js.map +1 -1
  62. package/lib/components/mui/order-summary.js.map +1 -1
  63. package/lib/components/mui/search-input.js.map +1 -1
  64. package/lib/components/mui/snackbar-notification.js.map +1 -1
  65. package/lib/components/mui/sortable-table.js.map +1 -1
  66. package/lib/components/mui/sponsor-addon-select.js.map +1 -1
  67. package/lib/components/mui/status-chip.js.map +1 -1
  68. package/lib/components/mui/stripe-payment.js.map +1 -1
  69. package/lib/components/mui/summit-addon-select.js.map +1 -1
  70. package/lib/components/mui/summits-dropdown.js.map +1 -1
  71. package/lib/components/mui/table/extra-rows.js +1 -1
  72. package/lib/components/mui/table/extra-rows.js.map +1 -1
  73. package/lib/components/mui/table.js.map +1 -1
  74. package/lib/components/mui/upload-dialog.js +1 -1
  75. package/lib/components/mui/upload-dialog.js.map +1 -1
  76. package/lib/components/sponsored-project-input.js.map +1 -1
  77. package/lib/css/components/mui/formik-inputs/upload.css +1 -1
  78. package/lib/css/components/mui/formik-inputs/upload.css.map +1 -1
  79. package/lib/i18n.js +1 -1
  80. package/lib/i18n.js.map +1 -1
  81. package/lib/utils/actions.js.map +1 -1
  82. package/lib/utils/money.js.map +1 -1
  83. package/lib/utils/query-actions.js.map +1 -1
  84. package/package.json +1 -1
  85. package/lib/components/mui/dashboard-card.js +0 -2
  86. package/lib/components/mui/dashboard-card.js.map +0 -1
@@ -1,2 +1,2 @@
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={8418:(e,t,o)=>{o.d(t,{j:()=>m});var r=o(2015),n=o.n(r);const s=require("extend");var i=o.n(s);require("dropzone/dist/dropzone.css");const a=e=>n().createElement("div",{"data-filetype":e.filetype,className:"filepicker-file-icon"});var l=o(9825),c=o.n(l),p=o(2183),d=o(3195),u=o(8853);let h=null;class m extends n().Component{constructor(e){super(e),this.dropzoneRef=n().createRef(),this.state={files:[]},this.onUploadComplete=this.onUploadComplete.bind(this),this.onError=this.onError.bind(this),this.activeXHRs=new Map,this.chunkQueue=[],this.chunksInFlight=0}onError(e,t){this.props.onError&&this.props.onError(e,t,this.props.id)}onUploadComplete(e){this.props.onUploadComplete&&this.props.onUploadComplete(e,this.props.id,this.props.data)}processChunkQueue(){const e=this.props.maxConcurrentChunks||6;for(;this.chunkQueue.length>0&&this.chunksInFlight<e;){const{files:e,dataBlocks:t}=this.chunkQueue.shift();this.chunksInFlight++,this._originalUploadData(e,t)}}setupChunkThrottle(){this.dropzone&&this.dropzone._uploadData&&(this._originalUploadData=this.dropzone._uploadData.bind(this.dropzone),this.dropzone._uploadData=(e,t)=>{1===t.length&&void 0!==t[0].chunkIndex?(this.chunkQueue.push({files:e,dataBlocks:t}),this.processChunkQueue()):this._originalUploadData(e,t)})}onChunkComplete(){this.chunksInFlight=Math.max(0,this.chunksInFlight-1),this.processChunkQueue()}pollUploadStatus(e,t,o){if(o._pollingActive)return;o._pollingActive=!0;const r=`${t}/status/${e}`;let n=0;this._pollInterval=setInterval((async()=>{if(n++,n>300)return clearInterval(this._pollInterval),this._pollInterval=null,o._pollingActive=!1,void this.onError({message:"Upload timed out"});try{const e=await(0,p.getAccessToken)(),t=await fetch(r,{headers:{Authorization:`Bearer ${e}`}}),n=await t.json();"complete"===n.status?(clearInterval(this._pollInterval),this._pollInterval=null,o._pollingActive=!1,null!=o&&o._chunksUploadedDone&&o._chunksUploadedDone(),this.onUploadComplete(n)):"error"===n.status&&(clearInterval(this._pollInterval),this._pollInterval=null,o._pollingActive=!1,this.onError(n))}catch(e){clearInterval(this._pollInterval),this._pollInterval=null,o._pollingActive=!1,this.onError(e)}}),2e3)}getDjsConfig(){let e=null;const t={url:this.props.config.postUrl?this.props.config.postUrl:null};if(null===t.url)throw new Error("missing postUrl");return e=this.props.djsConfig?i()(!0,{},t,this.props.djsConfig):t,e.accept=async(t,o)=>{try{t.accessToken=await(0,p.getAccessToken)(),t.md5=await(0,u.Zq)(t),t.fileSize=t.size}catch(e){return console.log(e),this.onError(e),e.message&&e.message.startsWith(d.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR)||(0,p.initLogOut)(),void o(e.message||"Auth error")}e.maxFiles&&e.maxFiles<this.state.files.length+this.props.uploadCount&&o("Max files reached."),o()},e.chunksUploaded=(e,t)=>{e._asyncProcessing?e._chunksUploadedDone=t:t()},e}componentDidMount(){if(!this.dropzoneRef.current)return;const e=this.getDjsConfig();h=h||o(4999),h.autoDiscover=!1,this.props.config.postUrl||this.props.eventHandlers.drop||console.info('Neither postUrl nor a "drop" eventHandler specified, the React-Dropzone component might misbehave.');const t=this.dropzoneRef.current;if(!t)throw new Error("Dropzone node not found");this.dropzone=new h(t,e),this.setupChunkThrottle(),this.setupEvents()}componentWillUnmount(){if(this._pollInterval&&(clearInterval(this._pollInterval),this._pollInterval=null),this.chunkQueue=[],this.chunksInFlight=0,this.activeXHRs.forEach(((e,t)=>{e.forEach((e=>{e.readyState!==XMLHttpRequest.DONE&&e.abort()}))})),this.activeXHRs.clear(),this.dropzone){const e=this.dropzone.getActiveFiles();e.length>0?(e.forEach((e=>{this.dropzone.cancelUpload(e)})),this.dropzone=this.destroy(this.dropzone)):this.dropzone=this.destroy(this.dropzone)}}componentDidUpdate(){const{config:e,djsConfig:t}=this.props,o=t||{},r=e&&e.postUrl?{url:e.postUrl}:{};if(this.queueDestroy=!1,!this.dropzone){const e=this.dropzoneRef.current;if(!e)throw new Error("Dropzone node not found");this.dropzone=new h(e,this.getDjsConfig()),this.setupChunkThrottle(),this.setupEvents()}this.dropzone.options=i()(!0,{},this.dropzone.options,o,r)}render(){const e=[],{files:t}=this.state,{config:o}=this.props,r=this.props.className?"filepicker dropzone "+this.props.className:"filepicker dropzone";if(o.showFiletypeIcon&&o.iconFiletypes&&(!t||t.length<1))for(var s=0;s<this.props.config.iconFiletypes.length;s+=1)e.push(n().createElement(a,{filetype:o.iconFiletypes[s],key:"icon-component"+s}));return!this.props.config.postUrl&&this.props.action?n().createElement("form",{ref:this.dropzoneRef,action:this.props.action,className:r},e,this.props.children):n().createElement("div",{ref:this.dropzoneRef,id:this.props.id,className:r}," ",e," ",this.props.children," ")}setupEvents(){const e=this.props.eventHandlers;if(this.dropzone&&e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])if("[object Array]"===Object.prototype.toString.call(e[t]))for(var o=0;o<e[t].length;o+=1)"init"===t?e[t][o](this.dropzone):this.dropzone.on(t,e[t][o]);else"init"===t?e[t](this.dropzone):this.dropzone.on(t,e[t]);this.dropzone.on("addedfile",(async e=>{if(!e)return;const t=this.state.files||[];t.push(e),this.setState({files:t})})),this.dropzone.on("removedfile",(e=>{if(!e)return;const t=this.activeXHRs.get(e);t&&(t.forEach((e=>{e.readyState!==XMLHttpRequest.DONE&&e.abort()})),this.activeXHRs.delete(e));const o=this.state.files||[];o.forEach(((t,r)=>{t.name===e.name&&t.size===e.size&&o.splice(r,1)})),this.setState({files:o})})),this.dropzone.on("uploadprogress",((e,t,o)=>{const r=Math.max(o,e._completedBytes||0);if(t=Math.min(r/e.size*100,100),e.previewElement){let o=e.previewElement.querySelectorAll("[data-dz-uploadprogress]");o.length>0&&(o=o[0]),o&&(o.style.width=t+"%")}})),this.dropzone.on("sending",((e,t,o)=>{null!=e&&e.accessToken&&t.setRequestHeader("Authorization",`Bearer ${e.accessToken}`),null!=e&&e.md5&&o.append("md5",e.md5),o.append("size",String((null==e?void 0:e.size)||0)),console.log(`DropzoneJS::sending md5 ${null==e?void 0:e.md5} size ${null==e?void 0:e.size}`),this.activeXHRs.has(e)||this.activeXHRs.set(e,[]),this.activeXHRs.get(e).push(t);let r=this,n=t.onload;t.onload=function(o){var s,i;const a=r.activeXHRs.get(e);if(a){const e=a.indexOf(t);e>-1&&a.splice(e,1)}r.onChunkComplete();const l=(null===(s=r.dropzone)||void 0===s||null===(i=s.options)||void 0===i?void 0:i.chunkSize)||2e6;let c;e._completedBytes=Math.min((e._completedBytes||0)+l,e.size);try{c=JSON.parse(t.responseText)}catch(e){c={}}if(202==(null==t?void 0:t.status)&&c.file_id&&(e._asyncProcessing=!0),n(o),200==(null==t?void 0:t.status))"string"==typeof c.name&&r.onUploadComplete(c);else if(202==(null==t?void 0:t.status)&&c.file_id){const t=r.props.config.postUrl;r.pollUploadStatus(c.file_id,t,e)}else 200!=(null==t?void 0:t.status)&&202!=(null==t?void 0:t.status)&&r.onError(c,null==t?void 0:t.status)};let s=t.onerror;t.onerror=function(e){r.onChunkComplete(),s&&s(e)}})),this.dropzone.on("error",((e,t)=>{console.log("DropzoneJS::error",t),this.onError(t)}))}}destroy(e){return e.off(),e.destroy()}}m.defaultProps={djsConfig:{},config:{},eventHandlers:{},data:{}},m.propTypes={id:c().string.isRequired}},5097:(e,t,o)=>{o(1116),o(6842),o(9087),o(9558),o(2183)},3195:(e,t,o)=>{o.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>i,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>n,AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR:()=>l,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>a});const r="AUTH_ERROR_MISSING_AUTH_INFO",n="AUTH_ERROR_MISSING_REFRESH_TOKEN",s="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",i="AUTH_ERROR_LOCK_ACQUIRE_ERROR",a="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR",l="AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR"},2183:(e,t,o)=>{o.d(t,{getAccessToken:()=>_,initLogOut:()=>b});var r=o(9558),n=o(5812),s=o.n(n);o(806);const i=require("browser-tabs-lock");var a=o.n(i);const l=require("js-cookie");var c=o.n(l),p=o(8041),d=o.n(p),u=(o(9891),o(5097),o(8853),o(3195));const Lock=new(a()),GET_TOKEN_SILENTLY_LOCK_KEY="openstackuicore.lock.getTokenSilently",h="code",m="authInfo",f="idToken",E=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(62*Math.random()));return o},g=async(e,t)=>{if(e===h&&S()){if(!t)throw w(),Error(u.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await(async(e,t=5,o=1e3)=>{for(let r=0;r<t;r++)try{return await e()}catch(e){if(!e.message||!e.message.startsWith(u.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR)||r===t-1)throw e;const n=o*Math.pow(2,r);console.log(`retryWithBackoff retry ${r+1}/${t} in ${n}ms`),await new Promise((e=>setTimeout(e,n)))}})((()=>y(t))),{access_token:o,expires_in:r,refresh_token:n,id_token:s}=e;return void 0===n&&(n=null),v(o,r,n,s),o}throw w(),Error(u.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)},R=async()=>{console.log("openstack-uicore-foundation::Security::methods::_getAccessToken");let e=O();if(!e)throw console.log("openstack-uicore-foundation::Security::methods::_getAccessToken AUTH_ERROR_MISSING_AUTH_INFO"),Error(u.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,i=T();const a=s()().unix();let l=a-r;return o-=60,console.log(`openstack-uicore-foundation::Security::methods::_getAccessToken now ${a} accessTokenUpdatedAt ${r} expiresIn ${o} timeElapsedSecs ${l}`),(l>=o||null==t)&&(console.log("openstack-uicore-foundation::Security::methods::_getAccessToken access token expired, refreshing it ..."),t=await g(i,n)),t},_=async()=>{if("undefined"!=typeof navigator&&navigator.locks)return await navigator.locks.request(GET_TOKEN_SILENTLY_LOCK_KEY,(async e=>(console.log("openstack-uicore-foundation::Security::methods::getAccessToken web lock api",e),await R())));if(!await(0,r.retryPromise)((()=>Lock.acquireLock(GET_TOKEN_SILENTLY_LOCK_KEY,6e3)),10))throw Error(u.AUTH_ERROR_LOCK_ACQUIRE_ERROR);try{return await R()}finally{await Lock.releaseLock(GET_TOKEN_SILENTLY_LOCK_KEY)}},y=async e=>{let t=z(),o=x();const n={grant_type:"refresh_token",client_id:encodeURI(o),refresh_token:e},s=new AbortController,i=setTimeout((()=>s.abort()),1e4);let a,l;try{a=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n),signal:s.signal})}catch(e){throw console.log("refreshAccessToken network error:",e.message),Error(`${u.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: ${e.message}`)}finally{clearTimeout(i)}if(!a.ok){if(console.log(`refreshAccessToken server error: ${a.status} - ${a.statusText}`),a.status>=500||408===a.status||429===a.status)throw Error(`${u.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: ${a.status} - ${a.statusText}`);throw(0,r.setSessionClearingState)(!0),Error(`${u.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${a.status} - ${a.statusText}`)}try{l=await a.json()}catch(e){throw Error(`${u.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: invalid JSON response from IDP`)}let{access_token:c,refresh_token:p,expires_in:d,id_token:h}=l;if(!c)throw(0,r.setSessionClearingState)(!0),Error(`${u.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: missing access_token in refresh response`);return{access_token:c,refresh_token:p,expires_in:d,id_token:h}},v=(e,t,o=null,n=null)=>{let s=O(),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[f]=n,c().set(f,n,{secure:!0,sameSite:"Lax"})):c().remove(f),(0,r.putOnLocalStorage)(m,JSON.stringify(i))},O=()=>{try{let e=(0,r.getFromLocalStorage)(m,!1);return e?JSON.parse(e):null}catch(e){return null}},w=()=>{"undefined"!=typeof window&&((0,r.removeFromLocalStorage)(m),c().remove(f))},k=()=>{if("undefined"!=typeof window){const e=O();return e?e.idToken:null}return null},x=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,T=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",S=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),z=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,b=()=>{(0,r.getCurrentLocation)().replace(((e=null)=>{let t=z(),o=x(),n=d()(`${t}/oauth2/end-session`),s=E(16),i=`${(0,r.getOrigin)()}/auth/logout`;(0,r.putOnLocalStorage)("post_logout_state",s);const a={post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:s};return e&&(a.id_token_hint=e),n.query(a)})(k()).toString())}},9087:(e,t,o)=>{o(2462),o(1116),o(806);var r=o(8041),n=o.n(r);o(9236),o(6842),o(9558),o(5097),o(2183),o(3209);n().escapeQuerySpace=!1;const s=e=>t=>({type:e,payload:t});s("RESET_LOADING"),s("START_LOADING"),s("STOP_LOADING")},3209:(e,t,o)=>{},8853:(e,t,o)=>{o.d(t,{Zq:()=>s});const r=require("spark-md5");var n=o.n(r);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);const s=e=>new Promise(((t,o)=>{const r=2097152,s=new(n().ArrayBuffer),i=new FileReader;let a=0;function l(){const t=e.slice(a,a+r);i.readAsArrayBuffer(t)}i.onload=o=>{s.append(o.target.result),a+=r,a<e.size?l():t(s.end())},i.onerror=()=>o("Error reading the file"),l()}))},9558:(e,t,o)=>{o.d(t,{getCurrentLocation:()=>r,getFromLocalStorage:()=>i,getOrigin:()=>n,putOnLocalStorage:()=>s,removeFromLocalStorage:()=>a,retryPromise:()=>c,setSessionClearingState:()=>l});o(5812),o(8041);const r=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},n=()=>"undefined"!=typeof window?window.location.origin:null,s=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},i=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),a(e)),o}return null},a=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},l=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},c=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},1116:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},6031:e=>{e.exports=require("@babel/runtime/helpers/extends")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},8177:e=>{e.exports=require("@mui/icons-material/CheckCircle")},4325:e=>{e.exports=require("@mui/icons-material/Close")},6084:e=>{e.exports=require("@mui/icons-material/Delete")},8619:e=>{e.exports=require("@mui/material")},4999:e=>{e.exports=require("dropzone")},6842:e=>{e.exports=require("i18n-react/dist/i18n-react")},9891:e=>{e.exports=require("idtoken-verifier")},5812:e=>{e.exports=require("moment-timezone")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")},806:e=>{e.exports=require("superagent/lib/client")},9236:e=>{e.exports=require("sweetalert2")},8041: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}(()=>{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={};o.r(r),o.d(r,{default:()=>C});var n=o(1116),s=o.n(n),i=o(2015),a=o.n(i),l=o(8619);const c=require("@mui/icons-material/UploadFile");var p=o.n(c),d=o(6084),u=o.n(d),h=o(8177),m=o.n(h);const f=require("@mui/icons-material/ErrorOutline");var E=o.n(f),g=o(4325),R=o.n(g),_=o(6031),y=o.n(_),v=o(2462),O=o.n(v),w=o(8418);const k=["onAddedFile","onUploadProgress","onFileRemoved","onFileCompleted","onFileError","onDropzoneReady","eventHandlers","children"];function x(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 T(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?x(Object(o),!0).forEach((function(t){s()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):x(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const S=e=>{let{onAddedFile:t,onUploadProgress:o,onFileRemoved:r,onFileCompleted:n,onFileError:s,onDropzoneReady:i,eventHandlers:l={},children:c}=e,p=O()(e,k);const d=T(T({},l),{},{init:e=>{i&&i(e),l.init&&l.init(e)},addedfile:e=>{t&&t(e),l.addedfile&&l.addedfile(e)},removedfile:e=>{r&&r(e),l.removedfile&&l.removedfile(e)},uploadprogress:(e,t,r)=>{o&&o(e,e.size>0?r/e.size*100:0),l.uploadprogress&&l.uploadprogress(e,t,r)},success:e=>{n&&n(e),l.success&&l.success(e)},error:(e,t)=>{s&&s(e,t),l.error&&l.error(e,t)}});return a().createElement(w.j,y()({},p,{eventHandlers:d}),c)};function z(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 b(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?z(Object(o),!0).forEach((function(t){s()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):z(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const C=({value:e=[],onRemove:t,canAdd:o=!0,canDelete:r=!0,mediaType:n,postUrl:s,maxFiles:c=1,timeOut:d,onUploadComplete:h,djsConfig:f,id:g,parallelChunkUploads:_=!1,maxConcurrentChunks:y=6,onError:v=()=>{},getAllowedExtensions:O=null,getMaxSize:w=null,error:k,label:x,helpText:T})=>{const z=(0,i.useRef)(null),[C,U]=(0,i.useState)([]),[A,I]=(0,i.useState)([]),H=(0,i.useCallback)((()=>{var e;return n&&n.type?null==n||null===(e=n.type)||void 0===e?void 0:e.allowed_extensions.map((e=>`.${e.toLowerCase()}`)).join(","):""}),[n]),N=(0,i.useCallback)((()=>n?(null==n?void 0:n.max_size)/1048576:100),[n]),F=(0,i.useMemo)((()=>O?O():H()),[O,H]),j=(0,i.useMemo)((()=>w?w():N()),[w,N]),D=(0,i.useMemo)((()=>!c||e.length<c),[c,e.length]),P=(0,i.useMemo)((()=>D&&0===C.length&&0===A.length),[D,C.length,A.length]),B=(0,i.useMemo)((()=>t?{removedfile:t}:{}),[t]),$=(0,i.useMemo)((()=>b({paramName:"file",maxFilesize:j,timeout:d||6e5,chunking:!0,retryChunks:!0,parallelChunkUploads:_,addRemoveLinks:!0,maxFiles:c,acceptedFiles:F,dictDefaultMessage:""},f)),[j,d,_,c,F,f]),q=(0,i.useMemo)((()=>({showFiletypeIcon:!1,postUrl:s})),[s]),M=(0,i.useMemo)((()=>({media_type:n,media_upload:e})),[n,e]),L=(0,i.useCallback)((e=>e?e>=1048576?`${Math.round(e/1048576)} MB`:`${Math.round(e/1024)} KB`:"0 KB"),[]),K=(0,i.useCallback)((()=>{if(!F)return"";const e=F.split(",").map((e=>e.trim().replace(".","").toUpperCase())).filter(Boolean);return 0===e.length?"":1===e.length?e[0]:`${e.slice(0,-1).join(", ")} or ${e[e.length-1]}`}),[F]),W=(0,i.useCallback)((e=>o=>{o.preventDefault(),t(e)}),[t]),Q=(0,i.useCallback)((e=>{z.current=e}),[]),X=(0,i.useCallback)((e=>{U((t=>[...t,{name:e.name,size:e.size,progress:0,complete:!1}]))}),[]),G=(0,i.useCallback)(((e,t)=>{U((o=>o.map((o=>o.name===e.name&&o.size===e.size?b(b({},o),{},{progress:t}):o))))}),[]),J=(0,i.useCallback)((e=>{U((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),Z=(0,i.useCallback)((e=>{U((t=>t.map((t=>t.name===e.name&&t.size===e.size?b(b({},t),{},{progress:100,complete:!0}):t))))}),[]);(0,i.useEffect)((()=>{0!==C.length&&0!==e.length&&U((t=>t.filter((t=>!t.complete||!e.some((e=>e.filename===t.name))))))}),[e]);const V=(0,i.useCallback)(((e,t)=>{U((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size))))),I((o=>[...o,{name:e.name,size:e.size,message:t}]))}),[]),Y=(0,i.useCallback)((e=>{if(z.current){var t;const o=null===(t=z.current.files)||void 0===t?void 0:t.find((t=>t.name===e.name&&t.size===e.size));o&&z.current.removeFile(o)}I((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),ee=(0,i.useCallback)((e=>{if(z.current){var t;const o=null===(t=z.current.files)||void 0===t?void 0:t.find((t=>t.name===e.name&&t.size===e.size));o&&z.current.removeFile(o)}U((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),te=(0,i.useCallback)(((e,t,o)=>{h&&h(e,t,o)}),[h]),oe=K(),re={display:"flex",alignItems:"center",py:1.5,mb:1};return a().createElement(l.Box,{className:"upload-input-v3"},x&&a().createElement(l.Typography,{variant:"subtitle1",fontWeight:600,gutterBottom:!0},x),T&&a().createElement(l.Typography,{variant:"body2",color:"text.secondary",gutterBottom:!0,sx:{mb:2}},T),D&&a().createElement(l.Box,{sx:{mb:2,display:P?"block":"none"}},(()=>s?o?a().createElement(S,{id:g,djsConfig:$,config:q,eventHandlers:B,data:M,uploadCount:e.length,onUploadComplete:te,onError:v,onDropzoneReady:Q,onAddedFile:X,onUploadProgress:G,onFileRemoved:J,onFileCompleted:Z,onFileError:V,maxConcurrentChunks:y},a().createElement(l.Box,{className:"dz-custom-content"},a().createElement(p(),{className:"dz-custom-icon"}),a().createElement(l.Typography,{variant:"body2",className:"dz-custom-message"},a().createElement("span",{className:"dz-click-text"},"Click to upload")," or drag and drop"),(oe||j)&&a().createElement(l.Typography,{variant:"caption",className:"dz-custom-hint"},oe?`${oe} files`:"",j?` (max. ${j}MB)`:""))):a().createElement(l.Alert,{severity:"warning",sx:{borderRadius:2}},"Upload has been disabled by administrators."):a().createElement(l.Alert,{severity:"error",sx:{borderRadius:2}},"No Post URL"))()),k&&a().createElement(l.Alert,{severity:"error",sx:{mb:2,borderRadius:2}},k),C.length>0&&a().createElement(l.Box,{sx:{mt:2}},C.map(((e,t)=>a().createElement(l.Box,{key:`uploading-${t}`,sx:re},a().createElement(l.Box,{sx:{color:"primary.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(p(),{fontSize:"medium"})),a().createElement(l.Box,{sx:{flex:1,minWidth:0}},a().createElement(l.Typography,{variant:"body2",fontWeight:500,sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.name),a().createElement(l.Typography,{variant:"caption",color:"text.secondary"},L(e.size)," · ",e.complete?"Complete":"Loading"),!e.complete&&a().createElement(l.LinearProgress,{variant:"determinate",value:e.progress,sx:{mt:.5,borderRadius:1}})),a().createElement(l.Box,{sx:{display:"flex",alignItems:"center",gap:1}},a().createElement(l.IconButton,{size:"small",onClick:()=>ee(e),sx:{color:"text.secondary","&:hover":{color:"error.main"}}},a().createElement(u(),null)),e.complete&&a().createElement(m(),{sx:{color:"success.main",fontSize:28}})))))),A.length>0&&a().createElement(l.Box,{sx:{mt:2}},A.map(((e,t)=>a().createElement(l.Box,{key:`error-${t}`,sx:re},a().createElement(l.Box,{sx:{color:"error.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(E(),{fontSize:"medium"})),a().createElement(l.Box,{sx:{flex:1,minWidth:0}},a().createElement(l.Typography,{variant:"body2",fontWeight:500,sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.name),a().createElement(l.Typography,{variant:"caption",color:"error"},e.message)),a().createElement(l.IconButton,{size:"small",onClick:()=>Y(e),sx:{color:"error.main"}},a().createElement(R(),{fontSize:"small"})))))),e.length>0&&a().createElement(l.Box,{sx:{mt:2}},e.map(((e,o)=>{const n=e.filename,s=L(e.size);return a().createElement(l.Box,{key:`uploaded-${o}`,sx:re},a().createElement(l.Box,{sx:{color:"primary.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(p(),{fontSize:"medium"})),a().createElement(l.Box,{sx:{flex:1,minWidth:0}},a().createElement(l.Typography,{variant:"body2",fontWeight:500,sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},n),a().createElement(l.Typography,{variant:"caption",color:"text.secondary"},s," · Complete")),a().createElement(l.Box,{sx:{display:"flex",alignItems:"center",gap:1}},t&&r&&a().createElement(l.IconButton,{size:"small",onClick:W(e),sx:{color:"text.secondary","&:hover":{color:"error.main"}}},a().createElement(u(),null)),a().createElement(m(),{sx:{color:"success.main",fontSize:28}})))}))))};return 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={8418:(e,t,o)=>{o.d(t,{j:()=>m});var r=o(2015),n=o.n(r);const s=require("extend");var i=o.n(s);require("dropzone/dist/dropzone.css");const a=e=>n().createElement("div",{"data-filetype":e.filetype,className:"filepicker-file-icon"});var l=o(9825),c=o.n(l),p=o(2183),d=o(3195),u=o(8853);let h=null;class m extends n().Component{constructor(e){super(e),this.dropzoneRef=n().createRef(),this.state={files:[]},this.onUploadComplete=this.onUploadComplete.bind(this),this.onError=this.onError.bind(this),this.activeXHRs=new Map,this.chunkQueue=[],this.chunksInFlight=0}onError(e,t){this.props.onError&&this.props.onError(e,t,this.props.id)}onUploadComplete(e){this.props.onUploadComplete&&this.props.onUploadComplete(e,this.props.id,this.props.data)}processChunkQueue(){const e=this.props.maxConcurrentChunks||6;for(;this.chunkQueue.length>0&&this.chunksInFlight<e;){const{files:e,dataBlocks:t}=this.chunkQueue.shift();this.chunksInFlight++,this._originalUploadData(e,t)}}setupChunkThrottle(){this.dropzone&&this.dropzone._uploadData&&(this._originalUploadData=this.dropzone._uploadData.bind(this.dropzone),this.dropzone._uploadData=(e,t)=>{1===t.length&&void 0!==t[0].chunkIndex?(this.chunkQueue.push({files:e,dataBlocks:t}),this.processChunkQueue()):this._originalUploadData(e,t)})}onChunkComplete(){this.chunksInFlight=Math.max(0,this.chunksInFlight-1),this.processChunkQueue()}pollUploadStatus(e,t,o){if(o._pollingActive)return;o._pollingActive=!0;const r=`${t}/status/${e}`;let n=0;this._pollInterval=setInterval((async()=>{if(n++,n>300)return clearInterval(this._pollInterval),this._pollInterval=null,o._pollingActive=!1,void this.onError({message:"Upload timed out"});try{const e=await(0,p.getAccessToken)(),t=await fetch(r,{headers:{Authorization:`Bearer ${e}`}}),n=await t.json();"complete"===n.status?(clearInterval(this._pollInterval),this._pollInterval=null,o._pollingActive=!1,null!=o&&o._chunksUploadedDone&&o._chunksUploadedDone(),this.onUploadComplete(n)):"error"===n.status&&(clearInterval(this._pollInterval),this._pollInterval=null,o._pollingActive=!1,this.onError(n))}catch(e){clearInterval(this._pollInterval),this._pollInterval=null,o._pollingActive=!1,this.onError(e)}}),2e3)}getDjsConfig(){let e=null;const t={url:this.props.config.postUrl?this.props.config.postUrl:null};if(null===t.url)throw new Error("missing postUrl");return e=this.props.djsConfig?i()(!0,{},t,this.props.djsConfig):t,e.accept=async(t,o)=>{try{t.accessToken=await(0,p.getAccessToken)(),t.md5=await(0,u.Zq)(t),t.fileSize=t.size}catch(e){return console.log(e),this.onError(e),e.message&&e.message.startsWith(d.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR)||(0,p.initLogOut)(),void o(e.message||"Auth error")}e.maxFiles&&e.maxFiles<this.state.files.length+this.props.uploadCount?o("Max files reached."):o()},e.chunksUploaded=(e,t)=>{e._asyncProcessing?e._chunksUploadedDone=t:t()},e}componentDidMount(){if(!this.dropzoneRef.current)return;const e=this.getDjsConfig();h=h||o(4999),h.autoDiscover=!1,this.props.config.postUrl||this.props.eventHandlers.drop||console.info('Neither postUrl nor a "drop" eventHandler specified, the React-Dropzone component might misbehave.');const t=this.dropzoneRef.current;if(!t)throw new Error("Dropzone node not found");this.dropzone=new h(t,e),this.setupChunkThrottle(),this.setupEvents()}componentWillUnmount(){if(this._pollInterval&&(clearInterval(this._pollInterval),this._pollInterval=null),this.chunkQueue=[],this.chunksInFlight=0,this.activeXHRs.forEach(((e,t)=>{e.forEach((e=>{e.readyState!==XMLHttpRequest.DONE&&e.abort()}))})),this.activeXHRs.clear(),this.dropzone){const e=this.dropzone.getActiveFiles();e.length>0?(e.forEach((e=>{this.dropzone.cancelUpload(e)})),this.dropzone=this.destroy(this.dropzone)):this.dropzone=this.destroy(this.dropzone)}}componentDidUpdate(){const{config:e,djsConfig:t}=this.props,o=t||{},r=e&&e.postUrl?{url:e.postUrl}:{};if(this.queueDestroy=!1,!this.dropzone){const e=this.dropzoneRef.current;if(!e)throw new Error("Dropzone node not found");this.dropzone=new h(e,this.getDjsConfig()),this.setupChunkThrottle(),this.setupEvents()}this.dropzone.options=i()(!0,{},this.dropzone.options,o,r)}render(){const e=[],{files:t}=this.state,{config:o}=this.props,r=this.props.className?"filepicker dropzone "+this.props.className:"filepicker dropzone";if(o.showFiletypeIcon&&o.iconFiletypes&&(!t||t.length<1))for(var s=0;s<this.props.config.iconFiletypes.length;s+=1)e.push(n().createElement(a,{filetype:o.iconFiletypes[s],key:"icon-component"+s}));return!this.props.config.postUrl&&this.props.action?n().createElement("form",{ref:this.dropzoneRef,action:this.props.action,className:r},e,this.props.children):n().createElement("div",{ref:this.dropzoneRef,id:this.props.id,className:r}," ",e," ",this.props.children," ")}setupEvents(){const e=this.props.eventHandlers;if(this.dropzone&&e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])if("[object Array]"===Object.prototype.toString.call(e[t]))for(var o=0;o<e[t].length;o+=1)"init"===t?e[t][o](this.dropzone):this.dropzone.on(t,e[t][o]);else"init"===t?e[t](this.dropzone):this.dropzone.on(t,e[t]);this.dropzone.on("addedfile",(async e=>{if(!e)return;const t=this.state.files||[];t.push(e),this.setState({files:t})})),this.dropzone.on("removedfile",(e=>{if(!e)return;const t=this.activeXHRs.get(e);t&&(t.forEach((e=>{e.readyState!==XMLHttpRequest.DONE&&e.abort()})),this.activeXHRs.delete(e));const o=this.state.files||[];o.forEach(((t,r)=>{t.name===e.name&&t.size===e.size&&o.splice(r,1)})),this.setState({files:o})})),this.dropzone.on("uploadprogress",((e,t,o)=>{const r=Math.max(o,e._completedBytes||0);if(t=Math.min(r/e.size*100,100),e.previewElement){let o=e.previewElement.querySelectorAll("[data-dz-uploadprogress]");o.length>0&&(o=o[0]),o&&(o.style.width=t+"%")}})),this.dropzone.on("sending",((e,t,o)=>{null!=e&&e.accessToken&&t.setRequestHeader("Authorization",`Bearer ${e.accessToken}`),null!=e&&e.md5&&o.append("md5",e.md5),o.append("size",String((null==e?void 0:e.size)||0)),console.log(`DropzoneJS::sending md5 ${null==e?void 0:e.md5} size ${null==e?void 0:e.size}`),this.activeXHRs.has(e)||this.activeXHRs.set(e,[]),this.activeXHRs.get(e).push(t);let r=this,n=t.onload;t.onload=function(o){var s,i;const a=r.activeXHRs.get(e);if(a){const e=a.indexOf(t);e>-1&&a.splice(e,1)}r.onChunkComplete();const l=(null===(s=r.dropzone)||void 0===s||null===(i=s.options)||void 0===i?void 0:i.chunkSize)||2e6;let c;e._completedBytes=Math.min((e._completedBytes||0)+l,e.size);try{c=JSON.parse(t.responseText)}catch(e){c={}}if(202==(null==t?void 0:t.status)&&c.file_id&&(e._asyncProcessing=!0),n(o),200==(null==t?void 0:t.status))"string"==typeof c.name&&r.onUploadComplete(c);else if(202==(null==t?void 0:t.status)&&c.file_id){const t=r.props.config.postUrl;r.pollUploadStatus(c.file_id,t,e)}else 200!=(null==t?void 0:t.status)&&202!=(null==t?void 0:t.status)&&r.onError(c,null==t?void 0:t.status)};let s=t.onerror;t.onerror=function(e){r.onChunkComplete(),s&&s(e)}})),this.dropzone.on("error",((e,t)=>{console.log("DropzoneJS::error",t),this.onError(t)}))}}destroy(e){return e.off(),e.destroy()}}m.defaultProps={djsConfig:{},config:{},eventHandlers:{},data:{}},m.propTypes={id:c().string.isRequired}},5097:(e,t,o)=>{o(1116),o(6842),o(9087),o(9558),o(2183)},3195:(e,t,o)=>{o.d(t,{AUTH_ERROR_ACCESS_TOKEN_EXPIRED:()=>s,AUTH_ERROR_LOCK_ACQUIRE_ERROR:()=>i,AUTH_ERROR_MISSING_AUTH_INFO:()=>r,AUTH_ERROR_MISSING_REFRESH_TOKEN:()=>n,AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR:()=>l,AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR:()=>a});const r="AUTH_ERROR_MISSING_AUTH_INFO",n="AUTH_ERROR_MISSING_REFRESH_TOKEN",s="AUTH_ERROR_ACCESS_TOKEN_EXPIRED",i="AUTH_ERROR_LOCK_ACQUIRE_ERROR",a="AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR",l="AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR"},2183:(e,t,o)=>{o.d(t,{getAccessToken:()=>_,initLogOut:()=>b});var r=o(9558),n=o(5812),s=o.n(n);o(806);const i=require("browser-tabs-lock");var a=o.n(i);const l=require("js-cookie");var c=o.n(l),p=o(8041),d=o.n(p),u=(o(9891),o(5097),o(8853),o(3195));const Lock=new(a()),GET_TOKEN_SILENTLY_LOCK_KEY="openstackuicore.lock.getTokenSilently",h="code",m="authInfo",f="idToken",g=e=>{let t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",o="";for(let r=0;r<e;r++)o+=t.charAt(Math.floor(62*Math.random()));return o},E=async(e,t)=>{if(e===h&&S()){if(!t)throw w(),Error(u.AUTH_ERROR_MISSING_REFRESH_TOKEN);let e=await(async(e,t=5,o=1e3)=>{for(let r=0;r<t;r++)try{return await e()}catch(e){if(!e.message||!e.message.startsWith(u.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR)||r===t-1)throw e;const n=o*Math.pow(2,r);console.log(`retryWithBackoff retry ${r+1}/${t} in ${n}ms`),await new Promise((e=>setTimeout(e,n)))}})((()=>y(t))),{access_token:o,expires_in:r,refresh_token:n,id_token:s}=e;return void 0===n&&(n=null),v(o,r,n,s),o}throw w(),Error(u.AUTH_ERROR_ACCESS_TOKEN_EXPIRED)},R=async()=>{console.log("openstack-uicore-foundation::Security::methods::_getAccessToken");let e=O();if(!e)throw console.log("openstack-uicore-foundation::Security::methods::_getAccessToken AUTH_ERROR_MISSING_AUTH_INFO"),Error(u.AUTH_ERROR_MISSING_AUTH_INFO);let{accessToken:t,expiresIn:o,accessTokenUpdatedAt:r,refreshToken:n}=e,i=T();const a=s()().unix();let l=a-r;return o-=60,console.log(`openstack-uicore-foundation::Security::methods::_getAccessToken now ${a} accessTokenUpdatedAt ${r} expiresIn ${o} timeElapsedSecs ${l}`),(l>=o||null==t)&&(console.log("openstack-uicore-foundation::Security::methods::_getAccessToken access token expired, refreshing it ..."),t=await E(i,n)),t},_=async()=>{if("undefined"!=typeof navigator&&navigator.locks)return await navigator.locks.request(GET_TOKEN_SILENTLY_LOCK_KEY,(async e=>(console.log("openstack-uicore-foundation::Security::methods::getAccessToken web lock api",e),await R())));if(!await(0,r.retryPromise)((()=>Lock.acquireLock(GET_TOKEN_SILENTLY_LOCK_KEY,6e3)),10))throw Error(u.AUTH_ERROR_LOCK_ACQUIRE_ERROR);try{return await R()}finally{await Lock.releaseLock(GET_TOKEN_SILENTLY_LOCK_KEY)}},y=async e=>{let t=z(),o=x();const n={grant_type:"refresh_token",client_id:encodeURI(o),refresh_token:e},s=new AbortController,i=setTimeout((()=>s.abort()),1e4);let a,l;try{a=await fetch(`${t}/oauth2/token`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(n),signal:s.signal})}catch(e){throw console.log("refreshAccessToken network error:",e.message),Error(`${u.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: ${e.message}`)}finally{clearTimeout(i)}if(!a.ok){if(console.log(`refreshAccessToken server error: ${a.status} - ${a.statusText}`),a.status>=500||408===a.status||429===a.status)throw Error(`${u.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: ${a.status} - ${a.statusText}`);throw(0,r.setSessionClearingState)(!0),Error(`${u.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: ${a.status} - ${a.statusText}`)}try{l=await a.json()}catch(e){throw Error(`${u.AUTH_ERROR_REFRESH_TOKEN_NETWORK_ERROR}: invalid JSON response from IDP`)}let{access_token:c,refresh_token:p,expires_in:d,id_token:h}=l;if(!c)throw(0,r.setSessionClearingState)(!0),Error(`${u.AUTH_ERROR_REFRESH_TOKEN_REQUEST_ERROR}: missing access_token in refresh response`);return{access_token:c,refresh_token:p,expires_in:d,id_token:h}},v=(e,t,o=null,n=null)=>{let s=O(),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[f]=n,c().set(f,n,{secure:!0,sameSite:"Lax"})):c().remove(f),(0,r.putOnLocalStorage)(m,JSON.stringify(i))},O=()=>{try{let e=(0,r.getFromLocalStorage)(m,!1);return e?JSON.parse(e):null}catch(e){return null}},w=()=>{"undefined"!=typeof window&&((0,r.removeFromLocalStorage)(m),c().remove(f))},k=()=>{if("undefined"!=typeof window){const e=O();return e?e.idToken:null}return null},x=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,T=()=>"undefined"!=typeof window&&window.OAUTH2_FLOW||"token id_token",S=()=>"undefined"==typeof window||new Boolean(window.OAUTH2_USE_REFRESH_TOKEN||!0),z=()=>"undefined"!=typeof window?window.IDP_BASE_URL:null,b=()=>{(0,r.getCurrentLocation)().replace(((e=null)=>{let t=z(),o=x(),n=d()(`${t}/oauth2/end-session`),s=g(16),i=`${(0,r.getOrigin)()}/auth/logout`;(0,r.putOnLocalStorage)("post_logout_state",s);const a={post_logout_redirect_uri:encodeURI(i),client_id:encodeURI(o),state:s};return e&&(a.id_token_hint=e),n.query(a)})(k()).toString())}},9087:(e,t,o)=>{o(2462),o(1116),o(806);var r=o(8041),n=o.n(r);o(9236),o(6842),o(9558),o(5097),o(2183),o(3209);n().escapeQuerySpace=!1;const s=e=>t=>({type:e,payload:t});s("RESET_LOADING"),s("START_LOADING"),s("STOP_LOADING")},3209:(e,t,o)=>{},8853:(e,t,o)=>{o.d(t,{Zq:()=>s});const r=require("spark-md5");var n=o.n(r);require("crypto-js/sha256"),require("crypto-js/enc-base64url"),require("crypto-js/enc-hex"),"undefined"!=typeof window&&(window.crypto||window.msCrypto);const s=e=>new Promise(((t,o)=>{const r=2097152,s=new(n().ArrayBuffer),i=new FileReader;let a=0;function l(){const t=e.slice(a,a+r);i.readAsArrayBuffer(t)}i.onload=o=>{s.append(o.target.result),a+=r,a<e.size?l():t(s.end())},i.onerror=()=>o("Error reading the file"),l()}))},9558:(e,t,o)=>{o.d(t,{getCurrentLocation:()=>r,getFromLocalStorage:()=>i,getOrigin:()=>n,putOnLocalStorage:()=>s,removeFromLocalStorage:()=>a,retryPromise:()=>c,setSessionClearingState:()=>l});o(5812),o(8041);const r=()=>{let e="";return"undefined"!=typeof window&&(e=window.location,window.top&&(e=window.top.location)),e},n=()=>"undefined"!=typeof window?window.location.origin:null,s=(e,t)=>{"undefined"!=typeof window&&window.localStorage.setItem(e,t)},i=(e,t)=>{if("undefined"!=typeof window){let o=window.localStorage.getItem(e);return t&&(console.log(`getFromLocalStorage removing key ${e}`),a(e)),o}return null},a=e=>{"undefined"!=typeof window&&window.localStorage.removeItem(e)},l=e=>{"undefined"!=typeof window&&(window.clearing_session_state=e)},c=async(e,t=3)=>{for(let o=0;o<t;o++)if(await e())return!0;return!1}},1116:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},6031:e=>{e.exports=require("@babel/runtime/helpers/extends")},2462:e=>{e.exports=require("@babel/runtime/helpers/objectWithoutProperties")},8177:e=>{e.exports=require("@mui/icons-material/CheckCircle")},4325:e=>{e.exports=require("@mui/icons-material/Close")},6084:e=>{e.exports=require("@mui/icons-material/Delete")},8619:e=>{e.exports=require("@mui/material")},4999:e=>{e.exports=require("dropzone")},6842:e=>{e.exports=require("i18n-react/dist/i18n-react")},9891:e=>{e.exports=require("idtoken-verifier")},5812:e=>{e.exports=require("moment-timezone")},9825:e=>{e.exports=require("prop-types")},2015:e=>{e.exports=require("react")},806:e=>{e.exports=require("superagent/lib/client")},9236:e=>{e.exports=require("sweetalert2")},8041: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}(()=>{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={};o.r(r),o.d(r,{default:()=>C});var n=o(1116),s=o.n(n),i=o(2015),a=o.n(i),l=o(8619);const c=require("@mui/icons-material/UploadFile");var p=o.n(c),d=o(6084),u=o.n(d),h=o(8177),m=o.n(h);const f=require("@mui/icons-material/ErrorOutline");var g=o.n(f),E=o(4325),R=o.n(E),_=o(6031),y=o.n(_),v=o(2462),O=o.n(v),w=o(8418);const k=["onAddedFile","onUploadProgress","onFileRemoved","onFileCompleted","onFileError","onDropzoneReady","eventHandlers","children"];function x(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 T(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?x(Object(o),!0).forEach((function(t){s()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):x(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const S=e=>{let{onAddedFile:t,onUploadProgress:o,onFileRemoved:r,onFileCompleted:n,onFileError:s,onDropzoneReady:i,eventHandlers:l={},children:c}=e,p=O()(e,k);const d=T(T({},l),{},{init:e=>{i&&i(e),l.init&&l.init(e)},addedfile:e=>{t&&t(e),l.addedfile&&l.addedfile(e)},removedfile:e=>{r&&r(e),l.removedfile&&l.removedfile(e)},uploadprogress:(e,t,r)=>{o&&o(e,e.size>0?r/e.size*100:0),l.uploadprogress&&l.uploadprogress(e,t,r)},success:e=>{n&&n(e),l.success&&l.success(e)},error:(e,t)=>{s&&s(e,t),l.error&&l.error(e,t)}});return a().createElement(w.j,y()({},p,{eventHandlers:d}),c)};function z(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 b(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?z(Object(o),!0).forEach((function(t){s()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):z(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const C=({value:e=[],onRemove:t,canAdd:o=!0,canDelete:r=!0,mediaType:n,postUrl:s,maxFiles:c=1,timeOut:d,onUploadComplete:h,djsConfig:f,id:E,parallelChunkUploads:_=!1,maxConcurrentChunks:y=6,onError:v=()=>{},getAllowedExtensions:O=null,getMaxSize:w=null,error:k,label:x,helpText:T})=>{const z=(0,i.useRef)(null),[C,U]=(0,i.useState)([]),[A,I]=(0,i.useState)([]),H=(0,i.useCallback)((()=>{var e;return n&&n.type?null==n||null===(e=n.type)||void 0===e?void 0:e.allowed_extensions.map((e=>`.${e.toLowerCase()}`)).join(","):""}),[n]),N=(0,i.useCallback)((()=>n?(null==n?void 0:n.max_size)/1048576:100),[n]),F=(0,i.useMemo)((()=>O?O():H()),[O,H]),j=(0,i.useMemo)((()=>w?w():N()),[w,N]),D=(0,i.useMemo)((()=>!c||e.length<c),[c,e.length]),P=(0,i.useMemo)((()=>D&&0===C.length&&0===A.length),[D,C.length,A.length]),B=(0,i.useMemo)((()=>t?{removedfile:t}:{}),[t]),$=(0,i.useMemo)((()=>b({paramName:"file",maxFilesize:j,timeout:d||6e5,chunking:!0,retryChunks:!0,parallelChunkUploads:_,addRemoveLinks:!0,maxFiles:c,acceptedFiles:F,dictDefaultMessage:""},f)),[j,d,_,c,F,f]),q=(0,i.useMemo)((()=>({showFiletypeIcon:!1,postUrl:s})),[s]),M=(0,i.useMemo)((()=>({media_type:n,media_upload:e})),[n,e]),L=(0,i.useCallback)((e=>e?e>=1048576?`${Math.round(e/1048576)} MB`:`${Math.round(e/1024)} KB`:"0 KB"),[]),K=(0,i.useCallback)((()=>{if(!F)return"";const e=F.split(",").map((e=>e.trim().replace(".","").toUpperCase())).filter(Boolean);return 0===e.length?"":1===e.length?e[0]:`${e.slice(0,-1).join(", ")} or ${e[e.length-1]}`}),[F]),W=(0,i.useCallback)((e=>o=>{o.preventDefault(),t(e)}),[t]),Q=(0,i.useCallback)((e=>{z.current=e}),[]),X=(0,i.useCallback)((e=>{U((t=>[...t,{name:e.name,size:e.size,progress:0,complete:!1}]))}),[]),G=(0,i.useCallback)(((e,t)=>{U((o=>o.map((o=>o.name===e.name&&o.size===e.size?b(b({},o),{},{progress:t}):o))))}),[]),J=(0,i.useCallback)((e=>{U((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),Z=(0,i.useCallback)((e=>{e._asyncProcessing||U((t=>t.map((t=>t.name===e.name&&t.size===e.size?b(b({},t),{},{progress:100,complete:!0}):t))))}),[]);(0,i.useEffect)((()=>{0!==C.length&&0!==e.length&&U((e=>e.filter((e=>!e.complete))))}),[e]);const V=(0,i.useCallback)(((e,t)=>{U((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size))))),I((o=>[...o,{name:e.name,size:e.size,message:t}]))}),[]),Y=(0,i.useCallback)((e=>{if(z.current){var t;const o=null===(t=z.current.files)||void 0===t?void 0:t.find((t=>t.name===e.name&&t.size===e.size));o&&z.current.removeFile(o)}I((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),ee=(0,i.useCallback)((e=>{if(z.current){var t;const o=null===(t=z.current.files)||void 0===t?void 0:t.find((t=>t.name===e.name&&t.size===e.size));o&&z.current.removeFile(o)}U((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),te=(0,i.useCallback)(((e,t,o)=>{U((e=>e.map((e=>e.progress>=100?b(b({},e),{},{complete:!0}):e)))),h&&h(e,t,o)}),[h]),oe=K(),re={display:"flex",alignItems:"center",py:1.5,mb:1};return a().createElement(l.Box,{className:"upload-input-v3"},x&&a().createElement(l.Typography,{variant:"subtitle1",fontWeight:600,gutterBottom:!0},x),T&&a().createElement(l.Typography,{variant:"body2",color:"text.secondary",gutterBottom:!0,sx:{mb:2}},T),D&&a().createElement(l.Box,{sx:{mb:2,display:P?"block":"none"}},(()=>s?o?a().createElement(S,{id:E,djsConfig:$,config:q,eventHandlers:B,data:M,uploadCount:e.length,onUploadComplete:te,onError:v,onDropzoneReady:Q,onAddedFile:X,onUploadProgress:G,onFileRemoved:J,onFileCompleted:Z,onFileError:V,maxConcurrentChunks:y},a().createElement(l.Box,{className:"dz-custom-content"},a().createElement(p(),{className:"dz-custom-icon"}),a().createElement(l.Typography,{variant:"body2",className:"dz-custom-message"},a().createElement("span",{className:"dz-click-text"},"Click to upload")," or drag and drop"),(oe||j)&&a().createElement(l.Typography,{variant:"caption",className:"dz-custom-hint"},oe?`${oe} files`:"",j?` (max. ${j}MB)`:""))):a().createElement(l.Alert,{severity:"warning",sx:{borderRadius:2}},"Upload has been disabled by administrators."):a().createElement(l.Alert,{severity:"error",sx:{borderRadius:2}},"No Post URL"))()),k&&a().createElement(l.Alert,{severity:"error",sx:{mb:2,borderRadius:2}},k),C.length>0&&a().createElement(l.Box,{sx:{mt:2}},C.map(((e,t)=>a().createElement(l.Box,{key:`uploading-${t}`,sx:re},a().createElement(l.Box,{sx:{color:"primary.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(p(),{fontSize:"medium"})),a().createElement(l.Box,{sx:{flex:1,minWidth:0}},a().createElement(l.Typography,{variant:"body2",fontWeight:500,sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.name),a().createElement(l.Typography,{variant:"caption",color:"text.secondary"},L(e.size)," · ",e.complete?"Complete":"Loading"),!e.complete&&a().createElement(l.LinearProgress,{variant:"determinate",value:e.progress,sx:{mt:.5,borderRadius:1}})),a().createElement(l.Box,{sx:{display:"flex",alignItems:"center",gap:1}},a().createElement(l.IconButton,{size:"small",onClick:()=>ee(e),sx:{color:"text.secondary","&:hover":{color:"error.main"}}},a().createElement(u(),null)),e.complete&&a().createElement(m(),{sx:{color:"success.main",fontSize:28}})))))),A.length>0&&a().createElement(l.Box,{sx:{mt:2}},A.map(((e,t)=>a().createElement(l.Box,{key:`error-${t}`,sx:re},a().createElement(l.Box,{sx:{color:"error.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(g(),{fontSize:"medium"})),a().createElement(l.Box,{sx:{flex:1,minWidth:0}},a().createElement(l.Typography,{variant:"body2",fontWeight:500,sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},e.name),a().createElement(l.Typography,{variant:"caption",color:"error"},e.message)),a().createElement(l.IconButton,{size:"small",onClick:()=>Y(e),sx:{color:"error.main"}},a().createElement(R(),{fontSize:"small"})))))),e.length>0&&a().createElement(l.Box,{sx:{mt:2}},e.map(((e,o)=>{const n=e.filename,s=L(e.size);return a().createElement(l.Box,{key:`uploaded-${o}`,sx:re},a().createElement(l.Box,{sx:{color:"primary.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(p(),{fontSize:"medium"})),a().createElement(l.Box,{sx:{flex:1,minWidth:0}},a().createElement(l.Typography,{variant:"body2",fontWeight:500,sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},n),a().createElement(l.Typography,{variant:"caption",color:"text.secondary"},s," · Complete")),a().createElement(l.Box,{sx:{display:"flex",alignItems:"center",gap:1}},t&&r&&a().createElement(l.IconButton,{size:"small",onClick:W(e),sx:{color:"text.secondary","&:hover":{color:"error.main"}}},a().createElement(u(),null)),a().createElement(m(),{sx:{color:"success.main",fontSize:28}})))}))))};return r})()));
2
2
  //# sourceMappingURL=upload-input-v3.js.map