@vidispine/vdt-materialui 26.1.0-pre.3 → 26.1.0-pre.5

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),o=require("clsx"),i=require("@material-ui/core"),r=["image/apng","image/bmp","image/gif","image/jpeg","image/x-icon","image/png","image/svg+xml"],g=()=>({root:{width:"100%",display:"flex",justifyContent:"center"},img:{display:"block",margin:"auto",maxWidth:"100%",maxHeight:"70vh"}});function n({classes:e,className:a,previewSource:m={}}){const{src:s}=m;return t.jsx(i.Box,{className:o(e.root,a),children:t.jsx("img",{className:e.img,src:s,alt:""})})}const l=i.withStyles(g,{name:"VdtItemImagePlayer"})(n);exports.ALLOWED_MIME_TYPES=r;exports.default=l;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),g=require("clsx"),i=require("@material-ui/core"),o=["image/apng","image/bmp","image/gif","image/jpeg","image/x-icon","image/png","image/svg+xml","image/webp"],r=()=>({root:{width:"100%",display:"flex",justifyContent:"center"},img:{display:"block",margin:"auto",maxWidth:"100%",maxHeight:"70vh"}});function n({classes:e,className:a,previewSource:m={}}){const{src:s}=m;return t.jsx(i.Box,{className:g(e.root,a),children:t.jsx("img",{className:e.img,src:s,alt:""})})}const l=i.withStyles(r,{name:"VdtItemImagePlayer"})(n);exports.ALLOWED_MIME_TYPES=o;exports.default=l;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),g=require("react"),L=require("clsx"),u=require("@material-ui/core"),ne=require("@material-ui/lab"),m=require("@vidispine/vdt-js"),$=require("../ItemAudioPlayer.js"),F=require("../ItemImagePlayer.js"),q=require("../ItemVideoPlayer.js"),oe=[...q.ALLOWED_MIME_TYPES,...F.ALLOWED_MIME_TYPES,...$.ALLOWED_MIME_TYPES],_="IMAGE",j="AUDIO",A="VIDEO",ae="DOCUMENT",se="BINARY",ie=e=>e.height?e.fieldOrder?`${e.tag} (${e.height}${e.fieldOrder[0]})`:`${e.tag} (${e.height}x${e.width})`:e.audioFormat?e.containerFormat!==e.audioFormat?`${e.tag} (${e.audioFormat} - ${e.containerFormat})`:`${e.tag} (${e.audioFormat})`:e.tag.join(", "),ce=e=>{const s=i=>i.split(":").reduce((o,c)=>60*o+Number(c));if(e.timeCode)return Math.floor(e.timeCode.toSeconds());if(e.duration)return s(e.duration)},le=u.withStyles({},{name:"VdtSourceSelection"})(({value:e,onChange:s,options:i,previewSourceText:o="Preview Source"})=>{const c=i.find(l=>l.label===e.label);return t.jsxs(u.FormControl,{variant:"standard",fullWidth:!0,children:[t.jsx(u.InputLabel,{children:o}),t.jsx(u.Select,{value:c,onChange:s,children:i.map(l=>t.jsx(u.MenuItem,{value:l,children:l.label},l.src))})]})}),ue=u.withStyles({},{name:"VdtLoadingPlayer"})(e=>t.jsx(ne.Skeleton,{variant:"rect",width:"100%",height:520,...e})),de=u.withStyles(e=>({root:{backgroundColor:e.palette.divider,width:"100%",height:520,display:"flex",justifyContent:"center",alignItems:"center"},label:{...e.typography.button}}),{name:"VdtNoPreviewPlayer"})(({className:e,classes:s,label:i="No Previews"})=>t.jsx("div",{className:L(s.root,e),children:t.jsx("div",{className:s.label,children:i})})),fe=()=>({root:{}});function Se({className:e,classes:s={},itemId:i,videoEl:o,itemType:c,isLoading:l,subtitleGroup:T="stl_subtitle",subtitleField:V="stl_text",sampleRate:Y="PAL",allowedMimeTypes:x=oe,additionalMimeTypes:y=[],LoadingPlayerComponent:C=ue,NoPreviewPlayerComponent:W=de,ItemImagePlayerComponent:M=F.default,ItemAudioPlayerComponent:P=$.default,ItemVideoPlayerComponent:v=q.default,ItemBinaryPlayerComponent:b,onReady:I,onCinema:p,onScreenshot:U,width:w="100%",sourceTag:S="original",SourceSelectionComponent:D=le,videoPlayerProps:B={},audioPlayerProps:R={},shapeToLabel:O=ie,ItemVideoPlayerProps:k={},ItemBinaryPlayerProps:G={},LoadingPlayerProps:J={},NoPreviewPlayerProps:z={},...H}){const[d,K]=g.useState(),n=g.useMemo(()=>m.filterShapeSource(c,{allowedMimeTypes:[...x,...y]}).map(f=>({...f,label:O(f.shape)})),[c,x,y,O]),a=g.useMemo(()=>{if(d)return m.getShapeMediaType(d.shape);if(n&&n.length>0)return m.getShapeMediaType(n[0].shape)},[d,n]),Q=({target:{value:h}})=>{const{src:f,shape:Z,type:ee}=h;if(a===A||a===j){const r=o&&o.current&&o.current.player&&o.current.player.videojs;if(!r||r.currentSrc()===f)return;const te=r.paused(),re=r.currentTime(),E=Math.floor(r.duration()),N=ce(Z);r.preload==="none"&&(r.preload="metadata"),E<=N+2&&E>=N-2?(r.addClass("vjs-has-started"),r.bigPlayButton.hide(),r.poster(""),r.one("loadedmetadata",()=>{r.currentTime(re),te||r.play()})):r.one("loadeddata",()=>{r.bigPlayButton.show()}),r.pause(),r.src({src:f,type:ee.replace("x-","")})}K(h)},X=l||a===void 0||n.length===0;return t.jsx("div",{className:L(s.root,e,"VdtItemPlayer-root"),children:X?t.jsx(t.Fragment,{children:l?t.jsx(C,{...J}):t.jsx(W,{...z})}):t.jsxs(t.Fragment,{children:[(a===_||a===j||a===ae)&&t.jsxs(t.Fragment,{children:[M&&a===_&&t.jsx(M,{previewSource:d||n[0],videoEl:o,...H}),P&&a===j&&t.jsx(P,{videoEl:o,onReady:I,width:w,sourceTag:S,previewSources:n,audioPlayerProps:R}),D&&n.length>1&&t.jsx(D,{options:n,value:d||n[0],onChange:Q})]}),b&&a===se&&t.jsx(b,{itemId:i,itemType:c,source:d||(n==null?void 0:n[0]),sourceTag:S,previewSources:n,...G}),v&&a===A&&t.jsx(v,{videoEl:o,itemType:c,subtitleGroup:T,subtitleField:V,sampleRate:Y,onReady:I,onCinema:p,onScreenshot:U,width:w,sourceTag:S,previewSources:n,videoPlayerProps:B,...k})]})})}exports.default=Se;exports.styles=fe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),h=require("react"),L=require("clsx"),l=require("@material-ui/core"),ae=require("@material-ui/lab"),g=require("@vidispine/vdt-js"),$=require("../ItemAudioPlayer.js"),T=require("../ItemImagePlayer.js"),q=require("../ItemVideoPlayer.js"),oe=[...q.ALLOWED_MIME_TYPES,...T.ALLOWED_MIME_TYPES,...$.ALLOWED_MIME_TYPES],A="IMAGE",x="AUDIO",F="VIDEO",se="DOCUMENT",ie="BINARY",ue=e=>e.height?e.fieldOrder?`${e.tag} (${e.height}${e.fieldOrder[0]})`:`${e.tag} (${e.height}x${e.width})`:e.audioFormat?e.containerFormat!==e.audioFormat?`${e.tag} (${e.audioFormat} - ${e.containerFormat})`:`${e.tag} (${e.audioFormat})`:e.tag.join(", "),ce=e=>{const i=u=>u.split(":").reduce((a,o)=>60*a+Number(o));if(e.timeCode)return Math.floor(e.timeCode.toSeconds());if(e.duration)return i(e.duration)},le=l.withStyles({},{name:"VdtSourceSelection"})(({value:e,onChange:i,options:u,previewSourceText:a="Preview Source"})=>{const o=u.find(c=>c.label===e.label);return t.jsxs(l.FormControl,{variant:"standard",fullWidth:!0,children:[t.jsx(l.InputLabel,{children:a}),t.jsx(l.Select,{value:o,onChange:i,children:u.map(c=>t.jsx(l.MenuItem,{value:c,children:c.label},c.src))})]})}),de=l.withStyles({},{name:"VdtLoadingPlayer"})(e=>t.jsx(ae.Skeleton,{variant:"rect",width:"100%",height:520,...e})),fe=l.withStyles(e=>({root:{backgroundColor:e.palette.divider,width:"100%",height:520,display:"flex",justifyContent:"center",alignItems:"center"},label:{...e.typography.button}}),{name:"VdtNoPreviewPlayer"})(({className:e,classes:i,label:u="No Previews"})=>t.jsx("div",{className:L(i.root,e),children:t.jsx("div",{className:i.label,children:u})})),Se=()=>({root:{}});function he({className:e,classes:i={},itemId:u,videoEl:a,itemType:o,isLoading:c,subtitleGroup:p="stl_subtitle",subtitleField:V="stl_text",sampleRate:C="PAL",allowedMimeTypes:M=oe,additionalMimeTypes:y=[],LoadingPlayerComponent:Y=de,NoPreviewPlayerComponent:U=fe,ItemImagePlayerComponent:P=T.default,ItemAudioPlayerComponent:v=$.default,ItemVideoPlayerComponent:b=q.default,ItemBinaryPlayerComponent:I,onReady:w,onCinema:W,onScreenshot:B,width:D="100%",sourceTag:m="original",SourceSelectionComponent:O=le,videoPlayerProps:R={},audioPlayerProps:k={},shapeToLabel:E=ue,ItemVideoPlayerProps:G={},ItemBinaryPlayerProps:J={},LoadingPlayerProps:z={},NoPreviewPlayerProps:H={},...K}){const[d,Q]=h.useState(),n=h.useMemo(()=>g.filterShapeSource(o,{allowedMimeTypes:[...M,...y]}).map(S=>({...S,label:E(S.shape)})),[o,M,y,E]),j=h.useMemo(()=>{const{metadata:f}=o;return f?g.parseMetadataType(f,{flat:!0}).mediaType[0].toUpperCase():""},[o]),s=h.useMemo(()=>{if(j)return j;if(d)return g.getShapeMediaType(d.shape);if(n&&n.length>0)return g.getShapeMediaType(n[0].shape)},[d,n,j]),X=({target:{value:f}})=>{const{src:S,shape:ee,type:te}=f;if(s===F||s===x){const r=a&&a.current&&a.current.player&&a.current.player.videojs;if(!r||r.currentSrc()===S)return;const re=r.paused(),ne=r.currentTime(),N=Math.floor(r.duration()),_=ce(ee);r.preload==="none"&&(r.preload="metadata"),N<=_+2&&N>=_-2?(r.addClass("vjs-has-started"),r.bigPlayButton.hide(),r.poster(""),r.one("loadedmetadata",()=>{r.currentTime(ne),re||r.play()})):r.one("loadeddata",()=>{r.bigPlayButton.show()}),r.pause(),r.src({src:S,type:te.replace("x-","")})}Q(f)},Z=c||s===void 0||n.length===0;return t.jsx("div",{className:L(i.root,e,"VdtItemPlayer-root"),children:Z?t.jsx(t.Fragment,{children:c?t.jsx(Y,{...z}):t.jsx(U,{...H})}):t.jsxs(t.Fragment,{children:[(s===A||s===x||s===se)&&t.jsxs(t.Fragment,{children:[P&&s===A&&t.jsx(P,{previewSource:d||n[0],videoEl:a,...K}),v&&s===x&&t.jsx(v,{videoEl:a,onReady:w,width:D,sourceTag:m,previewSources:n,audioPlayerProps:k}),O&&n.length>1&&t.jsx(O,{options:n,value:d||n[0],onChange:X})]}),I&&s===ie&&t.jsx(I,{itemId:u,itemType:o,source:d||(n==null?void 0:n[0]),sourceTag:m,previewSources:n,...J}),b&&s===F&&t.jsx(b,{videoEl:a,itemType:o,subtitleGroup:p,subtitleField:V,sampleRate:C,onReady:w,onCinema:W,onScreenshot:B,width:D,sourceTag:m,previewSources:n,videoPlayerProps:R,...G})]})})}exports.default=he;exports.styles=Se;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("react/jsx-runtime"),T=require("react"),S=require("clsx"),e=require("prop-types"),j=require("@material-ui/lab"),f=require("@vidispine/proptypes"),v=require("../../../utils.js"),C=require("../QueryBuilderContext.js"),E=require("../QueryEntry/index.js"),Q=o=>({root:{},treeRoot:{backgroundColor:o.palette.background.paper,"& > .MuiTreeItem-root:first-child":{backgroundColor:"transparent",margin:"0",border:"none"}}}),R=o=>{function a({uuid:s,...n}){const l=n.operation,i=({operation:r,value:u,range:t}={})=>r?"operator":u||t?"field":"group";return{...l?{operation:n.operation,operator:n.entry.filter(r=>r.operation).map(r=>a(r))}:{name:n.name},field:n.entry.filter(r=>i(r)==="field").map(({uuid:r,predicate:u,...t})=>{var d;const m=(d=t.value)==null?void 0:d.map(({value:p})=>({value:p.includes(" ")&&!p.includes("*")?`"${p}"`:`${p}`}));return{...t,value:m}}),group:n.entry.filter(r=>i(r)==="group").map(r=>a(r))}}return o&&o.operator&&{operator:a(o.operator)}},N=o=>{const a=({operation:s,name:n,operator:l,field:i,group:r,entry:u}={})=>({...s?{operation:s}:{name:n},entry:[...i||[],...(l||[]).map(t=>a(t)),...(r||[]).map(t=>a(t)),...u||[]].map(t=>({uuid:v.uuidv4(),...t}))});return o&&o.operator&&{operator:a(o.operator)}};function h({classes:o,className:a,query:s,fields:n,groups:l,defaultField:i,defaultGroup:r,onChange:u,QueryEntryComponent:t,QueryEntryProps:m}){const d=T.useMemo(()=>N(s),[s]),p=T.useCallback(c=>{u({...c,toItemSearchDocument(){return R(this)}})},[u]),[O,x]=T.useState(["operator"]),b=(c,g)=>{x(g)},q=c=>{O.includes(c)||x(g=>[...g,c])};return y.jsx("div",{className:S(a,o.root,"VdtQueryBuilder-root"),children:d?y.jsx(C.QueryBuilderContextProvider,{query:d,onChange:p,children:y.jsx(j.TreeView,{classes:{root:o.treeRoot},disableSelection:!0,expanded:O,onNodeToggle:b,children:y.jsx(t,{expandNode:q,path:"operator",defaultField:i,defaultGroup:r,fields:n,groups:l,canExpand:!1,...m})})}):null})}h.propTypes={classes:e.objectOf(e.string),className:e.string,query:e.oneOfType([e.shape({operation:e.oneOf(["AND","OR","NOT"]).isRequired,entry:e.arrayOf(e.oneOfType([f.SearchOperatorType,f.SearchFieldType,f.SearchGroupType]))}),f.ItemSearchType]).isRequired,groups:e.arrayOf(e.any),fields:e.arrayOf(e.any),defaultField:e.oneOfType([e.string,e.objectOf(e.any)]),defaultGroup:e.string,onChange:e.func.isRequired,QueryEntryComponent:e.elementType,QueryEntryProps:e.objectOf(e.any)};h.defaultProps={className:void 0,classes:{},fields:[],groups:[],defaultField:void 0,defaultGroup:void 0,QueryEntryComponent:E.default,QueryEntryProps:{}};exports.default=h;exports.styles=Q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("react/jsx-runtime"),T=require("react"),E=require("clsx"),e=require("prop-types"),S=require("@material-ui/lab"),m=require("@vidispine/proptypes"),j=require("../../../utils.js"),v=require("../QueryBuilderContext.js"),C=require("../QueryEntry/index.js"),Q=o=>({root:{},treeRoot:{backgroundColor:o.palette.background.paper,"& > .MuiTreeItem-root:first-child":{backgroundColor:"transparent",margin:"0",border:"none"}}}),R=o=>{function u({uuid:i,...n}){const l=n.operation,p=({operation:r,value:t,range:a}={})=>r?"operator":t||a?"field":"group";return{...l?{operation:n.operation,operator:n.entry.filter(r=>r.operation).map(r=>u(r))}:{name:n.name},...(()=>{const r=n.entry.filter(t=>p(t)==="field").map(({uuid:t,predicate:a,...d})=>{var f;const y=(f=d.value)==null?void 0:f.map(({value:s})=>({value:s.includes(" ")&&!s.includes("*")?`"${s}"`:`${s}`}));return{...d,value:y}});return r.length>0?{field:r}:{}})(),...(()=>{const r=n.entry.filter(t=>p(t)==="group").map(t=>u(t));return r.length>0?{group:r}:{}})()}}return o&&o.operator&&{operator:u(o.operator)}},N=o=>{const u=({operation:i,name:n,operator:l,field:p,group:r,entry:t}={})=>({...i?{operation:i}:{name:n},entry:[...p||[],...(l||[]).map(a=>u(a)),...(r||[]).map(a=>u(a)),...t||[]].map(a=>({uuid:j.uuidv4(),...a}))});return o&&o.operator&&{operator:u(o.operator)}};function O({classes:o,className:u,query:i,fields:n,groups:l,defaultField:p,defaultGroup:r,onChange:t,QueryEntryComponent:a,QueryEntryProps:d}){const y=T.useMemo(()=>N(i),[i]),f=T.useCallback(c=>{t({...c,toItemSearchDocument(){return R(this)}})},[t]),[s,x]=T.useState(["operator"]),b=(c,h)=>{x(h)},q=c=>{s.includes(c)||x(h=>[...h,c])};return g.jsx("div",{className:E(u,o.root,"VdtQueryBuilder-root"),children:y?g.jsx(v.QueryBuilderContextProvider,{query:y,onChange:f,children:g.jsx(S.TreeView,{classes:{root:o.treeRoot},disableSelection:!0,expanded:s,onNodeToggle:b,children:g.jsx(a,{expandNode:q,path:"operator",defaultField:p,defaultGroup:r,fields:n,groups:l,canExpand:!1,...d})})}):null})}O.propTypes={classes:e.objectOf(e.string),className:e.string,query:e.oneOfType([e.shape({operation:e.oneOf(["AND","OR","NOT"]).isRequired,entry:e.arrayOf(e.oneOfType([m.SearchOperatorType,m.SearchFieldType,m.SearchGroupType]))}),m.ItemSearchType]).isRequired,groups:e.arrayOf(e.any),fields:e.arrayOf(e.any),defaultField:e.oneOfType([e.string,e.objectOf(e.any)]),defaultGroup:e.string,onChange:e.func.isRequired,QueryEntryComponent:e.elementType,QueryEntryProps:e.objectOf(e.any)};O.defaultProps={className:void 0,classes:{},fields:[],groups:[],defaultField:void 0,defaultGroup:void 0,QueryEntryComponent:C.default,QueryEntryProps:{}};exports.default=O;exports.styles=Q;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const u=require("react/jsx-runtime"),K=require("react"),V=require("clsx"),e=require("prop-types"),j=require("@material-ui/core/styles"),I=require("@material-ui/icons"),W=require("@material-ui/lab"),X=require("../QueryBuilderContext.js"),Y=require("../QueryField/index.js"),Z=require("../QueryGroup/index.js"),ee=require("../QueryOperator/index.js"),oe=o=>({root:{"&:focus > .MuiTreeItem-content .MuiTreeItem-label":{backgroundColor:"transparent"},"&:hover > .MuiTreeItem-content .MuiTreeItem-label":{backgroundColor:"transparent"},padding:"5px"},queryGroup:{position:"relative",border:`1px solid ${j.alpha(o.palette.text.primary,.05)}`,backgroundColor:j.alpha(o.palette.text.primary,.02),borderRadius:"4px",margin:"1rem 1rem 1rem 0","& .MuiTreeItem-iconContainer":{position:"absolute",left:"12px"}}});function re(o){return o.operation?"operator":o.value||o.range?"field":"group"}function i({canExpandpath:o,path:p,fields:g,groups:n,defaultField:q,defaultGroup:te,not:m,nodeId:P,canExpand:E,parentGroup:ne,onRemove:R,...y}){const{expandNode:G,OperatorComponent:$,OperatorProps:M,FieldComponent:L,FieldProps:k,GroupComponent:A,GroupProps:Q,getFieldLabel:S,getFieldName:v,getGroupLabel:_,getGroupName:l,getGroupFields:w,getGroupGroups:B,classes:T}=y,{getEntry:D,addEntry:h,removeEntry:N,changeOperation:U,changeEntry:x,setNot:b}=X.useQueryBuilder(p),r=D(p),a=re(r),d=P||p,z=q||g.length>0?v(g[0]):void 0,s=a==="group"?w(n.find(t=>l(t)===l(r))||{}):g,c=a==="group"?v(s[0]):z,f=a==="group"?B(n.find(t=>l(t)===r.name)||{}):n,H=f&&f.length>0?f[0].name:void 0,O=K.useCallback((...t)=>{h(...t),G&&G(d)},[h,d,G]),F=R||N;if(r.operation&&r.operation==="NOT")return u.jsx(i,{nodeId:d,path:`${p}.entry.0`,fields:s,defaultField:c,groups:n,onRemove:N,parentGroup:a==="group"?r.name:void 0,not:!0,...y});const J=({uuid:t,...C})=>C;return u.jsx(W.TreeItem,{nodeId:d,className:V(a!=="field"&&T.queryGroup,T.root),expandIcon:E?u.jsx(I.ChevronRight,{}):null,collapseIcon:E?u.jsx(I.ExpandMore,{}):null,label:{operator:u.jsx($,{operator:r,not:m,onAddEntry:O,onRemove:d!=="operator"?F:void 0,onChangeOperation:d!=="operator"?U:void 0,onChange:x,setNot:d!=="operator"?b:void 0,defaultField:c,defaultGroup:n&&n.length>0?n[0].name:void 0,...M}),field:u.jsx(L,{field:J(r),fields:s,getFieldLabel:S,getFieldName:v,not:m,onRemove:F,onChange:x,setNot:b,...k}),group:u.jsx(A,{group:r,groups:n,not:m,onAddEntry:O,onRemove:F,setNot:b,defaultField:c,defaultGroup:H,getGroupLabel:_,getGroupName:l,onChange:x,...Q})}[a],children:r.entry&&r.entry.map((t,C)=>u.jsx(i,{nodeId:`${d}.entry.${t.uuid}`,path:`${p}.entry.${C}`,fields:s,groups:f,defaultField:c,parentEntryType:a,parentGroup:a==="group"?r.name:void 0,...y},`${p}.entry.${t.uuid}`))})}i.propTypes={classes:e.objectOf(e.string),className:e.string,OperatorComponent:e.elementType,OperatorProps:e.objectOf(e.any),FieldComponent:e.elementType,FieldProps:e.objectOf(e.any),GroupComponent:e.elementType,GroupProps:e.objectOf(e.any),not:e.bool,nodeId:e.string,canExpand:e.bool,getFieldLabel:e.func,getFieldName:e.func,getGroupLabel:e.func,getGroupName:e.func,getGroupFields:e.func,getGroupGroups:e.func,defaultField:e.string,defaultGroup:e.string,canExpandpath:e.bool,path:e.string,expandNode:e.func,groups:e.arrayOf(e.any),fields:e.arrayOf(e.any),parentEntryType:e.string,parentGroup:e.string,onRemove:e.func};i.defaultProps={className:void 0,classes:{},FieldComponent:Y.default,FieldProps:{},GroupComponent:Z.default,GroupProps:{},OperatorComponent:ee.default,OperatorProps:{},not:!1,nodeId:void 0,canExpand:!0,getFieldLabel:({label:o}={})=>o,getFieldName:({name:o}={})=>o,getGroupLabel:({label:o}={})=>o,getGroupName:({name:o}={})=>o,getGroupFields:({fields:o=[]}={})=>o,getGroupGroups:({groups:o=[]}={})=>o,defaultField:void 0,defaultGroup:void 0,canExpandpath:void 0,path:void 0,expandNode:void 0,groups:[],fields:[],parentEntryType:void 0,parentGroup:void 0,onRemove:void 0};exports.default=i;exports.styles=oe;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime"),K=require("react"),V=require("clsx"),e=require("prop-types"),q=require("@material-ui/core/styles"),I=require("@material-ui/icons"),W=require("@material-ui/lab"),X=require("../QueryBuilderContext.js"),Y=require("../QueryField/index.js"),Z=require("../QueryGroup/index.js"),ee=require("../QueryOperator/index.js"),oe=o=>({root:{"&:focus > .MuiTreeItem-content .MuiTreeItem-label":{backgroundColor:"transparent"},"&:hover > .MuiTreeItem-content .MuiTreeItem-label":{backgroundColor:"transparent"},padding:"5px"},queryGroup:{position:"relative",border:`1px solid ${q.alpha(o.palette.text.primary,.05)}`,backgroundColor:q.alpha(o.palette.text.primary,.02),borderRadius:"4px",margin:"1rem 1rem 1rem 0","& .MuiTreeItem-iconContainer":{position:"absolute",left:"12px"}}});function re(o){return o.operation?"operator":o.value||o.range?"field":"group"}function p({canExpandpath:o,path:n,fields:g,groups:a,defaultField:P,defaultGroup:te,not:m,nodeId:y,canExpand:T,parentGroup:ne,onRemove:R,...G}){const{expandNode:v,OperatorComponent:$,OperatorProps:M,FieldComponent:L,FieldProps:k,GroupComponent:A,GroupProps:Q,getFieldLabel:S,getFieldName:x,getGroupLabel:_,getGroupName:l,getGroupFields:w,getGroupGroups:B,classes:N}=G,{getEntry:D,addEntry:O,removeEntry:h,changeOperation:U,changeEntry:b,setNot:F}=X.useQueryBuilder(n),r=D(n),j=K.useCallback((...t)=>{O(...t),v&&v(y||n)},[O,y,n,v]);if(r===void 0)return null;const u=re(r),i=y||n,z=P||g.length>0?x(g[0]):void 0,s=u==="group"?w(a.find(t=>l(t)===l(r))||{}):g,c=u==="group"?x(s[0]):z,f=u==="group"?B(a.find(t=>l(t)===r.name)||{}):a,H=f&&f.length>0?f[0].name:void 0,C=R||h;if(r.operation&&r.operation==="NOT")return d.jsx(p,{nodeId:i,path:`${n}.entry.0`,fields:s,defaultField:c,groups:a,onRemove:h,parentGroup:u==="group"?r.name:void 0,not:!0,...G});const J=({uuid:t,...E})=>E;return d.jsx(W.TreeItem,{nodeId:i,className:V(u!=="field"&&N.queryGroup,N.root),expandIcon:T?d.jsx(I.ChevronRight,{}):null,collapseIcon:T?d.jsx(I.ExpandMore,{}):null,label:{operator:d.jsx($,{operator:r,not:m,onAddEntry:j,onRemove:i!=="operator"?C:void 0,onChangeOperation:i!=="operator"?U:void 0,onChange:b,setNot:i!=="operator"?F:void 0,defaultField:c,defaultGroup:a&&a.length>0?a[0].name:void 0,...M}),field:d.jsx(L,{field:J(r),fields:s,getFieldLabel:S,getFieldName:x,not:m,onRemove:C,onChange:b,setNot:F,...k}),group:d.jsx(A,{group:r,groups:a,not:m,onAddEntry:j,onRemove:C,setNot:F,defaultField:c,defaultGroup:H,getGroupLabel:_,getGroupName:l,onChange:b,...Q})}[u],children:r.entry&&r.entry.map((t,E)=>d.jsx(p,{nodeId:`${i}.entry.${t.uuid}`,path:`${n}.entry.${E}`,fields:s,groups:f,defaultField:c,parentEntryType:u,parentGroup:u==="group"?r.name:void 0,...G},`${n}.entry.${t.uuid}`))})}p.propTypes={classes:e.objectOf(e.string),className:e.string,OperatorComponent:e.elementType,OperatorProps:e.objectOf(e.any),FieldComponent:e.elementType,FieldProps:e.objectOf(e.any),GroupComponent:e.elementType,GroupProps:e.objectOf(e.any),not:e.bool,nodeId:e.string,canExpand:e.bool,getFieldLabel:e.func,getFieldName:e.func,getGroupLabel:e.func,getGroupName:e.func,getGroupFields:e.func,getGroupGroups:e.func,defaultField:e.string,defaultGroup:e.string,canExpandpath:e.bool,path:e.string,expandNode:e.func,groups:e.arrayOf(e.any),fields:e.arrayOf(e.any),parentEntryType:e.string,parentGroup:e.string,onRemove:e.func};p.defaultProps={className:void 0,classes:{},FieldComponent:Y.default,FieldProps:{},GroupComponent:Z.default,GroupProps:{},OperatorComponent:ee.default,OperatorProps:{},not:!1,nodeId:void 0,canExpand:!0,getFieldLabel:({label:o}={})=>o,getFieldName:({name:o}={})=>o,getGroupLabel:({label:o}={})=>o,getGroupName:({name:o}={})=>o,getGroupFields:({fields:o=[]}={})=>o,getGroupGroups:({groups:o=[]}={})=>o,defaultField:void 0,defaultGroup:void 0,canExpandpath:void 0,path:void 0,expandNode:void 0,groups:[],fields:[],parentEntryType:void 0,parentGroup:void 0,onRemove:void 0};exports.default=p;exports.styles=oe;
@@ -1,6 +1,6 @@
1
1
  import { jsx as m } from "react/jsx-runtime";
