openstack-uicore-foundation 4.2.26 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/.codegraph/config.json +140 -0
  2. package/lib/components/attendance-tracker.js +1 -1
  3. package/lib/components/attendance-tracker.js.map +1 -1
  4. package/lib/components/clock.js.map +1 -1
  5. package/lib/components/extra-questions.js.map +1 -1
  6. package/lib/components/forms/simple-form.js.map +1 -1
  7. package/lib/components/free-text-search.js.map +1 -1
  8. package/lib/components/google-map.js.map +1 -1
  9. package/lib/components/index.js +1 -1
  10. package/lib/components/index.js.map +1 -1
  11. package/lib/components/inputs/access-levels-input.js +1 -1
  12. package/lib/components/inputs/access-levels-input.js.map +1 -1
  13. package/lib/components/inputs/attendee-input.js +1 -1
  14. package/lib/components/inputs/attendee-input.js.map +1 -1
  15. package/lib/components/inputs/company-input-v2.js +1 -1
  16. package/lib/components/inputs/company-input-v2.js.map +1 -1
  17. package/lib/components/inputs/company-input.js +1 -1
  18. package/lib/components/inputs/company-input.js.map +1 -1
  19. package/lib/components/inputs/country-dropdown.js +1 -1
  20. package/lib/components/inputs/country-dropdown.js.map +1 -1
  21. package/lib/components/inputs/country-input.js +1 -1
  22. package/lib/components/inputs/country-input.js.map +1 -1
  23. package/lib/components/inputs/event-input.js +1 -1
  24. package/lib/components/inputs/event-input.js.map +1 -1
  25. package/lib/components/inputs/group-input.js +1 -1
  26. package/lib/components/inputs/group-input.js.map +1 -1
  27. package/lib/components/inputs/language-input.js +1 -1
  28. package/lib/components/inputs/language-input.js.map +1 -1
  29. package/lib/components/inputs/member-input.js +1 -1
  30. package/lib/components/inputs/member-input.js.map +1 -1
  31. package/lib/components/inputs/organization-input.js +1 -1
  32. package/lib/components/inputs/organization-input.js.map +1 -1
  33. package/lib/components/inputs/promocode-input.js +1 -1
  34. package/lib/components/inputs/promocode-input.js.map +1 -1
  35. package/lib/components/inputs/registration-company-input.js +1 -1
  36. package/lib/components/inputs/registration-company-input.js.map +1 -1
  37. package/lib/components/inputs/speaker-input.js +1 -1
  38. package/lib/components/inputs/speaker-input.js.map +1 -1
  39. package/lib/components/inputs/sponsor-input.js +1 -1
  40. package/lib/components/inputs/sponsor-input.js.map +1 -1
  41. package/lib/components/inputs/summit-input.js +1 -1
  42. package/lib/components/inputs/summit-input.js.map +1 -1
  43. package/lib/components/inputs/tag-input.js +1 -1
  44. package/lib/components/inputs/tag-input.js.map +1 -1
  45. package/lib/components/inputs/ticket-types-input.js +1 -1
  46. package/lib/components/inputs/ticket-types-input.js.map +1 -1
  47. package/lib/components/inputs/upload-input-v2.js +1 -1
  48. package/lib/components/inputs/upload-input-v2.js.map +1 -1
  49. package/lib/components/inputs/upload-input-v3.js +1 -1
  50. package/lib/components/inputs/upload-input-v3.js.map +1 -1
  51. package/lib/components/mui/checkbox-list.js +2 -0
  52. package/lib/components/mui/checkbox-list.js.map +1 -0
  53. package/lib/components/mui/chip-list.js +2 -0
  54. package/lib/components/mui/chip-list.js.map +1 -0
  55. package/lib/components/mui/chip-notify.js +2 -0
  56. package/lib/components/mui/chip-notify.js.map +1 -0
  57. package/lib/components/mui/chip-select-input.js +2 -0
  58. package/lib/components/mui/chip-select-input.js.map +1 -0
  59. package/lib/components/mui/confirm-dialog.js +2 -0
  60. package/lib/components/mui/confirm-dialog.js.map +1 -0
  61. package/lib/components/mui/custom-alert.js +2 -0
  62. package/lib/components/mui/custom-alert.js.map +1 -0
  63. package/lib/components/mui/dnd-list.js +2 -0
  64. package/lib/components/mui/dnd-list.js.map +1 -0
  65. package/lib/components/mui/dropdown-checkbox.js +2 -0
  66. package/lib/components/mui/dropdown-checkbox.js.map +1 -0
  67. package/lib/components/mui/editable-table.js +2 -0
  68. package/lib/components/mui/editable-table.js.map +1 -0
  69. package/lib/components/mui/form-item-table.js +2 -0
  70. package/lib/components/mui/form-item-table.js.map +1 -0
  71. package/lib/components/mui/formik-inputs/additional-input-list.js +2 -0
  72. package/lib/components/mui/formik-inputs/additional-input-list.js.map +1 -0
  73. package/lib/components/mui/formik-inputs/additional-input.js +2 -0
  74. package/lib/components/mui/formik-inputs/additional-input.js.map +1 -0
  75. package/lib/components/mui/formik-inputs/async-select.js +2 -0
  76. package/lib/components/mui/formik-inputs/async-select.js.map +1 -0
  77. package/lib/components/mui/formik-inputs/checkbox-group.js +2 -0
  78. package/lib/components/mui/formik-inputs/checkbox-group.js.map +1 -0
  79. package/lib/components/mui/formik-inputs/checkbox.js +2 -0
  80. package/lib/components/mui/formik-inputs/checkbox.js.map +1 -0
  81. package/lib/components/mui/formik-inputs/company-input.js +2 -0
  82. package/lib/components/mui/formik-inputs/company-input.js.map +1 -0
  83. package/lib/components/mui/formik-inputs/datepicker.js +2 -0
  84. package/lib/components/mui/formik-inputs/datepicker.js.map +1 -0
  85. package/lib/components/mui/formik-inputs/discount-field.js +2 -0
  86. package/lib/components/mui/formik-inputs/discount-field.js.map +1 -0
  87. package/lib/components/mui/formik-inputs/dropdown-checkbox.js +2 -0
  88. package/lib/components/mui/formik-inputs/dropdown-checkbox.js.map +1 -0
  89. package/lib/components/mui/formik-inputs/dropdown-radio.js +2 -0
  90. package/lib/components/mui/formik-inputs/dropdown-radio.js.map +1 -0
  91. package/lib/components/mui/formik-inputs/file-size-field.js +2 -0
  92. package/lib/components/mui/formik-inputs/file-size-field.js.map +1 -0
  93. package/lib/components/mui/formik-inputs/item-price-tiers.js +2 -0
  94. package/lib/components/mui/formik-inputs/item-price-tiers.js.map +1 -0
  95. package/lib/components/mui/formik-inputs/price-field.js +2 -0
  96. package/lib/components/mui/formik-inputs/price-field.js.map +1 -0
  97. package/lib/components/mui/formik-inputs/quantity-field.js +2 -0
  98. package/lib/components/mui/formik-inputs/quantity-field.js.map +1 -0
  99. package/lib/components/mui/formik-inputs/radio-group.js +2 -0
  100. package/lib/components/mui/formik-inputs/radio-group.js.map +1 -0
  101. package/lib/components/mui/formik-inputs/select-group.js +2 -0
  102. package/lib/components/mui/formik-inputs/select-group.js.map +1 -0
  103. package/lib/components/mui/formik-inputs/select.js +2 -0
  104. package/lib/components/mui/formik-inputs/select.js.map +1 -0
  105. package/lib/components/mui/formik-inputs/sponsor-input.js +2 -0
  106. package/lib/components/mui/formik-inputs/sponsor-input.js.map +1 -0
  107. package/lib/components/mui/formik-inputs/sponsorship-input.js +2 -0
  108. package/lib/components/mui/formik-inputs/sponsorship-input.js.map +1 -0
  109. package/lib/components/mui/formik-inputs/sponsorship-summit-select.js +2 -0
  110. package/lib/components/mui/formik-inputs/sponsorship-summit-select.js.map +1 -0
  111. package/lib/components/mui/formik-inputs/summit-addon-select.js +2 -0
  112. package/lib/components/mui/formik-inputs/summit-addon-select.js.map +1 -0
  113. package/lib/components/mui/formik-inputs/switch.js +2 -0
  114. package/lib/components/mui/formik-inputs/switch.js.map +1 -0
  115. package/lib/components/mui/formik-inputs/textfield.js +2 -0
  116. package/lib/components/mui/formik-inputs/textfield.js.map +1 -0
  117. package/lib/components/mui/formik-inputs/timepicker.js +2 -0
  118. package/lib/components/mui/formik-inputs/timepicker.js.map +1 -0
  119. package/lib/components/mui/formik-inputs/upload.js +2 -0
  120. package/lib/components/mui/formik-inputs/upload.js.map +1 -0
  121. package/lib/components/mui/infinite-table.js +2 -0
  122. package/lib/components/mui/infinite-table.js.map +1 -0
  123. package/lib/components/mui/item-settings-modal.js +2 -0
  124. package/lib/components/mui/item-settings-modal.js.map +1 -0
  125. package/lib/components/mui/menu-button.js +2 -0
  126. package/lib/components/mui/menu-button.js.map +1 -0
  127. package/lib/components/mui/notes-modal.js +2 -0
  128. package/lib/components/mui/notes-modal.js.map +1 -0
  129. package/lib/components/mui/search-input.js +2 -0
  130. package/lib/components/mui/search-input.js.map +1 -0
  131. package/lib/components/mui/show-confirm-dialog.js +2 -0
  132. package/lib/components/mui/show-confirm-dialog.js.map +1 -0
  133. package/lib/components/mui/snackbar-notification.js +2 -0
  134. package/lib/components/mui/snackbar-notification.js.map +1 -0
  135. package/lib/components/mui/sortable-table.js +2 -0
  136. package/lib/components/mui/sortable-table.js.map +1 -0
  137. package/lib/components/mui/sponsor-addon-select.js +2 -0
  138. package/lib/components/mui/sponsor-addon-select.js.map +1 -0
  139. package/lib/components/mui/summit-addon-select.js +2 -0
  140. package/lib/components/mui/summit-addon-select.js.map +1 -0
  141. package/lib/components/mui/summits-dropdown.js +2 -0
  142. package/lib/components/mui/summits-dropdown.js.map +1 -0
  143. package/lib/components/mui/table.js +2 -0
  144. package/lib/components/mui/table.js.map +1 -0
  145. package/lib/components/schedule-builder-view.js +1 -1
  146. package/lib/components/schedule-builder-view.js.map +1 -1
  147. package/lib/components/sponsored-project-input.js +1 -1
  148. package/lib/components/sponsored-project-input.js.map +1 -1
  149. package/lib/components/table-editable.js.map +1 -1
  150. package/lib/css/components/extra-questions.css +1 -1
  151. package/lib/css/components/extra-questions.css.map +1 -1
  152. package/lib/css/components/free-text-search.css +1 -1
  153. package/lib/css/components/free-text-search.css.map +1 -1
  154. package/lib/css/components/index.css +2 -2
  155. package/lib/css/components/index.css.map +1 -1
  156. package/lib/css/components/mui/formik-inputs/upload.css +2 -0
  157. package/lib/css/components/mui/formik-inputs/upload.css.map +1 -0
  158. package/lib/css/components/mui/infinite-table.css +2 -0
  159. package/lib/css/components/mui/infinite-table.css.map +1 -0
  160. package/lib/css/components/mui/sortable-table.css +2 -0
  161. package/lib/css/components/mui/sortable-table.css.map +1 -0
  162. package/lib/css/components/mui/table.css +2 -0
  163. package/lib/css/components/mui/table.css.map +1 -0
  164. package/lib/i18n.js +1 -1
  165. package/lib/i18n.js.map +1 -1
  166. package/lib/security/abstract-auth-callback-route-v2.js +1 -1
  167. package/lib/security/abstract-auth-callback-route-v2.js.map +1 -1
  168. package/lib/security/abstract-auth-callback-route.js +1 -1
  169. package/lib/security/abstract-auth-callback-route.js.map +1 -1
  170. package/lib/security/actions.js +1 -1
  171. package/lib/security/actions.js.map +1 -1
  172. package/lib/security/methods.js +1 -1
  173. package/lib/security/methods.js.map +1 -1
  174. package/lib/security/reducers.js +1 -1
  175. package/lib/security/reducers.js.map +1 -1
  176. package/lib/security/session-checker.js +1 -1
  177. package/lib/security/session-checker.js.map +1 -1
  178. package/lib/utils/actions.js +1 -1
  179. package/lib/utils/actions.js.map +1 -1
  180. package/lib/utils/methods.js +1 -1
  181. package/lib/utils/methods.js.map +1 -1
  182. package/lib/utils/money.js +1 -1
  183. package/lib/utils/money.js.map +1 -1
  184. package/lib/utils/query-actions.js +1 -1
  185. package/lib/utils/query-actions.js.map +1 -1
  186. package/lib/utils/questions-set.js.map +1 -1
  187. package/lib/utils/reducers.js +1 -1
  188. package/lib/utils/reducers.js.map +1 -1
  189. package/package.json +21 -12
