@cgi-learning-hub/ui 1.4.0-dev.1741976077 → 1.4.0-dev.1741982096
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/components/TreeView/TreeView.cjs.js +9 -9
- package/dist/components/TreeView/TreeView.d.ts +2 -1
- package/dist/components/TreeView/TreeView.es.js +579 -533
- package/dist/components/stories/TreeView.stories.cjs.js +4 -4
- package/dist/components/stories/TreeView.stories.d.ts +2 -1
- package/dist/components/stories/TreeView.stories.es.js +143 -55
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react/jsx-runtime"),
|
|
2
|
-
`))},[
|
|
3
|
-
`))},[JSON.stringify(d)])}),g};class
|
|
4
|
-
`)))}}removeListener(t,
|
|
5
|
-
`));return e},
|
|
6
|
-
`));if(
|
|
7
|
-
`));const
|
|
8
|
-
`));i[f]={id:f,label:c,parentId:a,idAttribute:void 0,expandable:!!((m=d.children)!=null&&m.length),disabled:t?t(d):!1,depth:r},g[f]=d;const x=a??ie;I[x]||(I[x]=[]),I[x].push(f),(u=d.children)==null||u.forEach(b=>l(b,r+1,f))};e.forEach(d=>l(d,0,null));const p={};return Object.keys(I).forEach(d=>{p[d]=uo(I[d])}),{itemMetaMap:i,itemMap:g,itemOrderedChildrenIds:I,itemChildrenIndexes:p}},Ie=({instance:e,params:t,state:o,setState:n,experimentalFeatures:i})=>{const g=E.useCallback(b=>o.items.itemMetaMap[b],[o.items.itemMetaMap]),I=E.useCallback(b=>o.items.itemMap[b],[o.items.itemMap]),l=E.useCallback(()=>{const b=h=>{const w=o.items.itemMap[h],k=W._objectWithoutPropertiesLoose(w,po),C=o.items.itemOrderedChildrenIds[h];return C&&(k.children=C.map(b)),k};return o.items.itemOrderedChildrenIds[ie].map(b)},[o.items.itemMap,o.items.itemOrderedChildrenIds]),p=E.useCallback(b=>{if(b==null)return!1;let h=e.getItemMeta(b);if(!h)return!1;if(h.disabled)return!0;for(;h.parentId!=null;)if(h=e.getItemMeta(h.parentId),h.disabled)return!0;return!1},[e]),d=E.useCallback(b=>{const h=e.getItemMeta(b).parentId??ie;return o.items.itemChildrenIndexes[h][b]},[e,o.items.itemChildrenIndexes]),r=E.useCallback(b=>o.items.itemOrderedChildrenIds[b??ie]??[],[o.items.itemOrderedChildrenIds]),a=b=>{const h=e.getItemMeta(b);return h==null?null:document.getElementById(je({treeId:o.id.treeId,itemId:b,id:h.idAttribute}))},f=b=>t.disabledItemsFocusable?!0:!e.isItemDisabled(b),c=E.useRef(!1),x=E.useCallback(()=>{c.current=!0},[]),m=E.useCallback(()=>c.current,[]);return E.useEffect(()=>{e.areItemUpdatesPrevented()||n(b=>{const h=st({items:t.items,isItemDisabled:t.isItemDisabled,getItemId:t.getItemId,getItemLabel:t.getItemLabel});return Object.values(b.items.itemMetaMap).forEach(w=>{h.itemMetaMap[w.id]||co(e,"removeItem",{id:w.id})}),P._extends({},b,{items:h})})},[e,n,t.items,t.isItemDisabled,t.getItemId,t.getItemLabel]),{getRootProps:()=>({style:{"--TreeView-itemChildrenIndentation":typeof t.itemChildrenIndentation=="number"?`${t.itemChildrenIndentation}px`:t.itemChildrenIndentation}}),publicAPI:{getItem:I,getItemDOMElement:a,getItemTree:l,getItemOrderedChildrenIds:r},instance:{getItemMeta:g,getItem:I,getItemTree:l,getItemsToRender:()=>{const b=h=>{var k;const w=o.items.itemMetaMap[h];return{label:w.label,itemId:w.id,id:w.idAttribute,children:(k=o.items.itemOrderedChildrenIds[h])==null?void 0:k.map(b)}};return o.items.itemOrderedChildrenIds[ie].map(b)},getItemIndex:d,getItemDOMElement:a,getItemOrderedChildrenIds:r,isItemDisabled:p,isItemNavigable:f,preventItemUpdates:x,areItemUpdatesPrevented:m},contextValue:{items:{onItemClick:t.onItemClick,disabledItemsFocusable:t.disabledItemsFocusable,indentationAtItemLevel:i.indentationAtItemLevel??!1}}}};Ie.getInitialState=e=>({items:st({items:e.items,isItemDisabled:e.isItemDisabled,getItemId:e.getItemId,getItemLabel:e.getItemLabel})});Ie.getDefaultizedParams=({params:e})=>P._extends({},e,{disabledItemsFocusable:e.disabledItemsFocusable??!1,itemChildrenIndentation:e.itemChildrenIndentation??"12px"});Ie.wrapRoot=({children:e,instance:t})=>v.jsx(Ce.Provider,{value:o=>{var n;return((n=t.getItemMeta(o))==null?void 0:n.depth)??0},children:e});Ie.params={disabledItemsFocusable:!0,items:!0,isItemDisabled:!0,getItemLabel:!0,getItemId:!0,onItemClick:!0,itemChildrenIndentation:!0};const Ee=({instance:e,params:t,models:o})=>{const n=E.useMemo(()=>{const a=new Map;return o.expandedItems.value.forEach(f=>{a.set(f,!0)}),a},[o.expandedItems.value]),i=(a,f)=>{var c;(c=t.onExpandedItemsChange)==null||c.call(t,a,f),o.expandedItems.setControlledValue(f)},g=E.useCallback(a=>n.has(a),[n]),I=E.useCallback(a=>{var f;return!!((f=e.getItemMeta(a))!=null&&f.expandable)},[e]),l=le.useEventCallback((a,f)=>{const c=e.isItemExpanded(f);e.setItemExpansion(a,f,!c)}),p=le.useEventCallback((a,f,c)=>{if(e.isItemExpanded(f)===c)return;let m;c?m=[f].concat(o.expandedItems.value):m=o.expandedItems.value.filter(u=>u!==f),t.onItemExpansionToggle&&t.onItemExpansionToggle(a,f,c),i(a,m)}),d=(a,f)=>{const c=e.getItemMeta(f),m=e.getItemOrderedChildrenIds(c.parentId).filter(b=>e.isItemExpandable(b)&&!e.isItemExpanded(b)),u=o.expandedItems.value.concat(m);m.length>0&&(t.onItemExpansionToggle&&m.forEach(b=>{t.onItemExpansionToggle(a,b,!0)}),i(a,u))},r=E.useMemo(()=>t.expansionTrigger?t.expansionTrigger:e.isTreeViewEditable?"iconContainer":"content",[t.expansionTrigger,e.isTreeViewEditable]);return{publicAPI:{setItemExpansion:p},instance:{isItemExpanded:g,isItemExpandable:I,setItemExpansion:p,toggleItemExpansion:l,expandAllSiblings:d},contextValue:{expansion:{expansionTrigger:r}}}};Ee.models={expandedItems:{getDefaultValue:e=>e.defaultExpandedItems}};const fo=[];Ee.getDefaultizedParams=({params:e})=>P._extends({},e,{defaultExpandedItems:e.defaultExpandedItems??fo});Ee.params={expandedItems:!0,defaultExpandedItems:!0,onExpandedItemsChange:!0,onItemExpansionToggle:!0,expansionTrigger:!0};const it=(e,t)=>{let o=t.length-1;for(;o>=0&&!e.isItemNavigable(t[o]);)o-=1;if(o!==-1)return t[o]},lt=(e,t)=>{const o=e.getItemMeta(t),n=e.getItemOrderedChildrenIds(o.parentId),i=e.getItemIndex(t);if(i===0)return o.parentId;let g=i-1;for(;!e.isItemNavigable(n[g])&&g>=0;)g-=1;if(g===-1)return o.parentId==null?null:lt(e,o.parentId);let I=n[g],l=it(e,e.getItemOrderedChildrenIds(I));for(;e.isItemExpanded(I)&&l!=null;)I=l,l=e.getItemOrderedChildrenIds(I).find(e.isItemNavigable);return I},ye=(e,t)=>{if(e.isItemExpanded(t)){const n=e.getItemOrderedChildrenIds(t).find(e.isItemNavigable);if(n!=null)return n}let o=e.getItemMeta(t);for(;o!=null;){const n=e.getItemOrderedChildrenIds(o.parentId),i=e.getItemIndex(o.id);if(i<n.length-1){let g=i+1;for(;!e.isItemNavigable(n[g])&&g<n.length-1;)g+=1;if(e.isItemNavigable(n[g]))return n[g]}o=e.getItemMeta(o.parentId)}return null},at=e=>{let t=null;for(;t==null||e.isItemExpanded(t);){const o=e.getItemOrderedChildrenIds(t),n=it(e,o);if(n==null)return t;t=n}return t},pe=e=>e.getItemOrderedChildrenIds(null).find(e.isItemNavigable),ct=(e,t,o)=>{if(t===o)return[t,o];const n=e.getItemMeta(t),i=e.getItemMeta(o);if(n.parentId===i.id||i.parentId===n.id)return i.parentId===n.id?[n.id,i.id]:[i.id,n.id];const g=[n.id],I=[i.id];let l=n.parentId,p=i.parentId,d=I.indexOf(l)!==-1,r=g.indexOf(p)!==-1,a=!0,f=!0;for(;!r&&!d;)a&&(g.push(l),d=I.indexOf(l)!==-1,a=l!==null,!d&&a&&(l=e.getItemMeta(l).parentId)),f&&!d&&(I.push(p),r=g.indexOf(p)!==-1,f=p!==null,!r&&f&&(p=e.getItemMeta(p).parentId));const c=d?l:p,x=e.getItemOrderedChildrenIds(c),m=g[g.indexOf(c)-1],u=I[I.indexOf(c)-1];return x.indexOf(m)<x.indexOf(u)?[t,o]:[o,t]},Io=(e,t,o)=>{const n=p=>{if(e.isItemExpandable(p)&&e.isItemExpanded(p))return e.getItemOrderedChildrenIds(p)[0];let d=e.getItemMeta(p);for(;d!=null;){const r=e.getItemOrderedChildrenIds(d.parentId),a=e.getItemIndex(d.id);if(a<r.length-1)return r[a+1];d=e.getItemMeta(d.parentId)}throw new Error("Invalid range")},[i,g]=ct(e,t,o),I=[i];let l=i;for(;l!==g;)l=n(l),e.isItemDisabled(l)||I.push(l);return I},mo=e=>{let t=pe(e);const o=[];for(;t!=null;)o.push(t),t=ye(e,t);return o},fe=(e,t)=>t!==e.closest('*[role="treeitem"]'),Te=e=>Array.isArray(e)?e:e!=null?[e]:[],De=e=>{const t={};return e.forEach(o=>{t[o]=!0}),t},we=({instance:e,params:t,models:o})=>{const n=E.useRef(null),i=E.useRef({}),g=E.useMemo(()=>{const m=new Map;return Array.isArray(o.selectedItems.value)?o.selectedItems.value.forEach(u=>{m.set(u,!0)}):o.selectedItems.value!=null&&m.set(o.selectedItems.value,!0),m},[o.selectedItems.value]),I=(m,u)=>{if(t.onItemSelectionToggle)if(t.multiSelect){const b=u.filter(w=>!e.isItemSelected(w)),h=o.selectedItems.value.filter(w=>!u.includes(w));b.forEach(w=>{t.onItemSelectionToggle(m,w,!0)}),h.forEach(w=>{t.onItemSelectionToggle(m,w,!1)})}else u!==o.selectedItems.value&&(o.selectedItems.value!=null&&t.onItemSelectionToggle(m,o.selectedItems.value,!1),u!=null&&t.onItemSelectionToggle(m,u,!0));t.onSelectedItemsChange&&t.onSelectedItemsChange(m,u),o.selectedItems.setControlledValue(u)},l=m=>g.has(m),p=({event:m,itemId:u,keepExistingSelection:b=!1,shouldBeSelected:h})=>{if(t.disableSelection)return;let w;if(b){const k=Te(o.selectedItems.value),C=e.isItemSelected(u);C&&(h===!1||h==null)?w=k.filter(S=>S!==u):!C&&(h===!0||h==null)?w=[u].concat(k):w=k}else h===!1||h==null&&e.isItemSelected(u)?w=t.multiSelect?[]:null:w=t.multiSelect?[u]:u;I(m,w),n.current=u,i.current={}},d=(m,[u,b])=>{if(t.disableSelection||!t.multiSelect)return;let h=Te(o.selectedItems.value).slice();Object.keys(i.current).length>0&&(h=h.filter(S=>!i.current[S]));const w=De(h),k=Io(e,u,b),C=k.filter(S=>!w[S]);h=h.concat(C),I(m,h),i.current=De(k)};return{getRootProps:()=>({"aria-multiselectable":t.multiSelect}),publicAPI:{selectItem:p},instance:{isItemSelected:l,selectItem:p,selectAllNavigableItems:m=>{if(t.disableSelection||!t.multiSelect)return;const u=mo(e);I(m,u),i.current=De(u)},expandSelectionRange:(m,u)=>{if(n.current!=null){const[b,h]=ct(e,u,n.current);d(m,[b,h])}},selectRangeFromStartToItem:(m,u)=>{d(m,[pe(e),u])},selectRangeFromItemToEnd:(m,u)=>{d(m,[u,at(e)])},selectItemFromArrowNavigation:(m,u,b)=>{if(t.disableSelection||!t.multiSelect)return;let h=Te(o.selectedItems.value).slice();Object.keys(i.current).length===0?(h.push(b),i.current={[u]:!0,[b]:!0}):(i.current[u]||(i.current={}),i.current[b]?(h=h.filter(w=>w!==u),delete i.current[u]):(h.push(b),i.current[b]=!0)),I(m,h)}},contextValue:{selection:{multiSelect:t.multiSelect,checkboxSelection:t.checkboxSelection,disableSelection:t.disableSelection}}}};we.models={selectedItems:{getDefaultValue:e=>e.defaultSelectedItems}};const go=[];we.getDefaultizedParams=({params:e})=>P._extends({},e,{disableSelection:e.disableSelection??!1,multiSelect:e.multiSelect??!1,checkboxSelection:e.checkboxSelection??!1,defaultSelectedItems:e.defaultSelectedItems??(e.multiSelect?go:null)});we.params={disableSelection:!0,multiSelect:!0,checkboxSelection:!0,defaultSelectedItems:!0,selectedItems:!0,onSelectedItemsChange:!0,onItemSelectionToggle:!0};const Ye=1e3;class bo{constructor(t=Ye){this.timeouts=new Map,this.cleanupTimeout=Ye,this.cleanupTimeout=t}register(t,o,n){this.timeouts||(this.timeouts=new Map);const i=setTimeout(()=>{typeof o=="function"&&o(),this.timeouts.delete(n.cleanupToken)},this.cleanupTimeout);this.timeouts.set(n.cleanupToken,i)}unregister(t){const o=this.timeouts.get(t.cleanupToken);o&&(this.timeouts.delete(t.cleanupToken),clearTimeout(o))}reset(){this.timeouts&&(this.timeouts.forEach((t,o)=>{this.unregister({cleanupToken:o})}),this.timeouts=void 0)}}class xo{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,o,n){this.registry.register(t,o,n)}unregister(t){this.registry.unregister(t)}reset(){}}class ho{}function yo(e){let t=0;return function(n,i,g){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new xo:new bo);const[I]=E.useState(new ho),l=E.useRef(null),p=E.useRef(void 0);p.current=g;const d=E.useRef(null);if(!l.current&&p.current){const r=(a,f)=>{var c;f.defaultMuiPrevented||(c=p.current)==null||c.call(p,a,f)};l.current=n.$$subscribeEvent(i,r),t+=1,d.current={cleanupToken:t},e.registry.register(I,()=>{var a;(a=l.current)==null||a.call(l),l.current=null,d.current=null},d.current)}else!p.current&&l.current&&(l.current(),l.current=null,d.current&&(e.registry.unregister(d.current),d.current=null));E.useEffect(()=>{if(!l.current&&p.current){const r=(a,f)=>{var c;f.defaultMuiPrevented||(c=p.current)==null||c.call(p,a,f)};l.current=n.$$subscribeEvent(i,r)}return d.current&&e.registry&&(e.registry.unregister(d.current),d.current=null),()=>{var r;(r=l.current)==null||r.call(l),l.current=null}},[n,i])}}const To={registry:null},Po=yo(To),dt=(e=document)=>{const t=e.activeElement;return t?t.shadowRoot?dt(t.shadowRoot):t:null},Co=(e,t)=>{let o=Te(t).find(n=>{if(!e.isItemNavigable(n))return!1;const i=e.getItemMeta(n);return i&&(i.parentId==null||e.isItemExpanded(i.parentId))});return o==null&&(o=pe(e)),o},Ve=({instance:e,params:t,state:o,setState:n,models:i,rootRef:g})=>{const I=Co(e,i.selectedItems.value),l=le.useEventCallback(u=>{const b=typeof u=="function"?u(o.focusedItemId):u;o.focusedItemId!==b&&n(h=>P._extends({},h,{focusedItemId:b}))}),p=E.useCallback(()=>!!g.current&&g.current.contains(dt(zt.ownerDocument(g.current))),[g]),d=E.useCallback(u=>o.focusedItemId===u&&p(),[o.focusedItemId,p]),r=u=>{const b=e.getItemMeta(u);return b&&(b.parentId==null||e.isItemExpanded(b.parentId))},a=(u,b)=>{const h=e.getItemDOMElement(b);h&&h.focus(),l(b),t.onItemFocus&&t.onItemFocus(u,b)},f=le.useEventCallback((u,b)=>{r(b)&&a(u,b)}),c=le.useEventCallback(()=>{if(o.focusedItemId==null)return;if(e.getItemMeta(o.focusedItemId)){const b=e.getItemDOMElement(o.focusedItemId);b&&b.blur()}l(null)}),x=u=>u===I;Po(e,"removeItem",({id:u})=>{o.focusedItemId===u&&a(null,I)});const m=u=>b=>{var h;(h=u.onFocus)==null||h.call(u,b),!b.defaultMuiPrevented&&b.target===b.currentTarget&&a(b,I)};return{getRootProps:u=>({onFocus:m(u)}),publicAPI:{focusItem:f},instance:{isItemFocused:d,canItemBeTabbed:x,focusItem:f,removeFocusedItem:c}}};Ve.getInitialState=()=>({focusedItemId:null});Ve.params={onItemFocus:!0};const oe=(e,t)=>e.getAvailablePlugins().has(t),Eo=({props:e})=>{const{instance:t}=ne(),{label:o,itemId:n}=e,[i,g]=E.useState(o),I=t.isItemBeingEdited(n);return E.useEffect(()=>{I||g(o)},[I,o]),{propsEnhancers:{labelInput:({externalEventHandlers:l,interactions:p})=>t.isItemEditable(n)?{value:i??"","data-element":"labelInput",onChange:c=>{var x;(x=l.onChange)==null||x.call(l,c),g(c.target.value)},onKeyDown:c=>{var m;if((m=l.onKeyDown)==null||m.call(l,c),c.defaultMuiPrevented)return;const x=c.target;c.key==="Enter"&&x.value?p.handleSaveItemLabel(c,x.value):c.key==="Escape"&&p.handleCancelItemLabelEditing(c)},onBlur:c=>{var x;(x=l.onBlur)==null||x.call(l,c),!c.defaultMuiPrevented&&c.target.value&&p.handleSaveItemLabel(c,c.target.value)},autoFocus:!0,type:"text"}:{}}}},K=({instance:e,state:t,setState:o,params:n})=>{const i=E.useRef(t.editedItemId),g=a=>i.current===a,I=a=>{o(f=>P._extends({},f,{editedItemId:a})),i.current=a},l=a=>a===t.editedItemId,p=!!n.isItemEditable,d=a=>{if(a==null||!p)return!1;const f=e.getItem(a);return f?typeof n.isItemEditable=="function"?n.isItemEditable(f):!!n.isItemEditable:!1},r=(a,f)=>{if(!f)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","The label of an item cannot be empty.",a].join(`
|
|
9
|
-
`));o(c=>{const x=c.items.itemMetaMap[a];return x.label!==f?P._extends({},c,{items:P._extends({},c.items,{itemMetaMap:P._extends({},c.items.itemMetaMap,{[a]:P._extends({},x,{label:f})})})}):c}),n.onItemLabelChange&&n.onItemLabelChange(a,f)};return{instance:{setEditedItemId:I,isItemBeingEdited:l,updateItemLabel:r,isItemEditable:d,isTreeViewEditable:p,isItemBeingEditedRef:g},publicAPI:{updateItemLabel:r}}};K.itemPlugin=Eo;K.getDefaultizedParams=({params:e,experimentalFeatures:t})=>{const o=t==null?void 0:t.labelEditing;return process.env.NODE_ENV!=="production"&&e.isItemEditable&&!o&&Pe.warnOnce(["MUI X: The label editing feature requires the `labelEditing` experimental feature to be enabled.","You can do it by passing `experimentalFeatures={{ labelEditing: true}}` to the Rich Tree View Pro component.","Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/editing/"]),P._extends({},e,{isItemEditable:o?e.isItemEditable??!1:!1})};K.getInitialState=()=>({editedItemId:null});K.params={onItemLabelChange:!0,isItemEditable:!0};function wo(e){return!!e&&e.length===1&&!!e.match(/\S/)}const ut=({instance:e,params:t,state:o})=>{const n=V.useRtl(),i=E.useRef({}),g=le.useEventCallback(r=>{i.current=r(i.current)});E.useEffect(()=>{if(e.areItemUpdatesPrevented())return;const r={},a=f=>{r[f.id]=f.label.substring(0,1).toLowerCase()};Object.values(o.items.itemMetaMap).forEach(a),i.current=r},[o.items.itemMetaMap,t.getItemId,e]);const I=(r,a)=>{const f=a.toLowerCase(),c=b=>{const h=ye(e,b);return h===null?pe(e):h};let x=null,m=c(r);const u={};for(;x==null&&!u[m];)i.current[m]===f?x=m:(u[m]=!0,m=c(m));return x},l=r=>!t.disableSelection&&!e.isItemDisabled(r),p=r=>!e.isItemDisabled(r)&&e.isItemExpandable(r);return{instance:{updateFirstCharMap:g,handleItemKeyDown:(r,a)=>{if(r.defaultMuiPrevented||r.altKey||fe(r.target,r.currentTarget))return;const f=r.ctrlKey||r.metaKey,c=r.key;switch(!0){case(c===" "&&l(a)):{r.preventDefault(),t.multiSelect&&r.shiftKey?e.expandSelectionRange(r,a):e.selectItem({event:r,itemId:a,keepExistingSelection:t.multiSelect,shouldBeSelected:t.multiSelect?void 0:!0});break}case c==="Enter":{oe(e,K)&&e.isItemEditable(a)&&!e.isItemBeingEdited(a)?e.setEditedItemId(a):p(a)?(e.toggleItemExpansion(r,a),r.preventDefault()):l(a)&&(t.multiSelect?(r.preventDefault(),e.selectItem({event:r,itemId:a,keepExistingSelection:!0})):e.isItemSelected(a)||(e.selectItem({event:r,itemId:a}),r.preventDefault()));break}case c==="ArrowDown":{const x=ye(e,a);x&&(r.preventDefault(),e.focusItem(r,x),t.multiSelect&&r.shiftKey&&l(x)&&e.selectItemFromArrowNavigation(r,a,x));break}case c==="ArrowUp":{const x=lt(e,a);x&&(r.preventDefault(),e.focusItem(r,x),t.multiSelect&&r.shiftKey&&l(x)&&e.selectItemFromArrowNavigation(r,a,x));break}case(c==="ArrowRight"&&!n||c==="ArrowLeft"&&n):{if(f)return;if(e.isItemExpanded(a)){const x=ye(e,a);x&&(e.focusItem(r,x),r.preventDefault())}else p(a)&&(e.toggleItemExpansion(r,a),r.preventDefault());break}case(c==="ArrowLeft"&&!n||c==="ArrowRight"&&n):{if(f)return;if(p(a)&&e.isItemExpanded(a))e.toggleItemExpansion(r,a),r.preventDefault();else{const x=e.getItemMeta(a).parentId;x&&(e.focusItem(r,x),r.preventDefault())}break}case c==="Home":{l(a)&&t.multiSelect&&f&&r.shiftKey?e.selectRangeFromStartToItem(r,a):e.focusItem(r,pe(e)),r.preventDefault();break}case c==="End":{l(a)&&t.multiSelect&&f&&r.shiftKey?e.selectRangeFromItemToEnd(r,a):e.focusItem(r,at(e)),r.preventDefault();break}case c==="*":{e.expandAllSiblings(r,a),r.preventDefault();break}case(String.fromCharCode(r.keyCode)==="A"&&f&&t.multiSelect&&!t.disableSelection):{e.selectAllNavigableItems(r),r.preventDefault();break}case(!f&&!r.shiftKey&&wo(c)):{const x=I(a,c);x!=null&&(e.focusItem(r,x),r.preventDefault());break}}}}}};ut.params={};const pt=({slots:e,slotProps:t})=>({contextValue:{icons:{slots:{collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,endIcon:e.endIcon},slotProps:{collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,endIcon:t.endIcon}}}});pt.params={};const vo=[Ie,Ee,we,Ve,ut,pt,K];function ft(e){const{instance:t,items:{onItemClick:o},selection:{multiSelect:n,checkboxSelection:i,disableSelection:g},expansion:{expansionTrigger:I}}=ne(),l=t.isItemExpandable(e),p=t.isItemExpanded(e),d=t.isItemFocused(e),r=t.isItemSelected(e),a=t.isItemDisabled(e),f=t!=null&&t.isItemBeingEdited?t==null?void 0:t.isItemBeingEdited(e):!1,c=t.isItemEditable?t.isItemEditable(e):!1,x=C=>{if(!a){d||t.focusItem(C,e);const S=n&&(C.shiftKey||C.ctrlKey||C.metaKey);l&&!(S&&t.isItemExpanded(e))&&t.toggleItemExpansion(C,e)}},m=C=>{a||(d||t.focusItem(C,e),n&&(C.shiftKey||C.ctrlKey||C.metaKey)?C.shiftKey?t.expandSelectionRange(C,e):t.selectItem({event:C,itemId:e,keepExistingSelection:!0}):t.selectItem({event:C,itemId:e,shouldBeSelected:!0}))},u=C=>{if(g||a)return;const S=C.nativeEvent.shiftKey;n&&S?t.expandSelectionRange(C,e):t.selectItem({event:C,itemId:e,keepExistingSelection:n,shouldBeSelected:C.target.checked})},b=C=>{(C.shiftKey||C.ctrlKey||C.metaKey||a)&&C.preventDefault()},h=()=>{oe(t,K)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:a,expanded:p,selected:r,focused:d,editable:c,editing:f,disableSelection:g,checkboxSelection:i,handleExpansion:x,handleSelection:m,handleCheckboxSelection:u,handleContentClick:o,preventSelection:b,expansionTrigger:I,toggleItemEditing:h,handleSaveItemLabel:(C,S)=>{oe(t,K)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,S),h(),t.focusItem(C,e))},handleCancelItemLabelEditing:C=>{oe(t,K)&&t.isItemBeingEditedRef(e)&&(h(),t.focusItem(C,e))}}}const So=_.styled("div",{name:"MuiTreeItem2DragAndDropOverlay",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="action"})(({theme:e})=>({position:"absolute",left:0,display:"flex",top:0,bottom:0,right:0,pointerEvents:"none",variants:[{props:{action:"make-child"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderRadius:e.shape.borderRadius,backgroundColor:e.vars?`rgba(${e.vars.palette.primary.darkChannel} / ${e.vars.palette.action.focusOpacity})`:s.alpha(e.palette.primary.dark,e.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}}]}));function Fe(e){return e.action==null?null:v.jsx(So,P._extends({},e))}process.env.NODE_ENV!=="production"&&(Fe.propTypes={action:s.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:s.PropTypes.object});const It=_.styled("input",{name:"MuiTreeItem2",slot:"LabelInput",overridesResolver:(e,t)=>t.labelInput})(({theme:e})=>P._extends({},e.typography.body1,{width:"100%",backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${e.palette.primary.main}`}})),Ro=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown","dragAndDropOverlayProps","labelInputProps"],Ne=E.forwardRef(function(t,o){const{classes:n,className:i,displayIcon:g,expansionIcon:I,icon:l,label:p,itemId:d,onClick:r,onMouseDown:a,dragAndDropOverlayProps:f,labelInputProps:c}=t,x=W._objectWithoutPropertiesLoose(t,Ro),{disabled:m,expanded:u,selected:b,focused:h,editing:w,editable:k,disableSelection:C,checkboxSelection:S,handleExpansion:O,handleSelection:$,handleCheckboxSelection:U,handleContentClick:N,preventSelection:B,expansionTrigger:J,toggleItemEditing:q}=ft(d),z=l||I||g,G=E.useRef(null),Z=L=>{B(L),a&&a(L)},Q=L=>{var Y;N==null||N(L,d),!((Y=G.current)!=null&&Y.contains(L.target))&&(J==="content"&&O(L),S||$(L),r&&r(L))},H=L=>{L.defaultMuiPrevented||q()};return v.jsxs("div",P._extends({},x,{className:s.clsx(n.root,i,u&&n.expanded,b&&n.selected,h&&n.focused,m&&n.disabled,w&&n.editing,k&&n.editable),onClick:Q,onMouseDown:Z,ref:o,children:[v.jsx("div",{className:n.iconContainer,children:z}),S&&v.jsx(tt.Checkbox,{className:n.checkbox,checked:b,onChange:U,disabled:m||C,ref:G,tabIndex:-1}),w?v.jsx(It,P._extends({},c,{className:n.labelInput})):v.jsx("div",P._extends({className:n.label},k&&{onDoubleClick:H},{children:p})),f&&v.jsx(Fe,P._extends({},f))]}))});process.env.NODE_ENV!=="production"&&(Ne.propTypes={classes:s.PropTypes.object.isRequired,className:s.PropTypes.string,displayIcon:s.PropTypes.node,dragAndDropOverlayProps:s.PropTypes.shape({action:s.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:s.PropTypes.object}),expansionIcon:s.PropTypes.node,icon:s.PropTypes.node,itemId:s.PropTypes.string.isRequired,label:s.PropTypes.node,labelInputProps:s.PropTypes.shape({autoFocus:s.PropTypes.oneOf([!0]),"data-element":s.PropTypes.oneOf(["labelInput"]),onBlur:s.PropTypes.func,onChange:s.PropTypes.func,onKeyDown:s.PropTypes.func,type:s.PropTypes.oneOf(["text"]),value:s.PropTypes.string})});function mt(e){return s.generateUtilityClass("MuiTreeItem",e)}const X=s.generateUtilityClasses("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox","labelInput","editable","editing","dragAndDropOverlay"]),gt=ae.createSvgIcon(v.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"TreeViewExpandIcon"),bt=ae.createSvgIcon(v.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"TreeViewCollapseIcon");function ve(e){const{children:t,itemId:o}=e,{wrapItem:n,instance:i}=ne();return n({children:t,itemId:o,instance:i})}ve.propTypes={children:s.PropTypes.node,itemId:s.PropTypes.string.isRequired};const ko=["children","className","slots","slotProps","ContentComponent","ContentProps","itemId","id","label","onClick","onMouseDown","onFocus","onBlur","onKeyDown"],Mo=["ownerState"],Oo=["ownerState"],Do=["ownerState"],_o=_e(),jo=e=>{const{classes:t}=e,o={root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],labelInput:["labelInput"],editing:["editing"],editable:["editable"],groupTransition:["groupTransition"]};return _.composeClasses(o,mt,t)},Lo=_.styled("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),Ao=_.styled(Ne,{name:"MuiTreeItem",slot:"Content",overridesResolver:(e,t)=>[t.content,t.iconContainer&&{[`& .${X.iconContainer}`]:t.iconContainer},t.label&&{[`& .${X.label}`]:t.label}],shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${X.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${X.focused}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${X.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${X.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`& .${X.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${X.label}`]:P._extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},e.typography.body1),[`& .${X.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]})),Vo=_.styled(et.Collapse,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),xt=E.forwardRef(function(t,o){var Ue,ze,We,Ge;const{icons:n,runItemPlugins:i,items:{disabledItemsFocusable:g,indentationAtItemLevel:I},selection:{disableSelection:l},expansion:{expansionTrigger:p},treeId:d,instance:r}=ne(),a=E.useContext(Ce),f=_o({props:t,name:"MuiTreeItem"}),{children:c,className:x,slots:m,slotProps:u,ContentComponent:b=Ne,ContentProps:h,itemId:w,id:k,label:C,onClick:S,onMouseDown:O,onBlur:$,onKeyDown:U}=f,N=W._objectWithoutPropertiesLoose(f,ko),{expanded:B,focused:J,selected:q,disabled:z,editing:G,handleExpansion:Z,handleCancelItemLabelEditing:Q,handleSaveItemLabel:H}=ft(w);process.env.NODE_ENV!=="production"&&(f.ContentComponent&&Pe.warnOnce(["MUI X: The ContentComponent prop of the TreeItem component is deprecated and will be removed in the next major release.","You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.","For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/."]),f.ContentProps&&Pe.warnOnce(["MUI X: The ContentProps prop of the TreeItem component is deprecated and will be removed in the next major release.","You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.","For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/."]));const{contentRef:L,rootRef:Y,propsEnhancers:A}=i(f),ee=E.useRef(null),Se=E.useRef(null),$e=ue.useForkRef(o,Y,ee),Be=ue.useForkRef(h==null?void 0:h.ref,L,Se),re={expandIcon:(m==null?void 0:m.expandIcon)??n.slots.expandIcon??gt,collapseIcon:(m==null?void 0:m.collapseIcon)??n.slots.collapseIcon??bt,endIcon:(m==null?void 0:m.endIcon)??n.slots.endIcon,icon:m==null?void 0:m.icon,groupTransition:m==null?void 0:m.groupTransition},Re=M=>Array.isArray(M)?M.length>0&&M.some(Re):!!M,ce=Re(c),me=P._extends({},f,{expanded:B,focused:J,selected:q,disabled:z,indentationAtItemLevel:I}),T=jo(me),y=re.groupTransition??void 0,R=V.useSlotProps({elementType:y,ownerState:{},externalSlotProps:u==null?void 0:u.groupTransition,additionalProps:P._extends({unmountOnExit:!0,in:B,component:"ul",role:"group"},I?{indentationAtItemLevel:!0}:{}),className:T.groupTransition}),D=M=>{p==="iconContainer"&&Z(M)},F=B?re.collapseIcon:re.expandIcon,te=V.useSlotProps({elementType:F,ownerState:{},externalSlotProps:M=>B?P._extends({},j.resolveComponentProps(n.slotProps.collapseIcon,M),j.resolveComponentProps(u==null?void 0:u.collapseIcon,M)):P._extends({},j.resolveComponentProps(n.slotProps.expandIcon,M),j.resolveComponentProps(u==null?void 0:u.expandIcon,M)),additionalProps:{onClick:D}}),ge=W._objectWithoutPropertiesLoose(te,Mo),be=ce&&F?v.jsx(F,P._extends({},ge)):null,ke=ce?void 0:re.endIcon,Mt=V.useSlotProps({elementType:ke,ownerState:{},externalSlotProps:M=>ce?{}:P._extends({},j.resolveComponentProps(n.slotProps.endIcon,M),j.resolveComponentProps(u==null?void 0:u.endIcon,M))}),Ot=W._objectWithoutPropertiesLoose(Mt,Oo),Dt=ke?v.jsx(ke,P._extends({},Ot)):null,Me=re.icon,_t=V.useSlotProps({elementType:Me,ownerState:{},externalSlotProps:u==null?void 0:u.icon}),jt=W._objectWithoutPropertiesLoose(_t,Do),Lt=Me?v.jsx(Me,P._extends({},jt)):null;let xe;q?xe=!0:l||z?xe=void 0:xe=!1;function At(M){!J&&(!z||g)&&M.currentTarget===M.target&&r.focusItem(M,w)}function Vt(M){var se,de,Xe,Je;$==null||$(M),!(G||M.relatedTarget&&fe(M.relatedTarget,ee.current)&&(M.target&&((de=(se=M.target)==null?void 0:se.dataset)==null?void 0:de.element)==="labelInput"&&fe(M.target,ee.current)||((Je=(Xe=M.relatedTarget)==null?void 0:Xe.dataset)==null?void 0:Je.element)==="labelInput"))&&r.removeFocusedItem()}const Ft=M=>{var se,de;U==null||U(M),((de=(se=M.target)==null?void 0:se.dataset)==null?void 0:de.element)!=="labelInput"&&r.handleItemKeyDown(M,w)},Nt=je({itemId:w,treeId:d,id:k}),$t=r.canItemBeTabbed(w)?0:-1,he={rootRefObject:ee,contentRefObject:Se,interactions:{handleSaveItemLabel:H,handleCancelItemLabelEditing:Q}},Bt=((Ue=A.root)==null?void 0:Ue.call(A,P._extends({},he,{externalEventHandlers:j.extractEventHandlers(N)})))??{},Kt=((ze=A.content)==null?void 0:ze.call(A,P._extends({},he,{externalEventHandlers:j.extractEventHandlers(h)})))??{},Ke=((We=A.dragAndDropOverlay)==null?void 0:We.call(A,P._extends({},he,{externalEventHandlers:{}})))??{},qe=((Ge=A.labelInput)==null?void 0:Ge.call(A,P._extends({},he,{externalEventHandlers:{}})))??{};return v.jsx(ve,{itemId:w,children:v.jsxs(Lo,P._extends({className:s.clsx(T.root,x),role:"treeitem","aria-expanded":ce?B:void 0,"aria-selected":xe,"aria-disabled":z||void 0,id:Nt,tabIndex:$t},N,{ownerState:me,onFocus:At,onBlur:Vt,onKeyDown:Ft,ref:$e,style:I?P._extends({},N.style,{"--TreeView-itemDepth":typeof a=="function"?a(w):a}):N.style},Bt,{children:[v.jsx(Ao,P._extends({as:b,classes:{root:T.content,expanded:T.expanded,selected:T.selected,focused:T.focused,disabled:T.disabled,editable:T.editable,editing:T.editing,iconContainer:T.iconContainer,label:T.label,labelInput:T.labelInput,checkbox:T.checkbox},label:C,itemId:w,onClick:S,onMouseDown:O,icon:Lt,expansionIcon:be,displayIcon:Dt,ownerState:me},h,Kt,Ke.action==null?{}:{dragAndDropOverlayProps:Ke},qe.value==null?{}:{labelInputProps:qe},{ref:Be})),c&&v.jsx(Vo,P._extends({as:y},R,{children:c}))]}))})});process.env.NODE_ENV!=="production"&&(xt.propTypes={children:s.PropTypes.node,classes:s.PropTypes.object,className:s.PropTypes.string,ContentComponent:Wt.elementTypeAcceptingRef,ContentProps:s.PropTypes.object,disabled:s.PropTypes.bool,itemId:s.PropTypes.string.isRequired,label:s.PropTypes.node,onFocus:ot.unsupportedProp,onKeyDown:s.PropTypes.func,slotProps:s.PropTypes.object,slots:s.PropTypes.object,sx:s.PropTypes.oneOfType([s.PropTypes.arrayOf(s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object,s.PropTypes.bool])),s.PropTypes.func,s.PropTypes.object])});const Fo=["ownerState"];function No({slots:e,slotProps:t,label:o,id:n,itemId:i,itemsToRender:g}){const I=(e==null?void 0:e.item)??xt,l=V.useSlotProps({elementType:I,externalSlotProps:t==null?void 0:t.item,additionalProps:{itemId:i,id:n,label:o},ownerState:{itemId:i,label:o}}),p=W._objectWithoutPropertiesLoose(l,Fo),d=E.useMemo(()=>g?v.jsx(ht,{itemsToRender:g,slots:e,slotProps:t}):null,[g,e,t]);return v.jsx(I,P._extends({},p,{children:d}))}function ht(e){const{itemsToRender:t,slots:o,slotProps:n}=e;return v.jsx(E.Fragment,{children:t.map(i=>v.jsx(No,{slots:o,slotProps:n,label:i.label,id:i.id,itemId:i.itemId,itemsToRender:i.children},i.itemId))})}const $o=_e(),Bo=e=>{const{classes:t}=e,o={root:["root"]};return _.composeClasses(o,Yt,t)},Ko=_.styled("ul",{name:"MuiRichTreeView",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),yt=E.forwardRef(function(t,o){const n=$o({props:t,name:"MuiRichTreeView"});process.env.NODE_ENV!=="production"&&n.children!=null&&Pe.warnOnce(["MUI X: The Rich Tree View component does not support JSX children.","If you want to add items, you need to use the `items` prop.","Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/."]);const{getRootProps:i,contextValue:g,instance:I}=lo({plugins:vo,rootRef:o,props:n}),{slots:l,slotProps:p}=n,d=Bo(n),r=(l==null?void 0:l.root)??Ko,a=V.useSlotProps({elementType:r,externalSlotProps:p==null?void 0:p.root,className:d.root,getSlotProps:i,ownerState:n});return v.jsx(ao,{value:g,children:v.jsx(r,P._extends({},a,{children:v.jsx(ht,{slots:l,slotProps:p,itemsToRender:I.getItemsToRender()})}))})});process.env.NODE_ENV!=="production"&&(yt.propTypes={apiRef:s.PropTypes.shape({current:s.PropTypes.shape({focusItem:s.PropTypes.func.isRequired,getItem:s.PropTypes.func.isRequired,getItemDOMElement:s.PropTypes.func.isRequired,getItemOrderedChildrenIds:s.PropTypes.func.isRequired,getItemTree:s.PropTypes.func.isRequired,selectItem:s.PropTypes.func.isRequired,setItemExpansion:s.PropTypes.func.isRequired,updateItemLabel:s.PropTypes.func.isRequired})}),checkboxSelection:s.PropTypes.bool,classes:s.PropTypes.object,className:s.PropTypes.string,defaultExpandedItems:s.PropTypes.arrayOf(s.PropTypes.string),defaultSelectedItems:s.PropTypes.any,disabledItemsFocusable:s.PropTypes.bool,disableSelection:s.PropTypes.bool,expandedItems:s.PropTypes.arrayOf(s.PropTypes.string),expansionTrigger:s.PropTypes.oneOf(["content","iconContainer"]),experimentalFeatures:s.PropTypes.shape({indentationAtItemLevel:s.PropTypes.bool,labelEditing:s.PropTypes.bool}),getItemId:s.PropTypes.func,getItemLabel:s.PropTypes.func,id:s.PropTypes.string,isItemDisabled:s.PropTypes.func,isItemEditable:s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.bool]),itemChildrenIndentation:s.PropTypes.oneOfType([s.PropTypes.number,s.PropTypes.string]),items:s.PropTypes.array.isRequired,multiSelect:s.PropTypes.bool,onExpandedItemsChange:s.PropTypes.func,onItemClick:s.PropTypes.func,onItemExpansionToggle:s.PropTypes.func,onItemFocus:s.PropTypes.func,onItemLabelChange:s.PropTypes.func,onItemSelectionToggle:s.PropTypes.func,onSelectedItemsChange:s.PropTypes.func,selectedItems:s.PropTypes.any,slotProps:s.PropTypes.object,slots:s.PropTypes.object,sx:s.PropTypes.oneOfType([s.PropTypes.arrayOf(s.PropTypes.oneOfType([s.PropTypes.func,s.PropTypes.object,s.PropTypes.bool])),s.PropTypes.func,s.PropTypes.object])});const Tt=e=>Array.isArray(e)?e.length>0&&e.some(Tt):!!e,qo=({itemId:e,children:t})=>{const{instance:o,selection:{multiSelect:n},publicAPI:i}=ne(),g={expandable:Tt(t),expanded:o.isItemExpanded(e),focused:o.isItemFocused(e),selected:o.isItemSelected(e),disabled:o.isItemDisabled(e),editing:o!=null&&o.isItemBeingEdited?o==null?void 0:o.isItemBeingEdited(e):!1,editable:o.isItemEditable?o.isItemEditable(e):!1},I=c=>{if(g.disabled)return;g.focused||o.focusItem(c,e);const x=n&&(c.shiftKey||c.ctrlKey||c.metaKey);g.expandable&&!(x&&o.isItemExpanded(e))&&o.toggleItemExpansion(c,e)},l=c=>{if(g.disabled)return;g.focused||o.focusItem(c,e),n&&(c.shiftKey||c.ctrlKey||c.metaKey)?c.shiftKey?o.expandSelectionRange(c,e):o.selectItem({event:c,itemId:e,keepExistingSelection:!0}):o.selectItem({event:c,itemId:e,shouldBeSelected:!0})},p=c=>{const x=c.nativeEvent.shiftKey;n&&x?o.expandSelectionRange(c,e):o.selectItem({event:c,itemId:e,keepExistingSelection:n,shouldBeSelected:c.target.checked})},d=()=>{oe(o,K)&&o.isItemEditable(e)&&(o.isItemBeingEdited(e)?o.setEditedItemId(null):o.setEditedItemId(e))};return{interactions:{handleExpansion:I,handleSelection:l,handleCheckboxSelection:p,toggleItemEditing:d,handleSaveItemLabel:(c,x)=>{oe(o,K)&&o.isItemBeingEditedRef(e)&&(o.updateItemLabel(e,x),d(),o.focusItem(c,e))},handleCancelItemLabelEditing:c=>{oe(o,K)&&o.isItemBeingEditedRef(e)&&(d(),o.focusItem(c,e))}},status:g,publicAPI:i}},Uo=e=>{const{runItemPlugins:t,items:{onItemClick:o,disabledItemsFocusable:n,indentationAtItemLevel:i},selection:{disableSelection:g,checkboxSelection:I},expansion:{expansionTrigger:l},treeId:p,instance:d,publicAPI:r}=ne(),a=E.useContext(Ce),{id:f,itemId:c,label:x,children:m,rootRef:u}=e,{rootRef:b,contentRef:h,propsEnhancers:w}=t(e),{interactions:k,status:C}=qo({itemId:c,children:m}),S=E.useRef(null),O=E.useRef(null),$=ue.useForkRef(u,b,S),U=ue.useForkRef(h,O),N=E.useRef(null),B=je({itemId:c,treeId:p,id:f}),J=d.canItemBeTabbed(c)?0:-1,q={rootRefObject:S,contentRefObject:O,interactions:k},z=T=>y=>{var D;if((D=T.onFocus)==null||D.call(T,y),y.defaultMuiPrevented)return;const R=!C.disabled||n;!C.focused&&R&&y.currentTarget===y.target&&d.focusItem(y,c)},G=T=>y=>{var D,F,te,ge,be;if((D=T.onBlur)==null||D.call(T,y),y.defaultMuiPrevented)return;const R=d.getItemDOMElement(c);C.editing||y.relatedTarget&&fe(y.relatedTarget,R)&&(y.target&&((te=(F=y.target)==null?void 0:F.dataset)==null?void 0:te.element)==="labelInput"&&fe(y.target,R)||((be=(ge=y.relatedTarget)==null?void 0:ge.dataset)==null?void 0:be.element)==="labelInput")||d.removeFocusedItem()},Z=T=>y=>{var R,D,F;(R=T.onKeyDown)==null||R.call(T,y),!(y.defaultMuiPrevented||((F=(D=y.target)==null?void 0:D.dataset)==null?void 0:F.element)==="labelInput")&&d.handleItemKeyDown(y,c)},Q=T=>y=>{var R;(R=T.onDoubleClick)==null||R.call(T,y),!y.defaultMuiPrevented&&k.toggleItemEditing()},H=T=>y=>{var R,D;(R=T.onClick)==null||R.call(T,y),o==null||o(y,c),!(y.defaultMuiPrevented||(D=N.current)!=null&&D.contains(y.target))&&(l==="content"&&k.handleExpansion(y),I||k.handleSelection(y))},L=T=>y=>{var R;(R=T.onMouseDown)==null||R.call(T,y),!y.defaultMuiPrevented&&(y.shiftKey||y.ctrlKey||y.metaKey||C.disabled)&&y.preventDefault()},Y=T=>y=>{var R;(R=T.onChange)==null||R.call(T,y),!y.defaultMuiPrevented&&(g||C.disabled||k.handleCheckboxSelection(y))},A=T=>y=>{var R;(R=T.onClick)==null||R.call(T,y),!y.defaultMuiPrevented&&l==="iconContainer"&&k.handleExpansion(y)};return{getRootProps:(T={})=>{var te;const y=P._extends({},j.extractEventHandlers(e),j.extractEventHandlers(T));let R;C.selected?R=!0:g||C.disabled?R=void 0:R=!1;const D=P._extends({},y,{ref:$,role:"treeitem",tabIndex:J,id:B,"aria-expanded":C.expandable?C.expanded:void 0,"aria-selected":R,"aria-disabled":C.disabled||void 0},T,{onFocus:z(y),onBlur:G(y),onKeyDown:Z(y)});i&&(D.style={"--TreeView-itemDepth":typeof a=="function"?a(c):a});const F=((te=w.root)==null?void 0:te.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},D,F)},getContentProps:(T={})=>{var F;const y=j.extractEventHandlers(T),R=P._extends({},y,T,{ref:U,onClick:H(y),onMouseDown:L(y),status:C});i&&(R.indentationAtItemLevel=!0);const D=((F=w.content)==null?void 0:F.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},R,D)},getGroupTransitionProps:(T={})=>{const y=j.extractEventHandlers(T),R=P._extends({},y,{unmountOnExit:!0,component:"ul",role:"group",in:C.expanded,children:m},T);return i&&(R.indentationAtItemLevel=!0),R},getIconContainerProps:(T={})=>{const y=j.extractEventHandlers(T);return P._extends({},y,T,{onClick:A(y)})},getCheckboxProps:(T={})=>{const y=j.extractEventHandlers(T);return P._extends({},y,{visible:I,ref:N,checked:C.selected,disabled:g||C.disabled,tabIndex:-1},T,{onChange:Y(y)})},getLabelProps:(T={})=>{const y=P._extends({},j.extractEventHandlers(T)),R=P._extends({},y,{children:x},T,{onDoubleClick:Q(y)});return d.isTreeViewEditable&&(R.editable=C.editable),R},getLabelInputProps:(T={})=>{var D;const y=j.extractEventHandlers(T),R=((D=w.labelInput)==null?void 0:D.call(w,{rootRefObject:S,contentRefObject:O,externalEventHandlers:y,interactions:k}))??{};return P._extends({},T,R)},getDragAndDropOverlayProps:(T={})=>{var D;const y=j.extractEventHandlers(T),R=((D=w.dragAndDropOverlay)==null?void 0:D.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},T,R)},rootRef:$,status:C,publicAPI:r}},Pt=Uo;function Ct(e){const{slots:t,slotProps:o,status:n}=e,i=ne(),g=P._extends({},i.icons.slots,{expandIcon:i.icons.slots.expandIcon??gt,collapseIcon:i.icons.slots.collapseIcon??bt}),I=i.icons.slotProps;let l;t!=null&&t.icon?l="icon":n.expandable?n.expanded?l="collapseIcon":l="expandIcon":l="endIcon";const p=(t==null?void 0:t[l])??g[l],d=V.useSlotProps({elementType:p,externalSlotProps:r=>P._extends({},j.resolveComponentProps(I[l],r),j.resolveComponentProps(o==null?void 0:o[l],r)),ownerState:{}});return p?v.jsx(p,P._extends({},d)):null}process.env.NODE_ENV!=="production"&&(Ct.propTypes={slotProps:s.PropTypes.object,slots:s.PropTypes.object,status:s.PropTypes.shape({disabled:s.PropTypes.bool.isRequired,editable:s.PropTypes.bool.isRequired,editing:s.PropTypes.bool.isRequired,expandable:s.PropTypes.bool.isRequired,expanded:s.PropTypes.bool.isRequired,focused:s.PropTypes.bool.isRequired,selected:s.PropTypes.bool.isRequired}).isRequired});const zo=["visible"],Wo=["id","itemId","label","disabled","children","slots","slotProps"],Go=_e(),Et=_.styled("li",{name:"MuiTreeItem2",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),wt=_.styled("div",{name:"MuiTreeItem2",slot:"Content",overridesResolver:(e,t)=>t.content,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="status"&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}},{props:({status:t})=>t.disabled,style:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"}},{props:({status:t})=>t.focused,style:{backgroundColor:(e.vars||e).palette.action.focus}},{props:({status:t})=>t.selected,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},{props:({status:t})=>t.selected&&t.focused,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:s.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}]})),vt=_.styled("div",{name:"MuiTreeItem2",slot:"Label",overridesResolver:(e,t)=>t.label,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="editable"})(({theme:e})=>P._extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},e.typography.body1,{variants:[{props:({editable:t})=>t,style:{paddingLeft:"2px"}}]})),St=_.styled("div",{name:"MuiTreeItem2",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}}),Rt=_.styled(et.Collapse,{name:"MuiTreeItem2",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),Xo=_.styled(E.forwardRef((e,t)=>{const{visible:o}=e,n=W._objectWithoutPropertiesLoose(e,zo);return o?v.jsx(tt.Checkbox,P._extends({},n,{ref:t})):null}),{name:"MuiTreeItem2",slot:"Checkbox",overridesResolver:(e,t)=>t.checkbox})({padding:0}),Jo=e=>{const{classes:t}=e,o={root:["root"],content:["content"],expanded:["expanded"],editing:["editing"],editable:["editable"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],groupTransition:["groupTransition"],labelInput:["labelInput"],dragAndDropOverlay:["dragAndDropOverlay"]};return _.composeClasses(o,mt,t)},Qo=E.forwardRef(function(t,o){const n=Go({props:t,name:"MuiTreeItem2"}),{id:i,itemId:g,label:I,disabled:l,children:p,slots:d={},slotProps:r={}}=n,a=W._objectWithoutPropertiesLoose(n,Wo),{getRootProps:f,getContentProps:c,getIconContainerProps:x,getCheckboxProps:m,getLabelProps:u,getGroupTransitionProps:b,getLabelInputProps:h,getDragAndDropOverlayProps:w,status:k}=Pt({id:i,itemId:g,children:p,label:I,disabled:l}),C=P._extends({},n,k),S=Jo(C),O=d.root??Et,$=V.useSlotProps({elementType:O,getSlotProps:f,externalForwardedProps:a,externalSlotProps:r.root,additionalProps:{ref:o},ownerState:{},className:S.root}),U=d.content??wt,N=V.useSlotProps({elementType:U,getSlotProps:c,externalSlotProps:r.content,ownerState:{},className:s.clsx(S.content,k.expanded&&S.expanded,k.selected&&S.selected,k.focused&&S.focused,k.disabled&&S.disabled,k.editing&&S.editing,k.editable&&S.editable)}),B=d.iconContainer??St,J=V.useSlotProps({elementType:B,getSlotProps:x,externalSlotProps:r.iconContainer,ownerState:{},className:S.iconContainer}),q=d.label??vt,z=V.useSlotProps({elementType:q,getSlotProps:u,externalSlotProps:r.label,ownerState:{},className:S.label}),G=d.checkbox??Xo,Z=V.useSlotProps({elementType:G,getSlotProps:m,externalSlotProps:r.checkbox,ownerState:{},className:S.checkbox}),Q=d.groupTransition??void 0,H=V.useSlotProps({elementType:Q,getSlotProps:b,externalSlotProps:r.groupTransition,ownerState:{},className:S.groupTransition}),L=d.labelInput??It,Y=V.useSlotProps({elementType:L,getSlotProps:h,externalSlotProps:r.labelInput,ownerState:{},className:S.labelInput}),A=d.dragAndDropOverlay??Fe,ee=V.useSlotProps({elementType:A,getSlotProps:w,externalSlotProps:r.dragAndDropOverlay,ownerState:{},className:S.dragAndDropOverlay});return v.jsx(ve,{itemId:g,children:v.jsxs(O,P._extends({},$,{children:[v.jsxs(U,P._extends({},N,{children:[v.jsx(B,P._extends({},J,{children:v.jsx(Ct,{status:k,slots:d,slotProps:r})})),v.jsx(G,P._extends({},Z)),k.editing?v.jsx(L,P._extends({},Y)):v.jsx(q,P._extends({},z)),v.jsx(A,P._extends({},ee))]})),p&&v.jsx(Rt,P._extends({as:Q},H))]}))})});process.env.NODE_ENV!=="production"&&(Qo.propTypes={children:s.PropTypes.node,classes:s.PropTypes.object,className:s.PropTypes.string,disabled:s.PropTypes.bool,id:s.PropTypes.string,itemId:s.PropTypes.string.isRequired,label:s.PropTypes.node,onBlur:s.PropTypes.func,onFocus:ot.unsupportedProp,onKeyDown:s.PropTypes.func,slotProps:s.PropTypes.object,slots:s.PropTypes.object});var kt=(e=>(e.FOLDER="FOLDER",e.SHARE="SHARE",e.TRASH="TRASH",e.CUSTOM="CUSTOM",e))(kt||{});const Yo=(e,t)=>{if(!e)return Oe;if(typeof e!="string")return e;switch(e){case"SHARE":return Qt;case"TRASH":return qt.DeleteIcon;case"CUSTOM":return t||Oe;case"FOLDER":default:return Oe}},Zo=He.forwardRef(function(t,o){const{id:n,itemId:i,label:g,disabled:I,children:l,itemData:p,iconColor:d="primary"}=t,r=Yo(p==null?void 0:p.iconType,p==null?void 0:p.customIcon),{getRootProps:a,getContentProps:f,getLabelProps:c,getGroupTransitionProps:x,getIconContainerProps:m,status:u}=Pt({id:n,itemId:i,label:g,disabled:I,children:l,rootRef:o});return v.jsx(ve,{itemId:i,children:v.jsxs(Et,{...a(),children:[v.jsxs(wt,{...f(),style:{display:"flex",alignItems:"center",width:"100%"},children:[v.jsx(St,{...m(),children:v.jsx(r,{fontSize:"small",color:d})}),v.jsx(vt,{...c()}),v.jsx(Ze.Box,{sx:{display:"flex",marginLeft:"auto"},children:u.expandable&&(u.expanded?v.jsx(Xt,{fontSize:"small"}):v.jsx(Jt,{fontSize:"small"}))})]}),l&&v.jsx(Rt,{...x(),style:u.expanded?{borderLeft:"1px solid #bdbdbd",paddingLeft:"12px",marginLeft:"15px",marginTop:"4px",marginBottom:"4px"}:void 0})]})})}),Ho=e=>e.internalId,en=({items:e,onItemSelect:t,iconColor:o="primary"})=>v.jsx(Ze.Box,{sx:{minHeight:200,minWidth:200},children:v.jsx(yt,{items:e,itemChildrenIndentation:"50px",getItemId:Ho,onItemClick:(n,i)=>{t&&t(n,i)},slots:{item:n=>v.jsx(Zo,{...n,itemData:n.itemData,iconColor:o})}})});exports.ICON_TYPE=kt;exports.default=en;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react/jsx-runtime"),Ut=require("../../Delete-DmeDAs0n.cjs"),ae=require("../../createSvgIcon-DJMYlO0S.cjs"),He=require("../../Box-DYA49L7w.cjs"),P=require("../../ButtonBase-D6tfI-8D.cjs"),ue=require("react"),Ce=require("../../warning-DMUNDgRg.cjs"),pe=require("../../useForkRef-CTI33h-3.cjs"),j=require("../../resolveComponentProps-PuUs-PsA.cjs"),i=require("../../generateUtilityClasses-De8NU9_E.cjs"),W=require("../../TransitionGroupContext-Zt4NoR0u.cjs"),zt=require("../../useThemeProps-DxBEHys5.cjs"),_=require("../../DefaultPropsProvider-wpBXjN8r.cjs"),et=require("../../Collapse-Bvxtq7n-.cjs"),tt=require("../../Checkbox-DQgPXaym.cjs"),nt=require("../../unsupportedProp-Bn6XWqwH.cjs"),V=require("../../useSlotProps-CvOxvhyy.cjs"),le=require("../../useEventCallback-C0-Qw3Sm.cjs"),Wt=require("../../ownerDocument-4MViGo3k.cjs"),Gt=require("../../elementTypeAcceptingRef-BjgxF5Bq.cjs");function Xt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const E=Xt(ue),De=ae.createSvgIcon(v.jsx("path",{d:"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z"}),"Folder"),Jt=ae.createSvgIcon(v.jsx("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown"),Qt=ae.createSvgIcon(v.jsx("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z"}),"KeyboardArrowRight"),Yt=ae.createSvgIcon(v.jsx("path",{d:"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92s2.92-1.31 2.92-2.92-1.31-2.92-2.92-2.92"}),"Share");function Zt(e){return i.generateUtilityClass("MuiRichTreeView",e)}i.generateUtilityClasses("MuiRichTreeView",["root"]);function je(e){return zt.useThemeProps}const Ht=(e,t)=>{const n=E.useRef({}),[o,s]=E.useState(()=>{const I={};return e.forEach(c=>{c.models&&Object.entries(c.models).forEach(([u,d])=>{n.current[u]={isControlled:t[u]!==void 0,getDefaultValue:d.getDefaultValue},I[u]=d.getDefaultValue(t)})}),I}),g=Object.fromEntries(Object.entries(n.current).map(([I,c])=>{const u=t[I]??o[I];return[I,{value:u,setControlledValue:d=>{c.isControlled||s(r=>P._extends({},r,{[I]:d}))}}]}));return process.env.NODE_ENV!=="production"&&Object.entries(n.current).forEach(([I,c])=>{const u=t[I],d=c.getDefaultValue(t);E.useEffect(()=>{c.isControlled!==(u!==void 0)&&console.error([`MUI X: A component is changing the ${c.isControlled?"":"un"}controlled ${I} state of TreeView to be ${c.isControlled?"un":""}controlled.`,"Elements should not switch from uncontrolled to controlled (or vice versa).",`Decide between using a controlled or uncontrolled ${I} element for the lifetime of the component.`,"The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.","More info: https://fb.me/react-controlled-components"].join(`
|
|
2
|
+
`))},[u]);const{current:r}=E.useRef(d);E.useEffect(()=>{!c.isControlled&&r!==d&&console.error([`MUI X: A component is changing the default ${I} state of an uncontrolled TreeView after being initialized. To suppress this warning opt to use a controlled TreeView.`].join(`
|
|
3
|
+
`))},[JSON.stringify(d)])}),g};class en{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,n,o={}){let s=this.events[t];if(s||(s={highPriority:new Map,regular:new Map},this.events[t]=s),o.isFirst?s.highPriority.set(n,!0):s.regular.set(n,!0),process.env.NODE_ENV!=="production"){const g=s.highPriority.size+s.regular.size;g>this.maxListeners&&!this.warnOnce&&(this.warnOnce=!0,console.warn([`Possible EventEmitter memory leak detected. ${g} ${t} listeners added.`].join(`
|
|
4
|
+
`)))}}removeListener(t,n){this.events[t]&&(this.events[t].regular.delete(n),this.events[t].highPriority.delete(n))}removeAllListeners(){this.events={}}emit(t,...n){const o=this.events[t];if(!o)return;const s=Array.from(o.highPriority.keys()),g=Array.from(o.regular.keys());for(let I=s.length-1;I>=0;I-=1){const c=s[I];o.highPriority.has(c)&&c.apply(this,n)}for(let I=0;I<g.length;I+=1){const c=g[I];o.regular.has(c)&&c.apply(this,n)}}once(t,n){const o=this;this.on(t,function s(...g){o.removeListener(t,s),n.apply(o,g)})}}const tn=e=>e.isPropagationStopped!==void 0,ot=()=>{const[e]=E.useState(()=>new en),t=E.useCallback((...o)=>{const[s,g,I={}]=o;I.defaultMuiPrevented=!1,!(tn(I)&&I.isPropagationStopped())&&e.emit(s,g,I)},[e]),n=E.useCallback((o,s)=>(e.on(o,s),()=>{e.removeListener(o,s)}),[e]);return{instance:{$$publishEvent:t,$$subscribeEvent:n}}};ot.params={};const rt=({plugins:e})=>{const t=new Set(e);return{instance:{getAvailablePlugins:()=>t}}};rt.params={};let Ye=0;const nn=()=>(Ye+=1,`mui-tree-view-${Ye}`),Le=({id:e,treeId:t="",itemId:n})=>e??`${t}-${n}`,Ae=({params:e,state:t,setState:n})=>{E.useEffect(()=>{n(s=>s.id.treeId===e.id&&s.id.treeId!==void 0?s:P._extends({},s,{id:P._extends({},s.id,{treeId:e.id??nn()})}))},[n,e.id]);const o=e.id??t.id.treeId;return{getRootProps:()=>({id:o}),contextValue:{treeId:o}}};Ae.params={id:!0};Ae.getInitialState=({id:e})=>({id:{treeId:e??void 0}});const on=[ot,rt,Ae],rn=["slots","slotProps","apiRef","experimentalFeatures"],sn=e=>{let{props:{slots:t,slotProps:n,apiRef:o,experimentalFeatures:s},plugins:g}=e,I=W._objectWithoutPropertiesLoose(e.props,rn);const c={};g.forEach(f=>{Object.assign(c,f.params)});const u={},d={};Object.keys(I).forEach(f=>{const a=I[f];c[f]?u[f]=a:d[f]=a});const r=s??{},l=g.reduce((f,a)=>a.getDefaultizedParams?a.getDefaultizedParams({params:f,experimentalFeatures:r}):f,u);return{apiRef:o,forwardedProps:d,pluginParams:l,slots:t??{},slotProps:n??{},experimentalFeatures:r}},ln=({plugins:e,instance:t,publicAPI:n,rootRef:o})=>({runItemPlugins:c=>{let u=null,d=null;const r=[],l={};e.forEach(h=>{if(!h.itemPlugin)return;const m=h.itemPlugin({props:c,rootRef:u,contentRef:d});m!=null&&m.rootRef&&(u=m.rootRef),m!=null&&m.contentRef&&(d=m.contentRef),m!=null&&m.propsEnhancers&&(r.push(m.propsEnhancers),Object.keys(m.propsEnhancers).forEach(p=>{l[p]=!0}))});const f=h=>m=>{const p={};return r.forEach(b=>{const x=b[h];x!=null&&Object.assign(p,x(m))}),p},a=Object.fromEntries(Object.keys(l).map(h=>[h,f(h)]));return{contentRef:d,rootRef:u,propsEnhancers:a}},wrapItem:({itemId:c,children:u})=>{let d=u;for(let r=e.length-1;r>=0;r-=1){const l=e[r];l.wrapItem&&(d=l.wrapItem({itemId:c,children:d,instance:t}))}return d},wrapRoot:({children:c})=>{let u=c;for(let d=e.length-1;d>=0;d-=1){const r=e[d];r.wrapRoot&&(u=r.wrapRoot({children:u,instance:t}))}return u},instance:t,rootRef:o,publicAPI:n});function an(e){const t=E.useRef({});return e?(e.current==null&&(e.current={}),e.current):t.current}const cn=({plugins:e,rootRef:t,props:n})=>{const o=[...on,...e],{pluginParams:s,forwardedProps:g,apiRef:I,experimentalFeatures:c,slots:u,slotProps:d}=sn({plugins:o,props:n}),r=Ht(o,s),f=E.useRef({}).current,a=an(I),h=E.useRef(null),m=pe.useForkRef(h,t),p=ln({plugins:o,instance:f,publicAPI:a,rootRef:h}),[b,x]=E.useState(()=>{const S={};return o.forEach(O=>{O.getInitialState&&Object.assign(S,O.getInitialState(s))}),S}),w=[],k=S=>{const O=S({instance:f,params:s,slots:u,slotProps:d,experimentalFeatures:c,state:b,setState:x,rootRef:h,models:r,plugins:o});O.getRootProps&&w.push(O.getRootProps),O.publicAPI&&Object.assign(a,O.publicAPI),O.instance&&Object.assign(f,O.instance),O.contextValue&&Object.assign(p,O.contextValue)};return o.forEach(k),{getRootProps:(S={})=>{const O=P._extends({role:"tree"},g,S,{ref:m});return w.forEach($=>{Object.assign(O,$(S))}),O},rootRef:m,contextValue:p,instance:f}},Ve=E.createContext(null);process.env.NODE_ENV!=="production"&&(Ve.displayName="TreeViewContext");function dn(e){const{value:t,children:n}=e;return v.jsx(Ve.Provider,{value:t,children:t.wrapRoot({children:n,instance:t.instance})})}const oe=()=>{const e=E.useContext(Ve);if(e==null)throw new Error(["MUI X: Could not find the Tree View context.","It looks like you rendered your component outside of a SimpleTreeView or RichTreeView parent component.","This can also happen if you are bundling multiple versions of the Tree View."].join(`
|
|
5
|
+
`));return e},un=(e,t,n)=>{e.$$publishEvent(t,n)},ie="__TREE_VIEW_ROOT_PARENT_ID__",pn=e=>{const t={};return e.forEach((n,o)=>{t[n]=o}),t},Ee=E.createContext(()=>-1);process.env.NODE_ENV!=="production"&&(Ee.displayName="TreeViewItemDepthContext");const fn=["children"],st=({items:e,isItemDisabled:t,getItemLabel:n,getItemId:o})=>{const s={},g={},I={[ie]:[]},c=(d,r,l)=>{var m,p;const f=o?o(d):d.id;if(f==null)throw new Error(["MUI X: The Tree View component requires all items to have a unique `id` property.","Alternatively, you can use the `getItemId` prop to specify a custom id for each item.","An item was provided without id in the `items` prop:",JSON.stringify(d)].join(`
|
|
6
|
+
`));if(s[f]!=null)throw new Error(["MUI X: The Tree View component requires all items to have a unique `id` property.","Alternatively, you can use the `getItemId` prop to specify a custom id for each item.",`Two items were provided with the same id in the \`items\` prop: "${f}"`].join(`
|
|
7
|
+
`));const a=n?n(d):d.label;if(a==null)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","Alternatively, you can use the `getItemLabel` prop to specify a custom label for each item.","An item was provided without label in the `items` prop:",JSON.stringify(d)].join(`
|
|
8
|
+
`));s[f]={id:f,label:a,parentId:l,idAttribute:void 0,expandable:!!((m=d.children)!=null&&m.length),disabled:t?t(d):!1,depth:r},g[f]=d;const h=l??ie;I[h]||(I[h]=[]),I[h].push(f),(p=d.children)==null||p.forEach(b=>c(b,r+1,f))};e.forEach(d=>c(d,0,null));const u={};return Object.keys(I).forEach(d=>{u[d]=pn(I[d])}),{itemMetaMap:s,itemMap:g,itemOrderedChildrenIds:I,itemChildrenIndexes:u}},me=({instance:e,params:t,state:n,setState:o,experimentalFeatures:s})=>{const g=E.useCallback(b=>n.items.itemMetaMap[b],[n.items.itemMetaMap]),I=E.useCallback(b=>n.items.itemMap[b],[n.items.itemMap]),c=E.useCallback(()=>{const b=x=>{const w=n.items.itemMap[x],k=W._objectWithoutPropertiesLoose(w,fn),C=n.items.itemOrderedChildrenIds[x];return C&&(k.children=C.map(b)),k};return n.items.itemOrderedChildrenIds[ie].map(b)},[n.items.itemMap,n.items.itemOrderedChildrenIds]),u=E.useCallback(b=>{if(b==null)return!1;let x=e.getItemMeta(b);if(!x)return!1;if(x.disabled)return!0;for(;x.parentId!=null;)if(x=e.getItemMeta(x.parentId),x.disabled)return!0;return!1},[e]),d=E.useCallback(b=>{const x=e.getItemMeta(b).parentId??ie;return n.items.itemChildrenIndexes[x][b]},[e,n.items.itemChildrenIndexes]),r=E.useCallback(b=>n.items.itemOrderedChildrenIds[b??ie]??[],[n.items.itemOrderedChildrenIds]),l=b=>{const x=e.getItemMeta(b);return x==null?null:document.getElementById(Le({treeId:n.id.treeId,itemId:b,id:x.idAttribute}))},f=b=>t.disabledItemsFocusable?!0:!e.isItemDisabled(b),a=E.useRef(!1),h=E.useCallback(()=>{a.current=!0},[]),m=E.useCallback(()=>a.current,[]);return E.useEffect(()=>{e.areItemUpdatesPrevented()||o(b=>{const x=st({items:t.items,isItemDisabled:t.isItemDisabled,getItemId:t.getItemId,getItemLabel:t.getItemLabel});return Object.values(b.items.itemMetaMap).forEach(w=>{x.itemMetaMap[w.id]||un(e,"removeItem",{id:w.id})}),P._extends({},b,{items:x})})},[e,o,t.items,t.isItemDisabled,t.getItemId,t.getItemLabel]),{getRootProps:()=>({style:{"--TreeView-itemChildrenIndentation":typeof t.itemChildrenIndentation=="number"?`${t.itemChildrenIndentation}px`:t.itemChildrenIndentation}}),publicAPI:{getItem:I,getItemDOMElement:l,getItemTree:c,getItemOrderedChildrenIds:r},instance:{getItemMeta:g,getItem:I,getItemTree:c,getItemsToRender:()=>{const b=x=>{var k;const w=n.items.itemMetaMap[x];return{label:w.label,itemId:w.id,id:w.idAttribute,children:(k=n.items.itemOrderedChildrenIds[x])==null?void 0:k.map(b)}};return n.items.itemOrderedChildrenIds[ie].map(b)},getItemIndex:d,getItemDOMElement:l,getItemOrderedChildrenIds:r,isItemDisabled:u,isItemNavigable:f,preventItemUpdates:h,areItemUpdatesPrevented:m},contextValue:{items:{onItemClick:t.onItemClick,disabledItemsFocusable:t.disabledItemsFocusable,indentationAtItemLevel:s.indentationAtItemLevel??!1}}}};me.getInitialState=e=>({items:st({items:e.items,isItemDisabled:e.isItemDisabled,getItemId:e.getItemId,getItemLabel:e.getItemLabel})});me.getDefaultizedParams=({params:e})=>P._extends({},e,{disabledItemsFocusable:e.disabledItemsFocusable??!1,itemChildrenIndentation:e.itemChildrenIndentation??"12px"});me.wrapRoot=({children:e,instance:t})=>v.jsx(Ee.Provider,{value:n=>{var o;return((o=t.getItemMeta(n))==null?void 0:o.depth)??0},children:e});me.params={disabledItemsFocusable:!0,items:!0,isItemDisabled:!0,getItemLabel:!0,getItemId:!0,onItemClick:!0,itemChildrenIndentation:!0};const we=({instance:e,params:t,models:n})=>{const o=E.useMemo(()=>{const l=new Map;return n.expandedItems.value.forEach(f=>{l.set(f,!0)}),l},[n.expandedItems.value]),s=(l,f)=>{var a;(a=t.onExpandedItemsChange)==null||a.call(t,l,f),n.expandedItems.setControlledValue(f)},g=E.useCallback(l=>o.has(l),[o]),I=E.useCallback(l=>{var f;return!!((f=e.getItemMeta(l))!=null&&f.expandable)},[e]),c=le.useEventCallback((l,f)=>{const a=e.isItemExpanded(f);e.setItemExpansion(l,f,!a)}),u=le.useEventCallback((l,f,a)=>{if(e.isItemExpanded(f)===a)return;let m;a?m=[f].concat(n.expandedItems.value):m=n.expandedItems.value.filter(p=>p!==f),t.onItemExpansionToggle&&t.onItemExpansionToggle(l,f,a),s(l,m)}),d=(l,f)=>{const a=e.getItemMeta(f),m=e.getItemOrderedChildrenIds(a.parentId).filter(b=>e.isItemExpandable(b)&&!e.isItemExpanded(b)),p=n.expandedItems.value.concat(m);m.length>0&&(t.onItemExpansionToggle&&m.forEach(b=>{t.onItemExpansionToggle(l,b,!0)}),s(l,p))},r=E.useMemo(()=>t.expansionTrigger?t.expansionTrigger:e.isTreeViewEditable?"iconContainer":"content",[t.expansionTrigger,e.isTreeViewEditable]);return{publicAPI:{setItemExpansion:u},instance:{isItemExpanded:g,isItemExpandable:I,setItemExpansion:u,toggleItemExpansion:c,expandAllSiblings:d},contextValue:{expansion:{expansionTrigger:r}}}};we.models={expandedItems:{getDefaultValue:e=>e.defaultExpandedItems}};const In=[];we.getDefaultizedParams=({params:e})=>P._extends({},e,{defaultExpandedItems:e.defaultExpandedItems??In});we.params={expandedItems:!0,defaultExpandedItems:!0,onExpandedItemsChange:!0,onItemExpansionToggle:!0,expansionTrigger:!0};const it=(e,t)=>{let n=t.length-1;for(;n>=0&&!e.isItemNavigable(t[n]);)n-=1;if(n!==-1)return t[n]},lt=(e,t)=>{const n=e.getItemMeta(t),o=e.getItemOrderedChildrenIds(n.parentId),s=e.getItemIndex(t);if(s===0)return n.parentId;let g=s-1;for(;!e.isItemNavigable(o[g])&&g>=0;)g-=1;if(g===-1)return n.parentId==null?null:lt(e,n.parentId);let I=o[g],c=it(e,e.getItemOrderedChildrenIds(I));for(;e.isItemExpanded(I)&&c!=null;)I=c,c=e.getItemOrderedChildrenIds(I).find(e.isItemNavigable);return I},Te=(e,t)=>{if(e.isItemExpanded(t)){const o=e.getItemOrderedChildrenIds(t).find(e.isItemNavigable);if(o!=null)return o}let n=e.getItemMeta(t);for(;n!=null;){const o=e.getItemOrderedChildrenIds(n.parentId),s=e.getItemIndex(n.id);if(s<o.length-1){let g=s+1;for(;!e.isItemNavigable(o[g])&&g<o.length-1;)g+=1;if(e.isItemNavigable(o[g]))return o[g]}n=e.getItemMeta(n.parentId)}return null},at=e=>{let t=null;for(;t==null||e.isItemExpanded(t);){const n=e.getItemOrderedChildrenIds(t),o=it(e,n);if(o==null)return t;t=o}return t},fe=e=>e.getItemOrderedChildrenIds(null).find(e.isItemNavigable),ct=(e,t,n)=>{if(t===n)return[t,n];const o=e.getItemMeta(t),s=e.getItemMeta(n);if(o.parentId===s.id||s.parentId===o.id)return s.parentId===o.id?[o.id,s.id]:[s.id,o.id];const g=[o.id],I=[s.id];let c=o.parentId,u=s.parentId,d=I.indexOf(c)!==-1,r=g.indexOf(u)!==-1,l=!0,f=!0;for(;!r&&!d;)l&&(g.push(c),d=I.indexOf(c)!==-1,l=c!==null,!d&&l&&(c=e.getItemMeta(c).parentId)),f&&!d&&(I.push(u),r=g.indexOf(u)!==-1,f=u!==null,!r&&f&&(u=e.getItemMeta(u).parentId));const a=d?c:u,h=e.getItemOrderedChildrenIds(a),m=g[g.indexOf(a)-1],p=I[I.indexOf(a)-1];return h.indexOf(m)<h.indexOf(p)?[t,n]:[n,t]},mn=(e,t,n)=>{const o=u=>{if(e.isItemExpandable(u)&&e.isItemExpanded(u))return e.getItemOrderedChildrenIds(u)[0];let d=e.getItemMeta(u);for(;d!=null;){const r=e.getItemOrderedChildrenIds(d.parentId),l=e.getItemIndex(d.id);if(l<r.length-1)return r[l+1];d=e.getItemMeta(d.parentId)}throw new Error("Invalid range")},[s,g]=ct(e,t,n),I=[s];let c=s;for(;c!==g;)c=o(c),e.isItemDisabled(c)||I.push(c);return I},gn=e=>{let t=fe(e);const n=[];for(;t!=null;)n.push(t),t=Te(e,t);return n},Ie=(e,t)=>t!==e.closest('*[role="treeitem"]'),Pe=e=>Array.isArray(e)?e:e!=null?[e]:[],_e=e=>{const t={};return e.forEach(n=>{t[n]=!0}),t},ve=({instance:e,params:t,models:n})=>{const o=E.useRef(null),s=E.useRef({}),g=E.useMemo(()=>{const m=new Map;return Array.isArray(n.selectedItems.value)?n.selectedItems.value.forEach(p=>{m.set(p,!0)}):n.selectedItems.value!=null&&m.set(n.selectedItems.value,!0),m},[n.selectedItems.value]),I=(m,p)=>{if(t.onItemSelectionToggle)if(t.multiSelect){const b=p.filter(w=>!e.isItemSelected(w)),x=n.selectedItems.value.filter(w=>!p.includes(w));b.forEach(w=>{t.onItemSelectionToggle(m,w,!0)}),x.forEach(w=>{t.onItemSelectionToggle(m,w,!1)})}else p!==n.selectedItems.value&&(n.selectedItems.value!=null&&t.onItemSelectionToggle(m,n.selectedItems.value,!1),p!=null&&t.onItemSelectionToggle(m,p,!0));t.onSelectedItemsChange&&t.onSelectedItemsChange(m,p),n.selectedItems.setControlledValue(p)},c=m=>g.has(m),u=({event:m,itemId:p,keepExistingSelection:b=!1,shouldBeSelected:x})=>{if(t.disableSelection)return;let w;if(b){const k=Pe(n.selectedItems.value),C=e.isItemSelected(p);C&&(x===!1||x==null)?w=k.filter(S=>S!==p):!C&&(x===!0||x==null)?w=[p].concat(k):w=k}else x===!1||x==null&&e.isItemSelected(p)?w=t.multiSelect?[]:null:w=t.multiSelect?[p]:p;I(m,w),o.current=p,s.current={}},d=(m,[p,b])=>{if(t.disableSelection||!t.multiSelect)return;let x=Pe(n.selectedItems.value).slice();Object.keys(s.current).length>0&&(x=x.filter(S=>!s.current[S]));const w=_e(x),k=mn(e,p,b),C=k.filter(S=>!w[S]);x=x.concat(C),I(m,x),s.current=_e(k)};return{getRootProps:()=>({"aria-multiselectable":t.multiSelect}),publicAPI:{selectItem:u},instance:{isItemSelected:c,selectItem:u,selectAllNavigableItems:m=>{if(t.disableSelection||!t.multiSelect)return;const p=gn(e);I(m,p),s.current=_e(p)},expandSelectionRange:(m,p)=>{if(o.current!=null){const[b,x]=ct(e,p,o.current);d(m,[b,x])}},selectRangeFromStartToItem:(m,p)=>{d(m,[fe(e),p])},selectRangeFromItemToEnd:(m,p)=>{d(m,[p,at(e)])},selectItemFromArrowNavigation:(m,p,b)=>{if(t.disableSelection||!t.multiSelect)return;let x=Pe(n.selectedItems.value).slice();Object.keys(s.current).length===0?(x.push(b),s.current={[p]:!0,[b]:!0}):(s.current[p]||(s.current={}),s.current[b]?(x=x.filter(w=>w!==p),delete s.current[p]):(x.push(b),s.current[b]=!0)),I(m,x)}},contextValue:{selection:{multiSelect:t.multiSelect,checkboxSelection:t.checkboxSelection,disableSelection:t.disableSelection}}}};ve.models={selectedItems:{getDefaultValue:e=>e.defaultSelectedItems}};const bn=[];ve.getDefaultizedParams=({params:e})=>P._extends({},e,{disableSelection:e.disableSelection??!1,multiSelect:e.multiSelect??!1,checkboxSelection:e.checkboxSelection??!1,defaultSelectedItems:e.defaultSelectedItems??(e.multiSelect?bn:null)});ve.params={disableSelection:!0,multiSelect:!0,checkboxSelection:!0,defaultSelectedItems:!0,selectedItems:!0,onSelectedItemsChange:!0,onItemSelectionToggle:!0};const Ze=1e3;class hn{constructor(t=Ze){this.timeouts=new Map,this.cleanupTimeout=Ze,this.cleanupTimeout=t}register(t,n,o){this.timeouts||(this.timeouts=new Map);const s=setTimeout(()=>{typeof n=="function"&&n(),this.timeouts.delete(o.cleanupToken)},this.cleanupTimeout);this.timeouts.set(o.cleanupToken,s)}unregister(t){const n=this.timeouts.get(t.cleanupToken);n&&(this.timeouts.delete(t.cleanupToken),clearTimeout(n))}reset(){this.timeouts&&(this.timeouts.forEach((t,n)=>{this.unregister({cleanupToken:n})}),this.timeouts=void 0)}}class xn{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,n,o){this.registry.register(t,n,o)}unregister(t){this.registry.unregister(t)}reset(){}}class yn{}function Tn(e){let t=0;return function(o,s,g){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new xn:new hn);const[I]=E.useState(new yn),c=E.useRef(null),u=E.useRef(void 0);u.current=g;const d=E.useRef(null);if(!c.current&&u.current){const r=(l,f)=>{var a;f.defaultMuiPrevented||(a=u.current)==null||a.call(u,l,f)};c.current=o.$$subscribeEvent(s,r),t+=1,d.current={cleanupToken:t},e.registry.register(I,()=>{var l;(l=c.current)==null||l.call(c),c.current=null,d.current=null},d.current)}else!u.current&&c.current&&(c.current(),c.current=null,d.current&&(e.registry.unregister(d.current),d.current=null));E.useEffect(()=>{if(!c.current&&u.current){const r=(l,f)=>{var a;f.defaultMuiPrevented||(a=u.current)==null||a.call(u,l,f)};c.current=o.$$subscribeEvent(s,r)}return d.current&&e.registry&&(e.registry.unregister(d.current),d.current=null),()=>{var r;(r=c.current)==null||r.call(c),c.current=null}},[o,s])}}const Pn={registry:null},Cn=Tn(Pn),dt=(e=document)=>{const t=e.activeElement;return t?t.shadowRoot?dt(t.shadowRoot):t:null},En=(e,t)=>{let n=Pe(t).find(o=>{if(!e.isItemNavigable(o))return!1;const s=e.getItemMeta(o);return s&&(s.parentId==null||e.isItemExpanded(s.parentId))});return n==null&&(n=fe(e)),n},Fe=({instance:e,params:t,state:n,setState:o,models:s,rootRef:g})=>{const I=En(e,s.selectedItems.value),c=le.useEventCallback(p=>{const b=typeof p=="function"?p(n.focusedItemId):p;n.focusedItemId!==b&&o(x=>P._extends({},x,{focusedItemId:b}))}),u=E.useCallback(()=>!!g.current&&g.current.contains(dt(Wt.ownerDocument(g.current))),[g]),d=E.useCallback(p=>n.focusedItemId===p&&u(),[n.focusedItemId,u]),r=p=>{const b=e.getItemMeta(p);return b&&(b.parentId==null||e.isItemExpanded(b.parentId))},l=(p,b)=>{const x=e.getItemDOMElement(b);x&&x.focus(),c(b),t.onItemFocus&&t.onItemFocus(p,b)},f=le.useEventCallback((p,b)=>{r(b)&&l(p,b)}),a=le.useEventCallback(()=>{if(n.focusedItemId==null)return;if(e.getItemMeta(n.focusedItemId)){const b=e.getItemDOMElement(n.focusedItemId);b&&b.blur()}c(null)}),h=p=>p===I;Cn(e,"removeItem",({id:p})=>{n.focusedItemId===p&&l(null,I)});const m=p=>b=>{var x;(x=p.onFocus)==null||x.call(p,b),!b.defaultMuiPrevented&&b.target===b.currentTarget&&l(b,I)};return{getRootProps:p=>({onFocus:m(p)}),publicAPI:{focusItem:f},instance:{isItemFocused:d,canItemBeTabbed:h,focusItem:f,removeFocusedItem:a}}};Fe.getInitialState=()=>({focusedItemId:null});Fe.params={onItemFocus:!0};const ne=(e,t)=>e.getAvailablePlugins().has(t),wn=({props:e})=>{const{instance:t}=oe(),{label:n,itemId:o}=e,[s,g]=E.useState(n),I=t.isItemBeingEdited(o);return E.useEffect(()=>{I||g(n)},[I,n]),{propsEnhancers:{labelInput:({externalEventHandlers:c,interactions:u})=>t.isItemEditable(o)?{value:s??"","data-element":"labelInput",onChange:a=>{var h;(h=c.onChange)==null||h.call(c,a),g(a.target.value)},onKeyDown:a=>{var m;if((m=c.onKeyDown)==null||m.call(c,a),a.defaultMuiPrevented)return;const h=a.target;a.key==="Enter"&&h.value?u.handleSaveItemLabel(a,h.value):a.key==="Escape"&&u.handleCancelItemLabelEditing(a)},onBlur:a=>{var h;(h=c.onBlur)==null||h.call(c,a),!a.defaultMuiPrevented&&a.target.value&&u.handleSaveItemLabel(a,a.target.value)},autoFocus:!0,type:"text"}:{}}}},K=({instance:e,state:t,setState:n,params:o})=>{const s=E.useRef(t.editedItemId),g=l=>s.current===l,I=l=>{n(f=>P._extends({},f,{editedItemId:l})),s.current=l},c=l=>l===t.editedItemId,u=!!o.isItemEditable,d=l=>{if(l==null||!u)return!1;const f=e.getItem(l);return f?typeof o.isItemEditable=="function"?o.isItemEditable(f):!!o.isItemEditable:!1},r=(l,f)=>{if(!f)throw new Error(["MUI X: The Tree View component requires all items to have a `label` property.","The label of an item cannot be empty.",l].join(`
|
|
9
|
+
`));n(a=>{const h=a.items.itemMetaMap[l];return h.label!==f?P._extends({},a,{items:P._extends({},a.items,{itemMetaMap:P._extends({},a.items.itemMetaMap,{[l]:P._extends({},h,{label:f})})})}):a}),o.onItemLabelChange&&o.onItemLabelChange(l,f)};return{instance:{setEditedItemId:I,isItemBeingEdited:c,updateItemLabel:r,isItemEditable:d,isTreeViewEditable:u,isItemBeingEditedRef:g},publicAPI:{updateItemLabel:r}}};K.itemPlugin=wn;K.getDefaultizedParams=({params:e,experimentalFeatures:t})=>{const n=t==null?void 0:t.labelEditing;return process.env.NODE_ENV!=="production"&&e.isItemEditable&&!n&&Ce.warnOnce(["MUI X: The label editing feature requires the `labelEditing` experimental feature to be enabled.","You can do it by passing `experimentalFeatures={{ labelEditing: true}}` to the Rich Tree View Pro component.","Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/editing/"]),P._extends({},e,{isItemEditable:n?e.isItemEditable??!1:!1})};K.getInitialState=()=>({editedItemId:null});K.params={onItemLabelChange:!0,isItemEditable:!0};function vn(e){return!!e&&e.length===1&&!!e.match(/\S/)}const ut=({instance:e,params:t,state:n})=>{const o=V.useRtl(),s=E.useRef({}),g=le.useEventCallback(r=>{s.current=r(s.current)});E.useEffect(()=>{if(e.areItemUpdatesPrevented())return;const r={},l=f=>{r[f.id]=f.label.substring(0,1).toLowerCase()};Object.values(n.items.itemMetaMap).forEach(l),s.current=r},[n.items.itemMetaMap,t.getItemId,e]);const I=(r,l)=>{const f=l.toLowerCase(),a=b=>{const x=Te(e,b);return x===null?fe(e):x};let h=null,m=a(r);const p={};for(;h==null&&!p[m];)s.current[m]===f?h=m:(p[m]=!0,m=a(m));return h},c=r=>!t.disableSelection&&!e.isItemDisabled(r),u=r=>!e.isItemDisabled(r)&&e.isItemExpandable(r);return{instance:{updateFirstCharMap:g,handleItemKeyDown:(r,l)=>{if(r.defaultMuiPrevented||r.altKey||Ie(r.target,r.currentTarget))return;const f=r.ctrlKey||r.metaKey,a=r.key;switch(!0){case(a===" "&&c(l)):{r.preventDefault(),t.multiSelect&&r.shiftKey?e.expandSelectionRange(r,l):e.selectItem({event:r,itemId:l,keepExistingSelection:t.multiSelect,shouldBeSelected:t.multiSelect?void 0:!0});break}case a==="Enter":{ne(e,K)&&e.isItemEditable(l)&&!e.isItemBeingEdited(l)?e.setEditedItemId(l):u(l)?(e.toggleItemExpansion(r,l),r.preventDefault()):c(l)&&(t.multiSelect?(r.preventDefault(),e.selectItem({event:r,itemId:l,keepExistingSelection:!0})):e.isItemSelected(l)||(e.selectItem({event:r,itemId:l}),r.preventDefault()));break}case a==="ArrowDown":{const h=Te(e,l);h&&(r.preventDefault(),e.focusItem(r,h),t.multiSelect&&r.shiftKey&&c(h)&&e.selectItemFromArrowNavigation(r,l,h));break}case a==="ArrowUp":{const h=lt(e,l);h&&(r.preventDefault(),e.focusItem(r,h),t.multiSelect&&r.shiftKey&&c(h)&&e.selectItemFromArrowNavigation(r,l,h));break}case(a==="ArrowRight"&&!o||a==="ArrowLeft"&&o):{if(f)return;if(e.isItemExpanded(l)){const h=Te(e,l);h&&(e.focusItem(r,h),r.preventDefault())}else u(l)&&(e.toggleItemExpansion(r,l),r.preventDefault());break}case(a==="ArrowLeft"&&!o||a==="ArrowRight"&&o):{if(f)return;if(u(l)&&e.isItemExpanded(l))e.toggleItemExpansion(r,l),r.preventDefault();else{const h=e.getItemMeta(l).parentId;h&&(e.focusItem(r,h),r.preventDefault())}break}case a==="Home":{c(l)&&t.multiSelect&&f&&r.shiftKey?e.selectRangeFromStartToItem(r,l):e.focusItem(r,fe(e)),r.preventDefault();break}case a==="End":{c(l)&&t.multiSelect&&f&&r.shiftKey?e.selectRangeFromItemToEnd(r,l):e.focusItem(r,at(e)),r.preventDefault();break}case a==="*":{e.expandAllSiblings(r,l),r.preventDefault();break}case(String.fromCharCode(r.keyCode)==="A"&&f&&t.multiSelect&&!t.disableSelection):{e.selectAllNavigableItems(r),r.preventDefault();break}case(!f&&!r.shiftKey&&vn(a)):{const h=I(l,a);h!=null&&(e.focusItem(r,h),r.preventDefault());break}}}}}};ut.params={};const pt=({slots:e,slotProps:t})=>({contextValue:{icons:{slots:{collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,endIcon:e.endIcon},slotProps:{collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,endIcon:t.endIcon}}}});pt.params={};const Sn=[me,we,ve,Fe,ut,pt,K];function ft(e){const{instance:t,items:{onItemClick:n},selection:{multiSelect:o,checkboxSelection:s,disableSelection:g},expansion:{expansionTrigger:I}}=oe(),c=t.isItemExpandable(e),u=t.isItemExpanded(e),d=t.isItemFocused(e),r=t.isItemSelected(e),l=t.isItemDisabled(e),f=t!=null&&t.isItemBeingEdited?t==null?void 0:t.isItemBeingEdited(e):!1,a=t.isItemEditable?t.isItemEditable(e):!1,h=C=>{if(!l){d||t.focusItem(C,e);const S=o&&(C.shiftKey||C.ctrlKey||C.metaKey);c&&!(S&&t.isItemExpanded(e))&&t.toggleItemExpansion(C,e)}},m=C=>{l||(d||t.focusItem(C,e),o&&(C.shiftKey||C.ctrlKey||C.metaKey)?C.shiftKey?t.expandSelectionRange(C,e):t.selectItem({event:C,itemId:e,keepExistingSelection:!0}):t.selectItem({event:C,itemId:e,shouldBeSelected:!0}))},p=C=>{if(g||l)return;const S=C.nativeEvent.shiftKey;o&&S?t.expandSelectionRange(C,e):t.selectItem({event:C,itemId:e,keepExistingSelection:o,shouldBeSelected:C.target.checked})},b=C=>{(C.shiftKey||C.ctrlKey||C.metaKey||l)&&C.preventDefault()},x=()=>{ne(t,K)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:l,expanded:u,selected:r,focused:d,editable:a,editing:f,disableSelection:g,checkboxSelection:s,handleExpansion:h,handleSelection:m,handleCheckboxSelection:p,handleContentClick:n,preventSelection:b,expansionTrigger:I,toggleItemEditing:x,handleSaveItemLabel:(C,S)=>{ne(t,K)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,S),x(),t.focusItem(C,e))},handleCancelItemLabelEditing:C=>{ne(t,K)&&t.isItemBeingEditedRef(e)&&(x(),t.focusItem(C,e))}}}const Rn=_.styled("div",{name:"MuiTreeItem2DragAndDropOverlay",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="action"})(({theme:e})=>({position:"absolute",left:0,display:"flex",top:0,bottom:0,right:0,pointerEvents:"none",variants:[{props:{action:"make-child"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderRadius:e.shape.borderRadius,backgroundColor:e.vars?`rgba(${e.vars.palette.primary.darkChannel} / ${e.vars.palette.action.focusOpacity})`:i.alpha(e.palette.primary.dark,e.palette.action.focusOpacity)}},{props:{action:"reorder-above"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderTop:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"reorder-below"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}},{props:{action:"move-to-parent"},style:{marginLeft:"calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))",borderBottom:`1px solid ${(e.vars||e).palette.action.active}`}}]}));function Ne(e){return e.action==null?null:v.jsx(Rn,P._extends({},e))}process.env.NODE_ENV!=="production"&&(Ne.propTypes={action:i.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:i.PropTypes.object});const It=_.styled("input",{name:"MuiTreeItem2",slot:"LabelInput",overridesResolver:(e,t)=>t.labelInput})(({theme:e})=>P._extends({},e.typography.body1,{width:"100%",backgroundColor:e.palette.background.paper,borderRadius:e.shape.borderRadius,border:"none",padding:"0 2px",boxSizing:"border-box","&:focus":{outline:`1px solid ${e.palette.primary.main}`}})),kn=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown","dragAndDropOverlayProps","labelInputProps"],$e=E.forwardRef(function(t,n){const{classes:o,className:s,displayIcon:g,expansionIcon:I,icon:c,label:u,itemId:d,onClick:r,onMouseDown:l,dragAndDropOverlayProps:f,labelInputProps:a}=t,h=W._objectWithoutPropertiesLoose(t,kn),{disabled:m,expanded:p,selected:b,focused:x,editing:w,editable:k,disableSelection:C,checkboxSelection:S,handleExpansion:O,handleSelection:$,handleCheckboxSelection:U,handleContentClick:N,preventSelection:B,expansionTrigger:J,toggleItemEditing:q}=ft(d),z=c||I||g,G=E.useRef(null),Z=L=>{B(L),l&&l(L)},Q=L=>{var Y;N==null||N(L,d),!((Y=G.current)!=null&&Y.contains(L.target))&&(J==="content"&&O(L),S||$(L),r&&r(L))},H=L=>{L.defaultMuiPrevented||q()};return v.jsxs("div",P._extends({},h,{className:i.clsx(o.root,s,p&&o.expanded,b&&o.selected,x&&o.focused,m&&o.disabled,w&&o.editing,k&&o.editable),onClick:Q,onMouseDown:Z,ref:n,children:[v.jsx("div",{className:o.iconContainer,children:z}),S&&v.jsx(tt.Checkbox,{className:o.checkbox,checked:b,onChange:U,disabled:m||C,ref:G,tabIndex:-1}),w?v.jsx(It,P._extends({},a,{className:o.labelInput})):v.jsx("div",P._extends({className:o.label},k&&{onDoubleClick:H},{children:u})),f&&v.jsx(Ne,P._extends({},f))]}))});process.env.NODE_ENV!=="production"&&($e.propTypes={classes:i.PropTypes.object.isRequired,className:i.PropTypes.string,displayIcon:i.PropTypes.node,dragAndDropOverlayProps:i.PropTypes.shape({action:i.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:i.PropTypes.object}),expansionIcon:i.PropTypes.node,icon:i.PropTypes.node,itemId:i.PropTypes.string.isRequired,label:i.PropTypes.node,labelInputProps:i.PropTypes.shape({autoFocus:i.PropTypes.oneOf([!0]),"data-element":i.PropTypes.oneOf(["labelInput"]),onBlur:i.PropTypes.func,onChange:i.PropTypes.func,onKeyDown:i.PropTypes.func,type:i.PropTypes.oneOf(["text"]),value:i.PropTypes.string})});function mt(e){return i.generateUtilityClass("MuiTreeItem",e)}const X=i.generateUtilityClasses("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox","labelInput","editable","editing","dragAndDropOverlay"]),gt=ae.createSvgIcon(v.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"TreeViewExpandIcon"),bt=ae.createSvgIcon(v.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"TreeViewCollapseIcon");function Se(e){const{children:t,itemId:n}=e,{wrapItem:o,instance:s}=oe();return o({children:t,itemId:n,instance:s})}Se.propTypes={children:i.PropTypes.node,itemId:i.PropTypes.string.isRequired};const Mn=["children","className","slots","slotProps","ContentComponent","ContentProps","itemId","id","label","onClick","onMouseDown","onFocus","onBlur","onKeyDown"],On=["ownerState"],Dn=["ownerState"],_n=["ownerState"],jn=je(),Ln=e=>{const{classes:t}=e,n={root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],labelInput:["labelInput"],editing:["editing"],editable:["editable"],groupTransition:["groupTransition"]};return _.composeClasses(n,mt,t)},An=_.styled("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),Vn=_.styled($e,{name:"MuiTreeItem",slot:"Content",overridesResolver:(e,t)=>[t.content,t.iconContainer&&{[`& .${X.iconContainer}`]:t.iconContainer},t.label&&{[`& .${X.label}`]:t.label}],shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${X.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${X.focused}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${X.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:i.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:i.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:i.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${X.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:i.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`& .${X.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${X.label}`]:P._extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},e.typography.body1),[`& .${X.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]})),Fn=_.styled(et.Collapse,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),ht=E.forwardRef(function(t,n){var ze,We,Ge,Xe;const{icons:o,runItemPlugins:s,items:{disabledItemsFocusable:g,indentationAtItemLevel:I},selection:{disableSelection:c},expansion:{expansionTrigger:u},treeId:d,instance:r}=oe(),l=E.useContext(Ee),f=jn({props:t,name:"MuiTreeItem"}),{children:a,className:h,slots:m,slotProps:p,ContentComponent:b=$e,ContentProps:x,itemId:w,id:k,label:C,onClick:S,onMouseDown:O,onBlur:$,onKeyDown:U}=f,N=W._objectWithoutPropertiesLoose(f,Mn),{expanded:B,focused:J,selected:q,disabled:z,editing:G,handleExpansion:Z,handleCancelItemLabelEditing:Q,handleSaveItemLabel:H}=ft(w);process.env.NODE_ENV!=="production"&&(f.ContentComponent&&Ce.warnOnce(["MUI X: The ContentComponent prop of the TreeItem component is deprecated and will be removed in the next major release.","You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.","For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/."]),f.ContentProps&&Ce.warnOnce(["MUI X: The ContentProps prop of the TreeItem component is deprecated and will be removed in the next major release.","You can use the new TreeItem2 component or the new useTreeItem2 hook to customize the rendering of the content.","For more detail, see https://mui.com/x/react-tree-view/tree-item-customization/."]));const{contentRef:L,rootRef:Y,propsEnhancers:A}=s(f),ee=E.useRef(null),Re=E.useRef(null),Be=pe.useForkRef(n,Y,ee),Ke=pe.useForkRef(x==null?void 0:x.ref,L,Re),re={expandIcon:(m==null?void 0:m.expandIcon)??o.slots.expandIcon??gt,collapseIcon:(m==null?void 0:m.collapseIcon)??o.slots.collapseIcon??bt,endIcon:(m==null?void 0:m.endIcon)??o.slots.endIcon,icon:m==null?void 0:m.icon,groupTransition:m==null?void 0:m.groupTransition},ke=M=>Array.isArray(M)?M.length>0&&M.some(ke):!!M,ce=ke(a),ge=P._extends({},f,{expanded:B,focused:J,selected:q,disabled:z,indentationAtItemLevel:I}),T=Ln(ge),y=re.groupTransition??void 0,R=V.useSlotProps({elementType:y,ownerState:{},externalSlotProps:p==null?void 0:p.groupTransition,additionalProps:P._extends({unmountOnExit:!0,in:B,component:"ul",role:"group"},I?{indentationAtItemLevel:!0}:{}),className:T.groupTransition}),D=M=>{u==="iconContainer"&&Z(M)},F=B?re.collapseIcon:re.expandIcon,te=V.useSlotProps({elementType:F,ownerState:{},externalSlotProps:M=>B?P._extends({},j.resolveComponentProps(o.slotProps.collapseIcon,M),j.resolveComponentProps(p==null?void 0:p.collapseIcon,M)):P._extends({},j.resolveComponentProps(o.slotProps.expandIcon,M),j.resolveComponentProps(p==null?void 0:p.expandIcon,M)),additionalProps:{onClick:D}}),be=W._objectWithoutPropertiesLoose(te,On),he=ce&&F?v.jsx(F,P._extends({},be)):null,Me=ce?void 0:re.endIcon,Ot=V.useSlotProps({elementType:Me,ownerState:{},externalSlotProps:M=>ce?{}:P._extends({},j.resolveComponentProps(o.slotProps.endIcon,M),j.resolveComponentProps(p==null?void 0:p.endIcon,M))}),Dt=W._objectWithoutPropertiesLoose(Ot,Dn),_t=Me?v.jsx(Me,P._extends({},Dt)):null,Oe=re.icon,jt=V.useSlotProps({elementType:Oe,ownerState:{},externalSlotProps:p==null?void 0:p.icon}),Lt=W._objectWithoutPropertiesLoose(jt,_n),At=Oe?v.jsx(Oe,P._extends({},Lt)):null;let xe;q?xe=!0:c||z?xe=void 0:xe=!1;function Vt(M){!J&&(!z||g)&&M.currentTarget===M.target&&r.focusItem(M,w)}function Ft(M){var se,de,Je,Qe;$==null||$(M),!(G||M.relatedTarget&&Ie(M.relatedTarget,ee.current)&&(M.target&&((de=(se=M.target)==null?void 0:se.dataset)==null?void 0:de.element)==="labelInput"&&Ie(M.target,ee.current)||((Qe=(Je=M.relatedTarget)==null?void 0:Je.dataset)==null?void 0:Qe.element)==="labelInput"))&&r.removeFocusedItem()}const Nt=M=>{var se,de;U==null||U(M),((de=(se=M.target)==null?void 0:se.dataset)==null?void 0:de.element)!=="labelInput"&&r.handleItemKeyDown(M,w)},$t=Le({itemId:w,treeId:d,id:k}),Bt=r.canItemBeTabbed(w)?0:-1,ye={rootRefObject:ee,contentRefObject:Re,interactions:{handleSaveItemLabel:H,handleCancelItemLabelEditing:Q}},Kt=((ze=A.root)==null?void 0:ze.call(A,P._extends({},ye,{externalEventHandlers:j.extractEventHandlers(N)})))??{},qt=((We=A.content)==null?void 0:We.call(A,P._extends({},ye,{externalEventHandlers:j.extractEventHandlers(x)})))??{},qe=((Ge=A.dragAndDropOverlay)==null?void 0:Ge.call(A,P._extends({},ye,{externalEventHandlers:{}})))??{},Ue=((Xe=A.labelInput)==null?void 0:Xe.call(A,P._extends({},ye,{externalEventHandlers:{}})))??{};return v.jsx(Se,{itemId:w,children:v.jsxs(An,P._extends({className:i.clsx(T.root,h),role:"treeitem","aria-expanded":ce?B:void 0,"aria-selected":xe,"aria-disabled":z||void 0,id:$t,tabIndex:Bt},N,{ownerState:ge,onFocus:Vt,onBlur:Ft,onKeyDown:Nt,ref:Be,style:I?P._extends({},N.style,{"--TreeView-itemDepth":typeof l=="function"?l(w):l}):N.style},Kt,{children:[v.jsx(Vn,P._extends({as:b,classes:{root:T.content,expanded:T.expanded,selected:T.selected,focused:T.focused,disabled:T.disabled,editable:T.editable,editing:T.editing,iconContainer:T.iconContainer,label:T.label,labelInput:T.labelInput,checkbox:T.checkbox},label:C,itemId:w,onClick:S,onMouseDown:O,icon:At,expansionIcon:he,displayIcon:_t,ownerState:ge},x,qt,qe.action==null?{}:{dragAndDropOverlayProps:qe},Ue.value==null?{}:{labelInputProps:Ue},{ref:Ke})),a&&v.jsx(Fn,P._extends({as:y},R,{children:a}))]}))})});process.env.NODE_ENV!=="production"&&(ht.propTypes={children:i.PropTypes.node,classes:i.PropTypes.object,className:i.PropTypes.string,ContentComponent:Gt.elementTypeAcceptingRef,ContentProps:i.PropTypes.object,disabled:i.PropTypes.bool,itemId:i.PropTypes.string.isRequired,label:i.PropTypes.node,onFocus:nt.unsupportedProp,onKeyDown:i.PropTypes.func,slotProps:i.PropTypes.object,slots:i.PropTypes.object,sx:i.PropTypes.oneOfType([i.PropTypes.arrayOf(i.PropTypes.oneOfType([i.PropTypes.func,i.PropTypes.object,i.PropTypes.bool])),i.PropTypes.func,i.PropTypes.object])});const Nn=["ownerState"];function $n({slots:e,slotProps:t,label:n,id:o,itemId:s,itemsToRender:g}){const I=(e==null?void 0:e.item)??ht,c=V.useSlotProps({elementType:I,externalSlotProps:t==null?void 0:t.item,additionalProps:{itemId:s,id:o,label:n},ownerState:{itemId:s,label:n}}),u=W._objectWithoutPropertiesLoose(c,Nn),d=E.useMemo(()=>g?v.jsx(xt,{itemsToRender:g,slots:e,slotProps:t}):null,[g,e,t]);return v.jsx(I,P._extends({},u,{children:d}))}function xt(e){const{itemsToRender:t,slots:n,slotProps:o}=e;return v.jsx(E.Fragment,{children:t.map(s=>v.jsx($n,{slots:n,slotProps:o,label:s.label,id:s.id,itemId:s.itemId,itemsToRender:s.children},s.itemId))})}const Bn=je(),Kn=e=>{const{classes:t}=e,n={root:["root"]};return _.composeClasses(n,Zt,t)},qn=_.styled("ul",{name:"MuiRichTreeView",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),yt=E.forwardRef(function(t,n){const o=Bn({props:t,name:"MuiRichTreeView"});process.env.NODE_ENV!=="production"&&o.children!=null&&Ce.warnOnce(["MUI X: The Rich Tree View component does not support JSX children.","If you want to add items, you need to use the `items` prop.","Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/."]);const{getRootProps:s,contextValue:g,instance:I}=cn({plugins:Sn,rootRef:n,props:o}),{slots:c,slotProps:u}=o,d=Kn(o),r=(c==null?void 0:c.root)??qn,l=V.useSlotProps({elementType:r,externalSlotProps:u==null?void 0:u.root,className:d.root,getSlotProps:s,ownerState:o});return v.jsx(dn,{value:g,children:v.jsx(r,P._extends({},l,{children:v.jsx(xt,{slots:c,slotProps:u,itemsToRender:I.getItemsToRender()})}))})});process.env.NODE_ENV!=="production"&&(yt.propTypes={apiRef:i.PropTypes.shape({current:i.PropTypes.shape({focusItem:i.PropTypes.func.isRequired,getItem:i.PropTypes.func.isRequired,getItemDOMElement:i.PropTypes.func.isRequired,getItemOrderedChildrenIds:i.PropTypes.func.isRequired,getItemTree:i.PropTypes.func.isRequired,selectItem:i.PropTypes.func.isRequired,setItemExpansion:i.PropTypes.func.isRequired,updateItemLabel:i.PropTypes.func.isRequired})}),checkboxSelection:i.PropTypes.bool,classes:i.PropTypes.object,className:i.PropTypes.string,defaultExpandedItems:i.PropTypes.arrayOf(i.PropTypes.string),defaultSelectedItems:i.PropTypes.any,disabledItemsFocusable:i.PropTypes.bool,disableSelection:i.PropTypes.bool,expandedItems:i.PropTypes.arrayOf(i.PropTypes.string),expansionTrigger:i.PropTypes.oneOf(["content","iconContainer"]),experimentalFeatures:i.PropTypes.shape({indentationAtItemLevel:i.PropTypes.bool,labelEditing:i.PropTypes.bool}),getItemId:i.PropTypes.func,getItemLabel:i.PropTypes.func,id:i.PropTypes.string,isItemDisabled:i.PropTypes.func,isItemEditable:i.PropTypes.oneOfType([i.PropTypes.func,i.PropTypes.bool]),itemChildrenIndentation:i.PropTypes.oneOfType([i.PropTypes.number,i.PropTypes.string]),items:i.PropTypes.array.isRequired,multiSelect:i.PropTypes.bool,onExpandedItemsChange:i.PropTypes.func,onItemClick:i.PropTypes.func,onItemExpansionToggle:i.PropTypes.func,onItemFocus:i.PropTypes.func,onItemLabelChange:i.PropTypes.func,onItemSelectionToggle:i.PropTypes.func,onSelectedItemsChange:i.PropTypes.func,selectedItems:i.PropTypes.any,slotProps:i.PropTypes.object,slots:i.PropTypes.object,sx:i.PropTypes.oneOfType([i.PropTypes.arrayOf(i.PropTypes.oneOfType([i.PropTypes.func,i.PropTypes.object,i.PropTypes.bool])),i.PropTypes.func,i.PropTypes.object])});const Tt=e=>Array.isArray(e)?e.length>0&&e.some(Tt):!!e,Un=({itemId:e,children:t})=>{const{instance:n,selection:{multiSelect:o},publicAPI:s}=oe(),g={expandable:Tt(t),expanded:n.isItemExpanded(e),focused:n.isItemFocused(e),selected:n.isItemSelected(e),disabled:n.isItemDisabled(e),editing:n!=null&&n.isItemBeingEdited?n==null?void 0:n.isItemBeingEdited(e):!1,editable:n.isItemEditable?n.isItemEditable(e):!1},I=a=>{if(g.disabled)return;g.focused||n.focusItem(a,e);const h=o&&(a.shiftKey||a.ctrlKey||a.metaKey);g.expandable&&!(h&&n.isItemExpanded(e))&&n.toggleItemExpansion(a,e)},c=a=>{if(g.disabled)return;g.focused||n.focusItem(a,e),o&&(a.shiftKey||a.ctrlKey||a.metaKey)?a.shiftKey?n.expandSelectionRange(a,e):n.selectItem({event:a,itemId:e,keepExistingSelection:!0}):n.selectItem({event:a,itemId:e,shouldBeSelected:!0})},u=a=>{const h=a.nativeEvent.shiftKey;o&&h?n.expandSelectionRange(a,e):n.selectItem({event:a,itemId:e,keepExistingSelection:o,shouldBeSelected:a.target.checked})},d=()=>{ne(n,K)&&n.isItemEditable(e)&&(n.isItemBeingEdited(e)?n.setEditedItemId(null):n.setEditedItemId(e))};return{interactions:{handleExpansion:I,handleSelection:c,handleCheckboxSelection:u,toggleItemEditing:d,handleSaveItemLabel:(a,h)=>{ne(n,K)&&n.isItemBeingEditedRef(e)&&(n.updateItemLabel(e,h),d(),n.focusItem(a,e))},handleCancelItemLabelEditing:a=>{ne(n,K)&&n.isItemBeingEditedRef(e)&&(d(),n.focusItem(a,e))}},status:g,publicAPI:s}},zn=e=>{const{runItemPlugins:t,items:{onItemClick:n,disabledItemsFocusable:o,indentationAtItemLevel:s},selection:{disableSelection:g,checkboxSelection:I},expansion:{expansionTrigger:c},treeId:u,instance:d,publicAPI:r}=oe(),l=E.useContext(Ee),{id:f,itemId:a,label:h,children:m,rootRef:p}=e,{rootRef:b,contentRef:x,propsEnhancers:w}=t(e),{interactions:k,status:C}=Un({itemId:a,children:m}),S=E.useRef(null),O=E.useRef(null),$=pe.useForkRef(p,b,S),U=pe.useForkRef(x,O),N=E.useRef(null),B=Le({itemId:a,treeId:u,id:f}),J=d.canItemBeTabbed(a)?0:-1,q={rootRefObject:S,contentRefObject:O,interactions:k},z=T=>y=>{var D;if((D=T.onFocus)==null||D.call(T,y),y.defaultMuiPrevented)return;const R=!C.disabled||o;!C.focused&&R&&y.currentTarget===y.target&&d.focusItem(y,a)},G=T=>y=>{var D,F,te,be,he;if((D=T.onBlur)==null||D.call(T,y),y.defaultMuiPrevented)return;const R=d.getItemDOMElement(a);C.editing||y.relatedTarget&&Ie(y.relatedTarget,R)&&(y.target&&((te=(F=y.target)==null?void 0:F.dataset)==null?void 0:te.element)==="labelInput"&&Ie(y.target,R)||((he=(be=y.relatedTarget)==null?void 0:be.dataset)==null?void 0:he.element)==="labelInput")||d.removeFocusedItem()},Z=T=>y=>{var R,D,F;(R=T.onKeyDown)==null||R.call(T,y),!(y.defaultMuiPrevented||((F=(D=y.target)==null?void 0:D.dataset)==null?void 0:F.element)==="labelInput")&&d.handleItemKeyDown(y,a)},Q=T=>y=>{var R;(R=T.onDoubleClick)==null||R.call(T,y),!y.defaultMuiPrevented&&k.toggleItemEditing()},H=T=>y=>{var R,D;(R=T.onClick)==null||R.call(T,y),n==null||n(y,a),!(y.defaultMuiPrevented||(D=N.current)!=null&&D.contains(y.target))&&(c==="content"&&k.handleExpansion(y),I||k.handleSelection(y))},L=T=>y=>{var R;(R=T.onMouseDown)==null||R.call(T,y),!y.defaultMuiPrevented&&(y.shiftKey||y.ctrlKey||y.metaKey||C.disabled)&&y.preventDefault()},Y=T=>y=>{var R;(R=T.onChange)==null||R.call(T,y),!y.defaultMuiPrevented&&(g||C.disabled||k.handleCheckboxSelection(y))},A=T=>y=>{var R;(R=T.onClick)==null||R.call(T,y),!y.defaultMuiPrevented&&c==="iconContainer"&&k.handleExpansion(y)};return{getRootProps:(T={})=>{var te;const y=P._extends({},j.extractEventHandlers(e),j.extractEventHandlers(T));let R;C.selected?R=!0:g||C.disabled?R=void 0:R=!1;const D=P._extends({},y,{ref:$,role:"treeitem",tabIndex:J,id:B,"aria-expanded":C.expandable?C.expanded:void 0,"aria-selected":R,"aria-disabled":C.disabled||void 0},T,{onFocus:z(y),onBlur:G(y),onKeyDown:Z(y)});s&&(D.style={"--TreeView-itemDepth":typeof l=="function"?l(a):l});const F=((te=w.root)==null?void 0:te.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},D,F)},getContentProps:(T={})=>{var F;const y=j.extractEventHandlers(T),R=P._extends({},y,T,{ref:U,onClick:H(y),onMouseDown:L(y),status:C});s&&(R.indentationAtItemLevel=!0);const D=((F=w.content)==null?void 0:F.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},R,D)},getGroupTransitionProps:(T={})=>{const y=j.extractEventHandlers(T),R=P._extends({},y,{unmountOnExit:!0,component:"ul",role:"group",in:C.expanded,children:m},T);return s&&(R.indentationAtItemLevel=!0),R},getIconContainerProps:(T={})=>{const y=j.extractEventHandlers(T);return P._extends({},y,T,{onClick:A(y)})},getCheckboxProps:(T={})=>{const y=j.extractEventHandlers(T);return P._extends({},y,{visible:I,ref:N,checked:C.selected,disabled:g||C.disabled,tabIndex:-1},T,{onChange:Y(y)})},getLabelProps:(T={})=>{const y=P._extends({},j.extractEventHandlers(T)),R=P._extends({},y,{children:h},T,{onDoubleClick:Q(y)});return d.isTreeViewEditable&&(R.editable=C.editable),R},getLabelInputProps:(T={})=>{var D;const y=j.extractEventHandlers(T),R=((D=w.labelInput)==null?void 0:D.call(w,{rootRefObject:S,contentRefObject:O,externalEventHandlers:y,interactions:k}))??{};return P._extends({},T,R)},getDragAndDropOverlayProps:(T={})=>{var D;const y=j.extractEventHandlers(T),R=((D=w.dragAndDropOverlay)==null?void 0:D.call(w,P._extends({},q,{externalEventHandlers:y})))??{};return P._extends({},T,R)},rootRef:$,status:C,publicAPI:r}},Pt=zn;function Ct(e){const{slots:t,slotProps:n,status:o}=e,s=oe(),g=P._extends({},s.icons.slots,{expandIcon:s.icons.slots.expandIcon??gt,collapseIcon:s.icons.slots.collapseIcon??bt}),I=s.icons.slotProps;let c;t!=null&&t.icon?c="icon":o.expandable?o.expanded?c="collapseIcon":c="expandIcon":c="endIcon";const u=(t==null?void 0:t[c])??g[c],d=V.useSlotProps({elementType:u,externalSlotProps:r=>P._extends({},j.resolveComponentProps(I[c],r),j.resolveComponentProps(n==null?void 0:n[c],r)),ownerState:{}});return u?v.jsx(u,P._extends({},d)):null}process.env.NODE_ENV!=="production"&&(Ct.propTypes={slotProps:i.PropTypes.object,slots:i.PropTypes.object,status:i.PropTypes.shape({disabled:i.PropTypes.bool.isRequired,editable:i.PropTypes.bool.isRequired,editing:i.PropTypes.bool.isRequired,expandable:i.PropTypes.bool.isRequired,expanded:i.PropTypes.bool.isRequired,focused:i.PropTypes.bool.isRequired,selected:i.PropTypes.bool.isRequired}).isRequired});const Wn=["visible"],Gn=["id","itemId","label","disabled","children","slots","slotProps"],Xn=je(),Et=_.styled("li",{name:"MuiTreeItem2",slot:"Root",overridesResolver:(e,t)=>t.root})({listStyle:"none",margin:0,padding:0,outline:0}),wt=_.styled("div",{name:"MuiTreeItem2",slot:"Content",overridesResolver:(e,t)=>t.content,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="status"&&e!=="indentationAtItemLevel"})(({theme:e})=>({padding:e.spacing(.5,1),borderRadius:e.shape.borderRadius,width:"100%",boxSizing:"border-box",position:"relative",display:"flex",alignItems:"center",gap:e.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${e.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}},{props:({status:t})=>t.disabled,style:{opacity:(e.vars||e).palette.action.disabledOpacity,backgroundColor:"transparent"}},{props:({status:t})=>t.focused,style:{backgroundColor:(e.vars||e).palette.action.focus}},{props:({status:t})=>t.selected,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:i.alpha(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:i.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:i.alpha(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},{props:({status:t})=>t.selected&&t.focused,style:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:i.alpha(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}]})),vt=_.styled("div",{name:"MuiTreeItem2",slot:"Label",overridesResolver:(e,t)=>t.label,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="editable"})(({theme:e})=>P._extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative",overflow:"hidden"},e.typography.body1,{variants:[{props:({editable:t})=>t,style:{paddingLeft:"2px"}}]})),St=_.styled("div",{name:"MuiTreeItem2",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}}),Rt=_.styled(et.Collapse,{name:"MuiTreeItem2",slot:"GroupTransition",overridesResolver:(e,t)=>t.groupTransition,shouldForwardProp:e=>_.shouldForwardProp(e)&&e!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),Jn=_.styled(E.forwardRef((e,t)=>{const{visible:n}=e,o=W._objectWithoutPropertiesLoose(e,Wn);return n?v.jsx(tt.Checkbox,P._extends({},o,{ref:t})):null}),{name:"MuiTreeItem2",slot:"Checkbox",overridesResolver:(e,t)=>t.checkbox})({padding:0}),Qn=e=>{const{classes:t}=e,n={root:["root"],content:["content"],expanded:["expanded"],editing:["editing"],editable:["editable"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],groupTransition:["groupTransition"],labelInput:["labelInput"],dragAndDropOverlay:["dragAndDropOverlay"]};return _.composeClasses(n,mt,t)},Yn=E.forwardRef(function(t,n){const o=Xn({props:t,name:"MuiTreeItem2"}),{id:s,itemId:g,label:I,disabled:c,children:u,slots:d={},slotProps:r={}}=o,l=W._objectWithoutPropertiesLoose(o,Gn),{getRootProps:f,getContentProps:a,getIconContainerProps:h,getCheckboxProps:m,getLabelProps:p,getGroupTransitionProps:b,getLabelInputProps:x,getDragAndDropOverlayProps:w,status:k}=Pt({id:s,itemId:g,children:u,label:I,disabled:c}),C=P._extends({},o,k),S=Qn(C),O=d.root??Et,$=V.useSlotProps({elementType:O,getSlotProps:f,externalForwardedProps:l,externalSlotProps:r.root,additionalProps:{ref:n},ownerState:{},className:S.root}),U=d.content??wt,N=V.useSlotProps({elementType:U,getSlotProps:a,externalSlotProps:r.content,ownerState:{},className:i.clsx(S.content,k.expanded&&S.expanded,k.selected&&S.selected,k.focused&&S.focused,k.disabled&&S.disabled,k.editing&&S.editing,k.editable&&S.editable)}),B=d.iconContainer??St,J=V.useSlotProps({elementType:B,getSlotProps:h,externalSlotProps:r.iconContainer,ownerState:{},className:S.iconContainer}),q=d.label??vt,z=V.useSlotProps({elementType:q,getSlotProps:p,externalSlotProps:r.label,ownerState:{},className:S.label}),G=d.checkbox??Jn,Z=V.useSlotProps({elementType:G,getSlotProps:m,externalSlotProps:r.checkbox,ownerState:{},className:S.checkbox}),Q=d.groupTransition??void 0,H=V.useSlotProps({elementType:Q,getSlotProps:b,externalSlotProps:r.groupTransition,ownerState:{},className:S.groupTransition}),L=d.labelInput??It,Y=V.useSlotProps({elementType:L,getSlotProps:x,externalSlotProps:r.labelInput,ownerState:{},className:S.labelInput}),A=d.dragAndDropOverlay??Ne,ee=V.useSlotProps({elementType:A,getSlotProps:w,externalSlotProps:r.dragAndDropOverlay,ownerState:{},className:S.dragAndDropOverlay});return v.jsx(Se,{itemId:g,children:v.jsxs(O,P._extends({},$,{children:[v.jsxs(U,P._extends({},N,{children:[v.jsx(B,P._extends({},J,{children:v.jsx(Ct,{status:k,slots:d,slotProps:r})})),v.jsx(G,P._extends({},Z)),k.editing?v.jsx(L,P._extends({},Y)):v.jsx(q,P._extends({},z)),v.jsx(A,P._extends({},ee))]})),u&&v.jsx(Rt,P._extends({as:Q},H))]}))})});process.env.NODE_ENV!=="production"&&(Yn.propTypes={children:i.PropTypes.node,classes:i.PropTypes.object,className:i.PropTypes.string,disabled:i.PropTypes.bool,id:i.PropTypes.string,itemId:i.PropTypes.string.isRequired,label:i.PropTypes.node,onBlur:i.PropTypes.func,onFocus:nt.unsupportedProp,onKeyDown:i.PropTypes.func,slotProps:i.PropTypes.object,slots:i.PropTypes.object});var kt=(e=>(e.FOLDER="FOLDER",e.SHARE="SHARE",e.TRASH="TRASH",e.CUSTOM="CUSTOM",e))(kt||{});const Zn=(e,t)=>{if(!e)return De;if(typeof e!="string")return e;switch(e){case"SHARE":return Yt;case"TRASH":return Ut.DeleteIcon;case"CUSTOM":return t||De;case"FOLDER":default:return De}},Hn=ue.forwardRef(function(t,n){const{id:o,itemId:s,label:g,disabled:I,children:c,itemData:u,iconColor:d="primary"}=t,r=Zn(u==null?void 0:u.iconType,u==null?void 0:u.customIcon),{getRootProps:l,getContentProps:f,getLabelProps:a,getGroupTransitionProps:h,getIconContainerProps:m,status:p}=Pt({id:o,itemId:s,label:g,disabled:I,children:c,rootRef:n});return v.jsx(Se,{itemId:s,children:v.jsxs(Et,{...l(),children:[v.jsxs(wt,{...f(),style:{display:"flex",alignItems:"center",width:"100%"},children:[v.jsx(St,{...m(),children:v.jsx(r,{fontSize:"small",color:d})}),v.jsx(vt,{...a()}),v.jsx(He.Box,{sx:{display:"flex",marginLeft:"auto"},children:p.expandable&&(p.expanded?v.jsx(Jt,{fontSize:"small"}):v.jsx(Qt,{fontSize:"small"}))})]}),c&&v.jsx(Rt,{...h(),style:p.expanded?{borderLeft:"1px solid #bdbdbd",paddingLeft:"12px",marginLeft:"15px",marginTop:"4px",marginBottom:"4px"}:void 0})]})})}),eo=e=>e.internalId,Mt=(e,t,n=[])=>{for(const o of e){const s=[...n,o.internalId];if(o.internalId===t)return s;if(o.children&&o.children.length>0){const g=Mt(o.children,t,s);if(g)return g}}return null},to=e=>{const t={},n=o=>{var s;t[o.internalId]=o,(s=o.children)!=null&&s.length&&o.children.forEach(n)};return e.forEach(n),t},no=({items:e,selectedItemId:t,handleSelectedItemChange:n,iconColor:o="primary"})=>{const[s,g]=ue.useState([]),I=ue.useMemo(()=>to(e),[e]);ue.useEffect(()=>{if(t){const u=Mt(e,t);if(u){const d=u.slice(0,-1);g(r=>{const l=[...r];let f=!1;return d.forEach(a=>{l.includes(a)||(l.push(a),f=!0)}),f?l:r})}}},[t,e]);const c=(u,d)=>{g(d)};return v.jsx(He.Box,{sx:{minHeight:200,minWidth:200},children:v.jsx(yt,{items:e,selectedItems:t,expandedItems:s,onExpandedItemsChange:c,itemChildrenIndentation:"50px",onSelectedItemsChange:n,getItemId:eo,slots:{item:u=>{const d=u.itemId?I[u.itemId]:void 0;return v.jsx(Hn,{...u,itemData:d,iconColor:o})}}})})};exports.ICON_TYPE=kt;exports.default=no;
|
|
@@ -24,7 +24,8 @@ export interface CustomTreeViewItemProps {
|
|
|
24
24
|
export type CustomTreeViewItem = TreeViewBaseItem<CustomTreeViewItemProps>;
|
|
25
25
|
export interface TreeViewProps {
|
|
26
26
|
items: CustomTreeViewItem[];
|
|
27
|
-
|
|
27
|
+
selectedItemId: string;
|
|
28
|
+
handleSelectedItemChange: (event: React.SyntheticEvent, itemIds: string | null) => void;
|
|
28
29
|
iconColor?: string;
|
|
29
30
|
}
|
|
30
31
|
declare const TreeView: FC<TreeViewProps>;
|