@vidispine/vdt-react 23.2.0-pre.1 → 23.2.0

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 (65) hide show
  1. package/dist/index.js +3630 -61
  2. package/dist/index.umd.cjs +10 -0
  3. package/package.json +20 -24
  4. package/dist/DropArea.js +0 -7
  5. package/dist/context/AuthContext.js +0 -15
  6. package/dist/context/BinContext.js +0 -12
  7. package/dist/context/RolesContext.js +0 -10
  8. package/dist/context/SettingsContext.js +0 -15
  9. package/dist/hoc/compose.js +0 -3
  10. package/dist/hoc/withErrorBoundary.js +0 -7
  11. package/dist/hooks/useAddMetadataFieldAttributes.js +0 -15
  12. package/dist/hooks/useApi.js +0 -10
  13. package/dist/hooks/useAutocomplete.js +0 -10
  14. package/dist/hooks/useCollectionAutoPlay.js +0 -10
  15. package/dist/hooks/useCompoundMetadata.js +0 -10
  16. package/dist/hooks/useCsvDownload.js +0 -10
  17. package/dist/hooks/useDocSearchAutocomplete.js +0 -11
  18. package/dist/hooks/useEntityAccess.js +0 -10
  19. package/dist/hooks/useGetCollection.js +0 -7
  20. package/dist/hooks/useGetCollectionItem.js +0 -7
  21. package/dist/hooks/useGetEntity.js +0 -16
  22. package/dist/hooks/useGetEntityMetadata.js +0 -7
  23. package/dist/hooks/useGetFieldGroup.js +0 -7
  24. package/dist/hooks/useGetFieldMetadataDataset.js +0 -6
  25. package/dist/hooks/useGetItem.js +0 -7
  26. package/dist/hooks/useGetSavedSearchFolders.js +0 -15
  27. package/dist/hooks/useGroup.js +0 -7
  28. package/dist/hooks/useHoverScrub.js +0 -17
  29. package/dist/hooks/useInterval.js +0 -5
  30. package/dist/hooks/useJobSearch.js +0 -9
  31. package/dist/hooks/useListGroup.js +0 -8
  32. package/dist/hooks/useListUser.js +0 -8
  33. package/dist/hooks/useLocalStorage.js +0 -6
  34. package/dist/hooks/useMouseDownPosition.js +0 -6
  35. package/dist/hooks/useQueryInitialState.js +0 -7
  36. package/dist/hooks/useRepresentativeItems.js +0 -12
  37. package/dist/hooks/useSavedSearch.js +0 -12
  38. package/dist/hooks/useSearch.js +0 -8
  39. package/dist/hooks/useSearchGroup.js +0 -11
  40. package/dist/hooks/useSearchItem.js +0 -7
  41. package/dist/hooks/useSearchUser.js +0 -11
  42. package/dist/hooks/useSelected.js +0 -7
  43. package/dist/hooks/useTab.js +0 -6
  44. package/dist/hooks/useThumbnailScrub.js +0 -6
  45. package/dist/hooks/useUpdateEffect.js +0 -6
  46. package/dist/hooks/useUpdateQueryState.js +0 -9
  47. package/dist/hooks/useUploadFiles.js +0 -13
  48. package/dist/hooks/useUser.js +0 -8
  49. package/dist/moveEntity.js +0 -6
  50. package/dist/utils.js +0 -7
  51. package/dist/wrappers/Auth.js +0 -11
  52. package/dist/wrappers/ComposeProviders.js +0 -7
  53. package/dist/wrappers/ErrorBoundary.js +0 -11
  54. package/dist/wrappers/GetCollection.js +0 -6
  55. package/dist/wrappers/GetEntityMetadata.js +0 -6
  56. package/dist/wrappers/GetFieldGroup.js +0 -6
  57. package/dist/wrappers/GetItem.js +0 -6
  58. package/dist/wrappers/GetJobs.js +0 -8
  59. package/dist/wrappers/HasRole.js +0 -6
  60. package/dist/wrappers/ListEntityAccess.js +0 -8
  61. package/dist/wrappers/MetadataType.js +0 -8
  62. package/dist/wrappers/SearchCollection.js +0 -8
  63. package/dist/wrappers/SearchItem.js +0 -6
  64. package/dist/wrappers/SearchItemCollection.js +0 -8
  65. package/dist/wrappers/VidispineApi.js +0 -11
