@vidispine/vdt-react 22.1.0-pre.1 → 22.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +55 -0
- package/dist/index.es.js +3 -0
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +23 -12
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/hooks/useApi.js","../src/hooks/useSearch.js","../src/hooks/useUpdateEffect.js","../src/hooks/useAutocomplete.js","../src/hooks/useSelected.js","../src/hooks/useTab.js","../src/hooks/useInterval.js","../src/hooks/useThumbnailScrub.js","../src/hooks/useJobSearch.js","../src/hooks/useLocalStorage.js","../src/utils.js","../src/hooks/useUploadFiles.js","../src/hooks/useQueryInitialState.js","../src/hooks/useUpdateQueryState.js","../src/hooks/useEntityAccess.js","../src/hooks/useAddMetadataFieldAttributes.js","../src/hooks/useSavedSearch.js","../src/hooks/useSearchItem.js","../src/hooks/useMouseDownPosition.js","../src/hooks/useGetCollection.js","../src/hooks/useGetCollectionItem.js","../src/hooks/useGetEntity.js","../src/hooks/useUser.js","../src/hooks/useSearchUser.js","../src/hooks/useListGroup.js","../src/hooks/useListUser.js","../src/hooks/useSearchGroup.js","../src/hooks/useGroup.js","../src/hooks/useGetItem.js","../src/hooks/useCollectionAutoPlay.js","../src/hooks/useHoverScrub.js","../src/hooks/useDocSearchAutocomplete.js","../src/hooks/useGetFieldMetadataDataset.js","../src/hooks/useGetSavedSearchFolders.js","../src/hooks/useRepresentativeItems.js","../src/hooks/useCsvDownload.js","../src/hooks/useCompoundMetadata.js","../src/wrappers/MetadataType.js","../src/wrappers/SearchCollection.js","../src/wrappers/SearchItem.js","../src/wrappers/SearchItemCollection.js","../src/wrappers/GetItem.js","../src/wrappers/GetCollection.js","../src/wrappers/GetJobs.js","../src/wrappers/ListEntityAccess.js","../src/wrappers/VidispineApi.js","../src/wrappers/Auth.js","../src/wrappers/ErrorBoundary.js","../src/wrappers/GetFieldGroup.js","../src/context/RolesContext.js","../src/wrappers/HasRole.js","../src/wrappers/ComposeProviders.js","../src/hoc/withErrorBoundary.js","../src/hoc/compose.js","../src/context/BinContext.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/prop-types/node_modules/react-is/index.js","../../../node_modules/object-assign/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../src/context/SettingsContext.js","../src/context/AuthContext.js","../src/moveEntity.js","../src/DropArea.js"],"sourcesContent":["import React from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nconst setDefaultState = (\n {\n hasLoaded = false,\n isLoading = true,\n isError = false,\n response = undefined,\n data = undefined,\n } = {},\n responseRef = undefined,\n) => ({\n isLoading,\n hasLoaded,\n isError,\n response,\n data: responseRef && responseRef.current ? responseRef.current : data,\n});\n\nconst apiReducer = (state, action) => {\n switch (action.type) {\n case 'START': {\n return {\n ...state,\n isLoading: true,\n isError: false,\n };\n }\n case 'SUCCESS': {\n const { responseType } = action.response;\n const newState = {\n isLoading: false,\n isError: false,\n hasLoaded: true,\n response: action.response,\n data: action.response.data,\n };\n if (responseType) newState[responseType] = action.response[responseType];\n return newState;\n }\n case 'ERROR': {\n return {\n isLoading: false,\n isError: true,\n hasLoaded: true,\n response: action.response,\n data: action.response.data,\n };\n }\n case 'RESET': {\n return {\n ...action.initialState,\n };\n }\n default: {\n return state;\n }\n }\n};\n\nexport default function useApi(apiHandler, initialState, responseRef) {\n const cancelToken = React.useRef(() => null);\n const initialDefaultState = setDefaultState(initialState, responseRef);\n const initialStateRef = React.useRef(initialDefaultState);\n const [state, dispatch] = React.useReducer(apiReducer, initialDefaultState);\n const request = React.useCallback(\n (props) => {\n dispatch({ type: 'START' });\n return new Promise((resolve, reject) => {\n apiHandler({\n canceltoken: new api.CancelToken((c) => {\n cancelToken.current = c;\n }),\n ...props,\n })\n .then((response) => {\n resolve(response);\n dispatch({ type: 'SUCCESS', response });\n // eslint-disable-next-line no-param-reassign\n if (responseRef) responseRef.current = response.data;\n })\n .catch((response) => {\n reject(response);\n dispatch({ type: 'ERROR', response });\n });\n });\n },\n [apiHandler, responseRef],\n );\n const reset = React.useCallback(\n () => dispatch({ type: 'RESET', initialState: initialStateRef.current }),\n [],\n );\n const cancel = React.useCallback(() => cancelToken.current(), []);\n React.useEffect(\n () => () => {\n cancel();\n reset();\n },\n [cancel, reset],\n );\n return {\n request,\n reset,\n cancel,\n ...state,\n };\n}\n","import React from 'react';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_SEARCHTEXT = 'CHANGE_SEARCHTEXT';\nconst CHANGE_SEARCHFIELD = 'CHANGE_SEARCHFIELD';\nconst CHANGE_SEARCHFIELDFACET = 'CHANGE_SEARCHFIELDFACET';\nconst CHANGE_SEARCHFILTER = 'CHANGE_SEARCHFILTER';\nconst CHANGE_SEARCHFILTERFACET = 'CHANGE_SEARCHFILTERFACET';\nconst CHANGE_PARENT_COLLECTION = 'CHANGE_PARENT_COLLECTION';\nconst CHANGE_FACET = 'CHANGE_FACET';\nconst CHANGE_ITEMSEARCHDOCUMENT = 'CHANGE_ITEMSEARCHDOCUMENT';\nconst CHANGE_QUERYPARAMS = 'CHANGE_QUERYPARAMS';\nconst CHANGE_MATRIXPARAMS = 'CHANGE_MATRIXPARAMS';\nconst CHANGE_SUGGESTION = 'CHANGE_SUGGESTION';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_SEARCHTEXT,\n CHANGE_SEARCHFIELD,\n CHANGE_SEARCHFIELDFACET,\n CHANGE_SEARCHFILTER,\n CHANGE_SEARCHFILTERFACET,\n CHANGE_PARENT_COLLECTION,\n CHANGE_FACET,\n CHANGE_ITEMSEARCHDOCUMENT,\n CHANGE_QUERYPARAMS,\n CHANGE_MATRIXPARAMS,\n CHANGE_SUGGESTION,\n};\n\nconst setInitialDefaultState = ({\n queryParams = {},\n matrixParams = {},\n itemSearchDocument = {},\n rowsPerPage = 10,\n page = 0,\n ...state\n} = {}) => ({\n ...state,\n queryParams: {\n content: 'metadata',\n interval: 'generic',\n ...queryParams,\n },\n matrixParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...matrixParams,\n },\n itemSearchDocument: {\n intervals: 'generic',\n filter: [],\n ...itemSearchDocument,\n },\n rowsPerPage,\n page,\n});\n\nconst searchReducer = (state, action) => {\n switch (action.type) {\n case ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT: {\n return {\n ...state,\n itemSearchDocument: action.itemSearchDocument,\n };\n }\n case ACTION_TYPE.CHANGE_QUERYPARAMS: {\n return {\n ...state,\n queryParams: action.queryParams,\n };\n }\n case ACTION_TYPE.CHANGE_MATRIXPARAMS: {\n return {\n ...state,\n matrixParams: action.matrixParams,\n };\n }\n case ACTION_TYPE.CHANGE_PAGE: {\n return {\n ...state,\n page: action.page,\n matrixParams: {\n ...state.matrixParams,\n first: action.page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n return {\n ...state,\n rowsPerPage: action.rowsPerPage,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n number: action.rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SORT: {\n return {\n ...state,\n page: 0,\n searchText: action.value,\n sort: action.value,\n itemSearchDocument: {\n ...state.itemSearchDocument,\n sort: action.field\n ? [\n {\n field: action.field,\n order: action.order || 'descending',\n },\n ]\n : [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHTEXT: {\n return {\n ...state,\n page: 0,\n searchText: action.value,\n itemSearchDocument: action.value\n ? {\n ...state.itemSearchDocument,\n text: [{ value: `${action.value}` }],\n }\n : {\n ...state.itemSearchDocument,\n text: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFIELD: {\n return {\n ...state,\n page: 0,\n field: action.field,\n itemSearchDocument: action.field\n ? {\n ...state.itemSearchDocument,\n field: action.field,\n }\n : {\n ...state.itemSearchDocument,\n field: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFIELDFACET: {\n return {\n ...state,\n page: 0,\n field: action.field,\n facet: action.facet,\n itemSearchDocument: action.field\n ? {\n ...state.itemSearchDocument,\n field: action.field,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n field: [],\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFILTER: {\n return {\n ...state,\n page: 0,\n filter: action.filter,\n itemSearchDocument: action.filter\n ? {\n ...state.itemSearchDocument,\n filter: action.filter,\n }\n : {\n ...state.itemSearchDocument,\n filter: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFILTERFACET: {\n return {\n ...state,\n page: 0,\n filter: action.filter,\n itemSearchDocument: action.filter\n ? {\n ...state.itemSearchDocument,\n filter: action.filter,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n filter: [],\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_FACET: {\n return {\n ...state,\n page: 0,\n facet: action.facet,\n itemSearchDocument: action.facet\n ? {\n ...state.itemSearchDocument,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_PARENT_COLLECTION: {\n return {\n ...state,\n page: 0,\n parentCollection: action.value,\n itemSearchDocument: action.value\n ? {\n ...state.itemSearchDocument,\n operator: {\n field: [\n { name: '__parent_collection', value: [{ value: `${action.value}` }] },\n { name: '__collection', value: [{ value: `${action.value}` }] },\n ],\n operation: 'OR',\n },\n }\n : {\n ...state.itemSearchDocument,\n operator: undefined,\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SUGGESTION: {\n return {\n ...state,\n itemSearchDocument: {\n ...state.itemSearchDocument,\n suggestion: action.suggestion,\n },\n };\n }\n default: {\n return state;\n }\n }\n};\n\nexport default function useSearch(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = React.useReducer(searchReducer, initialDefaultState);\n\n const onChangeRowsPerPage = ({ target: { value: newRows } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage: newRows,\n });\n\n const onChangePage = ({ page: newPage }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page: newPage,\n });\n\n const onChangeSort = (event, field, order) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field,\n order,\n });\n\n const setSearchText = React.useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHTEXT,\n value,\n }),\n [],\n );\n\n const setItemSearchDocument = React.useCallback(\n (itemSearchDocument) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT,\n itemSearchDocument,\n }),\n [],\n );\n\n const setQueryParams = React.useCallback(\n (queryParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMQUERYPARAMS,\n queryParams,\n }),\n [],\n );\n\n const setMatrixParams = React.useCallback(\n (matrixParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMMATRIXPARAMS,\n matrixParams,\n }),\n [],\n );\n\n const setSearchField = React.useCallback(\n (field) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFIELD,\n field,\n }),\n [],\n );\n\n const setSearchFieldFacet = React.useCallback((field) => {\n const facet = field.map(({ name }) => ({ field: name, count: true }));\n dispatch({ type: ACTION_TYPE.CHANGE_SEARCHFIELDFACET, field, facet });\n }, []);\n\n const setSearchFilter = React.useCallback(\n (filter) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFILTER,\n filter,\n }),\n [],\n );\n\n const setSearchFilterFacet = React.useCallback(\n (filter) => {\n const fieldList = filter.reduce((a, { field = [] }) => a.concat(field), []);\n const facet = fieldList.map(({ name }) => ({\n name,\n field: name,\n count: true,\n exclude: [name],\n }));\n dispatch({ type: ACTION_TYPE.CHANGE_SEARCHFILTERFACET, filter, facet });\n },\n [dispatch],\n );\n\n const setFacet = React.useCallback(\n (facet) => {\n dispatch({ type: ACTION_TYPE.CHANGE_FACET, facet });\n },\n [dispatch],\n );\n\n const setParentCollection = React.useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PARENT_COLLECTION,\n value,\n }),\n [],\n );\n\n const setSuggestion = React.useCallback((suggestion) => {\n dispatch({ type: ACTION_TYPE.CHANGE_SUGGESTION, suggestion });\n }, []);\n\n return {\n state,\n onChangeRowsPerPage,\n onChangePage,\n onChangeSort,\n setSearchText,\n setSearchField,\n setSearchFieldFacet,\n setSearchFilter,\n setSearchFilterFacet,\n setFacet,\n setItemSearchDocument,\n setQueryParams,\n setMatrixParams,\n setParentCollection,\n setSuggestion,\n };\n}\n","import React from 'react';\n\nexport default function useUpdateEffect(fn, inputs) {\n const hasMountedRef = React.useRef(false);\n React.useEffect(() => {\n if (hasMountedRef.current) {\n fn();\n } else {\n hasMountedRef.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, inputs);\n}\n","import React from 'react';\n\nimport { search as SearchApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\nimport useUpdateEffect from './useUpdateEffect';\n\nconst setInitialDefaultState = ({\n field = undefined,\n text = '',\n maximumSuggestions = 10,\n} = {}) => ({\n field,\n text,\n maximumSuggestions,\n});\n\nexport default function useAutocomplete(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [autocompleteDoc, setAutocompleteDoc] = React.useState(initialDefaultState);\n\n const setAutocompleteField = React.useCallback((field, text = '') => {\n setAutocompleteDoc((state) => ({ ...state, field, text }));\n }, []);\n\n const setAutocompleteText = React.useCallback((text) => {\n setAutocompleteDoc((state) => ({ ...state, text }));\n }, []);\n\n const setAutocompleteMaxSuggestions = React.useCallback((maximumSuggestions) => {\n setAutocompleteDoc((state) => ({ ...state, maximumSuggestions }));\n }, []);\n\n const { request: searchAutoComplete, data: { suggestion: suggestions = [] } = {} } = useApi(\n SearchApi.searchAutoComplete,\n );\n\n useUpdateEffect(() => {\n searchAutoComplete({ autocompleteRequestDocument: autocompleteDoc });\n }, [autocompleteDoc]);\n\n return {\n suggestions,\n setAutocompleteField,\n setAutocompleteText,\n setAutocompleteMaxSuggestions,\n };\n}\n","import React from 'react';\n\nexport default (propKey = 'id', initialState = []) => {\n const [selected, setSelected] = React.useState(initialState);\n const onSelect = (event, checked, props) => {\n const propValue = props[propKey];\n const currentIndex = selected.findIndex((thisSelected) => thisSelected[propKey] === propValue);\n if (currentIndex === -1 && checked === true) {\n if (checked === true) {\n setSelected([...selected, props]);\n }\n } else if (currentIndex > -1 && checked === false) {\n const newSelected = [...selected];\n newSelected.splice(currentIndex, 1);\n setSelected(newSelected);\n }\n };\n const isSelected = (props) => {\n const propValue = props[propKey];\n const currentIndex = selected.findIndex((thisSelected) => thisSelected[propKey] === propValue);\n return currentIndex > -1;\n };\n const onClear = () => setSelected([]);\n return {\n selected,\n onSelect,\n onClear,\n isSelected,\n };\n};\n","import React from 'react';\n\nexport default (initialTab) => {\n const [activeTab, setActiveTab] = React.useState(initialTab);\n const changeTab = (_, newValue) => setActiveTab(newValue);\n return { activeTab, changeTab };\n};\n","import React from 'react';\n\nexport default function useInterval(callback, delay) {\n const savedCallback = React.useRef();\n\n React.useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n React.useEffect(() => {\n const tick = () => savedCallback.current();\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }, [delay]);\n}\n","import React from 'react';\n\nexport default function useThumbnailScrub(srcList = []) {\n const savedInterval = React.useRef();\n const initialImgIdx = React.useMemo(() => Math.floor(srcList.length / 2), [srcList]);\n const [imgIdx, setImgIdx] = React.useState();\n const imgIdxRef = React.useRef(imgIdx);\n React.useEffect(() => () => savedInterval.current && clearInterval(savedInterval.current), []);\n if (srcList.length === 0) return { width: 0 };\n\n imgIdxRef.current = imgIdx;\n const onMouseEnter = () => {\n const delay = 500;\n const tick = () => {\n if (imgIdxRef.current === undefined) {\n setImgIdx(0);\n } else if (imgIdxRef.current === srcList.length - 1) {\n clearInterval(savedInterval.current);\n } else {\n setImgIdx(imgIdxRef.current + 1);\n }\n };\n savedInterval.current = setInterval(tick, delay);\n };\n const onMouseLeave = () => {\n setImgIdx();\n clearInterval(savedInterval.current);\n };\n const imageSrc = srcList[imgIdx === undefined ? initialImgIdx : imgIdx];\n const width = imgIdx === undefined ? 0 : `${Math.floor((imgIdx / (srcList.length - 1)) * 100)}%`;\n return {\n imageSrc,\n onMouseEnter,\n onMouseLeave,\n width,\n };\n}\n","import React from 'react';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_TYPE = 'CHANGE_TYPE';\nconst CHANGE_STATE = 'CHANGE_STATE';\nconst CHANGE_PRIORITY = 'CHANGE_PRIORITY';\nconst CHANGE_STARTTIME = 'CHANGE_STARTTIME';\nconst CHANGE_FINISHTIME = 'CHANGE_FINISHTIME';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_TYPE,\n CHANGE_STATE,\n CHANGE_PRIORITY,\n CHANGE_STARTTIME,\n CHANGE_FINISHTIME,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, matrixParams = {} } = {}) => ({\n queryParams,\n matrixParams: {\n first: 1,\n number: 10,\n ...matrixParams,\n },\n rowsPerPage: 10,\n page: 0,\n jobMetadata: [],\n});\n\nconst searchReducer = (state, action) => {\n const { type, ...rest } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page = 0 } = action;\n const { rowsPerPage = 10 } = state;\n return {\n ...state,\n page,\n matrixParams: {\n ...state.matrixParams,\n first: page * rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SORT: {\n const { field, order = 'desc' } = action;\n return {\n ...state,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n sort: `${field} ${order}`,\n },\n };\n }\n case ACTION_TYPE.CHANGE_TYPE:\n case ACTION_TYPE.CHANGE_STATE:\n case ACTION_TYPE.CHANGE_PRIORITY: {\n const { field, value = [] } = rest;\n let matrixParams;\n if (!value) {\n const { [field]: deleteField, ...newMatrixParams } = state.matrixParams;\n matrixParams = { ...newMatrixParams, first: 1 };\n } else {\n matrixParams = {\n ...state.matrixParams,\n first: 1,\n [field]: Array.isArray(value) ? value.join(',') : value,\n };\n }\n return {\n ...state,\n page: 0,\n matrixParams,\n };\n }\n case ACTION_TYPE.CHANGE_STARTTIME:\n case ACTION_TYPE.CHANGE_FINISHTIME: {\n const { field, value = [] } = rest;\n let queryParams;\n if (!value) {\n const { [field]: deleteField, ...newQueryParams } = state.queryParams;\n queryParams = { ...newQueryParams, first: 1 };\n } else {\n queryParams = {\n ...state.queryParams,\n first: 1,\n [field]: value,\n };\n }\n return {\n ...state,\n page: 0,\n queryParams,\n };\n }\n case ACTION_TYPE.CHANGE_JOBMETADATA: {\n const { field, value = [] } = rest;\n let queryParams;\n if (!value.length) {\n const { [field]: deleteField, ...newQueryParams } = state.queryParams;\n queryParams = { ...newQueryParams, first: 1 };\n } else {\n queryParams = {\n ...state.queryParams,\n first: 1,\n [field]: value,\n };\n }\n return {\n ...state,\n page: 0,\n queryParams,\n jobMetadata: value,\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useJobSearch(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = React.useReducer(searchReducer, initialDefaultState);\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeType = ({ field = [] }) => {\n const [{ name = 'type', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_TYPE,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeState = ({ field = [] }) => {\n const [{ name = 'state', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_STATE,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangePriority = ({ field = [] }) => {\n const [{ name = 'priority', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_PRIORITY,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeStarttime = ({ field = [] }) => {\n const [{ name = 'starttime-from', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_STARTTIME,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeFinishtime = ({ field = [] }) => {\n const [{ name = 'finishtime-from', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_FINISHTIME,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeJobmetadata = (value) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_JOBMETADATA,\n field: 'jobmetadata',\n value,\n });\n };\n return {\n state,\n onChangePage,\n onChangeSort,\n onChangeType,\n onChangeState,\n onChangePriority,\n onChangeStarttime,\n onChangeFinishtime,\n onChangeRowsPerPage,\n onChangeJobmetadata,\n };\n}\n","import React from 'react';\n\nconst useLocalStorage = (localStorageKey, defaultValue) => {\n const [value, setValue] = React.useState(\n JSON.parse(window.localStorage.getItem(localStorageKey) || JSON.stringify(defaultValue)),\n );\n\n React.useEffect(() => {\n window.localStorage.setItem(localStorageKey, JSON.stringify(value));\n }, [localStorageKey, value]);\n\n const getValue = () => JSON.parse(window.localStorage.getItem(localStorageKey));\n\n return [value, setValue, getValue];\n};\n\nexport default useLocalStorage;\n","import { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from 'lz-string';\n\nexport function uuidv4() {\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n // eslint-disable-next-line\n (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16));\n}\n\nexport function b64EncodeUnicode(str) {\n return compressToEncodedURIComponent(str);\n}\n\nexport function b64DecodeUnicode(str) {\n // fallback for old base64 encoded links\n return str.slice(-1) === '='\n ? decodeURIComponent(\n atob(str)\n .split('')\n .map((c) => `%${`00${c.charCodeAt(0).toString(16)}`.slice(-2)}`)\n .join(''),\n )\n : decompressFromEncodedURIComponent(str);\n}\n","import React from 'react';\n\nimport {\n vsimport as ImportApi,\n ChunkedUpload,\n collection as CollectionApi,\n} from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nimport { uuidv4 } from '../utils';\n\nconst DEFAULT_AUDIO_SHAPETAGS = ['__mp3_160k'];\nconst DEFAULT_VIDEO_SHAPETAGS = ['__mp4'];\nconst DEFAULT_IMAGE_SHAPETAGS = ['__png'];\nconst AUDIO_MIMETYPE_PREFIX = 'audio';\nconst VIDEO_MIMETYPE_PREFIX = 'video';\nconst IMAGE_MIMETYPE_PREFIX = 'image';\nconst ADDITIONAL_VIDEO_MIMETYPES = ['application/mxf'];\nconst ADDITIONAL_IMAGE_MIMETYPES = [];\nconst ADDITIONAL_AUDIO_MIMETYPES = [];\n\nconst getDefaultShapeTags = (file) => {\n if (!file || !file.type) return [];\n const mimeType = file.type.toLowerCase();\n if (mimeType.startsWith(AUDIO_MIMETYPE_PREFIX) || ADDITIONAL_AUDIO_MIMETYPES.includes(mimeType))\n return DEFAULT_AUDIO_SHAPETAGS;\n if (mimeType.startsWith(VIDEO_MIMETYPE_PREFIX) || ADDITIONAL_VIDEO_MIMETYPES.includes(mimeType))\n return DEFAULT_VIDEO_SHAPETAGS;\n if (mimeType.startsWith(IMAGE_MIMETYPE_PREFIX) || ADDITIONAL_IMAGE_MIMETYPES.includes(mimeType))\n return DEFAULT_IMAGE_SHAPETAGS;\n return [];\n};\n\nconst chunkedUpload = (file, props = {}) =>\n new Promise((resolve, reject) => {\n const uploadInstance = new ChunkedUpload(file, {\n onFail: (error) => reject(error),\n onComplete: (resp) => resolve(resp),\n ...props,\n });\n uploadInstance.upload();\n });\n\nconst onUploadFile = ({\n file,\n collectionId,\n onProgress,\n metadata: propsMetadata = {},\n placeholderParams = {},\n importParams = {},\n chunkedUploadProps = {},\n generateTransferId = uuidv4,\n getShapeTags = getDefaultShapeTags,\n}) =>\n new Promise((resolve, reject) => {\n try {\n let itemId;\n onProgress({});\n const shapeTags = getShapeTags(file);\n const filename = file.name;\n const mimeType = file.type;\n const [mediaType] = mimeType.split('/');\n const metadata = {\n originalFilename: filename,\n mimeType,\n mediaType,\n ...propsMetadata,\n };\n const metadataDocument = createMetadataType(metadata);\n ImportApi.createImportPlaceholder({\n metadataDocument,\n queryParams: {\n container: 1,\n ...placeholderParams,\n },\n })\n .then(({ data: itemDocument }) => {\n itemId = itemDocument.id;\n if (!collectionId) return Promise.resolve();\n const collectionIds = Array.isArray(collectionId) ? collectionId : [collectionId];\n return Promise.all(\n collectionIds.map((id) =>\n CollectionApi.addCollectionEntity({\n collectionId: id,\n entityId: itemId,\n }),\n ),\n );\n })\n .then(() => {\n const transferId = generateTransferId();\n const queryParams = {\n filename,\n transferId,\n tag: shapeTags,\n ...importParams,\n };\n return chunkedUpload(file, {\n api: {\n method: ImportApi.createImportComponentRaw,\n props: {\n itemId,\n component: 'container',\n queryParams,\n },\n },\n onProgress,\n ...chunkedUploadProps,\n });\n })\n .then((response) => {\n resolve({ ...response, itemId, collectionId });\n })\n .catch((error) => reject(error));\n } catch (err) {\n /* eslint-disable-next-line no-console */\n console.error(err);\n reject(err);\n }\n });\n\nfunction useUploadFiles({\n onUploadFile: handleUploadFile = onUploadFile,\n initialMetadata = {},\n ...props\n}) {\n const [files, setFiles] = React.useState([]);\n React.useEffect(\n () => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach((file) => URL.revokeObjectURL(file.preview));\n },\n [files],\n );\n const onAddFiles = React.useCallback(\n (newFiles = []) => {\n const newFilesObj = newFiles.map((file) => ({\n file,\n metadata: { title: file.name, ...initialMetadata },\n }));\n setFiles((currentFiles) => newFilesObj.concat(currentFiles));\n },\n [initialMetadata],\n );\n const onChangeFile = React.useCallback(\n (idx, changeFile = {}) => {\n setFiles((currentFilesList) => {\n const currentFile = currentFilesList[idx];\n const { metadata: newMetadata, progress: newProgress } = changeFile;\n const { metadata: currentMetadata = {}, progress: currentProgress = {} } = currentFile;\n const newFilesList = [...currentFilesList];\n const newFile = { ...currentFile };\n if (newMetadata) newFile.metadata = { ...currentMetadata, ...newMetadata };\n if (newProgress) newFile.progress = { ...currentProgress, ...newProgress };\n newFilesList[idx] = newFile;\n return newFilesList;\n });\n },\n [setFiles],\n );\n const onChangeProgress = React.useCallback(\n (idx) =>\n (newProgress = {}) => {\n onChangeFile(idx, { progress: newProgress });\n },\n [onChangeFile],\n );\n const onChangeMetadata = React.useCallback(\n (idx) =>\n (newMetadata = {}) => {\n onChangeFile(idx, { metadata: newMetadata });\n },\n [onChangeFile],\n );\n const onUpload = React.useCallback(\n (uploadProps) =>\n files.reduce(\n (previousPromise, thisFile, idx) =>\n previousPromise.then((res) => {\n if (thisFile.progress) {\n return previousPromise;\n }\n return handleUploadFile({\n file: thisFile.file,\n onProgress: onChangeProgress(idx),\n metadata: thisFile.metadata,\n ...uploadProps,\n ...props,\n }).then((currentResult) => [...res, currentResult]);\n }),\n Promise.resolve([]),\n ),\n [files, handleUploadFile, onChangeProgress, props],\n );\n\n const onRemoveFile = React.useCallback(\n (idx) => () => {\n setFiles([...files].filter((_, i) => i !== idx));\n },\n [setFiles, files],\n );\n\n const onRemoveFiles = React.useCallback(\n (idxs) => () => {\n setFiles([...files].filter((_, i) => !idxs.includes(i)));\n },\n [setFiles, files],\n );\n\n return {\n onAddFiles,\n onChangeFile,\n onChangeMetadata,\n onUpload,\n onRemoveFile,\n onRemoveFiles,\n files,\n setFiles,\n };\n}\n\nexport default useUploadFiles;\n","import React from 'react';\n\nimport { b64DecodeUnicode } from '../utils';\n\n// react-router-dom <6 use history & >=6 use navigate+location\n// TODO: change to expose \"onNavigate\" and take in \"path\" and \"search\" strings\nexport default function useQueryInitialState({\n history,\n navigate,\n location: propLocation,\n queryName = 'q',\n defaultState = undefined,\n}) {\n const defaultStateRef = React.useRef(defaultState);\n const queryState = React.useMemo(() => {\n const { location = propLocation } = history || {};\n const searchParams = new URLSearchParams(location.search);\n const encodedQuery = searchParams.get(queryName);\n if (!encodedQuery) {\n return defaultStateRef.current;\n }\n try {\n const decodedQuery = b64DecodeUnicode(encodedQuery);\n return JSON.parse(decodedQuery);\n } catch (error) {\n if (history) {\n history.replace({ pathName: history.location.pathName, search: '' });\n } else if (navigate) {\n navigate(location.pathName, { replace: true });\n }\n }\n return undefined;\n }, [history, navigate, propLocation, queryName]);\n\n return { queryInitialState: queryState };\n}\n","import React from 'react';\n\nimport { b64EncodeUnicode } from '../utils';\n\nimport useUpdateEffect from './useUpdateEffect';\n\n// react-router-dom <6 use history & >=6 use navigate+location\n// TODO: change to expose \"onNavigate\" and take in \"path\" and \"search\" strings\nexport default function useUpdateQueryState({\n history,\n navigate,\n location: propLocation,\n state,\n queryName = 'q',\n}) {\n const onSearchStateChange = React.useCallback(() => {\n const { location = propLocation } = history || {};\n const encodedQuery = b64EncodeUnicode(JSON.stringify(state));\n if (history) {\n history.replace({\n pathName: location.pathName,\n search: `?${queryName}=${encodedQuery}`,\n });\n } else if (navigate) {\n navigate(`${location.pathName}?${queryName}=${encodedQuery}`, { replace: true });\n }\n }, [history, navigate, propLocation, queryName, state]);\n\n // Don't need to set query on mount\n useUpdateEffect(() => {\n onSearchStateChange(state);\n }, [onSearchStateChange, state]);\n}\n","import { useCallback } from 'react';\n\nimport { access as AccessApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useEntityAccess = ({ entityId, entityType }) => {\n const {\n request: listEntityAccess,\n data: accessControlList = {},\n isLoading,\n } = useApi(AccessApi.listEntityAccess);\n const onList = useCallback(\n (props = {}) =>\n listEntityAccess({\n entityId,\n entityType,\n ...props,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [entityId, entityType],\n );\n const onRemove = useCallback(\n ({ accessId, ...props }) =>\n AccessApi.removeEntityAccess({\n accessId,\n entityId,\n entityType,\n ...props,\n }),\n [entityId, entityType],\n );\n const onAdd = useCallback(\n ({ accessControlDocument, ...props }) =>\n AccessApi.createEntityAccess({\n entityType,\n entityId,\n accessControlDocument,\n ...props,\n }),\n [entityId, entityType],\n );\n return {\n accessControlList,\n isLoading,\n onList,\n onRemove,\n onAdd,\n };\n};\n\nexport default useEntityAccess;\n","import React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { metadatafield as MetadataFieldApi, fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nconst getValueFromData = ({ data = [] } = {}, key = undefined) => {\n if (!key) return undefined;\n const { value } = data.find((d) => d.key === key) || {};\n return value;\n};\n\nconst defaultGetDataAttributes = (fieldOrGroup, keys) => {\n return Object.assign(\n {},\n ...keys.map((key) => {\n return {\n [key]: getValueFromData(fieldOrGroup, key),\n };\n }),\n );\n};\n\nconst getOptions = ({ values: { field } = {} } = {}) => {\n return field ? field.map((f) => ({ value: f.value, label: f.key || f.value })) : undefined;\n};\n\nconst convertValuesXmlToJson = (xmlString) => {\n const doc = new DOMParser().parseFromString(xmlString, 'application/xml');\n const fields = doc.getElementsByTagName('field');\n if (!fields.length) {\n return undefined;\n }\n const json = { field: [] };\n for (let i = 0; i < fields.length; i += 1) {\n const [keyNode, valueNode] = fields[i].childNodes;\n json.field.push({\n [keyNode.nodeName]: keyNode.firstChild.nodeValue,\n [valueNode.nodeName]: valueNode.firstChild.nodeValue,\n });\n }\n return json;\n};\n\nconst useAddMetadataFieldAttributes = ({\n fields,\n groups,\n getDataAttributes = defaultGetDataAttributes,\n fieldDataToInclude = 'label,displayType,required',\n groupDataToInclude = 'label,order',\n fieldQueryParams = {},\n groupQueryParams = {},\n}) => {\n const [isLoading, setIsLoading] = React.useState(false);\n const [fieldsWithAttributes, setFieldsWithAttributes] = React.useState(fields);\n const [groupsWithAttributes, setGroupsWithAttributes] = React.useState(groups);\n\n useDeepCompareEffect(() => {\n const addFieldAttributes = (fieldsArray = [], fieldsAttributes = {}) =>\n fieldsArray.map(({ name, ...overrides }) => {\n const fieldAttributes = fieldsAttributes[name] || {};\n const { label, ...dataAttributes } = getDataAttributes(\n fieldAttributes,\n fieldDataToInclude.split(','),\n );\n return {\n name,\n label: label || name,\n type: fieldAttributes.type,\n constraint: fieldAttributes.constraint,\n options: getOptions(fieldAttributes),\n ...dataAttributes,\n ...overrides,\n };\n });\n\n const addGroupAttributes = (groupsArray = [], groupsAttributes = {}, fieldsAttributes = {}) =>\n groupsArray.map(({ name, field, group, ...overrides }) => {\n const groupAttributes = groupsAttributes[name] || {};\n const childFields = field || (groupAttributes && groupAttributes.field);\n const childGroups = group || (groupAttributes && groupAttributes.group);\n const { label, ...dataAttributes } = getDataAttributes(\n groupAttributes,\n groupDataToInclude.split(','),\n );\n return {\n name,\n label: label || name,\n order: getValueFromData(groupAttributes, 'order'),\n fields: addFieldAttributes(childFields, fieldsAttributes),\n groups: addGroupAttributes(childGroups, groupsAttributes, fieldsAttributes),\n ...dataAttributes,\n ...overrides,\n };\n });\n let didCancel = false;\n async function fetchAttributesAsync() {\n setIsLoading(true);\n const fieldsAttributes = {};\n const groupsAttributes = {};\n let fieldPromises = [];\n if (fields) {\n const queryParams = { ...fieldQueryParams, data: fieldDataToInclude };\n fieldPromises = fields.map(async ({ name: fieldName }) => {\n try {\n const { data } = await MetadataFieldApi.getMetadataField({\n fieldName,\n queryParams,\n });\n fieldsAttributes[fieldName] = data;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not retrieve attributes for ${fieldName}`);\n }\n });\n }\n let groupPromises = [];\n if (groups) {\n const groupsToFetch = [...groups];\n const queryParams = { ...groupQueryParams, data: groupDataToInclude };\n groupPromises = groupsToFetch.map(async ({ name: groupName }) => {\n try {\n const { data } = await FieldGroupApi.getFieldGroup({\n groupName,\n queryParams,\n });\n const { field = [], group = [] } = data;\n field.forEach((f) => {\n const dataValues = f.data && f.data.find((e) => e.key === '__values');\n if (dataValues) {\n const jsonValues = convertValuesXmlToJson(dataValues.value);\n fieldsAttributes[f.name] = { ...f, values: jsonValues };\n }\n });\n group.forEach((g) => {\n groupsToFetch.push(g);\n });\n groupsAttributes[groupName] = data;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not retrieve attributes for ${groupName}`);\n }\n });\n }\n await Promise.all([...fieldPromises, ...groupPromises]);\n if (!didCancel) {\n if (Object.values(fieldsAttributes).some((v) => v)) {\n setFieldsWithAttributes(() => addFieldAttributes(fields, fieldsAttributes));\n }\n if (Object.values(groupsAttributes).some((v) => v)) {\n setGroupsWithAttributes(() => {\n const newGroupsWithAttributes = addGroupAttributes(\n groups,\n groupsAttributes,\n fieldsAttributes,\n );\n newGroupsWithAttributes.forEach((group) => {\n const { order } = group;\n if (order) {\n group.fields.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n }\n });\n return newGroupsWithAttributes;\n });\n }\n setIsLoading(false);\n }\n }\n fetchAttributesAsync();\n return () => {\n didCancel = true;\n };\n }, [fields, groups, fieldDataToInclude, groupDataToInclude, fieldQueryParams, groupQueryParams]);\n\n return { fieldsWithAttributes, groupsWithAttributes, isLoading };\n};\n\nexport default useAddMetadataFieldAttributes;\n","import React from 'react';\n\nimport {\n library as LibraryApi,\n item as ItemApi,\n collection as CollectionApi,\n} from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nimport useSearch from './useSearch';\n\n// Has to be set so that the library isn't auto-deleted\nconst UPDATE_FREQUENCY = 1000;\n\n// Prevents access controls set on the library (i.e. saved search) from cascading down to items\nconst UPDATE_MODE = 'TRANSIENT';\n\nfunction saveSearch({ metadata, markerField, markerValue, itemSearchDocument }) {\n return ItemApi.searchItem({\n queryParams: {\n result: 'library',\n updateMode: UPDATE_MODE,\n updateFrequency: UPDATE_FREQUENCY,\n },\n itemSearchDocument,\n }).then(({ data: { library } }) =>\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: markerField\n ? createMetadataType({\n [markerField]: markerValue || library,\n ...metadata,\n })\n : metadata,\n content: [\n {\n id: library,\n type: 'library',\n },\n ],\n },\n }),\n );\n}\n\nconst getLibraryFromCollection = ({ collectionId }) =>\n new Promise((resolve, reject) => {\n CollectionApi.getCollection({ collectionId, queryParams: { children: 'library' } }).then(\n ({ data: collectionType }) => {\n const { content = [] } = collectionType;\n const [libraryType] = content;\n if (!libraryType) reject(new Error('No Libraries'));\n resolve(libraryType);\n },\n );\n });\n\nconst deleteSearch = ({ collectionId }) =>\n getLibraryFromCollection({ collectionId }).then(({ id: libraryId }) =>\n Promise.all([\n LibraryApi.removeLibrary({ libraryId }),\n CollectionApi.removeCollection({ collectionId }),\n ]),\n );\n\nfunction getLibrarySettings({ libraryId }) {\n return new Promise((resolve) => {\n LibraryApi.getLibrarySettings({ libraryId }).then(({ data: { query } }) => {\n resolve(query);\n });\n });\n}\n\nconst getSavedSearchSettings = ({ collectionId }) =>\n new Promise((resolve) => {\n getLibraryFromCollection({ collectionId })\n .then(({ id: libraryId }) => getLibrarySettings({ libraryId }))\n .then(resolve);\n });\n\nexport default function useSavedSearch({\n markerField,\n markerValue,\n initialSearchState,\n onSaveSearch = saveSearch,\n onDeleteSearch = deleteSearch,\n onUpdateSearchMetadata = CollectionApi.updateCollectionMetadata,\n onGetSavedSearchSettings = getSavedSearchSettings,\n}) {\n const saveSearchWithMarker = React.useCallback(\n ({ metadata, itemSearchDocument }) =>\n onSaveSearch({\n metadata,\n markerField,\n markerValue,\n itemSearchDocument,\n }),\n [markerField, markerValue, onSaveSearch],\n );\n\n const mergeMarkerField = (itemSearchDocument = {}) => ({\n ...itemSearchDocument,\n operator: {\n field: [\n {\n name: markerField,\n value: [{ value: markerValue || '*' }],\n },\n ],\n operator: itemSearchDocument.operator ? [itemSearchDocument.operator] : [],\n operation: 'AND',\n },\n });\n\n const searchProps = useSearch({\n ...initialSearchState,\n itemSearchDocument: mergeMarkerField(),\n });\n\n const { setItemSearchDocument, ...props } = searchProps;\n\n return {\n onSaveSearch: saveSearchWithMarker,\n onDeleteSearch,\n onUpdateSearchMetadata,\n onGetSavedSearchSettings,\n searchProps: {\n setItemSearchDocument: (itemSearchDocument) =>\n setItemSearchDocument(mergeMarkerField(itemSearchDocument)),\n ...props,\n },\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useSearchItem({ itemSearchDocument, queryParams, matrixParams }) {\n const { request, data: itemListType = {}, isLoading, isError } = useApi(ItemApi.searchItem);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n return {\n itemListType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import React from 'react';\n\nexport const useMouseDownPosition = () => {\n const [position, setPosition] = React.useState({ x: 0, y: 0 });\n\n React.useEffect(() => {\n const setFromEvent = (e) => setPosition({ x: e.clientX, y: e.clientY });\n window.addEventListener('mousedown', setFromEvent);\n\n return () => {\n window.removeEventListener('mousedown', setFromEvent);\n };\n }, []);\n\n return position;\n};\n\nexport default useMouseDownPosition;\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetCollection({\n collectionId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const {\n request,\n data: collectionType = {},\n isLoading,\n isError,\n } = useApi(CollectionApi.getCollection);\n const onRefresh = () => request({ collectionId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [collectionId, queryParams]);\n return {\n collectionType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetCollection({\n collectionId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const { request, data: itemListType = {} } = useApi(CollectionApi.getCollectionItem);\n const onRefresh = () => request({ collectionId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [collectionId, queryParams]);\n return {\n itemListType,\n onRefresh,\n };\n}\n","import React from 'react';\n\nimport {\n item as ItemApi,\n collection as CollectionApi,\n library as LibraryApi,\n} from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\n/**\n * Get Entity by id and type\n * @param {Object} object - Entity information object\n * @param {string} object.entityId - Entity id\n * @param {string} object.entityType - Entity type, [\"item\", \"collection\", \"library\"]\n * @throws Throws error if unsupported type\n * @returns {Object} Entity retrieved from VS\n */\nconst useGetEntity = ({ entityId, entityType }) => {\n let dataType;\n let entityApi;\n let entityTypeId;\n switch (entityType) {\n case 'collection':\n dataType = 'collectionType';\n entityTypeId = 'collectionId';\n entityApi = CollectionApi.getCollection;\n break;\n case 'library':\n dataType = 'libraryType';\n entityTypeId = 'libraryId';\n entityApi = LibraryApi.getLibrary;\n break;\n case 'item':\n dataType = 'itemType';\n entityTypeId = 'itemId';\n entityApi = ItemApi.getItem;\n break;\n default:\n throw new Error(`unknown entityType`);\n }\n const { request, data, ...apiProps } = useApi(entityApi);\n const onGetEntity = React.useCallback(\n (props) => request({ [entityTypeId]: entityId, ...props }),\n [entityId, entityTypeId, request],\n );\n return {\n [dataType]: data,\n [entityTypeId]: entityId,\n onGetEntity,\n ...apiProps,\n };\n};\n\nexport default useGetEntity;\n","import React from 'react';\n\nimport { user as UserApi, group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useUser(initialState) {\n const { data: userType, request } = useApi(UserApi.getUser, { data: initialState });\n const { userName } = userType || {};\n const getUser = React.useCallback(() => request({ userName }), [request, userName]);\n React.useEffect(() => {\n if (userName) getUser();\n }, [getUser, userName]);\n\n const updateUser = React.useCallback(\n ({ userDocument }) =>\n UserApi.updateUser({\n userName,\n userDocument,\n }).then(() => request({ userName: userDocument.userName })),\n [request, userName],\n );\n\n const updateUserGroups = React.useCallback(\n ({ groups = [] }) =>\n UserApi.updateUserGroup({\n userName,\n groupListDocument: {\n group: groups.map((g) => ({ groupName: g })),\n },\n }).then(getUser),\n [getUser, userName],\n );\n\n const removeUserFromGroup = React.useCallback(\n (groupName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getUser),\n [getUser, userName],\n );\n\n const changePassword = React.useCallback(\n (password) =>\n UserApi.updateUser({\n userName,\n userDocument: {\n password,\n },\n queryParams: {\n passwordType: 'raw',\n },\n }),\n [userName],\n );\n const deleteUser = ({ queryParams = {} } = {}) =>\n UserApi.disableUser({ userName, queryParams: { hard: true, ...queryParams } });\n const disableUser = (args) => UserApi.disableUser({ userName, ...args }).then(getUser);\n const enableUser = (args) => UserApi.enableUser({ userName, ...args }).then(getUser);\n\n return {\n userType,\n getUser,\n updateUser,\n updateUserGroups,\n removeUserFromGroup,\n disableUser,\n enableUser,\n deleteUser,\n changePassword,\n };\n}\n","import React from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_QUERY = 'CHANGE_QUERY';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_QUERY,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, rowsPerPage = 10, page = 0 } = {}) => ({\n queryParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...queryParams,\n },\n rowsPerPage,\n page,\n userSearchDocument: {\n sort: [\n {\n field: 'username',\n order: 'ascending',\n },\n ],\n },\n});\n\nconst searchReducer = (state, action) => {\n const { type } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page } = action;\n\n return {\n ...state,\n page,\n queryParams: {\n ...state.queryParams,\n first: page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n\n case ACTION_TYPE.CHANGE_QUERY: {\n return {\n ...state,\n page: 0,\n userSearchDocument: {\n ...state.userSearchDocument,\n field: [\n {\n name: action.field || 'username',\n value: action.query || '',\n },\n ],\n },\n queryParams: {\n ...state.queryParams,\n first: 1,\n },\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useSearchUser(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = React.useReducer(searchReducer, initialDefaultState);\n const {\n data: userListDocument,\n request: searchUser,\n hasLoaded,\n isError,\n } = useApi(UserApi.searchUser);\n\n const onSearchUser = () =>\n searchUser({\n userSearchDocument: state.userSearchDocument,\n queryParams: state.queryParams,\n });\n\n React.useEffect(() => {\n onSearchUser();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.queryParams, state.userSearchDocument]);\n\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeQuery = (field, query) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERY,\n field,\n query,\n });\n };\n return {\n ...state,\n hasLoaded,\n isError,\n userListDocument,\n onSearchUser,\n onChangePage,\n onChangeSort,\n onChangeRowsPerPage,\n onChangeQuery,\n };\n}\n","import React from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useListGroup = (args) => {\n const { request, data: groupListType = {}, isLoading } = useApi(GroupApi.listGroup);\n const onRefresh = () => request(args);\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [args]);\n return {\n onRefresh,\n groupListType,\n isLoading,\n };\n};\n\nexport default useListGroup;\n","import React from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useListUser = (args) => {\n const { request, data: userListType = {}, isLoading } = useApi(UserApi.listUser);\n const onRefresh = () => request(args);\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [args]);\n return {\n onRefresh,\n userListType,\n isLoading,\n };\n};\n\nexport default useListUser;\n","import React from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_QUERY = 'CHANGE_QUERY';\nconst HIDE_ROLES = 'HIDE_ROLES';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_QUERY,\n HIDE_ROLES,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, rowsPerPage = 10, page = 0 } = {}) => ({\n queryParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...queryParams,\n },\n rowsPerPage,\n page,\n groupSearchDocument: {},\n});\n\nconst searchReducer = (state, action) => {\n const { type } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page } = action;\n\n return {\n ...state,\n page,\n queryParams: {\n ...state.queryParams,\n first: page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.HIDE_ROLES: {\n const { hideRoles } = action;\n const role = hideRoles === true ? false : undefined;\n return {\n ...state,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n role,\n },\n };\n }\n\n case ACTION_TYPE.CHANGE_QUERY: {\n return {\n ...state,\n page: 0,\n groupSearchDocument: {\n ...state.groupSearchDocument,\n field: [\n {\n name: action.field || 'groupname',\n value: action.query || '',\n },\n ],\n },\n queryParams: {\n ...state.queryParams,\n first: 1,\n },\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useSearchGroup(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = React.useReducer(searchReducer, initialDefaultState);\n const {\n data: groupListDocument,\n request: searchGroup,\n hasLoaded,\n isError,\n } = useApi(GroupApi.searchGroup);\n\n const onSearchGroup = () =>\n searchGroup({\n groupSearchDocument: state.groupSearchDocument,\n queryParams: state.queryParams,\n });\n\n React.useEffect(() => {\n onSearchGroup();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.queryParams, state.groupSearchDocument]);\n\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onHideRoles = ({ hideRoles }) =>\n dispatch({\n type: ACTION_TYPE.HIDE_ROLES,\n hideRoles,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeQuery = (field, query) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERY,\n field,\n query,\n });\n };\n return {\n ...state,\n hasLoaded,\n isError,\n groupListDocument,\n onSearchGroup,\n onChangePage,\n onChangeSort,\n onChangeRowsPerPage,\n onChangeQuery,\n onHideRoles,\n };\n}\n","import React from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGroup(initialState) {\n const { data: groupType, request } = useApi(GroupApi.getGroup, { data: initialState });\n const { groupName } = groupType || {};\n\n const getGroup = React.useCallback(() => request({ groupName }), [request, groupName]);\n\n React.useEffect(() => {\n if (groupName) getGroup();\n }, [getGroup, groupName]);\n\n const updateGroup = React.useCallback(\n ({ groupDocument }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addChildGroups = React.useCallback(\n ({ groups }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n childGroupList: {\n group: groups.map((g) => ({ groupName: g })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addParentGroups = React.useCallback(\n ({ groups }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n parentGroupList: {\n group: groups.map((g) => ({ groupName: g })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addUsersToGroup = React.useCallback(\n ({ users }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n userList: {\n user: users.map((u) => ({ userName: u })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeUserFromGroup = React.useCallback(\n (userName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeChildGroup = React.useCallback(\n (childGroupName) =>\n GroupApi.removeGroupChildren({\n groupName,\n childGroupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeFromParentGroup = React.useCallback(\n (parentGroupName) =>\n GroupApi.removeGroupChildren({\n groupName: parentGroupName,\n childGroupName: groupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeGroup = React.useCallback(() => GroupApi.removeGroup({ groupName }), [groupName]);\n\n return {\n groupType,\n getGroup,\n updateGroup,\n removeGroup,\n addChildGroups,\n addParentGroups,\n addUsersToGroup,\n removeUserFromGroup,\n removeChildGroup,\n removeFromParentGroup,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetItem({ itemId, queryParams = {}, refreshOnMount = true }) {\n const { request, data: itemType = {}, isLoading, isError } = useApi(ItemApi.getItem);\n const onRefresh = () => request({ itemId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [itemId, queryParams]);\n return {\n itemType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import React from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nconst useCollectionAutoPlay = ({ collectionId, defaultEnabled = true }) => {\n const [nextPlaying, setNextPlaying] = React.useState();\n const [isAutoPlayEnabled, setIsAutoPlayEnabled] = React.useState(defaultEnabled);\n const toggleAutoPlay = (newValue) =>\n setIsAutoPlayEnabled((prevValue) => (newValue !== undefined ? newValue : !prevValue));\n const allItemsRef = React.useRef();\n const orderItemsRef = React.useRef();\n const hitsRef = React.useRef();\n const onNext = React.useCallback(\n ({ itemId }) => {\n if (isAutoPlayEnabled === false) return;\n const searchDocument = {\n field: [\n {\n name: 'mediaType',\n value: [{ value: 'video' }, { value: 'audio' }],\n },\n ],\n };\n const searchForNext = ({ first, number } = {}) => {\n const { current: allItems } = allItemsRef;\n const { current: orderItems } = orderItemsRef;\n if (!Array.isArray(allItems)) {\n Promise.all([\n CollectionApi.getCollection({\n collectionId,\n queryParams: { children: 'item' },\n }),\n CollectionApi.searchCollectionItem({\n collectionId,\n searchDocument,\n queryParams: { first, number },\n }),\n ]).then(([{ data: collectionType }, { data: itemListType }]) => {\n const { hits, item: itemList = [] } = itemListType;\n allItemsRef.current = itemList.map(({ id }) => id);\n hitsRef.current = hits;\n const { content: contentList } = collectionType;\n orderItemsRef.current = contentList;\n searchForNext({ first: 1, number: 100 });\n });\n return;\n }\n const { current: hits } = hitsRef;\n const currentItemIdx = orderItems.findIndex(({ id: thisId }) => thisId === itemId);\n if (currentItemIdx + 1 === orderItems.length) {\n // last item in the list\n setNextPlaying();\n return;\n }\n if (currentItemIdx === -1 && hits > allItems.length) {\n // request more items to find the currentItem\n CollectionApi.searchCollectionItem({\n collectionId,\n searchDocument,\n queryParams: { first: first + number, number },\n }).then(({ data: itemListType }) => {\n const { item: itemList = [] } = itemListType;\n allItemsRef.current.push(...itemList.map(({ id }) => id));\n searchForNext({ first: first + number, number });\n });\n return;\n }\n const remainingItems = orderItems.slice(currentItemIdx + 1);\n const nextItem = remainingItems.find(({ id: thisId }) => allItems.includes(thisId));\n setNextPlaying(nextItem);\n };\n searchForNext();\n },\n [collectionId, isAutoPlayEnabled],\n );\n return {\n isAutoPlayEnabled,\n toggleAutoPlay,\n setNextPlaying,\n nextPlaying,\n onNext,\n };\n};\n\nexport default useCollectionAutoPlay;\n","import React from 'react';\n\nimport _debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { formatTimeCodeText, formatSeconds } from '@vidispine/vdt-js';\n\nconst defaultGetThumbnailTimeCodes = (srcList) => {\n const timeCodes = [];\n for (let index = 0; index < srcList.length; index += 1) {\n const uri = srcList[index];\n if (uri && typeof uri === 'string') {\n try {\n const timeCodeFromURI = uri.split('version')[1].split('/')[1].split('?')[0];\n const timecodeText = formatTimeCodeText(timeCodeFromURI);\n timeCodes.push(timecodeText);\n } catch (error) {\n // ignore\n }\n }\n }\n return timeCodes;\n};\n\n/**\n * Display timecode correlating to mouse position when hovering over an element\n * @param {string[]} srcList - List of image/thumbnail urls.\n * @param {number} customOffset=0 - Add custom offset for the mouse position.\n * @param {number} durationSeconds - Total duration in seconds (of clip) that the thumbnails are scrubbed over.\n * @param {function} getThumbnailTimeCodes - Extracts timecodes from VidiCore thumbnail uris. Override for custom thumbnails.\n * @returns {Object}\n */\nexport function useHoverScrub(\n srcList = [],\n customOffset = 0,\n durationSeconds = undefined,\n getThumbnailTimeCodes = defaultGetThumbnailTimeCodes,\n) {\n const [scrubPosition, setScrubPosition] = React.useState(0);\n const [thumbnailIndex, setThumbnailIndex] = React.useState(0);\n const [showScrub, setShowScrub] = React.useState(false);\n const [thumbnailTimeCodeArray, setThumbnailTimeCodeArray] = React.useState([]);\n const [thumbnailTimeCode, setThumbnailTimeCode] = React.useState();\n const [thumbnailWidth, setThumbnailWidth] = React.useState(0);\n\n const debouncedSetNewThumbnail = React.useRef(\n _debounce((val) => {\n setThumbnailIndex(val);\n }, 10),\n ).current;\n\n const getOffsetLeft = (element) => {\n try {\n return Math.round(element.getBoundingClientRect().left);\n } catch (error) {\n return 0;\n }\n };\n\n const getMouseElementPosition = React.useCallback(\n (e) => {\n const mouseElementPosition = e.clientX - getOffsetLeft(e.currentTarget) - customOffset;\n const elementWidth = e.currentTarget.offsetWidth;\n if (mouseElementPosition < 0) {\n return 0;\n }\n if (mouseElementPosition > elementWidth) {\n return elementWidth;\n }\n return mouseElementPosition;\n },\n [customOffset],\n );\n\n const indexOfPrecededTimeCode = (num, arr) => {\n let curr = arr[0];\n let diff = Math.abs(num - curr);\n let index = 0;\n for (let val = 0; val < arr.length; val += 1) {\n const newDiff = Math.abs(num - arr[val]);\n const isPositiveDiff = num - arr[val] > 0;\n if (newDiff < diff && isPositiveDiff) {\n diff = newDiff;\n curr = arr[val];\n index = val;\n }\n }\n return index;\n };\n\n const onMouseMove = (e) => {\n if (durationSeconds) {\n const mouseElementPosition = getMouseElementPosition(e);\n setScrubPosition(mouseElementPosition - 1);\n if (thumbnailWidth !== e.currentTarget.offsetWidth) {\n setThumbnailWidth(e.currentTarget.offsetWidth);\n }\n const mouseTimecodePosition =\n mouseElementPosition / (e.currentTarget.offsetWidth / +durationSeconds);\n\n setThumbnailTimeCode(formatSeconds(mouseTimecodePosition));\n\n const newIndex = indexOfPrecededTimeCode(\n mouseTimecodePosition,\n thumbnailTimeCodeArray.map((tc) => tc.toSeconds().toFixed(0)),\n );\n if (newIndex !== thumbnailIndex) {\n debouncedSetNewThumbnail(newIndex);\n }\n }\n };\n\n useDeepCompareEffect(() => {\n const timeCodes = getThumbnailTimeCodes(srcList);\n setThumbnailTimeCodeArray(timeCodes);\n }, [srcList]);\n\n const handleShowScrub = (value) => () => {\n if (durationSeconds > 0) {\n setShowScrub(value);\n }\n };\n\n return {\n thumbnailIndex,\n thumbnailTimeCode,\n thumbnailWidth,\n showScrub,\n scrubPosition,\n handleShowScrub,\n onMouseMove,\n };\n}\n\nexport default useHoverScrub;\n","import React from 'react';\n\nimport debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useDocSearchAutocomplete({\n searchDoc,\n queryParams,\n debounceTime,\n suggestionSettings = { maximumSuggestions: 10, accuracy: 1 },\n triggerLength = 1,\n apiCall = ItemApi.searchItem,\n}) {\n const [textValue, setTextValue] = React.useState('');\n const handleAutocompleteChange = React.useRef(debounce(setTextValue, debounceTime)).current;\n\n const { data: { autocomplete = [] } = {}, request } = useApi(apiCall);\n const { suggestion = [] } = autocomplete[0] || {};\n\n useDeepCompareEffect(() => {\n if (searchDoc && textValue && textValue.length >= triggerLength) {\n request({\n body: {\n ...searchDoc,\n suggestion: suggestionSettings,\n autocomplete: [\n {\n text: textValue,\n },\n ],\n text: [{ value: textValue }],\n },\n queryParams: { count: false, number: 0, ...queryParams },\n });\n }\n }, [request, textValue, queryParams, triggerLength]);\n\n return {\n suggestion,\n handleAutocompleteChange,\n };\n}\n","import { metadatafield as MetadatafieldApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetFieldMetadataDataset() {\n const {\n request,\n data: { value: constraintValueListType = [] } = {},\n isLoading,\n } = useApi(MetadatafieldApi.getMetadataFieldAllowedValues);\n\n const getMetadataDataset = (datasetField, parentValue, parentField) => {\n const metadataFieldValueConstraintListDocument = {\n constraint: parentValue ? [{ field: parentField, value: parentValue }] : [],\n };\n if (datasetField) {\n request({\n fieldName: datasetField,\n metadataFieldValueConstraintListDocument,\n });\n }\n };\n\n return {\n getMetadataDataset,\n dataset: constraintValueListType,\n isLoading,\n };\n}\n","import React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi, item as ItemApi } from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\n// Has to be set so that the library isn't auto-deleted\nconst UPDATE_FREQUENCY = 1000;\n\n// Prevents access controls set on the library (i.e. saved search) from cascading down to items\nconst UPDATE_MODE = 'TRANSIENT';\n\nconst getCollectionTitle = (fields) =>\n fields.find((field) => field.name === 'title').value[0].value;\n\nexport default function useGetSavedSearchFolders({\n childFolders = [],\n queryParams = { content: ['metadata'] },\n markerProps = {\n markerValue: 'savedSearch',\n markerField: 'eidr_referentType',\n },\n expand,\n}) {\n const [currentFolders, setCurrentFolders] = React.useState(childFolders);\n const [subFolders, setSubFolders] = React.useState([]);\n const [errors, setErrors] = React.useState();\n\n const getSubFolders = React.useCallback(() => {\n Promise.all(\n currentFolders.map(async (id) => {\n const {\n data: { content, metadata = {} },\n } = await CollectionApi.getCollection({\n collectionId: id,\n queryParams,\n });\n\n const { field } = metadata.timespan[0];\n if (content && content[0].type === 'library') {\n return {\n id,\n libraryId: content[0].id,\n title: getCollectionTitle(field),\n type: 'query',\n metadata,\n };\n }\n return {\n id,\n title: getCollectionTitle(field),\n subFolders: content && content.map((c) => c.id),\n type: 'folder',\n metadata,\n };\n }),\n )\n .then((newFolders) => {\n setSubFolders((prevState) => [...newFolders, ...prevState]);\n })\n .catch((error) => {\n setErrors(error);\n });\n }, [currentFolders, queryParams]);\n\n const createFolder = (parentId, type, title, callback) => {\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n saved_search_folder: type,\n title,\n }),\n },\n })\n .then(({ data: { id } }) => {\n if (parentId) {\n return CollectionApi.updateCollection({\n collectionId: parentId,\n collectionDocument: {\n content: [\n {\n id,\n mode: 'add',\n type: 'collection',\n },\n ],\n },\n })\n .then(({ data: { content } }) => {\n if (content) {\n setCurrentFolders(\n content\n .filter((collection) => collection.id === id)\n .map((collection) => collection.id),\n );\n if (callback) callback();\n }\n })\n .catch((error) => {\n setErrors(error);\n });\n }\n return null;\n })\n .catch((error) => {\n setErrors(error);\n });\n };\n\n const saveSearch = (folderId, title, itemSearchDocument, callback) => {\n try {\n ItemApi.searchItem({\n queryParams: {\n result: 'library',\n updateMode: UPDATE_MODE,\n updateFrequency: UPDATE_FREQUENCY,\n },\n itemSearchDocument,\n })\n .then(({ data: { library } }) => {\n return CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n [markerProps.markerField]: markerProps.markerValue,\n title,\n }),\n content: [\n {\n id: library,\n type: 'library',\n },\n ],\n },\n });\n })\n .then(({ data: { id } }) => {\n return CollectionApi.updateCollection({\n collectionId: folderId,\n collectionDocument: {\n content: [\n {\n id,\n mode: 'add',\n type: 'collection',\n },\n ],\n },\n })\n .then(({ data: { content } }) => {\n if (content) {\n setCurrentFolders(\n content\n .filter((collection) => collection.id === id)\n .map((collection) => collection.id),\n );\n if (callback) callback();\n }\n })\n .catch((error) => {\n setErrors(error);\n });\n })\n .catch((error) => {\n setErrors(error);\n });\n } catch (error) {\n setErrors(error);\n }\n };\n\n const deleteFolder = (collectionId) =>\n CollectionApi.removeCollection({ collectionId }).catch((error) => {\n setErrors(error);\n });\n\n const removeItem = (id) => {\n setSubFolders((prevState) => prevState.filter((folder) => folder.id !== id));\n };\n\n useDeepCompareEffect(() => {\n if (currentFolders.length > 0 && expand) {\n getSubFolders();\n }\n }, [currentFolders, expand]);\n\n React.useEffect(() => {\n if (!expand && typeof expand === 'boolean') {\n setCurrentFolders(() => {\n return subFolders.map((folder) => folder.id);\n });\n setSubFolders([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expand]);\n\n return {\n createFolder,\n saveSearch,\n getSubFolders,\n deleteFolder,\n removeItem,\n subFolders,\n setSubFolders,\n setCurrentFolders,\n errors,\n };\n}\n","import React from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\nimport { createMetadataType, parseMetadataType } from '@vidispine/vdt-js';\n\nconst useRepresentativeItems = ({ collectionId, onError }) => {\n const [representativeItems, setRepresentativeItems] = React.useState([]);\n\n const asyncGetRepresentativeItems = async () => {\n try {\n if (!collectionId) {\n throw Error('Missing collectionId');\n }\n const { data: metadata = {} } = await CollectionApi.getCollectionMetadata({\n collectionId,\n queryParams: {\n content: 'metadata',\n field: 'representativeItems',\n },\n }).catch((error) => {\n if (onError) onError(error);\n });\n const { representativeItems: newRepresentativeItems = [] } = parseMetadataType(metadata, {\n flat: true,\n includeValueAttributes: true,\n });\n setRepresentativeItems(() => newRepresentativeItems);\n } catch (error) {\n if (onError) onError(error);\n }\n };\n\n const onRefresh = asyncGetRepresentativeItems;\n\n const updateAsRepresentativeItem = async (values) => {\n try {\n const metadataDocument = createMetadataType({\n representativeItems: Array.isArray(values) ? values : [values],\n });\n const response = await CollectionApi.updateCollectionMetadata({\n collectionId,\n metadataDocument,\n });\n onRefresh();\n return response;\n } catch (error) {\n if (onError) onError(error);\n return undefined;\n }\n };\n\n const onAdd = (entityId) => updateAsRepresentativeItem({ value: entityId, mode: 'add' });\n\n const onRemove = (entityId) => {\n try {\n // Get all (if it has been added multiple times)\n const entityIdValueUuids = representativeItems\n .filter((i) => i.value === entityId)\n .map((i) => i.uuid);\n if (!entityIdValueUuids.length) return undefined;\n return updateAsRepresentativeItem(\n entityIdValueUuids.map((uuid) => ({ uuid, mode: 'remove' })),\n );\n } catch (error) {\n if (onError) onError(error);\n return undefined;\n }\n };\n\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [collectionId]);\n\n return {\n representativeItems,\n onRefresh,\n onAdd,\n onRemove,\n };\n};\n\nexport default useRepresentativeItems;\n","/* eslint-disable no-console */\nimport {\n library as LibraryApi,\n file as FileApi,\n job as JobApi,\n storage as StorageApi,\n} from '@vidispine/vdt-api';\n\nfunction defaultOnGetStorage() {\n const storageData = StorageApi.listStorage().then((response) => {\n const storage = {\n id: response.data.storage[0].id,\n uri: response.data.storage[0].method[0].uri,\n };\n return storage;\n });\n return storageData;\n}\n\nfunction defaultOnCreate(list) {\n return LibraryApi.createLibrary({\n itemListDocument: {\n item: [\n ...list.item.map(({ id }) => ({\n id,\n })),\n ],\n },\n });\n}\n\nfunction defaultOnList(response, storageInfo, queryParams) {\n const { fileName = 'output', outputFormat = 'csv' } = queryParams;\n const { uri } = storageInfo;\n const { data: { uri: [libraryId] = [] } = {} } = response;\n const createNewUri = () => {\n if (uri.includes('s3')) {\n const [uriBeforeRegion, uriAfterRegion] = uri.split('?region');\n return `${uriBeforeRegion}${fileName}.${outputFormat}?region${uriAfterRegion}`;\n }\n return `${uri}${fileName}.${outputFormat}`;\n };\n const newUri = encodeURIComponent(createNewUri());\n return LibraryApi.getLibraryBatch({\n libraryId,\n queryParams: { destinationUri: newUri, ...queryParams },\n });\n}\n\nconst SUCCESSFUL_STATES = ['FINISHED', 'FINISHED_WARNING'];\nconst INACTIVE_STATES = ['FINISHED', 'FINISHED_WARNING', 'FAILED_TOTAL', 'ABORTED'];\n\nfunction defaultOnGetFile(response, storageInfo, params, onError) {\n const { data: { jobId } = {} } = response;\n const { id } = storageInfo;\n const { fileName = 'output', outputFormat = 'csv' } = params;\n const filePath = `${fileName}.${outputFormat}`;\n JobApi.getJob({ jobId }).then(({ data: { status } = {} } = {}) => {\n if (SUCCESSFUL_STATES.includes(status)) {\n try {\n FileApi.listFileStorage({\n storageId: id,\n queryParams: {\n path: filePath,\n methodMetadata: [\n { key: 'format', value: 'SIGNED-AUTO' },\n { key: 'contentDisposition', value: `attachment;+filename=${filePath}` },\n ],\n 'noauth-url': true,\n },\n }).then((r) => window.open(r.data.file[0].uri[0]));\n } catch (error) {\n console.error(`${'Download error:'}\\n${error}`);\n onError({ message: 'Download failed' });\n }\n } else if (!INACTIVE_STATES.includes(status)) {\n setTimeout(() => {\n defaultOnGetFile(response, storageInfo, params);\n }, 1000);\n } else {\n onError({ message: 'Download failed' });\n }\n });\n}\n\n// Note: Not needed as a react-hook since doesn't use react,\n// but this is usually where we put logic functions right now\nconst useCsvDownload = ({\n itemListType,\n queryParams,\n onSuccess,\n onError = ({ message, error }) => console.error(`${message}\\n${error}`),\n onGetFile = defaultOnGetFile,\n onCreateList = defaultOnCreate,\n onList = defaultOnList,\n onGetStorage = defaultOnGetStorage,\n}) => {\n const onDownload = () =>\n onGetStorage().then((storageInfo) =>\n Promise.all([\n onCreateList(itemListType)\n .then((response) => onList(response, storageInfo, queryParams))\n .then(onSuccess())\n .then((response) => onGetFile(response, storageInfo, queryParams, onError)),\n ]),\n );\n return { onDownload };\n};\n\nexport default useCsvDownload;\n","import { item as ItemApi, metadata as MetadataApi } from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nexport default function useCompoundMetadata(\n itemId,\n values,\n groups,\n groupFields,\n setGroupFields,\n onRefresh,\n onSuccess,\n onError,\n) {\n const isFamily = (el) => el.hasMultipleChild;\n const groupFamily = groups.findIndex(isFamily);\n const tableColumns = groups[groupFamily].groups[0].fields.map((group) => group);\n const onChange = (e, row, groupIndex, editIndex) => {\n const { value } = e.target;\n const { name } = e.target;\n const newGroups = groupFields.map((group) => group);\n const newRows = newGroups[groupIndex].group.map((newRow, rowIndex) => {\n if (rowIndex === editIndex) {\n return { ...row, [name]: value };\n }\n return newRow;\n });\n newGroups[groupIndex].group = newRows;\n setGroupFields(newGroups);\n };\n const onSubmit = async (data) => {\n const groupNames = [];\n groups.forEach((group) => {\n const newGroup = {};\n newGroup.parentGroup = group.name;\n newGroup.childGroup = group.groups[0].name;\n groupNames.push(newGroup);\n });\n\n const metadataDocument = createMetadataType({ group: data });\n const { timespan: newTimeSpan } = metadataDocument;\n const { uuid } = values.itemType.metadata.timespan[0].group[0];\n const newGroups = [];\n\n newTimeSpan[0].group.forEach((group, index) => {\n const newGroup = {\n group: [],\n };\n newGroup.name = groupNames[index].parentGroup;\n newGroup.mode = 'add';\n group.group.forEach((subGroup) => {\n const newSubGroup = subGroup;\n newSubGroup.name = groupNames[index].childGroup;\n newSubGroup.mode = 'add';\n newGroup.group.push(newSubGroup);\n });\n newGroups.push(newGroup);\n });\n newTimeSpan[0].group = newGroups;\n\n try {\n await MetadataApi.removeMetadata({ metadataUuid: uuid });\n await ItemApi.updateItemMetadata({\n itemId,\n metadataDocument: { timespan: newTimeSpan },\n });\n await onRefresh();\n\n onSuccess();\n } catch (error) {\n onError(error);\n }\n };\n\n return {\n tableColumns,\n onChange,\n onSubmit,\n };\n}\n","import React from 'react';\n\nimport { parseMetadataType } from '@vidispine/vdt-js';\n\nexport default function MetadataType({\n itemType,\n collectionType,\n joinValue = ',',\n flat = true,\n groupAsList = true,\n children,\n ...props\n}) {\n const entityType = itemType || collectionType || {};\n const { metadata: metadataType } = entityType;\n const metadata = React.useMemo(\n () => parseMetadataType(metadataType, { joinValue, flat, groupAsList }),\n [flat, groupAsList, joinValue, metadataType],\n );\n const cloneProps = {\n ...props,\n ...metadata,\n itemType,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function SearchCollection({\n itemSearchDocument,\n queryParams,\n matrixParams,\n responseRef,\n initialState,\n children,\n}) {\n const {\n request,\n data: collectionListType = {},\n isLoading,\n isError,\n } = useApi(CollectionApi.searchCollection, initialState, responseRef);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n collectionListType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport useSearchItem from '../hooks/useSearchItem';\n\nexport default function SearchItem({ itemSearchDocument, queryParams, matrixParams, children }) {\n const { itemListType, onRefresh, isLoading, isError } = useSearchItem({\n itemSearchDocument,\n queryParams,\n matrixParams,\n });\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n itemListType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { search as SearchApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function SearchItemCollection({\n itemSearchDocument,\n queryParams,\n matrixParams,\n children,\n}) {\n const {\n request,\n data: searchResultType = {},\n isLoading,\n isError,\n } = useApi(SearchApi.searchItemCollection);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n searchResultType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport useGetItem from '../hooks/useGetItem';\n\nexport default function GetItem({ itemId, queryParams, refreshOnMount, children }) {\n const { itemType, onRefresh, isLoading, isError } = useGetItem({\n itemId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n itemId,\n queryParams,\n itemType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport useGetCollection from '../hooks/useGetCollection';\n\nexport default function GetCollectionContent({\n collectionId,\n queryParams,\n refreshOnMount,\n children,\n}) {\n const { collectionType, onRefresh, isLoading, isError } = useGetCollection({\n collectionId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n collectionId,\n queryParams,\n collectionType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { job as JobApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function GetJobs({ matrixParams, queryParams, children }) {\n const { request, data: jobs = {}, isLoading, isError } = useApi(JobApi.listJob);\n const onRefresh = () => request({ matrixParams, queryParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [matrixParams, queryParams]);\n const cloneProps = {\n matrixParams,\n queryParams,\n onRefresh,\n isLoading,\n isError,\n jobs,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport { access as AccessApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function ListEntityAccess({ entityId, entityType, queryParams, children }) {\n const { request, data: accessControlList = {}, isLoading } = useApi(AccessApi.listEntityAccess);\n const onRefresh = () => request({ entityId, entityType, queryParams });\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [entityId, entityType, queryParams]);\n const cloneProps = {\n entityId,\n entityType,\n queryParams,\n accessControlList,\n onRefresh,\n isLoading,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nexport default class VidispineApi extends React.Component {\n constructor(props) {\n super(props);\n const { serverUrl, token, username, password, runAs } = props;\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n }\n if (token) {\n api.defaultClient.defaults.headers.Authorization = `token ${token}`;\n } else {\n api.defaultClient.defaults.auth = { username, password };\n }\n if (runAs) {\n api.defaultClient.defaults.headers.RunAs = runAs;\n }\n }\n\n componentDidUpdate(prevProps) {\n const { serverUrl, token, username, password, runAs } = this.props;\n if (prevProps.serverUrl !== serverUrl) {\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n } else {\n delete api.defaultClient.defaults.baseURL;\n }\n }\n if (prevProps.token !== token) {\n if (token) {\n api.defaultClient.defaults.headers.Authorization = `token ${token}`;\n } else {\n delete api.defaultClient.defaults.headers.Authorization;\n }\n }\n if (!token && (prevProps.username !== username || prevProps.password !== password)) {\n api.defaultClient.defaults.auth = { username, password };\n }\n if (prevProps.runAs !== runAs) {\n if (runAs) {\n api.defaultClient.defaults.headers.RunAs = runAs;\n } else {\n delete api.defaultClient.defaults.headers.RunAs;\n }\n }\n }\n\n render() {\n const { children, username, serverUrl } = this.props;\n const cloneProps = { username, serverUrl };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n }\n}\n","import React from 'react';\n\nimport { useCookies } from 'react-cookie';\n\nimport { utils as api, user as UserApi } from '@vidispine/vdt-api';\n\nimport VidispineApi from './VidispineApi';\n\nconst VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';\nconst VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';\nconst VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';\nconst VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';\n\nconst handleOnGetToken = ({ userName, password, serverUrl }) => {\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n }\n const queryParams = { seconds: 2592000, autoRefresh: 'true' };\n const headers = { password, username: userName };\n try {\n UserApi.getToken({ queryParams, headers })\n .then(({ data: token }) => token)\n .catch(({ response = {}, message = 'Unknown error.' }) => {\n let submissionError = message;\n if (response.status === 401) {\n submissionError = 'Incorrect Username/Password';\n }\n throw submissionError;\n });\n } catch (error) {\n const submissionError = 'Incorrect Username/Password';\n throw submissionError;\n }\n};\n\nexport default function Auth({\n LoginComponent,\n LoginProps = {},\n AppComponent,\n AppProps = {},\n onGetToken = handleOnGetToken,\n onSuccess,\n onError,\n cookieOptions = {\n maxAge: 604800,\n path: '/',\n },\n ...props\n}) {\n const [cookies, setCookie, removeCookie] = useCookies([\n VIDISPINE_TOKEN,\n VIDISPINE_USERNAME,\n VIDISPINE_SERVER_URL,\n VIDISPINE_REMEMBER_ME,\n ]);\n const {\n [VIDISPINE_TOKEN]: token,\n [VIDISPINE_USERNAME]: userName,\n [VIDISPINE_SERVER_URL]: serverUrl,\n } = cookies;\n const rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';\n const onLogin = (values) => {\n let submissionError;\n try {\n onGetToken(values)\n .then((newToken) => {\n const {\n userName: newUserName,\n serverUrl: newServerUrl,\n rememberMe: newRememberMe,\n } = values;\n if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);\n if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);\n if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);\n if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);\n if (onSuccess) onSuccess(values);\n })\n .catch((error) => {\n submissionError = error;\n if (onError) return onError(submissionError);\n throw submissionError;\n });\n } catch (error) {\n submissionError = error;\n if (onError) return onError(submissionError);\n }\n return submissionError;\n };\n const onLogout = () => {\n removeCookie(VIDISPINE_TOKEN, cookieOptions);\n if (!rememberMe) {\n removeCookie(VIDISPINE_USERNAME, cookieOptions);\n removeCookie(VIDISPINE_SERVER_URL, cookieOptions);\n removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);\n }\n };\n return token ? (\n <VidispineApi token={token} username={userName} serverUrl={serverUrl}>\n <AppComponent onLogout={onLogout} {...props} {...AppProps} />\n </VidispineApi>\n ) : (\n <LoginComponent\n onLogin={onLogin}\n userName={userName}\n serverUrl={serverUrl}\n rememberMe={rememberMe}\n {...props}\n {...LoginProps}\n />\n );\n}\n","import React from 'react';\n\nfunction ErrorBoundaryComponent({ error, info }) {\n return (\n <div\n style={{\n height: '100%',\n maxHeight: '100vh',\n width: '100%',\n maxWidth: '100vw',\n backgroundColor: 'red',\n color: 'white',\n }}\n >\n {error && <div>{error.toString()}</div>}\n {info && <div>{info.componentStack}</div>}\n </div>\n );\n}\n\nexport default class ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n return { error, hasError: true };\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const { hasError, info } = this.state;\n const { info: nextInfo } = nextState;\n if (info === nextInfo && hasError === true) return false;\n return true;\n }\n\n componentDidCatch(error, info) {\n const { onError } = this.props;\n if (typeof onError === 'function') {\n try {\n onError(error, info);\n } catch (onErrorError) {\n return;\n }\n }\n this.setState({ info });\n }\n\n render() {\n const { children } = this.props;\n const { hasError, error, info } = this.state;\n if (hasError) {\n return <ErrorBoundaryComponent info={info} error={error} />;\n }\n return children;\n }\n}\n","/* eslint react/prop-types: \"off\" */\nimport React from 'react';\n\nimport { fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function GetFieldGroup({ groupName, queryParams, children }) {\n const {\n request,\n data: metadataFieldGroupDocument,\n isLoading,\n isError,\n } = useApi(FieldGroupApi.getFieldGroup);\n const onRefresh = () => request({ groupName, queryParams });\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [groupName, queryParams]);\n const cloneProps = {\n groupName,\n queryParams,\n metadataFieldGroupDocument,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\nimport { roles as ROLES } from '@vidispine/vdt-js';\n\nconst RolesContext = React.createContext();\n\nfunction RolesProvider({ intialState = {}, onRefresh, userName: knownUserName, children }) {\n const [groupListType, setGroupListType] = React.useState(intialState);\n const onGetUserRole = () => {\n if (knownUserName) {\n UserApi.getUserRole({ userName: knownUserName }).then(({ data }) => {\n setGroupListType(data);\n if (onRefresh) onRefresh(data);\n });\n } else {\n let iAm;\n UserApi.whoAmI()\n .then(({ data: userName }) => {\n iAm = userName;\n return UserApi.getUserRole({ userName });\n })\n .then(({ data }) => {\n setGroupListType(data);\n if (onRefresh) onRefresh(data, iAm);\n });\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useEffect(onGetUserRole, [knownUserName]);\n return <RolesContext.Provider value={groupListType}>{children}</RolesContext.Provider>;\n}\n\nfunction useRoles() {\n const groupListType = React.useContext(RolesContext);\n if (groupListType === undefined) {\n throw new Error('useRoles must be used within RolesContext');\n }\n const hasRole = (roleName) => {\n if (roleName === undefined) throw new Error('roleName is undefined');\n const { group: groupList } = groupListType;\n if (!Array.isArray(groupList)) return null;\n const groupNames = groupList.map(({ groupName }) => groupName);\n if (groupNames.includes(ROLES.SUPER_ACCESS_USER)) return true;\n if (Array.isArray(roleName)) {\n return roleName.findIndex((thisRole) => groupNames.includes(thisRole)) > -1;\n }\n return groupNames.includes(roleName);\n };\n return { hasRole, groupListType };\n}\n\nexport { RolesProvider, useRoles };\n","import React from 'react';\n\nimport { useRoles } from '../context/RolesContext';\n\nexport default function HasRole({ roleName, allow, deny, loading }) {\n if (roleName === undefined) throw new Error('roleName is undefined');\n const { hasRole } = useRoles();\n const checkedRole = hasRole(roleName);\n if (React.isValidElement(allow) && checkedRole === true) {\n return allow;\n }\n if (React.isValidElement(deny) && checkedRole === false) {\n return deny;\n }\n if (React.isValidElement(loading) && checkedRole === null) {\n return loading;\n }\n return null;\n}\n","import React from 'react';\n\nexport default function ComposeProviders({ providers = [], children, ...props }) {\n return providers.reduceRight((acc, Provider) => {\n if (typeof Provider === 'function') {\n return <Provider {...props}>{acc}</Provider>;\n }\n const { provider: ProviderComponent, ...providerProps } = Provider;\n return (\n <ProviderComponent {...props} {...providerProps}>\n {acc}\n </ProviderComponent>\n );\n }, children);\n}\n","import React from 'react';\n\nimport ErrorBoundary from '../wrappers/ErrorBoundary';\n\nconst withErrorBoundary =\n (WrappedComponent, errorBoundaryProps = {}) =>\n (props) => {\n return (\n <ErrorBoundary {...errorBoundaryProps}>\n <WrappedComponent {...props} />\n </ErrorBoundary>\n );\n };\n\nexport default withErrorBoundary;\n","export const compose = (...funcs) =>\n funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args)),\n (arg) => arg,\n );\n\nexport default compose;\n","import React from 'react';\n\nimport { uuidv4 } from '../utils';\n\nexport const BinContext = React.createContext();\n\nconst defaultIsUniqueBinItem = (\n bin,\n { entityId, entityType, entityTimespan: { start, end, field: [{ name } = {}] = [] } = {} },\n) => {\n const entityExistsInBin = bin.some(\n (o) => o.entity.id === entityId && o.entityType === entityType,\n );\n let entityTimespanExistsInBin = false;\n if (entityExistsInBin) {\n const binEntitiesWithSameId = bin.filter(\n (o) => o.entity.id === entityId && o.entityType === entityType,\n );\n binEntitiesWithSameId.forEach(\n ({\n entityTimespan: { start: beStart, end: beEnd, field: [{ name: beName } = {}] = [] } = {},\n }) => {\n if (start === beStart && end === beEnd && name === beName) {\n entityTimespanExistsInBin = true;\n }\n },\n );\n }\n return !entityExistsInBin || !entityTimespanExistsInBin;\n};\nexport function BinProvider({\n onChange,\n children,\n initialState = [],\n allowDuplicates: defaultAllowDuplicates = false,\n isUniqueBinItem = defaultIsUniqueBinItem,\n}) {\n const [binState, setBinState] = React.useState(initialState);\n const [allowDuplicates, setAllowDuplicates] = React.useState(defaultAllowDuplicates);\n\n const onDelete = React.useCallback(\n (binIdToDelete) => {\n if (!binIdToDelete || !['string', 'number'].includes(typeof binIdToDelete)) {\n // eslint-disable-next-line no-console\n console.error('BinProvider onDelete called without a binId of the entity to delete');\n return;\n }\n setBinState((state) => {\n const newState = state.filter((o) => o.binId !== binIdToDelete);\n if (onChange) onChange(newState);\n return newState;\n });\n },\n [onChange],\n );\n\n const onEmptyBin = React.useCallback(() => {\n setBinState([]);\n if (onChange) onChange([]);\n }, [onChange]);\n\n const createBinObject = (binObject) => {\n const [binId] = uuidv4().split('-');\n return { binId, ...binObject };\n };\n\n const handleDrop = React.useCallback(\n ({ dragInfo = {} } = {}) => {\n const { entityId, entityType, entity } = dragInfo;\n if (!entityId || !entityType || !entity) {\n throw new Error('Dragged element needs to have entityId, entityType and entity props');\n }\n setBinState((state = []) => {\n if (isUniqueBinItem(state, dragInfo) || allowDuplicates) {\n const newState = [...state, createBinObject(dragInfo)];\n if (onChange) onChange(newState);\n return newState;\n }\n return state;\n });\n },\n [allowDuplicates, isUniqueBinItem, onChange],\n );\n\n const handleSort = React.useCallback(\n ({ dragId, hoverId, originalDragIndex }) => {\n if (dragId === undefined || (hoverId === undefined && originalDragIndex === undefined))\n return;\n setBinState((state) => {\n const newState = [...state];\n const dragIndex = binState.findIndex((o) => o.binId === dragId);\n const hoverIndex = binState.findIndex((o) => o.binId === hoverId);\n const newDragIndex = hoverIndex > -1 ? hoverIndex : originalDragIndex;\n [newState[newDragIndex], newState[dragIndex]] = [\n newState[dragIndex],\n newState[newDragIndex],\n ];\n if (onChange) onChange(newState);\n return newState;\n });\n },\n [binState, onChange],\n );\n\n const contextValue = React.useMemo(\n () => ({\n setBin: setBinState,\n bin: binState,\n allowDuplicates,\n setAllowDuplicates,\n onDrop: handleDrop,\n onSort: handleSort,\n onFind: () => null,\n onEmptyBin,\n onDelete,\n }),\n [allowDuplicates, binState, handleDrop, handleSort, onDelete, onEmptyBin],\n );\n\n return <BinContext.Provider value={contextValue}>{children}</BinContext.Provider>;\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nconst SettingsDispatchContext = React.createContext();\nconst SettingsStateContext = React.createContext();\n\nconst UPDATE_ALL_SETTINGS = 'UPDATE_ALL_SETTINGS';\nconst UPDATE_SETTING = 'UPDATE_SETTING';\nconst UPDATE_USERNAME = 'UPDATE_USERNAME';\nconst REMOVE_SETTING = 'REMOVE_SETTING';\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case UPDATE_USERNAME: {\n return { ...state, userName: action.userName };\n }\n case UPDATE_ALL_SETTINGS: {\n return { ...state, settings: action.settings };\n }\n case UPDATE_SETTING: {\n const settings = { ...state.settings, ...action.setting };\n return { ...state, settings };\n }\n case REMOVE_SETTING: {\n const settings = { ...state.settings };\n delete settings[action.key];\n return { ...state, settings };\n }\n default:\n return state;\n }\n};\n\nfunction SettingsProvider({\n userName: initialUsername,\n settingsKey,\n children,\n initialSettings,\n onChange,\n getSettingsApi,\n updateSettingsApi,\n}) {\n const [state, dispatch] = React.useReducer(reducer, {\n settings: initialSettings,\n userName: initialUsername,\n });\n const currentSettingsFromServer = React.useRef();\n\n React.useEffect(() => {\n const { userName } = state;\n if (!getSettingsApi || !userName) return;\n getSettingsApi({\n entityType: 'user',\n entityId: userName,\n key: settingsKey,\n })\n .then(({ data: settings }) => {\n dispatch({\n type: UPDATE_ALL_SETTINGS,\n settings,\n userName,\n settingsKey,\n });\n currentSettingsFromServer.current = JSON.stringify(settings);\n })\n .catch((error) => {\n const { response } = error;\n if (response.status !== 404) {\n throw new Error(error);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.userName]);\n\n React.useEffect(() => {\n if (onChange) onChange(state.settings);\n const { userName } = state;\n if (!updateSettingsApi || !userName) return;\n const newValue = JSON.stringify(state.settings);\n const currentValue = currentSettingsFromServer.current;\n if (!currentValue || newValue === currentValue) return;\n updateSettingsApi({\n entityType: 'user',\n entityId: userName,\n key: settingsKey,\n value: newValue,\n });\n currentSettingsFromServer.current = newValue;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.settings]);\n\n return (\n <SettingsStateContext.Provider value={state}>\n <SettingsDispatchContext.Provider value={dispatch}>\n {children}\n </SettingsDispatchContext.Provider>\n </SettingsStateContext.Provider>\n );\n}\n\nconst useSettingsState = () => {\n const state = React.useContext(SettingsStateContext);\n if (!state) throw new Error('useSettingsState must be used within SettingsStateContext');\n return state;\n};\n\nconst useSettingsDispatch = () => {\n const dispatch = React.useContext(SettingsDispatchContext);\n if (!dispatch) throw new Error('useSettingsDispatch must be used within SettingsDispatchContext');\n return dispatch;\n};\n\nconst useSettingsActions = () => {\n const dispatch = useSettingsDispatch();\n const updateAllSettings = React.useCallback(\n (settings) => dispatch({ type: UPDATE_ALL_SETTINGS, settings }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateSetting = React.useCallback(\n (setting) => dispatch({ type: UPDATE_SETTING, setting }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateUsername = React.useCallback(\n (userName) => dispatch({ type: UPDATE_USERNAME, userName }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const removeSetting = React.useCallback((key) => dispatch({ type: REMOVE_SETTING, key }), []);\n return {\n updateAllSettings,\n updateSetting,\n updateUsername,\n removeSetting,\n };\n};\n\nconst useSettings = () => {\n const { settings = {} } = useSettingsState();\n const actions = useSettingsActions();\n return {\n ...actions,\n settings,\n };\n};\n\nSettingsProvider.propTypes = {\n userName: PropTypes.string.isRequired,\n settingsKey: PropTypes.string.isRequired,\n children: PropTypes.objectOf(PropTypes.any),\n initialSettings: PropTypes.objectOf(PropTypes.any),\n onChange: PropTypes.func,\n getSettingsApi: PropTypes.func,\n updateSettingsApi: PropTypes.func,\n};\n\nSettingsProvider.defaultProps = {\n children: null,\n initialSettings: {},\n onChange: null,\n getSettingsApi: MetadataApi.getSimpleMetadataKey,\n updateSettingsApi: MetadataApi.updateSimpleMetadataKey,\n};\n\nexport { SettingsProvider, useSettingsActions, useSettings };\n","import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { useCookies } from 'react-cookie';\n\nimport { user as UserApi, noauth as NoAuthApi, utils as api } from '@vidispine/vdt-api';\n\nimport { useApi } from '../hooks';\nimport { VidispineApi } from '../wrappers';\n\nconst VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';\nconst VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';\nconst VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';\nconst VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';\nconst ERROR_CREDENTIALS = 'Incorrect username or password';\nconst ERROR_OFFLINE = 'Offline or CORS not configured';\nconst ERROR_TOKEN_EXPIRED = 'Session expired';\nconst ERROR_SERVER_MISMATCH = 'VIDISPINE_URL mismatch';\n\nconst getErrorMessage = (serverUrl) => {\n try {\n // NoAuthApi.isOnline throws cors error after multiple requests\n return NoAuthApi.getSelfTest({ baseURL: serverUrl })\n .then(() => ERROR_CREDENTIALS)\n .catch(() => ERROR_OFFLINE);\n } catch (_) {\n return Promise.resolve(ERROR_OFFLINE);\n }\n};\n\nconst defaultOnGetToken = ({ maxAge: seconds = 60, userName, password, serverUrl }) => {\n try {\n return UserApi.getToken({\n queryParams: { seconds, autoRefresh: 'true' },\n headers: { password, username: userName },\n baseURL: serverUrl,\n })\n .then(({ data: token }) => {\n return token;\n })\n .catch(() => {\n return getErrorMessage(serverUrl).then((error) => {\n throw Error(error);\n });\n });\n } catch (_) {\n return getErrorMessage(serverUrl).then((error) => {\n throw Error(error);\n });\n }\n};\n\nexport const AuthContext = React.createContext({\n serverUrl: null,\n token: null,\n userType: null,\n userName: null,\n onLogin: () => null,\n onLogout: () => null,\n});\n\nexport function AuthProvider({\n cookieOptions,\n LoginComponent,\n LoginProps,\n onGetToken,\n onSuccess,\n onError,\n serverUrl: propsServerUrl,\n userName: propsUserName,\n token: propsToken,\n children,\n}) {\n const { data: userType, request: getUser } = useApi(UserApi.getUser);\n\n const [cookies, setCookie, removeCookie] = useCookies([\n VIDISPINE_TOKEN,\n VIDISPINE_USERNAME,\n VIDISPINE_SERVER_URL,\n VIDISPINE_REMEMBER_ME,\n ]);\n const {\n [VIDISPINE_TOKEN]: token = propsToken,\n [VIDISPINE_USERNAME]: userName = propsUserName,\n [VIDISPINE_SERVER_URL]: serverUrl = propsServerUrl,\n } = cookies;\n const rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';\n const { maxAge } = cookieOptions;\n const onLogin = React.useCallback(\n (values) => {\n let submissionError;\n try {\n return onGetToken({ maxAge, ...values })\n .then((newToken) => {\n const {\n userName: newUserName,\n serverUrl: newServerUrl,\n rememberMe: newRememberMe,\n } = values;\n if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);\n if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);\n if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);\n if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);\n if (onSuccess) onSuccess(values);\n })\n .catch((error) => {\n submissionError = error;\n if (onError) onError(submissionError);\n });\n } catch (error) {\n submissionError = error;\n if (onError) onError(submissionError);\n }\n return submissionError;\n },\n [cookieOptions, maxAge, onError, onGetToken, onSuccess, setCookie],\n );\n const onLogout = React.useCallback(() => {\n removeCookie(VIDISPINE_TOKEN, cookieOptions);\n if (!rememberMe) {\n removeCookie(VIDISPINE_USERNAME, cookieOptions);\n removeCookie(VIDISPINE_SERVER_URL, cookieOptions);\n removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);\n }\n }, [cookieOptions, rememberMe, removeCookie]);\n\n const responseInterceptor = React.useRef();\n React.useEffect(() => {\n if (token) {\n if (responseInterceptor.current)\n api.defaultClient.interceptors.response.eject(responseInterceptor.current);\n responseInterceptor.current = api.defaultClient.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n onLogout();\n if (onError) onError(Error(ERROR_TOKEN_EXPIRED));\n }\n } else {\n const { config: { baseURL } = {} } = error;\n NoAuthApi.getSelfTest({ baseURL })\n .then(() => {\n onLogout();\n if (onError) onError(Error(ERROR_TOKEN_EXPIRED));\n })\n .catch(() => null); // Will throw if offline or CORS error\n }\n return Promise.reject(error);\n },\n );\n }\n return () => {\n if (responseInterceptor.current)\n api.defaultClient.interceptors.response.eject(responseInterceptor.current);\n };\n }, [onLogout, onError, token]);\n\n React.useEffect(() => {\n if (token && userName === undefined) {\n UserApi.whoAmI().then(({ data: newUserName }) =>\n setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userName, token]);\n\n React.useEffect(() => {\n if (token && userName && userType === undefined) getUser({ userName });\n }, [userName, token, userType, getUser, onLogout]);\n React.useEffect(() => {\n if (token && serverUrl && propsServerUrl && serverUrl !== propsServerUrl) {\n onLogout();\n if (onError) onError(Error(ERROR_SERVER_MISMATCH));\n }\n }, [token, serverUrl, propsServerUrl, onLogout, onError]);\n\n const contextValue = React.useMemo(\n () => ({\n serverUrl,\n token,\n userType,\n userName,\n onLogin,\n onLogout,\n }),\n [onLogin, onLogout, serverUrl, token, userName, userType],\n );\n\n return token ? (\n <VidispineApi token={token} username={userName} serverUrl={serverUrl}>\n <AuthContext.Provider value={contextValue}>{children}</AuthContext.Provider>\n </VidispineApi>\n ) : (\n <LoginComponent\n onLogin={onLogin}\n userName={userName}\n serverUrl={serverUrl}\n rememberMe={rememberMe}\n {...LoginProps}\n />\n );\n}\n\nAuthProvider.propTypes = {\n cookieOptions: PropTypes.shape({\n maxAge: PropTypes.number,\n path: PropTypes.string,\n }),\n LoginComponent: PropTypes.elementType.isRequired,\n LoginProps: PropTypes.objectOf(PropTypes.any),\n onGetToken: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n serverUrl: PropTypes.string.isRequired,\n userName: PropTypes.string,\n token: PropTypes.string,\n};\n\nAuthProvider.defaultProps = {\n cookieOptions: {\n maxAge: 604800,\n path: '/',\n },\n LoginProps: {},\n onGetToken: defaultOnGetToken,\n children: null,\n onSuccess: null,\n onError: null,\n userName: null,\n token: null,\n};\n\nexport const useAuthContext = () => {\n const context = React.useContext(AuthContext);\n if (context === undefined) {\n throw new Error('useAuth must be used within an AuthContext');\n }\n\n return context;\n};\n","import { collection as CollectionApi } from '@vidispine/vdt-api';\n\nexport const handleAddEntity = ({ entityId, entityType, collectionId, rootParentId, onError }) => {\n if (collectionId && collectionId !== rootParentId) {\n try {\n return CollectionApi.addCollectionEntity({\n collectionId,\n entityId,\n queryParams: {\n type: entityType.toLowerCase(),\n },\n });\n } catch (error) {\n onError({\n message: `Could not add ${entityId} to collection ${collectionId}`,\n error,\n });\n }\n }\n return undefined;\n};\nexport const handleRemoveEntity = ({\n entityId,\n entityType,\n collectionId,\n rootParentId,\n onError,\n}) => {\n if (collectionId && collectionId !== rootParentId) {\n try {\n return CollectionApi.removeCollectionEntity({\n collectionId,\n entityId,\n queryParams: {\n type: entityType.toLowerCase(),\n },\n });\n } catch (error) {\n onError({\n message: `Could not remove ${entityId} from collection ${collectionId}`,\n error,\n });\n }\n }\n return undefined;\n};\n\nexport const handleMoveEntity = ({\n entityId,\n entityType,\n addToCollectionId,\n removeFromCollectionId,\n rootParentId,\n onAddEntity = handleAddEntity,\n onRemoveEntity = handleRemoveEntity,\n onMoved = () => null,\n onAdded = () => null,\n onRemoved = () => null,\n // eslint-disable-next-line no-console\n onError = ({ message, error }) => console.error(`${message}\\n${error}`),\n}) => {\n if (!addToCollectionId) {\n onError({ message: 'Missing the collection id to add entity to', error: '' });\n return;\n }\n if (!removeFromCollectionId) {\n onError({ message: 'Missing the collection id to remove entity from', error: '' });\n return;\n }\n try {\n const addPromise = onAddEntity({\n entityId,\n entityType,\n rootParentId,\n collectionId: addToCollectionId,\n onError,\n });\n const removePromise = onRemoveEntity({\n entityId,\n entityType,\n rootParentId,\n collectionId: removeFromCollectionId,\n onError,\n });\n const promises = [addPromise, removePromise].filter((e) => e !== undefined);\n Promise.allSettled(promises)\n .then((results) => {\n const failedResults = results.filter((r) => r.status !== 'fulfilled');\n const allSucceeded = failedResults.length === 0;\n const allFailed = failedResults.length === promises.length;\n const oneFailed = failedResults.length === 1;\n if (allSucceeded) {\n onMoved();\n onAdded();\n onRemoved();\n } else if (allFailed) {\n onError({\n message:\n `Could not move ${entityId} from ` +\n `${removeFromCollectionId} to ${addToCollectionId}`,\n error: failedResults.map((fr) => fr.reason).join('\\n'),\n });\n } else if (oneFailed) {\n const failedRequest = failedResults[0].reason.config.method;\n const failedToRemove = failedRequest === 'delete';\n const failedToAdd = failedRequest === 'put';\n onError({\n message: failedToRemove\n ? `Could not remove ${entityId} from collection ${removeFromCollectionId}`\n : `Could not add ${entityId} to collection ${addToCollectionId}`,\n error: failedResults[0].reason,\n });\n let rollbackPromise;\n if (failedToRemove) {\n rollbackPromise = onRemoveEntity({\n entityId,\n entityType,\n collectionId: addToCollectionId,\n onError,\n });\n } else if (failedToAdd) {\n rollbackPromise = onAddEntity({\n entityId,\n entityType,\n collectionId: removeFromCollectionId,\n onError,\n });\n }\n if (rollbackPromise) {\n rollbackPromise\n .then(() => {\n // eslint-disable-next-line no-console\n console.info(\n `Rollbacked moving ${entityId} from ` +\n `${removeFromCollectionId} to ${addToCollectionId}`,\n );\n })\n .catch((error) => {\n onError({ message: 'Could not rollback after moving entity', error });\n });\n }\n }\n })\n .catch((error) => {\n onError({\n message: `Could not add ${entityId} to collection ${addToCollectionId}`,\n error,\n });\n });\n } catch (error) {\n onError({\n message: `Could not move ${entityId} from ${removeFromCollectionId} to collection ${addToCollectionId}`,\n error,\n });\n }\n};\n\nexport default { handleMoveEntity, handleAddEntity, handleRemoveEntity };\n","import React from 'react';\n\n// TODO: convert this into a HOC, withDropArea\nexport default function DropArea({\n children,\n setDrag,\n onDrop: onDropProp,\n onDragEnter: onDragEnterProp,\n onDragOver: onDragOverProp,\n onDragLeave: onDragLeaveProp,\n style,\n}) {\n const [dragCounter, setDragCounter] = React.useState(0);\n\n const onDrop = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDrag(false);\n if (onDropProp) onDropProp(e);\n };\n\n const onDragEnter = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDragCounter(dragCounter + 1);\n if (dragCounter === 0) setDrag(true);\n if (onDragEnterProp) onDragEnterProp(e);\n };\n\n const onDragOver = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (onDragOverProp) onDragOverProp(e);\n };\n\n const onDragLeave = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDragCounter(dragCounter - 1);\n if (dragCounter === 1) setDrag(false);\n if (onDragLeaveProp) onDragLeaveProp(e);\n };\n\n return (\n <div\n onDragEnter={(e) => onDragEnter(e)}\n onDragOver={(e) => onDragOver(e)}\n onDrop={(e) => onDrop(e)}\n onDragLeave={(e) => onDragLeave(e)}\n style={style}\n >\n {children}\n </div>\n );\n}\n"],"names":["setDefaultState","hasLoaded","isLoading","isError","response","undefined","data","responseRef","current","apiReducer","state","action","type","responseType","newState","initialState","useApi","apiHandler","cancelToken","React","useRef","initialDefaultState","initialStateRef","useReducer","dispatch","request","useCallback","props","Promise","resolve","reject","canceltoken","api","CancelToken","c","then","reset","cancel","useEffect","CHANGE_PAGE","CHANGE_ROWS","CHANGE_SORT","CHANGE_SEARCHTEXT","CHANGE_SEARCHFIELD","CHANGE_SEARCHFIELDFACET","CHANGE_SEARCHFILTER","CHANGE_SEARCHFILTERFACET","CHANGE_PARENT_COLLECTION","CHANGE_FACET","CHANGE_ITEMSEARCHDOCUMENT","CHANGE_QUERYPARAMS","CHANGE_MATRIXPARAMS","CHANGE_SUGGESTION","ACTION_TYPE","setInitialDefaultState","queryParams","matrixParams","itemSearchDocument","rowsPerPage","page","content","interval","first","number","intervals","filter","searchReducer","searchText","value","sort","field","order","text","facet","parentCollection","operator","name","operation","suggestion","useSearch","onChangeRowsPerPage","newRows","target","onChangePage","newPage","onChangeSort","event","setSearchText","setItemSearchDocument","setQueryParams","CHANGE_ITEMQUERYPARAMS","setMatrixParams","CHANGE_ITEMMATRIXPARAMS","setSearchField","setSearchFieldFacet","map","count","setSearchFilter","setSearchFilterFacet","fieldList","reduce","a","concat","exclude","setFacet","setParentCollection","setSuggestion","useUpdateEffect","fn","inputs","hasMountedRef","maximumSuggestions","useAutocomplete","useState","autocompleteDoc","setAutocompleteDoc","setAutocompleteField","setAutocompleteText","setAutocompleteMaxSuggestions","SearchApi","searchAutoComplete","suggestions","autocompleteRequestDocument","propKey","selected","setSelected","onSelect","checked","propValue","currentIndex","findIndex","thisSelected","newSelected","splice","isSelected","onClear","initialTab","activeTab","setActiveTab","changeTab","_","newValue","useInterval","callback","delay","savedCallback","tick","id","setInterval","clearInterval","useThumbnailScrub","srcList","savedInterval","initialImgIdx","useMemo","Math","floor","length","imgIdx","setImgIdx","imgIdxRef","width","onMouseEnter","onMouseLeave","imageSrc","CHANGE_TYPE","CHANGE_STATE","CHANGE_PRIORITY","CHANGE_STARTTIME","CHANGE_FINISHTIME","jobMetadata","rest","newMatrixParams","Array","isArray","join","newQueryParams","CHANGE_JOBMETADATA","useJobSearch","fieldName","_typeof","onChangeType","onChangeState","onChangePriority","onChangeStarttime","onChangeFinishtime","onChangeJobmetadata","useLocalStorage","localStorageKey","defaultValue","JSON","parse","window","localStorage","getItem","stringify","setValue","setItem","getValue","uuidv4","replace","crypto","getRandomValues","Uint8Array","toString","b64EncodeUnicode","str","compressToEncodedURIComponent","b64DecodeUnicode","slice","decodeURIComponent","atob","split","charCodeAt","decompressFromEncodedURIComponent","DEFAULT_AUDIO_SHAPETAGS","DEFAULT_VIDEO_SHAPETAGS","DEFAULT_IMAGE_SHAPETAGS","AUDIO_MIMETYPE_PREFIX","VIDEO_MIMETYPE_PREFIX","IMAGE_MIMETYPE_PREFIX","ADDITIONAL_VIDEO_MIMETYPES","ADDITIONAL_IMAGE_MIMETYPES","ADDITIONAL_AUDIO_MIMETYPES","getDefaultShapeTags","file","mimeType","toLowerCase","startsWith","includes","chunkedUpload","uploadInstance","ChunkedUpload","onFail","error","onComplete","resp","upload","onUploadFile","collectionId","onProgress","metadata","propsMetadata","placeholderParams","importParams","chunkedUploadProps","generateTransferId","getShapeTags","itemId","shapeTags","filename","mediaType","originalFilename","metadataDocument","createMetadataType","ImportApi","createImportPlaceholder","container","itemDocument","collectionIds","all","CollectionApi","addCollectionEntity","entityId","transferId","tag","method","createImportComponentRaw","component","err","console","useUploadFiles","handleUploadFile","initialMetadata","files","setFiles","forEach","URL","revokeObjectURL","preview","onAddFiles","newFiles","newFilesObj","title","currentFiles","onChangeFile","idx","changeFile","currentFilesList","currentFile","newMetadata","newProgress","progress","currentMetadata","currentProgress","newFilesList","newFile","onChangeProgress","onChangeMetadata","onUpload","uploadProps","previousPromise","thisFile","res","currentResult","onRemoveFile","_toConsumableArray","i","onRemoveFiles","idxs","useQueryInitialState","history","navigate","propLocation","location","queryName","defaultState","defaultStateRef","queryState","searchParams","URLSearchParams","search","encodedQuery","get","decodedQuery","pathName","queryInitialState","useUpdateQueryState","onSearchStateChange","useEntityAccess","entityType","AccessApi","listEntityAccess","accessControlList","onList","onRemove","accessId","removeEntityAccess","onAdd","accessControlDocument","createEntityAccess","getValueFromData","key","find","d","defaultGetDataAttributes","fieldOrGroup","keys","Object","assign","getOptions","values","f","label","convertValuesXmlToJson","xmlString","doc","DOMParser","parseFromString","fields","getElementsByTagName","json","childNodes","keyNode","valueNode","push","nodeName","firstChild","nodeValue","useAddMetadataFieldAttributes","groups","getDataAttributes","fieldDataToInclude","groupDataToInclude","fieldQueryParams","groupQueryParams","setIsLoading","fieldsWithAttributes","setFieldsWithAttributes","groupsWithAttributes","setGroupsWithAttributes","useDeepCompareEffect","addFieldAttributes","fieldsArray","fieldsAttributes","overrides","fieldAttributes","dataAttributes","constraint","options","addGroupAttributes","groupsArray","groupsAttributes","group","groupAttributes","childFields","childGroups","didCancel","fetchAttributesAsync","fieldPromises","MetadataFieldApi","getMetadataField","warn","groupPromises","groupsToFetch","groupName","FieldGroupApi","getFieldGroup","dataValues","e","jsonValues","g","some","v","newGroupsWithAttributes","b","indexOf","UPDATE_FREQUENCY","UPDATE_MODE","saveSearch","markerField","markerValue","ItemApi","searchItem","result","updateMode","updateFrequency","library","createCollection","collectionDocument","getLibraryFromCollection","getCollection","children","collectionType","libraryType","Error","deleteSearch","libraryId","LibraryApi","removeLibrary","removeCollection","getLibrarySettings","query","getSavedSearchSettings","useSavedSearch","initialSearchState","onSaveSearch","onDeleteSearch","onUpdateSearchMetadata","updateCollectionMetadata","onGetSavedSearchSettings","saveSearchWithMarker","mergeMarkerField","searchProps","useSearchItem","itemListType","onRefresh","useMouseDownPosition","x","y","position","setPosition","setFromEvent","clientX","clientY","addEventListener","removeEventListener","useGetCollection","refreshOnMount","getCollectionItem","useGetEntity","dataType","entityApi","entityTypeId","getLibrary","apiProps","onGetEntity","useUser","UserApi","getUser","userType","userName","updateUser","userDocument","updateUserGroups","updateUserGroup","groupListDocument","removeUserFromGroup","GroupApi","removeGroupUser","changePassword","password","passwordType","deleteUser","disableUser","hard","args","enableUser","CHANGE_QUERY","userSearchDocument","useSearchUser","searchUser","userListDocument","onSearchUser","onChangeQuery","useListGroup","listGroup","groupListType","useListUser","listUser","userListType","HIDE_ROLES","groupSearchDocument","hideRoles","role","useSearchGroup","searchGroup","onSearchGroup","onHideRoles","useGroup","getGroup","groupType","updateGroup","groupDocument","addChildGroups","childGroupList","addParentGroups","parentGroupList","addUsersToGroup","users","userList","user","u","removeChildGroup","childGroupName","removeGroupChildren","removeFromParentGroup","parentGroupName","removeGroup","useGetItem","itemType","useCollectionAutoPlay","defaultEnabled","nextPlaying","setNextPlaying","isAutoPlayEnabled","setIsAutoPlayEnabled","toggleAutoPlay","prevValue","allItemsRef","orderItemsRef","hitsRef","onNext","searchDocument","searchForNext","allItems","orderItems","searchCollectionItem","hits","item","itemList","contentList","currentItemIdx","thisId","remainingItems","nextItem","defaultGetThumbnailTimeCodes","timeCodes","index","uri","timeCodeFromURI","timecodeText","formatTimeCodeText","useHoverScrub","customOffset","durationSeconds","getThumbnailTimeCodes","scrubPosition","setScrubPosition","thumbnailIndex","setThumbnailIndex","showScrub","setShowScrub","thumbnailTimeCodeArray","setThumbnailTimeCodeArray","thumbnailTimeCode","setThumbnailTimeCode","thumbnailWidth","setThumbnailWidth","debouncedSetNewThumbnail","_debounce","val","getOffsetLeft","element","round","getBoundingClientRect","left","getMouseElementPosition","mouseElementPosition","currentTarget","elementWidth","offsetWidth","indexOfPrecededTimeCode","num","arr","curr","diff","abs","newDiff","isPositiveDiff","onMouseMove","mouseTimecodePosition","formatSeconds","newIndex","tc","toSeconds","toFixed","handleShowScrub","useDocSearchAutocomplete","searchDoc","debounceTime","suggestionSettings","accuracy","triggerLength","apiCall","textValue","setTextValue","handleAutocompleteChange","debounce","autocomplete","body","useGetFieldMetadataDataset","MetadatafieldApi","getMetadataFieldAllowedValues","constraintValueListType","getMetadataDataset","datasetField","parentValue","parentField","metadataFieldValueConstraintListDocument","dataset","getCollectionTitle","useGetSavedSearchFolders","childFolders","markerProps","expand","currentFolders","setCurrentFolders","subFolders","setSubFolders","errors","setErrors","getSubFolders","timespan","newFolders","prevState","createFolder","parentId","saved_search_folder","updateCollection","mode","collection","folderId","deleteFolder","removeItem","folder","useRepresentativeItems","onError","representativeItems","setRepresentativeItems","asyncGetRepresentativeItems","getCollectionMetadata","parseMetadataType","flat","includeValueAttributes","newRepresentativeItems","updateAsRepresentativeItem","entityIdValueUuids","uuid","defaultOnGetStorage","storageData","StorageApi","listStorage","storage","defaultOnCreate","list","createLibrary","itemListDocument","defaultOnList","storageInfo","fileName","outputFormat","createNewUri","uriBeforeRegion","uriAfterRegion","newUri","encodeURIComponent","getLibraryBatch","destinationUri","SUCCESSFUL_STATES","INACTIVE_STATES","defaultOnGetFile","params","jobId","filePath","JobApi","getJob","status","FileApi","listFileStorage","storageId","path","methodMetadata","r","open","message","setTimeout","useCsvDownload","onSuccess","onGetFile","onCreateList","onGetStorage","onDownload","useCompoundMetadata","groupFields","setGroupFields","isFamily","el","hasMultipleChild","groupFamily","tableColumns","onChange","row","groupIndex","editIndex","newGroups","newRow","rowIndex","onSubmit","groupNames","newGroup","parentGroup","childGroup","newTimeSpan","subGroup","newSubGroup","MetadataApi","removeMetadata","metadataUuid","updateItemMetadata","MetadataType","joinValue","groupAsList","metadataType","cloneProps","cloneChild","child","cloneElement","Children","SearchCollection","searchCollection","collectionListType","SearchItem","SearchItemCollection","searchItemCollection","searchResultType","GetItem","GetCollectionContent","GetJobs","listJob","jobs","ListEntityAccess","VidispineApi","serverUrl","token","username","runAs","defaultClient","defaults","baseURL","headers","Authorization","auth","RunAs","prevProps","Component","VIDISPINE_TOKEN","VIDISPINE_USERNAME","VIDISPINE_SERVER_URL","VIDISPINE_REMEMBER_ME","handleOnGetToken","seconds","autoRefresh","getToken","submissionError","Auth","LoginComponent","LoginProps","AppComponent","AppProps","onGetToken","cookieOptions","maxAge","useCookies","cookies","setCookie","removeCookie","rememberMe","onLogin","newToken","newUserName","newServerUrl","newRememberMe","onLogout","ErrorBoundaryComponent","info","height","maxHeight","maxWidth","backgroundColor","color","componentStack","ErrorBoundary","hasError","nextProps","nextState","nextInfo","onErrorError","setState","GetFieldGroup","metadataFieldGroupDocument","RolesContext","createContext","RolesProvider","intialState","knownUserName","setGroupListType","onGetUserRole","getUserRole","iAm","whoAmI","useRoles","useContext","hasRole","roleName","groupList","ROLES","SUPER_ACCESS_USER","thisRole","HasRole","allow","deny","loading","checkedRole","isValidElement","ComposeProviders","providers","reduceRight","acc","Provider","ProviderComponent","provider","providerProps","withErrorBoundary","WrappedComponent","errorBoundaryProps","compose","funcs","arg","BinContext","defaultIsUniqueBinItem","bin","entityTimespan","start","end","entityExistsInBin","o","entity","entityTimespanExistsInBin","binEntitiesWithSameId","beStart","beEnd","beName","BinProvider","allowDuplicates","defaultAllowDuplicates","isUniqueBinItem","binState","setBinState","setAllowDuplicates","onDelete","binIdToDelete","binId","onEmptyBin","createBinObject","binObject","handleDrop","dragInfo","handleSort","dragId","hoverId","originalDragIndex","dragIndex","hoverIndex","newDragIndex","contextValue","setBin","onDrop","onSort","onFind","reactIsModule","require$$0","require$$1","ReactPropTypesSecret","has","printWarning","checkPropTypes","ReactIs","require$$2","require$$3","require$$4","propTypesModule","SettingsDispatchContext","SettingsStateContext","UPDATE_ALL_SETTINGS","UPDATE_SETTING","UPDATE_USERNAME","REMOVE_SETTING","reducer","settings","setting","SettingsProvider","initialUsername","settingsKey","initialSettings","getSettingsApi","updateSettingsApi","currentSettingsFromServer","currentValue","useSettingsState","useSettingsDispatch","useSettingsActions","updateAllSettings","updateSetting","updateUsername","removeSetting","useSettings","actions","propTypes","PropTypes","string","isRequired","objectOf","any","func","defaultProps","getSimpleMetadataKey","updateSimpleMetadataKey","ERROR_CREDENTIALS","ERROR_OFFLINE","ERROR_TOKEN_EXPIRED","ERROR_SERVER_MISMATCH","getErrorMessage","NoAuthApi","getSelfTest","defaultOnGetToken","AuthContext","AuthProvider","propsServerUrl","propsUserName","propsToken","responseInterceptor","interceptors","eject","use","config","shape","elementType","oneOfType","arrayOf","useAuthContext","context","handleAddEntity","rootParentId","handleRemoveEntity","removeCollectionEntity","handleMoveEntity","addToCollectionId","removeFromCollectionId","onAddEntity","onRemoveEntity","onMoved","onAdded","onRemoved","addPromise","removePromise","promises","allSettled","results","failedResults","allSucceeded","allFailed","oneFailed","fr","reason","failedRequest","failedToRemove","failedToAdd","rollbackPromise","DropArea","setDrag","onDropProp","onDragEnterProp","onDragEnter","onDragOverProp","onDragOver","onDragLeaveProp","onDragLeave","style","dragCounter","setDragCounter","preventDefault","stopPropagation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/hooks/useApi.js","../src/hooks/useSearch.js","../src/hooks/useUpdateEffect.js","../src/hooks/useAutocomplete.js","../src/hooks/useSelected.js","../src/hooks/useTab.js","../src/hooks/useInterval.js","../src/hooks/useThumbnailScrub.js","../src/hooks/useJobSearch.js","../src/hooks/useLocalStorage.js","../src/utils.js","../src/hooks/useUploadFiles.js","../src/hooks/useQueryInitialState.js","../src/hooks/useUpdateQueryState.js","../src/hooks/useEntityAccess.js","../src/hooks/useAddMetadataFieldAttributes.js","../src/hooks/useSavedSearch.js","../src/hooks/useSearchItem.js","../src/hooks/useMouseDownPosition.js","../src/hooks/useGetCollection.js","../src/hooks/useGetCollectionItem.js","../src/hooks/useGetEntity.js","../src/hooks/useUser.js","../src/hooks/useSearchUser.js","../src/hooks/useListGroup.js","../src/hooks/useListUser.js","../src/hooks/useSearchGroup.js","../src/hooks/useGroup.js","../src/hooks/useGetItem.js","../src/hooks/useCollectionAutoPlay.js","../src/hooks/useHoverScrub.js","../src/hooks/useDocSearchAutocomplete.js","../src/hooks/useGetFieldMetadataDataset.js","../src/hooks/useGetSavedSearchFolders.js","../src/hooks/useRepresentativeItems.js","../src/hooks/useCsvDownload.js","../src/hooks/useCompoundMetadata.js","../src/wrappers/MetadataType.js","../src/wrappers/SearchCollection.js","../src/wrappers/SearchItem.js","../src/wrappers/SearchItemCollection.js","../src/wrappers/GetItem.js","../src/wrappers/GetCollection.js","../src/wrappers/GetJobs.js","../src/wrappers/ListEntityAccess.js","../src/wrappers/VidispineApi.js","../src/wrappers/Auth.js","../src/wrappers/ErrorBoundary.js","../src/wrappers/GetFieldGroup.js","../src/context/RolesContext.js","../src/wrappers/HasRole.js","../src/wrappers/ComposeProviders.js","../src/hoc/withErrorBoundary.js","../src/hoc/compose.js","../src/context/BinContext.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../../../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../../../node_modules/prop-types/node_modules/react-is/index.js","../../../node_modules/object-assign/index.js","../../../node_modules/prop-types/lib/ReactPropTypesSecret.js","../../../node_modules/prop-types/lib/has.js","../../../node_modules/prop-types/checkPropTypes.js","../../../node_modules/prop-types/factoryWithTypeCheckers.js","../../../node_modules/prop-types/factoryWithThrowingShims.js","../../../node_modules/prop-types/index.js","../src/context/SettingsContext.js","../src/context/AuthContext.js","../src/moveEntity.js","../src/DropArea.js"],"sourcesContent":["import React from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nconst setDefaultState = (\n {\n hasLoaded = false,\n isLoading = true,\n isError = false,\n response = undefined,\n data = undefined,\n } = {},\n responseRef = undefined,\n) => ({\n isLoading,\n hasLoaded,\n isError,\n response,\n data: responseRef && responseRef.current ? responseRef.current : data,\n});\n\nconst apiReducer = (state, action) => {\n switch (action.type) {\n case 'START': {\n return {\n ...state,\n isLoading: true,\n isError: false,\n };\n }\n case 'SUCCESS': {\n const { responseType } = action.response;\n const newState = {\n isLoading: false,\n isError: false,\n hasLoaded: true,\n response: action.response,\n data: action.response.data,\n };\n if (responseType) newState[responseType] = action.response[responseType];\n return newState;\n }\n case 'ERROR': {\n return {\n isLoading: false,\n isError: true,\n hasLoaded: true,\n response: action.response,\n data: action.response.data,\n };\n }\n case 'RESET': {\n return {\n ...action.initialState,\n };\n }\n default: {\n return state;\n }\n }\n};\n\nexport default function useApi(apiHandler, initialState, responseRef) {\n const cancelToken = React.useRef(() => null);\n const initialDefaultState = setDefaultState(initialState, responseRef);\n const initialStateRef = React.useRef(initialDefaultState);\n const [state, dispatch] = React.useReducer(apiReducer, initialDefaultState);\n const request = React.useCallback(\n (props) => {\n dispatch({ type: 'START' });\n return new Promise((resolve, reject) => {\n apiHandler({\n canceltoken: new api.CancelToken((c) => {\n cancelToken.current = c;\n }),\n ...props,\n })\n .then((response) => {\n resolve(response);\n dispatch({ type: 'SUCCESS', response });\n // eslint-disable-next-line no-param-reassign\n if (responseRef) responseRef.current = response.data;\n })\n .catch((response) => {\n reject(response);\n dispatch({ type: 'ERROR', response });\n });\n });\n },\n [apiHandler, responseRef],\n );\n const reset = React.useCallback(\n () => dispatch({ type: 'RESET', initialState: initialStateRef.current }),\n [],\n );\n const cancel = React.useCallback(() => cancelToken.current(), []);\n React.useEffect(\n () => () => {\n cancel();\n reset();\n },\n [cancel, reset],\n );\n return {\n request,\n reset,\n cancel,\n ...state,\n };\n}\n","import React from 'react';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_SEARCHTEXT = 'CHANGE_SEARCHTEXT';\nconst CHANGE_SEARCHFIELD = 'CHANGE_SEARCHFIELD';\nconst CHANGE_SEARCHFIELDFACET = 'CHANGE_SEARCHFIELDFACET';\nconst CHANGE_SEARCHFILTER = 'CHANGE_SEARCHFILTER';\nconst CHANGE_SEARCHFILTERFACET = 'CHANGE_SEARCHFILTERFACET';\nconst CHANGE_PARENT_COLLECTION = 'CHANGE_PARENT_COLLECTION';\nconst CHANGE_FACET = 'CHANGE_FACET';\nconst CHANGE_ITEMSEARCHDOCUMENT = 'CHANGE_ITEMSEARCHDOCUMENT';\nconst CHANGE_QUERYPARAMS = 'CHANGE_QUERYPARAMS';\nconst CHANGE_MATRIXPARAMS = 'CHANGE_MATRIXPARAMS';\nconst CHANGE_SUGGESTION = 'CHANGE_SUGGESTION';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_SEARCHTEXT,\n CHANGE_SEARCHFIELD,\n CHANGE_SEARCHFIELDFACET,\n CHANGE_SEARCHFILTER,\n CHANGE_SEARCHFILTERFACET,\n CHANGE_PARENT_COLLECTION,\n CHANGE_FACET,\n CHANGE_ITEMSEARCHDOCUMENT,\n CHANGE_QUERYPARAMS,\n CHANGE_MATRIXPARAMS,\n CHANGE_SUGGESTION,\n};\n\nconst setInitialDefaultState = ({\n queryParams = {},\n matrixParams = {},\n itemSearchDocument = {},\n rowsPerPage = 10,\n page = 0,\n ...state\n} = {}) => ({\n ...state,\n queryParams: {\n content: 'metadata',\n interval: 'generic',\n ...queryParams,\n },\n matrixParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...matrixParams,\n },\n itemSearchDocument: {\n intervals: 'generic',\n filter: [],\n ...itemSearchDocument,\n },\n rowsPerPage,\n page,\n});\n\nconst searchReducer = (state, action) => {\n switch (action.type) {\n case ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT: {\n return {\n ...state,\n itemSearchDocument: action.itemSearchDocument,\n };\n }\n case ACTION_TYPE.CHANGE_QUERYPARAMS: {\n return {\n ...state,\n queryParams: action.queryParams,\n };\n }\n case ACTION_TYPE.CHANGE_MATRIXPARAMS: {\n return {\n ...state,\n matrixParams: action.matrixParams,\n };\n }\n case ACTION_TYPE.CHANGE_PAGE: {\n return {\n ...state,\n page: action.page,\n matrixParams: {\n ...state.matrixParams,\n first: action.page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n return {\n ...state,\n rowsPerPage: action.rowsPerPage,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n number: action.rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SORT: {\n return {\n ...state,\n page: 0,\n searchText: action.value,\n sort: action.value,\n itemSearchDocument: {\n ...state.itemSearchDocument,\n sort: action.field\n ? [\n {\n field: action.field,\n order: action.order || 'descending',\n },\n ]\n : [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHTEXT: {\n return {\n ...state,\n page: 0,\n searchText: action.value,\n itemSearchDocument: action.value\n ? {\n ...state.itemSearchDocument,\n text: [{ value: `${action.value}` }],\n }\n : {\n ...state.itemSearchDocument,\n text: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFIELD: {\n return {\n ...state,\n page: 0,\n field: action.field,\n itemSearchDocument: action.field\n ? {\n ...state.itemSearchDocument,\n field: action.field,\n }\n : {\n ...state.itemSearchDocument,\n field: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFIELDFACET: {\n return {\n ...state,\n page: 0,\n field: action.field,\n facet: action.facet,\n itemSearchDocument: action.field\n ? {\n ...state.itemSearchDocument,\n field: action.field,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n field: [],\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFILTER: {\n return {\n ...state,\n page: 0,\n filter: action.filter,\n itemSearchDocument: action.filter\n ? {\n ...state.itemSearchDocument,\n filter: action.filter,\n }\n : {\n ...state.itemSearchDocument,\n filter: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SEARCHFILTERFACET: {\n return {\n ...state,\n page: 0,\n filter: action.filter,\n itemSearchDocument: action.filter\n ? {\n ...state.itemSearchDocument,\n filter: action.filter,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n filter: [],\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_FACET: {\n return {\n ...state,\n page: 0,\n facet: action.facet,\n itemSearchDocument: action.facet\n ? {\n ...state.itemSearchDocument,\n facet: action.facet,\n }\n : {\n ...state.itemSearchDocument,\n facet: [],\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_PARENT_COLLECTION: {\n return {\n ...state,\n page: 0,\n parentCollection: action.value,\n itemSearchDocument: action.value\n ? {\n ...state.itemSearchDocument,\n operator: {\n field: [\n { name: '__parent_collection', value: [{ value: `${action.value}` }] },\n { name: '__collection', value: [{ value: `${action.value}` }] },\n ],\n operation: 'OR',\n },\n }\n : {\n ...state.itemSearchDocument,\n operator: undefined,\n },\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SUGGESTION: {\n return {\n ...state,\n itemSearchDocument: {\n ...state.itemSearchDocument,\n suggestion: action.suggestion,\n },\n };\n }\n default: {\n return state;\n }\n }\n};\n\nexport default function useSearch(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = React.useReducer(searchReducer, initialDefaultState);\n\n const onChangeRowsPerPage = ({ target: { value: newRows } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage: newRows,\n });\n\n const onChangePage = ({ page: newPage }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page: newPage,\n });\n\n const onChangeSort = (event, field, order) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field,\n order,\n });\n\n const setSearchText = React.useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHTEXT,\n value,\n }),\n [],\n );\n\n const setItemSearchDocument = React.useCallback(\n (itemSearchDocument) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT,\n itemSearchDocument,\n }),\n [],\n );\n\n const setQueryParams = React.useCallback(\n (queryParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMQUERYPARAMS,\n queryParams,\n }),\n [],\n );\n\n const setMatrixParams = React.useCallback(\n (matrixParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMMATRIXPARAMS,\n matrixParams,\n }),\n [],\n );\n\n const setSearchField = React.useCallback(\n (field) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFIELD,\n field,\n }),\n [],\n );\n\n const setSearchFieldFacet = React.useCallback((field) => {\n const facet = field.map(({ name }) => ({ field: name, count: true }));\n dispatch({ type: ACTION_TYPE.CHANGE_SEARCHFIELDFACET, field, facet });\n }, []);\n\n const setSearchFilter = React.useCallback(\n (filter) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFILTER,\n filter,\n }),\n [],\n );\n\n const setSearchFilterFacet = React.useCallback(\n (filter) => {\n const fieldList = filter.reduce((a, { field = [] }) => a.concat(field), []);\n const facet = fieldList.map(({ name }) => ({\n name,\n field: name,\n count: true,\n exclude: [name],\n }));\n dispatch({ type: ACTION_TYPE.CHANGE_SEARCHFILTERFACET, filter, facet });\n },\n [dispatch],\n );\n\n const setFacet = React.useCallback(\n (facet) => {\n dispatch({ type: ACTION_TYPE.CHANGE_FACET, facet });\n },\n [dispatch],\n );\n\n const setParentCollection = React.useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PARENT_COLLECTION,\n value,\n }),\n [],\n );\n\n const setSuggestion = React.useCallback((suggestion) => {\n dispatch({ type: ACTION_TYPE.CHANGE_SUGGESTION, suggestion });\n }, []);\n\n return {\n state,\n onChangeRowsPerPage,\n onChangePage,\n onChangeSort,\n setSearchText,\n setSearchField,\n setSearchFieldFacet,\n setSearchFilter,\n setSearchFilterFacet,\n setFacet,\n setItemSearchDocument,\n setQueryParams,\n setMatrixParams,\n setParentCollection,\n setSuggestion,\n };\n}\n","import React from 'react';\n\nexport default function useUpdateEffect(fn, inputs) {\n const hasMountedRef = React.useRef(false);\n React.useEffect(() => {\n if (hasMountedRef.current) {\n fn();\n } else {\n hasMountedRef.current = true;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, inputs);\n}\n","import React from 'react';\n\nimport { search as SearchApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\nimport useUpdateEffect from './useUpdateEffect';\n\nconst setInitialDefaultState = ({\n field = undefined,\n text = '',\n maximumSuggestions = 10,\n} = {}) => ({\n field,\n text,\n maximumSuggestions,\n});\n\nexport default function useAutocomplete(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [autocompleteDoc, setAutocompleteDoc] = React.useState(initialDefaultState);\n\n const setAutocompleteField = React.useCallback((field, text = '') => {\n setAutocompleteDoc((state) => ({ ...state, field, text }));\n }, []);\n\n const setAutocompleteText = React.useCallback((text) => {\n setAutocompleteDoc((state) => ({ ...state, text }));\n }, []);\n\n const setAutocompleteMaxSuggestions = React.useCallback((maximumSuggestions) => {\n setAutocompleteDoc((state) => ({ ...state, maximumSuggestions }));\n }, []);\n\n const { request: searchAutoComplete, data: { suggestion: suggestions = [] } = {} } = useApi(\n SearchApi.searchAutoComplete,\n );\n\n useUpdateEffect(() => {\n searchAutoComplete({ autocompleteRequestDocument: autocompleteDoc });\n }, [autocompleteDoc]);\n\n return {\n suggestions,\n setAutocompleteField,\n setAutocompleteText,\n setAutocompleteMaxSuggestions,\n };\n}\n","import React from 'react';\n\nexport default (propKey = 'id', initialState = []) => {\n const [selected, setSelected] = React.useState(initialState);\n const onSelect = (event, checked, props) => {\n const propValue = props[propKey];\n const currentIndex = selected.findIndex((thisSelected) => thisSelected[propKey] === propValue);\n if (currentIndex === -1 && checked === true) {\n if (checked === true) {\n setSelected([...selected, props]);\n }\n } else if (currentIndex > -1 && checked === false) {\n const newSelected = [...selected];\n newSelected.splice(currentIndex, 1);\n setSelected(newSelected);\n }\n };\n const isSelected = (props) => {\n const propValue = props[propKey];\n const currentIndex = selected.findIndex((thisSelected) => thisSelected[propKey] === propValue);\n return currentIndex > -1;\n };\n const onClear = () => setSelected([]);\n return {\n selected,\n onSelect,\n onClear,\n isSelected,\n };\n};\n","import React from 'react';\n\nexport default (initialTab) => {\n const [activeTab, setActiveTab] = React.useState(initialTab);\n const changeTab = (_, newValue) => setActiveTab(newValue);\n return { activeTab, changeTab };\n};\n","import React from 'react';\n\nexport default function useInterval(callback, delay) {\n const savedCallback = React.useRef();\n\n React.useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n React.useEffect(() => {\n const tick = () => savedCallback.current();\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }, [delay]);\n}\n","import React from 'react';\n\nexport default function useThumbnailScrub(srcList = []) {\n const savedInterval = React.useRef();\n const initialImgIdx = React.useMemo(() => Math.floor(srcList.length / 2), [srcList]);\n const [imgIdx, setImgIdx] = React.useState();\n const imgIdxRef = React.useRef(imgIdx);\n React.useEffect(() => () => savedInterval.current && clearInterval(savedInterval.current), []);\n if (srcList.length === 0) return { width: 0 };\n\n imgIdxRef.current = imgIdx;\n const onMouseEnter = () => {\n const delay = 500;\n const tick = () => {\n if (imgIdxRef.current === undefined) {\n setImgIdx(0);\n } else if (imgIdxRef.current === srcList.length - 1) {\n clearInterval(savedInterval.current);\n } else {\n setImgIdx(imgIdxRef.current + 1);\n }\n };\n savedInterval.current = setInterval(tick, delay);\n };\n const onMouseLeave = () => {\n setImgIdx();\n clearInterval(savedInterval.current);\n };\n const imageSrc = srcList[imgIdx === undefined ? initialImgIdx : imgIdx];\n const width = imgIdx === undefined ? 0 : `${Math.floor((imgIdx / (srcList.length - 1)) * 100)}%`;\n return {\n imageSrc,\n onMouseEnter,\n onMouseLeave,\n width,\n };\n}\n","import React from 'react';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_TYPE = 'CHANGE_TYPE';\nconst CHANGE_STATE = 'CHANGE_STATE';\nconst CHANGE_PRIORITY = 'CHANGE_PRIORITY';\nconst CHANGE_STARTTIME = 'CHANGE_STARTTIME';\nconst CHANGE_FINISHTIME = 'CHANGE_FINISHTIME';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_TYPE,\n CHANGE_STATE,\n CHANGE_PRIORITY,\n CHANGE_STARTTIME,\n CHANGE_FINISHTIME,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, matrixParams = {} } = {}) => ({\n queryParams,\n matrixParams: {\n first: 1,\n number: 10,\n ...matrixParams,\n },\n rowsPerPage: 10,\n page: 0,\n jobMetadata: [],\n});\n\nconst searchReducer = (state, action) => {\n const { type, ...rest } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page = 0 } = action;\n const { rowsPerPage = 10 } = state;\n return {\n ...state,\n page,\n matrixParams: {\n ...state.matrixParams,\n first: page * rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.CHANGE_SORT: {\n const { field, order = 'desc' } = action;\n return {\n ...state,\n page: 0,\n matrixParams: {\n ...state.matrixParams,\n first: 1,\n sort: `${field} ${order}`,\n },\n };\n }\n case ACTION_TYPE.CHANGE_TYPE:\n case ACTION_TYPE.CHANGE_STATE:\n case ACTION_TYPE.CHANGE_PRIORITY: {\n const { field, value = [] } = rest;\n let matrixParams;\n if (!value) {\n const { [field]: deleteField, ...newMatrixParams } = state.matrixParams;\n matrixParams = { ...newMatrixParams, first: 1 };\n } else {\n matrixParams = {\n ...state.matrixParams,\n first: 1,\n [field]: Array.isArray(value) ? value.join(',') : value,\n };\n }\n return {\n ...state,\n page: 0,\n matrixParams,\n };\n }\n case ACTION_TYPE.CHANGE_STARTTIME:\n case ACTION_TYPE.CHANGE_FINISHTIME: {\n const { field, value = [] } = rest;\n let queryParams;\n if (!value) {\n const { [field]: deleteField, ...newQueryParams } = state.queryParams;\n queryParams = { ...newQueryParams, first: 1 };\n } else {\n queryParams = {\n ...state.queryParams,\n first: 1,\n [field]: value,\n };\n }\n return {\n ...state,\n page: 0,\n queryParams,\n };\n }\n case ACTION_TYPE.CHANGE_JOBMETADATA: {\n const { field, value = [] } = rest;\n let queryParams;\n if (!value.length) {\n const { [field]: deleteField, ...newQueryParams } = state.queryParams;\n queryParams = { ...newQueryParams, first: 1 };\n } else {\n queryParams = {\n ...state.queryParams,\n first: 1,\n [field]: value,\n };\n }\n return {\n ...state,\n page: 0,\n queryParams,\n jobMetadata: value,\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useJobSearch(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = React.useReducer(searchReducer, initialDefaultState);\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeType = ({ field = [] }) => {\n const [{ name = 'type', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_TYPE,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeState = ({ field = [] }) => {\n const [{ name = 'state', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_STATE,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangePriority = ({ field = [] }) => {\n const [{ name = 'priority', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_PRIORITY,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeStarttime = ({ field = [] }) => {\n const [{ name = 'starttime-from', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_STARTTIME,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeFinishtime = ({ field = [] }) => {\n const [{ name = 'finishtime-from', value = [] }] = field;\n dispatch({\n type: ACTION_TYPE.CHANGE_FINISHTIME,\n field: name,\n value: value.length ? value[0].value : null,\n });\n };\n const onChangeJobmetadata = (value) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_JOBMETADATA,\n field: 'jobmetadata',\n value,\n });\n };\n return {\n state,\n onChangePage,\n onChangeSort,\n onChangeType,\n onChangeState,\n onChangePriority,\n onChangeStarttime,\n onChangeFinishtime,\n onChangeRowsPerPage,\n onChangeJobmetadata,\n };\n}\n","import React from 'react';\n\nconst useLocalStorage = (localStorageKey, defaultValue) => {\n const [value, setValue] = React.useState(\n JSON.parse(window.localStorage.getItem(localStorageKey) || JSON.stringify(defaultValue)),\n );\n\n React.useEffect(() => {\n window.localStorage.setItem(localStorageKey, JSON.stringify(value));\n }, [localStorageKey, value]);\n\n const getValue = () => JSON.parse(window.localStorage.getItem(localStorageKey));\n\n return [value, setValue, getValue];\n};\n\nexport default useLocalStorage;\n","import { compressToEncodedURIComponent, decompressFromEncodedURIComponent } from 'lz-string';\n\nexport function uuidv4() {\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n // eslint-disable-next-line\n (c ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))).toString(16));\n}\n\nexport function b64EncodeUnicode(str) {\n return compressToEncodedURIComponent(str);\n}\n\nexport function b64DecodeUnicode(str) {\n // fallback for old base64 encoded links\n return str.slice(-1) === '='\n ? decodeURIComponent(\n atob(str)\n .split('')\n .map((c) => `%${`00${c.charCodeAt(0).toString(16)}`.slice(-2)}`)\n .join(''),\n )\n : decompressFromEncodedURIComponent(str);\n}\n","import React from 'react';\n\nimport {\n vsimport as ImportApi,\n ChunkedUpload,\n collection as CollectionApi,\n} from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nimport { uuidv4 } from '../utils';\n\nconst DEFAULT_AUDIO_SHAPETAGS = ['__mp3_160k'];\nconst DEFAULT_VIDEO_SHAPETAGS = ['__mp4'];\nconst DEFAULT_IMAGE_SHAPETAGS = ['__png'];\nconst AUDIO_MIMETYPE_PREFIX = 'audio';\nconst VIDEO_MIMETYPE_PREFIX = 'video';\nconst IMAGE_MIMETYPE_PREFIX = 'image';\nconst ADDITIONAL_VIDEO_MIMETYPES = ['application/mxf'];\nconst ADDITIONAL_IMAGE_MIMETYPES = [];\nconst ADDITIONAL_AUDIO_MIMETYPES = [];\n\nconst getDefaultShapeTags = (file) => {\n if (!file || !file.type) return [];\n const mimeType = file.type.toLowerCase();\n if (mimeType.startsWith(AUDIO_MIMETYPE_PREFIX) || ADDITIONAL_AUDIO_MIMETYPES.includes(mimeType))\n return DEFAULT_AUDIO_SHAPETAGS;\n if (mimeType.startsWith(VIDEO_MIMETYPE_PREFIX) || ADDITIONAL_VIDEO_MIMETYPES.includes(mimeType))\n return DEFAULT_VIDEO_SHAPETAGS;\n if (mimeType.startsWith(IMAGE_MIMETYPE_PREFIX) || ADDITIONAL_IMAGE_MIMETYPES.includes(mimeType))\n return DEFAULT_IMAGE_SHAPETAGS;\n return [];\n};\n\nconst chunkedUpload = (file, props = {}) =>\n new Promise((resolve, reject) => {\n const uploadInstance = new ChunkedUpload(file, {\n onFail: (error) => reject(error),\n onComplete: (resp) => resolve(resp),\n ...props,\n });\n uploadInstance.upload();\n });\n\nconst onUploadFile = ({\n file,\n collectionId,\n onProgress,\n metadata: propsMetadata = {},\n placeholderParams = {},\n importParams = {},\n chunkedUploadProps = {},\n generateTransferId = uuidv4,\n getShapeTags = getDefaultShapeTags,\n}) =>\n new Promise((resolve, reject) => {\n try {\n let itemId;\n onProgress({});\n const shapeTags = getShapeTags(file);\n const filename = file.name;\n const mimeType = file.type;\n const [mediaType] = mimeType.split('/');\n const metadata = {\n originalFilename: filename,\n mimeType,\n mediaType,\n ...propsMetadata,\n };\n const metadataDocument = createMetadataType(metadata);\n ImportApi.createImportPlaceholder({\n metadataDocument,\n queryParams: {\n container: 1,\n ...placeholderParams,\n },\n })\n .then(({ data: itemDocument }) => {\n itemId = itemDocument.id;\n if (!collectionId) return Promise.resolve();\n const collectionIds = Array.isArray(collectionId) ? collectionId : [collectionId];\n return Promise.all(\n collectionIds.map((id) =>\n CollectionApi.addCollectionEntity({\n collectionId: id,\n entityId: itemId,\n }),\n ),\n );\n })\n .then(() => {\n const transferId = generateTransferId();\n const queryParams = {\n filename,\n transferId,\n tag: shapeTags,\n ...importParams,\n };\n return chunkedUpload(file, {\n api: {\n method: ImportApi.createImportComponentRaw,\n props: {\n itemId,\n component: 'container',\n queryParams,\n },\n },\n onProgress,\n ...chunkedUploadProps,\n });\n })\n .then((response) => {\n resolve({ ...response, itemId, collectionId });\n })\n .catch((error) => reject(error));\n } catch (err) {\n /* eslint-disable-next-line no-console */\n console.error(err);\n reject(err);\n }\n });\n\nfunction useUploadFiles({\n onUploadFile: handleUploadFile = onUploadFile,\n initialMetadata = {},\n ...props\n}) {\n const [files, setFiles] = React.useState([]);\n React.useEffect(\n () => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach((file) => URL.revokeObjectURL(file.preview));\n },\n [files],\n );\n const onAddFiles = React.useCallback(\n (newFiles = []) => {\n const newFilesObj = newFiles.map((file) => ({\n file,\n metadata: { title: file.name, ...initialMetadata },\n }));\n setFiles((currentFiles) => newFilesObj.concat(currentFiles));\n },\n [initialMetadata],\n );\n const onChangeFile = React.useCallback(\n (idx, changeFile = {}) => {\n setFiles((currentFilesList) => {\n const currentFile = currentFilesList[idx];\n const { metadata: newMetadata, progress: newProgress } = changeFile;\n const { metadata: currentMetadata = {}, progress: currentProgress = {} } = currentFile;\n const newFilesList = [...currentFilesList];\n const newFile = { ...currentFile };\n if (newMetadata) newFile.metadata = { ...currentMetadata, ...newMetadata };\n if (newProgress) newFile.progress = { ...currentProgress, ...newProgress };\n newFilesList[idx] = newFile;\n return newFilesList;\n });\n },\n [setFiles],\n );\n const onChangeProgress = React.useCallback(\n (idx) =>\n (newProgress = {}) => {\n onChangeFile(idx, { progress: newProgress });\n },\n [onChangeFile],\n );\n const onChangeMetadata = React.useCallback(\n (idx) =>\n (newMetadata = {}) => {\n onChangeFile(idx, { metadata: newMetadata });\n },\n [onChangeFile],\n );\n const onUpload = React.useCallback(\n (uploadProps) =>\n files.reduce(\n (previousPromise, thisFile, idx) =>\n previousPromise.then((res) => {\n if (thisFile.progress) {\n return previousPromise;\n }\n return handleUploadFile({\n file: thisFile.file,\n onProgress: onChangeProgress(idx),\n metadata: thisFile.metadata,\n ...uploadProps,\n ...props,\n }).then((currentResult) => [...res, currentResult]);\n }),\n Promise.resolve([]),\n ),\n [files, handleUploadFile, onChangeProgress, props],\n );\n\n const onRemoveFile = React.useCallback(\n (idx) => () => {\n setFiles([...files].filter((_, i) => i !== idx));\n },\n [setFiles, files],\n );\n\n const onRemoveFiles = React.useCallback(\n (idxs) => () => {\n setFiles([...files].filter((_, i) => !idxs.includes(i)));\n },\n [setFiles, files],\n );\n\n return {\n onAddFiles,\n onChangeFile,\n onChangeMetadata,\n onUpload,\n onRemoveFile,\n onRemoveFiles,\n files,\n setFiles,\n };\n}\n\nexport default useUploadFiles;\n","import React from 'react';\n\nimport { b64DecodeUnicode } from '../utils';\n\n// react-router-dom <6 use history & >=6 use navigate+location\n// TODO: change to expose \"onNavigate\" and take in \"path\" and \"search\" strings\nexport default function useQueryInitialState({\n history,\n navigate,\n location: propLocation,\n queryName = 'q',\n defaultState = undefined,\n}) {\n const defaultStateRef = React.useRef(defaultState);\n const queryState = React.useMemo(() => {\n const { location = propLocation } = history || {};\n const searchParams = new URLSearchParams(location.search);\n const encodedQuery = searchParams.get(queryName);\n if (!encodedQuery) {\n return defaultStateRef.current;\n }\n try {\n const decodedQuery = b64DecodeUnicode(encodedQuery);\n return JSON.parse(decodedQuery);\n } catch (error) {\n if (history) {\n history.replace({ pathName: history.location.pathName, search: '' });\n } else if (navigate) {\n navigate(location.pathName, { replace: true });\n }\n }\n return undefined;\n }, [history, navigate, propLocation, queryName]);\n\n return { queryInitialState: queryState };\n}\n","import React from 'react';\n\nimport { b64EncodeUnicode } from '../utils';\n\nimport useUpdateEffect from './useUpdateEffect';\n\n// react-router-dom <6 use history & >=6 use navigate+location\n// TODO: change to expose \"onNavigate\" and take in \"path\" and \"search\" strings\nexport default function useUpdateQueryState({\n history,\n navigate,\n location: propLocation,\n state,\n queryName = 'q',\n}) {\n const onSearchStateChange = React.useCallback(() => {\n const { location = propLocation } = history || {};\n const encodedQuery = b64EncodeUnicode(JSON.stringify(state));\n if (history) {\n history.replace({\n pathName: location.pathName,\n search: `?${queryName}=${encodedQuery}`,\n });\n } else if (navigate) {\n navigate(`${location.pathName}?${queryName}=${encodedQuery}`, { replace: true });\n }\n }, [history, navigate, propLocation, queryName, state]);\n\n // Don't need to set query on mount\n useUpdateEffect(() => {\n onSearchStateChange(state);\n }, [onSearchStateChange, state]);\n}\n","import { useCallback } from 'react';\n\nimport { access as AccessApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useEntityAccess = ({ entityId, entityType }) => {\n const {\n request: listEntityAccess,\n data: accessControlList = {},\n isLoading,\n } = useApi(AccessApi.listEntityAccess);\n const onList = useCallback(\n (props = {}) =>\n listEntityAccess({\n entityId,\n entityType,\n ...props,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [entityId, entityType],\n );\n const onRemove = useCallback(\n ({ accessId, ...props }) =>\n AccessApi.removeEntityAccess({\n accessId,\n entityId,\n entityType,\n ...props,\n }),\n [entityId, entityType],\n );\n const onAdd = useCallback(\n ({ accessControlDocument, ...props }) =>\n AccessApi.createEntityAccess({\n entityType,\n entityId,\n accessControlDocument,\n ...props,\n }),\n [entityId, entityType],\n );\n return {\n accessControlList,\n isLoading,\n onList,\n onRemove,\n onAdd,\n };\n};\n\nexport default useEntityAccess;\n","import React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { metadatafield as MetadataFieldApi, fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nconst getValueFromData = ({ data = [] } = {}, key = undefined) => {\n if (!key) return undefined;\n const { value } = data.find((d) => d.key === key) || {};\n return value;\n};\n\nconst defaultGetDataAttributes = (fieldOrGroup, keys) => {\n return Object.assign(\n {},\n ...keys.map((key) => {\n return {\n [key]: getValueFromData(fieldOrGroup, key),\n };\n }),\n );\n};\n\nconst getOptions = ({ values: { field } = {} } = {}) => {\n return field ? field.map((f) => ({ value: f.value, label: f.key || f.value })) : undefined;\n};\n\nconst convertValuesXmlToJson = (xmlString) => {\n const doc = new DOMParser().parseFromString(xmlString, 'application/xml');\n const fields = doc.getElementsByTagName('field');\n if (!fields.length) {\n return undefined;\n }\n const json = { field: [] };\n for (let i = 0; i < fields.length; i += 1) {\n const [keyNode, valueNode] = fields[i].childNodes;\n json.field.push({\n [keyNode.nodeName]: keyNode.firstChild.nodeValue,\n [valueNode.nodeName]: valueNode.firstChild.nodeValue,\n });\n }\n return json;\n};\n\nconst useAddMetadataFieldAttributes = ({\n fields,\n groups,\n getDataAttributes = defaultGetDataAttributes,\n fieldDataToInclude = 'label,displayType,required',\n groupDataToInclude = 'label,order',\n fieldQueryParams = {},\n groupQueryParams = {},\n}) => {\n const [isLoading, setIsLoading] = React.useState(false);\n const [fieldsWithAttributes, setFieldsWithAttributes] = React.useState(fields);\n const [groupsWithAttributes, setGroupsWithAttributes] = React.useState(groups);\n\n useDeepCompareEffect(() => {\n const addFieldAttributes = (fieldsArray = [], fieldsAttributes = {}) =>\n fieldsArray.map(({ name, ...overrides }) => {\n const fieldAttributes = fieldsAttributes[name] || {};\n const { label, ...dataAttributes } = getDataAttributes(\n fieldAttributes,\n fieldDataToInclude.split(','),\n );\n return {\n name,\n label: label || name,\n type: fieldAttributes.type,\n constraint: fieldAttributes.constraint,\n options: getOptions(fieldAttributes),\n ...dataAttributes,\n ...overrides,\n };\n });\n\n const addGroupAttributes = (groupsArray = [], groupsAttributes = {}, fieldsAttributes = {}) =>\n groupsArray.map(({ name, field, group, ...overrides }) => {\n const groupAttributes = groupsAttributes[name] || {};\n const childFields = field || (groupAttributes && groupAttributes.field);\n const childGroups = group || (groupAttributes && groupAttributes.group);\n const { label, ...dataAttributes } = getDataAttributes(\n groupAttributes,\n groupDataToInclude.split(','),\n );\n return {\n name,\n label: label || name,\n order: getValueFromData(groupAttributes, 'order'),\n fields: addFieldAttributes(childFields, fieldsAttributes),\n groups: addGroupAttributes(childGroups, groupsAttributes, fieldsAttributes),\n ...dataAttributes,\n ...overrides,\n };\n });\n let didCancel = false;\n async function fetchAttributesAsync() {\n setIsLoading(true);\n const fieldsAttributes = {};\n const groupsAttributes = {};\n let fieldPromises = [];\n if (fields) {\n const queryParams = { ...fieldQueryParams, data: fieldDataToInclude };\n fieldPromises = fields.map(async ({ name: fieldName }) => {\n try {\n const { data } = await MetadataFieldApi.getMetadataField({\n fieldName,\n queryParams,\n });\n fieldsAttributes[fieldName] = data;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not retrieve attributes for ${fieldName}`);\n }\n });\n }\n let groupPromises = [];\n if (groups) {\n const groupsToFetch = [...groups];\n const queryParams = { ...groupQueryParams, data: groupDataToInclude };\n groupPromises = groupsToFetch.map(async ({ name: groupName }) => {\n try {\n const { data } = await FieldGroupApi.getFieldGroup({\n groupName,\n queryParams,\n });\n const { field = [], group = [] } = data;\n field.forEach((f) => {\n const dataValues = f.data && f.data.find((e) => e.key === '__values');\n if (dataValues) {\n const jsonValues = convertValuesXmlToJson(dataValues.value);\n fieldsAttributes[f.name] = { ...f, values: jsonValues };\n }\n });\n group.forEach((g) => {\n groupsToFetch.push(g);\n });\n groupsAttributes[groupName] = data;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn(`Could not retrieve attributes for ${groupName}`);\n }\n });\n }\n await Promise.all([...fieldPromises, ...groupPromises]);\n if (!didCancel) {\n if (Object.values(fieldsAttributes).some((v) => v)) {\n setFieldsWithAttributes(() => addFieldAttributes(fields, fieldsAttributes));\n }\n if (Object.values(groupsAttributes).some((v) => v)) {\n setGroupsWithAttributes(() => {\n const newGroupsWithAttributes = addGroupAttributes(\n groups,\n groupsAttributes,\n fieldsAttributes,\n );\n newGroupsWithAttributes.forEach((group) => {\n const { order } = group;\n if (order) {\n group.fields.sort((a, b) => order.indexOf(a.name) - order.indexOf(b.name));\n }\n });\n return newGroupsWithAttributes;\n });\n }\n setIsLoading(false);\n }\n }\n fetchAttributesAsync();\n return () => {\n didCancel = true;\n };\n }, [fields, groups, fieldDataToInclude, groupDataToInclude, fieldQueryParams, groupQueryParams]);\n\n return { fieldsWithAttributes, groupsWithAttributes, isLoading };\n};\n\nexport default useAddMetadataFieldAttributes;\n","import React from 'react';\n\nimport {\n library as LibraryApi,\n item as ItemApi,\n collection as CollectionApi,\n} from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nimport useSearch from './useSearch';\n\n// Has to be set so that the library isn't auto-deleted\nconst UPDATE_FREQUENCY = 1000;\n\n// Prevents access controls set on the library (i.e. saved search) from cascading down to items\nconst UPDATE_MODE = 'TRANSIENT';\n\nfunction saveSearch({ metadata, markerField, markerValue, itemSearchDocument }) {\n return ItemApi.searchItem({\n queryParams: {\n result: 'library',\n updateMode: UPDATE_MODE,\n updateFrequency: UPDATE_FREQUENCY,\n },\n itemSearchDocument,\n }).then(({ data: { library } }) =>\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: markerField\n ? createMetadataType({\n [markerField]: markerValue || library,\n ...metadata,\n })\n : metadata,\n content: [\n {\n id: library,\n type: 'library',\n },\n ],\n },\n }),\n );\n}\n\nconst getLibraryFromCollection = ({ collectionId }) =>\n new Promise((resolve, reject) => {\n CollectionApi.getCollection({ collectionId, queryParams: { children: 'library' } }).then(\n ({ data: collectionType }) => {\n const { content = [] } = collectionType;\n const [libraryType] = content;\n if (!libraryType) reject(new Error('No Libraries'));\n resolve(libraryType);\n },\n );\n });\n\nconst deleteSearch = ({ collectionId }) =>\n getLibraryFromCollection({ collectionId }).then(({ id: libraryId }) =>\n Promise.all([\n LibraryApi.removeLibrary({ libraryId }),\n CollectionApi.removeCollection({ collectionId }),\n ]),\n );\n\nfunction getLibrarySettings({ libraryId }) {\n return new Promise((resolve) => {\n LibraryApi.getLibrarySettings({ libraryId }).then(({ data: { query } }) => {\n resolve(query);\n });\n });\n}\n\nconst getSavedSearchSettings = ({ collectionId }) =>\n new Promise((resolve) => {\n getLibraryFromCollection({ collectionId })\n .then(({ id: libraryId }) => getLibrarySettings({ libraryId }))\n .then(resolve);\n });\n\nexport default function useSavedSearch({\n markerField,\n markerValue,\n initialSearchState,\n onSaveSearch = saveSearch,\n onDeleteSearch = deleteSearch,\n onUpdateSearchMetadata = CollectionApi.updateCollectionMetadata,\n onGetSavedSearchSettings = getSavedSearchSettings,\n}) {\n const saveSearchWithMarker = React.useCallback(\n ({ metadata, itemSearchDocument }) =>\n onSaveSearch({\n metadata,\n markerField,\n markerValue,\n itemSearchDocument,\n }),\n [markerField, markerValue, onSaveSearch],\n );\n\n const mergeMarkerField = (itemSearchDocument = {}) => ({\n ...itemSearchDocument,\n operator: {\n field: [\n {\n name: markerField,\n value: [{ value: markerValue || '*' }],\n },\n ],\n operator: itemSearchDocument.operator ? [itemSearchDocument.operator] : [],\n operation: 'AND',\n },\n });\n\n const searchProps = useSearch({\n ...initialSearchState,\n itemSearchDocument: mergeMarkerField(),\n });\n\n const { setItemSearchDocument, ...props } = searchProps;\n\n return {\n onSaveSearch: saveSearchWithMarker,\n onDeleteSearch,\n onUpdateSearchMetadata,\n onGetSavedSearchSettings,\n searchProps: {\n setItemSearchDocument: (itemSearchDocument) =>\n setItemSearchDocument(mergeMarkerField(itemSearchDocument)),\n ...props,\n },\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useSearchItem({ itemSearchDocument, queryParams, matrixParams }) {\n const { request, data: itemListType = {}, isLoading, isError } = useApi(ItemApi.searchItem);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n return {\n itemListType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import React from 'react';\n\nexport const useMouseDownPosition = () => {\n const [position, setPosition] = React.useState({ x: 0, y: 0 });\n\n React.useEffect(() => {\n const setFromEvent = (e) => setPosition({ x: e.clientX, y: e.clientY });\n window.addEventListener('mousedown', setFromEvent);\n\n return () => {\n window.removeEventListener('mousedown', setFromEvent);\n };\n }, []);\n\n return position;\n};\n\nexport default useMouseDownPosition;\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetCollection({\n collectionId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const {\n request,\n data: collectionType = {},\n isLoading,\n isError,\n } = useApi(CollectionApi.getCollection);\n const onRefresh = () => request({ collectionId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [collectionId, queryParams]);\n return {\n collectionType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetCollection({\n collectionId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const { request, data: itemListType = {} } = useApi(CollectionApi.getCollectionItem);\n const onRefresh = () => request({ collectionId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [collectionId, queryParams]);\n return {\n itemListType,\n onRefresh,\n };\n}\n","import React from 'react';\n\nimport {\n item as ItemApi,\n collection as CollectionApi,\n library as LibraryApi,\n} from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\n/**\n * Get Entity by id and type\n * @param {Object} object - Entity information object\n * @param {string} object.entityId - Entity id\n * @param {string} object.entityType - Entity type, [\"item\", \"collection\", \"library\"]\n * @throws Throws error if unsupported type\n * @returns {Object} Entity retrieved from VS\n */\nconst useGetEntity = ({ entityId, entityType }) => {\n let dataType;\n let entityApi;\n let entityTypeId;\n switch (entityType) {\n case 'collection':\n dataType = 'collectionType';\n entityTypeId = 'collectionId';\n entityApi = CollectionApi.getCollection;\n break;\n case 'library':\n dataType = 'libraryType';\n entityTypeId = 'libraryId';\n entityApi = LibraryApi.getLibrary;\n break;\n case 'item':\n dataType = 'itemType';\n entityTypeId = 'itemId';\n entityApi = ItemApi.getItem;\n break;\n default:\n throw new Error(`unknown entityType`);\n }\n const { request, data, ...apiProps } = useApi(entityApi);\n const onGetEntity = React.useCallback(\n (props) => request({ [entityTypeId]: entityId, ...props }),\n [entityId, entityTypeId, request],\n );\n return {\n [dataType]: data,\n [entityTypeId]: entityId,\n onGetEntity,\n ...apiProps,\n };\n};\n\nexport default useGetEntity;\n","import React from 'react';\n\nimport { user as UserApi, group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useUser(initialState) {\n const { data: userType, request } = useApi(UserApi.getUser, { data: initialState });\n const { userName } = userType || {};\n const getUser = React.useCallback(() => request({ userName }), [request, userName]);\n React.useEffect(() => {\n if (userName) getUser();\n }, [getUser, userName]);\n\n const updateUser = React.useCallback(\n ({ userDocument }) =>\n UserApi.updateUser({\n userName,\n userDocument,\n }).then(() => request({ userName: userDocument.userName })),\n [request, userName],\n );\n\n const updateUserGroups = React.useCallback(\n ({ groups = [] }) =>\n UserApi.updateUserGroup({\n userName,\n groupListDocument: {\n group: groups.map((g) => ({ groupName: g })),\n },\n }).then(getUser),\n [getUser, userName],\n );\n\n const removeUserFromGroup = React.useCallback(\n (groupName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getUser),\n [getUser, userName],\n );\n\n const changePassword = React.useCallback(\n (password) =>\n UserApi.updateUser({\n userName,\n userDocument: {\n password,\n },\n queryParams: {\n passwordType: 'raw',\n },\n }),\n [userName],\n );\n const deleteUser = ({ queryParams = {} } = {}) =>\n UserApi.disableUser({ userName, queryParams: { hard: true, ...queryParams } });\n const disableUser = (args) => UserApi.disableUser({ userName, ...args }).then(getUser);\n const enableUser = (args) => UserApi.enableUser({ userName, ...args }).then(getUser);\n\n return {\n userType,\n getUser,\n updateUser,\n updateUserGroups,\n removeUserFromGroup,\n disableUser,\n enableUser,\n deleteUser,\n changePassword,\n };\n}\n","import React from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_QUERY = 'CHANGE_QUERY';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_QUERY,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, rowsPerPage = 10, page = 0 } = {}) => ({\n queryParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...queryParams,\n },\n rowsPerPage,\n page,\n userSearchDocument: {\n sort: [\n {\n field: 'username',\n order: 'ascending',\n },\n ],\n },\n});\n\nconst searchReducer = (state, action) => {\n const { type } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page } = action;\n\n return {\n ...state,\n page,\n queryParams: {\n ...state.queryParams,\n first: page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n\n case ACTION_TYPE.CHANGE_QUERY: {\n return {\n ...state,\n page: 0,\n userSearchDocument: {\n ...state.userSearchDocument,\n field: [\n {\n name: action.field || 'username',\n value: action.query || '',\n },\n ],\n },\n queryParams: {\n ...state.queryParams,\n first: 1,\n },\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useSearchUser(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = React.useReducer(searchReducer, initialDefaultState);\n const {\n data: userListDocument,\n request: searchUser,\n hasLoaded,\n isError,\n } = useApi(UserApi.searchUser);\n\n const onSearchUser = () =>\n searchUser({\n userSearchDocument: state.userSearchDocument,\n queryParams: state.queryParams,\n });\n\n React.useEffect(() => {\n onSearchUser();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.queryParams, state.userSearchDocument]);\n\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeQuery = (field, query) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERY,\n field,\n query,\n });\n };\n return {\n ...state,\n hasLoaded,\n isError,\n userListDocument,\n onSearchUser,\n onChangePage,\n onChangeSort,\n onChangeRowsPerPage,\n onChangeQuery,\n };\n}\n","import React from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useListGroup = (args) => {\n const { request, data: groupListType = {}, isLoading } = useApi(GroupApi.listGroup);\n const onRefresh = () => request(args);\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [args]);\n return {\n onRefresh,\n groupListType,\n isLoading,\n };\n};\n\nexport default useListGroup;\n","import React from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst useListUser = (args) => {\n const { request, data: userListType = {}, isLoading } = useApi(UserApi.listUser);\n const onRefresh = () => request(args);\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [args]);\n return {\n onRefresh,\n userListType,\n isLoading,\n };\n};\n\nexport default useListUser;\n","import React from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nconst CHANGE_PAGE = 'CHANGE_PAGE';\nconst CHANGE_ROWS = 'CHANGE_ROWS';\nconst CHANGE_SORT = 'CHANGE_SORT';\nconst CHANGE_QUERY = 'CHANGE_QUERY';\nconst HIDE_ROLES = 'HIDE_ROLES';\n\nconst ACTION_TYPE = {\n CHANGE_PAGE,\n CHANGE_ROWS,\n CHANGE_SORT,\n CHANGE_QUERY,\n HIDE_ROLES,\n};\n\nconst setInitialDefaultState = ({ queryParams = {}, rowsPerPage = 10, page = 0 } = {}) => ({\n queryParams: {\n first: page * rowsPerPage + 1,\n number: rowsPerPage,\n ...queryParams,\n },\n rowsPerPage,\n page,\n groupSearchDocument: {},\n});\n\nconst searchReducer = (state, action) => {\n const { type } = action;\n switch (type) {\n case ACTION_TYPE.CHANGE_PAGE: {\n const { page } = action;\n\n return {\n ...state,\n page,\n queryParams: {\n ...state.queryParams,\n first: page * state.rowsPerPage + 1,\n },\n };\n }\n case ACTION_TYPE.CHANGE_ROWS: {\n const { rowsPerPage } = action;\n return {\n ...state,\n rowsPerPage,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n number: rowsPerPage,\n },\n };\n }\n case ACTION_TYPE.HIDE_ROLES: {\n const { hideRoles } = action;\n const role = hideRoles === true ? false : undefined;\n return {\n ...state,\n page: 0,\n queryParams: {\n ...state.queryParams,\n first: 1,\n role,\n },\n };\n }\n\n case ACTION_TYPE.CHANGE_QUERY: {\n return {\n ...state,\n page: 0,\n groupSearchDocument: {\n ...state.groupSearchDocument,\n field: [\n {\n name: action.field || 'groupname',\n value: action.query || '',\n },\n ],\n },\n queryParams: {\n ...state.queryParams,\n first: 1,\n },\n };\n }\n default:\n return state;\n }\n};\n\nexport default function useSearchGroup(initialState) {\n const initialDefaultState = setInitialDefaultState(initialState);\n const [state, dispatch] = React.useReducer(searchReducer, initialDefaultState);\n const {\n data: groupListDocument,\n request: searchGroup,\n hasLoaded,\n isError,\n } = useApi(GroupApi.searchGroup);\n\n const onSearchGroup = () =>\n searchGroup({\n groupSearchDocument: state.groupSearchDocument,\n queryParams: state.queryParams,\n });\n\n React.useEffect(() => {\n onSearchGroup();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.queryParams, state.groupSearchDocument]);\n\n const onChangeRowsPerPage = ({ target: { value: rowsPerPage } } = {}) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ROWS,\n rowsPerPage,\n });\n const onChangePage = ({ page }) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PAGE,\n page,\n });\n const onHideRoles = ({ hideRoles }) =>\n dispatch({\n type: ACTION_TYPE.HIDE_ROLES,\n hideRoles,\n });\n const onChangeSort = (event, field, order) => {\n const fieldName = typeof field === 'object' ? field.value : field;\n dispatch({\n type: ACTION_TYPE.CHANGE_SORT,\n field: fieldName,\n order,\n });\n };\n const onChangeQuery = (field, query) => {\n dispatch({\n type: ACTION_TYPE.CHANGE_QUERY,\n field,\n query,\n });\n };\n return {\n ...state,\n hasLoaded,\n isError,\n groupListDocument,\n onSearchGroup,\n onChangePage,\n onChangeSort,\n onChangeRowsPerPage,\n onChangeQuery,\n onHideRoles,\n };\n}\n","import React from 'react';\n\nimport { group as GroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGroup(initialState) {\n const { data: groupType, request } = useApi(GroupApi.getGroup, { data: initialState });\n const { groupName } = groupType || {};\n\n const getGroup = React.useCallback(() => request({ groupName }), [request, groupName]);\n\n React.useEffect(() => {\n if (groupName) getGroup();\n }, [getGroup, groupName]);\n\n const updateGroup = React.useCallback(\n ({ groupDocument }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addChildGroups = React.useCallback(\n ({ groups }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n childGroupList: {\n group: groups.map((g) => ({ groupName: g })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addParentGroups = React.useCallback(\n ({ groups }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n parentGroupList: {\n group: groups.map((g) => ({ groupName: g })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addUsersToGroup = React.useCallback(\n ({ users }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument: {\n userList: {\n user: users.map((u) => ({ userName: u })),\n },\n },\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeUserFromGroup = React.useCallback(\n (userName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeChildGroup = React.useCallback(\n (childGroupName) =>\n GroupApi.removeGroupChildren({\n groupName,\n childGroupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeFromParentGroup = React.useCallback(\n (parentGroupName) =>\n GroupApi.removeGroupChildren({\n groupName: parentGroupName,\n childGroupName: groupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeGroup = React.useCallback(() => GroupApi.removeGroup({ groupName }), [groupName]);\n\n return {\n groupType,\n getGroup,\n updateGroup,\n removeGroup,\n addChildGroups,\n addParentGroups,\n addUsersToGroup,\n removeUserFromGroup,\n removeChildGroup,\n removeFromParentGroup,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetItem({ itemId, queryParams = {}, refreshOnMount = true }) {\n const { request, data: itemType = {}, isLoading, isError } = useApi(ItemApi.getItem);\n const onRefresh = () => request({ itemId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [itemId, queryParams]);\n return {\n itemType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import React from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nconst useCollectionAutoPlay = ({ collectionId, defaultEnabled = true }) => {\n const [nextPlaying, setNextPlaying] = React.useState();\n const [isAutoPlayEnabled, setIsAutoPlayEnabled] = React.useState(defaultEnabled);\n const toggleAutoPlay = (newValue) =>\n setIsAutoPlayEnabled((prevValue) => (newValue !== undefined ? newValue : !prevValue));\n const allItemsRef = React.useRef();\n const orderItemsRef = React.useRef();\n const hitsRef = React.useRef();\n const onNext = React.useCallback(\n ({ itemId }) => {\n if (isAutoPlayEnabled === false) return;\n const searchDocument = {\n field: [\n {\n name: 'mediaType',\n value: [{ value: 'video' }, { value: 'audio' }],\n },\n ],\n };\n const searchForNext = ({ first, number } = {}) => {\n const { current: allItems } = allItemsRef;\n const { current: orderItems } = orderItemsRef;\n if (!Array.isArray(allItems)) {\n Promise.all([\n CollectionApi.getCollection({\n collectionId,\n queryParams: { children: 'item' },\n }),\n CollectionApi.searchCollectionItem({\n collectionId,\n searchDocument,\n queryParams: { first, number },\n }),\n ]).then(([{ data: collectionType }, { data: itemListType }]) => {\n const { hits, item: itemList = [] } = itemListType;\n allItemsRef.current = itemList.map(({ id }) => id);\n hitsRef.current = hits;\n const { content: contentList } = collectionType;\n orderItemsRef.current = contentList;\n searchForNext({ first: 1, number: 100 });\n });\n return;\n }\n const { current: hits } = hitsRef;\n const currentItemIdx = orderItems.findIndex(({ id: thisId }) => thisId === itemId);\n if (currentItemIdx + 1 === orderItems.length) {\n // last item in the list\n setNextPlaying();\n return;\n }\n if (currentItemIdx === -1 && hits > allItems.length) {\n // request more items to find the currentItem\n CollectionApi.searchCollectionItem({\n collectionId,\n searchDocument,\n queryParams: { first: first + number, number },\n }).then(({ data: itemListType }) => {\n const { item: itemList = [] } = itemListType;\n allItemsRef.current.push(...itemList.map(({ id }) => id));\n searchForNext({ first: first + number, number });\n });\n return;\n }\n const remainingItems = orderItems.slice(currentItemIdx + 1);\n const nextItem = remainingItems.find(({ id: thisId }) => allItems.includes(thisId));\n setNextPlaying(nextItem);\n };\n searchForNext();\n },\n [collectionId, isAutoPlayEnabled],\n );\n return {\n isAutoPlayEnabled,\n toggleAutoPlay,\n setNextPlaying,\n nextPlaying,\n onNext,\n };\n};\n\nexport default useCollectionAutoPlay;\n","import React from 'react';\n\nimport _debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { formatTimeCodeText, formatSeconds } from '@vidispine/vdt-js';\n\nconst defaultGetThumbnailTimeCodes = (srcList) => {\n const timeCodes = [];\n for (let index = 0; index < srcList.length; index += 1) {\n const uri = srcList[index];\n if (uri && typeof uri === 'string') {\n try {\n const timeCodeFromURI = uri.split('version')[1].split('/')[1].split('?')[0];\n const timecodeText = formatTimeCodeText(timeCodeFromURI);\n timeCodes.push(timecodeText);\n } catch (error) {\n // ignore\n }\n }\n }\n return timeCodes;\n};\n\n/**\n * Display timecode correlating to mouse position when hovering over an element\n * @param {string[]} srcList - List of image/thumbnail urls.\n * @param {number} customOffset=0 - Add custom offset for the mouse position.\n * @param {number} durationSeconds - Total duration in seconds (of clip) that the thumbnails are scrubbed over.\n * @param {function} getThumbnailTimeCodes - Extracts timecodes from VidiCore thumbnail uris. Override for custom thumbnails.\n * @returns {Object}\n */\nexport function useHoverScrub(\n srcList = [],\n customOffset = 0,\n durationSeconds = undefined,\n getThumbnailTimeCodes = defaultGetThumbnailTimeCodes,\n) {\n const [scrubPosition, setScrubPosition] = React.useState(0);\n const [thumbnailIndex, setThumbnailIndex] = React.useState(0);\n const [showScrub, setShowScrub] = React.useState(false);\n const [thumbnailTimeCodeArray, setThumbnailTimeCodeArray] = React.useState([]);\n const [thumbnailTimeCode, setThumbnailTimeCode] = React.useState();\n const [thumbnailWidth, setThumbnailWidth] = React.useState(0);\n\n const debouncedSetNewThumbnail = React.useRef(\n _debounce((val) => {\n setThumbnailIndex(val);\n }, 10),\n ).current;\n\n const getOffsetLeft = (element) => {\n try {\n return Math.round(element.getBoundingClientRect().left);\n } catch (error) {\n return 0;\n }\n };\n\n const getMouseElementPosition = React.useCallback(\n (e) => {\n const mouseElementPosition = e.clientX - getOffsetLeft(e.currentTarget) - customOffset;\n const elementWidth = e.currentTarget.offsetWidth;\n if (mouseElementPosition < 0) {\n return 0;\n }\n if (mouseElementPosition > elementWidth) {\n return elementWidth;\n }\n return mouseElementPosition;\n },\n [customOffset],\n );\n\n const indexOfPrecededTimeCode = (num, arr) => {\n let curr = arr[0];\n let diff = Math.abs(num - curr);\n let index = 0;\n for (let val = 0; val < arr.length; val += 1) {\n const newDiff = Math.abs(num - arr[val]);\n const isPositiveDiff = num - arr[val] > 0;\n if (newDiff < diff && isPositiveDiff) {\n diff = newDiff;\n curr = arr[val];\n index = val;\n }\n }\n return index;\n };\n\n const onMouseMove = (e) => {\n if (durationSeconds) {\n const mouseElementPosition = getMouseElementPosition(e);\n setScrubPosition(mouseElementPosition - 1);\n if (thumbnailWidth !== e.currentTarget.offsetWidth) {\n setThumbnailWidth(e.currentTarget.offsetWidth);\n }\n const mouseTimecodePosition =\n mouseElementPosition / (e.currentTarget.offsetWidth / +durationSeconds);\n\n setThumbnailTimeCode(formatSeconds(mouseTimecodePosition));\n\n const newIndex = indexOfPrecededTimeCode(\n mouseTimecodePosition,\n thumbnailTimeCodeArray.map((tc) => tc.toSeconds().toFixed(0)),\n );\n if (newIndex !== thumbnailIndex) {\n debouncedSetNewThumbnail(newIndex);\n }\n }\n };\n\n useDeepCompareEffect(() => {\n const timeCodes = getThumbnailTimeCodes(srcList);\n setThumbnailTimeCodeArray(timeCodes);\n }, [srcList]);\n\n const handleShowScrub = (value) => () => {\n if (durationSeconds > 0) {\n setShowScrub(value);\n }\n };\n\n return {\n thumbnailIndex,\n thumbnailTimeCode,\n thumbnailWidth,\n showScrub,\n scrubPosition,\n handleShowScrub,\n onMouseMove,\n };\n}\n\nexport default useHoverScrub;\n","import React from 'react';\n\nimport debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useDocSearchAutocomplete({\n searchDoc,\n queryParams,\n debounceTime,\n suggestionSettings = { maximumSuggestions: 10, accuracy: 1 },\n triggerLength = 1,\n apiCall = ItemApi.searchItem,\n}) {\n const [textValue, setTextValue] = React.useState('');\n const handleAutocompleteChange = React.useRef(debounce(setTextValue, debounceTime)).current;\n\n const { data: { autocomplete = [] } = {}, request } = useApi(apiCall);\n const { suggestion = [] } = autocomplete[0] || {};\n\n useDeepCompareEffect(() => {\n if (searchDoc && textValue && textValue.length >= triggerLength) {\n request({\n body: {\n ...searchDoc,\n suggestion: suggestionSettings,\n autocomplete: [\n {\n text: textValue,\n },\n ],\n text: [{ value: textValue }],\n },\n queryParams: { count: false, number: 0, ...queryParams },\n });\n }\n }, [request, textValue, queryParams, triggerLength]);\n\n return {\n suggestion,\n handleAutocompleteChange,\n };\n}\n","import { metadatafield as MetadatafieldApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetFieldMetadataDataset() {\n const {\n request,\n data: { value: constraintValueListType = [] } = {},\n isLoading,\n } = useApi(MetadatafieldApi.getMetadataFieldAllowedValues);\n\n const getMetadataDataset = (datasetField, parentValue, parentField) => {\n const metadataFieldValueConstraintListDocument = {\n constraint: parentValue ? [{ field: parentField, value: parentValue }] : [],\n };\n if (datasetField) {\n request({\n fieldName: datasetField,\n metadataFieldValueConstraintListDocument,\n });\n }\n };\n\n return {\n getMetadataDataset,\n dataset: constraintValueListType,\n isLoading,\n };\n}\n","import React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi, item as ItemApi } from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\n// Has to be set so that the library isn't auto-deleted\nconst UPDATE_FREQUENCY = 1000;\n\n// Prevents access controls set on the library (i.e. saved search) from cascading down to items\nconst UPDATE_MODE = 'TRANSIENT';\n\nconst getCollectionTitle = (fields) =>\n fields.find((field) => field.name === 'title').value[0].value;\n\nexport default function useGetSavedSearchFolders({\n childFolders = [],\n queryParams = { content: ['metadata'] },\n markerProps = {\n markerValue: 'savedSearch',\n markerField: 'eidr_referentType',\n },\n expand,\n}) {\n const [currentFolders, setCurrentFolders] = React.useState(childFolders);\n const [subFolders, setSubFolders] = React.useState([]);\n const [errors, setErrors] = React.useState();\n\n const getSubFolders = React.useCallback(() => {\n Promise.all(\n currentFolders.map(async (id) => {\n const {\n data: { content, metadata = {} },\n } = await CollectionApi.getCollection({\n collectionId: id,\n queryParams,\n });\n\n const { field } = metadata.timespan[0];\n if (content && content[0].type === 'library') {\n return {\n id,\n libraryId: content[0].id,\n title: getCollectionTitle(field),\n type: 'query',\n metadata,\n };\n }\n return {\n id,\n title: getCollectionTitle(field),\n subFolders: content && content.map((c) => c.id),\n type: 'folder',\n metadata,\n };\n }),\n )\n .then((newFolders) => {\n setSubFolders((prevState) => [...newFolders, ...prevState]);\n })\n .catch((error) => {\n setErrors(error);\n });\n }, [currentFolders, queryParams]);\n\n const createFolder = (parentId, type, title, callback) => {\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n saved_search_folder: type,\n title,\n }),\n },\n })\n .then(({ data: { id } }) => {\n if (parentId) {\n return CollectionApi.updateCollection({\n collectionId: parentId,\n collectionDocument: {\n content: [\n {\n id,\n mode: 'add',\n type: 'collection',\n },\n ],\n },\n })\n .then(({ data: { content } }) => {\n if (content) {\n setCurrentFolders(\n content\n .filter((collection) => collection.id === id)\n .map((collection) => collection.id),\n );\n if (callback) callback();\n }\n })\n .catch((error) => {\n setErrors(error);\n });\n }\n return null;\n })\n .catch((error) => {\n setErrors(error);\n });\n };\n\n const saveSearch = (folderId, title, itemSearchDocument, callback) => {\n try {\n ItemApi.searchItem({\n queryParams: {\n result: 'library',\n updateMode: UPDATE_MODE,\n updateFrequency: UPDATE_FREQUENCY,\n },\n itemSearchDocument,\n })\n .then(({ data: { library } }) => {\n return CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n [markerProps.markerField]: markerProps.markerValue,\n title,\n }),\n content: [\n {\n id: library,\n type: 'library',\n },\n ],\n },\n });\n })\n .then(({ data: { id } }) => {\n return CollectionApi.updateCollection({\n collectionId: folderId,\n collectionDocument: {\n content: [\n {\n id,\n mode: 'add',\n type: 'collection',\n },\n ],\n },\n })\n .then(({ data: { content } }) => {\n if (content) {\n setCurrentFolders(\n content\n .filter((collection) => collection.id === id)\n .map((collection) => collection.id),\n );\n if (callback) callback();\n }\n })\n .catch((error) => {\n setErrors(error);\n });\n })\n .catch((error) => {\n setErrors(error);\n });\n } catch (error) {\n setErrors(error);\n }\n };\n\n const deleteFolder = (collectionId) =>\n CollectionApi.removeCollection({ collectionId }).catch((error) => {\n setErrors(error);\n });\n\n const removeItem = (id) => {\n setSubFolders((prevState) => prevState.filter((folder) => folder.id !== id));\n };\n\n useDeepCompareEffect(() => {\n if (currentFolders.length > 0 && expand) {\n getSubFolders();\n }\n }, [currentFolders, expand]);\n\n React.useEffect(() => {\n if (!expand && typeof expand === 'boolean') {\n setCurrentFolders(() => {\n return subFolders.map((folder) => folder.id);\n });\n setSubFolders([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [expand]);\n\n return {\n createFolder,\n saveSearch,\n getSubFolders,\n deleteFolder,\n removeItem,\n subFolders,\n setSubFolders,\n setCurrentFolders,\n errors,\n };\n}\n","import React from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\nimport { createMetadataType, parseMetadataType } from '@vidispine/vdt-js';\n\nconst useRepresentativeItems = ({ collectionId, onError }) => {\n const [representativeItems, setRepresentativeItems] = React.useState([]);\n\n const asyncGetRepresentativeItems = async () => {\n try {\n if (!collectionId) {\n throw Error('Missing collectionId');\n }\n const { data: metadata = {} } = await CollectionApi.getCollectionMetadata({\n collectionId,\n queryParams: {\n content: 'metadata',\n field: 'representativeItems',\n },\n }).catch((error) => {\n if (onError) onError(error);\n });\n const { representativeItems: newRepresentativeItems = [] } = parseMetadataType(metadata, {\n flat: true,\n includeValueAttributes: true,\n });\n setRepresentativeItems(() => newRepresentativeItems);\n } catch (error) {\n if (onError) onError(error);\n }\n };\n\n const onRefresh = asyncGetRepresentativeItems;\n\n const updateAsRepresentativeItem = async (values) => {\n try {\n const metadataDocument = createMetadataType({\n representativeItems: Array.isArray(values) ? values : [values],\n });\n const response = await CollectionApi.updateCollectionMetadata({\n collectionId,\n metadataDocument,\n });\n onRefresh();\n return response;\n } catch (error) {\n if (onError) onError(error);\n return undefined;\n }\n };\n\n const onAdd = (entityId) => updateAsRepresentativeItem({ value: entityId, mode: 'add' });\n\n const onRemove = (entityId) => {\n try {\n // Get all (if it has been added multiple times)\n const entityIdValueUuids = representativeItems\n .filter((i) => i.value === entityId)\n .map((i) => i.uuid);\n if (!entityIdValueUuids.length) return undefined;\n return updateAsRepresentativeItem(\n entityIdValueUuids.map((uuid) => ({ uuid, mode: 'remove' })),\n );\n } catch (error) {\n if (onError) onError(error);\n return undefined;\n }\n };\n\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [collectionId]);\n\n return {\n representativeItems,\n onRefresh,\n onAdd,\n onRemove,\n };\n};\n\nexport default useRepresentativeItems;\n","/* eslint-disable no-console */\nimport {\n library as LibraryApi,\n file as FileApi,\n job as JobApi,\n storage as StorageApi,\n} from '@vidispine/vdt-api';\n\nfunction defaultOnGetStorage() {\n const storageData = StorageApi.listStorage().then((response) => {\n const storage = {\n id: response.data.storage[0].id,\n uri: response.data.storage[0].method[0].uri,\n };\n return storage;\n });\n return storageData;\n}\n\nfunction defaultOnCreate(list) {\n return LibraryApi.createLibrary({\n itemListDocument: {\n item: [\n ...list.item.map(({ id }) => ({\n id,\n })),\n ],\n },\n });\n}\n\nfunction defaultOnList(response, storageInfo, queryParams) {\n const { fileName = 'output', outputFormat = 'csv' } = queryParams;\n const { uri } = storageInfo;\n const { data: { uri: [libraryId] = [] } = {} } = response;\n const createNewUri = () => {\n if (uri.includes('s3')) {\n const [uriBeforeRegion, uriAfterRegion] = uri.split('?region');\n return `${uriBeforeRegion}${fileName}.${outputFormat}?region${uriAfterRegion}`;\n }\n return `${uri}${fileName}.${outputFormat}`;\n };\n const newUri = encodeURIComponent(createNewUri());\n return LibraryApi.getLibraryBatch({\n libraryId,\n queryParams: { destinationUri: newUri, ...queryParams },\n });\n}\n\nconst SUCCESSFUL_STATES = ['FINISHED', 'FINISHED_WARNING'];\nconst INACTIVE_STATES = ['FINISHED', 'FINISHED_WARNING', 'FAILED_TOTAL', 'ABORTED'];\n\nfunction defaultOnGetFile(response, storageInfo, params, onError) {\n const { data: { jobId } = {} } = response;\n const { id } = storageInfo;\n const { fileName = 'output', outputFormat = 'csv' } = params;\n const filePath = `${fileName}.${outputFormat}`;\n JobApi.getJob({ jobId }).then(({ data: { status } = {} } = {}) => {\n if (SUCCESSFUL_STATES.includes(status)) {\n try {\n FileApi.listFileStorage({\n storageId: id,\n queryParams: {\n path: filePath,\n methodMetadata: [\n { key: 'format', value: 'SIGNED-AUTO' },\n { key: 'contentDisposition', value: `attachment;+filename=${filePath}` },\n ],\n 'noauth-url': true,\n },\n }).then((r) => window.open(r.data.file[0].uri[0]));\n } catch (error) {\n console.error(`${'Download error:'}\\n${error}`);\n onError({ message: 'Download failed' });\n }\n } else if (!INACTIVE_STATES.includes(status)) {\n setTimeout(() => {\n defaultOnGetFile(response, storageInfo, params);\n }, 1000);\n } else {\n onError({ message: 'Download failed' });\n }\n });\n}\n\n// Note: Not needed as a react-hook since doesn't use react,\n// but this is usually where we put logic functions right now\nconst useCsvDownload = ({\n itemListType,\n queryParams,\n onSuccess,\n onError = ({ message, error }) => console.error(`${message}\\n${error}`),\n onGetFile = defaultOnGetFile,\n onCreateList = defaultOnCreate,\n onList = defaultOnList,\n onGetStorage = defaultOnGetStorage,\n}) => {\n const onDownload = () =>\n onGetStorage().then((storageInfo) =>\n Promise.all([\n onCreateList(itemListType)\n .then((response) => onList(response, storageInfo, queryParams))\n .then(onSuccess())\n .then((response) => onGetFile(response, storageInfo, queryParams, onError)),\n ]),\n );\n return { onDownload };\n};\n\nexport default useCsvDownload;\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { item as ItemApi, metadata as MetadataApi } from '@vidispine/vdt-api';\nimport { createMetadataType } from '@vidispine/vdt-js';\n\nexport default function useCompoundMetadata(\n itemId,\n values,\n groups,\n groupFields,\n setGroupFields,\n onRefresh,\n onSuccess,\n onError,\n) {\n const isFamily = (el) => el.hasMultipleChild;\n const groupFamily = groups.findIndex(isFamily);\n const tableColumns = groups[groupFamily].groups[0].fields.map((group) => group);\n const onChange = (e, row, groupIndex, editIndex) => {\n const { value } = e.target;\n const { name } = e.target;\n const newGroups = groupFields.map((group) => group);\n const newRows = newGroups[groupIndex].group.map((newRow, rowIndex) => {\n if (rowIndex === editIndex) {\n return { ...row, [name]: value };\n }\n return newRow;\n });\n newGroups[groupIndex].group = newRows;\n setGroupFields(newGroups);\n };\n const onSubmit = async (data) => {\n const groupNames = [];\n groups.forEach((group) => {\n const newGroup = {};\n newGroup.parentGroup = group.name;\n newGroup.childGroup = group.groups[0].name;\n groupNames.push(newGroup);\n });\n\n const metadataDocument = createMetadataType({ group: data });\n const { timespan: newTimeSpan } = metadataDocument;\n const { uuid } = values.itemType.metadata.timespan[0].group[0];\n const newGroups = [];\n\n newTimeSpan[0].group.forEach((group, index) => {\n const newGroup = {\n group: [],\n };\n newGroup.name = groupNames[index].parentGroup;\n newGroup.mode = 'add';\n group.group.forEach((subGroup) => {\n const newSubGroup = subGroup;\n newSubGroup.name = groupNames[index].childGroup;\n newSubGroup.mode = 'add';\n newGroup.group.push(newSubGroup);\n });\n newGroups.push(newGroup);\n });\n newTimeSpan[0].group = newGroups;\n\n try {\n await MetadataApi.removeMetadata({ metadataUuid: uuid });\n await ItemApi.updateItemMetadata({\n itemId,\n metadataDocument: { timespan: newTimeSpan },\n });\n await onRefresh();\n\n onSuccess();\n } catch (error) {\n onError(error);\n }\n };\n\n useDeepCompareEffect(() => {\n setGroupFields(values.group);\n }, [values]);\n\n return {\n tableColumns,\n onChange,\n onSubmit,\n };\n}\n","import React from 'react';\n\nimport { parseMetadataType } from '@vidispine/vdt-js';\n\nexport default function MetadataType({\n itemType,\n collectionType,\n joinValue = ',',\n flat = true,\n groupAsList = true,\n children,\n ...props\n}) {\n const entityType = itemType || collectionType || {};\n const { metadata: metadataType } = entityType;\n const metadata = React.useMemo(\n () => parseMetadataType(metadataType, { joinValue, flat, groupAsList }),\n [flat, groupAsList, joinValue, metadataType],\n );\n const cloneProps = {\n ...props,\n ...metadata,\n itemType,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function SearchCollection({\n itemSearchDocument,\n queryParams,\n matrixParams,\n responseRef,\n initialState,\n children,\n}) {\n const {\n request,\n data: collectionListType = {},\n isLoading,\n isError,\n } = useApi(CollectionApi.searchCollection, initialState, responseRef);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n collectionListType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport useSearchItem from '../hooks/useSearchItem';\n\nexport default function SearchItem({ itemSearchDocument, queryParams, matrixParams, children }) {\n const { itemListType, onRefresh, isLoading, isError } = useSearchItem({\n itemSearchDocument,\n queryParams,\n matrixParams,\n });\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n itemListType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { search as SearchApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function SearchItemCollection({\n itemSearchDocument,\n queryParams,\n matrixParams,\n children,\n}) {\n const {\n request,\n data: searchResultType = {},\n isLoading,\n isError,\n } = useApi(SearchApi.searchItemCollection);\n const onRefresh = () => request({ itemSearchDocument, queryParams, matrixParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [itemSearchDocument, queryParams, matrixParams]);\n const cloneProps = {\n itemSearchDocument,\n matrixParams,\n queryParams,\n searchResultType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport useGetItem from '../hooks/useGetItem';\n\nexport default function GetItem({ itemId, queryParams, refreshOnMount, children }) {\n const { itemType, onRefresh, isLoading, isError } = useGetItem({\n itemId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n itemId,\n queryParams,\n itemType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport useGetCollection from '../hooks/useGetCollection';\n\nexport default function GetCollectionContent({\n collectionId,\n queryParams,\n refreshOnMount,\n children,\n}) {\n const { collectionType, onRefresh, isLoading, isError } = useGetCollection({\n collectionId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n collectionId,\n queryParams,\n collectionType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport React from 'react';\n\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { job as JobApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function GetJobs({ matrixParams, queryParams, children }) {\n const { request, data: jobs = {}, isLoading, isError } = useApi(JobApi.listJob);\n const onRefresh = () => request({ matrixParams, queryParams });\n useDeepCompareEffect(() => {\n onRefresh();\n }, [matrixParams, queryParams]);\n const cloneProps = {\n matrixParams,\n queryParams,\n onRefresh,\n isLoading,\n isError,\n jobs,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport { access as AccessApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function ListEntityAccess({ entityId, entityType, queryParams, children }) {\n const { request, data: accessControlList = {}, isLoading } = useApi(AccessApi.listEntityAccess);\n const onRefresh = () => request({ entityId, entityType, queryParams });\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [entityId, entityType, queryParams]);\n const cloneProps = {\n entityId,\n entityType,\n queryParams,\n accessControlList,\n onRefresh,\n isLoading,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nexport default class VidispineApi extends React.Component {\n constructor(props) {\n super(props);\n const { serverUrl, token, username, password, runAs } = props;\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n }\n if (token) {\n api.defaultClient.defaults.headers.Authorization = `token ${token}`;\n } else {\n api.defaultClient.defaults.auth = { username, password };\n }\n if (runAs) {\n api.defaultClient.defaults.headers.RunAs = runAs;\n }\n }\n\n componentDidUpdate(prevProps) {\n const { serverUrl, token, username, password, runAs } = this.props;\n if (prevProps.serverUrl !== serverUrl) {\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n } else {\n delete api.defaultClient.defaults.baseURL;\n }\n }\n if (prevProps.token !== token) {\n if (token) {\n api.defaultClient.defaults.headers.Authorization = `token ${token}`;\n } else {\n delete api.defaultClient.defaults.headers.Authorization;\n }\n }\n if (!token && (prevProps.username !== username || prevProps.password !== password)) {\n api.defaultClient.defaults.auth = { username, password };\n }\n if (prevProps.runAs !== runAs) {\n if (runAs) {\n api.defaultClient.defaults.headers.RunAs = runAs;\n } else {\n delete api.defaultClient.defaults.headers.RunAs;\n }\n }\n }\n\n render() {\n const { children, username, serverUrl } = this.props;\n const cloneProps = { username, serverUrl };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n }\n}\n","import React from 'react';\n\nimport { useCookies } from 'react-cookie';\n\nimport { utils as api, user as UserApi } from '@vidispine/vdt-api';\n\nimport VidispineApi from './VidispineApi';\n\nconst VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';\nconst VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';\nconst VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';\nconst VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';\n\nconst handleOnGetToken = ({ userName, password, serverUrl }) => {\n if (serverUrl) {\n api.defaultClient.defaults.baseURL = serverUrl;\n }\n const queryParams = { seconds: 2592000, autoRefresh: 'true' };\n const headers = { password, username: userName };\n try {\n UserApi.getToken({ queryParams, headers })\n .then(({ data: token }) => token)\n .catch(({ response = {}, message = 'Unknown error.' }) => {\n let submissionError = message;\n if (response.status === 401) {\n submissionError = 'Incorrect Username/Password';\n }\n throw submissionError;\n });\n } catch (error) {\n const submissionError = 'Incorrect Username/Password';\n throw submissionError;\n }\n};\n\nexport default function Auth({\n LoginComponent,\n LoginProps = {},\n AppComponent,\n AppProps = {},\n onGetToken = handleOnGetToken,\n onSuccess,\n onError,\n cookieOptions = {\n maxAge: 604800,\n path: '/',\n },\n ...props\n}) {\n const [cookies, setCookie, removeCookie] = useCookies([\n VIDISPINE_TOKEN,\n VIDISPINE_USERNAME,\n VIDISPINE_SERVER_URL,\n VIDISPINE_REMEMBER_ME,\n ]);\n const {\n [VIDISPINE_TOKEN]: token,\n [VIDISPINE_USERNAME]: userName,\n [VIDISPINE_SERVER_URL]: serverUrl,\n } = cookies;\n const rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';\n const onLogin = (values) => {\n let submissionError;\n try {\n onGetToken(values)\n .then((newToken) => {\n const {\n userName: newUserName,\n serverUrl: newServerUrl,\n rememberMe: newRememberMe,\n } = values;\n if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);\n if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);\n if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);\n if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);\n if (onSuccess) onSuccess(values);\n })\n .catch((error) => {\n submissionError = error;\n if (onError) return onError(submissionError);\n throw submissionError;\n });\n } catch (error) {\n submissionError = error;\n if (onError) return onError(submissionError);\n }\n return submissionError;\n };\n const onLogout = () => {\n removeCookie(VIDISPINE_TOKEN, cookieOptions);\n if (!rememberMe) {\n removeCookie(VIDISPINE_USERNAME, cookieOptions);\n removeCookie(VIDISPINE_SERVER_URL, cookieOptions);\n removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);\n }\n };\n return token ? (\n <VidispineApi token={token} username={userName} serverUrl={serverUrl}>\n <AppComponent onLogout={onLogout} {...props} {...AppProps} />\n </VidispineApi>\n ) : (\n <LoginComponent\n onLogin={onLogin}\n userName={userName}\n serverUrl={serverUrl}\n rememberMe={rememberMe}\n {...props}\n {...LoginProps}\n />\n );\n}\n","import React from 'react';\n\nfunction ErrorBoundaryComponent({ error, info }) {\n return (\n <div\n style={{\n height: '100%',\n maxHeight: '100vh',\n width: '100%',\n maxWidth: '100vw',\n backgroundColor: 'red',\n color: 'white',\n }}\n >\n {error && <div>{error.toString()}</div>}\n {info && <div>{info.componentStack}</div>}\n </div>\n );\n}\n\nexport default class ErrorBoundary extends React.Component {\n constructor(props) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n return { error, hasError: true };\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const { hasError, info } = this.state;\n const { info: nextInfo } = nextState;\n if (info === nextInfo && hasError === true) return false;\n return true;\n }\n\n componentDidCatch(error, info) {\n const { onError } = this.props;\n if (typeof onError === 'function') {\n try {\n onError(error, info);\n } catch (onErrorError) {\n return;\n }\n }\n this.setState({ info });\n }\n\n render() {\n const { children } = this.props;\n const { hasError, error, info } = this.state;\n if (hasError) {\n return <ErrorBoundaryComponent info={info} error={error} />;\n }\n return children;\n }\n}\n","/* eslint react/prop-types: \"off\" */\nimport React from 'react';\n\nimport { fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nimport useApi from '../hooks/useApi';\n\nexport default function GetFieldGroup({ groupName, queryParams, children }) {\n const {\n request,\n data: metadataFieldGroupDocument,\n isLoading,\n isError,\n } = useApi(FieldGroupApi.getFieldGroup);\n const onRefresh = () => request({ groupName, queryParams });\n React.useEffect(() => {\n onRefresh();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [groupName, queryParams]);\n const cloneProps = {\n groupName,\n queryParams,\n metadataFieldGroupDocument,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => React.cloneElement(child, cloneProps);\n return React.Children.map(children, cloneChild);\n}\n","import React from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\nimport { roles as ROLES } from '@vidispine/vdt-js';\n\nconst RolesContext = React.createContext();\n\nfunction RolesProvider({ intialState = {}, onRefresh, userName: knownUserName, children }) {\n const [groupListType, setGroupListType] = React.useState(intialState);\n const onGetUserRole = () => {\n if (knownUserName) {\n UserApi.getUserRole({ userName: knownUserName }).then(({ data }) => {\n setGroupListType(data);\n if (onRefresh) onRefresh(data);\n });\n } else {\n let iAm;\n UserApi.whoAmI()\n .then(({ data: userName }) => {\n iAm = userName;\n return UserApi.getUserRole({ userName });\n })\n .then(({ data }) => {\n setGroupListType(data);\n if (onRefresh) onRefresh(data, iAm);\n });\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n React.useEffect(onGetUserRole, [knownUserName]);\n return <RolesContext.Provider value={groupListType}>{children}</RolesContext.Provider>;\n}\n\nfunction useRoles() {\n const groupListType = React.useContext(RolesContext);\n if (groupListType === undefined) {\n throw new Error('useRoles must be used within RolesContext');\n }\n const hasRole = (roleName) => {\n if (roleName === undefined) throw new Error('roleName is undefined');\n const { group: groupList } = groupListType;\n if (!Array.isArray(groupList)) return null;\n const groupNames = groupList.map(({ groupName }) => groupName);\n if (groupNames.includes(ROLES.SUPER_ACCESS_USER)) return true;\n if (Array.isArray(roleName)) {\n return roleName.findIndex((thisRole) => groupNames.includes(thisRole)) > -1;\n }\n return groupNames.includes(roleName);\n };\n return { hasRole, groupListType };\n}\n\nexport { RolesProvider, useRoles };\n","import React from 'react';\n\nimport { useRoles } from '../context/RolesContext';\n\nexport default function HasRole({ roleName, allow, deny, loading }) {\n if (roleName === undefined) throw new Error('roleName is undefined');\n const { hasRole } = useRoles();\n const checkedRole = hasRole(roleName);\n if (React.isValidElement(allow) && checkedRole === true) {\n return allow;\n }\n if (React.isValidElement(deny) && checkedRole === false) {\n return deny;\n }\n if (React.isValidElement(loading) && checkedRole === null) {\n return loading;\n }\n return null;\n}\n","import React from 'react';\n\nexport default function ComposeProviders({ providers = [], children, ...props }) {\n return providers.reduceRight((acc, Provider) => {\n if (typeof Provider === 'function') {\n return <Provider {...props}>{acc}</Provider>;\n }\n const { provider: ProviderComponent, ...providerProps } = Provider;\n return (\n <ProviderComponent {...props} {...providerProps}>\n {acc}\n </ProviderComponent>\n );\n }, children);\n}\n","import React from 'react';\n\nimport ErrorBoundary from '../wrappers/ErrorBoundary';\n\nconst withErrorBoundary =\n (WrappedComponent, errorBoundaryProps = {}) =>\n (props) => {\n return (\n <ErrorBoundary {...errorBoundaryProps}>\n <WrappedComponent {...props} />\n </ErrorBoundary>\n );\n };\n\nexport default withErrorBoundary;\n","export const compose = (...funcs) =>\n funcs.reduce(\n (a, b) =>\n (...args) =>\n a(b(...args)),\n (arg) => arg,\n );\n\nexport default compose;\n","import React from 'react';\n\nimport { uuidv4 } from '../utils';\n\nexport const BinContext = React.createContext();\n\nconst defaultIsUniqueBinItem = (\n bin,\n { entityId, entityType, entityTimespan: { start, end, field: [{ name } = {}] = [] } = {} },\n) => {\n const entityExistsInBin = bin.some(\n (o) => o.entity.id === entityId && o.entityType === entityType,\n );\n let entityTimespanExistsInBin = false;\n if (entityExistsInBin) {\n const binEntitiesWithSameId = bin.filter(\n (o) => o.entity.id === entityId && o.entityType === entityType,\n );\n binEntitiesWithSameId.forEach(\n ({\n entityTimespan: { start: beStart, end: beEnd, field: [{ name: beName } = {}] = [] } = {},\n }) => {\n if (start === beStart && end === beEnd && name === beName) {\n entityTimespanExistsInBin = true;\n }\n },\n );\n }\n return !entityExistsInBin || !entityTimespanExistsInBin;\n};\nexport function BinProvider({\n onChange,\n children,\n initialState = [],\n allowDuplicates: defaultAllowDuplicates = false,\n isUniqueBinItem = defaultIsUniqueBinItem,\n}) {\n const [binState, setBinState] = React.useState(initialState);\n const [allowDuplicates, setAllowDuplicates] = React.useState(defaultAllowDuplicates);\n\n const onDelete = React.useCallback(\n (binIdToDelete) => {\n if (!binIdToDelete || !['string', 'number'].includes(typeof binIdToDelete)) {\n // eslint-disable-next-line no-console\n console.error('BinProvider onDelete called without a binId of the entity to delete');\n return;\n }\n setBinState((state) => {\n const newState = state.filter((o) => o.binId !== binIdToDelete);\n if (onChange) onChange(newState);\n return newState;\n });\n },\n [onChange],\n );\n\n const onEmptyBin = React.useCallback(() => {\n setBinState([]);\n if (onChange) onChange([]);\n }, [onChange]);\n\n const createBinObject = (binObject) => {\n const [binId] = uuidv4().split('-');\n return { binId, ...binObject };\n };\n\n const handleDrop = React.useCallback(\n ({ dragInfo = {} } = {}) => {\n const { entityId, entityType, entity } = dragInfo;\n if (!entityId || !entityType || !entity) {\n throw new Error('Dragged element needs to have entityId, entityType and entity props');\n }\n setBinState((state = []) => {\n if (isUniqueBinItem(state, dragInfo) || allowDuplicates) {\n const newState = [...state, createBinObject(dragInfo)];\n if (onChange) onChange(newState);\n return newState;\n }\n return state;\n });\n },\n [allowDuplicates, isUniqueBinItem, onChange],\n );\n\n const handleSort = React.useCallback(\n ({ dragId, hoverId, originalDragIndex }) => {\n if (dragId === undefined || (hoverId === undefined && originalDragIndex === undefined))\n return;\n setBinState((state) => {\n const newState = [...state];\n const dragIndex = binState.findIndex((o) => o.binId === dragId);\n const hoverIndex = binState.findIndex((o) => o.binId === hoverId);\n const newDragIndex = hoverIndex > -1 ? hoverIndex : originalDragIndex;\n [newState[newDragIndex], newState[dragIndex]] = [\n newState[dragIndex],\n newState[newDragIndex],\n ];\n if (onChange) onChange(newState);\n return newState;\n });\n },\n [binState, onChange],\n );\n\n const contextValue = React.useMemo(\n () => ({\n setBin: setBinState,\n bin: binState,\n allowDuplicates,\n setAllowDuplicates,\n onDrop: handleDrop,\n onSort: handleSort,\n onFind: () => null,\n onEmptyBin,\n onDelete,\n }),\n [allowDuplicates, binState, handleDrop, handleSort, onDelete, onEmptyBin],\n );\n\n return <BinContext.Provider value={contextValue}>{children}</BinContext.Provider>;\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","import React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nconst SettingsDispatchContext = React.createContext();\nconst SettingsStateContext = React.createContext();\n\nconst UPDATE_ALL_SETTINGS = 'UPDATE_ALL_SETTINGS';\nconst UPDATE_SETTING = 'UPDATE_SETTING';\nconst UPDATE_USERNAME = 'UPDATE_USERNAME';\nconst REMOVE_SETTING = 'REMOVE_SETTING';\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case UPDATE_USERNAME: {\n return { ...state, userName: action.userName };\n }\n case UPDATE_ALL_SETTINGS: {\n return { ...state, settings: action.settings };\n }\n case UPDATE_SETTING: {\n const settings = { ...state.settings, ...action.setting };\n return { ...state, settings };\n }\n case REMOVE_SETTING: {\n const settings = { ...state.settings };\n delete settings[action.key];\n return { ...state, settings };\n }\n default:\n return state;\n }\n};\n\nfunction SettingsProvider({\n userName: initialUsername,\n settingsKey,\n children,\n initialSettings,\n onChange,\n getSettingsApi,\n updateSettingsApi,\n}) {\n const [state, dispatch] = React.useReducer(reducer, {\n settings: initialSettings,\n userName: initialUsername,\n });\n const currentSettingsFromServer = React.useRef();\n\n React.useEffect(() => {\n const { userName } = state;\n if (!getSettingsApi || !userName) return;\n getSettingsApi({\n entityType: 'user',\n entityId: userName,\n key: settingsKey,\n })\n .then(({ data: settings }) => {\n dispatch({\n type: UPDATE_ALL_SETTINGS,\n settings,\n userName,\n settingsKey,\n });\n currentSettingsFromServer.current = JSON.stringify(settings);\n })\n .catch((error) => {\n const { response } = error;\n if (response.status !== 404) {\n throw new Error(error);\n }\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.userName]);\n\n React.useEffect(() => {\n if (onChange) onChange(state.settings);\n const { userName } = state;\n if (!updateSettingsApi || !userName) return;\n const newValue = JSON.stringify(state.settings);\n const currentValue = currentSettingsFromServer.current;\n if (!currentValue || newValue === currentValue) return;\n updateSettingsApi({\n entityType: 'user',\n entityId: userName,\n key: settingsKey,\n value: newValue,\n });\n currentSettingsFromServer.current = newValue;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [state.settings]);\n\n return (\n <SettingsStateContext.Provider value={state}>\n <SettingsDispatchContext.Provider value={dispatch}>\n {children}\n </SettingsDispatchContext.Provider>\n </SettingsStateContext.Provider>\n );\n}\n\nconst useSettingsState = () => {\n const state = React.useContext(SettingsStateContext);\n if (!state) throw new Error('useSettingsState must be used within SettingsStateContext');\n return state;\n};\n\nconst useSettingsDispatch = () => {\n const dispatch = React.useContext(SettingsDispatchContext);\n if (!dispatch) throw new Error('useSettingsDispatch must be used within SettingsDispatchContext');\n return dispatch;\n};\n\nconst useSettingsActions = () => {\n const dispatch = useSettingsDispatch();\n const updateAllSettings = React.useCallback(\n (settings) => dispatch({ type: UPDATE_ALL_SETTINGS, settings }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateSetting = React.useCallback(\n (setting) => dispatch({ type: UPDATE_SETTING, setting }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateUsername = React.useCallback(\n (userName) => dispatch({ type: UPDATE_USERNAME, userName }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const removeSetting = React.useCallback((key) => dispatch({ type: REMOVE_SETTING, key }), []);\n return {\n updateAllSettings,\n updateSetting,\n updateUsername,\n removeSetting,\n };\n};\n\nconst useSettings = () => {\n const { settings = {} } = useSettingsState();\n const actions = useSettingsActions();\n return {\n ...actions,\n settings,\n };\n};\n\nSettingsProvider.propTypes = {\n userName: PropTypes.string.isRequired,\n settingsKey: PropTypes.string.isRequired,\n children: PropTypes.objectOf(PropTypes.any),\n initialSettings: PropTypes.objectOf(PropTypes.any),\n onChange: PropTypes.func,\n getSettingsApi: PropTypes.func,\n updateSettingsApi: PropTypes.func,\n};\n\nSettingsProvider.defaultProps = {\n children: null,\n initialSettings: {},\n onChange: null,\n getSettingsApi: MetadataApi.getSimpleMetadataKey,\n updateSettingsApi: MetadataApi.updateSimpleMetadataKey,\n};\n\nexport { SettingsProvider, useSettingsActions, useSettings };\n","import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { useCookies } from 'react-cookie';\n\nimport { user as UserApi, noauth as NoAuthApi, utils as api } from '@vidispine/vdt-api';\n\nimport { useApi } from '../hooks';\nimport { VidispineApi } from '../wrappers';\n\nconst VIDISPINE_TOKEN = 'VIDISPINE-TOKEN';\nconst VIDISPINE_USERNAME = 'VIDISPINE-USERNAME';\nconst VIDISPINE_SERVER_URL = 'VIDISPINE-SERVER-URL';\nconst VIDISPINE_REMEMBER_ME = 'VIDISPINE-REMEMBER-ME';\nconst ERROR_CREDENTIALS = 'Incorrect username or password';\nconst ERROR_OFFLINE = 'Offline or CORS not configured';\nconst ERROR_TOKEN_EXPIRED = 'Session expired';\nconst ERROR_SERVER_MISMATCH = 'VIDISPINE_URL mismatch';\n\nconst getErrorMessage = (serverUrl) => {\n try {\n // NoAuthApi.isOnline throws cors error after multiple requests\n return NoAuthApi.getSelfTest({ baseURL: serverUrl })\n .then(() => ERROR_CREDENTIALS)\n .catch(() => ERROR_OFFLINE);\n } catch (_) {\n return Promise.resolve(ERROR_OFFLINE);\n }\n};\n\nconst defaultOnGetToken = ({ maxAge: seconds = 60, userName, password, serverUrl }) => {\n try {\n return UserApi.getToken({\n queryParams: { seconds, autoRefresh: 'true' },\n headers: { password, username: userName },\n baseURL: serverUrl,\n })\n .then(({ data: token }) => {\n return token;\n })\n .catch(() => {\n return getErrorMessage(serverUrl).then((error) => {\n throw Error(error);\n });\n });\n } catch (_) {\n return getErrorMessage(serverUrl).then((error) => {\n throw Error(error);\n });\n }\n};\n\nexport const AuthContext = React.createContext({\n serverUrl: null,\n token: null,\n userType: null,\n userName: null,\n onLogin: () => null,\n onLogout: () => null,\n});\n\nexport function AuthProvider({\n cookieOptions,\n LoginComponent,\n LoginProps,\n onGetToken,\n onSuccess,\n onError,\n serverUrl: propsServerUrl,\n userName: propsUserName,\n token: propsToken,\n children,\n}) {\n const { data: userType, request: getUser } = useApi(UserApi.getUser);\n\n const [cookies, setCookie, removeCookie] = useCookies([\n VIDISPINE_TOKEN,\n VIDISPINE_USERNAME,\n VIDISPINE_SERVER_URL,\n VIDISPINE_REMEMBER_ME,\n ]);\n const {\n [VIDISPINE_TOKEN]: token = propsToken,\n [VIDISPINE_USERNAME]: userName = propsUserName,\n [VIDISPINE_SERVER_URL]: serverUrl = propsServerUrl,\n } = cookies;\n const rememberMe = cookies[VIDISPINE_REMEMBER_ME] === 'true';\n const { maxAge } = cookieOptions;\n const onLogin = React.useCallback(\n (values) => {\n let submissionError;\n try {\n return onGetToken({ maxAge, ...values })\n .then((newToken) => {\n const {\n userName: newUserName,\n serverUrl: newServerUrl,\n rememberMe: newRememberMe,\n } = values;\n if (newUserName) setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions);\n if (newServerUrl) setCookie(VIDISPINE_SERVER_URL, newServerUrl, cookieOptions);\n if (newRememberMe) setCookie(VIDISPINE_REMEMBER_ME, newRememberMe, cookieOptions);\n if (newToken) setCookie(VIDISPINE_TOKEN, newToken, cookieOptions);\n if (onSuccess) onSuccess(values);\n })\n .catch((error) => {\n submissionError = error;\n if (onError) onError(submissionError);\n });\n } catch (error) {\n submissionError = error;\n if (onError) onError(submissionError);\n }\n return submissionError;\n },\n [cookieOptions, maxAge, onError, onGetToken, onSuccess, setCookie],\n );\n const onLogout = React.useCallback(() => {\n removeCookie(VIDISPINE_TOKEN, cookieOptions);\n if (!rememberMe) {\n removeCookie(VIDISPINE_USERNAME, cookieOptions);\n removeCookie(VIDISPINE_SERVER_URL, cookieOptions);\n removeCookie(VIDISPINE_REMEMBER_ME, cookieOptions);\n }\n }, [cookieOptions, rememberMe, removeCookie]);\n\n const responseInterceptor = React.useRef();\n React.useEffect(() => {\n if (token) {\n if (responseInterceptor.current)\n api.defaultClient.interceptors.response.eject(responseInterceptor.current);\n responseInterceptor.current = api.defaultClient.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 401) {\n onLogout();\n if (onError) onError(Error(ERROR_TOKEN_EXPIRED));\n }\n } else {\n const { config: { baseURL } = {} } = error;\n NoAuthApi.getSelfTest({ baseURL })\n .then(() => {\n onLogout();\n if (onError) onError(Error(ERROR_TOKEN_EXPIRED));\n })\n .catch(() => null); // Will throw if offline or CORS error\n }\n return Promise.reject(error);\n },\n );\n }\n return () => {\n if (responseInterceptor.current)\n api.defaultClient.interceptors.response.eject(responseInterceptor.current);\n };\n }, [onLogout, onError, token]);\n\n React.useEffect(() => {\n if (token && userName === undefined) {\n UserApi.whoAmI().then(({ data: newUserName }) =>\n setCookie(VIDISPINE_USERNAME, newUserName, cookieOptions),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userName, token]);\n\n React.useEffect(() => {\n if (token && userName && userType === undefined) getUser({ userName });\n }, [userName, token, userType, getUser, onLogout]);\n React.useEffect(() => {\n if (token && serverUrl && propsServerUrl && serverUrl !== propsServerUrl) {\n onLogout();\n if (onError) onError(Error(ERROR_SERVER_MISMATCH));\n }\n }, [token, serverUrl, propsServerUrl, onLogout, onError]);\n\n const contextValue = React.useMemo(\n () => ({\n serverUrl,\n token,\n userType,\n userName,\n onLogin,\n onLogout,\n }),\n [onLogin, onLogout, serverUrl, token, userName, userType],\n );\n\n return token ? (\n <VidispineApi token={token} username={userName} serverUrl={serverUrl}>\n <AuthContext.Provider value={contextValue}>{children}</AuthContext.Provider>\n </VidispineApi>\n ) : (\n <LoginComponent\n onLogin={onLogin}\n userName={userName}\n serverUrl={serverUrl}\n rememberMe={rememberMe}\n {...LoginProps}\n />\n );\n}\n\nAuthProvider.propTypes = {\n cookieOptions: PropTypes.shape({\n maxAge: PropTypes.number,\n path: PropTypes.string,\n }),\n LoginComponent: PropTypes.elementType.isRequired,\n LoginProps: PropTypes.objectOf(PropTypes.any),\n onGetToken: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n onSuccess: PropTypes.func,\n onError: PropTypes.func,\n serverUrl: PropTypes.string.isRequired,\n userName: PropTypes.string,\n token: PropTypes.string,\n};\n\nAuthProvider.defaultProps = {\n cookieOptions: {\n maxAge: 604800,\n path: '/',\n },\n LoginProps: {},\n onGetToken: defaultOnGetToken,\n children: null,\n onSuccess: null,\n onError: null,\n userName: null,\n token: null,\n};\n\nexport const useAuthContext = () => {\n const context = React.useContext(AuthContext);\n if (context === undefined) {\n throw new Error('useAuth must be used within an AuthContext');\n }\n\n return context;\n};\n","import { collection as CollectionApi } from '@vidispine/vdt-api';\n\nexport const handleAddEntity = ({ entityId, entityType, collectionId, rootParentId, onError }) => {\n if (collectionId && collectionId !== rootParentId) {\n try {\n return CollectionApi.addCollectionEntity({\n collectionId,\n entityId,\n queryParams: {\n type: entityType.toLowerCase(),\n },\n });\n } catch (error) {\n onError({\n message: `Could not add ${entityId} to collection ${collectionId}`,\n error,\n });\n }\n }\n return undefined;\n};\nexport const handleRemoveEntity = ({\n entityId,\n entityType,\n collectionId,\n rootParentId,\n onError,\n}) => {\n if (collectionId && collectionId !== rootParentId) {\n try {\n return CollectionApi.removeCollectionEntity({\n collectionId,\n entityId,\n queryParams: {\n type: entityType.toLowerCase(),\n },\n });\n } catch (error) {\n onError({\n message: `Could not remove ${entityId} from collection ${collectionId}`,\n error,\n });\n }\n }\n return undefined;\n};\n\nexport const handleMoveEntity = ({\n entityId,\n entityType,\n addToCollectionId,\n removeFromCollectionId,\n rootParentId,\n onAddEntity = handleAddEntity,\n onRemoveEntity = handleRemoveEntity,\n onMoved = () => null,\n onAdded = () => null,\n onRemoved = () => null,\n // eslint-disable-next-line no-console\n onError = ({ message, error }) => console.error(`${message}\\n${error}`),\n}) => {\n if (!addToCollectionId) {\n onError({ message: 'Missing the collection id to add entity to', error: '' });\n return;\n }\n if (!removeFromCollectionId) {\n onError({ message: 'Missing the collection id to remove entity from', error: '' });\n return;\n }\n try {\n const addPromise = onAddEntity({\n entityId,\n entityType,\n rootParentId,\n collectionId: addToCollectionId,\n onError,\n });\n const removePromise = onRemoveEntity({\n entityId,\n entityType,\n rootParentId,\n collectionId: removeFromCollectionId,\n onError,\n });\n const promises = [addPromise, removePromise].filter((e) => e !== undefined);\n Promise.allSettled(promises)\n .then((results) => {\n const failedResults = results.filter((r) => r.status !== 'fulfilled');\n const allSucceeded = failedResults.length === 0;\n const allFailed = failedResults.length === promises.length;\n const oneFailed = failedResults.length === 1;\n if (allSucceeded) {\n onMoved();\n onAdded();\n onRemoved();\n } else if (allFailed) {\n onError({\n message:\n `Could not move ${entityId} from ` +\n `${removeFromCollectionId} to ${addToCollectionId}`,\n error: failedResults.map((fr) => fr.reason).join('\\n'),\n });\n } else if (oneFailed) {\n const failedRequest = failedResults[0].reason.config.method;\n const failedToRemove = failedRequest === 'delete';\n const failedToAdd = failedRequest === 'put';\n onError({\n message: failedToRemove\n ? `Could not remove ${entityId} from collection ${removeFromCollectionId}`\n : `Could not add ${entityId} to collection ${addToCollectionId}`,\n error: failedResults[0].reason,\n });\n let rollbackPromise;\n if (failedToRemove) {\n rollbackPromise = onRemoveEntity({\n entityId,\n entityType,\n collectionId: addToCollectionId,\n onError,\n });\n } else if (failedToAdd) {\n rollbackPromise = onAddEntity({\n entityId,\n entityType,\n collectionId: removeFromCollectionId,\n onError,\n });\n }\n if (rollbackPromise) {\n rollbackPromise\n .then(() => {\n // eslint-disable-next-line no-console\n console.info(\n `Rollbacked moving ${entityId} from ` +\n `${removeFromCollectionId} to ${addToCollectionId}`,\n );\n })\n .catch((error) => {\n onError({ message: 'Could not rollback after moving entity', error });\n });\n }\n }\n })\n .catch((error) => {\n onError({\n message: `Could not add ${entityId} to collection ${addToCollectionId}`,\n error,\n });\n });\n } catch (error) {\n onError({\n message: `Could not move ${entityId} from ${removeFromCollectionId} to collection ${addToCollectionId}`,\n error,\n });\n }\n};\n\nexport default { handleMoveEntity, handleAddEntity, handleRemoveEntity };\n","import React from 'react';\n\n// TODO: convert this into a HOC (withDropArea)?\nexport default function DropArea({\n children,\n setDrag,\n onDrop: onDropProp,\n onDragEnter: onDragEnterProp,\n onDragOver: onDragOverProp,\n onDragLeave: onDragLeaveProp,\n style,\n}) {\n const [dragCounter, setDragCounter] = React.useState(0);\n\n const onDrop = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDrag(false);\n if (onDropProp) onDropProp(e);\n };\n\n const onDragEnter = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDragCounter(dragCounter + 1);\n if (dragCounter === 0) setDrag(true);\n if (onDragEnterProp) onDragEnterProp(e);\n };\n\n const onDragOver = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (onDragOverProp) onDragOverProp(e);\n };\n\n const onDragLeave = (e) => {\n e.preventDefault();\n e.stopPropagation();\n setDragCounter(dragCounter - 1);\n if (dragCounter === 1) setDrag(false);\n if (onDragLeaveProp) onDragLeaveProp(e);\n };\n\n return (\n <div\n onDragEnter={(e) => onDragEnter(e)}\n onDragOver={(e) => onDragOver(e)}\n onDrop={(e) => onDrop(e)}\n onDragLeave={(e) => onDragLeave(e)}\n style={style}\n >\n {children}\n </div>\n );\n}\n"],"names":["setDefaultState","hasLoaded","isLoading","isError","response","undefined","data","responseRef","current","apiReducer","state","action","type","responseType","newState","initialState","useApi","apiHandler","cancelToken","React","useRef","initialDefaultState","initialStateRef","useReducer","dispatch","request","useCallback","props","Promise","resolve","reject","canceltoken","api","CancelToken","c","then","reset","cancel","useEffect","CHANGE_PAGE","CHANGE_ROWS","CHANGE_SORT","CHANGE_SEARCHTEXT","CHANGE_SEARCHFIELD","CHANGE_SEARCHFIELDFACET","CHANGE_SEARCHFILTER","CHANGE_SEARCHFILTERFACET","CHANGE_PARENT_COLLECTION","CHANGE_FACET","CHANGE_ITEMSEARCHDOCUMENT","CHANGE_QUERYPARAMS","CHANGE_MATRIXPARAMS","CHANGE_SUGGESTION","ACTION_TYPE","setInitialDefaultState","queryParams","matrixParams","itemSearchDocument","rowsPerPage","page","content","interval","first","number","intervals","filter","searchReducer","searchText","value","sort","field","order","text","facet","parentCollection","operator","name","operation","suggestion","useSearch","onChangeRowsPerPage","newRows","target","onChangePage","newPage","onChangeSort","event","setSearchText","setItemSearchDocument","setQueryParams","CHANGE_ITEMQUERYPARAMS","setMatrixParams","CHANGE_ITEMMATRIXPARAMS","setSearchField","setSearchFieldFacet","map","count","setSearchFilter","setSearchFilterFacet","fieldList","reduce","a","concat","exclude","setFacet","setParentCollection","setSuggestion","useUpdateEffect","fn","inputs","hasMountedRef","maximumSuggestions","useAutocomplete","useState","autocompleteDoc","setAutocompleteDoc","setAutocompleteField","setAutocompleteText","setAutocompleteMaxSuggestions","SearchApi","searchAutoComplete","suggestions","autocompleteRequestDocument","propKey","selected","setSelected","onSelect","checked","propValue","currentIndex","findIndex","thisSelected","newSelected","splice","isSelected","onClear","initialTab","activeTab","setActiveTab","changeTab","_","newValue","useInterval","callback","delay","savedCallback","tick","id","setInterval","clearInterval","useThumbnailScrub","srcList","savedInterval","initialImgIdx","useMemo","Math","floor","length","imgIdx","setImgIdx","imgIdxRef","width","onMouseEnter","onMouseLeave","imageSrc","CHANGE_TYPE","CHANGE_STATE","CHANGE_PRIORITY","CHANGE_STARTTIME","CHANGE_FINISHTIME","jobMetadata","rest","newMatrixParams","Array","isArray","join","newQueryParams","CHANGE_JOBMETADATA","useJobSearch","fieldName","_typeof","onChangeType","onChangeState","onChangePriority","onChangeStarttime","onChangeFinishtime","onChangeJobmetadata","useLocalStorage","localStorageKey","defaultValue","JSON","parse","window","localStorage","getItem","stringify","setValue","setItem","getValue","uuidv4","replace","crypto","getRandomValues","Uint8Array","toString","b64EncodeUnicode","str","compressToEncodedURIComponent","b64DecodeUnicode","slice","decodeURIComponent","atob","split","charCodeAt","decompressFromEncodedURIComponent","DEFAULT_AUDIO_SHAPETAGS","DEFAULT_VIDEO_SHAPETAGS","DEFAULT_IMAGE_SHAPETAGS","AUDIO_MIMETYPE_PREFIX","VIDEO_MIMETYPE_PREFIX","IMAGE_MIMETYPE_PREFIX","ADDITIONAL_VIDEO_MIMETYPES","ADDITIONAL_IMAGE_MIMETYPES","ADDITIONAL_AUDIO_MIMETYPES","getDefaultShapeTags","file","mimeType","toLowerCase","startsWith","includes","chunkedUpload","uploadInstance","ChunkedUpload","onFail","error","onComplete","resp","upload","onUploadFile","collectionId","onProgress","metadata","propsMetadata","placeholderParams","importParams","chunkedUploadProps","generateTransferId","getShapeTags","itemId","shapeTags","filename","mediaType","originalFilename","metadataDocument","createMetadataType","ImportApi","createImportPlaceholder","container","itemDocument","collectionIds","all","CollectionApi","addCollectionEntity","entityId","transferId","tag","method","createImportComponentRaw","component","err","console","useUploadFiles","handleUploadFile","initialMetadata","files","setFiles","forEach","URL","revokeObjectURL","preview","onAddFiles","newFiles","newFilesObj","title","currentFiles","onChangeFile","idx","changeFile","currentFilesList","currentFile","newMetadata","newProgress","progress","currentMetadata","currentProgress","newFilesList","newFile","onChangeProgress","onChangeMetadata","onUpload","uploadProps","previousPromise","thisFile","res","currentResult","onRemoveFile","_toConsumableArray","i","onRemoveFiles","idxs","useQueryInitialState","history","navigate","propLocation","location","queryName","defaultState","defaultStateRef","queryState","searchParams","URLSearchParams","search","encodedQuery","get","decodedQuery","pathName","queryInitialState","useUpdateQueryState","onSearchStateChange","useEntityAccess","entityType","AccessApi","listEntityAccess","accessControlList","onList","onRemove","accessId","removeEntityAccess","onAdd","accessControlDocument","createEntityAccess","getValueFromData","key","find","d","defaultGetDataAttributes","fieldOrGroup","keys","Object","assign","getOptions","values","f","label","convertValuesXmlToJson","xmlString","doc","DOMParser","parseFromString","fields","getElementsByTagName","json","childNodes","keyNode","valueNode","push","nodeName","firstChild","nodeValue","useAddMetadataFieldAttributes","groups","getDataAttributes","fieldDataToInclude","groupDataToInclude","fieldQueryParams","groupQueryParams","setIsLoading","fieldsWithAttributes","setFieldsWithAttributes","groupsWithAttributes","setGroupsWithAttributes","useDeepCompareEffect","addFieldAttributes","fieldsArray","fieldsAttributes","overrides","fieldAttributes","dataAttributes","constraint","options","addGroupAttributes","groupsArray","groupsAttributes","group","groupAttributes","childFields","childGroups","didCancel","fetchAttributesAsync","fieldPromises","MetadataFieldApi","getMetadataField","warn","groupPromises","groupsToFetch","groupName","FieldGroupApi","getFieldGroup","dataValues","e","jsonValues","g","some","v","newGroupsWithAttributes","b","indexOf","UPDATE_FREQUENCY","UPDATE_MODE","saveSearch","markerField","markerValue","ItemApi","searchItem","result","updateMode","updateFrequency","library","createCollection","collectionDocument","getLibraryFromCollection","getCollection","children","collectionType","libraryType","Error","deleteSearch","libraryId","LibraryApi","removeLibrary","removeCollection","getLibrarySettings","query","getSavedSearchSettings","useSavedSearch","initialSearchState","onSaveSearch","onDeleteSearch","onUpdateSearchMetadata","updateCollectionMetadata","onGetSavedSearchSettings","saveSearchWithMarker","mergeMarkerField","searchProps","useSearchItem","itemListType","onRefresh","useMouseDownPosition","x","y","position","setPosition","setFromEvent","clientX","clientY","addEventListener","removeEventListener","useGetCollection","refreshOnMount","getCollectionItem","useGetEntity","dataType","entityApi","entityTypeId","getLibrary","apiProps","onGetEntity","useUser","UserApi","getUser","userType","userName","updateUser","userDocument","updateUserGroups","updateUserGroup","groupListDocument","removeUserFromGroup","GroupApi","removeGroupUser","changePassword","password","passwordType","deleteUser","disableUser","hard","args","enableUser","CHANGE_QUERY","userSearchDocument","useSearchUser","searchUser","userListDocument","onSearchUser","onChangeQuery","useListGroup","listGroup","groupListType","useListUser","listUser","userListType","HIDE_ROLES","groupSearchDocument","hideRoles","role","useSearchGroup","searchGroup","onSearchGroup","onHideRoles","useGroup","getGroup","groupType","updateGroup","groupDocument","addChildGroups","childGroupList","addParentGroups","parentGroupList","addUsersToGroup","users","userList","user","u","removeChildGroup","childGroupName","removeGroupChildren","removeFromParentGroup","parentGroupName","removeGroup","useGetItem","itemType","useCollectionAutoPlay","defaultEnabled","nextPlaying","setNextPlaying","isAutoPlayEnabled","setIsAutoPlayEnabled","toggleAutoPlay","prevValue","allItemsRef","orderItemsRef","hitsRef","onNext","searchDocument","searchForNext","allItems","orderItems","searchCollectionItem","hits","item","itemList","contentList","currentItemIdx","thisId","remainingItems","nextItem","defaultGetThumbnailTimeCodes","timeCodes","index","uri","timeCodeFromURI","timecodeText","formatTimeCodeText","useHoverScrub","customOffset","durationSeconds","getThumbnailTimeCodes","scrubPosition","setScrubPosition","thumbnailIndex","setThumbnailIndex","showScrub","setShowScrub","thumbnailTimeCodeArray","setThumbnailTimeCodeArray","thumbnailTimeCode","setThumbnailTimeCode","thumbnailWidth","setThumbnailWidth","debouncedSetNewThumbnail","_debounce","val","getOffsetLeft","element","round","getBoundingClientRect","left","getMouseElementPosition","mouseElementPosition","currentTarget","elementWidth","offsetWidth","indexOfPrecededTimeCode","num","arr","curr","diff","abs","newDiff","isPositiveDiff","onMouseMove","mouseTimecodePosition","formatSeconds","newIndex","tc","toSeconds","toFixed","handleShowScrub","useDocSearchAutocomplete","searchDoc","debounceTime","suggestionSettings","accuracy","triggerLength","apiCall","textValue","setTextValue","handleAutocompleteChange","debounce","autocomplete","body","useGetFieldMetadataDataset","MetadatafieldApi","getMetadataFieldAllowedValues","constraintValueListType","getMetadataDataset","datasetField","parentValue","parentField","metadataFieldValueConstraintListDocument","dataset","getCollectionTitle","useGetSavedSearchFolders","childFolders","markerProps","expand","currentFolders","setCurrentFolders","subFolders","setSubFolders","errors","setErrors","getSubFolders","timespan","newFolders","prevState","createFolder","parentId","saved_search_folder","updateCollection","mode","collection","folderId","deleteFolder","removeItem","folder","useRepresentativeItems","onError","representativeItems","setRepresentativeItems","asyncGetRepresentativeItems","getCollectionMetadata","parseMetadataType","flat","includeValueAttributes","newRepresentativeItems","updateAsRepresentativeItem","entityIdValueUuids","uuid","defaultOnGetStorage","storageData","StorageApi","listStorage","storage","defaultOnCreate","list","createLibrary","itemListDocument","defaultOnList","storageInfo","fileName","outputFormat","createNewUri","uriBeforeRegion","uriAfterRegion","newUri","encodeURIComponent","getLibraryBatch","destinationUri","SUCCESSFUL_STATES","INACTIVE_STATES","defaultOnGetFile","params","jobId","filePath","JobApi","getJob","status","FileApi","listFileStorage","storageId","path","methodMetadata","r","open","message","setTimeout","useCsvDownload","onSuccess","onGetFile","onCreateList","onGetStorage","onDownload","useCompoundMetadata","groupFields","setGroupFields","isFamily","el","hasMultipleChild","groupFamily","tableColumns","onChange","row","groupIndex","editIndex","newGroups","newRow","rowIndex","onSubmit","groupNames","newGroup","parentGroup","childGroup","newTimeSpan","subGroup","newSubGroup","MetadataApi","removeMetadata","metadataUuid","updateItemMetadata","MetadataType","joinValue","groupAsList","metadataType","cloneProps","cloneChild","child","cloneElement","Children","SearchCollection","searchCollection","collectionListType","SearchItem","SearchItemCollection","searchItemCollection","searchResultType","GetItem","GetCollectionContent","GetJobs","listJob","jobs","ListEntityAccess","VidispineApi","serverUrl","token","username","runAs","defaultClient","defaults","baseURL","headers","Authorization","auth","RunAs","prevProps","Component","VIDISPINE_TOKEN","VIDISPINE_USERNAME","VIDISPINE_SERVER_URL","VIDISPINE_REMEMBER_ME","handleOnGetToken","seconds","autoRefresh","getToken","submissionError","Auth","LoginComponent","LoginProps","AppComponent","AppProps","onGetToken","cookieOptions","maxAge","useCookies","cookies","setCookie","removeCookie","rememberMe","onLogin","newToken","newUserName","newServerUrl","newRememberMe","onLogout","ErrorBoundaryComponent","info","height","maxHeight","maxWidth","backgroundColor","color","componentStack","ErrorBoundary","hasError","nextProps","nextState","nextInfo","onErrorError","setState","GetFieldGroup","metadataFieldGroupDocument","RolesContext","createContext","RolesProvider","intialState","knownUserName","setGroupListType","onGetUserRole","getUserRole","iAm","whoAmI","useRoles","useContext","hasRole","roleName","groupList","ROLES","SUPER_ACCESS_USER","thisRole","HasRole","allow","deny","loading","checkedRole","isValidElement","ComposeProviders","providers","reduceRight","acc","Provider","ProviderComponent","provider","providerProps","withErrorBoundary","WrappedComponent","errorBoundaryProps","compose","funcs","arg","BinContext","defaultIsUniqueBinItem","bin","entityTimespan","start","end","entityExistsInBin","o","entity","entityTimespanExistsInBin","binEntitiesWithSameId","beStart","beEnd","beName","BinProvider","allowDuplicates","defaultAllowDuplicates","isUniqueBinItem","binState","setBinState","setAllowDuplicates","onDelete","binIdToDelete","binId","onEmptyBin","createBinObject","binObject","handleDrop","dragInfo","handleSort","dragId","hoverId","originalDragIndex","dragIndex","hoverIndex","newDragIndex","contextValue","setBin","onDrop","onSort","onFind","reactIsModule","require$$0","require$$1","ReactPropTypesSecret","has","printWarning","checkPropTypes","ReactIs","require$$2","require$$3","require$$4","propTypesModule","SettingsDispatchContext","SettingsStateContext","UPDATE_ALL_SETTINGS","UPDATE_SETTING","UPDATE_USERNAME","REMOVE_SETTING","reducer","settings","setting","SettingsProvider","initialUsername","settingsKey","initialSettings","getSettingsApi","updateSettingsApi","currentSettingsFromServer","currentValue","useSettingsState","useSettingsDispatch","useSettingsActions","updateAllSettings","updateSetting","updateUsername","removeSetting","useSettings","actions","propTypes","PropTypes","string","isRequired","objectOf","any","func","defaultProps","getSimpleMetadataKey","updateSimpleMetadataKey","ERROR_CREDENTIALS","ERROR_OFFLINE","ERROR_TOKEN_EXPIRED","ERROR_SERVER_MISMATCH","getErrorMessage","NoAuthApi","getSelfTest","defaultOnGetToken","AuthContext","AuthProvider","propsServerUrl","propsUserName","propsToken","responseInterceptor","interceptors","eject","use","config","shape","elementType","oneOfType","arrayOf","useAuthContext","context","handleAddEntity","rootParentId","handleRemoveEntity","removeCollectionEntity","handleMoveEntity","addToCollectionId","removeFromCollectionId","onAddEntity","onRemoveEntity","onMoved","onAdded","onRemoved","addPromise","removePromise","promises","allSettled","results","failedResults","allSucceeded","allFailed","oneFailed","fr","reason","failedRequest","failedToRemove","failedToAdd","rollbackPromise","DropArea","setDrag","onDropProp","onDragEnterProp","onDragEnter","onDragOverProp","onDragOver","onDragLeaveProp","onDragLeave","style","dragCounter","setDragCounter","preventDefault","stopPropagation"],"mappings":"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"}
|