@@ -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:()=>f});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 m=null;class f 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)}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)}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}componentDidMount(){if(!this.dropzoneRef.current)return;const e=this.getDjsConfig();m=m||o(4999),m.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 m(t,e),this.setupEvents()}componentWillUnmount(){if(this.dropzone){if(this.dropzone.getActiveFiles().length>0){this.queueDestroy=!0;const e=window.setInterval((()=>!1===this.queueDestroy?window.clearInterval(e):0===this.dropzone.getActiveFiles().length?(this.dropzone=this.destroy(this.dropzone),window.clearInterval(e)):void 0),500)}else this.dropzone=this.destroy(this.dropzone)}}componentDidUpdate(){const{config:e,djsConfig:t}=this.props,o=t||{},r=e&&e.postUrl?{url:e.postUrl}:{};if(this.queueDestroy=!1,!this.dropzone){const e=this.dropzoneRef.current;if(!e)throw new Error("Dropzone node not found");this.dropzone=new m(e,this.getDjsConfig()),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.state.files||[];t.forEach(((o,r)=>{o.name===e.name&&o.size===e.size&&t.splice(r,1)})),this.setState({files:t})})),this.dropzone.on("uploadprogress",((e,t,o)=>{if(t=o/e.size*100,e.previewElement){let o=e.previewElement.querySelectorAll("[data-dz-uploadprogress]");o.length>0&&(o=o[0]),o&&(o.style.width=t+"%")}})),this.dropzone.on("sending",((e,t,o)=>{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}`);let r=this,n=t.onload;t.onload=function(e){if(n(e),200==(null==t?void 0:t.status)){let e=JSON.parse(t.responseText);"string"==typeof e.name&&r.onUploadComplete(e)}else r.onError(JSON.parse(null==t?void 0:t.responseText),null==t?void 0:t.status)}})),this.dropzone.on("error",((e,t)=>{console.log("DropzoneJS::error",t),this.onError(t)}))}}destroy(e){return e.off(),e.destroy()}}f.defaultProps={djsConfig:{},config:{},eventHandlers:{},data:{}},f.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:()=>y,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",m="code",f="authInfo",h="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===m&&k()){if(!t)throw v(),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)))}})((()=>_(t))),{access_token:o,expires_in:r,refresh_token:n,id_token:s}=e;return void 0===n&&(n=null),w(o,r,n,s),o}throw v(),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=S();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},y=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)}},_=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:m}=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:m}},w=(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[h]=n,c().set(h,n,{secure:!0,sameSite:"Lax"})):c().remove(h),(0,r.putOnLocalStorage)(f,JSON.stringify(i))},O=()=>{try{let e=(0,r.getFromLocalStorage)(f,!1);return e?JSON.parse(e):null}catch(e){return null}},v=()=>{"undefined"!=typeof window&&((0,r.removeFromLocalStorage)(f),c().remove(h))},T=()=>{if("undefined"!=typeof window){const e=O();return e?e.idToken:null}return null},x=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,S=()=>"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,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)})(T()).toString())}},9087:(e,t,o)=>{o(2462),o(806);var r=o(8041),n=o.n(r);o(9236),o(6842),o(9558),o(5097),o(2183);n().escapeQuerySpace=!1;const s=e=>t=>({type:e,payload:t});s("RESET_LOADING"),s("START_LOADING"),s("STOP_LOADING")},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")},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:()=>w});var n=o(1116),s=o.n(n),i=o(2015),a=o.n(i);const l=require("@mui/material"),c=require("@mui/icons-material");var p=o(6031),d=o.n(p),u=o(2462),m=o.n(u),f=o(8418);const h=["onAddedFile","onUploadProgress","onFileRemoved","onFileCompleted","onFileError","onDropzoneReady","eventHandlers","children"];function E(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 g(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?E(Object(o),!0).forEach((function(t){s()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):E(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const R=e=>{let{onAddedFile:t,onUploadProgress:o,onFileRemoved:r,onFileCompleted:n,onFileError:s,onDropzoneReady:i,eventHandlers:l={},children:c}=e,p=m()(e,h);const u=g(g({},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(f.j,d()({},p,{eventHandlers:u}),c)};function y(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function _(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?y(Object(o),!0).forEach((function(t){s()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):y(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const w=({value:e=[],onRemove:t,canAdd:o=!0,canDelete:r=!0,mediaType:n,postUrl:s,maxFiles:p=1,timeOut:d,onUploadComplete:u,djsConfig:m,id:f,parallelChunkUploads:h=!1,onError:E=()=>{},getAllowedExtensions:g=null,getMaxSize:y=null,error:w,label:O,helpText:v})=>{const T=(0,i.useRef)(null),[x,S]=(0,i.useState)([]),[k,z]=(0,i.useState)([]),b=(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]),U=(0,i.useCallback)((()=>n?(null==n?void 0:n.max_size)/1048576:100),[n]),A=(0,i.useMemo)((()=>g?g():b()),[g,b]),C=(0,i.useMemo)((()=>y?y():U()),[y,U]),N=(0,i.useMemo)((()=>!p||e.length<p),[p,e.length]),F=(0,i.useMemo)((()=>N&&0===x.length&&0===k.length),[N,x.length,k.length]),H=(0,i.useMemo)((()=>t?{removedfile:t}:{}),[t]),I=(0,i.useMemo)((()=>_({paramName:"file",maxFilesize:C,timeout:d||6e5,chunking:!0,retryChunks:!0,parallelChunkUploads:h,addRemoveLinks:!0,maxFiles:p,acceptedFiles:A,dictDefaultMessage:""},m)),[C,d,h,p,A,m]),j=(0,i.useMemo)((()=>({showFiletypeIcon:!1,postUrl:s})),[s]),D=(0,i.useMemo)((()=>({media_type:n,media_upload:e})),[n,e]),P=(0,i.useCallback)((e=>e?e>=1048576?`${Math.round(e/1048576)} MB`:`${Math.round(e/1024)} KB`:"0 KB"),[]),$=(0,i.useCallback)((()=>{if(!A)return"";const e=A.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]}`}),[A]),q=(0,i.useCallback)((e=>o=>{o.preventDefault(),t(e)}),[t]),B=(0,i.useCallback)((e=>{T.current=e}),[]),K=(0,i.useCallback)((e=>{S((t=>[...t,{name:e.name,size:e.size,progress:0,complete:!1}]))}),[]),M=(0,i.useCallback)(((e,t)=>{S((o=>o.map((o=>o.name===e.name&&o.size===e.size?_(_({},o),{},{progress:t}):o))))}),[]),L=(0,i.useCallback)((e=>{S((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),W=(0,i.useCallback)((e=>{S((t=>t.map((t=>t.name===e.name&&t.size===e.size?_(_({},t),{},{progress:100,complete:!0}):t))))}),[]);(0,i.useEffect)((()=>{0!==x.length&&0!==e.length&&S((t=>t.filter((t=>!t.complete||!e.some((e=>e.filename===t.name))))))}),[e]);const G=(0,i.useCallback)(((e,t)=>{S((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size))))),z((o=>[...o,{name:e.name,size:e.size,message:t}]))}),[]),J=(0,i.useCallback)((e=>{if(T.current){var t;const o=null===(t=T.current.files)||void 0===t?void 0:t.find((t=>t.name===e.name&&t.size===e.size));o&&T.current.removeFile(o)}z((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),Q=(0,i.useCallback)((e=>{if(T.current){var t;const o=null===(t=T.current.files)||void 0===t?void 0:t.find((t=>t.name===e.name&&t.size===e.size));o&&T.current.removeFile(o)}S((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),X=(0,i.useCallback)(((e,t,o)=>{u&&u(e,t,o)}),[u]),Z=$(),V={display:"flex",alignItems:"center",py:1.5,mb:1};return a().createElement(l.Box,{className:"upload-input-v3"},O&&a().createElement(l.Typography,{variant:"subtitle1",fontWeight:600,gutterBottom:!0},O),v&&a().createElement(l.Typography,{variant:"body2",color:"text.secondary",gutterBottom:!0,sx:{mb:2}},v),N&&a().createElement(l.Box,{sx:{mb:2,display:F?"block":"none"}},(()=>s?o?a().createElement(R,{id:f,djsConfig:I,config:j,eventHandlers:H,data:D,uploadCount:e.length,onUploadComplete:X,onError:E,onDropzoneReady:B,onAddedFile:K,onUploadProgress:M,onFileRemoved:L,onFileCompleted:W,onFileError:G},a().createElement(l.Box,{className:"dz-custom-content"},a().createElement(c.UploadFile,{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"),(Z||C)&&a().createElement(l.Typography,{variant:"caption",className:"dz-custom-hint"},Z?`${Z} files`:"",C?` (max. ${C}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"))()),w&&a().createElement(l.Alert,{severity:"error",sx:{mb:2,borderRadius:2}},w),x.length>0&&a().createElement(l.Box,{sx:{mt:2}},x.map(((e,t)=>a().createElement(l.Box,{key:`uploading-${t}`,sx:V},a().createElement(l.Box,{sx:{color:"primary.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(c.UploadFile,{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"},P(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:()=>Q(e),sx:{color:"text.secondary","&:hover":{color:"error.main"}}},a().createElement(c.Delete,null)),e.complete&&a().createElement(c.CheckCircle,{sx:{color:"success.main",fontSize:28}})))))),k.length>0&&a().createElement(l.Box,{sx:{mt:2}},k.map(((e,t)=>a().createElement(l.Box,{key:`error-${t}`,sx:V},a().createElement(l.Box,{sx:{color:"error.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(c.ErrorOutline,{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:()=>J(e),sx:{color:"error.main"}},a().createElement(c.Close,{fontSize:"small"})))))),e.length>0&&a().createElement(l.Box,{sx:{mt:2}},e.map(((e,o)=>{const n=e.filename,s=P(e.size);return a().createElement(l.Box,{key:`uploaded-${o}`,sx:V},a().createElement(l.Box,{sx:{color:"primary.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(c.UploadFile,{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:q(e),sx:{color:"text.secondary","&:hover":{color:"error.main"}}},a().createElement(c.Delete,null)),a().createElement(c.CheckCircle,{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:()=>f});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 m=null;class f 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)}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)}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}componentDidMount(){if(!this.dropzoneRef.current)return;const e=this.getDjsConfig();m=m||o(4999),m.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 m(t,e),this.setupEvents()}componentWillUnmount(){if(this.dropzone){if(this.dropzone.getActiveFiles().length>0){this.queueDestroy=!0;const e=window.setInterval((()=>!1===this.queueDestroy?window.clearInterval(e):0===this.dropzone.getActiveFiles().length?(this.dropzone=this.destroy(this.dropzone),window.clearInterval(e)):void 0),500)}else this.dropzone=this.destroy(this.dropzone)}}componentDidUpdate(){const{config:e,djsConfig:t}=this.props,o=t||{},r=e&&e.postUrl?{url:e.postUrl}:{};if(this.queueDestroy=!1,!this.dropzone){const e=this.dropzoneRef.current;if(!e)throw new Error("Dropzone node not found");this.dropzone=new m(e,this.getDjsConfig()),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.state.files||[];t.forEach(((o,r)=>{o.name===e.name&&o.size===e.size&&t.splice(r,1)})),this.setState({files:t})})),this.dropzone.on("uploadprogress",((e,t,o)=>{if(t=o/e.size*100,e.previewElement){let o=e.previewElement.querySelectorAll("[data-dz-uploadprogress]");o.length>0&&(o=o[0]),o&&(o.style.width=t+"%")}})),this.dropzone.on("sending",((e,t,o)=>{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}`);let r=this,n=t.onload;t.onload=function(e){if(n(e),200==(null==t?void 0:t.status)){let e=JSON.parse(t.responseText);"string"==typeof e.name&&r.onUploadComplete(e)}else r.onError(JSON.parse(null==t?void 0:t.responseText),null==t?void 0:t.status)}})),this.dropzone.on("error",((e,t)=>{console.log("DropzoneJS::error",t),this.onError(t)}))}}destroy(e){return e.off(),e.destroy()}}f.defaultProps={djsConfig:{},config:{},eventHandlers:{},data:{}},f.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:()=>y,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",m="code",f="authInfo",h="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===m&&k()){if(!t)throw v(),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)))}})((()=>_(t))),{access_token:o,expires_in:r,refresh_token:n,id_token:s}=e;return void 0===n&&(n=null),w(o,r,n,s),o}throw v(),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=S();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},y=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)}},_=async e=>{let t=z(),o=T();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:m}=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:m}},w=(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[h]=n,c().set(h,n,{secure:!0,sameSite:"Lax"})):c().remove(h),(0,r.putOnLocalStorage)(f,JSON.stringify(i))},O=()=>{try{let e=(0,r.getFromLocalStorage)(f,!1);return e?JSON.parse(e):null}catch(e){return null}},v=()=>{"undefined"!=typeof window&&((0,r.removeFromLocalStorage)(f),c().remove(h))},x=()=>{if("undefined"!=typeof window){const e=O();return e?e.idToken:null}return null},T=()=>"undefined"!=typeof window?window.OAUTH2_CLIENT_ID:null,S=()=>"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,b=()=>{(0,r.getCurrentLocation)().replace(((e=null)=>{let t=z(),o=T(),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)})(x()).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")},5814:e=>{e.exports=require("@mui/icons-material")},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:()=>w});var n=o(1116),s=o.n(n),i=o(2015),a=o.n(i),l=o(8619),c=o(5814),p=o(6031),d=o.n(p),u=o(2462),m=o.n(u),f=o(8418);const h=["onAddedFile","onUploadProgress","onFileRemoved","onFileCompleted","onFileError","onDropzoneReady","eventHandlers","children"];function E(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 g(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?E(Object(o),!0).forEach((function(t){s()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):E(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const R=e=>{let{onAddedFile:t,onUploadProgress:o,onFileRemoved:r,onFileCompleted:n,onFileError:s,onDropzoneReady:i,eventHandlers:l={},children:c}=e,p=m()(e,h);const u=g(g({},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(f.j,d()({},p,{eventHandlers:u}),c)};function y(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function _(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?y(Object(o),!0).forEach((function(t){s()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):y(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}const w=({value:e=[],onRemove:t,canAdd:o=!0,canDelete:r=!0,mediaType:n,postUrl:s,maxFiles:p=1,timeOut:d,onUploadComplete:u,djsConfig:m,id:f,parallelChunkUploads:h=!1,onError:E=()=>{},getAllowedExtensions:g=null,getMaxSize:y=null,error:w,label:O,helpText:v})=>{const x=(0,i.useRef)(null),[T,S]=(0,i.useState)([]),[k,z]=(0,i.useState)([]),b=(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]),U=(0,i.useCallback)((()=>n?(null==n?void 0:n.max_size)/1048576:100),[n]),A=(0,i.useMemo)((()=>g?g():b()),[g,b]),C=(0,i.useMemo)((()=>y?y():U()),[y,U]),N=(0,i.useMemo)((()=>!p||e.length<p),[p,e.length]),F=(0,i.useMemo)((()=>N&&0===T.length&&0===k.length),[N,T.length,k.length]),H=(0,i.useMemo)((()=>t?{removedfile:t}:{}),[t]),I=(0,i.useMemo)((()=>_({paramName:"file",maxFilesize:C,timeout:d||6e5,chunking:!0,retryChunks:!0,parallelChunkUploads:h,addRemoveLinks:!0,maxFiles:p,acceptedFiles:A,dictDefaultMessage:""},m)),[C,d,h,p,A,m]),j=(0,i.useMemo)((()=>({showFiletypeIcon:!1,postUrl:s})),[s]),D=(0,i.useMemo)((()=>({media_type:n,media_upload:e})),[n,e]),P=(0,i.useCallback)((e=>e?e>=1048576?`${Math.round(e/1048576)} MB`:`${Math.round(e/1024)} KB`:"0 KB"),[]),$=(0,i.useCallback)((()=>{if(!A)return"";const e=A.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]}`}),[A]),q=(0,i.useCallback)((e=>o=>{o.preventDefault(),t(e)}),[t]),B=(0,i.useCallback)((e=>{x.current=e}),[]),K=(0,i.useCallback)((e=>{S((t=>[...t,{name:e.name,size:e.size,progress:0,complete:!1}]))}),[]),M=(0,i.useCallback)(((e,t)=>{S((o=>o.map((o=>o.name===e.name&&o.size===e.size?_(_({},o),{},{progress:t}):o))))}),[]),L=(0,i.useCallback)((e=>{S((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),W=(0,i.useCallback)((e=>{S((t=>t.map((t=>t.name===e.name&&t.size===e.size?_(_({},t),{},{progress:100,complete:!0}):t))))}),[]);(0,i.useEffect)((()=>{0!==T.length&&0!==e.length&&S((t=>t.filter((t=>!t.complete||!e.some((e=>e.filename===t.name))))))}),[e]);const G=(0,i.useCallback)(((e,t)=>{S((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size))))),z((o=>[...o,{name:e.name,size:e.size,message:t}]))}),[]),J=(0,i.useCallback)((e=>{if(x.current){var t;const o=null===(t=x.current.files)||void 0===t?void 0:t.find((t=>t.name===e.name&&t.size===e.size));o&&x.current.removeFile(o)}z((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),Q=(0,i.useCallback)((e=>{if(x.current){var t;const o=null===(t=x.current.files)||void 0===t?void 0:t.find((t=>t.name===e.name&&t.size===e.size));o&&x.current.removeFile(o)}S((t=>t.filter((t=>!(t.name===e.name&&t.size===e.size)))))}),[]),X=(0,i.useCallback)(((e,t,o)=>{u&&u(e,t,o)}),[u]),Z=$(),V={display:"flex",alignItems:"center",py:1.5,mb:1};return a().createElement(l.Box,{className:"upload-input-v3"},O&&a().createElement(l.Typography,{variant:"subtitle1",fontWeight:600,gutterBottom:!0},O),v&&a().createElement(l.Typography,{variant:"body2",color:"text.secondary",gutterBottom:!0,sx:{mb:2}},v),N&&a().createElement(l.Box,{sx:{mb:2,display:F?"block":"none"}},(()=>s?o?a().createElement(R,{id:f,djsConfig:I,config:j,eventHandlers:H,data:D,uploadCount:e.length,onUploadComplete:X,onError:E,onDropzoneReady:B,onAddedFile:K,onUploadProgress:M,onFileRemoved:L,onFileCompleted:W,onFileError:G},a().createElement(l.Box,{className:"dz-custom-content"},a().createElement(c.UploadFile,{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"),(Z||C)&&a().createElement(l.Typography,{variant:"caption",className:"dz-custom-hint"},Z?`${Z} files`:"",C?` (max. ${C}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"))()),w&&a().createElement(l.Alert,{severity:"error",sx:{mb:2,borderRadius:2}},w),T.length>0&&a().createElement(l.Box,{sx:{mt:2}},T.map(((e,t)=>a().createElement(l.Box,{key:`uploading-${t}`,sx:V},a().createElement(l.Box,{sx:{color:"primary.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(c.UploadFile,{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"},P(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:()=>Q(e),sx:{color:"text.secondary","&:hover":{color:"error.main"}}},a().createElement(c.Delete,null)),e.complete&&a().createElement(c.CheckCircle,{sx:{color:"success.main",fontSize:28}})))))),k.length>0&&a().createElement(l.Box,{sx:{mt:2}},k.map(((e,t)=>a().createElement(l.Box,{key:`error-${t}`,sx:V},a().createElement(l.Box,{sx:{color:"error.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(c.ErrorOutline,{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:()=>J(e),sx:{color:"error.main"}},a().createElement(c.Close,{fontSize:"small"})))))),e.length>0&&a().createElement(l.Box,{sx:{mt:2}},e.map(((e,o)=>{const n=e.filename,s=P(e.size);return a().createElement(l.Box,{key:`uploaded-${o}`,sx:V},a().createElement(l.Box,{sx:{color:"primary.main",display:"flex",alignItems:"center",mr:2,minWidth:32}},a().createElement(c.UploadFile,{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:q(e),sx:{color:"text.secondary","&:hover":{color:"error.main"}}},a().createElement(c.Delete,null)),a().createElement(c.CheckCircle,{sx:{color:"success.main",fontSize:28}})))}))))};return r})()));
2
2
  //# sourceMappingURL=upload-input-v3.js.map