@@ -0,0 +1,10 @@
1
+ (function(g,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("react"),require("@vidispine/vdt-api"),require("@vidispine/vdt-js"),require("lz-string"),require("use-deep-compare-effect"),require("lodash.debounce"),require("react/jsx-runtime"),require("react-cookie"),require("react-is")):typeof define=="function"&&define.amd?define(["exports","react","@vidispine/vdt-api","@vidispine/vdt-js","lz-string","use-deep-compare-effect","lodash.debounce","react/jsx-runtime","react-cookie","react-is"],a):(g=typeof globalThis<"u"?globalThis:g||self,a(g["@vidispine/vdt-react"]={},g.react,g.vdtApi,g.vdtJs,g.lzString,g.useDeepCompareEffect,g._debounce,g.jsxRuntime,g.reactCookie,g.reactIs))})(this,function(g,a,C,z,Ge,Q,ve,V,Ne,_e){"use strict";const lt=({hasLoaded:e=!1,isLoading:t=!0,isError:r=!1,response:n=void 0,data:s=void 0}={},o=void 0)=>({isLoading:t,hasLoaded:e,isError:r,response:n,data:o&&o.current?o.current:s}),ft=(e,t)=>{switch(t.type){case"START":return{...e,isLoading:!0,isError:!1};case"SUCCESS":{const{responseType:r}=t.response,n={isLoading:!1,isError:!1,hasLoaded:!0,response:t.response,data:t.response.data};return r&&(n[r]=t.response[r]),n}case"ERROR":return{isLoading:!1,isError:!0,hasLoaded:!0,response:t.response,data:t.response.data};case"CANCEL":return{...e,isLoading:!1,isError:!1,hasLoaded:!0};case"RESET":return{...t.initialState};default:return e}};function x(e,t,r){const n=a.useRef(()=>null),s=lt(t,r),o=a.useRef(s),[u,i]=a.useReducer(ft,s),f=a.useCallback(E=>(i({type:"START"}),new Promise((h,d)=>{e({cancelToken:new C.utils.CancelToken(p=>{n.current=p}),...E}).then(p=>{h(p),i({type:"SUCCESS",response:p}),r&&(r.current=p.data)}).catch(p=>{p.__CANCEL__?i({type:"CANCEL"}):(d(p),i({type:"ERROR",response:p}))})})),[e,r]),l=a.useCallback(()=>i({type:"RESET",initialState:o.current}),[]),c=a.useCallback(()=>n.current(),[]);return a.useEffect(()=>()=>{c(),l()},[c,l]),{request:f,reset:l,cancel:c,...u}}const k={CHANGE_PAGE:"CHANGE_PAGE",CHANGE_ROWS:"CHANGE_ROWS",CHANGE_SORT:"CHANGE_SORT",CHANGE_SEARCHTEXT:"CHANGE_SEARCHTEXT",CHANGE_SEARCHFIELD:"CHANGE_SEARCHFIELD",CHANGE_SEARCHFIELDFACET:"CHANGE_SEARCHFIELDFACET",CHANGE_SEARCHFILTER:"CHANGE_SEARCHFILTER",CHANGE_SEARCHFILTERFACET:"CHANGE_SEARCHFILTERFACET",CHANGE_PARENT_COLLECTION:"CHANGE_PARENT_COLLECTION",CHANGE_FACET:"CHANGE_FACET",CHANGE_ITEMSEARCHDOCUMENT:"CHANGE_ITEMSEARCHDOCUMENT",CHANGE_QUERYPARAMS:"CHANGE_QUERYPARAMS",CHANGE_MATRIXPARAMS:"CHANGE_MATRIXPARAMS",CHANGE_SUGGESTION:"CHANGE_SUGGESTION"},dt=({queryParams:e={},matrixParams:t={},itemSearchDocument:r={},rowsPerPage:n=10,page:s=0,...o}={})=>({...o,queryParams:{content:"metadata",interval:"generic",...e},matrixParams:{first:s*n+1,number:n,...t},itemSearchDocument:{intervals:"generic",filter:[],...r},rowsPerPage:n,page:s}),mt=(e,t)=>{switch(t.type){case k.CHANGE_ITEMSEARCHDOCUMENT:return{...e,page:Number.isInteger(t.page)?t.page:e.page,itemSearchDocument:t.itemSearchDocument,matrixParams:{...e.matrixParams,first:Number.isInteger(t.page)?t.page*e.rowsPerPage+1:e.matrixParams.first}};case k.CHANGE_QUERYPARAMS:return{...e,queryParams:t.queryParams};case k.CHANGE_MATRIXPARAMS:return{...e,matrixParams:t.matrixParams};case k.CHANGE_PAGE:return{...e,page:t.page,matrixParams:{...e.matrixParams,first:t.page*e.rowsPerPage+1}};case k.CHANGE_ROWS:return{...e,rowsPerPage:t.rowsPerPage,page:0,matrixParams:{...e.matrixParams,first:1,number:t.rowsPerPage}};case k.CHANGE_SORT:return{...e,page:0,searchText:t.value,sort:t.value,itemSearchDocument:{...e.itemSearchDocument,sort:t.field?[{field:t.field,order:t.order||"descending"}]:[]},matrixParams:{...e.matrixParams,first:1}};case k.CHANGE_SEARCHTEXT:return{...e,page:0,searchText:t.value,itemSearchDocument:t.value?{...e.itemSearchDocument,text:[{value:`${t.value}`}]}:{...e.itemSearchDocument,text:[]},matrixParams:{...e.matrixParams,first:1}};case k.CHANGE_SEARCHFIELD:return{...e,page:0,field:t.field,itemSearchDocument:t.field?{...e.itemSearchDocument,field:t.field}:{...e.itemSearchDocument,field:[]},matrixParams:{...e.matrixParams,first:1}};case k.CHANGE_SEARCHFIELDFACET:return{...e,page:0,field:t.field,facet:t.facet,itemSearchDocument:t.field?{...e.itemSearchDocument,field:t.field,facet:t.facet}:{...e.itemSearchDocument,field:[],facet:[]},matrixParams:{...e.matrixParams,first:1}};case k.CHANGE_SEARCHFILTER:return{...e,page:0,filter:t.filter,itemSearchDocument:t.filter?{...e.itemSearchDocument,filter:t.filter}:{...e.itemSearchDocument,filter:[]},matrixParams:{...e.matrixParams,first:1}};case k.CHANGE_SEARCHFILTERFACET:return{...e,page:0,filter:t.filter,itemSearchDocument:t.filter?{...e.itemSearchDocument,filter:t.filter,facet:t.facet}:{...e.itemSearchDocument,filter:[],facet:[]},matrixParams:{...e.matrixParams,first:1}};case k.CHANGE_FACET:return{...e,page:0,facet:t.facet,itemSearchDocument:t.facet?{...e.itemSearchDocument,facet:t.facet}:{...e.itemSearchDocument,facet:[]},matrixParams:{...e.matrixParams,first:1}};case k.CHANGE_PARENT_COLLECTION:return{...e,page:0,parentCollection:t.value,itemSearchDocument:t.value?{...e.itemSearchDocument,operator:{field:[{name:"__parent_collection",value:[{value:`${t.value}`}]},{name:"__collection",value:[{value:`${t.value}`}]}],operation:"OR"}}:{...e.itemSearchDocument,operator:void 0},matrixParams:{...e.matrixParams,first:1}};case k.CHANGE_SUGGESTION:return{...e,itemSearchDocument:{...e.itemSearchDocument,suggestion:t.suggestion}};default:return e}};function Ie(e){const t=dt(e),[r,n]=a.useReducer(mt,t),s=({target:{value:y}}={})=>n({type:k.CHANGE_ROWS,rowsPerPage:y}),o=({page:y})=>n({type:k.CHANGE_PAGE,page:y}),u=(y,A,b)=>n({type:k.CHANGE_SORT,field:A,order:b}),i=a.useCallback(y=>n({type:k.CHANGE_SEARCHTEXT,value:y}),[]),f=a.useCallback((y,A)=>n({type:k.CHANGE_ITEMSEARCHDOCUMENT,itemSearchDocument:y,page:A}),[]),l=a.useCallback(y=>n({type:k.CHANGE_QUERYPARAMS,queryParams:y}),[]),c=a.useCallback(y=>n({type:k.CHANGE_MATRIXPARAMS,matrixParams:y}),[]),E=a.useCallback(y=>n({type:k.CHANGE_SEARCHFIELD,field:y}),[]),h=a.useCallback(y=>{const A=y.map(({name:b})=>({field:b,count:!0}));n({type:k.CHANGE_SEARCHFIELDFACET,field:y,facet:A})},[]),d=a.useCallback(y=>n({type:k.CHANGE_SEARCHFILTER,filter:y}),[]),p=a.useCallback(y=>{const b=y.reduce((v,{field:R=[]})=>v.concat(R),[]).map(({name:v})=>({name:v,field:v,count:!0,exclude:[v]}));n({type:k.CHANGE_SEARCHFILTERFACET,filter:y,facet:b})},[n]),m=a.useCallback(y=>{n({type:k.CHANGE_FACET,facet:y})},[n]),T=a.useCallback(y=>n({type:k.CHANGE_PARENT_COLLECTION,value:y}),[]),P=a.useCallback(y=>{n({type:k.CHANGE_SUGGESTION,suggestion:y})},[]);return{state:r,onChangeRowsPerPage:s,onChangePage:o,onChangeSort:u,setSearchText:i,setSearchField:E,setSearchFieldFacet:h,setSearchFilter:d,setSearchFilterFacet:p,setFacet:m,setItemSearchDocument:f,setQueryParams:l,setMatrixParams:c,setParentCollection:T,setSuggestion:P}}function me(e,t){const r=a.useRef(!1);a.useEffect(()=>{r.current?e():r.current=!0},t)}const ht=({field:e=void 0,text:t="",maximumSuggestions:r=10}={})=>({field:e,text:t,maximumSuggestions:r});function Et(e){const t=ht(e),[r,n]=a.useState(t),s=a.useCallback((l,c="")=>{n(E=>({...E,field:l,text:c}))},[]),o=a.useCallback(l=>{n(c=>({...c,text:l}))},[]),u=a.useCallback(l=>{n(c=>({...c,maximumSuggestions:l}))},[]),{request:i,data:{suggestion:f=[]}={}}=x(C.search.searchAutoComplete);return me(()=>{i({autocompleteRequestDocument:r})},[r]),{suggestions:f,setAutocompleteField:s,setAutocompleteText:o,setAutocompleteMaxSuggestions:u}}const pt=(e="id",t=[])=>{const[r,n]=a.useState(t);return{selected:r,onSelect:(i,f,l)=>{const c=l[e],E=r.findIndex(h=>h[e]===c);if(E===-1&&f===!0)f===!0&&n([...r,l]);else if(E>-1&&f===!1){const h=[...r];h.splice(E,1),n(h)}},onClear:()=>n([]),isSelected:i=>{const f=i[e];return r.findIndex(c=>c[e]===f)>-1}}},Ct=e=>{const[t,r]=a.useState(e);return{activeTab:t,changeTab:(s,o)=>r(o)}};function gt(e,t){const r=a.useRef();a.useEffect(()=>{r.current=e},[e]),a.useEffect(()=>{const s=setInterval(()=>r.current(),t);return()=>clearInterval(s)},[t])}function St(e=[]){const t=a.useRef(),r=a.useMemo(()=>Math.floor(e.length/2),[e]),[n,s]=a.useState(),o=a.useRef(n);if(a.useEffect(()=>()=>t.current&&clearInterval(t.current),[]),e.length===0)return{width:0};o.current=n;const u=()=>{const E=()=>{o.current===void 0?s(0):o.current===e.length-1?clearInterval(t.current):s(o.current+1)};t.current=setInterval(E,500)},i=()=>{s(),clearInterval(t.current)},f=e[n===void 0?r:n],l=n===void 0?0:`${Math.floor(n/(e.length-1)*100)}%`;return{imageSrc:f,onMouseEnter:u,onMouseLeave:i,width:l}}const Y={CHANGE_PAGE:"CHANGE_PAGE",CHANGE_ROWS:"CHANGE_ROWS",CHANGE_SORT:"CHANGE_SORT",CHANGE_TYPE:"CHANGE_TYPE",CHANGE_STATE:"CHANGE_STATE",CHANGE_PRIORITY:"CHANGE_PRIORITY",CHANGE_STARTTIME:"CHANGE_STARTTIME",CHANGE_FINISHTIME:"CHANGE_FINISHTIME"},yt=({queryParams:e={},matrixParams:t={}}={})=>({queryParams:e,matrixParams:{first:1,number:10,...t},rowsPerPage:10,page:0,jobMetadata:[]}),Tt=(e,t)=>{const{type:r,...n}=t;switch(r){case Y.CHANGE_PAGE:{const{page:s=0}=t,{rowsPerPage:o=10}=e;return{...e,page:s,matrixParams:{...e.matrixParams,first:s*o+1}}}case Y.CHANGE_ROWS:{const{rowsPerPage:s}=t;return{...e,rowsPerPage:s,page:0,matrixParams:{...e.matrixParams,first:1,number:s}}}case Y.CHANGE_SORT:{const{field:s,order:o="desc"}=t;return{...e,page:0,matrixParams:{...e.matrixParams,first:1,sort:`${s} ${o}`}}}case Y.CHANGE_TYPE:case Y.CHANGE_STATE:case Y.CHANGE_PRIORITY:{const{field:s,value:o=[]}=n;let u;if(o)u={...e.matrixParams,first:1,[s]:Array.isArray(o)?o.join(","):o};else{const{[s]:i,...f}=e.matrixParams;u={...f,first:1}}return{...e,page:0,matrixParams:u}}case Y.CHANGE_STARTTIME:case Y.CHANGE_FINISHTIME:{const{field:s,value:o=[]}=n;let u;if(o)u={...e.queryParams,first:1,[s]:o};else{const{[s]:i,...f}=e.queryParams;u={...f,first:1}}return{...e,page:0,queryParams:u}}case Y.CHANGE_JOBMETADATA:{const{field:s,value:o=[]}=n;let u;if(o.length)u={...e.queryParams,first:1,[s]:o};else{const{[s]:i,...f}=e.queryParams;u={...f,first:1}}return{...e,page:0,queryParams:u,jobMetadata:o}}default:return e}};function At(e){const t=yt(e),[r,n]=a.useReducer(Tt,t);return{state:r,onChangePage:({page:d})=>n({type:Y.CHANGE_PAGE,page:d}),onChangeSort:(d,p,m)=>{const T=typeof p=="object"?p.value:p;n({type:Y.CHANGE_SORT,field:T,order:m})},onChangeType:({field:d=[]})=>{const[{name:p="type",value:m=[]}]=d;n({type:Y.CHANGE_TYPE,field:p,value:m.length?m[0].value:null})},onChangeState:({field:d=[]})=>{const[{name:p="state",value:m=[]}]=d;n({type:Y.CHANGE_STATE,field:p,value:m.length?m[0].value:null})},onChangePriority:({field:d=[]})=>{const[{name:p="priority",value:m=[]}]=d;n({type:Y.CHANGE_PRIORITY,field:p,value:m.length?m[0].value:null})},onChangeStarttime:({field:d=[]})=>{const[{name:p="starttime-from",value:m=[]}]=d;n({type:Y.CHANGE_STARTTIME,field:p,value:m.length?m[0].value:null})},onChangeFinishtime:({field:d=[]})=>{const[{name:p="finishtime-from",value:m=[]}]=d;n({type:Y.CHANGE_FINISHTIME,field:p,value:m.length?m[0].value:null})},onChangeRowsPerPage:({target:{value:d}}={})=>n({type:Y.CHANGE_ROWS,rowsPerPage:d}),onChangeJobmetadata:d=>{n({type:Y.CHANGE_JOBMETADATA,field:"jobmetadata",value:d})}}}const Rt=(e,t)=>{const[r,n]=a.useState(JSON.parse(window.localStorage.getItem(e)||JSON.stringify(t)));return a.useEffect(()=>{window.localStorage.setItem(e,JSON.stringify(r))},[e,r]),[r,n,()=>JSON.parse(window.localStorage.getItem(e))]};function He(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))}function Pt(e){return Ge.compressToEncodedURIComponent(e)}function bt(e){return e.slice(-1)==="="?decodeURIComponent(atob(e).split("").map(t=>`%${`00${t.charCodeAt(0).toString(16)}`.slice(-2)}`).join("")):Ge.decompressFromEncodedURIComponent(e)}const Gt=["__mp3_160k"],vt=["__mp4"],Nt=["__png"],_t="audio",It="video",Ht="image",wt=["application/mxf"],Ot=[],Dt=[],Mt=e=>{if(!e||!e.type)return[];const t=e.type.toLowerCase();return t.startsWith(_t)||Dt.includes(t)?Gt:t.startsWith(It)||wt.includes(t)?vt:t.startsWith(Ht)||Ot.includes(t)?Nt:[]},Lt=(e,t={})=>new Promise((r,n)=>{const s=new C.ChunkedTransferManager,o=new C.ChunkedUpload(e,{onFail:u=>n(u),onComplete:u=>r(u),...t});s.addChunkedUpload(o),s.upload()}),Ut=({file:e,collectionId:t,onProgress:r,metadata:n={},placeholderParams:s={},importParams:o={},chunkedUploadProps:u={},generateTransferId:i=He,getShapeTags:f=Mt})=>new Promise((l,c)=>{try{let E;r({});const h=f(e),d=e.name,p=e.type,[m]=p.split("/"),T={originalFilename:d,mimeType:p,mediaType:m,...n},P=z.createMetadataType(T);C.vsimport.createImportPlaceholder({metadataDocument:P,queryParams:{container:1,...s}}).then(({data:y})=>{if(E=y.id,!t)return Promise.resolve();const A=Array.isArray(t)?t:[t];return Promise.all(A.map(b=>C.collection.addCollectionEntity({collectionId:b,entityId:E})))}).then(()=>{const y=i(),A={filename:d,transferId:y,tag:h,...o};return Lt(e,{api:{method:C.vsimport.createImportComponentRaw,props:{itemId:E,component:"container",queryParams:A}},onProgress:r,...u})}).then(y=>{l({...y,itemId:E,collectionId:t})}).catch(y=>c(y))}catch(E){console.error(E),c(E)}});function Ft({onUploadFile:e=Ut,initialMetadata:t={},...r}){const[n,s]=a.useState([]);a.useEffect(()=>()=>{n.forEach(h=>URL.revokeObjectURL(h.preview))},[n]);const o=a.useCallback((h=[])=>{const d=h.map(p=>({file:p,metadata:{title:p.name,...t}}));s(p=>d.concat(p))},[t]),u=a.useCallback((h,d={})=>{s(p=>{const m=p[h],{metadata:T,progress:P}=d,{metadata:y={},progress:A={}}=m,b=[...p],v={...m};return T&&(v.metadata={...y,...T}),P&&(v.progress={...A,...P}),b[h]=v,b})},[s]),i=a.useCallback(h=>(d={})=>{u(h,{progress:d})},[u]),f=a.useCallback(h=>(d={})=>{u(h,{metadata:d})},[u]),l=a.useCallback(h=>n.reduce((d,p,m)=>d.then(T=>p.progress?d:e({file:p.file,onProgress:i(m),metadata:p.metadata,...h,...r}).then(P=>[...T,P])),Promise.resolve([])),[n,e,i,r]),c=a.useCallback(h=>()=>{s([...n].filter((d,p)=>p!==h))},[s,n]),E=a.useCallback(h=>()=>{s([...n].filter((d,p)=>!h.includes(p)))},[s,n]);return{onAddFiles:o,onChangeFile:u,onChangeMetadata:f,onUpload:l,onRemoveFile:c,onRemoveFiles:E,files:n,setFiles:s}}function kt({history:e,navigate:t,location:r,queryName:n="q",defaultState:s=void 0}){const o=a.useRef(s);return{queryInitialState:a.useMemo(()=>{const{location:i=r}=e||{},l=new URLSearchParams(i.search).get(n);if(!l)return o.current;try{const c=bt(l);return JSON.parse(c)}catch{e?e.replace({pathName:e.location.pathName,search:""}):t&&t(i.pathName,{replace:!0})}},[e,t,r,n])}}function qt({history:e,navigate:t,location:r,state:n,queryName:s="q"}){const o=a.useCallback(()=>{const{location:u=r}=e||{},i=Pt(JSON.stringify(n));e?e.replace({pathName:u.pathName,search:`?${s}=${i}`}):t&&t(`${u.pathName}?${s}=${i}`,{replace:!0})},[e,t,r,s,n]);me(()=>{o(n)},[o,n])}const $t=({entityId:e,entityType:t})=>{const{request:r,data:n={},isLoading:s}=x(C.access.listEntityAccess),o=a.useCallback((f={})=>r({entityId:e,entityType:t,...f}),[e,t]),u=a.useCallback(({accessId:f,...l})=>C.access.removeEntityAccess({accessId:f,entityId:e,entityType:t,...l}),[e,t]),i=a.useCallback(({accessControlDocument:f,...l})=>C.access.createEntityAccess({entityType:t,entityId:e,accessControlDocument:f,...l}),[e,t]);return{accessControlList:n,isLoading:s,onList:o,onRemove:u,onAdd:i}},we=({data:e=[]}={},t=void 0)=>{if(!t)return;const{value:r}=e.find(n=>n.key===t)||{};return r},xt=(e,t)=>Object.assign({},...t.map(r=>({[r]:we(e,r)}))),jt=({values:{field:e}={}}={})=>e?e.map(t=>({value:t.value,label:t.key||t.value})):void 0,Wt=e=>{const r=new DOMParser().parseFromString(e,"application/xml").getElementsByTagName("field");if(!r.length)return;const n={field:[]};for(let s=0;s<r.length;s+=1){const[o,u]=r[s].childNodes;n.field.push({[o.nodeName]:o.firstChild.nodeValue,[u.nodeName]:u.firstChild.nodeValue})}return n},Vt=({fields:e,groups:t,getDataAttributes:r=xt,fieldDataToInclude:n="label,displayType,required",groupDataToInclude:s="label,order",fieldQueryParams:o={},groupQueryParams:u={},getAttributes:i=!0})=>{const[f,l]=a.useState(!1),[c,E]=a.useState(e),[h,d]=a.useState(t);return Q(()=>{let p=!1;if(i===!1)return()=>{p=!0};const m=(y=[],A={})=>y.map(({name:b,...v})=>{const R=A[b]||{},{label:N,...I}=r(R,n.split(","));return{name:b,label:N||b,type:R.type,constraint:R.constraint,options:jt(R),...I,...v}}),T=(y=[],A={},b={})=>y.map(({name:v,field:R,group:N,...I})=>{const H=A[v]||{},j=R||H&&H.field,W=N||H&&H.group,{label:B,...K}=r(H,s.split(","));return{name:v,label:B||v,order:we(H,"order"),fields:m(j,b),groups:T(W,A,b),...K,...I}});async function P(){l(!0);const y={},A={};let b=[];if(e){const R={...o,data:n};b=e.map(async({name:N})=>{try{const{data:I}=await C.metadatafield.getMetadataField({fieldName:N,queryParams:R});y[N]=I}catch{console.warn(`Could not retrieve attributes for ${N}`)}})}let v=[];if(t){const R=[...t],N={...u,data:s};v=R.map(async({name:I})=>{try{const{data:H}=await C.fieldgroup.getFieldGroup({groupName:I,queryParams:N}),{field:j=[],group:W=[]}=H;j.forEach(B=>{const K=B.data&&B.data.find(Z=>Z.key==="__values");if(K){const Z=Wt(K.value);y[B.name]={...B,values:Z}}}),W.forEach(B=>{R.push(B)}),A[I]=H}catch{console.warn(`Could not retrieve attributes for ${I}`)}})}await Promise.all([...b,...v]),p||(Object.values(y).some(R=>R)&&E(()=>m(e,y)),Object.values(A).some(R=>R)&&d(()=>{const R=T(t,A,y);return R.forEach(N=>{const{order:I}=N;I&&N.fields.sort((H,j)=>I.indexOf(H.name)-I.indexOf(j.name))}),R}),l(!1))}return P(),()=>{p=!0}},[e,t,n,s,o,u,i]),{fieldsWithAttributes:c,groupsWithAttributes:h,isLoading:f}},Yt=1e3,Bt="TRANSIENT";function Qt({metadata:e,markerField:t,markerValue:r,itemSearchDocument:n}){return C.item.searchItem({queryParams:{result:"library",updateMode:Bt,updateFrequency:Yt},itemSearchDocument:n}).then(({data:{library:s}})=>C.collection.createCollection({collectionDocument:{metadata:t?z.createMetadataType({[t]:r||s,...e}):e,content:[{id:s,type:"library"}]}}))}const Oe=({collectionId:e})=>new Promise((t,r)=>{C.collection.getCollection({collectionId:e,queryParams:{children:"library"}}).then(({data:n})=>{const{content:s=[]}=n,[o]=s;o||r(new Error("No Libraries")),t(o)})}),Xt=({collectionId:e})=>Oe({collectionId:e}).then(({id:t})=>Promise.all([C.library.removeLibrary({libraryId:t}),C.collection.removeCollection({collectionId:e})]));function Jt({libraryId:e}){return new Promise(t=>{C.library.getLibrarySettings({libraryId:e}).then(({data:{query:r}})=>{t(r)})})}const zt=({collectionId:e})=>new Promise(t=>{Oe({collectionId:e}).then(({id:r})=>Jt({libraryId:r})).then(t)});function Kt({markerField:e,markerValue:t,initialSearchState:r,onSaveSearch:n=Qt,onDeleteSearch:s=Xt,onUpdateSearchMetadata:o=C.collection.updateCollectionMetadata,onGetSavedSearchSettings:u=zt}){const i=a.useCallback(({metadata:h,itemSearchDocument:d})=>n({metadata:h,markerField:e,markerValue:t,itemSearchDocument:d}),[e,t,n]),f=(h={})=>({...h,operator:{field:[{name:e,value:[{value:t||"*"}]}],operator:h.operator?[h.operator]:[],operation:"AND"}}),l=Ie({...r,itemSearchDocument:f()}),{setItemSearchDocument:c,...E}=l;return{onSaveSearch:i,onDeleteSearch:s,onUpdateSearchMetadata:o,onGetSavedSearchSettings:u,searchProps:{setItemSearchDocument:h=>c(f(h)),...E}}}function De({itemSearchDocument:e,queryParams:t,matrixParams:r}){const{request:n,data:s={},isLoading:o,isError:u,cancel:i}=x(C.item.searchItem),f=()=>n({itemSearchDocument:e,queryParams:t,matrixParams:r});return Q(()=>{f()},[e,t,r]),{itemListType:s,isLoading:o,isError:u,onRefresh:f,cancel:i}}const Zt=()=>{const[e,t]=a.useState({x:0,y:0});return a.useEffect(()=>{const r=n=>t({x:n.clientX,y:n.clientY});return window.addEventListener("mousedown",r),()=>{window.removeEventListener("mousedown",r)}},[]),e};function Me({collectionId:e,queryParams:t={},refreshOnMount:r=!0}){const{request:n,data:s={},isLoading:o,isError:u}=x(C.collection.getCollection),i=()=>n({collectionId:e,queryParams:t});return Q(()=>{r&&i()},[e,t]),{collectionType:s,isLoading:o,isError:u,onRefresh:i}}function en({collectionId:e,queryParams:t={},refreshOnMount:r=!0}){const{request:n,data:s={}}=x(C.collection.getCollectionItem),o=()=>n({collectionId:e,queryParams:t});return Q(()=>{r&&o()},[e,t]),{itemListType:s,onRefresh:o}}const tn=({entityId:e,entityType:t})=>{let r,n,s;switch(t){case"collection":r="collectionType",s="collectionId",n=C.collection.getCollection;break;case"library":r="libraryType",s="libraryId",n=C.library.getLibrary;break;case"item":r="itemType",s="itemId",n=C.item.getItem;break;default:throw new Error("unknown entityType")}const{request:o,data:u,...i}=x(n),f=a.useCallback(l=>o({[s]:e,...l}),[e,s,o]);return{[r]:u,[s]:e,onGetEntity:f,...i}};function nn(e){const{data:t,request:r}=x(C.user.getUser,{data:e}),{userName:n}=t||{},s=a.useCallback(()=>r({userName:n}),[r,n]);a.useEffect(()=>{n&&s()},[s,n]);const o=a.useCallback(({userDocument:h})=>C.user.updateUser({userName:n,userDocument:h}).then(()=>r({userName:h.userName})),[r,n]),u=a.useCallback(({groups:h=[]})=>C.user.updateUserGroup({userName:n,groupListDocument:{group:h.map(d=>({groupName:d}))}}).then(s),[s,n]),i=a.useCallback(h=>C.group.removeGroupUser({groupName:h,userName:n}).then(s),[s,n]),f=a.useCallback(h=>C.user.updateUser({userName:n,userDocument:{password:h},queryParams:{passwordType:"raw"}}),[n]);return{userType:t,getUser:s,updateUser:o,updateUserGroups:u,removeUserFromGroup:i,disableUser:h=>C.user.disableUser({userName:n,...h}).then(s),enableUser:h=>C.user.enableUser({userName:n,...h}).then(s),deleteUser:({queryParams:h={}}={})=>C.user.disableUser({userName:n,queryParams:{hard:!0,...h}}),changePassword:f}}const ne={CHANGE_PAGE:"CHANGE_PAGE",CHANGE_ROWS:"CHANGE_ROWS",CHANGE_SORT:"CHANGE_SORT",CHANGE_QUERY:"CHANGE_QUERY"},rn=({queryParams:e={},rowsPerPage:t=10,page:r=0}={})=>({queryParams:{first:r*t+1,number:t,...e},rowsPerPage:t,page:r,userSearchDocument:{sort:[{field:"username",order:"ascending"}]}}),sn=(e,t)=>{const{type:r}=t;switch(r){case ne.CHANGE_PAGE:{const{page:n}=t;return{...e,page:n,queryParams:{...e.queryParams,first:n*e.rowsPerPage+1}}}case ne.CHANGE_ROWS:{const{rowsPerPage:n}=t;return{...e,rowsPerPage:n,page:0,queryParams:{...e.queryParams,first:1,number:n}}}case ne.CHANGE_QUERY:return{...e,page:0,userSearchDocument:{...e.userSearchDocument,field:[{name:t.field||"username",value:t.query||""}]},queryParams:{...e.queryParams,first:1}};default:return e}};function on(e){const t=rn(e),[r,n]=a.useReducer(sn,t),{data:s,request:o,hasLoaded:u,isError:i}=x(C.user.searchUser),f=()=>o({userSearchDocument:r.userSearchDocument,queryParams:r.queryParams});return a.useEffect(()=>{f()},[r.queryParams,r.userSearchDocument]),{...r,hasLoaded:u,isError:i,userListDocument:s,onSearchUser:f,onChangePage:({page:d})=>n({type:ne.CHANGE_PAGE,page:d}),onChangeSort:(d,p,m)=>{const T=typeof p=="object"?p.value:p;n({type:ne.CHANGE_SORT,field:T,order:m})},onChangeRowsPerPage:({target:{value:d}}={})=>n({type:ne.CHANGE_ROWS,rowsPerPage:d}),onChangeQuery:(d,p)=>{n({type:ne.CHANGE_QUERY,field:d,query:p})}}}const an=e=>{const{request:t,data:r={},isLoading:n}=x(C.group.listGroup),s=()=>t(e);return a.useEffect(()=>{s()},[e]),{onRefresh:s,groupListType:r,isLoading:n}},un=e=>{const{request:t,data:r={},isLoading:n}=x(C.user.listUser),s=()=>t(e);return a.useEffect(()=>{s()},[e]),{onRefresh:s,userListType:r,isLoading:n}},ee={CHANGE_PAGE:"CHANGE_PAGE",CHANGE_ROWS:"CHANGE_ROWS",CHANGE_SORT:"CHANGE_SORT",CHANGE_QUERY:"CHANGE_QUERY",HIDE_ROLES:"HIDE_ROLES"},cn=({queryParams:e={},rowsPerPage:t=10,page:r=0}={})=>({queryParams:{first:r*t+1,number:t,...e},rowsPerPage:t,page:r,groupSearchDocument:{}}),ln=(e,t)=>{const{type:r}=t;switch(r){case ee.CHANGE_PAGE:{const{page:n}=t;return{...e,page:n,queryParams:{...e.queryParams,first:n*e.rowsPerPage+1}}}case ee.CHANGE_ROWS:{const{rowsPerPage:n}=t;return{...e,rowsPerPage:n,page:0,queryParams:{...e.queryParams,first:1,number:n}}}case ee.HIDE_ROLES:{const{hideRoles:n}=t,s=n===!0?!1:void 0;return{...e,page:0,queryParams:{...e.queryParams,first:1,role:s}}}case ee.CHANGE_QUERY:return{...e,page:0,groupSearchDocument:{...e.groupSearchDocument,field:[{name:t.field||"groupname",value:t.query||""}]},queryParams:{...e.queryParams,first:1}};default:return e}};function fn(e){const t=cn(e),[r,n]=a.useReducer(ln,t),{data:s,request:o,hasLoaded:u,isError:i}=x(C.group.searchGroup),f=()=>o({groupSearchDocument:r.groupSearchDocument,queryParams:r.queryParams});return a.useEffect(()=>{f()},[r.queryParams,r.groupSearchDocument]),{...r,hasLoaded:u,isError:i,groupListDocument:s,onSearchGroup:f,onChangePage:({page:p})=>n({type:ee.CHANGE_PAGE,page:p}),onChangeSort:(p,m,T)=>{const P=typeof m=="object"?m.value:m;n({type:ee.CHANGE_SORT,field:P,order:T})},onChangeRowsPerPage:({target:{value:p}}={})=>n({type:ee.CHANGE_ROWS,rowsPerPage:p}),onChangeQuery:(p,m)=>{n({type:ee.CHANGE_QUERY,field:p,query:m})},onHideRoles:({hideRoles:p})=>n({type:ee.HIDE_ROLES,hideRoles:p})}}function dn(e){const{data:t,request:r}=x(C.group.getGroup,{data:e}),{groupName:n}=t||{},s=a.useCallback(()=>r({groupName:n}),[r,n]);a.useEffect(()=>{n&&s()},[s,n]);const o=a.useCallback(({groupDocument:d})=>C.group.updateGroup({groupName:n,groupDocument:d}).then(s),[s,n]),u=a.useCallback(({groups:d})=>C.group.updateGroup({groupName:n,groupDocument:{childGroupList:{group:d.map(p=>({groupName:p}))}}}).then(s),[s,n]),i=a.useCallback(({groups:d})=>C.group.updateGroup({groupName:n,groupDocument:{parentGroupList:{group:d.map(p=>({groupName:p}))}}}).then(s),[s,n]),f=a.useCallback(({users:d})=>C.group.updateGroup({groupName:n,groupDocument:{userList:{user:d.map(p=>({userName:p}))}}}).then(s),[s,n]),l=a.useCallback(d=>C.group.removeGroupUser({groupName:n,userName:d}).then(s),[s,n]),c=a.useCallback(d=>C.group.removeGroupChildren({groupName:n,childGroupName:d}).then(s),[s,n]),E=a.useCallback(d=>C.group.removeGroupChildren({groupName:d,childGroupName:n}).then(s),[s,n]),h=a.useCallback(()=>C.group.removeGroup({groupName:n}),[n]);return{groupType:t,getGroup:s,updateGroup:o,removeGroup:h,addChildGroups:u,addParentGroups:i,addUsersToGroup:f,removeUserFromGroup:l,removeChildGroup:c,removeFromParentGroup:E}}function Le({itemId:e,queryParams:t={},refreshOnMount:r=!0}){const{request:n,data:s={},isLoading:o,isError:u}=x(C.item.getItem),i=()=>n({itemId:e,queryParams:t});return Q(()=>{r&&i()},[e,t]),{itemType:s,isLoading:o,isError:u,onRefresh:i}}const mn=({collectionId:e,defaultEnabled:t=!0})=>{const[r,n]=a.useState(),[s,o]=a.useState(t),u=E=>o(h=>E!==void 0?E:!h),i=a.useRef(),f=a.useRef(),l=a.useRef(),c=a.useCallback(({itemId:E})=>{if(s===!1)return;const h={field:[{name:"mediaType",value:[{value:"video"},{value:"audio"}]}]},d=({first:p,number:m}={})=>{const{current:T}=i,{current:P}=f;if(!Array.isArray(T)){Promise.all([C.collection.getCollection({collectionId:e,queryParams:{children:"item"}}),C.collection.searchCollectionItem({collectionId:e,searchDocument:h,queryParams:{first:p,number:m}})]).then(([{data:R},{data:N}])=>{const{hits:I,item:H=[]}=N;i.current=H.map(({id:W})=>W),l.current=I;const{content:j}=R;f.current=j,d({first:1,number:100})});return}const{current:y}=l,A=P.findIndex(({id:R})=>R===E);if(A+1===P.length){n();return}if(A===-1&&y>T.length){C.collection.searchCollectionItem({collectionId:e,searchDocument:h,queryParams:{first:p+m,number:m}}).then(({data:R})=>{const{item:N=[]}=R;i.current.push(...N.map(({id:I})=>I)),d({first:p+m,number:m})});return}const v=P.slice(A+1).find(({id:R})=>T.includes(R));n(v)};d()},[e,s]);return{isAutoPlayEnabled:s,toggleAutoPlay:u,setNextPlaying:n,nextPlaying:r,onNext:c}},hn=e=>{const t=[];for(let r=0;r<e.length;r+=1){const n=e[r];if(n&&typeof n=="string")try{const s=n.split("version")[1].split("/")[1].split("?")[0],o=z.formatTimeCodeText(s);t.push(o)}catch{}}return t};function En(e=[],t=0,r=void 0,n=hn){const[s,o]=a.useState(0),[u,i]=a.useState(0),[f,l]=a.useState(!1),[c,E]=a.useState([]),[h,d]=a.useState(),[p,m]=a.useState(0),T=a.useRef(ve(R=>{i(R)},10)).current,P=R=>{try{return Math.round(R.getBoundingClientRect().left)}catch{return 0}},y=a.useCallback(R=>{const N=R.clientX-P(R.currentTarget)-t,I=R.currentTarget.offsetWidth;return N<0?0:N>I?I:N},[t]),A=(R,N)=>{let I=N[0],H=Math.abs(R-I),j=0;for(let W=0;W<N.length;W+=1){const B=Math.abs(R-N[W]),K=R-N[W]>0;B<H&&K&&(H=B,I=N[W],j=W)}return j},b=R=>{if(r){const N=y(R);o(N-1),p!==R.currentTarget.offsetWidth&&m(R.currentTarget.offsetWidth);const I=N/(R.currentTarget.offsetWidth/+r);d(z.formatTimeCodeSeconds(I));const H=A(I,c.map(j=>j.toSeconds().toFixed(0)));H!==u&&T(H)}};return Q(()=>{const R=n(e);E(R)},[e]),{thumbnailIndex:u,thumbnailTimeCode:h,thumbnailWidth:p,showScrub:f,scrubPosition:s,handleShowScrub:R=>()=>{r>0&&l(R)},onMouseMove:b}}function pn({searchDoc:e,queryParams:t,debounceTime:r,suggestionSettings:n={maximumSuggestions:10,accuracy:1},triggerLength:s=1,apiCall:o=C.item.searchItem}){const[u,i]=a.useState(""),f=a.useRef(ve(i,r)).current,{data:{autocomplete:l=[]}={},request:c}=x(o),{suggestion:E=[]}=l[0]||{};return Q(()=>{e&&u&&u.length>=s&&c({body:{...e,suggestion:n,autocomplete:[{text:u}],text:[{value:u}]},queryParams:{count:!1,number:0,...t}})},[c,u,t,s]),{suggestion:E,handleAutocompleteChange:f}}function Cn(){const{request:e,data:{value:t=[]}={},isLoading:r}=x(C.metadatafield.getMetadataFieldAllowedValues);return{getMetadataDataset:(s,o,u)=>{s&&e({fieldName:s,metadataFieldValueConstraintListDocument:{constraint:o?[{field:u,value:o}]:[]}})},dataset:t,isLoading:r}}const gn=1e3,Sn="TRANSIENT",Ue=e=>e.find(t=>t.name==="title").value[0].value;function yn({childFolders:e=[],queryParams:t={content:["metadata"]},markerProps:r={markerValue:"savedSearch",markerField:"eidr_referentType"},expand:n}){const[s,o]=a.useState(e),[u,i]=a.useState([]),[f,l]=a.useState(),c=a.useCallback(()=>{Promise.all(s.map(async m=>{const{data:{content:T,metadata:P={}}}=await C.collection.getCollection({collectionId:m,queryParams:t}),{field:y}=P.timespan[0];return T&&T[0].type==="library"?{id:m,libraryId:T[0].id,title:Ue(y),type:"query",metadata:P}:{id:m,title:Ue(y),subFolders:T&&T.map(A=>A.id),type:"folder",metadata:P}})).then(m=>{i(T=>[...m,...T])}).catch(m=>{l(m)})},[s,t]),E=(m,T,P,y,A)=>{C.collection.createCollection({collectionDocument:{metadata:z.createMetadataType({[T]:P,title:y})}}).then(({data:{id:b}})=>m?C.collection.updateCollection({collectionId:m,collectionDocument:{content:[{id:b,mode:"add",type:"collection"}]}}).then(({data:{content:v}})=>{v&&(o(v.filter(R=>R.id===b).map(R=>R.id)),A&&A())}).catch(v=>{l(v)}):null).catch(b=>{l(b)})},h=(m,T,P,y)=>{try{C.item.searchItem({queryParams:{result:"library",updateMode:Sn,updateFrequency:gn},itemSearchDocument:P}).then(({data:{library:A}})=>C.collection.createCollection({collectionDocument:{metadata:z.createMetadataType({[r.markerField]:r.markerValue,title:T}),content:[{id:A,type:"library"}]}})).then(({data:{id:A}})=>C.collection.updateCollection({collectionId:m,collectionDocument:{content:[{id:A,mode:"add",type:"collection"}]}}).then(({data:{content:b}})=>{b&&(o(b.filter(v=>v.id===A).map(v=>v.id)),y&&y())}).catch(b=>{l(b)})).catch(A=>{l(A)})}catch(A){l(A)}},d=m=>C.collection.removeCollection({collectionId:m}).catch(T=>{l(T)}),p=m=>{i(T=>T.filter(P=>P.id!==m))};return Q(()=>{s.length>0&&n&&c()},[s,n]),a.useEffect(()=>{!n&&typeof n=="boolean"&&(o(()=>u.map(m=>m.id)),i([]))},[n]),{createFolder:E,saveSearch:h,getSubFolders:c,deleteFolder:d,removeItem:p,subFolders:u,setSubFolders:i,setCurrentFolders:o,errors:f}}const Tn=({collectionId:e,onError:t})=>{const[r,n]=a.useState([]),o=async()=>{try{if(!e)throw Error("Missing collectionId");const{data:l={}}=await C.collection.getCollectionMetadata({collectionId:e,queryParams:{content:"metadata",field:"representativeItems"}}).catch(E=>{t&&t(E)}),{representativeItems:c=[]}=z.parseMetadataType(l,{flat:!0,includeValueAttributes:!0});n(()=>c)}catch(l){t&&t(l)}},u=async l=>{try{const c=z.createMetadataType({representativeItems:Array.isArray(l)?l:[l]}),E=await C.collection.updateCollectionMetadata({collectionId:e,metadataDocument:c});return o(),E}catch(c){t&&t(c);return}},i=l=>u({value:l,mode:"add"}),f=l=>{try{const c=r.filter(E=>E.value===l).map(E=>E.uuid);return c.length?u(c.map(E=>({uuid:E,mode:"remove"}))):void 0}catch(c){t&&t(c);return}};return a.useEffect(()=>{o()},[e]),{representativeItems:r,onRefresh:o,onAdd:i,onRemove:f}};function An(){return C.storage.listStorage().then(t=>({id:t.data.storage[0].id,uri:t.data.storage[0].method[0].uri}))}function Rn(e){return C.library.createLibrary({itemListDocument:{item:[...e.item.map(({id:t})=>({id:t}))]}})}function Pn(e,t,r){const{fileName:n="output",outputFormat:s="csv"}=r,{uri:o}=t,{data:{uri:[u]=[]}={}}=e,f=encodeURIComponent((()=>{if(o.includes("s3")){const[l,c]=o.split("?region");return`${l}${n}.${s}?region${c}`}return`${o}${n}.${s}`})());return C.library.getLibraryBatch({libraryId:u,queryParams:{destinationUri:f,...r}})}const bn=["FINISHED","FINISHED_WARNING"],Gn=["FINISHED","FINISHED_WARNING","FAILED_TOTAL","ABORTED"];function Fe(e,t,r,n){const{data:{jobId:s}={}}=e,{id:o}=t,{fileName:u="output",outputFormat:i="csv"}=r,f=`${u}.${i}`;C.job.getJob({jobId:s}).then(({data:{status:l}={}}={})=>{if(bn.includes(l))try{C.file.listFileStorage({storageId:o,queryParams:{path:f,methodMetadata:[{key:"format",value:"SIGNED-AUTO"},{key:"contentDisposition",value:`attachment;+filename=${f}`}],"noauth-url":!0}}).then(c=>window.open(c.data.file[0].uri[0]))}catch(c){console.error(`Download error:
2
+ ${c}`),n({message:"Download failed"})}else Gn.includes(l)?n({message:"Download failed"}):setTimeout(()=>{Fe(e,t,r,n)},1e3)})}const vn=({itemListType:e,queryParams:t,onSuccess:r,onError:n=({message:f,error:l})=>console.error(`${f}
3
+ ${l}`),onGetFile:s=Fe,onCreateList:o=Rn,onList:u=Pn,onGetStorage:i=An})=>({onDownload:()=>i().then(l=>Promise.all([o(e).then(c=>u(c,l,t)).then(r()).then(c=>s(c,l,t,n))]))});function Nn(e,t,r,n,s,o,u,i){const f=r[0].fields.map(d=>d),[l,c]=a.useState(n),E=(d,p,m,T)=>{const{value:P}=d.target,A=n.map(b=>b).map((b,v)=>m===v?{...p,[T]:P}:b);s(A),c(A)},h=async(d,p)=>{const m=z.createMetadataType(d),{timespan:T}=m,P=[];T.forEach((v,R)=>{const N={field:[],name:"V3_sport_Team",mode:"add"};v.field.forEach(I=>{N.field.push(I)}),p.includes(R)&&P.push(N)});const y={timespan:[{start:"-INF",end:"+INF",field:[],group:P}]},A=[...new Set(p)],b=[];A.forEach(v=>{const R=t.itemType.metadata.timespan[0].group.find((N,I)=>v===I);b.push(R.uuid)});try{await b.forEach(v=>setTimeout(C.metadata.removeMetadata({metadataUuid:v}),500)),await C.item.updateItemMetadata({itemId:e,metadataDocument:y}),await o(),s(l),u()}catch(v){i(v)}};return Q(()=>{s(t.group)},[t]),{tableColumns:f,onChange:E,onSubmit:h}}function ke({entity:e,entityId:t,queryParams:r={},refreshOnMount:n=!0}){const{request:s,data:o={},isLoading:u,isError:i}=x(C.metadata.getEntityMetadata),f=()=>s({entity:e,entityId:t,queryParams:r});return Q(()=>{n&&f()},[e,t,r]),{metadataType:o,isLoading:u,isError:i,onRefresh:f}}function qe({groupName:e,queryParams:t={},refreshOnMount:r=!0}){const{request:n,data:s={},isLoading:o,isError:u}=x(C.fieldgroup.getFieldGroup),i=()=>n({groupName:e,queryParams:t});return Q(()=>{r&&i()},[e,t]),{metadataFieldGroupType:s,isLoading:o,isError:u,onRefresh:i}}function _n({itemType:e,collectionType:t,metadataType:r,joinValue:n=",",flat:s=!0,groupAsList:o=!0,children:u,...i}){let f=r;if(e||t){const h=e||t||{};f=h==null?void 0:h.metadata}const l=a.useMemo(()=>z.parseMetadataType(f,{joinValue:n,flat:s,groupAsList:o}),[s,o,n,f]),c={...i,...l,itemType:e},E=h=>a.cloneElement(h,c);return a.Children.map(u,E)}function In({itemSearchDocument:e,queryParams:t,matrixParams:r,responseRef:n,initialState:s,children:o}){const{request:u,data:i={},isLoading:f,isError:l}=x(C.collection.searchCollection,s,n),c=()=>u({itemSearchDocument:e,queryParams:t,matrixParams:r});Q(()=>{c()},[e,t,r]);const E={itemSearchDocument:e,matrixParams:r,queryParams:t,collectionListType:i,onRefresh:c,isLoading:f,isError:l},h=d=>a.cloneElement(d,E);return a.Children.map(o,h)}function Hn({itemSearchDocument:e,queryParams:t,matrixParams:r,children:n}){const{itemListType:s,onRefresh:o,isLoading:u,isError:i}=De({itemSearchDocument:e,queryParams:t,matrixParams:r}),f={itemSearchDocument:e,matrixParams:r,queryParams:t,itemListType:s,onRefresh:o,isLoading:u,isError:i},l=c=>a.cloneElement(c,f);return a.Children.map(n,l)}function wn({itemSearchDocument:e,queryParams:t,matrixParams:r,children:n}){const{request:s,data:o={},isLoading:u,isError:i}=x(C.search.searchItemCollection),f=()=>s({itemSearchDocument:e,queryParams:t,matrixParams:r});Q(()=>{f()},[e,t,r]);const l={itemSearchDocument:e,matrixParams:r,queryParams:t,searchResultType:o,onRefresh:f,isLoading:u,isError:i},c=E=>a.cloneElement(E,l);return a.Children.map(n,c)}function On({itemId:e,queryParams:t,refreshOnMount:r,children:n}){const{itemType:s,onRefresh:o,isLoading:u,isError:i}=Le({itemId:e,queryParams:t,refreshOnMount:r}),f={itemId:e,queryParams:t,itemType:s,onRefresh:o,isLoading:u,isError:i},l=c=>a.cloneElement(c,f);return a.Children.map(n,l)}function Dn({collectionId:e,queryParams:t,refreshOnMount:r,children:n}){const{collectionType:s,onRefresh:o,isLoading:u,isError:i}=Me({collectionId:e,queryParams:t,refreshOnMount:r}),f={collectionId:e,queryParams:t,collectionType:s,onRefresh:o,isLoading:u,isError:i},l=c=>a.cloneElement(c,f);return a.Children.map(n,l)}function Mn({matrixParams:e,queryParams:t,children:r}){const{request:n,data:s={},isLoading:o,isError:u}=x(C.job.listJob),i=()=>n({matrixParams:e,queryParams:t});Q(()=>{i()},[e,t]);const f={matrixParams:e,queryParams:t,onRefresh:i,isLoading:o,isError:u,jobs:s},l=c=>a.cloneElement(c,f);return a.Children.map(r,l)}function Ln({entityId:e,entityType:t,queryParams:r,children:n}){const{request:s,data:o={},isLoading:u}=x(C.access.listEntityAccess),i=()=>s({entityId:e,entityType:t,queryParams:r});a.useEffect(()=>{i()},[e,t,r]);const f={entityId:e,entityType:t,queryParams:r,accessControlList:o,onRefresh:i,isLoading:u},l=c=>a.cloneElement(c,f);return a.Children.map(n,l)}class he extends a.Component{constructor(t){super(t);const{serverUrl:r,token:n,username:s,password:o,runAs:u}=t;r&&(C.utils.defaultClient.defaults.baseURL=r),n?C.utils.defaultClient.defaults.headers.Authorization=`token ${n}`:C.utils.defaultClient.defaults.auth={username:s,password:o},u&&(C.utils.defaultClient.defaults.headers.RunAs=u)}componentDidUpdate(t){const{serverUrl:r,token:n,username:s,password:o,runAs:u}=this.props;t.serverUrl!==r&&(r?C.utils.defaultClient.defaults.baseURL=r:delete C.utils.defaultClient.defaults.baseURL),t.token!==n&&(n?C.utils.defaultClient.defaults.headers.Authorization=`token ${n}`:delete C.utils.defaultClient.defaults.headers.Authorization),!n&&(t.username!==s||t.password!==o)&&(C.utils.defaultClient.defaults.auth={username:s,password:o}),t.runAs!==u&&(u?C.utils.defaultClient.defaults.headers.RunAs=u:delete C.utils.defaultClient.defaults.headers.RunAs)}render(){const{children:t,username:r,serverUrl:n}=this.props,s={username:r,serverUrl:n},o=u=>a.cloneElement(u,s);return a.Children.map(t,o)}}const ae="VIDISPINE-TOKEN",ue="VIDISPINE-USERNAME",ie="VIDISPINE-SERVER-URL",ce="VIDISPINE-REMEMBER-ME",Un=({userName:e,password:t,serverUrl:r})=>{r&&(C.utils.defaultClient.defaults.baseURL=r);const n={seconds:2592e3,autoRefresh:"true"},s={password:t,username:e};try{C.user.getToken({queryParams:n,headers:s}).then(({data:o})=>o).catch(({response:o={},message:u="Unknown error."})=>{let i=u;throw o.status===401&&(i="Incorrect Username/Password"),i})}catch{throw"Incorrect Username/Password"}};function Fn({LoginComponent:e,LoginProps:t={},AppComponent:r,AppProps:n={},onGetToken:s=Un,onSuccess:o,onError:u,cookieOptions:i={maxAge:604800,path:"/"},...f}){const[l,c,E]=Ne.useCookies([ae,ue,ie,ce]),{[ae]:h,[ue]:d,[ie]:p}=l,m=l[ce]==="true",T=y=>{let A;try{s(y).then(b=>{const{userName:v,serverUrl:R,rememberMe:N}=y;v&&c(ue,v,i),R&&c(ie,R,i),N&&c(ce,N,i),b&&c(ae,b,i),o&&o(y)}).catch(b=>{if(A=b,u)return u(A);throw A})}catch(b){if(A=b,u)return u(A)}return A},P=()=>{E(ae,i),m||(E(ue,i),E(ie,i),E(ce,i))};return h?V.jsx(he,{token:h,username:d,serverUrl:p,children:V.jsx(r,{onLogout:P,...f,...n})}):V.jsx(e,{onLogin:T,userName:d,serverUrl:p,rememberMe:m,...f,...t})}function kn({error:e,info:t}){return V.jsxs("div",{style:{height:"100%",maxHeight:"100vh",width:"100%",maxWidth:"100vw",backgroundColor:"red",color:"white"},children:[e&&V.jsx("div",{children:e.toString()}),t&&V.jsx("div",{children:t.componentStack})]})}class $e extends a.Component{constructor(t){super(t),this.state={hasError:!1}}static getDerivedStateFromError(t){return{error:t,hasError:!0}}shouldComponentUpdate(t,r){const{hasError:n,info:s}=this.state,{info:o}=r;return!(s===o&&n===!0)}componentDidCatch(t,r){const{onError:n}=this.props;if(typeof n=="function")try{n(t,r)}catch{return}this.setState({info:r})}render(){const{children:t}=this.props,{hasError:r,error:n,info:s}=this.state;return r?V.jsx(kn,{info:s,error:n}):t}}function qn({groupName:e,queryParams:t,refreshOnMount:r,children:n}){const{metadataFieldGroupType:s,onRefresh:o,isLoading:u,isError:i}=qe({groupName:e,queryParams:t,refreshOnMount:r}),f={groupName:e,queryParams:t,metadataFieldGroupType:s,onRefresh:o,isLoading:u,isError:i},l=c=>a.cloneElement(c,f);return a.Children.map(n,l)}const xe=a.createContext();function $n({intialState:e={},onRefresh:t,userName:r,children:n}){const[s,o]=a.useState(e),u=()=>{if(r)C.user.getUserRole({userName:r}).then(({data:i})=>{o(i),t&&t(i)});else{let i;C.user.whoAmI().then(({data:f})=>(i=f,C.user.getUserRole({userName:f}))).then(({data:f})=>{o(f),t&&t(f,i)})}};return a.useEffect(u,[r]),V.jsx(xe.Provider,{value:s,children:n})}function je(){const e=a.useContext(xe);if(e===void 0)throw new Error("useRoles must be used within RolesContext");return{hasRole:r=>{if(r===void 0)throw new Error("roleName is undefined");const{group:n}=e;if(!Array.isArray(n))return null;const s=n.map(({groupName:o})=>o);return s.includes(z.ROLE_NAMES.SUPER_ACCESS_USER)?!0:Array.isArray(r)?r.findIndex(o=>s.includes(o))>-1:s.includes(r)},groupListType:e}}function xn({roleName:e,allow:t,deny:r,loading:n}){if(e===void 0)throw new Error("roleName is undefined");const{hasRole:s}=je(),o=s(e);return a.isValidElement(t)&&o===!0?t:a.isValidElement(r)&&o===!1?r:a.isValidElement(n)&&o===null?n:null}function jn({providers:e=[],children:t,...r}){return e.reduceRight((n,s)=>{if(typeof s=="function")return V.jsx(s,{...r,children:n});const{provider:o,...u}=s;return V.jsx(o,{...r,...u,children:n})},t)}function Wn({entity:e,entityId:t,queryParams:r,refreshOnMount:n,children:s}){const{metadataType:o,onRefresh:u,isLoading:i,isError:f}=ke({entity:e,entityId:t,queryParams:r,refreshOnMount:n}),l={entity:e,entityId:t,queryParams:r,metadataType:o,onRefresh:u,isLoading:i,isError:f};e==="collection"?l.collectionId=t:e==="item"&&(l.itemId=t);const c=E=>a.cloneElement(E,l);return a.Children.map(s,c)}const Vn=(e,t={})=>r=>V.jsx($e,{...t,children:V.jsx(e,{...r})}),Yn=(...e)=>e.reduce((t,r)=>(...n)=>t(r(...n)),t=>t),We=a.createContext(),Bn=(e,{entityId:t,entityType:r,entityTimespan:{start:n,end:s,field:[{name:o}={}]=[]}={}})=>{const u=e.some(f=>f.entity.id===t&&f.entityType===r);let i=!1;return u&&e.filter(l=>l.entity.id===t&&l.entityType===r).forEach(({entityTimespan:{start:l,end:c,field:[{name:E}={}]=[]}={}})=>{n===l&&s===c&&o===E&&(i=!0)}),!u||!i};function Qn({onChange:e,children:t,initialState:r=[],allowDuplicates:n=!1,isUniqueBinItem:s=Bn}){const[o,u]=a.useState(r),[i,f]=a.useState(n),l=a.useCallback(m=>{if(!m||!["string","number"].includes(typeof m)){console.error("BinProvider onDelete called without a binId of the entity to delete");return}u(T=>{const P=T.filter(y=>y.binId!==m);return e&&e(P),P})},[e]),c=a.useCallback(()=>{u([]),e&&e([])},[e]),E=m=>{const[T]=He().split("-");return{binId:T,...m}},h=a.useCallback(({dragInfo:m={}}={})=>{const{entityId:T,entityType:P,entity:y}=m;if(!T||!P||!y)throw new Error("Dragged element needs to have entityId, entityType and entity props");u((A=[])=>{if(s(A,m)||i){const b=[...A,E(m)];return e&&e(b),b}return A})},[i,s,e]),d=a.useCallback(({dragId:m,hoverId:T,originalDragIndex:P})=>{m===void 0||T===void 0&&P===void 0||u(y=>{const A=[...y],b=o.findIndex(N=>N.binId===m),v=o.findIndex(N=>N.binId===T),R=v>-1?v:P;return[A[R],A[b]]=[A[b],A[R]],e&&e(A),A})},[o,e]),p=a.useMemo(()=>({setBin:u,bin:o,allowDuplicates:i,setAllowDuplicates:f,onDrop:h,onSort:d,onFind:()=>null,onEmptyBin:c,onDelete:l}),[i,o,h,d,l,c]);return V.jsx(We.Provider,{value:p,children:t})}var q={},Ve={get exports(){return q},set exports(e){q=e}};/*
4
+ object-assign
5
+ (c) Sindre Sorhus
6
+ @license MIT
7
+ */var Ee,Ye;function Xn(){if(Ye)return Ee;Ye=1;var e=Object.getOwnPropertySymbols,t=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function n(o){if(o==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(o)}function s(){try{if(!Object.assign)return!1;var o=new String("abc");if(o[5]="de",Object.getOwnPropertyNames(o)[0]==="5")return!1;for(var u={},i=0;i<10;i++)u["_"+String.fromCharCode(i)]=i;var f=Object.getOwnPropertyNames(u).map(function(c){return u[c]});if(f.join("")!=="0123456789")return!1;var l={};return"abcdefghijklmnopqrst".split("").forEach(function(c){l[c]=c}),Object.keys(Object.assign({},l)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return Ee=s()?Object.assign:function(o,u){for(var i,f=n(o),l,c=1;c<arguments.length;c++){i=Object(arguments[c]);for(var E in i)t.call(i,E)&&(f[E]=i[E]);if(e){l=e(i);for(var h=0;h<l.length;h++)r.call(i,l[h])&&(f[l[h]]=i[l[h]])}}return f},Ee}var pe,Be;function Ce(){if(Be)return pe;Be=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return pe=e,pe}var ge,Qe;function Xe(){return Qe||(Qe=1,ge=Function.call.bind(Object.prototype.hasOwnProperty)),ge}var Se,Je;function Jn(){if(Je)return Se;Je=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=Ce(),r={},n=Xe();e=function(o){var u="Warning: "+o;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}}}function s(o,u,i,f,l){if(process.env.NODE_ENV!=="production"){for(var c in o)if(n(o,c)){var E;try{if(typeof o[c]!="function"){var h=Error((f||"React class")+": "+i+" type `"+c+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[c]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw h.name="Invariant Violation",h}E=o[c](u,c,f,i,null,t)}catch(p){E=p}if(E&&!(E instanceof Error)&&e((f||"React class")+": type specification of "+i+" `"+c+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof E+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),E instanceof Error&&!(E.message in r)){r[E.message]=!0;var d=l?l():"";e("Failed "+i+" type: "+E.message+(d??""))}}}}return s.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(r={})},Se=s,Se}var ye,ze;function zn(){if(ze)return ye;ze=1;var e=_e,t=Xn(),r=Ce(),n=Xe(),s=Jn(),o=function(){};process.env.NODE_ENV!=="production"&&(o=function(i){var f="Warning: "+i;typeof console<"u"&&console.error(f);try{throw new Error(f)}catch{}});function u(){return null}return ye=function(i,f){var l=typeof Symbol=="function"&&Symbol.iterator,c="@@iterator";function E(S){var G=S&&(l&&S[l]||S[c]);if(typeof G=="function")return G}var h="<<anonymous>>",d={array:P("array"),bigint:P("bigint"),bool:P("boolean"),func:P("function"),number:P("number"),object:P("object"),string:P("string"),symbol:P("symbol"),any:y(),arrayOf:A,element:b(),elementType:v(),instanceOf:R,node:j(),objectOf:I,oneOf:N,oneOfType:H,shape:B,exact:K};function p(S,G){return S===G?S!==0||1/S===1/G:S!==S&&G!==G}function m(S,G){this.message=S,this.data=G&&typeof G=="object"?G:{},this.stack=""}m.prototype=Error.prototype;function T(S){if(process.env.NODE_ENV!=="production")var G={},M=0;function O(L,w,D,U,$,F,J){if(U=U||h,F=F||D,J!==r){if(f){var X=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw X.name="Invariant Violation",X}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var re=U+":"+D;!G[re]&&M<3&&(o("You are manually calling a React.PropTypes validation function for the `"+F+"` prop on `"+U+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),G[re]=!0,M++)}}return w[D]==null?L?w[D]===null?new m("The "+$+" `"+F+"` is marked as required "+("in `"+U+"`, but its value is `null`.")):new m("The "+$+" `"+F+"` is marked as required in "+("`"+U+"`, but its value is `undefined`.")):null:S(w,D,U,$,F)}var _=O.bind(null,!1);return _.isRequired=O.bind(null,!0),_}function P(S){function G(M,O,_,L,w,D){var U=M[O],$=te(U);if($!==S){var F=oe(U);return new m("Invalid "+L+" `"+w+"` of type "+("`"+F+"` supplied to `"+_+"`, expected ")+("`"+S+"`."),{expectedType:S})}return null}return T(G)}function y(){return T(u)}function A(S){function G(M,O,_,L,w){if(typeof S!="function")return new m("Property `"+w+"` of component `"+_+"` has invalid PropType notation inside arrayOf.");var D=M[O];if(!Array.isArray(D)){var U=te(D);return new m("Invalid "+L+" `"+w+"` of type "+("`"+U+"` supplied to `"+_+"`, expected an array."))}for(var $=0;$<D.length;$++){var F=S(D,$,_,L,w+"["+$+"]",r);if(F instanceof Error)return F}return null}return T(G)}function b(){function S(G,M,O,_,L){var w=G[M];if(!i(w)){var D=te(w);return new m("Invalid "+_+" `"+L+"` of type "+("`"+D+"` supplied to `"+O+"`, expected a single ReactElement."))}return null}return T(S)}function v(){function S(G,M,O,_,L){var w=G[M];if(!e.isValidElementType(w)){var D=te(w);return new m("Invalid "+_+" `"+L+"` of type "+("`"+D+"` supplied to `"+O+"`, expected a single ReactElement type."))}return null}return T(S)}function R(S){function G(M,O,_,L,w){if(!(M[O]instanceof S)){var D=S.name||h,U=mr(M[O]);return new m("Invalid "+L+" `"+w+"` of type "+("`"+U+"` supplied to `"+_+"`, expected ")+("instance of `"+D+"`."))}return null}return T(G)}function N(S){if(!Array.isArray(S))return process.env.NODE_ENV!=="production"&&(arguments.length>1?o("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):o("Invalid argument supplied to oneOf, expected an array.")),u;function G(M,O,_,L,w){for(var D=M[O],U=0;U<S.length;U++)if(p(D,S[U]))return null;var $=JSON.stringify(S,function(J,X){var re=oe(X);return re==="symbol"?String(X):X});return new m("Invalid "+L+" `"+w+"` of value `"+String(D)+"` "+("supplied to `"+_+"`, expected one of "+$+"."))}return T(G)}function I(S){function G(M,O,_,L,w){if(typeof S!="function")return new m("Property `"+w+"` of component `"+_+"` has invalid PropType notation inside objectOf.");var D=M[O],U=te(D);if(U!=="object")return new m("Invalid "+L+" `"+w+"` of type "+("`"+U+"` supplied to `"+_+"`, expected an object."));for(var $ in D)if(n(D,$)){var F=S(D,$,_,L,w+"."+$,r);if(F instanceof Error)return F}return null}return T(G)}function H(S){if(!Array.isArray(S))return process.env.NODE_ENV!=="production"&&o("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var G=0;G<S.length;G++){var M=S[G];if(typeof M!="function")return o("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+dr(M)+" at index "+G+"."),u}function O(_,L,w,D,U){for(var $=[],F=0;F<S.length;F++){var J=S[F],X=J(_,L,w,D,U,r);if(X==null)return null;X.data&&n(X.data,"expectedType")&&$.push(X.data.expectedType)}var re=$.length>0?", expected one of type ["+$.join(", ")+"]":"";return new m("Invalid "+D+" `"+U+"` supplied to "+("`"+w+"`"+re+"."))}return T(O)}function j(){function S(G,M,O,_,L){return Z(G[M])?null:new m("Invalid "+_+" `"+L+"` supplied to "+("`"+O+"`, expected a ReactNode."))}return T(S)}function W(S,G,M,O,_){return new m((S||"React class")+": "+G+" type `"+M+"."+O+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+_+"`.")}function B(S){function G(M,O,_,L,w){var D=M[O],U=te(D);if(U!=="object")return new m("Invalid "+L+" `"+w+"` of type `"+U+"` "+("supplied to `"+_+"`, expected `object`."));for(var $ in S){var F=S[$];if(typeof F!="function")return W(_,L,w,$,oe(F));var J=F(D,$,_,L,w+"."+$,r);if(J)return J}return null}return T(G)}function K(S){function G(M,O,_,L,w){var D=M[O],U=te(D);if(U!=="object")return new m("Invalid "+L+" `"+w+"` of type `"+U+"` "+("supplied to `"+_+"`, expected `object`."));var $=t({},M[O],S);for(var F in $){var J=S[F];if(n(S,F)&&typeof J!="function")return W(_,L,w,F,oe(J));if(!J)return new m("Invalid "+L+" `"+w+"` key `"+F+"` supplied to `"+_+"`.\nBad object: "+JSON.stringify(M[O],null," ")+`
8
+ Valid keys: `+JSON.stringify(Object.keys(S),null," "));var X=J(D,F,_,L,w+"."+F,r);if(X)return X}return null}return T(G)}function Z(S){switch(typeof S){case"number":case"string":case"undefined":return!0;case"boolean":return!S;case"object":if(Array.isArray(S))return S.every(Z);if(S===null||i(S))return!0;var G=E(S);if(G){var M=G.call(S),O;if(G!==S.entries){for(;!(O=M.next()).done;)if(!Z(O.value))return!1}else for(;!(O=M.next()).done;){var _=O.value;if(_&&!Z(_[1]))return!1}}else return!1;return!0;default:return!1}}function fr(S,G){return S==="symbol"?!0:G?G["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&G instanceof Symbol:!1}function te(S){var G=typeof S;return Array.isArray(S)?"array":S instanceof RegExp?"object":fr(G,S)?"symbol":G}function oe(S){if(typeof S>"u"||S===null)return""+S;var G=te(S);if(G==="object"){if(S instanceof Date)return"date";if(S instanceof RegExp)return"regexp"}return G}function dr(S){var G=oe(S);switch(G){case"array":case"object":return"an "+G;case"boolean":case"date":case"regexp":return"a "+G;default:return G}}function mr(S){return!S.constructor||!S.constructor.name?h:S.constructor.name}return d.checkPropTypes=s,d.resetWarningCache=s.resetWarningCache,d.PropTypes=d,d},ye}var Te,Ke;function Kn(){if(Ke)return Te;Ke=1;var e=Ce();function t(){}function r(){}return r.resetWarningCache=t,Te=function(){function n(u,i,f,l,c,E){if(E!==e){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}}n.isRequired=n;function s(){return n}var o={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:s,element:n,elementType:n,instanceOf:s,node:n,objectOf:s,oneOf:s,oneOfType:s,shape:s,exact:s,checkPropTypes:r,resetWarningCache:t};return o.PropTypes=o,o},Te}if(process.env.NODE_ENV!=="production"){var Zn=_e,er=!0;Ve.exports=zn()(Zn.isElement,er)}else Ve.exports=Kn()();const Ze=a.createContext(),et=a.createContext(),Ae="UPDATE_ALL_SETTINGS",tt="UPDATE_SETTING",nt="UPDATE_USERNAME",rt="REMOVE_SETTING",tr=(e,t)=>{switch(t.type){case nt:return{...e,userName:t.userName};case Ae:return{...e,settings:t.settings};case tt:{const r={...e.settings,...t.setting};return{...e,settings:r}}case rt:{const r={...e.settings};return delete r[t.key],{...e,settings:r}}default:return e}};function Re({userName:e,settingsKey:t,children:r,initialSettings:n,onChange:s,getSettingsApi:o,updateSettingsApi:u}){const[i,f]=a.useReducer(tr,{settings:n,userName:e}),l=a.useRef();return a.useEffect(()=>{const{userName:c}=i;!o||!c||o({entityType:"user",entityId:c,key:t}).then(({data:E})=>{f({type:Ae,settings:E,userName:c,settingsKey:t}),l.current=JSON.stringify(E)}).catch(E=>{const{response:h}=E;if(h.status!==404)throw new Error(E)})},[i.userName]),a.useEffect(()=>{s&&s(i.settings);const{userName:c}=i;if(!u||!c)return;const E=JSON.stringify(i.settings),h=l.current;!h||E===h||(u({entityType:"user",entityId:c,key:t,value:E}),l.current=E)},[i.settings]),V.jsx(et.Provider,{value:i,children:V.jsx(Ze.Provider,{value:f,children:r})})}const nr=()=>{const e=a.useContext(et);if(!e)throw new Error("useSettingsState must be used within SettingsStateContext");return e},rr=()=>{const e=a.useContext(Ze);if(!e)throw new Error("useSettingsDispatch must be used within SettingsDispatchContext");return e},st=()=>{const e=rr(),t=a.useCallback(o=>e({type:Ae,settings:o}),[]),r=a.useCallback(o=>e({type:tt,setting:o}),[]),n=a.useCallback(o=>e({type:nt,userName:o}),[]),s=a.useCallback(o=>e({type:rt,key:o}),[]);return{updateAllSettings:t,updateSetting:r,updateUsername:n,removeSetting:s}},sr=()=>{const{settings:e={}}=nr();return{...st(),settings:e}};Re.propTypes={userName:q.string,settingsKey:q.string,children:q.objectOf(q.any),initialSettings:q.objectOf(q.any),onChange:q.func,getSettingsApi:q.func,updateSettingsApi:q.func},Re.defaultProps={userName:void 0,settingsKey:void 0,children:null,initialSettings:{},onChange:null,getSettingsApi:C.metadata.getSimpleMetadataKey,updateSettingsApi:C.metadata.updateSimpleMetadataKey};const le="VIDISPINE-TOKEN",se="VIDISPINE-USERNAME",fe="VIDISPINE-SERVER-URL",de="VIDISPINE-REMEMBER-ME",or="Incorrect username or password",ot="Offline or CORS not configured",at="Session expired",ar="VIDISPINE_URL mismatch",ut=e=>{try{return C.noauth.getSelfTest({baseURL:e}).then(()=>or).catch(()=>ot)}catch{return Promise.resolve(ot)}},ur=({maxAge:e=60,userName:t,password:r,serverUrl:n})=>{try{return C.user.getToken({queryParams:{seconds:e,autoRefresh:"true"},headers:{password:r,username:t},baseURL:n}).then(({data:s})=>s).catch(()=>ut(n).then(s=>{throw Error(s)}))}catch{return ut(n).then(o=>{throw Error(o)})}},Pe=a.createContext({serverUrl:null,token:null,userType:null,userName:null,onLogin:()=>null,onLogout:()=>null});function be({cookieOptions:e,LoginComponent:t,LoginProps:r,onGetToken:n,onSuccess:s,onError:o,serverUrl:u,userName:i,token:f,children:l}){const{data:c,request:E}=x(C.user.getUser),[h,d,p]=Ne.useCookies([le,se,fe,de]),{[le]:m=f,[se]:T=i,[fe]:P=u}=h,y=h[de]==="true",{maxAge:A}=e,b=a.useCallback(H=>{let j;try{return n({maxAge:A,...H}).then(W=>{const{userName:B,serverUrl:K,rememberMe:Z}=H;B&&d(se,B,e),K&&d(fe,K,e),Z&&d(de,Z,e),W&&d(le,W,e),E({userName:B}),s&&s(H)}).catch(W=>{j=W,o&&o(j)})}catch(W){j=W,o&&o(j)}return j},[e,A,o,n,s,E,d]),v=a.useCallback(()=>{p(le,e),y||(p(se,e),p(fe,e),p(de,e))},[e,y,p]),R=a.useRef(),N=a.useRef();a.useEffect(()=>(m&&(R.current&&C.utils.defaultClient.interceptors.response.eject(R.current),R.current=C.utils.defaultClient.interceptors.response.use(H=>H,H=>{if(H.response)H.response.status===401&&(v(),o&&o(Error(at)));else{const{config:{baseURL:j}={}}=H;N.current!==!0&&(N.current=!0,C.noauth.getSelfTest({baseURL:j}).then(()=>{N.current=void 0,v(),o&&o(Error(at))}).catch(()=>(N.current=void 0,null)))}return Promise.reject(H)})),()=>{R.current&&C.utils.defaultClient.interceptors.response.eject(R.current)}),[v,o,m]),a.useEffect(()=>{m&&T===void 0&&C.user.whoAmI().then(({data:H})=>d(se,H,e))},[T,m]),a.useEffect(()=>{m&&P&&u&&P!==u&&(v(),o&&o(Error(ar)))},[m,P,u,v,o]);const I=a.useMemo(()=>({serverUrl:P,token:m,userType:c,userName:T,onLogin:b,onLogout:v}),[b,v,P,m,T,c]);return m?V.jsx(he,{token:m,username:T,serverUrl:P,children:V.jsx(Pe.Provider,{value:I,children:l})}):V.jsx(t,{onLogin:b,userName:T,serverUrl:P,rememberMe:y,...r})}be.propTypes={cookieOptions:q.shape({maxAge:q.number,path:q.string}),LoginComponent:q.elementType.isRequired,LoginProps:q.objectOf(q.any),onGetToken:q.func,children:q.oneOfType([q.arrayOf(q.element),q.element]),onSuccess:q.func,onError:q.func,serverUrl:q.string.isRequired,userName:q.string,token:q.string},be.defaultProps={cookieOptions:{maxAge:604800,path:"/"},LoginProps:{},onGetToken:ur,children:null,onSuccess:null,onError:null,userName:null,token:null};const ir=()=>{const e=a.useContext(Pe);if(e===void 0)throw new Error("useAuth must be used within an AuthContext");return e},it=({entityId:e,entityType:t,collectionId:r,rootParentId:n,onError:s})=>{if(r&&r!==n)try{return C.collection.addCollectionEntity({collectionId:r,entityId:e,queryParams:{type:t.toLowerCase()}})}catch(o){s({message:`Could not add ${e} to collection ${r}`,error:o})}},ct=({entityId:e,entityType:t,collectionId:r,rootParentId:n,onError:s})=>{if(r&&r!==n)try{return C.collection.removeCollectionEntity({collectionId:r,entityId:e,queryParams:{type:t.toLowerCase()}})}catch(o){s({message:`Could not remove ${e} from collection ${r}`,error:o})}},cr=({entityId:e,entityType:t,addToCollectionId:r,removeFromCollectionId:n,rootParentId:s,onAddEntity:o=it,onRemoveEntity:u=ct,onMoved:i=()=>null,onAdded:f=()=>null,onRemoved:l=()=>null,onError:c=({message:E,error:h})=>console.error(`${E}
9
+ ${h}`)})=>{if(!r){c({message:"Missing the collection id to add entity to",error:""});return}if(!n){c({message:"Missing the collection id to remove entity from",error:""});return}try{const E=o({entityId:e,entityType:t,rootParentId:s,collectionId:r,onError:c}),h=u({entityId:e,entityType:t,rootParentId:s,collectionId:n,onError:c}),d=[E,h].filter(p=>p!==void 0);Promise.allSettled(d).then(p=>{const m=p.filter(A=>A.status!=="fulfilled"),T=m.length===0,P=m.length===d.length,y=m.length===1;if(T)i(),f(),l();else if(P)c({message:`Could not move ${e} from ${n} to ${r}`,error:m.map(A=>A.reason).join(`
10
+ `)});else if(y){const A=m[0].reason.config.method,b=A==="delete",v=A==="put";c({message:b?`Could not remove ${e} from collection ${n}`:`Could not add ${e} to collection ${r}`,error:m[0].reason});let R;b?R=u({entityId:e,entityType:t,collectionId:r,onError:c}):v&&(R=o({entityId:e,entityType:t,collectionId:n,onError:c})),R&&R.then(()=>{console.info(`Rollbacked moving ${e} from ${n} to ${r}`)}).catch(N=>{c({message:"Could not rollback after moving entity",error:N})})}}).catch(p=>{c({message:`Could not add ${e} to collection ${r}`,error:p})})}catch(E){c({message:`Could not move ${e} from ${n} to collection ${r}`,error:E})}};function lr({children:e,setDrag:t,onDrop:r,onDragEnter:n,onDragOver:s,onDragLeave:o,style:u}){const[i,f]=a.useState(0),l=d=>{d.preventDefault(),d.stopPropagation(),t(!1),r&&r(d)},c=d=>{d.preventDefault(),d.stopPropagation(),f(i+1),i===0&&t(!0),n&&n(d)},E=d=>{d.preventDefault(),d.stopPropagation(),s&&s(d)},h=d=>{d.preventDefault(),d.stopPropagation(),f(i-1),i===1&&t(!1),o&&o(d)};return V.jsx("div",{onDragEnter:d=>c(d),onDragOver:d=>E(d),onDrop:d=>l(d),onDragLeave:d=>h(d),style:u,children:e})}g.Auth=Fn,g.AuthContext=Pe,g.AuthProvider=be,g.BinContext=We,g.BinProvider=Qn,g.ComposeProviders=jn,g.DropArea=lr,g.ErrorBoundary=$e,g.GetCollection=Dn,g.GetEntityMetadata=Wn,g.GetFieldGroup=qn,g.GetItem=On,g.GetJobs=Mn,g.HasRole=xn,g.ListEntityAccess=Ln,g.MetadataType=_n,g.RolesProvider=$n,g.SearchCollection=In,g.SearchItem=Hn,g.SearchItemCollection=wn,g.SettingsProvider=Re,g.VidispineApi=he,g.compose=Yn,g.handleAddEntity=it,g.handleMoveEntity=cr,g.handleRemoveEntity=ct,g.useAddMetadataFieldAttributes=Vt,g.useApi=x,g.useAuthContext=ir,g.useAutocomplete=Et,g.useCollectionAutoPlay=mn,g.useCompoundMetadata=Nn,g.useCsvDownload=vn,g.useDocSearchAutocomplete=pn,g.useEntityAccess=$t,g.useGetCollection=Me,g.useGetCollectionItem=en,g.useGetEntity=tn,g.useGetEntityMetadata=ke,g.useGetFieldGroup=qe,g.useGetFieldMetadataDataset=Cn,g.useGetItem=Le,g.useGetSavedSearchFolders=yn,g.useGroup=dn,g.useHoverScrub=En,g.useInterval=gt,g.useJobSearch=At,g.useListGroup=an,g.useListUser=un,g.useLocalStorage=Rt,g.useMouseDownPosition=Zt,g.useQueryInitialState=kt,g.useRepresentativeItems=Tn,g.useRoles=je,g.useSavedSearch=Kt,g.useSearch=Ie,g.useSearchGroup=fn,g.useSearchItem=De,g.useSearchUser=on,g.useSelected=pt,g.useSettings=sr,g.useSettingsActions=st,g.useTab=Ct,g.useThumbnailScrub=St,g.useUpdateEffect=me,g.useUpdateQueryState=qt,g.useUploadFiles=Ft,g.useUser=nn,g.withErrorBoundary=Vn,Object.defineProperty(g,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vidispine/vdt-react",
3
- "version": "23.2.0-pre.1",
3
+ "version": "23.2.0",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -12,22 +12,27 @@
12
12
  "url": "https://github.com/vidispine/vdt.git",
13
13
  "directory": "packages/vdt-react"
14
14
  },
15
- "main": "dist/index.js",
16
- "module": "dist/index.js",
17
- "sideEffects": false,
15
+ "type": "module",
16
+ "main": "./dist/index.umd.cjs",
17
+ "module": "./dist/index.js",
18
+ "exports": {
19
+ ".": {
20
+ "import": "./dist/index.js",
21
+ "require": "./dist/index.umd.cjs"
22
+ }
23
+ },
18
24
  "files": [
19
25
  "dist"
20
26
  ],
21
27
  "scripts": {
22
- "build": "rimraf dist && rollup -c",
23
- "build:watch": "yarn build -w --environment DEVELOPMENT",
24
- "lint": "eslint . --max-warnings=0",
28
+ "build": "yarn vite build",
29
+ "build:watch": "yarn vite build --watch --mode development",
30
+ "lint": "eslint . --cache --max-warnings=0 --ext .js,.jsx,.ts,.tsx,.md,.mdx",
25
31
  "format": "prettier . --check"
26
32
  },
27
33
  "dependencies": {
28
- "@babel/runtime": "^7.21.0",
29
- "@vidispine/vdt-api": "23.2.0-pre.1",
30
- "@vidispine/vdt-js": "23.2.0-pre.1",
34
+ "@vidispine/vdt-api": "23.2.0",
35
+ "@vidispine/vdt-js": "23.2.0",
31
36
  "lodash.debounce": "^4.0.8",
32
37
  "lz-string": "^1.4.4",
33
38
  "react-cookie": "^4.1.1",
@@ -37,24 +42,15 @@
37
42
  "react": "^17.0.0"
38
43
  },
39
44
  "devDependencies": {
40
- "@babel/core": "7.21.0",
41
- "@babel/plugin-external-helpers": "7.18.6",
42
- "@babel/plugin-transform-runtime": "7.21.0",
43
- "@babel/preset-env": "7.20.2",
44
- "@babel/preset-react": "7.18.6",
45
- "@rollup/plugin-babel": "5.3.1",
46
- "@rollup/plugin-commonjs": "21.1.0",
47
- "@rollup/plugin-node-resolve": "13.3.0",
48
- "@vidispine/eslint-config-react": "23.2.0-pre.1",
49
- "@vidispine/eslint-config-storybook": "23.2.0-pre.1",
50
- "@vidispine/prettier-config": "23.2.0-pre.1",
45
+ "@vidispine/eslint-config-react": "23.2.0",
46
+ "@vidispine/eslint-config-storybook": "23.2.0",
47
+ "@vidispine/prettier-config": "23.2.0",
48
+ "@vitejs/plugin-react": "3.1.0",
51
49
  "axios-mock-adapter": "1.21.2",
52
- "babel-plugin-transform-react-remove-prop-types": "0.4.24",
53
50
  "eslint": "8.34.0",
54
51
  "prettier": "2.8.4",
55
52
  "prop-types": "15.8.1",
56
- "rimraf": "3.0.2",
57
- "rollup": "2.79.1"
53
+ "vite": "4.3.1"
58
54
  },
59
55
  "eslintConfig": {
60
56
  "extends": [
package/dist/DropArea.js DELETED
@@ -1,7 +0,0 @@
1
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import { useState } from 'react';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- function DropArea(_ref){var children=_ref.children,setDrag=_ref.setDrag,onDropProp=_ref.onDrop,onDragEnterProp=_ref.onDragEnter,onDragOverProp=_ref.onDragOver,onDragLeaveProp=_ref.onDragLeave,style=_ref.style;var _useState=useState(0),_useState2=_slicedToArray(_useState,2),dragCounter=_useState2[0],setDragCounter=_useState2[1];var _onDrop=function onDrop(e){e.preventDefault();e.stopPropagation();setDrag(false);if(onDropProp)onDropProp(e);};var _onDragEnter=function onDragEnter(e){e.preventDefault();e.stopPropagation();setDragCounter(dragCounter+1);if(dragCounter===0)setDrag(true);if(onDragEnterProp)onDragEnterProp(e);};var _onDragOver=function onDragOver(e){e.preventDefault();e.stopPropagation();if(onDragOverProp)onDragOverProp(e);};var _onDragLeave=function onDragLeave(e){e.preventDefault();e.stopPropagation();setDragCounter(dragCounter-1);if(dragCounter===1)setDrag(false);if(onDragLeaveProp)onDragLeaveProp(e);};return/*#__PURE__*/jsx("div",{onDragEnter:function onDragEnter(e){return _onDragEnter(e);},onDragOver:function onDragOver(e){return _onDragOver(e);},onDrop:function onDrop(e){return _onDrop(e);},onDragLeave:function onDragLeave(e){return _onDragLeave(e);},style:style,children:children});}
6
-
7
- export { DropArea as default };
@@ -1,15 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { createContext, useCallback, useRef, useEffect, useMemo, useContext } from 'react';
4
- import { useCookies } from 'react-cookie';
5
- import { user, utils, noauth } from '@vidispine/vdt-api';
6
- import { jsx } from 'react/jsx-runtime';
7
- import useApi from '../hooks/useApi.js';
8
- import VidispineApi from '../wrappers/VidispineApi.js';
9
-
10
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var VIDISPINE_TOKEN='VIDISPINE-TOKEN';var VIDISPINE_USERNAME='VIDISPINE-USERNAME';var VIDISPINE_SERVER_URL='VIDISPINE-SERVER-URL';var VIDISPINE_REMEMBER_ME='VIDISPINE-REMEMBER-ME';var ERROR_CREDENTIALS='Incorrect username or password';var ERROR_OFFLINE='Offline or CORS not configured';var ERROR_TOKEN_EXPIRED='Session expired';var ERROR_SERVER_MISMATCH='VIDISPINE_URL mismatch';var getErrorMessage=function getErrorMessage(serverUrl){try{// NoAuthApi.isOnline throws cors error after multiple requests
11
- return noauth.getSelfTest({baseURL:serverUrl}).then(function(){return ERROR_CREDENTIALS;})["catch"](function(){return ERROR_OFFLINE;});}catch(_){return Promise.resolve(ERROR_OFFLINE);}};var defaultOnGetToken=function defaultOnGetToken(_ref){var _ref$maxAge=_ref.maxAge,seconds=_ref$maxAge===void 0?60:_ref$maxAge,userName=_ref.userName,password=_ref.password,serverUrl=_ref.serverUrl;try{return user.getToken({queryParams:{seconds:seconds,autoRefresh:'true'},headers:{password:password,username:userName},baseURL:serverUrl}).then(function(_ref2){var token=_ref2.data;return token;})["catch"](function(){return getErrorMessage(serverUrl).then(function(error){throw Error(error);});});}catch(_){return getErrorMessage(serverUrl).then(function(error){throw Error(error);});}};var AuthContext=/*#__PURE__*/createContext({serverUrl:null,token:null,userType:null,userName:null,onLogin:function onLogin(){return null;},onLogout:function onLogout(){return null;}});function AuthProvider(_ref3){var cookieOptions=_ref3.cookieOptions,LoginComponent=_ref3.LoginComponent,LoginProps=_ref3.LoginProps,onGetToken=_ref3.onGetToken,onSuccess=_ref3.onSuccess,onError=_ref3.onError,propsServerUrl=_ref3.serverUrl,propsUserName=_ref3.userName,propsToken=_ref3.token,children=_ref3.children;var _useApi=useApi(user.getUser),userType=_useApi.data,getUser=_useApi.request;var _useCookies=useCookies([VIDISPINE_TOKEN,VIDISPINE_USERNAME,VIDISPINE_SERVER_URL,VIDISPINE_REMEMBER_ME]),_useCookies2=_slicedToArray(_useCookies,3),cookies=_useCookies2[0],setCookie=_useCookies2[1],removeCookie=_useCookies2[2];var _cookies$VIDISPINE_TO=cookies[VIDISPINE_TOKEN],token=_cookies$VIDISPINE_TO===void 0?propsToken:_cookies$VIDISPINE_TO,_cookies$VIDISPINE_US=cookies[VIDISPINE_USERNAME],userName=_cookies$VIDISPINE_US===void 0?propsUserName:_cookies$VIDISPINE_US,_cookies$VIDISPINE_SE=cookies[VIDISPINE_SERVER_URL],serverUrl=_cookies$VIDISPINE_SE===void 0?propsServerUrl:_cookies$VIDISPINE_SE;var rememberMe=cookies[VIDISPINE_REMEMBER_ME]==='true';var maxAge=cookieOptions.maxAge;var onLogin=useCallback(function(values){var submissionError;try{return onGetToken(_objectSpread({maxAge:maxAge},values)).then(function(newToken){var newUserName=values.userName,newServerUrl=values.serverUrl,newRememberMe=values.rememberMe;if(newUserName)setCookie(VIDISPINE_USERNAME,newUserName,cookieOptions);if(newServerUrl)setCookie(VIDISPINE_SERVER_URL,newServerUrl,cookieOptions);if(newRememberMe)setCookie(VIDISPINE_REMEMBER_ME,newRememberMe,cookieOptions);if(newToken)setCookie(VIDISPINE_TOKEN,newToken,cookieOptions);getUser({userName:newUserName});if(onSuccess)onSuccess(values);})["catch"](function(error){submissionError=error;if(onError)onError(submissionError);});}catch(error){submissionError=error;if(onError)onError(submissionError);}return submissionError;},[cookieOptions,maxAge,onError,onGetToken,onSuccess,getUser,setCookie]);var onLogout=useCallback(function(){removeCookie(VIDISPINE_TOKEN,cookieOptions);if(!rememberMe){removeCookie(VIDISPINE_USERNAME,cookieOptions);removeCookie(VIDISPINE_SERVER_URL,cookieOptions);removeCookie(VIDISPINE_REMEMBER_ME,cookieOptions);}},[cookieOptions,rememberMe,removeCookie]);var responseInterceptor=useRef();useEffect(function(){if(token){if(responseInterceptor.current)utils.defaultClient.interceptors.response.eject(responseInterceptor.current);responseInterceptor.current=utils.defaultClient.interceptors.response.use(function(response){return response;},function(error){if(error.response){if(error.response.status===401){onLogout();if(onError)onError(Error(ERROR_TOKEN_EXPIRED));}}else {var _error$config=error.config;_error$config=_error$config===void 0?{}:_error$config;var baseURL=_error$config.baseURL;noauth.getSelfTest({baseURL:baseURL}).then(function(){onLogout();if(onError)onError(Error(ERROR_TOKEN_EXPIRED));})["catch"](function(){return null;});// Will throw if offline or CORS error
12
- }return Promise.reject(error);});}return function(){if(responseInterceptor.current)utils.defaultClient.interceptors.response.eject(responseInterceptor.current);};},[onLogout,onError,token]);useEffect(function(){if(token&&userName===undefined){user.whoAmI().then(function(_ref4){var newUserName=_ref4.data;return setCookie(VIDISPINE_USERNAME,newUserName,cookieOptions);});}// eslint-disable-next-line react-hooks/exhaustive-deps
13
- },[userName,token]);useEffect(function(){if(token&&serverUrl&&propsServerUrl&&serverUrl!==propsServerUrl){onLogout();if(onError)onError(Error(ERROR_SERVER_MISMATCH));}},[token,serverUrl,propsServerUrl,onLogout,onError]);var contextValue=useMemo(function(){return {serverUrl:serverUrl,token:token,userType:userType,userName:userName,onLogin:onLogin,onLogout:onLogout};},[onLogin,onLogout,serverUrl,token,userName,userType]);return token?/*#__PURE__*/jsx(VidispineApi,{token:token,username:userName,serverUrl:serverUrl,children:/*#__PURE__*/jsx(AuthContext.Provider,{value:contextValue,children:children})}):/*#__PURE__*/jsx(LoginComponent,_objectSpread({onLogin:onLogin,userName:userName,serverUrl:serverUrl,rememberMe:rememberMe},LoginProps));}AuthProvider.defaultProps={cookieOptions:{maxAge:604800,path:'/'},LoginProps:{},onGetToken:defaultOnGetToken,children:null,onSuccess:null,onError:null,userName:null,token:null};var useAuthContext=function useAuthContext(){var context=useContext(AuthContext);if(context===undefined){throw new Error('useAuth must be used within an AuthContext');}return context;};
14
-
15
- export { AuthContext, AuthProvider, useAuthContext };
@@ -1,12 +0,0 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import _typeof from '@babel/runtime/helpers/typeof';
4
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
- import { createContext, useState, useCallback, useMemo } from 'react';
6
- import { uuidv4 } from '../utils.js';
7
- import { jsx } from 'react/jsx-runtime';
8
-
9
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var BinContext=/*#__PURE__*/createContext();var defaultIsUniqueBinItem=function defaultIsUniqueBinItem(bin,_ref){var entityId=_ref.entityId,entityType=_ref.entityType,_ref$entityTimespan=_ref.entityTimespan;_ref$entityTimespan=_ref$entityTimespan===void 0?{}:_ref$entityTimespan;var start=_ref$entityTimespan.start,end=_ref$entityTimespan.end,_ref$entityTimespan$f=_ref$entityTimespan.field;_ref$entityTimespan$f=_ref$entityTimespan$f===void 0?[]:_ref$entityTimespan$f;var _ref$entityTimespan$f2=_slicedToArray(_ref$entityTimespan$f,1),_ref$entityTimespan$f3=_ref$entityTimespan$f2[0];_ref$entityTimespan$f3=_ref$entityTimespan$f3===void 0?{}:_ref$entityTimespan$f3;var name=_ref$entityTimespan$f3.name;var entityExistsInBin=bin.some(function(o){return o.entity.id===entityId&&o.entityType===entityType;});var entityTimespanExistsInBin=false;if(entityExistsInBin){var binEntitiesWithSameId=bin.filter(function(o){return o.entity.id===entityId&&o.entityType===entityType;});binEntitiesWithSameId.forEach(function(_ref2){var _ref2$entityTimespan=_ref2.entityTimespan;_ref2$entityTimespan=_ref2$entityTimespan===void 0?{}:_ref2$entityTimespan;var beStart=_ref2$entityTimespan.start,beEnd=_ref2$entityTimespan.end,_ref2$entityTimespan$=_ref2$entityTimespan.field;_ref2$entityTimespan$=_ref2$entityTimespan$===void 0?[]:_ref2$entityTimespan$;var _ref2$entityTimespan$2=_slicedToArray(_ref2$entityTimespan$,1),_ref2$entityTimespan$3=_ref2$entityTimespan$2[0];_ref2$entityTimespan$3=_ref2$entityTimespan$3===void 0?{}:_ref2$entityTimespan$3;var beName=_ref2$entityTimespan$3.name;if(start===beStart&&end===beEnd&&name===beName){entityTimespanExistsInBin=true;}});}return !entityExistsInBin||!entityTimespanExistsInBin;};function BinProvider(_ref3){var onChange=_ref3.onChange,children=_ref3.children,_ref3$initialState=_ref3.initialState,initialState=_ref3$initialState===void 0?[]:_ref3$initialState,_ref3$allowDuplicates=_ref3.allowDuplicates,defaultAllowDuplicates=_ref3$allowDuplicates===void 0?false:_ref3$allowDuplicates,_ref3$isUniqueBinItem=_ref3.isUniqueBinItem,isUniqueBinItem=_ref3$isUniqueBinItem===void 0?defaultIsUniqueBinItem:_ref3$isUniqueBinItem;var _useState=useState(initialState),_useState2=_slicedToArray(_useState,2),binState=_useState2[0],setBinState=_useState2[1];var _useState3=useState(defaultAllowDuplicates),_useState4=_slicedToArray(_useState3,2),allowDuplicates=_useState4[0],setAllowDuplicates=_useState4[1];var onDelete=useCallback(function(binIdToDelete){if(!binIdToDelete||!['string','number'].includes(_typeof(binIdToDelete))){// eslint-disable-next-line no-console
10
- console.error('BinProvider onDelete called without a binId of the entity to delete');return;}setBinState(function(state){var newState=state.filter(function(o){return o.binId!==binIdToDelete;});if(onChange)onChange(newState);return newState;});},[onChange]);var onEmptyBin=useCallback(function(){setBinState([]);if(onChange)onChange([]);},[onChange]);var createBinObject=function createBinObject(binObject){var _uuidv4$split=uuidv4().split('-'),_uuidv4$split2=_slicedToArray(_uuidv4$split,1),binId=_uuidv4$split2[0];return _objectSpread({binId:binId},binObject);};var handleDrop=useCallback(function(){var _ref4=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref4$dragInfo=_ref4.dragInfo,dragInfo=_ref4$dragInfo===void 0?{}:_ref4$dragInfo;var entityId=dragInfo.entityId,entityType=dragInfo.entityType,entity=dragInfo.entity;if(!entityId||!entityType||!entity){throw new Error('Dragged element needs to have entityId, entityType and entity props');}setBinState(function(){var state=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];if(isUniqueBinItem(state,dragInfo)||allowDuplicates){var newState=[].concat(_toConsumableArray(state),[createBinObject(dragInfo)]);if(onChange)onChange(newState);return newState;}return state;});},[allowDuplicates,isUniqueBinItem,onChange]);var handleSort=useCallback(function(_ref5){var dragId=_ref5.dragId,hoverId=_ref5.hoverId,originalDragIndex=_ref5.originalDragIndex;if(dragId===undefined||hoverId===undefined&&originalDragIndex===undefined)return;setBinState(function(state){var newState=_toConsumableArray(state);var dragIndex=binState.findIndex(function(o){return o.binId===dragId;});var hoverIndex=binState.findIndex(function(o){return o.binId===hoverId;});var newDragIndex=hoverIndex>-1?hoverIndex:originalDragIndex;var _ref6=[newState[dragIndex],newState[newDragIndex]];newState[newDragIndex]=_ref6[0];newState[dragIndex]=_ref6[1];if(onChange)onChange(newState);return newState;});},[binState,onChange]);var contextValue=useMemo(function(){return {setBin:setBinState,bin:binState,allowDuplicates:allowDuplicates,setAllowDuplicates:setAllowDuplicates,onDrop:handleDrop,onSort:handleSort,onFind:function onFind(){return null;},onEmptyBin:onEmptyBin,onDelete:onDelete};},[allowDuplicates,binState,handleDrop,handleSort,onDelete,onEmptyBin]);return/*#__PURE__*/jsx(BinContext.Provider,{value:contextValue,children:children});}
11
-
12
- export { BinContext, BinProvider };
@@ -1,10 +0,0 @@
1
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import { useState, useEffect, useContext, createContext } from 'react';
3
- import { user } from '@vidispine/vdt-api';
4
- import { ROLE_NAMES } from '@vidispine/vdt-js';
5
- import { jsx } from 'react/jsx-runtime';
6
-
7
- var RolesContext=/*#__PURE__*/createContext();function RolesProvider(_ref){var _ref$intialState=_ref.intialState,intialState=_ref$intialState===void 0?{}:_ref$intialState,onRefresh=_ref.onRefresh,knownUserName=_ref.userName,children=_ref.children;var _useState=useState(intialState),_useState2=_slicedToArray(_useState,2),groupListType=_useState2[0],setGroupListType=_useState2[1];var onGetUserRole=function onGetUserRole(){if(knownUserName){user.getUserRole({userName:knownUserName}).then(function(_ref2){var data=_ref2.data;setGroupListType(data);if(onRefresh)onRefresh(data);});}else {var iAm;user.whoAmI().then(function(_ref3){var userName=_ref3.data;iAm=userName;return user.getUserRole({userName:userName});}).then(function(_ref4){var data=_ref4.data;setGroupListType(data);if(onRefresh)onRefresh(data,iAm);});}};// eslint-disable-next-line react-hooks/exhaustive-deps
8
- useEffect(onGetUserRole,[knownUserName]);return/*#__PURE__*/jsx(RolesContext.Provider,{value:groupListType,children:children});}function useRoles(){var groupListType=useContext(RolesContext);if(groupListType===undefined){throw new Error('useRoles must be used within RolesContext');}var hasRole=function hasRole(roleName){if(roleName===undefined)throw new Error('roleName is undefined');var groupList=groupListType.group;if(!Array.isArray(groupList))return null;var groupNames=groupList.map(function(_ref5){var groupName=_ref5.groupName;return groupName;});if(groupNames.includes(ROLE_NAMES.SUPER_ACCESS_USER))return true;if(Array.isArray(roleName)){return roleName.findIndex(function(thisRole){return groupNames.includes(thisRole);})>-1;}return groupNames.includes(roleName);};return {hasRole:hasRole,groupListType:groupListType};}
9
-
10
- export { RolesProvider, useRoles };
@@ -1,15 +0,0 @@
1
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import { useReducer, useRef, useEffect, useCallback, createContext, useContext } from 'react';
4
- import { metadata } from '@vidispine/vdt-api';
5
- import { jsx } from 'react/jsx-runtime';
6
-
7
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var SettingsDispatchContext=/*#__PURE__*/createContext();var SettingsStateContext=/*#__PURE__*/createContext();var UPDATE_ALL_SETTINGS='UPDATE_ALL_SETTINGS';var UPDATE_SETTING='UPDATE_SETTING';var UPDATE_USERNAME='UPDATE_USERNAME';var REMOVE_SETTING='REMOVE_SETTING';var reducer=function reducer(state,action){switch(action.type){case UPDATE_USERNAME:{return _objectSpread(_objectSpread({},state),{},{userName:action.userName});}case UPDATE_ALL_SETTINGS:{return _objectSpread(_objectSpread({},state),{},{settings:action.settings});}case UPDATE_SETTING:{var settings=_objectSpread(_objectSpread({},state.settings),action.setting);return _objectSpread(_objectSpread({},state),{},{settings:settings});}case REMOVE_SETTING:{var _settings=_objectSpread({},state.settings);delete _settings[action.key];return _objectSpread(_objectSpread({},state),{},{settings:_settings});}default:return state;}};function SettingsProvider(_ref){var initialUsername=_ref.userName,settingsKey=_ref.settingsKey,children=_ref.children,initialSettings=_ref.initialSettings,onChange=_ref.onChange,getSettingsApi=_ref.getSettingsApi,updateSettingsApi=_ref.updateSettingsApi;var _useReducer=useReducer(reducer,{settings:initialSettings,userName:initialUsername}),_useReducer2=_slicedToArray(_useReducer,2),state=_useReducer2[0],dispatch=_useReducer2[1];var currentSettingsFromServer=useRef();useEffect(function(){var userName=state.userName;if(!getSettingsApi||!userName)return;getSettingsApi({entityType:'user',entityId:userName,key:settingsKey}).then(function(_ref2){var settings=_ref2.data;dispatch({type:UPDATE_ALL_SETTINGS,settings:settings,userName:userName,settingsKey:settingsKey});currentSettingsFromServer.current=JSON.stringify(settings);})["catch"](function(error){var response=error.response;if(response.status!==404){throw new Error(error);}});// eslint-disable-next-line react-hooks/exhaustive-deps
8
- },[state.userName]);useEffect(function(){if(onChange)onChange(state.settings);var userName=state.userName;if(!updateSettingsApi||!userName)return;var newValue=JSON.stringify(state.settings);var currentValue=currentSettingsFromServer.current;if(!currentValue||newValue===currentValue)return;updateSettingsApi({entityType:'user',entityId:userName,key:settingsKey,value:newValue});currentSettingsFromServer.current=newValue;// eslint-disable-next-line react-hooks/exhaustive-deps
9
- },[state.settings]);return/*#__PURE__*/jsx(SettingsStateContext.Provider,{value:state,children:/*#__PURE__*/jsx(SettingsDispatchContext.Provider,{value:dispatch,children:children})});}var useSettingsState=function useSettingsState(){var state=useContext(SettingsStateContext);if(!state)throw new Error('useSettingsState must be used within SettingsStateContext');return state;};var useSettingsDispatch=function useSettingsDispatch(){var dispatch=useContext(SettingsDispatchContext);if(!dispatch)throw new Error('useSettingsDispatch must be used within SettingsDispatchContext');return dispatch;};var useSettingsActions=function useSettingsActions(){var dispatch=useSettingsDispatch();var updateAllSettings=useCallback(function(settings){return dispatch({type:UPDATE_ALL_SETTINGS,settings:settings});},// eslint-disable-next-line react-hooks/exhaustive-deps
10
- []);var updateSetting=useCallback(function(setting){return dispatch({type:UPDATE_SETTING,setting:setting});},// eslint-disable-next-line react-hooks/exhaustive-deps
11
- []);var updateUsername=useCallback(function(userName){return dispatch({type:UPDATE_USERNAME,userName:userName});},// eslint-disable-next-line react-hooks/exhaustive-deps
12
- []);// eslint-disable-next-line react-hooks/exhaustive-deps
13
- var removeSetting=useCallback(function(key){return dispatch({type:REMOVE_SETTING,key:key});},[]);return {updateAllSettings:updateAllSettings,updateSetting:updateSetting,updateUsername:updateUsername,removeSetting:removeSetting};};var useSettings=function useSettings(){var _useSettingsState=useSettingsState(),_useSettingsState$set=_useSettingsState.settings,settings=_useSettingsState$set===void 0?{}:_useSettingsState$set;var actions=useSettingsActions();return _objectSpread(_objectSpread({},actions),{},{settings:settings});};SettingsProvider.defaultProps={userName:undefined,settingsKey:undefined,children:null,initialSettings:{},onChange:null,getSettingsApi:metadata.getSimpleMetadataKey,updateSettingsApi:metadata.updateSimpleMetadataKey};
14
-
15
- export { SettingsProvider, useSettings, useSettingsActions };
@@ -1,3 +0,0 @@
1
- var compose=function compose(){for(var _len=arguments.length,funcs=new Array(_len),_key=0;_key<_len;_key++){funcs[_key]=arguments[_key];}return funcs.reduce(function(a,b){return function(){return a(b.apply(void 0,arguments));};},function(arg){return arg;});};var compose$1 = compose;
2
-
3
- export { compose, compose$1 as default };
@@ -1,7 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import ErrorBoundary from '../wrappers/ErrorBoundary.js';
3
- import { jsx } from 'react/jsx-runtime';
4
-
5
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var withErrorBoundary=function withErrorBoundary(WrappedComponent){var errorBoundaryProps=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return function(props){return/*#__PURE__*/jsx(ErrorBoundary,_objectSpread(_objectSpread({},errorBoundaryProps),{},{children:/*#__PURE__*/jsx(WrappedComponent,_objectSpread({},props))}));};};var withErrorBoundary$1 = withErrorBoundary;
6
-
7
- export { withErrorBoundary$1 as default };
@@ -1,15 +0,0 @@
1
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
5
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
6
- import _regeneratorRuntime from '@babel/runtime/regenerator';
7
- import { useState } from 'react';
8
- import useDeepCompareEffect from 'use-deep-compare-effect';
9
- import { metadatafield, fieldgroup } from '@vidispine/vdt-api';
10
-
11
- var _excluded=["name"],_excluded2=["label"],_excluded3=["name","field","group"],_excluded4=["label"];function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var getValueFromData=function getValueFromData(){var _ref=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref$data=_ref.data,data=_ref$data===void 0?[]:_ref$data;var key=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;if(!key)return undefined;var _ref2=data.find(function(d){return d.key===key;})||{},value=_ref2.value;return value;};var defaultGetDataAttributes=function defaultGetDataAttributes(fieldOrGroup,keys){return Object.assign.apply(Object,[{}].concat(_toConsumableArray(keys.map(function(key){return _defineProperty({},key,getValueFromData(fieldOrGroup,key));}))));};var getOptions=function getOptions(){var _ref4=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref4$values=_ref4.values;_ref4$values=_ref4$values===void 0?{}:_ref4$values;var field=_ref4$values.field;return field?field.map(function(f){return {value:f.value,label:f.key||f.value};}):undefined;};var convertValuesXmlToJson=function convertValuesXmlToJson(xmlString){var doc=new DOMParser().parseFromString(xmlString,'application/xml');var fields=doc.getElementsByTagName('field');if(!fields.length){return undefined;}var json={field:[]};for(var i=0;i<fields.length;i+=1){var _json$field$push;var _fields$i$childNodes=_slicedToArray(fields[i].childNodes,2),keyNode=_fields$i$childNodes[0],valueNode=_fields$i$childNodes[1];json.field.push((_json$field$push={},_defineProperty(_json$field$push,keyNode.nodeName,keyNode.firstChild.nodeValue),_defineProperty(_json$field$push,valueNode.nodeName,valueNode.firstChild.nodeValue),_json$field$push));}return json;};var useAddMetadataFieldAttributes=function useAddMetadataFieldAttributes(_ref5){var fields=_ref5.fields,groups=_ref5.groups,_ref5$getDataAttribut=_ref5.getDataAttributes,getDataAttributes=_ref5$getDataAttribut===void 0?defaultGetDataAttributes:_ref5$getDataAttribut,_ref5$fieldDataToIncl=_ref5.fieldDataToInclude,fieldDataToInclude=_ref5$fieldDataToIncl===void 0?'label,displayType,required':_ref5$fieldDataToIncl,_ref5$groupDataToIncl=_ref5.groupDataToInclude,groupDataToInclude=_ref5$groupDataToIncl===void 0?'label,order':_ref5$groupDataToIncl,_ref5$fieldQueryParam=_ref5.fieldQueryParams,fieldQueryParams=_ref5$fieldQueryParam===void 0?{}:_ref5$fieldQueryParam,_ref5$groupQueryParam=_ref5.groupQueryParams,groupQueryParams=_ref5$groupQueryParam===void 0?{}:_ref5$groupQueryParam,_ref5$getAttributes=_ref5.getAttributes,getAttributes=_ref5$getAttributes===void 0?true:_ref5$getAttributes;var _useState=useState(false),_useState2=_slicedToArray(_useState,2),isLoading=_useState2[0],setIsLoading=_useState2[1];var _useState3=useState(fields),_useState4=_slicedToArray(_useState3,2),fieldsWithAttributes=_useState4[0],setFieldsWithAttributes=_useState4[1];var _useState5=useState(groups),_useState6=_slicedToArray(_useState5,2),groupsWithAttributes=_useState6[0],setGroupsWithAttributes=_useState6[1];useDeepCompareEffect(function(){var didCancel=false;if(getAttributes===false)return function(){didCancel=true;};var addFieldAttributes=function addFieldAttributes(){var fieldsArray=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var fieldsAttributes=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return fieldsArray.map(function(_ref6){var name=_ref6.name,overrides=_objectWithoutProperties(_ref6,_excluded);var fieldAttributes=fieldsAttributes[name]||{};var _getDataAttributes=getDataAttributes(fieldAttributes,fieldDataToInclude.split(',')),label=_getDataAttributes.label,dataAttributes=_objectWithoutProperties(_getDataAttributes,_excluded2);return _objectSpread(_objectSpread({name:name,label:label||name,type:fieldAttributes.type,constraint:fieldAttributes.constraint,options:getOptions(fieldAttributes)},dataAttributes),overrides);});};var addGroupAttributes=function addGroupAttributes(){var groupsArray=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];var groupsAttributes=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var fieldsAttributes=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};return groupsArray.map(function(_ref7){var name=_ref7.name,field=_ref7.field,group=_ref7.group,overrides=_objectWithoutProperties(_ref7,_excluded3);var groupAttributes=groupsAttributes[name]||{};var childFields=field||groupAttributes&&groupAttributes.field;var childGroups=group||groupAttributes&&groupAttributes.group;var _getDataAttributes2=getDataAttributes(groupAttributes,groupDataToInclude.split(',')),label=_getDataAttributes2.label,dataAttributes=_objectWithoutProperties(_getDataAttributes2,_excluded4);return _objectSpread(_objectSpread({name:name,label:label||name,order:getValueFromData(groupAttributes,'order'),fields:addFieldAttributes(childFields,fieldsAttributes),groups:addGroupAttributes(childGroups,groupsAttributes,fieldsAttributes)},dataAttributes),overrides);});};function fetchAttributesAsync(){return _fetchAttributesAsync.apply(this,arguments);}function _fetchAttributesAsync(){_fetchAttributesAsync=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(){var fieldsAttributes,groupsAttributes,fieldPromises,queryParams,groupPromises,groupsToFetch,_queryParams;return _regeneratorRuntime.wrap(function _callee3$(_context3){while(1){switch(_context3.prev=_context3.next){case 0:setIsLoading(true);fieldsAttributes={};groupsAttributes={};fieldPromises=[];if(fields){queryParams=_objectSpread(_objectSpread({},fieldQueryParams),{},{data:fieldDataToInclude});fieldPromises=fields.map(/*#__PURE__*/function(){var _ref9=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref8){var fieldName,_yield$MetadataFieldA,data;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:fieldName=_ref8.name;_context.prev=1;_context.next=4;return metadatafield.getMetadataField({fieldName:fieldName,queryParams:queryParams});case 4:_yield$MetadataFieldA=_context.sent;data=_yield$MetadataFieldA.data;fieldsAttributes[fieldName]=data;_context.next=12;break;case 9:_context.prev=9;_context.t0=_context["catch"](1);// eslint-disable-next-line no-console
12
- console.warn("Could not retrieve attributes for ".concat(fieldName));case 12:case"end":return _context.stop();}}},_callee,null,[[1,9]]);}));return function(_x){return _ref9.apply(this,arguments);};}());}groupPromises=[];if(groups){groupsToFetch=_toConsumableArray(groups);_queryParams=_objectSpread(_objectSpread({},groupQueryParams),{},{data:groupDataToInclude});groupPromises=groupsToFetch.map(/*#__PURE__*/function(){var _ref11=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref10){var groupName,_yield$FieldGroupApi$,data,_data$field,field,_data$group,group;return _regeneratorRuntime.wrap(function _callee2$(_context2){while(1){switch(_context2.prev=_context2.next){case 0:groupName=_ref10.name;_context2.prev=1;_context2.next=4;return fieldgroup.getFieldGroup({groupName:groupName,queryParams:_queryParams});case 4:_yield$FieldGroupApi$=_context2.sent;data=_yield$FieldGroupApi$.data;_data$field=data.field,field=_data$field===void 0?[]:_data$field,_data$group=data.group,group=_data$group===void 0?[]:_data$group;field.forEach(function(f){var dataValues=f.data&&f.data.find(function(e){return e.key==='__values';});if(dataValues){var jsonValues=convertValuesXmlToJson(dataValues.value);fieldsAttributes[f.name]=_objectSpread(_objectSpread({},f),{},{values:jsonValues});}});group.forEach(function(g){groupsToFetch.push(g);});groupsAttributes[groupName]=data;_context2.next=15;break;case 12:_context2.prev=12;_context2.t0=_context2["catch"](1);// eslint-disable-next-line no-console
13
- console.warn("Could not retrieve attributes for ".concat(groupName));case 15:case"end":return _context2.stop();}}},_callee2,null,[[1,12]]);}));return function(_x2){return _ref11.apply(this,arguments);};}());}_context3.next=9;return Promise.all([].concat(_toConsumableArray(fieldPromises),_toConsumableArray(groupPromises)));case 9:if(!didCancel){if(Object.values(fieldsAttributes).some(function(v){return v;})){setFieldsWithAttributes(function(){return addFieldAttributes(fields,fieldsAttributes);});}if(Object.values(groupsAttributes).some(function(v){return v;})){setGroupsWithAttributes(function(){var newGroupsWithAttributes=addGroupAttributes(groups,groupsAttributes,fieldsAttributes);newGroupsWithAttributes.forEach(function(group){var order=group.order;if(order){group.fields.sort(function(a,b){return order.indexOf(a.name)-order.indexOf(b.name);});}});return newGroupsWithAttributes;});}setIsLoading(false);}case 10:case"end":return _context3.stop();}}},_callee3);}));return _fetchAttributesAsync.apply(this,arguments);}fetchAttributesAsync();return function(){didCancel=true;};},[fields,groups,fieldDataToInclude,groupDataToInclude,fieldQueryParams,groupQueryParams,getAttributes]);return {fieldsWithAttributes:fieldsWithAttributes,groupsWithAttributes:groupsWithAttributes,isLoading:isLoading};};var useAddMetadataFieldAttributes$1 = useAddMetadataFieldAttributes;
14
-
15
- export { useAddMetadataFieldAttributes$1 as default };
@@ -1,10 +0,0 @@
1
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import { useRef, useReducer, useCallback, useEffect } from 'react';
4
- import { utils } from '@vidispine/vdt-api';
5
-
6
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var setDefaultState=function setDefaultState(){var _ref=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref$hasLoaded=_ref.hasLoaded,hasLoaded=_ref$hasLoaded===void 0?false:_ref$hasLoaded,_ref$isLoading=_ref.isLoading,isLoading=_ref$isLoading===void 0?true:_ref$isLoading,_ref$isError=_ref.isError,isError=_ref$isError===void 0?false:_ref$isError,_ref$response=_ref.response,response=_ref$response===void 0?undefined:_ref$response,_ref$data=_ref.data,data=_ref$data===void 0?undefined:_ref$data;var responseRef=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;return {isLoading:isLoading,hasLoaded:hasLoaded,isError:isError,response:response,data:responseRef&&responseRef.current?responseRef.current:data};};var apiReducer=function apiReducer(state,action){switch(action.type){case'START':{return _objectSpread(_objectSpread({},state),{},{isLoading:true,isError:false});}case'SUCCESS':{var responseType=action.response.responseType;var newState={isLoading:false,isError:false,hasLoaded:true,response:action.response,data:action.response.data};if(responseType)newState[responseType]=action.response[responseType];return newState;}case'ERROR':{return {isLoading:false,isError:true,hasLoaded:true,response:action.response,data:action.response.data};}case'CANCEL':{return _objectSpread(_objectSpread({},state),{},{isLoading:false,isError:false,hasLoaded:true});}case'RESET':{return _objectSpread({},action.initialState);}default:{return state;}}};function useApi(apiHandler,initialState,responseRef){var cancelToken=useRef(function(){return null;});var initialDefaultState=setDefaultState(initialState,responseRef);var initialStateRef=useRef(initialDefaultState);var _useReducer=useReducer(apiReducer,initialDefaultState),_useReducer2=_slicedToArray(_useReducer,2),state=_useReducer2[0],dispatch=_useReducer2[1];var request=useCallback(function(props){dispatch({type:'START'});return new Promise(function(resolve,reject){apiHandler(_objectSpread({cancelToken:new utils.CancelToken(function(c){cancelToken.current=c;})},props)).then(function(response){resolve(response);dispatch({type:'SUCCESS',response:response});// eslint-disable-next-line no-param-reassign
7
- if(responseRef)responseRef.current=response.data;})["catch"](function(response){// eslint-disable-next-line no-underscore-dangle
8
- if(response.__CANCEL__){dispatch({type:'CANCEL'});}else {reject(response);dispatch({type:'ERROR',response:response});}});});},[apiHandler,responseRef]);var reset=useCallback(function(){return dispatch({type:'RESET',initialState:initialStateRef.current});},[]);var cancel=useCallback(function(){return cancelToken.current();},[]);useEffect(function(){return function(){cancel();reset();};},[cancel,reset]);return _objectSpread({request:request,reset:reset,cancel:cancel},state);}
9
-
10
- export { useApi as default };
@@ -1,10 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { useState, useCallback } from 'react';
4
- import { search } from '@vidispine/vdt-api';
5
- import useApi from './useApi.js';
6
- import useUpdateEffect from './useUpdateEffect.js';
7
-
8
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var setInitialDefaultState=function setInitialDefaultState(){var _ref=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref$field=_ref.field,field=_ref$field===void 0?undefined:_ref$field,_ref$text=_ref.text,text=_ref$text===void 0?'':_ref$text,_ref$maximumSuggestio=_ref.maximumSuggestions,maximumSuggestions=_ref$maximumSuggestio===void 0?10:_ref$maximumSuggestio;return {field:field,text:text,maximumSuggestions:maximumSuggestions};};function useAutocomplete(initialState){var initialDefaultState=setInitialDefaultState(initialState);var _useState=useState(initialDefaultState),_useState2=_slicedToArray(_useState,2),autocompleteDoc=_useState2[0],setAutocompleteDoc=_useState2[1];var setAutocompleteField=useCallback(function(field){var text=arguments.length>1&&arguments[1]!==undefined?arguments[1]:'';setAutocompleteDoc(function(state){return _objectSpread(_objectSpread({},state),{},{field:field,text:text});});},[]);var setAutocompleteText=useCallback(function(text){setAutocompleteDoc(function(state){return _objectSpread(_objectSpread({},state),{},{text:text});});},[]);var setAutocompleteMaxSuggestions=useCallback(function(maximumSuggestions){setAutocompleteDoc(function(state){return _objectSpread(_objectSpread({},state),{},{maximumSuggestions:maximumSuggestions});});},[]);var _useApi=useApi(search.searchAutoComplete),searchAutoComplete=_useApi.request,_useApi$data=_useApi.data;_useApi$data=_useApi$data===void 0?{}:_useApi$data;var _useApi$data$suggesti=_useApi$data.suggestion,suggestions=_useApi$data$suggesti===void 0?[]:_useApi$data$suggesti;useUpdateEffect(function(){searchAutoComplete({autocompleteRequestDocument:autocompleteDoc});},[autocompleteDoc]);return {suggestions:suggestions,setAutocompleteField:setAutocompleteField,setAutocompleteText:setAutocompleteText,setAutocompleteMaxSuggestions:setAutocompleteMaxSuggestions};}
9
-
10
- export { useAutocomplete as default };
@@ -1,10 +0,0 @@
1
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { useState, useRef, useCallback } from 'react';
4
- import { collection } from '@vidispine/vdt-api';
5
-
6
- var useCollectionAutoPlay=function useCollectionAutoPlay(_ref){var collectionId=_ref.collectionId,_ref$defaultEnabled=_ref.defaultEnabled,defaultEnabled=_ref$defaultEnabled===void 0?true:_ref$defaultEnabled;var _useState=useState(),_useState2=_slicedToArray(_useState,2),nextPlaying=_useState2[0],setNextPlaying=_useState2[1];var _useState3=useState(defaultEnabled),_useState4=_slicedToArray(_useState3,2),isAutoPlayEnabled=_useState4[0],setIsAutoPlayEnabled=_useState4[1];var toggleAutoPlay=function toggleAutoPlay(newValue){return setIsAutoPlayEnabled(function(prevValue){return newValue!==undefined?newValue:!prevValue;});};var allItemsRef=useRef();var orderItemsRef=useRef();var hitsRef=useRef();var onNext=useCallback(function(_ref2){var itemId=_ref2.itemId;if(isAutoPlayEnabled===false)return;var searchDocument={field:[{name:'mediaType',value:[{value:'video'},{value:'audio'}]}]};var searchForNext=function searchForNext(){var _ref3=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},first=_ref3.first,number=_ref3.number;var allItems=allItemsRef.current;var orderItems=orderItemsRef.current;if(!Array.isArray(allItems)){Promise.all([collection.getCollection({collectionId:collectionId,queryParams:{children:'item'}}),collection.searchCollectionItem({collectionId:collectionId,searchDocument:searchDocument,queryParams:{first:first,number:number}})]).then(function(_ref4){var _ref5=_slicedToArray(_ref4,2),collectionType=_ref5[0].data,itemListType=_ref5[1].data;var hits=itemListType.hits,_itemListType$item=itemListType.item,itemList=_itemListType$item===void 0?[]:_itemListType$item;allItemsRef.current=itemList.map(function(_ref6){var id=_ref6.id;return id;});hitsRef.current=hits;var contentList=collectionType.content;orderItemsRef.current=contentList;searchForNext({first:1,number:100});});return;}var hits=hitsRef.current;var currentItemIdx=orderItems.findIndex(function(_ref7){var thisId=_ref7.id;return thisId===itemId;});if(currentItemIdx+1===orderItems.length){// last item in the list
7
- setNextPlaying();return;}if(currentItemIdx===-1&&hits>allItems.length){// request more items to find the currentItem
8
- collection.searchCollectionItem({collectionId:collectionId,searchDocument:searchDocument,queryParams:{first:first+number,number:number}}).then(function(_ref8){var _allItemsRef$current;var itemListType=_ref8.data;var _itemListType$item2=itemListType.item,itemList=_itemListType$item2===void 0?[]:_itemListType$item2;(_allItemsRef$current=allItemsRef.current).push.apply(_allItemsRef$current,_toConsumableArray(itemList.map(function(_ref9){var id=_ref9.id;return id;})));searchForNext({first:first+number,number:number});});return;}var remainingItems=orderItems.slice(currentItemIdx+1);var nextItem=remainingItems.find(function(_ref10){var thisId=_ref10.id;return allItems.includes(thisId);});setNextPlaying(nextItem);};searchForNext();},[collectionId,isAutoPlayEnabled]);return {isAutoPlayEnabled:isAutoPlayEnabled,toggleAutoPlay:toggleAutoPlay,setNextPlaying:setNextPlaying,nextPlaying:nextPlaying,onNext:onNext};};var useCollectionAutoPlay$1 = useCollectionAutoPlay;
9
-
10
- export { useCollectionAutoPlay$1 as default };
@@ -1,10 +0,0 @@
1
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import _regeneratorRuntime from '@babel/runtime/regenerator';
4
- import useDeepCompareEffect from 'use-deep-compare-effect';
5
- import { item, metadata } from '@vidispine/vdt-api';
6
- import { createMetadataType } from '@vidispine/vdt-js';
7
-
8
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}function useCompoundMetadata(itemId,values,groups,groupFields,setGroupFields,onRefresh,onSuccess,onError){var isFamily=function isFamily(el){return el.hasMultipleChild;};var groupFamily=groups.findIndex(isFamily);var tableColumns=groups[groupFamily].groups[0].fields.map(function(group){return group;});var onChange=function onChange(e,row,groupIndex,editIndex){var value=e.target.value;var name=e.target.name;var newGroups=groupFields.map(function(group){return group;});var newRows=newGroups[groupIndex].group.map(function(newRow,rowIndex){if(rowIndex===editIndex){return _objectSpread(_objectSpread({},row),{},_defineProperty({},name,value));}return newRow;});newGroups[groupIndex].group=newRows;setGroupFields(newGroups);};var onSubmit=/*#__PURE__*/function(){var _ref=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(data){var groupNames,metadataDocument,newTimeSpan,uuid,newGroups;return _regeneratorRuntime.wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:groupNames=[];groups.forEach(function(group){var newGroup={};newGroup.parentGroup=group.name;newGroup.childGroup=group.groups[0].name;groupNames.push(newGroup);});metadataDocument=createMetadataType({group:data});newTimeSpan=metadataDocument.timespan;uuid=values.itemType.metadata.timespan[0].group[0].uuid;newGroups=[];newTimeSpan[0].group.forEach(function(group,index){var newGroup={group:[]};newGroup.name=groupNames[index].parentGroup;newGroup.mode='add';group.group.forEach(function(subGroup){var newSubGroup=subGroup;newSubGroup.name=groupNames[index].childGroup;newSubGroup.mode='add';newGroup.group.push(newSubGroup);});newGroups.push(newGroup);});newTimeSpan[0].group=newGroups;_context.prev=8;_context.next=11;return metadata.removeMetadata({metadataUuid:uuid});case 11:_context.next=13;return item.updateItemMetadata({itemId:itemId,metadataDocument:{timespan:newTimeSpan}});case 13:_context.next=15;return onRefresh();case 15:onSuccess();_context.next=21;break;case 18:_context.prev=18;_context.t0=_context["catch"](8);onError(_context.t0);case 21:case"end":return _context.stop();}}},_callee,null,[[8,18]]);}));return function onSubmit(_x){return _ref.apply(this,arguments);};}();useDeepCompareEffect(function(){setGroupFields(values.group);},[values]);return {tableColumns:tableColumns,onChange:onChange,onSubmit:onSubmit};}
9
-
10
- export { useCompoundMetadata as default };
@@ -1,10 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
4
- import { storage, library, job, file } from '@vidispine/vdt-api';
5
-
6
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}function defaultOnGetStorage(){var storageData=storage.listStorage().then(function(response){var storage={id:response.data.storage[0].id,uri:response.data.storage[0].method[0].uri};return storage;});return storageData;}function defaultOnCreate(list){return library.createLibrary({itemListDocument:{item:_toConsumableArray(list.item.map(function(_ref){var id=_ref.id;return {id:id};}))}});}function defaultOnList(response,storageInfo,queryParams){var _queryParams$fileName=queryParams.fileName,fileName=_queryParams$fileName===void 0?'output':_queryParams$fileName,_queryParams$outputFo=queryParams.outputFormat,outputFormat=_queryParams$outputFo===void 0?'csv':_queryParams$outputFo;var uri=storageInfo.uri;var _response$data=response.data;_response$data=_response$data===void 0?{}:_response$data;var _response$data$uri=_response$data.uri;_response$data$uri=_response$data$uri===void 0?[]:_response$data$uri;var _response$data$uri2=_slicedToArray(_response$data$uri,1),libraryId=_response$data$uri2[0];var createNewUri=function createNewUri(){if(uri.includes('s3')){var _uri$split=uri.split('?region'),_uri$split2=_slicedToArray(_uri$split,2),uriBeforeRegion=_uri$split2[0],uriAfterRegion=_uri$split2[1];return "".concat(uriBeforeRegion).concat(fileName,".").concat(outputFormat,"?region").concat(uriAfterRegion);}return "".concat(uri).concat(fileName,".").concat(outputFormat);};var newUri=encodeURIComponent(createNewUri());return library.getLibraryBatch({libraryId:libraryId,queryParams:_objectSpread({destinationUri:newUri},queryParams)});}var SUCCESSFUL_STATES=['FINISHED','FINISHED_WARNING'];var INACTIVE_STATES=['FINISHED','FINISHED_WARNING','FAILED_TOTAL','ABORTED'];function defaultOnGetFile(response,storageInfo,params,onError){var _response$data2=response.data;_response$data2=_response$data2===void 0?{}:_response$data2;var jobId=_response$data2.jobId;var id=storageInfo.id;var _params$fileName=params.fileName,fileName=_params$fileName===void 0?'output':_params$fileName,_params$outputFormat=params.outputFormat,outputFormat=_params$outputFormat===void 0?'csv':_params$outputFormat;var filePath="".concat(fileName,".").concat(outputFormat);job.getJob({jobId:jobId}).then(function(){var _ref2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},_ref2$data=_ref2.data;_ref2$data=_ref2$data===void 0?{}:_ref2$data;var status=_ref2$data.status;if(SUCCESSFUL_STATES.includes(status)){try{file.listFileStorage({storageId:id,queryParams:{path:filePath,methodMetadata:[{key:'format',value:'SIGNED-AUTO'},{key:'contentDisposition',value:"attachment;+filename=".concat(filePath)}],'noauth-url':true}}).then(function(r){return window.open(r.data.file[0].uri[0]);});}catch(error){console.error('Download error:'.concat("\n",error));onError({message:'Download failed'});}}else if(!INACTIVE_STATES.includes(status)){setTimeout(function(){defaultOnGetFile(response,storageInfo,params,onError);},1000);}else {onError({message:'Download failed'});}});}// Note: Not needed as a react-hook since doesn't use react,
7
- // but this is usually where we put logic functions right now
8
- var useCsvDownload=function useCsvDownload(_ref3){var itemListType=_ref3.itemListType,queryParams=_ref3.queryParams,onSuccess=_ref3.onSuccess,_ref3$onError=_ref3.onError,onError=_ref3$onError===void 0?function(_ref4){var message=_ref4.message,error=_ref4.error;return console.error("".concat(message,"\n").concat(error));}:_ref3$onError,_ref3$onGetFile=_ref3.onGetFile,onGetFile=_ref3$onGetFile===void 0?defaultOnGetFile:_ref3$onGetFile,_ref3$onCreateList=_ref3.onCreateList,onCreateList=_ref3$onCreateList===void 0?defaultOnCreate:_ref3$onCreateList,_ref3$onList=_ref3.onList,onList=_ref3$onList===void 0?defaultOnList:_ref3$onList,_ref3$onGetStorage=_ref3.onGetStorage,onGetStorage=_ref3$onGetStorage===void 0?defaultOnGetStorage:_ref3$onGetStorage;var onDownload=function onDownload(){return onGetStorage().then(function(storageInfo){return Promise.all([onCreateList(itemListType).then(function(response){return onList(response,storageInfo,queryParams);}).then(onSuccess()).then(function(response){return onGetFile(response,storageInfo,queryParams,onError);})]);});};return {onDownload:onDownload};};var useCsvDownload$1 = useCsvDownload;
9
-
10
- export { useCsvDownload$1 as default };
@@ -1,11 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
- import { useState, useRef } from 'react';
4
- import _debounce from 'lodash.debounce';
5
- import useDeepCompareEffect from 'use-deep-compare-effect';
6
- import { item } from '@vidispine/vdt-api';
7
- import useApi from './useApi.js';
8
-
9
- function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}function useDocSearchAutocomplete(_ref){var searchDoc=_ref.searchDoc,queryParams=_ref.queryParams,debounceTime=_ref.debounceTime,_ref$suggestionSettin=_ref.suggestionSettings,suggestionSettings=_ref$suggestionSettin===void 0?{maximumSuggestions:10,accuracy:1}:_ref$suggestionSettin,_ref$triggerLength=_ref.triggerLength,triggerLength=_ref$triggerLength===void 0?1:_ref$triggerLength,_ref$apiCall=_ref.apiCall,apiCall=_ref$apiCall===void 0?item.searchItem:_ref$apiCall;var _useState=useState(''),_useState2=_slicedToArray(_useState,2),textValue=_useState2[0],setTextValue=_useState2[1];var handleAutocompleteChange=useRef(_debounce(setTextValue,debounceTime)).current;var _useApi=useApi(apiCall),_useApi$data=_useApi.data;_useApi$data=_useApi$data===void 0?{}:_useApi$data;var _useApi$data$autocomp=_useApi$data.autocomplete,autocomplete=_useApi$data$autocomp===void 0?[]:_useApi$data$autocomp,request=_useApi.request;var _ref2=autocomplete[0]||{},_ref2$suggestion=_ref2.suggestion,suggestion=_ref2$suggestion===void 0?[]:_ref2$suggestion;useDeepCompareEffect(function(){if(searchDoc&&textValue&&textValue.length>=triggerLength){request({body:_objectSpread(_objectSpread({},searchDoc),{},{suggestion:suggestionSettings,autocomplete:[{text:textValue}],text:[{value:textValue}]}),queryParams:_objectSpread({count:false,number:0},queryParams)});}},[request,textValue,queryParams,triggerLength]);return {suggestion:suggestion,handleAutocompleteChange:handleAutocompleteChange};}
10
-
11
- export { useDocSearchAutocomplete as default };
@@ -1,10 +0,0 @@
1
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
2
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
- import { useCallback } from 'react';
4
- import { access } from '@vidispine/vdt-api';
5
- import useApi from './useApi.js';
6
-
7
- var _excluded=["accessId"],_excluded2=["accessControlDocument"];function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}var useEntityAccess=function useEntityAccess(_ref){var entityId=_ref.entityId,entityType=_ref.entityType;var _useApi=useApi(access.listEntityAccess),listEntityAccess=_useApi.request,_useApi$data=_useApi.data,accessControlList=_useApi$data===void 0?{}:_useApi$data,isLoading=_useApi.isLoading;var onList=useCallback(function(){var props=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return listEntityAccess(_objectSpread({entityId:entityId,entityType:entityType},props));},// eslint-disable-next-line react-hooks/exhaustive-deps
8
- [entityId,entityType]);var onRemove=useCallback(function(_ref2){var accessId=_ref2.accessId,props=_objectWithoutProperties(_ref2,_excluded);return access.removeEntityAccess(_objectSpread({accessId:accessId,entityId:entityId,entityType:entityType},props));},[entityId,entityType]);var onAdd=useCallback(function(_ref3){var accessControlDocument=_ref3.accessControlDocument,props=_objectWithoutProperties(_ref3,_excluded2);return access.createEntityAccess(_objectSpread({entityType:entityType,entityId:entityId,accessControlDocument:accessControlDocument},props));},[entityId,entityType]);return {accessControlList:accessControlList,isLoading:isLoading,onList:onList,onRemove:onRemove,onAdd:onAdd};};var useEntityAccess$1 = useEntityAccess;
9
-
10
- export { useEntityAccess$1 as default };
@@ -1,7 +0,0 @@
1
- import useDeepCompareEffect from 'use-deep-compare-effect';
2
- import { collection } from '@vidispine/vdt-api';
3
- import useApi from './useApi.js';
4
-
5
- function useGetCollection(_ref){var collectionId=_ref.collectionId,_ref$queryParams=_ref.queryParams,queryParams=_ref$queryParams===void 0?{}:_ref$queryParams,_ref$refreshOnMount=_ref.refreshOnMount,refreshOnMount=_ref$refreshOnMount===void 0?true:_ref$refreshOnMount;var _useApi=useApi(collection.getCollection),request=_useApi.request,_useApi$data=_useApi.data,collectionType=_useApi$data===void 0?{}:_useApi$data,isLoading=_useApi.isLoading,isError=_useApi.isError;var onRefresh=function onRefresh(){return request({collectionId:collectionId,queryParams:queryParams});};useDeepCompareEffect(function(){if(refreshOnMount)onRefresh();},[collectionId,queryParams]);return {collectionType:collectionType,isLoading:isLoading,isError:isError,onRefresh:onRefresh};}
6
-
7
- export { useGetCollection as default };
@@ -1,7 +0,0 @@
1
- import useDeepCompareEffect from 'use-deep-compare-effect';
2
- import { collection } from '@vidispine/vdt-api';
3
- import useApi from './useApi.js';
4
-
5
- function useGetCollection(_ref){var collectionId=_ref.collectionId,_ref$queryParams=_ref.queryParams,queryParams=_ref$queryParams===void 0?{}:_ref$queryParams,_ref$refreshOnMount=_ref.refreshOnMount,refreshOnMount=_ref$refreshOnMount===void 0?true:_ref$refreshOnMount;var _useApi=useApi(collection.getCollectionItem),request=_useApi.request,_useApi$data=_useApi.data,itemListType=_useApi$data===void 0?{}:_useApi$data;var onRefresh=function onRefresh(){return request({collectionId:collectionId,queryParams:queryParams});};useDeepCompareEffect(function(){if(refreshOnMount)onRefresh();},[collectionId,queryParams]);return {itemListType:itemListType,onRefresh:onRefresh};}
6
-
7
- export { useGetCollection as default };
@@ -1,16 +0,0 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
- import { useCallback } from 'react';
4
- import { item, library, collection } from '@vidispine/vdt-api';
5
- import useApi from './useApi.js';
6
-
7
- var _excluded=["request","data"];function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}/**
8
- * Get Entity by id and type
9
- * @param {Object} object - Entity information object
10
- * @param {string} object.entityId - Entity id
11
- * @param {string} object.entityType - Entity type, ["item", "collection", "library"]
12
- * @throws Throws error if unsupported type
13
- * @returns {Object} Entity retrieved from VS
14
- */var useGetEntity=function useGetEntity(_ref){var _objectSpread3;var entityId=_ref.entityId,entityType=_ref.entityType;var dataType;var entityApi;var entityTypeId;switch(entityType){case'collection':dataType='collectionType';entityTypeId='collectionId';entityApi=collection.getCollection;break;case'library':dataType='libraryType';entityTypeId='libraryId';entityApi=library.getLibrary;break;case'item':dataType='itemType';entityTypeId='itemId';entityApi=item.getItem;break;default:throw new Error("unknown entityType");}var _useApi=useApi(entityApi),request=_useApi.request,data=_useApi.data,apiProps=_objectWithoutProperties(_useApi,_excluded);var onGetEntity=useCallback(function(props){return request(_objectSpread(_defineProperty({},entityTypeId,entityId),props));},[entityId,entityTypeId,request]);return _objectSpread((_objectSpread3={},_defineProperty(_objectSpread3,dataType,data),_defineProperty(_objectSpread3,entityTypeId,entityId),_defineProperty(_objectSpread3,"onGetEntity",onGetEntity),_objectSpread3),apiProps);};var useGetEntity$1 = useGetEntity;
15
-
16
- export { useGetEntity$1 as default };
@@ -1,7 +0,0 @@
1
- import useDeepCompareEffect from 'use-deep-compare-effect';
2
- import { metadata } from '@vidispine/vdt-api';
3
- import useApi from './useApi.js';
4
-
5
- function useGetEntityMetadata(_ref){var entity=_ref.entity,entityId=_ref.entityId,_ref$queryParams=_ref.queryParams,queryParams=_ref$queryParams===void 0?{}:_ref$queryParams,_ref$refreshOnMount=_ref.refreshOnMount,refreshOnMount=_ref$refreshOnMount===void 0?true:_ref$refreshOnMount;var _useApi=useApi(metadata.getEntityMetadata),request=_useApi.request,_useApi$data=_useApi.data,metadataType=_useApi$data===void 0?{}:_useApi$data,isLoading=_useApi.isLoading,isError=_useApi.isError;var onRefresh=function onRefresh(){return request({entity:entity,entityId:entityId,queryParams:queryParams});};useDeepCompareEffect(function(){if(refreshOnMount)onRefresh();},[entity,entityId,queryParams]);return {metadataType:metadataType,isLoading:isLoading,isError:isError,onRefresh:onRefresh};}
6
-
7
- export { useGetEntityMetadata as default };