2
- import o from "clsx";
3
- import { withStyles as g, Box as r } from "@material-ui/core";
2
+ import g from "clsx";
3
+ import { withStyles as o, Box as r } from "@material-ui/core";
4
4
  const x = [
5
5
  "image/apng",
6
6
  "image/bmp",
@@ -8,7 +8,8 @@ const x = [
8
8
  "image/jpeg",
9
9
  "image/x-icon",
10
10
  "image/png",
11
- "image/svg+xml"
11
+ "image/svg+xml",
12
+ "image/webp"
12
13
  ], n = () => ({
13
14
  root: {
14
15
  width: "100%",
@@ -24,9 +25,9 @@ const x = [
24
25
  });
25
26
  function s({ classes: e, className: t, previewSource: a = {} }) {
26
27
  const { src: i } = a;
27
- return /* @__PURE__ */ m(r, { className: o(e.root, t), children: /* @__PURE__ */ m("img", { className: e.img, src: i, alt: "" }) });
28
+ return /* @__PURE__ */ m(r, { className: g(e.root, t), children: /* @__PURE__ */ m("img", { className: e.img, src: i, alt: "" }) });
28
29
  }
29
- const f = g(n, { name: "VdtItemImagePlayer" })(s);
30
+ const f = o(n, { name: "VdtItemImagePlayer" })(s);
30
31
  export {
31
32
  x as ALLOWED_MIME_TYPES,
32
33
  f as default
@@ -1,31 +1,31 @@
1
- import { jsxs as g, jsx as o, Fragment as S } from "react/jsx-runtime";
2
- import { useState as et, useMemo as w } from "react";
1
+ import { jsxs as E, jsx as o, Fragment as h } from "react/jsx-runtime";
2
+ import { useState as ot, useMemo as g } from "react";
3
3
  import Y from "clsx";
4
- import { withStyles as M, FormControl as ot, InputLabel as nt, Select as at, MenuItem as it } from "@material-ui/core";
4
+ import { withStyles as P, FormControl as at, InputLabel as nt, Select as it, MenuItem as ct } from "@material-ui/core";
5
5
  import { Skeleton as lt } from "@material-ui/lab";
6
- import { filterShapeSource as ct, getShapeMediaType as N } from "@vidispine/vdt-js";
7
- import ut, { ALLOWED_MIME_TYPES as dt } from "../ItemAudioPlayer.js";
8
- import st, { ALLOWED_MIME_TYPES as mt } from "../ItemImagePlayer.js";
9
- import ft, { ALLOWED_MIME_TYPES as St } from "../ItemVideoPlayer.js";
10
- const ht = [...St, ...mt, ...dt], p = "IMAGE", h = "AUDIO", T = "VIDEO", gt = "DOCUMENT", Mt = "BINARY", Et = (t) => t.height ? t.fieldOrder ? `${t.tag} (${t.height}${t.fieldOrder[0]})` : `${t.tag} (${t.height}x${t.width})` : t.audioFormat ? t.containerFormat !== t.audioFormat ? `${t.tag} (${t.audioFormat} - ${t.containerFormat})` : `${t.tag} (${t.audioFormat})` : t.tag.join(", "), Pt = (t) => {
11
- const i = (l) => l.split(":").reduce((n, c) => 60 * n + Number(c));
6
+ import { filterShapeSource as ut, parseMetadataType as dt, getShapeMediaType as N } from "@vidispine/vdt-js";
7
+ import st, { ALLOWED_MIME_TYPES as mt } from "../ItemAudioPlayer.js";
8
+ import ft, { ALLOWED_MIME_TYPES as St } from "../ItemImagePlayer.js";
9
+ import ht, { ALLOWED_MIME_TYPES as gt } from "../ItemVideoPlayer.js";
10
+ const Mt = [...gt, ...St, ...mt], T = "IMAGE", M = "AUDIO", F = "VIDEO", Et = "DOCUMENT", Pt = "BINARY", It = (t) => t.height ? t.fieldOrder ? `${t.tag} (${t.height}${t.fieldOrder[0]})` : `${t.tag} (${t.height}x${t.width})` : t.audioFormat ? t.containerFormat !== t.audioFormat ? `${t.tag} (${t.audioFormat} - ${t.containerFormat})` : `${t.tag} (${t.audioFormat})` : t.tag.join(", "), yt = (t) => {
11
+ const c = (l) => l.split(":").reduce((a, n) => 60 * a + Number(n));
12
12
  if (t.timeCode)
13
13
  return Math.floor(t.timeCode.toSeconds());
14
14
  if (t.duration)
15
- return i(t.duration);
16
- }, It = M(
15
+ return c(t.duration);
16
+ }, Lt = P(
17
17
  {},
18
18
  { name: "VdtSourceSelection" }
19
- )(({ value: t, onChange: i, options: l, previewSourceText: n = "Preview Source" }) => {
20
- const c = l.find((u) => u.label === t.label);
21
- return /* @__PURE__ */ g(ot, { variant: "standard", fullWidth: !0, children: [
22
- /* @__PURE__ */ o(nt, { children: n }),
23
- /* @__PURE__ */ o(at, { value: c, onChange: i, children: l.map((u) => /* @__PURE__ */ o(it, { value: u, children: u.label }, u.src)) })
19
+ )(({ value: t, onChange: c, options: l, previewSourceText: a = "Preview Source" }) => {
20
+ const n = l.find((u) => u.label === t.label);
21
+ return /* @__PURE__ */ E(at, { variant: "standard", fullWidth: !0, children: [
22
+ /* @__PURE__ */ o(nt, { children: a }),
23
+ /* @__PURE__ */ o(it, { value: n, onChange: c, children: l.map((u) => /* @__PURE__ */ o(ct, { value: u, children: u.label }, u.src)) })
24
24
  ] });
25
- }), Lt = M(
25
+ }), Dt = P(
26
26
  {},
27
27
  { name: "VdtLoadingPlayer" }
28
- )((t) => /* @__PURE__ */ o(lt, { variant: "rect", width: "100%", height: 520, ...t })), yt = M(
28
+ )((t) => /* @__PURE__ */ o(lt, { variant: "rect", width: "100%", height: 520, ...t })), _t = P(
29
29
  (t) => ({
30
30
  root: {
31
31
  backgroundColor: t.palette.divider,
@@ -40,133 +40,138 @@ const ht = [...St, ...mt, ...dt], p = "IMAGE", h = "AUDIO", T = "VIDEO", gt = "D
40
40
  }
41
41
  }),
42
42
  { name: "VdtNoPreviewPlayer" }
43
- )(({ className: t, classes: i, label: l = "No Previews" }) => /* @__PURE__ */ o("div", { className: Y(i.root, t), children: /* @__PURE__ */ o("div", { className: i.label, children: l }) })), pt = () => ({
43
+ )(({ className: t, classes: c, label: l = "No Previews" }) => /* @__PURE__ */ o("div", { className: Y(c.root, t), children: /* @__PURE__ */ o("div", { className: c.label, children: l }) })), Ft = () => ({
44
44
  root: {}
45
45
  });
46
- function Tt({
46
+ function Yt({
47
47
  className: t,
48
- classes: i = {},
48
+ classes: c = {},
49
49
  itemId: l,
50
- videoEl: n,
51
- itemType: c,
50
+ videoEl: a,
51
+ itemType: n,
52
52
  isLoading: u,
53
53
  subtitleGroup: x = "stl_subtitle",
54
- subtitleField: F = "stl_text",
55
- sampleRate: W = "PAL",
56
- allowedMimeTypes: E = ht,
57
- additionalMimeTypes: P = [],
54
+ subtitleField: W = "stl_text",
55
+ sampleRate: V = "PAL",
56
+ allowedMimeTypes: I = Mt,
57
+ additionalMimeTypes: y = [],
58
58
  // extends the default set
59
- LoadingPlayerComponent: V = Lt,
60
- NoPreviewPlayerComponent: j = yt,
61
- ItemImagePlayerComponent: I = st,
62
- ItemAudioPlayerComponent: L = ut,
63
- ItemVideoPlayerComponent: y = ft,
64
- ItemBinaryPlayerComponent: D,
65
- onReady: _,
66
- onCinema: C,
67
- onScreenshot: U,
68
- width: O = "100%",
69
- sourceTag: m = "original",
70
- SourceSelectionComponent: v = It,
71
- videoPlayerProps: B = {},
72
- audioPlayerProps: k = {},
73
- shapeToLabel: A = Et,
74
- ItemVideoPlayerProps: G = {},
75
- ItemBinaryPlayerProps: R = {},
76
- LoadingPlayerProps: q = {},
77
- NoPreviewPlayerProps: z = {},
78
- ...H
59
+ LoadingPlayerComponent: j = Dt,
60
+ NoPreviewPlayerComponent: C = _t,
61
+ ItemImagePlayerComponent: L = ft,
62
+ ItemAudioPlayerComponent: D = st,
63
+ ItemVideoPlayerComponent: _ = ht,
64
+ ItemBinaryPlayerComponent: p,
65
+ onReady: O,
66
+ onCinema: U,
67
+ onScreenshot: B,
68
+ width: v = "100%",
69
+ sourceTag: f = "original",
70
+ SourceSelectionComponent: A = Lt,
71
+ videoPlayerProps: k = {},
72
+ audioPlayerProps: G = {},
73
+ shapeToLabel: $ = It,
74
+ ItemVideoPlayerProps: R = {},
75
+ ItemBinaryPlayerProps: q = {},
76
+ LoadingPlayerProps: z = {},
77
+ NoPreviewPlayerProps: H = {},
78
+ ...J
79
79
  }) {
80
- const [d, J] = et(), e = w(() => ct(c, {
81
- allowedMimeTypes: [...E, ...P]
82
- }).map((s) => ({
83
- ...s,
84
- label: A(s.shape)
85
- })), [c, E, P, A]), a = w(() => {
80
+ const [d, K] = ot(), e = g(() => ut(n, {
81
+ allowedMimeTypes: [...I, ...y]
82
+ }).map((m) => ({
83
+ ...m,
84
+ label: $(m.shape)
85
+ })), [n, I, y, $]), S = g(() => {
86
+ const { metadata: s } = n;
87
+ return s ? dt(s, { flat: !0 }).mediaType[0].toUpperCase() : "";
88
+ }, [n]), i = g(() => {
89
+ if (S)
90
+ return S;
86
91
  if (d)
87
92
  return N(d.shape);
88
93
  if (e && e.length > 0)
89
94
  return N(e[0].shape);
90
- }, [d, e]), K = ({ target: { value: f } }) => {
91
- const { src: s, shape: X, type: Z } = f;
92
- if (a === T || a === h) {
93
- const r = n && n.current && n.current.player && n.current.player.videojs;
94
- if (!r || r.currentSrc() === s)
95
+ }, [d, e, S]), Q = ({ target: { value: s } }) => {
96
+ const { src: m, shape: Z, type: tt } = s;
97
+ if (i === F || i === M) {
98
+ const r = a && a.current && a.current.player && a.current.player.videojs;
99
+ if (!r || r.currentSrc() === m)
95
100
  return;
96
- const tt = r.paused(), rt = r.currentTime(), $ = Math.floor(r.duration()), b = Pt(X);
97
- r.preload === "none" && (r.preload = "metadata"), $ <= b + 2 && $ >= b - 2 ? (r.addClass("vjs-has-started"), r.bigPlayButton.hide(), r.poster(""), r.one("loadedmetadata", () => {
98
- r.currentTime(rt), tt || r.play();
101
+ const rt = r.paused(), et = r.currentTime(), b = Math.floor(r.duration()), w = yt(Z);
102
+ r.preload === "none" && (r.preload = "metadata"), b <= w + 2 && b >= w - 2 ? (r.addClass("vjs-has-started"), r.bigPlayButton.hide(), r.poster(""), r.one("loadedmetadata", () => {
103
+ r.currentTime(et), rt || r.play();
99
104
  })) : r.one("loadeddata", () => {
100
105
  r.bigPlayButton.show();
101
- }), r.pause(), r.src({ src: s, type: Z.replace("x-", "") });
106
+ }), r.pause(), r.src({ src: m, type: tt.replace("x-", "") });
102
107
  }
103
- J(f);
104
- }, Q = u || a === void 0 || e.length === 0;
105
- return /* @__PURE__ */ o("div", { className: Y(i.root, t, "VdtItemPlayer-root"), children: Q ? (
108
+ K(s);
109
+ }, X = u || i === void 0 || e.length === 0;
110
+ return /* @__PURE__ */ o("div", { className: Y(c.root, t, "VdtItemPlayer-root"), children: X ? (
106
111
  // eslint-disable-next-line react/jsx-no-useless-fragment
107
- /* @__PURE__ */ o(S, { children: u ? /* @__PURE__ */ o(V, { ...q }) : /* @__PURE__ */ o(j, { ...z }) })
108
- ) : /* @__PURE__ */ g(S, { children: [
109
- (a === p || a === h || a === gt) && /* @__PURE__ */ g(S, { children: [
110
- I && a === p && /* @__PURE__ */ o(
111
- I,
112
+ /* @__PURE__ */ o(h, { children: u ? /* @__PURE__ */ o(j, { ...z }) : /* @__PURE__ */ o(C, { ...H }) })
113
+ ) : /* @__PURE__ */ E(h, { children: [
114
+ (i === T || i === M || i === Et) && /* @__PURE__ */ E(h, { children: [
115
+ L && i === T && /* @__PURE__ */ o(
116
+ L,
112
117
  {
113
118
  previewSource: d || e[0],
114
- videoEl: n,
115
- ...H
119
+ videoEl: a,
120
+ ...J
116
121
  }
117
122
  ),
118
- L && a === h && /* @__PURE__ */ o(
119
- L,
123
+ D && i === M && /* @__PURE__ */ o(
124
+ D,
120
125
  {
121
- videoEl: n,
122
- onReady: _,
123
- width: O,
124
- sourceTag: m,
126
+ videoEl: a,
127
+ onReady: O,
128
+ width: v,
129
+ sourceTag: f,
125
130
  previewSources: e,
126
- audioPlayerProps: k
131
+ audioPlayerProps: G
127
132
  }
128
133
  ),
129
- v && e.length > 1 && /* @__PURE__ */ o(
130
- v,
134
+ A && e.length > 1 && /* @__PURE__ */ o(
135
+ A,
131
136
  {
132
137
  options: e,
133
138
  value: d || e[0],
134
- onChange: K
139
+ onChange: Q
135
140
  }
136
141
  )
137
142
  ] }),
138
- D && a === Mt && /* @__PURE__ */ o(
139
- D,
143
+ p && i === Pt && /* @__PURE__ */ o(
144
+ p,
140
145
  {
141
146
  itemId: l,
142
- itemType: c,
147
+ itemType: n,
143
148
  source: d || (e == null ? void 0 : e[0]),
144
- sourceTag: m,
149
+ sourceTag: f,
145
150
  previewSources: e,
146
- ...R
151
+ ...q
147
152
  }
148
153
  ),
149
- y && a === T && /* @__PURE__ */ o(
150
- y,
154
+ _ && i === F && /* @__PURE__ */ o(
155
+ _,
151
156
  {
152
- videoEl: n,
153
- itemType: c,
157
+ videoEl: a,
158
+ itemType: n,
154
159
  subtitleGroup: x,
155
- subtitleField: F,
156
- sampleRate: W,
157
- onReady: _,
158
- onCinema: C,
159
- onScreenshot: U,
160
- width: O,
161
- sourceTag: m,
160
+ subtitleField: W,
161
+ sampleRate: V,
162
+ onReady: O,
163
+ onCinema: U,
164
+ onScreenshot: B,
165
+ width: v,
166
+ sourceTag: f,
162
167
  previewSources: e,
163
- videoPlayerProps: B,
164
- ...G
168
+ videoPlayerProps: k,
169
+ ...R
165
170
  }
166
171
  )
167
172
  ] }) });
168
173
  }
169
174
  export {
170
- Tt as default,
171
- pt as styles
175
+ Yt as default,
176
+ Ft as styles
172
177
  };
@@ -1,98 +1,104 @@
1
- import { jsx as m } from "react/jsx-runtime";
1
+ import { jsx as y } from "react/jsx-runtime";
2
2
  import { useMemo as x, useCallback as C, useState as Q } from "react";
3
3
  import S from "clsx";
4
4
  import e from "prop-types";
5
5
  import { TreeView as v } from "@material-ui/lab";
6
- import f from "@vidispine/proptypes";
6
+ import g from "@vidispine/proptypes";
7
7
  import { uuidv4 as N } from "../../../utils.js";
8
8
  import { QueryBuilderContextProvider as P } from "../QueryBuilderContext.js";
9
9
  import R from "../QueryEntry/index.js";
10
- const $ = (o) => ({
10
+ const $ = (t) => ({
11
11
  root: {},
12
12
  treeRoot: {
13
- backgroundColor: o.palette.background.paper,
13
+ backgroundColor: t.palette.background.paper,
14
14
  "& > .MuiTreeItem-root:first-child": {
15
15
  backgroundColor: "transparent",
16
16
  margin: "0",
17
17
  border: "none"
18
18
  }
19
19
  }
20
- }), j = (o) => {
21
- function a({ uuid: i, ...n }) {
22
- const d = n.operation, u = ({ operation: r, value: p, range: t } = {}) => r ? "operator" : p || t ? "field" : "group";
20
+ }), j = (t) => {
21
+ function p({ uuid: u, ...n }) {
22
+ const d = n.operation, s = ({ operation: r, value: o, range: a } = {}) => r ? "operator" : o || a ? "field" : "group";
23
23
  return {
24
24
  ...d ? {
25
25
  operation: n.operation,
26
- operator: n.entry.filter((r) => r.operation).map((r) => a(r))
26
+ operator: n.entry.filter((r) => r.operation).map((r) => p(r))
27
27
  } : { name: n.name },
28
- field: n.entry.filter((r) => u(r) === "field").map(({ uuid: r, predicate: p, ...t }) => {
29
- var l;
30
- const y = (l = t.value) == null ? void 0 : l.map(({ value: s }) => ({
31
- value: s.includes(" ") && !s.includes("*") ? `"${s}"` : `${s}`
32
- }));
33
- return { ...t, value: y };
34
- }),
35
- group: n.entry.filter((r) => u(r) === "group").map((r) => a(r))
28
+ ...(() => {
29
+ const r = n.entry.filter((o) => s(o) === "field").map(({ uuid: o, predicate: a, ...c }) => {
30
+ var m;
31
+ const f = (m = c.value) == null ? void 0 : m.map(({ value: i }) => ({
32
+ value: i.includes(" ") && !i.includes("*") ? `"${i}"` : `${i}`
33
+ }));
34
+ return { ...c, value: f };
35
+ });
36
+ return r.length > 0 ? { field: r } : {};
37
+ })(),
38
+ ...(() => {
39
+ const r = n.entry.filter((o) => s(o) === "group").map((o) => p(o));
40
+ return r.length > 0 ? { group: r } : {};
41
+ })()
36
42
  };
37
43
  }
38
- return o && o.operator && { operator: a(o.operator) };
39
- }, k = (o) => {
40
- const a = ({ operation: i, name: n, operator: d, field: u, group: r, entry: p } = {}) => ({
41
- ...i ? { operation: i } : { name: n },
44
+ return t && t.operator && { operator: p(t.operator) };
45
+ }, k = (t) => {
46
+ const p = ({ operation: u, name: n, operator: d, field: s, group: r, entry: o } = {}) => ({
47
+ ...u ? { operation: u } : { name: n },
42
48
  entry: [
43
- ...u || [],
44
- ...(d || []).map((t) => a(t)),
45
- ...(r || []).map((t) => a(t)),
46
- ...p || []
47
- ].map((t) => ({ uuid: N(), ...t }))
49
+ ...s || [],
50
+ ...(d || []).map((a) => p(a)),
51
+ ...(r || []).map((a) => p(a)),
52
+ ...o || []
53
+ ].map((a) => ({ uuid: N(), ...a }))
48
54
  });
49
- return o && o.operator && { operator: a(o.operator) };
55
+ return t && t.operator && { operator: p(t.operator) };
50
56
  };
51
57
  function O({
52
- classes: o,
53
- className: a,
54
- query: i,
58
+ classes: t,
59
+ className: p,
60
+ query: u,
55
61
  fields: n,
56
62
  groups: d,
57
- defaultField: u,
63
+ defaultField: s,
58
64
  defaultGroup: r,
59
- onChange: p,
60
- QueryEntryComponent: t,
61
- QueryEntryProps: y
65
+ onChange: o,
66
+ QueryEntryComponent: a,
67
+ QueryEntryProps: c
62
68
  }) {
63
- const l = x(() => k(i), [i]), s = C(
64
- (c) => {
65
- p({
66
- ...c,
69
+ const f = x(() => k(u), [u]), m = C(
70
+ (l) => {
71
+ o({
72
+ ...l,
67
73
  toItemSearchDocument() {
68
74
  return j(this);
69
75
  }
70
76
  });
71
77
  },
72
- [p]
73
- ), [T, h] = Q(["operator"]), b = (c, g) => {
74
- h(g);
75
- }, E = (c) => {
76
- T.includes(c) || h((g) => [...g, c]);
78
+ [o]
79
+ ), [i, T] = Q(["operator"]), E = (l, h) => {
80
+ T(h);
81
+ }, b = (l) => {
82
+ i.includes(l) || T((h) => [...h, l]);
77
83
  };
78
- return /* @__PURE__ */ m("div", { className: S(a, o.root, "VdtQueryBuilder-root"), children: l ? /* @__PURE__ */ m(P, { query: l, onChange: s, children: /* @__PURE__ */ m(
84
+ return /* @__PURE__ */ y("div", { className: S(p, t.root, "VdtQueryBuilder-root"), children: f ? /* @__PURE__ */ y(P, { query: f, onChange: m, children: /* @__PURE__ */ y(
79
85
  v,
80
86
  {
81
- classes: { root: o.treeRoot },
87
+ classes: { root: t.treeRoot },
82
88
  disableSelection: !0,
83
- expanded: T,
84
- onNodeToggle: b,
85
- children: /* @__PURE__ */ m(
86
- t,
89
+ expanded: i,
90
+ onNodeToggle: E,
91
+ children: /* @__PURE__ */ y(
92
+ a,
87
93
  {
88
- expandNode: E,
94
+ expandNode: b,
89
95
  path: "operator",
90
- defaultField: u,
96
+ defaultField: s,
91
97
  defaultGroup: r,
92
98
  fields: n,
93
99
  groups: d,
94
100
  canExpand: !1,
95
- ...y
101
+ ...c
96
102
  }
97
103
  )
98
104
  }
@@ -112,13 +118,13 @@ O.propTypes = {
112
118
  operation: e.oneOf(["AND", "OR", "NOT"]).isRequired,
113
119
  entry: e.arrayOf(
114
120
  e.oneOfType([
115
- f.SearchOperatorType,
116
- f.SearchFieldType,
117
- f.SearchGroupType
121
+ g.SearchOperatorType,
122
+ g.SearchFieldType,
123
+ g.SearchGroupType
118
124
  ])
119
125
  )
120
126
  }),
121
- f.ItemSearchType
127
+ g.ItemSearchType
122
128
  ]).isRequired,
123
129
  groups: e.arrayOf(e.any),
124
130
  fields: e.arrayOf(e.any),
@@ -2,7 +2,7 @@ import { jsx as d } from "react/jsx-runtime";
2
2
  import { useCallback as J } from "react";
3
3
  import K from "clsx";
4
4
  import e from "prop-types";
5
- import { alpha as I } from "@material-ui/core/styles";
5
+ import { alpha as P } from "@material-ui/core/styles";
6
6
  import { ChevronRight as V, ExpandMore as W } from "@material-ui/icons";
7
7
  import { TreeItem as X } from "@material-ui/lab";
8
8
  import { useQueryBuilder as Y } from "../QueryBuilderContext.js";
@@ -21,8 +21,8 @@ const ye = (o) => ({
21
21
  },
22
22
  queryGroup: {
23
23
  position: "relative",
24
- border: `1px solid ${I(o.palette.text.primary, 0.05)}`,
25
- backgroundColor: I(o.palette.text.primary, 0.02),
24
+ border: `1px solid ${P(o.palette.text.primary, 0.05)}`,
25
+ backgroundColor: P(o.palette.text.primary, 0.02),
26
26
  borderRadius: "4px",
27
27
  margin: "1rem 1rem 1rem 0",
28
28
  "& .MuiTreeItem-iconContainer": {
@@ -36,20 +36,20 @@ function re(o) {
36
36
  }
37
37
  function f({
38
38
  canExpandpath: o,
39
- path: i,
39
+ path: n,
40
40
  fields: c,
41
- groups: n,
42
- defaultField: P,
41
+ groups: a,
42
+ defaultField: R,
43
43
  defaultGroup: te,
44
44
  not: g,
45
- nodeId: R,
46
- canExpand: E,
45
+ nodeId: y,
46
+ canExpand: T,
47
47
  parentGroup: ne,
48
48
  onRemove: $,
49
- ...y
49
+ ...G
50
50
  }) {
51
51
  const {
52
- expandNode: G,
52
+ expandNode: v,
53
53
  OperatorComponent: L,
54
54
  OperatorProps: M,
55
55
  FieldComponent: j,
@@ -57,54 +57,57 @@ function f({
57
57
  GroupComponent: k,
58
58
  GroupProps: A,
59
59
  getFieldLabel: q,
60
- getFieldName: v,
60
+ getFieldName: b,
61
61
  getGroupLabel: w,
62
62
  getGroupName: u,
63
63
  getGroupFields: B,
64
64
  getGroupGroups: D,
65
- classes: T
66
- } = y, { getEntry: S, addEntry: h, removeEntry: N, changeOperation: U, changeEntry: b, setNot: F } = Y(i), r = S(i), a = re(r), p = R || i, _ = P || c.length > 0 ? v(c[0]) : void 0, l = a === "group" ? B(n.find((t) => u(t) === u(r)) || {}) : c, s = a === "group" ? v(l[0]) : _, m = a === "group" ? D(n.find((t) => u(t) === r.name) || {}) : n, z = m && m.length > 0 ? m[0].name : void 0, O = J(
65
+ classes: N
66
+ } = G, { getEntry: S, addEntry: O, removeEntry: h, changeOperation: U, changeEntry: F, setNot: x } = Y(n), r = S(n), I = J(
67
67
  (...t) => {
68
- h(...t), G && G(p);
68
+ O(...t), v && v(y || n);
69
69
  },
70
- [h, p, G]
71
- ), x = $ || N;
70
+ [O, y, n, v]
71
+ );
72
+ if (r === void 0)
73
+ return null;
74
+ const p = re(r), i = y || n, _ = R || c.length > 0 ? b(c[0]) : void 0, l = p === "group" ? B(a.find((t) => u(t) === u(r)) || {}) : c, s = p === "group" ? b(l[0]) : _, m = p === "group" ? D(a.find((t) => u(t) === r.name) || {}) : a, z = m && m.length > 0 ? m[0].name : void 0, C = $ || h;
72
75
  if (r.operation && r.operation === "NOT")
73
76
  return /* @__PURE__ */ d(
74
77
  f,
75
78
  {
76
- nodeId: p,
77
- path: `${i}.entry.0`,
79
+ nodeId: i,
80
+ path: `${n}.entry.0`,
78
81
  fields: l,
79
82
  defaultField: s,
80
- groups: n,
81
- onRemove: N,
82
- parentGroup: a === "group" ? r.name : void 0,
83
+ groups: a,
84
+ onRemove: h,
85
+ parentGroup: p === "group" ? r.name : void 0,
83
86
  not: !0,
84
- ...y
87
+ ...G
85
88
  }
86
89
  );
87
- const H = ({ uuid: t, ...C }) => C;
90
+ const H = ({ uuid: t, ...E }) => E;
88
91
  return /* @__PURE__ */ d(
89
92
  X,
90
93
  {
91
- nodeId: p,
92
- className: K(a !== "field" && T.queryGroup, T.root),
93
- expandIcon: E ? /* @__PURE__ */ d(V, {}) : null,
94
- collapseIcon: E ? /* @__PURE__ */ d(W, {}) : null,
94
+ nodeId: i,
95
+ className: K(p !== "field" && N.queryGroup, N.root),
96
+ expandIcon: T ? /* @__PURE__ */ d(V, {}) : null,
97
+ collapseIcon: T ? /* @__PURE__ */ d(W, {}) : null,
95
98
  label: {
96
99
  operator: /* @__PURE__ */ d(
97
100
  L,
98
101
  {
99
102
  operator: r,
100
103
  not: g,
101
- onAddEntry: O,
102
- onRemove: p !== "operator" ? x : void 0,
103
- onChangeOperation: p !== "operator" ? U : void 0,
104
- onChange: b,
105
- setNot: p !== "operator" ? F : void 0,
104
+ onAddEntry: I,
105
+ onRemove: i !== "operator" ? C : void 0,
106
+ onChangeOperation: i !== "operator" ? U : void 0,
107
+ onChange: F,
108
+ setNot: i !== "operator" ? x : void 0,
106
109
  defaultField: s,
107
- defaultGroup: n && n.length > 0 ? n[0].name : void 0,
110
+ defaultGroup: a && a.length > 0 ? a[0].name : void 0,
108
111
  ...M
109
112
  }
110
113
  ),
@@ -114,11 +117,11 @@ function f({
114
117
  field: H(r),
115
118
  fields: l,
116
119
  getFieldLabel: q,
117
- getFieldName: v,
120
+ getFieldName: b,
118
121
  not: g,
119
- onRemove: x,
120
- onChange: b,
121
- setNot: F,
122
+ onRemove: C,
123
+ onChange: F,
124
+ setNot: x,
122
125
  ...Q
123
126
  }
124
127
  ),
@@ -126,33 +129,33 @@ function f({
126
129
  k,
127
130
  {
128
131
  group: r,
129
- groups: n,
132
+ groups: a,
130
133
  not: g,
131
- onAddEntry: O,
132
- onRemove: x,
133
- setNot: F,
134
+ onAddEntry: I,
135
+ onRemove: C,
136
+ setNot: x,
134
137
  defaultField: s,
135
138
  defaultGroup: z,
136
139
  getGroupLabel: w,
137
140
  getGroupName: u,
138
- onChange: b,
141
+ onChange: F,
139
142
  ...A
140
143
  }
141
144
  )
142
- }[a],
143
- children: r.entry && r.entry.map((t, C) => /* @__PURE__ */ d(
145
+ }[p],
146
+ children: r.entry && r.entry.map((t, E) => /* @__PURE__ */ d(
144
147
  f,
145
148
  {
146
- nodeId: `${p}.entry.${t.uuid}`,
147
- path: `${i}.entry.${C}`,
149
+ nodeId: `${i}.entry.${t.uuid}`,
150
+ path: `${n}.entry.${E}`,
148
151
  fields: l,
149
152
  groups: m,
150
153
  defaultField: s,
151
- parentEntryType: a,
152
- parentGroup: a === "group" ? r.name : void 0,
153
- ...y
154
+ parentEntryType: p,
155
+ parentGroup: p === "group" ? r.name : void 0,
156
+ ...G
154
157
  },
155
- `${i}.entry.${t.uuid}`
158
+ `${n}.entry.${t.uuid}`
156
159
  ))
157
160
  }
158
161
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vidispine/vdt-materialui",
3
- "version": "26.1.0-pre.3",
3
+ "version": "26.1.0-pre.5",
4
4
  "license": "SEE LICENSE IN LICENSE.md",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -36,11 +36,11 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@babel/runtime": "7.26.10",
39
- "@vidispine/proptypes": "26.1.0-pre.3",
40
- "@vidispine/vdt-api": "26.1.0-pre.3",
41
- "@vidispine/vdt-js": "26.1.0-pre.3",
42
- "@vidispine/vdt-react": "26.1.0-pre.3",
43
- "@vidispine/vdt-videojs-react": "26.1.0-pre.3",
39
+ "@vidispine/proptypes": "26.1.0-pre.5",
40
+ "@vidispine/vdt-api": "26.1.0-pre.5",
41
+ "@vidispine/vdt-js": "26.1.0-pre.5",
42
+ "@vidispine/vdt-react": "26.1.0-pre.5",
43
+ "@vidispine/vdt-videojs-react": "26.1.0-pre.5",
44
44
  "clsx": "1.2.1",
45
45
  "filesize": "10.1.0",
46
46
  "final-form": "4.20.10",
@@ -74,11 +74,11 @@
74
74
  "@material-ui/icons": "4.11.3",
75
75
  "@material-ui/lab": "4.0.0-alpha.61",
76
76
  "@types/jest": "29.5.11",
77
- "@vidispine/eslint-config-mdx": "26.1.0-pre.3",
78
- "@vidispine/eslint-config-react": "26.1.0-pre.3",
79
- "@vidispine/eslint-config-storybook": "26.1.0-pre.3",
80
- "@vidispine/prettier-config": "26.1.0-pre.3",
81
- "@vidispine/proptypes": "26.1.0-pre.3",
77
+ "@vidispine/eslint-config-mdx": "26.1.0-pre.5",
78
+ "@vidispine/eslint-config-react": "26.1.0-pre.5",
79
+ "@vidispine/eslint-config-storybook": "26.1.0-pre.5",
80
+ "@vidispine/prettier-config": "26.1.0-pre.5",
81
+ "@vidispine/proptypes": "26.1.0-pre.5",
82
82
  "@vitejs/plugin-react": "4.2.1",
83
83
  "@wojtekmaj/enzyme-adapter-react-17": "0.8.0",
84
84
  "axios": "1.7.7",