@vidispine/vdt-react 22.3.0-pre.3 → 22.3.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/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 { useRef, useReducer, useCallback, useEffect } 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 = useRef(() => null);\n const initialDefaultState = setDefaultState(initialState, responseRef);\n const initialStateRef = useRef(initialDefaultState);\n const [state, dispatch] = useReducer(apiReducer, initialDefaultState);\n const request = 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 = useCallback(\n () => dispatch({ type: 'RESET', initialState: initialStateRef.current }),\n [],\n );\n const cancel = useCallback(() => cancelToken.current(), []);\n 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 { useReducer, useCallback } 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] = 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 = useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHTEXT,\n value,\n }),\n [],\n );\n\n const setItemSearchDocument = useCallback(\n (itemSearchDocument) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT,\n itemSearchDocument,\n }),\n [],\n );\n\n const setQueryParams = useCallback(\n (queryParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMQUERYPARAMS,\n queryParams,\n }),\n [],\n );\n\n const setMatrixParams = useCallback(\n (matrixParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMMATRIXPARAMS,\n matrixParams,\n }),\n [],\n );\n\n const setSearchField = useCallback(\n (field) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFIELD,\n field,\n }),\n [],\n );\n\n const setSearchFieldFacet = 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 = useCallback(\n (filter) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFILTER,\n filter,\n }),\n [],\n );\n\n const setSearchFilterFacet = 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 = useCallback(\n (facet) => {\n dispatch({ type: ACTION_TYPE.CHANGE_FACET, facet });\n },\n [dispatch],\n );\n\n const setParentCollection = useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PARENT_COLLECTION,\n value,\n }),\n [],\n );\n\n const setSuggestion = 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 { useRef, useEffect } from 'react';\n\nexport default function useUpdateEffect(fn, inputs) {\n const hasMountedRef = useRef(false);\n 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 { useState, useCallback } 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] = useState(initialDefaultState);\n\n const setAutocompleteField = useCallback((field, text = '') => {\n setAutocompleteDoc((state) => ({ ...state, field, text }));\n }, []);\n\n const setAutocompleteText = useCallback((text) => {\n setAutocompleteDoc((state) => ({ ...state, text }));\n }, []);\n\n const setAutocompleteMaxSuggestions = 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 { useState } from 'react';\n\nexport default (propKey = 'id', initialState = []) => {\n const [selected, setSelected] = 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 { useState } from 'react';\n\nexport default (initialTab) => {\n const [activeTab, setActiveTab] = useState(initialTab);\n const changeTab = (_, newValue) => setActiveTab(newValue);\n return { activeTab, changeTab };\n};\n","import { useRef, useEffect } from 'react';\n\nexport default function useInterval(callback, delay) {\n const savedCallback = useRef();\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const tick = () => savedCallback.current();\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }, [delay]);\n}\n","import { useRef, useMemo, useState, useEffect } from 'react';\n\nexport default function useThumbnailScrub(srcList = []) {\n const savedInterval = useRef();\n const initialImgIdx = useMemo(() => Math.floor(srcList.length / 2), [srcList]);\n const [imgIdx, setImgIdx] = useState();\n const imgIdxRef = useRef(imgIdx);\n 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 { useReducer } 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] = 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 { useState, useEffect } from 'react';\n\nconst useLocalStorage = (localStorageKey, defaultValue) => {\n const [value, setValue] = useState(\n JSON.parse(window.localStorage.getItem(localStorageKey) || JSON.stringify(defaultValue)),\n );\n\n 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 { useState, useEffect, useCallback } 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] = useState([]);\n 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 = 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 = 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 = useCallback(\n (idx) =>\n (newProgress = {}) => {\n onChangeFile(idx, { progress: newProgress });\n },\n [onChangeFile],\n );\n const onChangeMetadata = useCallback(\n (idx) =>\n (newMetadata = {}) => {\n onChangeFile(idx, { metadata: newMetadata });\n },\n [onChangeFile],\n );\n const onUpload = 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 = useCallback(\n (idx) => () => {\n setFiles([...files].filter((_, i) => i !== idx));\n },\n [setFiles, files],\n );\n\n const onRemoveFiles = 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 { useRef, useMemo } 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 = useRef(defaultState);\n const queryState = 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 { useCallback } 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 = 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 { useState } 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] = useState(false);\n const [fieldsWithAttributes, setFieldsWithAttributes] = useState(fields);\n const [groupsWithAttributes, setGroupsWithAttributes] = 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 { useCallback } 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 = 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 { useState, useEffect } from 'react';\n\nexport const useMouseDownPosition = () => {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n\n 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 { useCallback } 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 = 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 { useCallback, useEffect } 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 = useCallback(() => request({ userName }), [request, userName]);\n useEffect(() => {\n if (userName) getUser();\n }, [getUser, userName]);\n\n const updateUser = useCallback(\n ({ userDocument }) =>\n UserApi.updateUser({\n userName,\n userDocument,\n }).then(() => request({ userName: userDocument.userName })),\n [request, userName],\n );\n\n const updateUserGroups = 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 = useCallback(\n (groupName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getUser),\n [getUser, userName],\n );\n\n const changePassword = 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 { useReducer, useEffect } 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] = 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 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 { useEffect } 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 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 { useEffect } 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 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 { useReducer, useEffect } 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] = 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 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 { useCallback, useEffect } 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 = useCallback(() => request({ groupName }), [request, groupName]);\n\n useEffect(() => {\n if (groupName) getGroup();\n }, [getGroup, groupName]);\n\n const updateGroup = useCallback(\n ({ groupDocument }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addChildGroups = 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 = 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 = 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 = useCallback(\n (userName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeChildGroup = useCallback(\n (childGroupName) =>\n GroupApi.removeGroupChildren({\n groupName,\n childGroupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeFromParentGroup = useCallback(\n (parentGroupName) =>\n GroupApi.removeGroupChildren({\n groupName: parentGroupName,\n childGroupName: groupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeGroup = 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 { useState, useRef, useCallback } from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nconst useCollectionAutoPlay = ({ collectionId, defaultEnabled = true }) => {\n const [nextPlaying, setNextPlaying] = useState();\n const [isAutoPlayEnabled, setIsAutoPlayEnabled] = useState(defaultEnabled);\n const toggleAutoPlay = (newValue) =>\n setIsAutoPlayEnabled((prevValue) => (newValue !== undefined ? newValue : !prevValue));\n const allItemsRef = useRef();\n const orderItemsRef = useRef();\n const hitsRef = useRef();\n const onNext = 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 { useState, useRef, useCallback } 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] = useState(0);\n const [thumbnailIndex, setThumbnailIndex] = useState(0);\n const [showScrub, setShowScrub] = useState(false);\n const [thumbnailTimeCodeArray, setThumbnailTimeCodeArray] = useState([]);\n const [thumbnailTimeCode, setThumbnailTimeCode] = useState();\n const [thumbnailWidth, setThumbnailWidth] = useState(0);\n\n const debouncedSetNewThumbnail = 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 = 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 { useState, useRef } 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] = useState('');\n const handleAutocompleteChange = 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 { useState, useCallback, useEffect } 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] = useState(childFolders);\n const [subFolders, setSubFolders] = useState([]);\n const [errors, setErrors] = useState();\n\n const getSubFolders = 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, folderMarkerType, markerValue, title, callback) => {\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n [folderMarkerType]: markerValue,\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 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 { useState, useEffect } 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] = 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 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 { useMemo, cloneElement, Children } 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 = 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { useEffect, cloneElement, Children } 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 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children, Component } from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nexport default class VidispineApi extends 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n }\n}\n","import { 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 { Component } 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 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 { useEffect, cloneElement, Children } 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 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { createContext, useState, useEffect, useContext } from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\nimport { roles as ROLES } from '@vidispine/vdt-js';\n\nconst RolesContext = createContext();\n\nfunction RolesProvider({ intialState = {}, onRefresh, userName: knownUserName, children }) {\n const [groupListType, setGroupListType] = 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 useEffect(onGetUserRole, [knownUserName]);\n return <RolesContext.Provider value={groupListType}>{children}</RolesContext.Provider>;\n}\n\nfunction useRoles() {\n const groupListType = 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 { isValidElement } 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 (isValidElement(allow) && checkedRole === true) {\n return allow;\n }\n if (isValidElement(deny) && checkedRole === false) {\n return deny;\n }\n if (isValidElement(loading) && checkedRole === null) {\n return loading;\n }\n return null;\n}\n","export 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 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 { createContext, useState, useCallback, useMemo } from 'react';\n\nimport { uuidv4 } from '../utils';\n\nexport const BinContext = 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] = useState(initialState);\n const [allowDuplicates, setAllowDuplicates] = useState(defaultAllowDuplicates);\n\n const onDelete = 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 = 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 = 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 = 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 = 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 { createContext, useReducer, useRef, useEffect, useContext, useCallback } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nconst SettingsDispatchContext = createContext();\nconst SettingsStateContext = 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] = useReducer(reducer, {\n settings: initialSettings,\n userName: initialUsername,\n });\n const currentSettingsFromServer = useRef();\n\n 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 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 = useContext(SettingsStateContext);\n if (!state) throw new Error('useSettingsState must be used within SettingsStateContext');\n return state;\n};\n\nconst useSettingsDispatch = () => {\n const dispatch = 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 = useCallback(\n (settings) => dispatch({ type: UPDATE_ALL_SETTINGS, settings }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateSetting = useCallback(\n (setting) => dispatch({ type: UPDATE_SETTING, setting }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateUsername = 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 = 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,\n settingsKey: PropTypes.string,\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 userName: undefined,\n settingsKey: undefined,\n children: null,\n initialSettings: {},\n onChange: null,\n getSettingsApi: MetadataApi.getSimpleMetadataKey,\n updateSettingsApi: MetadataApi.updateSimpleMetadataKey,\n};\n\nexport { SettingsProvider, useSettingsActions, useSettings };\n","import { createContext, useCallback, useRef, useEffect, useMemo, useContext } 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 = 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 = 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 = 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 = useRef();\n 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 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 useEffect(() => {\n if (token && userName && userType === undefined) getUser({ userName });\n }, [userName, token, userType, getUser, onLogout]);\n 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 = 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 = 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 { useState } 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] = 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","_objectSpread","responseType","newState","initialState","useApi","apiHandler","cancelToken","useRef","initialDefaultState","initialStateRef","useReducer","_slicedToArray","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","_objectWithoutProperties","_excluded","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","_toConsumableArray","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","_defineProperty","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","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","_excluded2","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","_asyncToGenerator","_regeneratorRuntime","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","folderMarkerType","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","_classCallCheck","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","_jsx","ErrorBoundaryComponent","info","_jsxs","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","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","isRequired","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/hooks/useGetEntityMetadata.js","../src/hooks/useGetFieldGroup.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/wrappers/GetEntityMetadata.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 { useRef, useReducer, useCallback, useEffect } 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 = useRef(() => null);\n const initialDefaultState = setDefaultState(initialState, responseRef);\n const initialStateRef = useRef(initialDefaultState);\n const [state, dispatch] = useReducer(apiReducer, initialDefaultState);\n const request = 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 = useCallback(\n () => dispatch({ type: 'RESET', initialState: initialStateRef.current }),\n [],\n );\n const cancel = useCallback(() => cancelToken.current(), []);\n 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 { useReducer, useCallback } 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 page: Number.isInteger(action.page) ? action.page : state.page,\n itemSearchDocument: action.itemSearchDocument,\n matrixParams: {\n ...state.matrixParams,\n first: Number.isInteger(action.page) ? action.page * state.rowsPerPage + 1 : state.matrixParams.first\n }\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] = 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 = useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHTEXT,\n value,\n }),\n [],\n );\n\n const setItemSearchDocument = useCallback(\n (itemSearchDocument, page) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMSEARCHDOCUMENT,\n itemSearchDocument,\n page\n }),\n [],\n );\n\n const setQueryParams = useCallback(\n (queryParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMQUERYPARAMS,\n queryParams,\n }),\n [],\n );\n\n const setMatrixParams = useCallback(\n (matrixParams) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_ITEMMATRIXPARAMS,\n matrixParams,\n }),\n [],\n );\n\n const setSearchField = useCallback(\n (field) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFIELD,\n field,\n }),\n [],\n );\n\n const setSearchFieldFacet = 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 = useCallback(\n (filter) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_SEARCHFILTER,\n filter,\n }),\n [],\n );\n\n const setSearchFilterFacet = 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 = useCallback(\n (facet) => {\n dispatch({ type: ACTION_TYPE.CHANGE_FACET, facet });\n },\n [dispatch],\n );\n\n const setParentCollection = useCallback(\n (value) =>\n dispatch({\n type: ACTION_TYPE.CHANGE_PARENT_COLLECTION,\n value,\n }),\n [],\n );\n\n const setSuggestion = 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 { useRef, useEffect } from 'react';\n\nexport default function useUpdateEffect(fn, inputs) {\n const hasMountedRef = useRef(false);\n 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 { useState, useCallback } 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] = useState(initialDefaultState);\n\n const setAutocompleteField = useCallback((field, text = '') => {\n setAutocompleteDoc((state) => ({ ...state, field, text }));\n }, []);\n\n const setAutocompleteText = useCallback((text) => {\n setAutocompleteDoc((state) => ({ ...state, text }));\n }, []);\n\n const setAutocompleteMaxSuggestions = 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 { useState } from 'react';\n\nexport default (propKey = 'id', initialState = []) => {\n const [selected, setSelected] = 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 { useState } from 'react';\n\nexport default (initialTab) => {\n const [activeTab, setActiveTab] = useState(initialTab);\n const changeTab = (_, newValue) => setActiveTab(newValue);\n return { activeTab, changeTab };\n};\n","import { useRef, useEffect } from 'react';\n\nexport default function useInterval(callback, delay) {\n const savedCallback = useRef();\n\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n useEffect(() => {\n const tick = () => savedCallback.current();\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }, [delay]);\n}\n","import { useRef, useMemo, useState, useEffect } from 'react';\n\nexport default function useThumbnailScrub(srcList = []) {\n const savedInterval = useRef();\n const initialImgIdx = useMemo(() => Math.floor(srcList.length / 2), [srcList]);\n const [imgIdx, setImgIdx] = useState();\n const imgIdxRef = useRef(imgIdx);\n 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 { useReducer } 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] = 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 { useState, useEffect } from 'react';\n\nconst useLocalStorage = (localStorageKey, defaultValue) => {\n const [value, setValue] = useState(\n JSON.parse(window.localStorage.getItem(localStorageKey) || JSON.stringify(defaultValue)),\n );\n\n 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 { useState, useEffect, useCallback } 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] = useState([]);\n 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 = 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 = 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 = useCallback(\n (idx) =>\n (newProgress = {}) => {\n onChangeFile(idx, { progress: newProgress });\n },\n [onChangeFile],\n );\n const onChangeMetadata = useCallback(\n (idx) =>\n (newMetadata = {}) => {\n onChangeFile(idx, { metadata: newMetadata });\n },\n [onChangeFile],\n );\n const onUpload = 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 = useCallback(\n (idx) => () => {\n setFiles([...files].filter((_, i) => i !== idx));\n },\n [setFiles, files],\n );\n\n const onRemoveFiles = 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 { useRef, useMemo } 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 = useRef(defaultState);\n const queryState = 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 { useCallback } 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 = 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 { useState } 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 getAttributes = true,\n}) => {\n const [isLoading, setIsLoading] = useState(false);\n const [fieldsWithAttributes, setFieldsWithAttributes] = useState(fields);\n const [groupsWithAttributes, setGroupsWithAttributes] = useState(groups);\n\n useDeepCompareEffect(() => {\n let didCancel = false;\n if (getAttributes === false)\n return () => {\n didCancel = true;\n };\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 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 }, [\n fields,\n groups,\n fieldDataToInclude,\n groupDataToInclude,\n fieldQueryParams,\n groupQueryParams,\n getAttributes,\n ]);\n\n return { fieldsWithAttributes, groupsWithAttributes, isLoading };\n};\n\nexport default useAddMetadataFieldAttributes;\n","import { useCallback } 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 = 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 { useState, useEffect } from 'react';\n\nexport const useMouseDownPosition = () => {\n const [position, setPosition] = useState({ x: 0, y: 0 });\n\n 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 { useCallback } 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 = 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 { useCallback, useEffect } 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 = useCallback(() => request({ userName }), [request, userName]);\n useEffect(() => {\n if (userName) getUser();\n }, [getUser, userName]);\n\n const updateUser = useCallback(\n ({ userDocument }) =>\n UserApi.updateUser({\n userName,\n userDocument,\n }).then(() => request({ userName: userDocument.userName })),\n [request, userName],\n );\n\n const updateUserGroups = 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 = useCallback(\n (groupName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getUser),\n [getUser, userName],\n );\n\n const changePassword = 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 { useReducer, useEffect } 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] = 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 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 { useEffect } 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 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 { useEffect } 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 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 { useReducer, useEffect } 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] = 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 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 { useCallback, useEffect } 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 = useCallback(() => request({ groupName }), [request, groupName]);\n\n useEffect(() => {\n if (groupName) getGroup();\n }, [getGroup, groupName]);\n\n const updateGroup = useCallback(\n ({ groupDocument }) =>\n GroupApi.updateGroup({\n groupName,\n groupDocument,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const addChildGroups = 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 = 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 = 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 = useCallback(\n (userName) =>\n GroupApi.removeGroupUser({\n groupName,\n userName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeChildGroup = useCallback(\n (childGroupName) =>\n GroupApi.removeGroupChildren({\n groupName,\n childGroupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeFromParentGroup = useCallback(\n (parentGroupName) =>\n GroupApi.removeGroupChildren({\n groupName: parentGroupName,\n childGroupName: groupName,\n }).then(getGroup),\n [getGroup, groupName],\n );\n\n const removeGroup = 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 { useState, useRef, useCallback } from 'react';\n\nimport { collection as CollectionApi } from '@vidispine/vdt-api';\n\nconst useCollectionAutoPlay = ({ collectionId, defaultEnabled = true }) => {\n const [nextPlaying, setNextPlaying] = useState();\n const [isAutoPlayEnabled, setIsAutoPlayEnabled] = useState(defaultEnabled);\n const toggleAutoPlay = (newValue) =>\n setIsAutoPlayEnabled((prevValue) => (newValue !== undefined ? newValue : !prevValue));\n const allItemsRef = useRef();\n const orderItemsRef = useRef();\n const hitsRef = useRef();\n const onNext = 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 { useState, useRef, useCallback } from 'react';\n\nimport _debounce from 'lodash.debounce';\nimport useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { formatTimeCodeText, formatTimeCodeSeconds } 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] = useState(0);\n const [thumbnailIndex, setThumbnailIndex] = useState(0);\n const [showScrub, setShowScrub] = useState(false);\n const [thumbnailTimeCodeArray, setThumbnailTimeCodeArray] = useState([]);\n const [thumbnailTimeCode, setThumbnailTimeCode] = useState();\n const [thumbnailWidth, setThumbnailWidth] = useState(0);\n\n const debouncedSetNewThumbnail = 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 = 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(formatTimeCodeSeconds(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 { useState, useRef } 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] = useState('');\n const handleAutocompleteChange = 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 { useState, useCallback, useEffect } 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] = useState(childFolders);\n const [subFolders, setSubFolders] = useState([]);\n const [errors, setErrors] = useState();\n\n const getSubFolders = 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, folderMarkerType, markerValue, title, callback) => {\n CollectionApi.createCollection({\n collectionDocument: {\n metadata: createMetadataType({\n [folderMarkerType]: markerValue,\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 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 { useState, useEffect } 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] = 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 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 useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetEntityMetadata({\n entity,\n entityId,\n queryParams = {},\n refreshOnMount = true,\n}) {\n const {\n request,\n data: metadataType = {},\n isLoading,\n isError,\n } = useApi(MetadataApi.getEntityMetadata);\n const onRefresh = () => request({ entity, entityId, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [entity, entityId, queryParams]);\n return {\n metadataType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import useDeepCompareEffect from 'use-deep-compare-effect';\n\nimport { fieldgroup as FieldGroupApi } from '@vidispine/vdt-api';\n\nimport useApi from './useApi';\n\nexport default function useGetFieldGroup({ groupName, queryParams = {}, refreshOnMount = true }) {\n const {\n request,\n data: metadataFieldGroupType = {},\n isLoading,\n isError,\n } = useApi(FieldGroupApi.getFieldGroup);\n const onRefresh = () => request({ groupName, queryParams });\n useDeepCompareEffect(() => {\n if (refreshOnMount) onRefresh();\n }, [groupName, queryParams]);\n return {\n metadataFieldGroupType,\n isLoading,\n isError,\n onRefresh,\n };\n}\n","import { useMemo, cloneElement, Children } from 'react';\n\nimport { parseMetadataType } from '@vidispine/vdt-js';\n\nexport default function MetadataType({\n itemType,\n collectionType,\n metadataType: propsMetadataType,\n joinValue = ',',\n flat = true,\n groupAsList = true,\n children,\n ...props\n}) {\n let metadataType = propsMetadataType;\n if (itemType || collectionType) {\n const entityType = itemType || collectionType || {};\n metadataType = entityType?.metadata;\n }\n const metadata = 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","/* eslint react/prop-types: \"off\" */\nimport { cloneElement, Children } 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { useEffect, cloneElement, Children } 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 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { cloneElement, Children, Component } from 'react';\n\nimport { utils as api } from '@vidispine/vdt-api';\n\nexport default class VidispineApi extends 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) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n }\n}\n","import { 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 { Component } 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 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","import { cloneElement, Children } from 'react';\n\nimport useGetFieldGroup from '../hooks/useGetFieldGroup';\n\nexport default function GetFieldGroup({ groupName, queryParams, refreshOnMount, children }) {\n const { metadataFieldGroupType, onRefresh, isLoading, isError } = useGetFieldGroup({\n groupName,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n groupName,\n queryParams,\n metadataFieldGroupType,\n onRefresh,\n isLoading,\n isError,\n };\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import { createContext, useState, useEffect, useContext } from 'react';\n\nimport { user as UserApi } from '@vidispine/vdt-api';\nimport { roles as ROLES } from '@vidispine/vdt-js';\n\nconst RolesContext = createContext();\n\nfunction RolesProvider({ intialState = {}, onRefresh, userName: knownUserName, children }) {\n const [groupListType, setGroupListType] = 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 useEffect(onGetUserRole, [knownUserName]);\n return <RolesContext.Provider value={groupListType}>{children}</RolesContext.Provider>;\n}\n\nfunction useRoles() {\n const groupListType = 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 { isValidElement } 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 (isValidElement(allow) && checkedRole === true) {\n return allow;\n }\n if (isValidElement(deny) && checkedRole === false) {\n return deny;\n }\n if (isValidElement(loading) && checkedRole === null) {\n return loading;\n }\n return null;\n}\n","export 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 { cloneElement, Children } from 'react';\n\nimport useGetEntityMetadata from '../hooks/useGetEntityMetadata';\n\nexport default function GetEntityMetadata({\n entity,\n entityId,\n queryParams,\n refreshOnMount,\n children,\n}) {\n const { metadataType, onRefresh, isLoading, isError } = useGetEntityMetadata({\n entity,\n entityId,\n queryParams,\n refreshOnMount,\n });\n const cloneProps = {\n entity,\n entityId,\n queryParams,\n metadataType,\n onRefresh,\n isLoading,\n isError,\n };\n if (entity === 'collection') cloneProps.collectionId = entityId;\n else if (entity === 'item') cloneProps.itemId = entityId;\n const cloneChild = (child) => cloneElement(child, cloneProps);\n return Children.map(children, cloneChild);\n}\n","import 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 { createContext, useState, useCallback, useMemo } from 'react';\n\nimport { uuidv4 } from '../utils';\n\nexport const BinContext = 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] = useState(initialState);\n const [allowDuplicates, setAllowDuplicates] = useState(defaultAllowDuplicates);\n\n const onDelete = 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 = 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 = 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 = 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 = 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 { createContext, useReducer, useRef, useEffect, useContext, useCallback } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport { metadata as MetadataApi } from '@vidispine/vdt-api';\n\nconst SettingsDispatchContext = createContext();\nconst SettingsStateContext = 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] = useReducer(reducer, {\n settings: initialSettings,\n userName: initialUsername,\n });\n const currentSettingsFromServer = useRef();\n\n 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 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 = useContext(SettingsStateContext);\n if (!state) throw new Error('useSettingsState must be used within SettingsStateContext');\n return state;\n};\n\nconst useSettingsDispatch = () => {\n const dispatch = 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 = useCallback(\n (settings) => dispatch({ type: UPDATE_ALL_SETTINGS, settings }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateSetting = useCallback(\n (setting) => dispatch({ type: UPDATE_SETTING, setting }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n const updateUsername = 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 = 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,\n settingsKey: PropTypes.string,\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 userName: undefined,\n settingsKey: undefined,\n children: null,\n initialSettings: {},\n onChange: null,\n getSettingsApi: MetadataApi.getSimpleMetadataKey,\n updateSettingsApi: MetadataApi.updateSimpleMetadataKey,\n};\n\nexport { SettingsProvider, useSettingsActions, useSettings };\n","import { createContext, useCallback, useRef, useEffect, useMemo, useContext } 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 = 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 = 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 = 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 = useRef();\n 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 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 useEffect(() => {\n if (token && userName && userType === undefined) getUser({ userName });\n }, [userName, token, userType, getUser, onLogout]);\n 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 = 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 = 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 { useState } 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] = 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","_objectSpread","responseType","newState","initialState","useApi","apiHandler","cancelToken","useRef","initialDefaultState","initialStateRef","useReducer","_slicedToArray","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","_objectWithoutProperties","_excluded","content","interval","first","number","intervals","filter","searchReducer","Number","isInteger","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","_defineProperty","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","_excluded2","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","getAttributes","setIsLoading","fieldsWithAttributes","setFieldsWithAttributes","groupsWithAttributes","setGroupsWithAttributes","useDeepCompareEffect","didCancel","addFieldAttributes","fieldsArray","fieldsAttributes","overrides","fieldAttributes","dataAttributes","constraint","options","addGroupAttributes","groupsArray","groupsAttributes","group","groupAttributes","childFields","childGroups","fetchAttributesAsync","_asyncToGenerator","_regeneratorRuntime","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","formatTimeCodeSeconds","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","folderMarkerType","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","useGetEntityMetadata","entity","getEntityMetadata","metadataType","useGetFieldGroup","metadataFieldGroupType","MetadataType","propsMetadataType","joinValue","groupAsList","cloneProps","cloneChild","child","cloneElement","Children","SearchCollection","searchCollection","collectionListType","SearchItem","SearchItemCollection","searchItemCollection","searchResultType","GetItem","GetCollectionContent","GetJobs","listJob","jobs","ListEntityAccess","VidispineApi","_classCallCheck","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","_jsx","ErrorBoundaryComponent","info","_jsxs","height","maxHeight","maxWidth","backgroundColor","color","componentStack","ErrorBoundary","hasError","nextProps","nextState","nextInfo","onErrorError","setState","GetFieldGroup","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","GetEntityMetadata","withErrorBoundary","WrappedComponent","errorBoundaryProps","compose","funcs","arg","BinContext","defaultIsUniqueBinItem","bin","entityTimespan","start","end","entityExistsInBin","o","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","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","isRequired","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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"}