@vidispine/vdt-react 26.2.1 → 26.2.3
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.
- package/dist/index.js +1394 -1370
- package/dist/index.umd.cjs +7 -7
- package/package.json +6 -6
package/dist/index.umd.cjs
CHANGED
|
@@ -1,10 +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,ve,Q,Ne,V,_e,Ie){"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((m,d)=>{e({cancelToken:new C.utils.CancelToken(p=>{n.current=p}),...E}).then(p=>{m(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 He(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}),[]),m=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]),h=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:m,setSearchFilter:d,setSearchFilterFacet:p,setFacet:h,setItemSearchDocument:f,setQueryParams:l,setMatrixParams:c,setParentCollection:T,setSuggestion:P}}function ae(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 ae(()=>{i({autocompleteRequestDocument:r})},[r]),{suggestions:f,setAutocompleteField:s,setAutocompleteText:o,setAutocompleteMaxSuggestions:u}}const pt=({field:e=void 0,text:t="",maximumSuggestions:r=10}={})=>({field:e,text:t,maximumSuggestions:r});function Ct(e){const t=pt(e),[r,n]=a.useState(t),[s,o]=a.useState("NESTED"),u=a.useCallback((m="NESTED")=>{o(m)},[]),i=a.useCallback((m,d="")=>{n(p=>({...p,field:m,text:d}))},[]),f=a.useCallback(m=>{n(d=>({...d,text:m}))},[]),l=a.useCallback(m=>{n(d=>({...d,maximumSuggestions:m}))},[]),{request:c,data:{suggestion:E=[]}={}}=x(C.search.searchAutoComplete);return ae(()=>{c({autocompleteRequestDocument:r,path:`/API/search2/autocomplete?searchLang=${s}`})},[r,s]),{suggestions:E,setAutocompleteField:i,setAutocompleteText:f,setAutocompleteMaxSuggestions:l,setAutocompleteLanguage:u}}const gt=(e="id",t=[])=>{const[r,n]=a.useState(t);return{selected:r,onSelect:(i,f,l)=>{const c=l[e],E=r.findIndex(m=>m[e]===c);if(E===-1&&f===!0)f===!0&&n([...r,l]);else if(E>-1&&f===!1){const m=[...r];m.splice(E,1),n(m)}},onClear:()=>n([]),isSelected:i=>{const f=i[e];return r.findIndex(c=>c[e]===f)>-1}}},St=e=>{const[t,r]=a.useState(e);return{activeTab:t,changeTab:(s,o)=>r(o)}};function yt(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 Tt(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"},At=({queryParams:e={},matrixParams:t={}}={})=>({queryParams:e,matrixParams:{first:1,number:10,...t},rowsPerPage:10,page:0,jobMetadata:[]}),Rt=(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 Pt(e){const t=At(e),[r,n]=a.useReducer(Rt,t);return{state:r,onChangePage:({page:d})=>n({type:Y.CHANGE_PAGE,page:d}),onChangeSort:(d,p,h)=>{const T=typeof p=="object"?p.value:p;n({type:Y.CHANGE_SORT,field:T,order:h})},onChangeType:({field:d=[]})=>{const[{name:p="type",value:h=[]}]=d;n({type:Y.CHANGE_TYPE,field:p,value:h.length?h[0].value:null})},onChangeState:({field:d=[]})=>{const[{name:p="state",value:h=[]}]=d;n({type:Y.CHANGE_STATE,field:p,value:h.length?h[0].value:null})},onChangePriority:({field:d=[]})=>{const[{name:p="priority",value:h=[]}]=d;n({type:Y.CHANGE_PRIORITY,field:p,value:h.length?h[0].value:null})},onChangeStarttime:({field:d=[]})=>{const[{name:p="starttime-from",value:h=[]}]=d;n({type:Y.CHANGE_STARTTIME,field:p,value:h.length?h[0].value:null})},onChangeFinishtime:({field:d=[]})=>{const[{name:p="finishtime-from",value:h=[]}]=d;n({type:Y.CHANGE_FINISHTIME,field:p,value:h.length?h[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 bt=(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 we(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))}function Gt(e){return ve.compressToEncodedURIComponent(e)}function vt(e){return e.slice(-1)==="="?decodeURIComponent(atob(e).split("").map(t=>`%${`00${t.charCodeAt(0).toString(16)}`.slice(-2)}`).join("")):ve.decompressFromEncodedURIComponent(e)}const Nt=["__mp3_160k"],_t=["__mp4"],It=["__png"],Ht="audio",wt="video",Dt="image",Ot=["application/mxf"],Mt=[],Lt=[],Ut=e=>{if(!e||!e.type)return[];const t=e.type.toLowerCase();return t.startsWith(Ht)||Lt.includes(t)?Nt:t.startsWith(wt)||Ot.includes(t)?_t:t.startsWith(Dt)||Mt.includes(t)?It:[]},Ft=(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()}),kt=({file:e,collectionId:t,onProgress:r,metadata:n={},placeholderParams:s={},importParams:o={},chunkedUploadProps:u={},generateTransferId:i=we,getShapeTags:f=Ut})=>new Promise((l,c)=>{try{let E;r({});const m=f(e),d=e.name,p=e.type,[h]=p.split("/"),T={originalFilename:d,mimeType:p,mediaType:h,...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:m,...o};return Ft(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 qt({onUploadFile:e=kt,initialMetadata:t={},...r}){const[n,s]=a.useState([]);a.useEffect(()=>()=>{n.forEach(m=>URL.revokeObjectURL(m.preview))},[n]);const o=a.useCallback((m=[])=>{const d=m.map(p=>({file:p,metadata:{title:p.name,...t}}));s(p=>d.concat(p))},[t]),u=a.useCallback((m,d={})=>{s(p=>{const h=p[m],{metadata:T,progress:P}=d,{metadata:y={},progress:A={}}=h,b=[...p],v={...h};return T&&(v.metadata={...y,...T}),P&&(v.progress={...A,...P}),b[m]=v,b})},[s]),i=a.useCallback(m=>(d={})=>{u(m,{progress:d})},[u]),f=a.useCallback(m=>(d={})=>{u(m,{metadata:d})},[u]),l=a.useCallback(m=>n.reduce((d,p,h)=>d.then(T=>p.progress?d:e({file:p.file,onProgress:i(h),metadata:p.metadata,...m,...r}).then(P=>[...T,P])),Promise.resolve([])),[n,e,i,r]),c=a.useCallback(m=>()=>{s([...n].filter((d,p)=>p!==m))},[s,n]),E=a.useCallback(m=>()=>{s([...n].filter((d,p)=>!m.includes(p)))},[s,n]);return{onAddFiles:o,onChangeFile:u,onChangeMetadata:f,onUpload:l,onRemoveFile:c,onRemoveFiles:E,files:n,setFiles:s}}function $t({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=vt(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 xt({history:e,navigate:t,location:r,state:n,queryName:s="q"}){const o=a.useCallback(()=>{const{location:u=r}=e||{},i=Gt(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]);ae(()=>{o(n)},[o,n])}const jt=({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}},De=({data:e=[]}={},t=void 0)=>{if(!t)return;const{value:r}=e.find(n=>n.key===t)||{};return r},Wt=(e,t)=>Object.assign({},...t.map(r=>({[r]:De(e,r)}))),Vt=({values:{field:e}={}}={})=>e?e.map(t=>({value:t.value,label:t.key||t.value})):void 0,Yt=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},Bt=({fields:e,groups:t,getDataAttributes:r=Wt,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),[m,d]=a.useState(t);return Q(()=>{let p=!1;if(i===!1)return()=>{p=!0};const h=(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:Vt(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:De(H,"order"),fields:h(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=Yt(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(()=>h(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:m,isLoading:f}},Qt="TRANSIENT";function Xt({metadata:e,markerField:t,markerValue:r,itemSearchDocument:n}){return C.item.searchItem({queryParams:{result:"library",updateMode:Qt},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)})}),Jt=({collectionId:e})=>Oe({collectionId:e}).then(({id:t})=>Promise.all([C.library.removeLibrary({libraryId:t}),C.collection.removeCollection({collectionId:e})]));function zt({libraryId:e}){return new Promise(t=>{C.library.getLibrarySettings({libraryId:e}).then(({data:{query:r}})=>{t(r)})})}const Kt=({collectionId:e})=>new Promise(t=>{Oe({collectionId:e}).then(({id:r})=>zt({libraryId:r})).then(t)});function Zt({markerField:e,markerValue:t,initialSearchState:r,onSaveSearch:n=Xt,onDeleteSearch:s=Jt,onUpdateSearchMetadata:o=C.collection.updateCollectionMetadata,onGetSavedSearchSettings:u=Kt}){const i=a.useCallback(({metadata:m,itemSearchDocument:d})=>n({metadata:m,markerField:e,markerValue:t,itemSearchDocument:d}),[e,t,n]),f=(m={})=>({...m,operator:{field:[{name:e,value:[{value:t||"*"}]}],operator:m.operator?[m.operator]:[],operation:"AND"}}),l=He({...r,itemSearchDocument:f()}),{setItemSearchDocument:c,...E}=l;return{onSaveSearch:i,onDeleteSearch:s,onUpdateSearchMetadata:o,onGetSavedSearchSettings:u,searchProps:{setItemSearchDocument:m=>c(f(m)),...E}}}function Me({itemSearchDocument:e,queryParams:t,matrixParams:r,path:n}){const{request:s,data:o={},isLoading:u,isError:i,cancel:f}=x(C.item.searchItem),l=n?{path:n}:{},c=()=>s({itemSearchDocument:e,queryParams:t,matrixParams:r,...l});return Q(()=>{c()},[e,t,r,n]),{itemListType:o,isLoading:u,isError:i,onRefresh:c,cancel:f}}const en=()=>{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 Le({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 tn({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 nn=({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 rn(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:m})=>C.user.updateUser({userName:n,userDocument:m}).then(()=>r({userName:m.userName})),[r,n]),u=a.useCallback(({groups:m=[]})=>C.user.updateUserGroup({userName:n,groupListDocument:{group:m.map(d=>({groupName:d}))}}).then(s),[s,n]),i=a.useCallback(m=>C.group.removeGroupUser({groupName:m,userName:n}).then(s),[s,n]),f=a.useCallback(m=>C.user.updateUser({userName:n,userDocument:{password:m},queryParams:{passwordType:"raw"}}),[n]);return{userType:t,getUser:s,updateUser:o,updateUserGroups:u,removeUserFromGroup:i,disableUser:m=>C.user.disableUser({userName:n,...m}).then(s),enableUser:m=>C.user.enableUser({userName:n,...m}).then(s),deleteUser:({queryParams:m={}}={})=>C.user.disableUser({userName:n,queryParams:{hard:!0,...m}}),changePassword:f}}const ne={CHANGE_PAGE:"CHANGE_PAGE",CHANGE_ROWS:"CHANGE_ROWS",CHANGE_SORT:"CHANGE_SORT",CHANGE_QUERY:"CHANGE_QUERY"},sn=({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"}]}}),on=(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 an(e){const t=sn(e),[r,n]=a.useReducer(on,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,h)=>{const T=typeof p=="object"?p.value:p;n({type:ne.CHANGE_SORT,field:T,order:h})},onChangeRowsPerPage:({target:{value:d}}={})=>n({type:ne.CHANGE_ROWS,rowsPerPage:d}),onChangeQuery:(d,p)=>{n({type:ne.CHANGE_QUERY,field:d,query:p})}}}const un=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}},cn=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"},ln=({queryParams:e={},rowsPerPage:t=10,page:r=0}={})=>({queryParams:{first:r*t+1,number:t,...e},rowsPerPage:t,page:r,groupSearchDocument:{}}),fn=(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 dn(e){const t=ln(e),[r,n]=a.useReducer(fn,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,h,T)=>{const P=typeof h=="object"?h.value:h;n({type:ee.CHANGE_SORT,field:P,order:T})},onChangeRowsPerPage:({target:{value:p}}={})=>n({type:ee.CHANGE_ROWS,rowsPerPage:p}),onChangeQuery:(p,h)=>{n({type:ee.CHANGE_QUERY,field:p,query:h})},onHideRoles:({hideRoles:p})=>n({type:ee.HIDE_ROLES,hideRoles:p})}}function mn(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]),m=a.useCallback(()=>C.group.removeGroup({groupName:n}),[n]);return{groupType:t,getGroup:s,updateGroup:o,removeGroup:m,addChildGroups:u,addParentGroups:i,addUsersToGroup:f,removeUserFromGroup:l,removeChildGroup:c,removeFromParentGroup:E}}function Ue({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 hn=({collectionId:e,defaultEnabled:t=!0})=>{const[r,n]=a.useState(),[s,o]=a.useState(t),u=E=>o(m=>E!==void 0?E:!m),i=a.useRef(),f=a.useRef(),l=a.useRef(),c=a.useCallback(({itemId:E})=>{if(s===!1)return;const m={field:[{name:"mediaType",value:[{value:"video"},{value:"audio"}]}]},d=({first:p,number:h}={})=>{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:m,queryParams:{first:p,number:h}})]).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:m,queryParams:{first:p+h,number:h}}).then(({data:R})=>{const{item:N=[]}=R;i.current.push(...N.map(({id:I})=>I)),d({first:p+h,number:h})});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}},En=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 pn(e=[],t=0,r=void 0,n=En){const[s,o]=a.useState(0),[u,i]=a.useState(0),[f,l]=a.useState(!1),[c,E]=a.useState([]),[m,d]=a.useState(),[p,h]=a.useState(0),T=a.useRef(Ne(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&&h(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:m,thumbnailWidth:p,showScrub:f,scrubPosition:s,handleShowScrub:R=>()=>{r>0&&l(R)},onMouseMove:b}}function Cn({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(Ne(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 gn(){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 Sn="TRANSIENT",Fe=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 h=>{const{data:{content:T,metadata:P={}}}=await C.collection.getCollection({collectionId:h,queryParams:t}),{field:y}=P.timespan[0];return T&&T[0].type==="library"?{id:h,libraryId:T[0].id,title:Fe(y),type:"query",metadata:P}:{id:h,title:Fe(y),subFolders:T&&T.map(A=>A.id),type:"folder",metadata:P}})).then(h=>{i(T=>[...h,...T])}).catch(h=>{l(h)})},[s,t]),E=(h,T,P,y,A)=>{C.collection.createCollection({collectionDocument:{metadata:z.createMetadataType({[T]:P,title:y})}}).then(({data:{id:b}})=>h?C.collection.updateCollection({collectionId:h,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)})},m=(h,T,P,y)=>{try{C.item.searchItem({queryParams:{result:"library",updateMode:Sn},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:h,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=h=>C.collection.removeCollection({collectionId:h}).catch(T=>{l(T)}),p=h=>{i(T=>T.filter(P=>P.id!==h))};return Q(()=>{s.length>0&&n&&c()},[s,n]),a.useEffect(()=>{!n&&typeof n=="boolean"&&(o(()=>u.map(h=>h.id)),i([]))},[n]),{createFolder:E,saveSearch:m,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 ke(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
|
|
3
|
-
${l}`),onGetFile:s=ke,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,h,T)=>{const{value:P}=d.target,A=n.map(b=>b).map((b,v)=>h===v?{...p,[T]:P}:b);s(A),c(A)},m=async(d,p)=>{const h=z.createMetadataType(d),{timespan:T}=h,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:m}}function qe({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 $e({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 m=e||t||{};f=m==null?void 0:m.metadata}const l=a.useMemo(()=>z.parseMetadataType(f,{joinValue:n,flat:s,groupAsList:o}),[s,o,n,f]),c={...i,...l,itemType:e},E=m=>a.cloneElement(m,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},m=d=>a.cloneElement(d,E);return a.Children.map(o,m)}function Hn({itemSearchDocument:e,queryParams:t,matrixParams:r,path:n,children:s}){const{itemListType:o,onRefresh:u,isLoading:i,isError:f}=Me({itemSearchDocument:e,queryParams:t,matrixParams:r,path:n}),l={itemSearchDocument:e,matrixParams:r,queryParams:t,itemListType:o,onRefresh:u,isLoading:i,isError:f},c=E=>a.cloneElement(E,l);return a.Children.map(s,c)}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 Dn({itemId:e,queryParams:t,refreshOnMount:r,children:n}){const{itemType:s,onRefresh:o,isLoading:u,isError:i}=Ue({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 On({collectionId:e,queryParams:t,refreshOnMount:r,children:n}){const{collectionType:s,onRefresh:o,isLoading:u,isError:i}=Le({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 ue="VIDISPINE-TOKEN",ie="VIDISPINE-USERNAME",ce="VIDISPINE-SERVER-URL",le="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]=_e.useCookies([ue,ie,ce,le]),{[ue]:m,[ie]:d,[ce]:p}=l,h=l[le]==="true",T=y=>{let A;try{s(y).then(b=>{const{userName:v,serverUrl:R,rememberMe:N}=y;v&&c(ie,v,i),R&&c(ce,R,i),N&&c(le,N,i),b&&c(ue,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(ue,i),h||(E(ie,i),E(ce,i),E(le,i))};return m?V.jsx(he,{token:m,username:d,serverUrl:p,children:V.jsx(r,{onLogout:P,...f,...n})}):V.jsx(e,{onLogin:T,userName:d,serverUrl:p,rememberMe:h,...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 xe 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}=$e({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 je=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(je.Provider,{value:s,children:n})}function We(){const e=a.useContext(je);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}=We(),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}=qe({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(xe,{...t,children:V.jsx(e,{...r})}),Yn=(...e)=>e.reduce((t,r)=>(...n)=>t(r(...n)),t=>t),Ve=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(h=>{if(!h||!["string","number"].includes(typeof h)){console.error("BinProvider onDelete called without a binId of the entity to delete");return}u(T=>{const P=T.filter(y=>y.binId!==h);return e&&e(P),P})},[e]),c=a.useCallback(()=>{u([]),e&&e([])},[e]),E=h=>{const[T]=we().split("-");return{binId:T,...h}},m=a.useCallback(({dragInfo:h={}}={})=>{const{entityId:T,entityType:P,entity:y}=h;if(!T||!P||!y)throw new Error("Dragged element needs to have entityId, entityType and entity props");u((A=[])=>{if(s(A,h)||i){const b=[...A,E(h)];return e&&e(b),b}return A})},[i,s,e]),d=a.useCallback(({dragId:h,hoverId:T,originalDragIndex:P})=>{h===void 0||T===void 0&&P===void 0||u(y=>{const A=[...y],b=o.findIndex(N=>N.binId===h),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:m,onSort:d,onFind:()=>null,onEmptyBin:c,onDelete:l}),[i,o,m,d,l,c]);return V.jsx(Ve.Provider,{value:p,children:t})}function Xn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ee={exports:{}};/*
|
|
1
|
+
(function(S,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):(S=typeof globalThis<"u"?globalThis:S||self,a(S["@vidispine/vdt-react"]={},S.react,S.vdtApi,S.vdtJs,S.lzString,S.useDeepCompareEffect,S._debounce,S.jsxRuntime,S.reactCookie,S.reactIs))})(this,function(S,a,C,z,Ne,Q,Ge,V,_e,Ie){"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),d=a.useCallback(h=>(i({type:"START"}),new Promise((E,f)=>{e({cancelToken:new C.utils.CancelToken(p=>{n.current=p}),...h}).then(p=>{E(p),i({type:"SUCCESS",response:p}),r&&(r.current=p.data)}).catch(p=>{p.__CANCEL__?i({type:"CANCEL"}):(f(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:d,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}={},u=!1)=>({...o,queryParams:{content:"metadata",interval:"generic",...e},matrixParams:{first:s*n+1,number:n,...t},itemSearchDocument:{...u?{}:{intervals:"generic",filter:[]},...r},rowsPerPage:n,page:s,enableSearch2:u}),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&&t.value.length>0?{...e.itemSearchDocument,...e.enableSearch2?{field:[{name:"title",value:[{value:`${t.value}`}]}]}:{text:[{value:`${t.value}`}]}}:{...e.itemSearchDocument,text:void 0},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 He(e,t=!1){const r=dt(e,t),[n,s]=a.useReducer(mt,r),o=({target:{value:g}}={})=>s({type:k.CHANGE_ROWS,rowsPerPage:g}),u=({page:g})=>s({type:k.CHANGE_PAGE,page:g}),i=(g,R,v)=>s({type:k.CHANGE_SORT,field:R,order:v}),d=a.useCallback(g=>s({type:k.CHANGE_SEARCHTEXT,value:g}),[]),l=a.useCallback((g,R)=>s({type:k.CHANGE_ITEMSEARCHDOCUMENT,itemSearchDocument:g,page:R}),[]),c=a.useCallback(g=>s({type:k.CHANGE_QUERYPARAMS,queryParams:g}),[]),h=a.useCallback(g=>s({type:k.CHANGE_MATRIXPARAMS,matrixParams:g}),[]),E=a.useCallback(g=>s({type:k.CHANGE_SEARCHFIELD,field:g}),[]),f=a.useCallback(g=>{const R=g.map(({name:v})=>({field:v,count:!0}));s({type:k.CHANGE_SEARCHFIELDFACET,field:g,facet:R})},[]),p=a.useCallback(g=>s({type:k.CHANGE_SEARCHFILTER,filter:g}),[]),m=a.useCallback(g=>{const v=g.reduce((T,{field:G=[]})=>T.concat(G),[]).map(({name:T})=>({name:T,field:T,count:!0,exclude:[T]}));s({type:k.CHANGE_SEARCHFILTERFACET,filter:g,facet:v})},[s]),A=a.useCallback(g=>{s({type:k.CHANGE_FACET,facet:g})},[s]),P=a.useCallback(g=>s({type:k.CHANGE_PARENT_COLLECTION,value:g}),[]),N=a.useCallback(g=>{s({type:k.CHANGE_SUGGESTION,suggestion:g})},[]);return{state:n,onChangeRowsPerPage:o,onChangePage:u,onChangeSort:i,setSearchText:d,setSearchField:E,setSearchFieldFacet:f,setSearchFilter:p,setSearchFilterFacet:m,setFacet:A,setItemSearchDocument:l,setQueryParams:c,setMatrixParams:h,setParentCollection:P,setSuggestion:N}}function ae(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(h=>({...h,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:d=[]}={}}=x(C.search.searchAutoComplete);return ae(()=>{i({autocompleteRequestDocument:r})},[r]),{suggestions:d,setAutocompleteField:s,setAutocompleteText:o,setAutocompleteMaxSuggestions:u}}const pt=({field:e=void 0,text:t="",maximumSuggestions:r=10}={})=>({field:e,text:t,maximumSuggestions:r});function Ct(e){const t=pt(e),[r,n]=a.useState(t),[s,o]=a.useState("NESTED"),u=a.useCallback((E="NESTED")=>{o(E)},[]),i=a.useCallback((E,f="")=>{n(p=>({...p,field:E,text:f}))},[]),d=a.useCallback(E=>{n(f=>({...f,text:E}))},[]),l=a.useCallback(E=>{n(f=>({...f,maximumSuggestions:E}))},[]),{request:c,data:{suggestion:h=[]}={}}=x(C.search.searchAutoComplete);return ae(()=>{c({autocompleteRequestDocument:r,path:`/API/search2/autocomplete?searchLang=${s}`})},[r,s]),{suggestions:h,setAutocompleteField:i,setAutocompleteText:d,setAutocompleteMaxSuggestions:l,setAutocompleteLanguage:u}}const gt=(e="id",t=[])=>{const[r,n]=a.useState(t);return{selected:r,onSelect:(i,d,l)=>{const c=l[e],h=r.findIndex(E=>E[e]===c);if(h===-1&&d===!0)d===!0&&n([...r,l]);else if(h>-1&&d===!1){const E=[...r];E.splice(h,1),n(E)}},onClear:()=>n([]),isSelected:i=>{const d=i[e];return r.findIndex(c=>c[e]===d)>-1}}},St=e=>{const[t,r]=a.useState(e);return{activeTab:t,changeTab:(s,o)=>r(o)}};function yt(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 Tt(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 h=()=>{o.current===void 0?s(0):o.current===e.length-1?clearInterval(t.current):s(o.current+1)};t.current=setInterval(h,500)},i=()=>{s(),clearInterval(t.current)},d=e[n===void 0?r:n],l=n===void 0?0:`${Math.floor(n/(e.length-1)*100)}%`;return{imageSrc:d,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"},At=({queryParams:e={},matrixParams:t={}}={})=>({queryParams:e,matrixParams:{first:1,number:10,...t},rowsPerPage:10,page:0,jobMetadata:[]}),Rt=(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,...d}=e.matrixParams;u={...d,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,...d}=e.queryParams;u={...d,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,...d}=e.queryParams;u={...d,first:1}}return{...e,page:0,queryParams:u,jobMetadata:o}}default:return e}};function Pt(e){const t=At(e),[r,n]=a.useReducer(Rt,t);return{state:r,onChangePage:({page:f})=>n({type:Y.CHANGE_PAGE,page:f}),onChangeSort:(f,p,m)=>{const A=typeof p=="object"?p.value:p;n({type:Y.CHANGE_SORT,field:A,order:m})},onChangeType:({field:f=[]})=>{const[{name:p="type",value:m=[]}]=f;n({type:Y.CHANGE_TYPE,field:p,value:m.length?m[0].value:null})},onChangeState:({field:f=[]})=>{const[{name:p="state",value:m=[]}]=f;n({type:Y.CHANGE_STATE,field:p,value:m.length?m[0].value:null})},onChangePriority:({field:f=[]})=>{const[{name:p="priority",value:m=[]}]=f;n({type:Y.CHANGE_PRIORITY,field:p,value:m.length?m[0].value:null})},onChangeStarttime:({field:f=[]})=>{const[{name:p="starttime-from",value:m=[]}]=f;n({type:Y.CHANGE_STARTTIME,field:p,value:m.length?m[0].value:null})},onChangeFinishtime:({field:f=[]})=>{const[{name:p="finishtime-from",value:m=[]}]=f;n({type:Y.CHANGE_FINISHTIME,field:p,value:m.length?m[0].value:null})},onChangeRowsPerPage:({target:{value:f}}={})=>n({type:Y.CHANGE_ROWS,rowsPerPage:f}),onChangeJobmetadata:f=>{n({type:Y.CHANGE_JOBMETADATA,field:"jobmetadata",value:f})}}}const bt=(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 we(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))}function vt(e){return Ne.compressToEncodedURIComponent(e)}function Nt(e){return e.slice(-1)==="="?decodeURIComponent(atob(e).split("").map(t=>`%${`00${t.charCodeAt(0).toString(16)}`.slice(-2)}`).join("")):Ne.decompressFromEncodedURIComponent(e)}const Gt=["__mp3_160k"],_t=["__mp4"],It=["__png"],Ht="audio",wt="video",Ot="image",Dt=["application/mxf"],Mt=[],Lt=[],Ut=e=>{if(!e||!e.type)return[];const t=e.type.toLowerCase();return t.startsWith(Ht)||Lt.includes(t)?Gt:t.startsWith(wt)||Dt.includes(t)?_t:t.startsWith(Ot)||Mt.includes(t)?It:[]},Ft=(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()}),kt=({file:e,collectionId:t,onProgress:r,metadata:n={},placeholderParams:s={},importParams:o={},chunkedUploadProps:u={},generateTransferId:i=we,getShapeTags:d=Ut})=>new Promise((l,c)=>{try{let h;r({});const E=d(e),f=e.name,p=e.type,[m]=p.split("/"),A={originalFilename:f,mimeType:p,mediaType:m,...n},P=z.createMetadataType(A);C.vsimport.createImportPlaceholder({metadataDocument:P,queryParams:{container:1,...s}}).then(({data:N})=>{if(h=N.id,!t)return Promise.resolve();const g=Array.isArray(t)?t:[t];return Promise.all(g.map(R=>C.collection.addCollectionEntity({collectionId:R,entityId:h})))}).then(()=>{const N=i(),g={filename:f,transferId:N,tag:E,...o};return Ft(e,{api:{method:C.vsimport.createImportComponentRaw,props:{itemId:h,component:"container",queryParams:g}},onProgress:r,...u})}).then(N=>{l({...N,itemId:h,collectionId:t})}).catch(N=>c(N))}catch(h){console.error(h),c(h)}});function qt({onUploadFile:e=kt,initialMetadata:t={},...r}){const[n,s]=a.useState([]);a.useEffect(()=>()=>{n.forEach(E=>URL.revokeObjectURL(E.preview))},[n]);const o=a.useCallback((E=[])=>{const f=E.map(p=>({file:p,metadata:{title:p.name,...t}}));s(p=>f.concat(p))},[t]),u=a.useCallback((E,f={})=>{s(p=>{const m=p[E],{metadata:A,progress:P}=f,{metadata:N={},progress:g={}}=m,R=[...p],v={...m};return A&&(v.metadata={...N,...A}),P&&(v.progress={...g,...P}),R[E]=v,R})},[s]),i=a.useCallback(E=>(f={})=>{u(E,{progress:f})},[u]),d=a.useCallback(E=>(f={})=>{u(E,{metadata:f})},[u]),l=a.useCallback(E=>n.reduce((f,p,m)=>f.then(A=>p.progress?f:e({file:p.file,onProgress:i(m),metadata:p.metadata,...E,...r}).then(P=>[...A,P])),Promise.resolve([])),[n,e,i,r]),c=a.useCallback(E=>()=>{s([...n].filter((f,p)=>p!==E))},[s,n]),h=a.useCallback(E=>()=>{s([...n].filter((f,p)=>!E.includes(p)))},[s,n]);return{onAddFiles:o,onChangeFile:u,onChangeMetadata:d,onUpload:l,onRemoveFile:c,onRemoveFiles:h,files:n,setFiles:s}}function $t({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=Nt(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 xt({history:e,navigate:t,location:r,state:n,queryName:s="q"}){const o=a.useCallback(()=>{const{location:u=r}=e||{},i=vt(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]);ae(()=>{o(n)},[o,n])}const jt=({entityId:e,entityType:t})=>{const{request:r,data:n={},isLoading:s}=x(C.access.listEntityAccess),o=a.useCallback((d={})=>r({entityId:e,entityType:t,...d}),[e,t]),u=a.useCallback(({accessId:d,...l})=>C.access.removeEntityAccess({accessId:d,entityId:e,entityType:t,...l}),[e,t]),i=a.useCallback(({accessControlDocument:d,...l})=>C.access.createEntityAccess({entityType:t,entityId:e,accessControlDocument:d,...l}),[e,t]);return{accessControlList:n,isLoading:s,onList:o,onRemove:u,onAdd:i}},Oe=({data:e=[]}={},t=void 0)=>{if(!t)return;const{value:r}=e.find(n=>n.key===t)||{};return r},Wt=(e,t)=>Object.assign({},...t.map(r=>({[r]:Oe(e,r)}))),Vt=({values:{field:e}={}}={})=>e?e.map(t=>({value:t.value,label:t.key||t.value})):void 0,Yt=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},Bt=({fields:e,groups:t,getDataAttributes:r=Wt,fieldDataToInclude:n="label,displayType,required",groupDataToInclude:s="label,order",fieldQueryParams:o={},groupQueryParams:u={},getAttributes:i=!0})=>{const[d,l]=a.useState(!1),[c,h]=a.useState(e),[E,f]=a.useState(t);return Q(()=>{let p=!1;if(i===!1)return()=>{p=!0};const m=(N=[],g={})=>N.map(({name:R,...v})=>{const T=g[R]||{},{label:G,...I}=r(T,n.split(","));return{name:R,label:G||R,type:T.type,constraint:T.constraint,options:Vt(T),...I,...v}}),A=(N=[],g={},R={})=>N.map(({name:v,field:T,group:G,...I})=>{const H=g[v]||{},j=T||H&&H.field,W=G||H&&H.group,{label:B,...K}=r(H,s.split(","));return{name:v,label:B||v,order:Oe(H,"order"),fields:m(j,R),groups:A(W,g,R),...K,...I}});async function P(){l(!0);const N={},g={};let R=[];if(e){const T={...o,data:n};R=e.map(async({name:G})=>{try{const{data:I}=await C.metadatafield.getMetadataField({fieldName:G,queryParams:T});N[G]=I}catch{console.warn(`Could not retrieve attributes for ${G}`)}})}let v=[];if(t){const T=[...t],G={...u,data:s};v=T.map(async({name:I})=>{try{const{data:H}=await C.fieldgroup.getFieldGroup({groupName:I,queryParams:G}),{field:j=[],group:W=[]}=H;j.forEach(B=>{const K=B.data&&B.data.find(Z=>Z.key==="__values");if(K){const Z=Yt(K.value);N[B.name]={...B,values:Z}}}),W.forEach(B=>{T.push(B)}),g[I]=H}catch{console.warn(`Could not retrieve attributes for ${I}`)}})}await Promise.all([...R,...v]),p||(Object.values(N).some(T=>T)&&h(()=>m(e,N)),Object.values(g).some(T=>T)&&f(()=>{const T=A(t,g,N);return T.forEach(G=>{const{order:I}=G;I&&G.fields.sort((H,j)=>I.indexOf(H.name)-I.indexOf(j.name))}),T}),l(!1))}return P(),()=>{p=!0}},[e,t,n,s,o,u,i]),{fieldsWithAttributes:c,groupsWithAttributes:E,isLoading:d}},Qt="TRANSIENT";function Xt({metadata:e,markerField:t,markerValue:r,itemSearchDocument:n}){return C.item.searchItem({queryParams:{result:"library",updateMode:Qt},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 De=({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)})}),Jt=({collectionId:e})=>new Promise(t=>{De({collectionId:e}).then(({id:r})=>Promise.all([C.library.removeLibrary({libraryId:r}),C.collection.removeCollection({collectionId:e})])).catch(r=>{r.response.data.forbidden&&t(JSON.stringify(r.response.data.forbidden)),r.response.data.internalServer&&t(JSON.stringify(r.response.data.internalServer)),r.response.data.notFound&&t(JSON.stringify(r.response.data.notFound)),r.response.data.notAuthorized&&t(JSON.stringify(r.response.data.notAuthorized))})});function zt({libraryId:e}){return new Promise(t=>{C.library.getLibrarySettings({libraryId:e}).then(({data:{query:r}})=>{t(r)})})}const Kt=({collectionId:e})=>new Promise(t=>{De({collectionId:e}).then(({id:r})=>zt({libraryId:r})).then(t)});function Zt({markerField:e,markerValue:t,initialSearchState:r,onSaveSearch:n=Xt,onDeleteSearch:s=Jt,onUpdateSearchMetadata:o=C.collection.updateCollectionMetadata,onGetSavedSearchSettings:u=Kt},i=!1){const d=a.useCallback(({metadata:f,itemSearchDocument:p})=>n({metadata:f,markerField:e,markerValue:t,itemSearchDocument:p}),[e,t,n]),l=(f={})=>({...f,operator:{field:[{name:e,value:[{value:t||"*"}]}],operator:f.operator?[f.operator]:[],operation:"AND"}}),c=He({...r,itemSearchDocument:l()},i),{setItemSearchDocument:h,...E}=c;return{onSaveSearch:d,onDeleteSearch:s,onUpdateSearchMetadata:o,onGetSavedSearchSettings:u,searchProps:{setItemSearchDocument:f=>h(l(f)),...E}}}function Me({itemSearchDocument:e,queryParams:t,matrixParams:r,path:n}){const{request:s,data:o={},isLoading:u,isError:i,cancel:d}=x(C.item.searchItem),l=n?{path:n}:{},c=()=>s({itemSearchDocument:e,queryParams:t,matrixParams:r,...l});return Q(()=>{c()},[e,t,r,n]),{itemListType:o,isLoading:u,isError:i,onRefresh:c,cancel:d}}const en=()=>{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 Le({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 tn({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 nn=({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),d=a.useCallback(l=>o({[s]:e,...l}),[e,s,o]);return{[r]:u,[s]:e,onGetEntity:d,...i}};function rn(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:E})=>C.user.updateUser({userName:n,userDocument:E}).then(()=>r({userName:E.userName})),[r,n]),u=a.useCallback(({groups:E=[]})=>C.user.updateUserGroup({userName:n,groupListDocument:{group:E.map(f=>({groupName:f}))}}).then(s),[s,n]),i=a.useCallback(E=>C.group.removeGroupUser({groupName:E,userName:n}).then(s),[s,n]),d=a.useCallback(E=>C.user.updateUser({userName:n,userDocument:{password:E},queryParams:{passwordType:"raw"}}),[n]);return{userType:t,getUser:s,updateUser:o,updateUserGroups:u,removeUserFromGroup:i,disableUser:E=>C.user.disableUser({userName:n,...E}).then(s),enableUser:E=>C.user.enableUser({userName:n,...E}).then(s),deleteUser:({queryParams:E={}}={})=>C.user.disableUser({userName:n,queryParams:{hard:!0,...E}}),changePassword:d}}const ne={CHANGE_PAGE:"CHANGE_PAGE",CHANGE_ROWS:"CHANGE_ROWS",CHANGE_SORT:"CHANGE_SORT",CHANGE_QUERY:"CHANGE_QUERY"},sn=({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"}]}}),on=(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 an(e){const t=sn(e),[r,n]=a.useReducer(on,t),{data:s,request:o,hasLoaded:u,isError:i}=x(C.user.searchUser),d=()=>o({userSearchDocument:r.userSearchDocument,queryParams:r.queryParams});return a.useEffect(()=>{d()},[r.queryParams,r.userSearchDocument]),{...r,hasLoaded:u,isError:i,userListDocument:s,onSearchUser:d,onChangePage:({page:f})=>n({type:ne.CHANGE_PAGE,page:f}),onChangeSort:(f,p,m)=>{const A=typeof p=="object"?p.value:p;n({type:ne.CHANGE_SORT,field:A,order:m})},onChangeRowsPerPage:({target:{value:f}}={})=>n({type:ne.CHANGE_ROWS,rowsPerPage:f}),onChangeQuery:(f,p)=>{n({type:ne.CHANGE_QUERY,field:f,query:p})}}}const un=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}},cn=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"},ln=({queryParams:e={},rowsPerPage:t=10,page:r=0}={})=>({queryParams:{first:r*t+1,number:t,...e},rowsPerPage:t,page:r,groupSearchDocument:{}}),fn=(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 dn(e){const t=ln(e),[r,n]=a.useReducer(fn,t),{data:s,request:o,hasLoaded:u,isError:i}=x(C.group.searchGroup),d=()=>o({groupSearchDocument:r.groupSearchDocument,queryParams:r.queryParams});return a.useEffect(()=>{d()},[r.queryParams,r.groupSearchDocument]),{...r,hasLoaded:u,isError:i,groupListDocument:s,onSearchGroup:d,onChangePage:({page:p})=>n({type:ee.CHANGE_PAGE,page:p}),onChangeSort:(p,m,A)=>{const P=typeof m=="object"?m.value:m;n({type:ee.CHANGE_SORT,field:P,order:A})},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 mn(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:f})=>C.group.updateGroup({groupName:n,groupDocument:f}).then(s),[s,n]),u=a.useCallback(({groups:f})=>C.group.updateGroup({groupName:n,groupDocument:{childGroupList:{group:f.map(p=>({groupName:p}))}}}).then(s),[s,n]),i=a.useCallback(({groups:f})=>C.group.updateGroup({groupName:n,groupDocument:{parentGroupList:{group:f.map(p=>({groupName:p}))}}}).then(s),[s,n]),d=a.useCallback(({users:f})=>C.group.updateGroup({groupName:n,groupDocument:{userList:{user:f.map(p=>({userName:p}))}}}).then(s),[s,n]),l=a.useCallback(f=>C.group.removeGroupUser({groupName:n,userName:f}).then(s),[s,n]),c=a.useCallback(f=>C.group.removeGroupChildren({groupName:n,childGroupName:f}).then(s),[s,n]),h=a.useCallback(f=>C.group.removeGroupChildren({groupName:f,childGroupName:n}).then(s),[s,n]),E=a.useCallback(()=>C.group.removeGroup({groupName:n}),[n]);return{groupType:t,getGroup:s,updateGroup:o,removeGroup:E,addChildGroups:u,addParentGroups:i,addUsersToGroup:d,removeUserFromGroup:l,removeChildGroup:c,removeFromParentGroup:h}}function Ue({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 hn=({collectionId:e,defaultEnabled:t=!0})=>{const[r,n]=a.useState(),[s,o]=a.useState(t),u=h=>o(E=>h!==void 0?h:!E),i=a.useRef(),d=a.useRef(),l=a.useRef(),c=a.useCallback(({itemId:h})=>{if(s===!1)return;const E={field:[{name:"mediaType",value:[{value:"video"},{value:"audio"}]}]},f=({first:p,number:m}={})=>{const{current:A}=i,{current:P}=d;if(!Array.isArray(A)){Promise.all([C.collection.getCollection({collectionId:e,queryParams:{children:"item"}}),C.collection.searchCollectionItem({collectionId:e,searchDocument:E,queryParams:{first:p,number:m}})]).then(([{data:T},{data:G}])=>{const{hits:I,item:H=[]}=G;i.current=H.map(({id:W})=>W),l.current=I;const{content:j}=T;d.current=j,f({first:1,number:100})});return}const{current:N}=l,g=P.findIndex(({id:T})=>T===h);if(g+1===P.length){n();return}if(g===-1&&N>A.length){C.collection.searchCollectionItem({collectionId:e,searchDocument:E,queryParams:{first:p+m,number:m}}).then(({data:T})=>{const{item:G=[]}=T;i.current.push(...G.map(({id:I})=>I)),f({first:p+m,number:m})});return}const v=P.slice(g+1).find(({id:T})=>A.includes(T));n(v)};f()},[e,s]);return{isAutoPlayEnabled:s,toggleAutoPlay:u,setNextPlaying:n,nextPlaying:r,onNext:c}},En=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 pn(e=[],t=0,r=void 0,n=En){const[s,o]=a.useState(0),[u,i]=a.useState(0),[d,l]=a.useState(!1),[c,h]=a.useState([]),[E,f]=a.useState(),[p,m]=a.useState(0),A=a.useRef(Ge(T=>{i(T)},10)).current,P=T=>{try{return Math.round(T.getBoundingClientRect().left)}catch{return 0}},N=a.useCallback(T=>{const G=T.clientX-P(T.currentTarget)-t,I=T.currentTarget.offsetWidth;return G<0?0:G>I?I:G},[t]),g=(T,G)=>{let I=G[0],H=Math.abs(T-I),j=0;for(let W=0;W<G.length;W+=1){const B=Math.abs(T-G[W]),K=T-G[W]>0;B<H&&K&&(H=B,I=G[W],j=W)}return j},R=T=>{if(r){const G=N(T);o(G-1),p!==T.currentTarget.offsetWidth&&m(T.currentTarget.offsetWidth);const I=G/(T.currentTarget.offsetWidth/+r);f(z.formatTimeCodeSeconds(I));const H=g(I,c.map(j=>j.toSeconds().toFixed(0)));H!==u&&A(H)}};return Q(()=>{const T=n(e);h(T)},[e]),{thumbnailIndex:u,thumbnailTimeCode:E,thumbnailWidth:p,showScrub:d,scrubPosition:s,handleShowScrub:T=>()=>{r>0&&l(T)},onMouseMove:R}}function Cn({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(""),d=a.useRef(Ge(i,r)).current,{data:{autocomplete:l=[]}={},request:c}=x(o),{suggestion:h=[]}=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:h,handleAutocompleteChange:d}}function gn(){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 Sn="TRANSIENT",Fe=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([]),[d,l]=a.useState(),c=a.useCallback(()=>{Promise.all(s.map(async m=>{const{data:{content:A,metadata:P={}}}=await C.collection.getCollection({collectionId:m,queryParams:t}),{field:N}=P.timespan[0];return A&&A[0].type==="library"?{id:m,libraryId:A[0].id,title:Fe(N),type:"query",metadata:P}:{id:m,title:Fe(N),subFolders:A&&A.map(g=>g.id),type:"folder",metadata:P}})).then(m=>{i(A=>[...m,...A])}).catch(m=>{l(m)})},[s,t]),h=(m,A,P,N,g)=>{C.collection.createCollection({collectionDocument:{metadata:z.createMetadataType({[A]:P,title:N})}}).then(({data:{id:R}})=>m?C.collection.updateCollection({collectionId:m,collectionDocument:{content:[{id:R,mode:"add",type:"collection"}]}}).then(({data:{content:v}})=>{v&&(o(v.filter(T=>T.id===R).map(T=>T.id)),g&&g())}).catch(v=>{l(v)}):null).catch(R=>{l(R)})},E=(m,A,P,N)=>{try{C.item.searchItem({queryParams:{result:"library",updateMode:Sn},itemSearchDocument:P}).then(({data:{library:g}})=>C.collection.createCollection({collectionDocument:{metadata:z.createMetadataType({[r.markerField]:r.markerValue,title:A}),content:[{id:g,type:"library"}]}})).then(({data:{id:g}})=>C.collection.updateCollection({collectionId:m,collectionDocument:{content:[{id:g,mode:"add",type:"collection"}]}}).then(({data:{content:R}})=>{R&&(o(R.filter(v=>v.id===g).map(v=>v.id)),N&&N())}).catch(R=>{l(R)})).catch(g=>{l(g)})}catch(g){l(g)}},f=m=>C.collection.removeCollection({collectionId:m}).catch(A=>{l(A)}),p=m=>{i(A=>A.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:h,saveSearch:E,getSubFolders:c,deleteFolder:f,removeItem:p,subFolders:u,setSubFolders:i,setCurrentFolders:o,errors:d}}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(h=>{t&&t(h)}),{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]}),h=await C.collection.updateCollectionMetadata({collectionId:e,metadataDocument:c});return o(),h}catch(c){t&&t(c);return}},i=l=>u({value:l,mode:"add"}),d=l=>{try{const c=r.filter(h=>h.value===l).map(h=>h.uuid);return c.length?u(c.map(h=>({uuid:h,mode:"remove"}))):void 0}catch(c){t&&t(c);return}};return a.useEffect(()=>{o()},[e]),{representativeItems:r,onRefresh:o,onAdd:i,onRemove:d}};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,d=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:d,...r}})}const bn=["FINISHED","FINISHED_WARNING"],vn=["FINISHED","FINISHED_WARNING","FAILED_TOTAL","ABORTED"];function ke(e,t,r,n){const{data:{jobId:s}={}}=e,{id:o}=t,{fileName:u="output",outputFormat:i="csv"}=r,d=`${u}.${i}`;C.job.getJob({jobId:s}).then(({data:{status:l}={}}={})=>{if(bn.includes(l))try{C.file.listFileStorage({storageId:o,queryParams:{path:d,methodMetadata:[{key:"format",value:"SIGNED-AUTO"},{key:"contentDisposition",value:`attachment;+filename=${d}`}],"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 vn.includes(l)?n({message:"Download failed"}):setTimeout(()=>{ke(e,t,r,n)},1e3)})}const Nn=({itemListType:e,queryParams:t,onSuccess:r,onError:n=({message:d,error:l})=>console.error(`${d}
|
|
3
|
+
${l}`),onGetFile:s=ke,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 Gn(e,t,r,n,s,o,u,i){const d=r[0].fields.map(f=>f),[l,c]=a.useState(n),h=(f,p,m,A)=>{const{value:P}=f.target,g=n.map(R=>R).map((R,v)=>m===v?{...p,[A]:P}:R);s(g),c(g)},E=async(f,p)=>{const m=z.createMetadataType(f),{timespan:A}=m,P=[];A.forEach((v,T)=>{const G={field:[],name:"V3_sport_Team",mode:"add"};v.field.forEach(I=>{G.field.push(I)}),p.includes(T)&&P.push(G)});const N={timespan:[{start:"-INF",end:"+INF",field:[],group:P}]},g=[...new Set(p)],R=[];g.forEach(v=>{const T=t.itemType.metadata.timespan[0].group.find((G,I)=>v===I);R.push(T.uuid)});try{await R.forEach(v=>setTimeout(C.metadata.removeMetadata({metadataUuid:v}),500)),await C.item.updateItemMetadata({itemId:e,metadataDocument:N}),await o(),s(l),u()}catch(v){i(v)}};return Q(()=>{s(t.group)},[t]),{tableColumns:d,onChange:h,onSubmit:E}}function qe({entity:e,entityId:t,queryParams:r={},refreshOnMount:n=!0}){const{request:s,data:o={},isLoading:u,isError:i}=x(C.metadata.getEntityMetadata),d=()=>s({entity:e,entityId:t,queryParams:r});return Q(()=>{n&&d()},[e,t,r]),{metadataType:o,isLoading:u,isError:i,onRefresh:d}}function $e({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 d=r;if(e||t){const E=e||t||{};d=E==null?void 0:E.metadata}const l=a.useMemo(()=>z.parseMetadataType(d,{joinValue:n,flat:s,groupAsList:o}),[s,o,n,d]),c={...i,...l,itemType:e},h=E=>a.cloneElement(E,c);return a.Children.map(u,h)}function In({itemSearchDocument:e,queryParams:t,matrixParams:r,enableSearch2:n,responseRef:s,initialState:o,children:u}){const{request:i,data:d={},isLoading:l,isError:c}=x(C.collection.searchCollection,o,s),h=()=>i({itemSearchDocument:e,queryParams:t,matrixParams:r,...n?{path:"/API/search2/collection/"}:{}});Q(()=>{h()},[e,t,r]);const E={itemSearchDocument:e,matrixParams:r,queryParams:t,collectionListType:d,onRefresh:h,isLoading:l,isError:c},f=p=>a.cloneElement(p,E);return a.Children.map(u,f)}function Hn({itemSearchDocument:e,queryParams:t,matrixParams:r,path:n,children:s}){const{itemListType:o,onRefresh:u,isLoading:i,isError:d}=Me({itemSearchDocument:e,queryParams:t,matrixParams:r,path:n}),l={itemSearchDocument:e,matrixParams:r,queryParams:t,itemListType:o,onRefresh:u,isLoading:i,isError:d},c=h=>a.cloneElement(h,l);return a.Children.map(s,c)}function wn({itemSearchDocument:e,queryParams:t,matrixParams:r,children:n}){const{request:s,data:o={},isLoading:u,isError:i}=x(C.search.searchItemCollection),d=()=>s({itemSearchDocument:e,queryParams:t,matrixParams:r});Q(()=>{d()},[e,t,r]);const l={itemSearchDocument:e,matrixParams:r,queryParams:t,searchResultType:o,onRefresh:d,isLoading:u,isError:i},c=h=>a.cloneElement(h,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}=Ue({itemId:e,queryParams:t,refreshOnMount:r}),d={itemId:e,queryParams:t,itemType:s,onRefresh:o,isLoading:u,isError:i},l=c=>a.cloneElement(c,d);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}=Le({collectionId:e,queryParams:t,refreshOnMount:r}),d={collectionId:e,queryParams:t,collectionType:s,onRefresh:o,isLoading:u,isError:i},l=c=>a.cloneElement(c,d);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 d={matrixParams:e,queryParams:t,onRefresh:i,isLoading:o,isError:u,jobs:s},l=c=>a.cloneElement(c,d);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 d={entityId:e,entityType:t,queryParams:r,accessControlList:o,onRefresh:i,isLoading:u},l=c=>a.cloneElement(c,d);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 ue="VIDISPINE-TOKEN",ie="VIDISPINE-USERNAME",ce="VIDISPINE-SERVER-URL",le="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:"/"},...d}){const[l,c,h]=_e.useCookies([ue,ie,ce,le]),{[ue]:E,[ie]:f,[ce]:p}=l,m=l[le]==="true",A=N=>{let g;try{s(N).then(R=>{const{userName:v,serverUrl:T,rememberMe:G}=N;v&&c(ie,v,i),T&&c(ce,T,i),G&&c(le,G,i),R&&c(ue,R,i),o&&o(N)}).catch(R=>{if(g=R,u)return u(g);throw g})}catch(R){if(g=R,u)return u(g)}return g},P=()=>{h(ue,i),m||(h(ie,i),h(ce,i),h(le,i))};return E?V.jsx(he,{token:E,username:f,serverUrl:p,children:V.jsx(r,{onLogout:P,...d,...n})}):V.jsx(e,{onLogin:A,userName:f,serverUrl:p,rememberMe:m,...d,...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 xe 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}=$e({groupName:e,queryParams:t,refreshOnMount:r}),d={groupName:e,queryParams:t,metadataFieldGroupType:s,onRefresh:o,isLoading:u,isError:i},l=c=>a.cloneElement(c,d);return a.Children.map(n,l)}const je=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:d})=>(i=d,C.user.getUserRole({userName:d}))).then(({data:d})=>{o(d),t&&t(d,i)})}};return a.useEffect(u,[r]),V.jsx(je.Provider,{value:s,children:n})}function We(){const e=a.useContext(je);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}=We(),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:d}=qe({entity:e,entityId:t,queryParams:r,refreshOnMount:n}),l={entity:e,entityId:t,queryParams:r,metadataType:o,onRefresh:u,isLoading:i,isError:d};e==="collection"?l.collectionId=t:e==="item"&&(l.itemId=t);const c=h=>a.cloneElement(h,l);return a.Children.map(s,c)}const Vn=(e,t={})=>r=>V.jsx(xe,{...t,children:V.jsx(e,{...r})}),Yn=(...e)=>e.reduce((t,r)=>(...n)=>t(r(...n)),t=>t),Ve=a.createContext(),Bn=(e,{entityId:t,entityType:r,entityTimespan:{start:n,end:s,field:[{name:o}={}]=[]}={}})=>{const u=e.some(d=>d.entity.id===t&&d.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:h}={}]=[]}={}})=>{n===l&&s===c&&o===h&&(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,d]=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(A=>{const P=A.filter(N=>N.binId!==m);return e&&e(P),P})},[e]),c=a.useCallback(()=>{u([]),e&&e([])},[e]),h=m=>{const[A]=we().split("-");return{binId:A,...m}},E=a.useCallback(({dragInfo:m={}}={})=>{const{entityId:A,entityType:P,entity:N}=m;if(!A||!P||!N)throw new Error("Dragged element needs to have entityId, entityType and entity props");u((g=[])=>{if(s(g,m)||i){const R=[...g,h(m)];return e&&e(R),R}return g})},[i,s,e]),f=a.useCallback(({dragId:m,hoverId:A,originalDragIndex:P})=>{m===void 0||A===void 0&&P===void 0||u(N=>{const g=[...N],R=o.findIndex(G=>G.binId===m),v=o.findIndex(G=>G.binId===A),T=v>-1?v:P;return[g[T],g[R]]=[g[R],g[T]],e&&e(g),g})},[o,e]),p=a.useMemo(()=>({setBin:u,bin:o,allowDuplicates:i,setAllowDuplicates:d,onDrop:E,onSort:f,onFind:()=>null,onEmptyBin:c,onDelete:l}),[i,o,E,f,l,c]);return V.jsx(Ve.Provider,{value:p,children:t})}function Xn(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ee={exports:{}};/*
|
|
4
4
|
object-assign
|
|
5
5
|
(c) Sindre Sorhus
|
|
6
6
|
@license MIT
|
|
7
|
-
*/var pe,Ye;function Jn(){if(Ye)return pe;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
|
|
8
|
-
Valid keys: `+JSON.stringify(Object.keys(
|
|
9
|
-
${
|
|
10
|
-
`)});else if(
|
|
7
|
+
*/var pe,Ye;function Jn(){if(Ye)return pe;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 d=Object.getOwnPropertyNames(u).map(function(c){return u[c]});if(d.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 pe=s()?Object.assign:function(o,u){for(var i,d=n(o),l,c=1;c<arguments.length;c++){i=Object(arguments[c]);for(var h in i)t.call(i,h)&&(d[h]=i[h]);if(e){l=e(i);for(var E=0;E<l.length;E++)r.call(i,l[E])&&(d[l[E]]=i[l[E]])}}return d},pe}var Ce,Be;function ge(){if(Be)return Ce;Be=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Ce=e,Ce}var Se,Qe;function Xe(){return Qe||(Qe=1,Se=Function.call.bind(Object.prototype.hasOwnProperty)),Se}var ye,Je;function zn(){if(Je)return ye;Je=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var t=ge(),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,d,l){if(process.env.NODE_ENV!=="production"){for(var c in o)if(n(o,c)){var h;try{if(typeof o[c]!="function"){var E=Error((d||"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 E.name="Invariant Violation",E}h=o[c](u,c,d,i,null,t)}catch(p){h=p}if(h&&!(h instanceof Error)&&e((d||"React class")+": type specification of "+i+" `"+c+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof h+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),h instanceof Error&&!(h.message in r)){r[h.message]=!0;var f=l?l():"";e("Failed "+i+" type: "+h.message+(f??""))}}}}return s.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(r={})},ye=s,ye}var Te,ze;function Kn(){if(ze)return Te;ze=1;var e=Ie,t=Jn(),r=ge(),n=Xe(),s=zn(),o=function(){};process.env.NODE_ENV!=="production"&&(o=function(i){var d="Warning: "+i;typeof console<"u"&&console.error(d);try{throw new Error(d)}catch{}});function u(){return null}return Te=function(i,d){var l=typeof Symbol=="function"&&Symbol.iterator,c="@@iterator";function h(y){var b=y&&(l&&y[l]||y[c]);if(typeof b=="function")return b}var E="<<anonymous>>",f={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:N(),arrayOf:g,element:R(),elementType:v(),instanceOf:T,node:j(),objectOf:I,oneOf:G,oneOfType:H,shape:B,exact:K};function p(y,b){return y===b?y!==0||1/y===1/b:y!==y&&b!==b}function m(y,b){this.message=y,this.data=b&&typeof b=="object"?b:{},this.stack=""}m.prototype=Error.prototype;function A(y){if(process.env.NODE_ENV!=="production")var b={},M=0;function O(L,w,D,U,q,F,J){if(U=U||E,F=F||D,J!==r){if(d){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;!b[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."),b[re]=!0,M++)}}return w[D]==null?L?w[D]===null?new m("The "+q+" `"+F+"` is marked as required "+("in `"+U+"`, but its value is `null`.")):new m("The "+q+" `"+F+"` is marked as required in "+("`"+U+"`, but its value is `undefined`.")):null:y(w,D,U,q,F)}var _=O.bind(null,!1);return _.isRequired=O.bind(null,!0),_}function P(y){function b(M,O,_,L,w,D){var U=M[O],q=te(U);if(q!==y){var F=oe(U);return new m("Invalid "+L+" `"+w+"` of type "+("`"+F+"` supplied to `"+_+"`, expected ")+("`"+y+"`."),{expectedType:y})}return null}return A(b)}function N(){return A(u)}function g(y){function b(M,O,_,L,w){if(typeof y!="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 q=0;q<D.length;q++){var F=y(D,q,_,L,w+"["+q+"]",r);if(F instanceof Error)return F}return null}return A(b)}function R(){function y(b,M,O,_,L){var w=b[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 A(y)}function v(){function y(b,M,O,_,L){var w=b[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 A(y)}function T(y){function b(M,O,_,L,w){if(!(M[O]instanceof y)){var D=y.name||E,U=Er(M[O]);return new m("Invalid "+L+" `"+w+"` of type "+("`"+U+"` supplied to `"+_+"`, expected ")+("instance of `"+D+"`."))}return null}return A(b)}function G(y){if(!Array.isArray(y))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 b(M,O,_,L,w){for(var D=M[O],U=0;U<y.length;U++)if(p(D,y[U]))return null;var q=JSON.stringify(y,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 "+q+"."))}return A(b)}function I(y){function b(M,O,_,L,w){if(typeof y!="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 q in D)if(n(D,q)){var F=y(D,q,_,L,w+"."+q,r);if(F instanceof Error)return F}return null}return A(b)}function H(y){if(!Array.isArray(y))return process.env.NODE_ENV!=="production"&&o("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var b=0;b<y.length;b++){var M=y[b];if(typeof M!="function")return o("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+hr(M)+" at index "+b+"."),u}function O(_,L,w,D,U){for(var q=[],F=0;F<y.length;F++){var J=y[F],X=J(_,L,w,D,U,r);if(X==null)return null;X.data&&n(X.data,"expectedType")&&q.push(X.data.expectedType)}var re=q.length>0?", expected one of type ["+q.join(", ")+"]":"";return new m("Invalid "+D+" `"+U+"` supplied to "+("`"+w+"`"+re+"."))}return A(O)}function j(){function y(b,M,O,_,L){return Z(b[M])?null:new m("Invalid "+_+" `"+L+"` supplied to "+("`"+O+"`, expected a ReactNode."))}return A(y)}function W(y,b,M,O,_){return new m((y||"React class")+": "+b+" type `"+M+"."+O+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+_+"`.")}function B(y){function b(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 q in y){var F=y[q];if(typeof F!="function")return W(_,L,w,q,oe(F));var J=F(D,q,_,L,w+"."+q,r);if(J)return J}return null}return A(b)}function K(y){function b(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 q=t({},M[O],y);for(var F in q){var J=y[F];if(n(y,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(y),null," "));var X=J(D,F,_,L,w+"."+F,r);if(X)return X}return null}return A(b)}function Z(y){switch(typeof y){case"number":case"string":case"undefined":return!0;case"boolean":return!y;case"object":if(Array.isArray(y))return y.every(Z);if(y===null||i(y))return!0;var b=h(y);if(b){var M=b.call(y),O;if(b!==y.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 mr(y,b){return y==="symbol"?!0:b?b["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&b instanceof Symbol:!1}function te(y){var b=typeof y;return Array.isArray(y)?"array":y instanceof RegExp?"object":mr(b,y)?"symbol":b}function oe(y){if(typeof y>"u"||y===null)return""+y;var b=te(y);if(b==="object"){if(y instanceof Date)return"date";if(y instanceof RegExp)return"regexp"}return b}function hr(y){var b=oe(y);switch(b){case"array":case"object":return"an "+b;case"boolean":case"date":case"regexp":return"a "+b;default:return b}}function Er(y){return!y.constructor||!y.constructor.name?E:y.constructor.name}return f.checkPropTypes=s,f.resetWarningCache=s.resetWarningCache,f.PropTypes=f,f},Te}var Ae,Ke;function Zn(){if(Ke)return Ae;Ke=1;var e=ge();function t(){}function r(){}return r.resetWarningCache=t,Ae=function(){function n(u,i,d,l,c,h){if(h!==e){var E=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 E.name="Invariant Violation",E}}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},Ae}if(process.env.NODE_ENV!=="production"){var er=Ie,tr=!0;Ee.exports=Kn()(er.isElement,tr)}else Ee.exports=Zn()();var nr=Ee.exports;const $=Xn(nr),Ze=a.createContext(),et=a.createContext(),Re="UPDATE_ALL_SETTINGS",tt="UPDATE_SETTING",nt="UPDATE_USERNAME",rt="REMOVE_SETTING",rr=(e,t)=>{switch(t.type){case nt:return{...e,userName:t.userName};case Re: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 Pe({userName:e,settingsKey:t,children:r,initialSettings:n,onChange:s,getSettingsApi:o,updateSettingsApi:u}){const[i,d]=a.useReducer(rr,{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:h})=>{d({type:Re,settings:h,userName:c,settingsKey:t}),l.current=JSON.stringify(h)}).catch(h=>{const{response:E}=h;if(E.status!==404)throw new Error(h)})},[i.userName]),a.useEffect(()=>{s&&s(i.settings);const{userName:c}=i;if(!u||!c)return;const h=JSON.stringify(i.settings),E=l.current;!E||h===E||(u({entityType:"user",entityId:c,key:t,value:h}),l.current=h)},[i.settings]),V.jsx(et.Provider,{value:i,children:V.jsx(Ze.Provider,{value:d,children:r})})}const sr=()=>{const e=a.useContext(et);if(!e)throw new Error("useSettingsState must be used within SettingsStateContext");return e},or=()=>{const e=a.useContext(Ze);if(!e)throw new Error("useSettingsDispatch must be used within SettingsDispatchContext");return e},st=()=>{const e=or(),t=a.useCallback(o=>e({type:Re,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}},ar=()=>{const{settings:e={}}=sr();return{...st(),settings:e}};Pe.propTypes={userName:$.string,settingsKey:$.string,children:$.objectOf($.any),initialSettings:$.objectOf($.any),onChange:$.func,getSettingsApi:$.func,updateSettingsApi:$.func},Pe.defaultProps={userName:void 0,settingsKey:void 0,children:null,initialSettings:{},onChange:null,getSettingsApi:C.metadata.getSimpleMetadataKey,updateSettingsApi:C.metadata.updateSimpleMetadataKey};const fe="VIDISPINE-TOKEN",se="VIDISPINE-USERNAME",de="VIDISPINE-SERVER-URL",me="VIDISPINE-REMEMBER-ME",ur="Incorrect username or password",ot="Offline or CORS not configured",at="Session expired",ir="VIDISPINE_URL mismatch",ut=e=>{try{return C.noauth.getSelfTest({baseURL:e}).then(()=>ur).catch(()=>ot)}catch{return Promise.resolve(ot)}},cr=({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)})}},be=a.createContext({serverUrl:null,token:null,userType:null,userName:null,onLogin:()=>null,onLogout:()=>null});function ve({cookieOptions:e,LoginComponent:t,LoginProps:r,onGetToken:n,onSuccess:s,onError:o,serverUrl:u,userName:i,token:d,children:l}){const{data:c,request:h}=x(C.user.getUser),[E,f,p]=_e.useCookies([fe,se,de,me]),{[fe]:m=d,[se]:A=i,[de]:P=u}=E,N=E[me]==="true",{maxAge:g}=e,R=a.useCallback(H=>{let j;try{return n({maxAge:g,...H}).then(W=>{const{userName:B,serverUrl:K,rememberMe:Z}=H;B&&f(se,B,e),K&&f(de,K,e),Z&&f(me,Z,e),W&&f(fe,W,e),h({userName:B}),s&&s(H)}).catch(W=>{j=W,o&&o(j)})}catch(W){j=W,o&&o(j)}return j},[e,g,o,n,s,h,f]),v=a.useCallback(()=>{p(fe,e),N||(p(se,e),p(de,e),p(me,e))},[e,N,p]),T=a.useRef(),G=a.useRef();a.useEffect(()=>(m&&(T.current&&C.utils.defaultClient.interceptors.response.eject(T.current),T.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;G.current!==!0&&(G.current=!0,C.noauth.getSelfTest({baseURL:j}).then(()=>{G.current=void 0,v(),o&&o(Error(at))}).catch(()=>(G.current=void 0,null)))}return Promise.reject(H)})),()=>{T.current&&C.utils.defaultClient.interceptors.response.eject(T.current)}),[v,o,m]),a.useEffect(()=>{m&&A===void 0&&C.user.whoAmI().then(({data:H})=>f(se,H,e))},[A,m]),a.useEffect(()=>{m&&P&&u&&P!==u&&(v(),o&&o(Error(ir)))},[m,P,u,v,o]);const I=a.useMemo(()=>({serverUrl:P,token:m,userType:c,userName:A,onLogin:R,onLogout:v}),[R,v,P,m,A,c]);return m?V.jsx(he,{token:m,username:A,serverUrl:P,children:V.jsx(be.Provider,{value:I,children:l})}):V.jsx(t,{onLogin:R,userName:A,serverUrl:P,rememberMe:N,...r})}ve.propTypes={cookieOptions:$.shape({maxAge:$.number,path:$.string}),LoginComponent:$.elementType.isRequired,LoginProps:$.objectOf($.any),onGetToken:$.func,children:$.oneOfType([$.arrayOf($.element),$.element]),onSuccess:$.func,onError:$.func,serverUrl:$.string.isRequired,userName:$.string,token:$.string},ve.defaultProps={cookieOptions:{maxAge:604800,path:"/"},LoginProps:{},onGetToken:cr,children:null,onSuccess:null,onError:null,userName:null,token:null};const lr=()=>{const e=a.useContext(be);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})}},fr=({entityId:e,entityType:t,addToCollectionId:r,removeFromCollectionId:n,rootParentId:s,onAddEntity:o=it,onRemoveEntity:u=ct,onMoved:i=()=>null,onAdded:d=()=>null,onRemoved:l=()=>null,onError:c=({message:h,error:E})=>console.error(`${h}
|
|
9
|
+
${E}`)})=>{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 h=o({entityId:e,entityType:t,rootParentId:s,collectionId:r,onError:c}),E=u({entityId:e,entityType:t,rootParentId:s,collectionId:n,onError:c}),f=[h,E].filter(p=>p!==void 0);Promise.allSettled(f).then(p=>{const m=p.filter(g=>g.status!=="fulfilled"),A=m.length===0,P=m.length===f.length,N=m.length===1;if(A)i(),d(),l();else if(P)c({message:`Could not move ${e} from ${n} to ${r}`,error:m.map(g=>g.reason).join(`
|
|
10
|
+
`)});else if(N){const g=m[0].reason.config.method,R=g==="delete",v=g==="put";c({message:R?`Could not remove ${e} from collection ${n}`:`Could not add ${e} to collection ${r}`,error:m[0].reason});let T;R?T=u({entityId:e,entityType:t,collectionId:r,onError:c}):v&&(T=o({entityId:e,entityType:t,collectionId:n,onError:c})),T&&T.then(()=>{console.info(`Rollbacked moving ${e} from ${n} to ${r}`)}).catch(G=>{c({message:"Could not rollback after moving entity",error:G})})}}).catch(p=>{c({message:`Could not add ${e} to collection ${r}`,error:p})})}catch(h){c({message:`Could not move ${e} from ${n} to collection ${r}`,error:h})}};function dr({children:e,setDrag:t,onDrop:r,onDragEnter:n,onDragOver:s,onDragLeave:o,style:u}){const[i,d]=a.useState(0),l=f=>{f.preventDefault(),f.stopPropagation(),t(!1),r&&r(f)},c=f=>{f.preventDefault(),f.stopPropagation(),d(i+1),i===0&&t(!0),n&&n(f)},h=f=>{f.preventDefault(),f.stopPropagation(),s&&s(f)},E=f=>{f.preventDefault(),f.stopPropagation(),d(i-1),i===1&&t(!1),o&&o(f)};return V.jsx("div",{onDragEnter:f=>c(f),onDragOver:f=>h(f),onDrop:f=>l(f),onDragLeave:f=>E(f),style:u,children:e})}S.Auth=Fn,S.AuthContext=be,S.AuthProvider=ve,S.BinContext=Ve,S.BinProvider=Qn,S.ComposeProviders=jn,S.DropArea=dr,S.ErrorBoundary=xe,S.GetCollection=Dn,S.GetEntityMetadata=Wn,S.GetFieldGroup=qn,S.GetItem=On,S.GetJobs=Mn,S.HasRole=xn,S.ListEntityAccess=Ln,S.MetadataType=_n,S.RolesProvider=$n,S.SearchCollection=In,S.SearchItem=Hn,S.SearchItemCollection=wn,S.SettingsProvider=Pe,S.VidispineApi=he,S.compose=Yn,S.handleAddEntity=it,S.handleMoveEntity=fr,S.handleRemoveEntity=ct,S.useAddMetadataFieldAttributes=Bt,S.useApi=x,S.useAuthContext=lr,S.useAutocomplete=Et,S.useAutocomplete2=Ct,S.useCollectionAutoPlay=hn,S.useCompoundMetadata=Gn,S.useCsvDownload=Nn,S.useDocSearchAutocomplete=Cn,S.useEntityAccess=jt,S.useGetCollection=Le,S.useGetCollectionItem=tn,S.useGetEntity=nn,S.useGetEntityMetadata=qe,S.useGetFieldGroup=$e,S.useGetFieldMetadataDataset=gn,S.useGetItem=Ue,S.useGetSavedSearchFolders=yn,S.useGroup=mn,S.useHoverScrub=pn,S.useInterval=yt,S.useJobSearch=Pt,S.useListGroup=un,S.useListUser=cn,S.useLocalStorage=bt,S.useMouseDownPosition=en,S.useQueryInitialState=$t,S.useRepresentativeItems=Tn,S.useRoles=We,S.useSavedSearch=Zt,S.useSearch=He,S.useSearchGroup=dn,S.useSearchItem=Me,S.useSearchUser=an,S.useSelected=gt,S.useSettings=ar,S.useSettingsActions=st,S.useTab=St,S.useThumbnailScrub=Tt,S.useUpdateEffect=ae,S.useUpdateQueryState=xt,S.useUploadFiles=qt,S.useUser=rn,S.withErrorBoundary=Vn,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vidispine/vdt-react",
|
|
3
|
-
"version": "26.2.
|
|
3
|
+
"version": "26.2.3",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"format": "prettier . --check"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@vidispine/vdt-api": "26.2.
|
|
36
|
-
"@vidispine/vdt-js": "26.2.
|
|
35
|
+
"@vidispine/vdt-api": "26.2.3",
|
|
36
|
+
"@vidispine/vdt-js": "26.2.3",
|
|
37
37
|
"lodash.debounce": "4.0.8",
|
|
38
38
|
"lz-string": "1.5.0",
|
|
39
39
|
"react-cookie": "4.1.1",
|
|
@@ -43,9 +43,9 @@
|
|
|
43
43
|
"react": "16.0.0 || 17.0.0 || 18.0.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@vidispine/eslint-config-react": "26.2.
|
|
47
|
-
"@vidispine/eslint-config-storybook": "26.2.
|
|
48
|
-
"@vidispine/prettier-config": "26.2.
|
|
46
|
+
"@vidispine/eslint-config-react": "26.2.3",
|
|
47
|
+
"@vidispine/eslint-config-storybook": "26.2.3",
|
|
48
|
+
"@vidispine/prettier-config": "26.2.3",
|
|
49
49
|
"@vitejs/plugin-react": "4.2.1",
|
|
50
50
|
"axios-mock-adapter": "1.22.0",
|
|
51
51
|
"eslint": "8.55.0",
|