@cgi-learning-hub/ui 1.4.0-dev.1741972878 → 1.4.0-dev.1741976077
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 +1 -2
- package/dist/components/TreeView/TreeView.es.js +775 -809
- package/dist/components/stories/TreeView.stories.cjs.js +11 -5
- package/dist/components/stories/TreeView.stories.d.ts +1 -0
- package/dist/components/stories/TreeView.stories.es.js +98 -50
- 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)])}),
|
|
4
|
-
`)))}}removeListener(t,
|
|
5
|
-
`));return e},
|
|
6
|
-
`));if(
|
|
7
|
-
`));const c=
|
|
8
|
-
`));r[m]={id:m,label:c,parentId:a,idAttribute:void 0,expandable:!!((g=d.children)!=null&&g.length),disabled:t?t(d):!1,depth:s},I[m]=d;const x=a??ie;p[x]||(p[x]=[]),p[x].push(m),(f=d.children)==null||f.forEach(b=>i(b,s+1,m))};e.forEach(d=>i(d,0,null));const u={};return Object.keys(p).forEach(d=>{u[d]=pn(p[d])}),{itemMetaMap:r,itemMap:I,itemOrderedChildrenIds:p,itemChildrenIndexes:u}},Ie=({instance:e,params:t,state:n,setState:o,experimentalFeatures:r})=>{const I=C.useCallback(b=>n.items.itemMetaMap[b],[n.items.itemMetaMap]),p=C.useCallback(b=>n.items.itemMap[b],[n.items.itemMap]),i=C.useCallback(()=>{const b=h=>{const w=n.items.itemMap[h],k=W._objectWithoutPropertiesLoose(w,fn),E=n.items.itemOrderedChildrenIds[h];return E&&(k.children=E.map(b)),k};return n.items.itemOrderedChildrenIds[ie].map(b)},[n.items.itemMap,n.items.itemOrderedChildrenIds]),u=C.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=C.useCallback(b=>{const h=e.getItemMeta(b).parentId??ie;return n.items.itemChildrenIndexes[h][b]},[e,n.items.itemChildrenIndexes]),s=C.useCallback(b=>n.items.itemOrderedChildrenIds[b??ie]??[],[n.items.itemOrderedChildrenIds]),a=b=>{const h=e.getItemMeta(b);return h==null?null:document.getElementById(Le({treeId:n.id.treeId,itemId:b,id:h.idAttribute}))},m=b=>t.disabledItemsFocusable?!0:!e.isItemDisabled(b),c=C.useRef(!1),x=C.useCallback(()=>{c.current=!0},[]),g=C.useCallback(()=>c.current,[]);return C.useEffect(()=>{e.areItemUpdatesPrevented()||o(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]||un(e,"removeItem",{id:w.id})}),P._extends({},b,{items:h})})},[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:p,getItemDOMElement:a,getItemTree:i,getItemOrderedChildrenIds:s},instance:{getItemMeta:I,getItem:p,getItemTree:i,getItemsToRender:()=>{const b=h=>{var k;const w=n.items.itemMetaMap[h];return{label:w.label,itemId:w.id,id:w.idAttribute,children:(k=n.items.itemOrderedChildrenIds[h])==null?void 0:k.map(b)}};return n.items.itemOrderedChildrenIds[ie].map(b)},getItemIndex:d,getItemDOMElement:a,getItemOrderedChildrenIds:s,isItemDisabled:u,isItemNavigable:m,preventItemUpdates:x,areItemUpdatesPrevented:g},contextValue:{items:{onItemClick:t.onItemClick,disabledItemsFocusable:t.disabledItemsFocusable,indentationAtItemLevel:r.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(Ee.Provider,{value:n=>{var o;return((o=t.getItemMeta(n))==null?void 0:o.depth)??0},children:e});Ie.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=C.useMemo(()=>{const a=new Map;return n.expandedItems.value.forEach(m=>{a.set(m,!0)}),a},[n.expandedItems.value]),r=(a,m)=>{var c;(c=t.onExpandedItemsChange)==null||c.call(t,a,m),n.expandedItems.setControlledValue(m)},I=C.useCallback(a=>o.has(a),[o]),p=C.useCallback(a=>{var m;return!!((m=e.getItemMeta(a))!=null&&m.expandable)},[e]),i=le.useEventCallback((a,m)=>{const c=e.isItemExpanded(m);e.setItemExpansion(a,m,!c)}),u=le.useEventCallback((a,m,c)=>{if(e.isItemExpanded(m)===c)return;let g;c?g=[m].concat(n.expandedItems.value):g=n.expandedItems.value.filter(f=>f!==m),t.onItemExpansionToggle&&t.onItemExpansionToggle(a,m,c),r(a,g)}),d=(a,m)=>{const c=e.getItemMeta(m),g=e.getItemOrderedChildrenIds(c.parentId).filter(b=>e.isItemExpandable(b)&&!e.isItemExpanded(b)),f=n.expandedItems.value.concat(g);g.length>0&&(t.onItemExpansionToggle&&g.forEach(b=>{t.onItemExpansionToggle(a,b,!0)}),r(a,f))},s=C.useMemo(()=>t.expansionTrigger?t.expansionTrigger:e.isTreeViewEditable?"iconContainer":"content",[t.expansionTrigger,e.isTreeViewEditable]);return{publicAPI:{setItemExpansion:u},instance:{isItemExpanded:I,isItemExpandable:p,setItemExpansion:u,toggleItemExpansion:i,expandAllSiblings:d},contextValue:{expansion:{expansionTrigger:s}}}};we.models={expandedItems:{getDefaultValue:e=>e.defaultExpandedItems}};const mn=[];we.getDefaultizedParams=({params:e})=>P._extends({},e,{defaultExpandedItems:e.defaultExpandedItems??mn});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),r=e.getItemIndex(t);if(r===0)return n.parentId;let I=r-1;for(;!e.isItemNavigable(o[I])&&I>=0;)I-=1;if(I===-1)return n.parentId==null?null:lt(e,n.parentId);let p=o[I],i=it(e,e.getItemOrderedChildrenIds(p));for(;e.isItemExpanded(p)&&i!=null;)p=i,i=e.getItemOrderedChildrenIds(p).find(e.isItemNavigable);return p},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),r=e.getItemIndex(n.id);if(r<o.length-1){let I=r+1;for(;!e.isItemNavigable(o[I])&&I<o.length-1;)I+=1;if(e.isItemNavigable(o[I]))return o[I]}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),r=e.getItemMeta(n);if(o.parentId===r.id||r.parentId===o.id)return r.parentId===o.id?[o.id,r.id]:[r.id,o.id];const I=[o.id],p=[r.id];let i=o.parentId,u=r.parentId,d=p.indexOf(i)!==-1,s=I.indexOf(u)!==-1,a=!0,m=!0;for(;!s&&!d;)a&&(I.push(i),d=p.indexOf(i)!==-1,a=i!==null,!d&&a&&(i=e.getItemMeta(i).parentId)),m&&!d&&(p.push(u),s=I.indexOf(u)!==-1,m=u!==null,!s&&m&&(u=e.getItemMeta(u).parentId));const c=d?i:u,x=e.getItemOrderedChildrenIds(c),g=I[I.indexOf(c)-1],f=p[p.indexOf(c)-1];return x.indexOf(g)<x.indexOf(f)?[t,n]:[n,t]},In=(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 s=e.getItemOrderedChildrenIds(d.parentId),a=e.getItemIndex(d.id);if(a<s.length-1)return s[a+1];d=e.getItemMeta(d.parentId)}throw new Error("Invalid range")},[r,I]=ct(e,t,n),p=[r];let i=r;for(;i!==I;)i=o(i),e.isItemDisabled(i)||p.push(i);return p},gn=e=>{let t=fe(e);const n=[];for(;t!=null;)n.push(t),t=Te(e,t);return n},me=(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=C.useRef(null),r=C.useRef({}),I=C.useMemo(()=>{const g=new Map;return Array.isArray(n.selectedItems.value)?n.selectedItems.value.forEach(f=>{g.set(f,!0)}):n.selectedItems.value!=null&&g.set(n.selectedItems.value,!0),g},[n.selectedItems.value]),p=(g,f)=>{if(t.onItemSelectionToggle)if(t.multiSelect){const b=f.filter(w=>!e.isItemSelected(w)),h=n.selectedItems.value.filter(w=>!f.includes(w));b.forEach(w=>{t.onItemSelectionToggle(g,w,!0)}),h.forEach(w=>{t.onItemSelectionToggle(g,w,!1)})}else f!==n.selectedItems.value&&(n.selectedItems.value!=null&&t.onItemSelectionToggle(g,n.selectedItems.value,!1),f!=null&&t.onItemSelectionToggle(g,f,!0));t.onSelectedItemsChange&&t.onSelectedItemsChange(g,f),n.selectedItems.setControlledValue(f)},i=g=>I.has(g),u=({event:g,itemId:f,keepExistingSelection:b=!1,shouldBeSelected:h})=>{if(t.disableSelection)return;let w;if(b){const k=Pe(n.selectedItems.value),E=e.isItemSelected(f);E&&(h===!1||h==null)?w=k.filter(S=>S!==f):!E&&(h===!0||h==null)?w=[f].concat(k):w=k}else h===!1||h==null&&e.isItemSelected(f)?w=t.multiSelect?[]:null:w=t.multiSelect?[f]:f;p(g,w),o.current=f,r.current={}},d=(g,[f,b])=>{if(t.disableSelection||!t.multiSelect)return;let h=Pe(n.selectedItems.value).slice();Object.keys(r.current).length>0&&(h=h.filter(S=>!r.current[S]));const w=_e(h),k=In(e,f,b),E=k.filter(S=>!w[S]);h=h.concat(E),p(g,h),r.current=_e(k)};return{getRootProps:()=>({"aria-multiselectable":t.multiSelect}),publicAPI:{selectItem:u},instance:{isItemSelected:i,selectItem:u,selectAllNavigableItems:g=>{if(t.disableSelection||!t.multiSelect)return;const f=gn(e);p(g,f),r.current=_e(f)},expandSelectionRange:(g,f)=>{if(o.current!=null){const[b,h]=ct(e,f,o.current);d(g,[b,h])}},selectRangeFromStartToItem:(g,f)=>{d(g,[fe(e),f])},selectRangeFromItemToEnd:(g,f)=>{d(g,[f,at(e)])},selectItemFromArrowNavigation:(g,f,b)=>{if(t.disableSelection||!t.multiSelect)return;let h=Pe(n.selectedItems.value).slice();Object.keys(r.current).length===0?(h.push(b),r.current={[f]:!0,[b]:!0}):(r.current[f]||(r.current={}),r.current[b]?(h=h.filter(w=>w!==f),delete r.current[f]):(h.push(b),r.current[b]=!0)),p(g,h)}},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 xn{constructor(t=Ze){this.timeouts=new Map,this.cleanupTimeout=Ze,this.cleanupTimeout=t}register(t,n,o){this.timeouts||(this.timeouts=new Map);const r=setTimeout(()=>{typeof n=="function"&&n(),this.timeouts.delete(o.cleanupToken)},this.cleanupTimeout);this.timeouts.set(o.cleanupToken,r)}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 hn{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,r,I){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new hn:new xn);const[p]=C.useState(new yn),i=C.useRef(null),u=C.useRef(void 0);u.current=I;const d=C.useRef(null);if(!i.current&&u.current){const s=(a,m)=>{var c;m.defaultMuiPrevented||(c=u.current)==null||c.call(u,a,m)};i.current=o.$$subscribeEvent(r,s),t+=1,d.current={cleanupToken:t},e.registry.register(p,()=>{var a;(a=i.current)==null||a.call(i),i.current=null,d.current=null},d.current)}else!u.current&&i.current&&(i.current(),i.current=null,d.current&&(e.registry.unregister(d.current),d.current=null));C.useEffect(()=>{if(!i.current&&u.current){const s=(a,m)=>{var c;m.defaultMuiPrevented||(c=u.current)==null||c.call(u,a,m)};i.current=o.$$subscribeEvent(r,s)}return d.current&&e.registry&&(e.registry.unregister(d.current),d.current=null),()=>{var s;(s=i.current)==null||s.call(i),i.current=null}},[o,r])}}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 r=e.getItemMeta(o);return r&&(r.parentId==null||e.isItemExpanded(r.parentId))});return n==null&&(n=fe(e)),n},Fe=({instance:e,params:t,state:n,setState:o,models:r,rootRef:I})=>{const p=En(e,r.selectedItems.value),i=le.useEventCallback(f=>{const b=typeof f=="function"?f(n.focusedItemId):f;n.focusedItemId!==b&&o(h=>P._extends({},h,{focusedItemId:b}))}),u=C.useCallback(()=>!!I.current&&I.current.contains(dt(Wt.ownerDocument(I.current))),[I]),d=C.useCallback(f=>n.focusedItemId===f&&u(),[n.focusedItemId,u]),s=f=>{const b=e.getItemMeta(f);return b&&(b.parentId==null||e.isItemExpanded(b.parentId))},a=(f,b)=>{const h=e.getItemDOMElement(b);h&&h.focus(),i(b),t.onItemFocus&&t.onItemFocus(f,b)},m=le.useEventCallback((f,b)=>{s(b)&&a(f,b)}),c=le.useEventCallback(()=>{if(n.focusedItemId==null)return;if(e.getItemMeta(n.focusedItemId)){const b=e.getItemDOMElement(n.focusedItemId);b&&b.blur()}i(null)}),x=f=>f===p;Cn(e,"removeItem",({id:f})=>{n.focusedItemId===f&&a(null,p)});const g=f=>b=>{var h;(h=f.onFocus)==null||h.call(f,b),!b.defaultMuiPrevented&&b.target===b.currentTarget&&a(b,p)};return{getRootProps:f=>({onFocus:g(f)}),publicAPI:{focusItem:m},instance:{isItemFocused:d,canItemBeTabbed:x,focusItem:m,removeFocusedItem:c}}};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,[r,I]=C.useState(n),p=t.isItemBeingEdited(o);return C.useEffect(()=>{p||I(n)},[p,n]),{propsEnhancers:{labelInput:({externalEventHandlers:i,interactions:u})=>t.isItemEditable(o)?{value:r??"","data-element":"labelInput",onChange:c=>{var x;(x=i.onChange)==null||x.call(i,c),I(c.target.value)},onKeyDown:c=>{var g;if((g=i.onKeyDown)==null||g.call(i,c),c.defaultMuiPrevented)return;const x=c.target;c.key==="Enter"&&x.value?u.handleSaveItemLabel(c,x.value):c.key==="Escape"&&u.handleCancelItemLabelEditing(c)},onBlur:c=>{var x;(x=i.onBlur)==null||x.call(i,c),!c.defaultMuiPrevented&&c.target.value&&u.handleSaveItemLabel(c,c.target.value)},autoFocus:!0,type:"text"}:{}}}},K=({instance:e,state:t,setState:n,params:o})=>{const r=C.useRef(t.editedItemId),I=a=>r.current===a,p=a=>{n(m=>P._extends({},m,{editedItemId:a})),r.current=a},i=a=>a===t.editedItemId,u=!!o.isItemEditable,d=a=>{if(a==null||!u)return!1;const m=e.getItem(a);return m?typeof o.isItemEditable=="function"?o.isItemEditable(m):!!o.isItemEditable:!1},s=(a,m)=>{if(!m)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
|
-
`));n(c=>{const x=c.items.itemMetaMap[a];return x.label!==m?P._extends({},c,{items:P._extends({},c.items,{itemMetaMap:P._extends({},c.items.itemMetaMap,{[a]:P._extends({},x,{label:m})})})}):c}),o.onItemLabelChange&&o.onItemLabelChange(a,m)};return{instance:{setEditedItemId:p,isItemBeingEdited:i,updateItemLabel:s,isItemEditable:d,isTreeViewEditable:u,isItemBeingEditedRef:I},publicAPI:{updateItemLabel:s}}};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(),r=C.useRef({}),I=le.useEventCallback(s=>{r.current=s(r.current)});C.useEffect(()=>{if(e.areItemUpdatesPrevented())return;const s={},a=m=>{s[m.id]=m.label.substring(0,1).toLowerCase()};Object.values(n.items.itemMetaMap).forEach(a),r.current=s},[n.items.itemMetaMap,t.getItemId,e]);const p=(s,a)=>{const m=a.toLowerCase(),c=b=>{const h=Te(e,b);return h===null?fe(e):h};let x=null,g=c(s);const f={};for(;x==null&&!f[g];)r.current[g]===m?x=g:(f[g]=!0,g=c(g));return x},i=s=>!t.disableSelection&&!e.isItemDisabled(s),u=s=>!e.isItemDisabled(s)&&e.isItemExpandable(s);return{instance:{updateFirstCharMap:I,handleItemKeyDown:(s,a)=>{if(s.defaultMuiPrevented||s.altKey||me(s.target,s.currentTarget))return;const m=s.ctrlKey||s.metaKey,c=s.key;switch(!0){case(c===" "&&i(a)):{s.preventDefault(),t.multiSelect&&s.shiftKey?e.expandSelectionRange(s,a):e.selectItem({event:s,itemId:a,keepExistingSelection:t.multiSelect,shouldBeSelected:t.multiSelect?void 0:!0});break}case c==="Enter":{ne(e,K)&&e.isItemEditable(a)&&!e.isItemBeingEdited(a)?e.setEditedItemId(a):u(a)?(e.toggleItemExpansion(s,a),s.preventDefault()):i(a)&&(t.multiSelect?(s.preventDefault(),e.selectItem({event:s,itemId:a,keepExistingSelection:!0})):e.isItemSelected(a)||(e.selectItem({event:s,itemId:a}),s.preventDefault()));break}case c==="ArrowDown":{const x=Te(e,a);x&&(s.preventDefault(),e.focusItem(s,x),t.multiSelect&&s.shiftKey&&i(x)&&e.selectItemFromArrowNavigation(s,a,x));break}case c==="ArrowUp":{const x=lt(e,a);x&&(s.preventDefault(),e.focusItem(s,x),t.multiSelect&&s.shiftKey&&i(x)&&e.selectItemFromArrowNavigation(s,a,x));break}case(c==="ArrowRight"&&!o||c==="ArrowLeft"&&o):{if(m)return;if(e.isItemExpanded(a)){const x=Te(e,a);x&&(e.focusItem(s,x),s.preventDefault())}else u(a)&&(e.toggleItemExpansion(s,a),s.preventDefault());break}case(c==="ArrowLeft"&&!o||c==="ArrowRight"&&o):{if(m)return;if(u(a)&&e.isItemExpanded(a))e.toggleItemExpansion(s,a),s.preventDefault();else{const x=e.getItemMeta(a).parentId;x&&(e.focusItem(s,x),s.preventDefault())}break}case c==="Home":{i(a)&&t.multiSelect&&m&&s.shiftKey?e.selectRangeFromStartToItem(s,a):e.focusItem(s,fe(e)),s.preventDefault();break}case c==="End":{i(a)&&t.multiSelect&&m&&s.shiftKey?e.selectRangeFromItemToEnd(s,a):e.focusItem(s,at(e)),s.preventDefault();break}case c==="*":{e.expandAllSiblings(s,a),s.preventDefault();break}case(String.fromCharCode(s.keyCode)==="A"&&m&&t.multiSelect&&!t.disableSelection):{e.selectAllNavigableItems(s),s.preventDefault();break}case(!m&&!s.shiftKey&&vn(c)):{const x=p(a,c);x!=null&&(e.focusItem(s,x),s.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=[Ie,we,ve,Fe,ut,pt,K];function ft(e){const{instance:t,items:{onItemClick:n},selection:{multiSelect:o,checkboxSelection:r,disableSelection:I},expansion:{expansionTrigger:p}}=oe(),i=t.isItemExpandable(e),u=t.isItemExpanded(e),d=t.isItemFocused(e),s=t.isItemSelected(e),a=t.isItemDisabled(e),m=t!=null&&t.isItemBeingEdited?t==null?void 0:t.isItemBeingEdited(e):!1,c=t.isItemEditable?t.isItemEditable(e):!1,x=E=>{if(!a){d||t.focusItem(E,e);const S=o&&(E.shiftKey||E.ctrlKey||E.metaKey);i&&!(S&&t.isItemExpanded(e))&&t.toggleItemExpansion(E,e)}},g=E=>{a||(d||t.focusItem(E,e),o&&(E.shiftKey||E.ctrlKey||E.metaKey)?E.shiftKey?t.expandSelectionRange(E,e):t.selectItem({event:E,itemId:e,keepExistingSelection:!0}):t.selectItem({event:E,itemId:e,shouldBeSelected:!0}))},f=E=>{if(I||a)return;const S=E.nativeEvent.shiftKey;o&&S?t.expandSelectionRange(E,e):t.selectItem({event:E,itemId:e,keepExistingSelection:o,shouldBeSelected:E.target.checked})},b=E=>{(E.shiftKey||E.ctrlKey||E.metaKey||a)&&E.preventDefault()},h=()=>{ne(t,K)&&t.isItemEditable(e)&&(t.isItemBeingEdited(e)?t.setEditedItemId(null):t.setEditedItemId(e))};return{disabled:a,expanded:u,selected:s,focused:d,editable:c,editing:m,disableSelection:I,checkboxSelection:r,handleExpansion:x,handleSelection:g,handleCheckboxSelection:f,handleContentClick:n,preventSelection:b,expansionTrigger:p,toggleItemEditing:h,handleSaveItemLabel:(E,S)=>{ne(t,K)&&t.isItemBeingEditedRef(e)&&(t.updateItemLabel(e,S),h(),t.focusItem(E,e))},handleCancelItemLabelEditing:E=>{ne(t,K)&&t.isItemBeingEditedRef(e)&&(h(),t.focusItem(E,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})`:l.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:l.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:l.PropTypes.object});const mt=_.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=C.forwardRef(function(t,n){const{classes:o,className:r,displayIcon:I,expansionIcon:p,icon:i,label:u,itemId:d,onClick:s,onMouseDown:a,dragAndDropOverlayProps:m,labelInputProps:c}=t,x=W._objectWithoutPropertiesLoose(t,kn),{disabled:g,expanded:f,selected:b,focused:h,editing:w,editable:k,disableSelection:E,checkboxSelection:S,handleExpansion:O,handleSelection:$,handleCheckboxSelection:U,handleContentClick:N,preventSelection:B,expansionTrigger:J,toggleItemEditing:q}=ft(d),z=i||p||I,G=C.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),s&&s(L))},H=L=>{L.defaultMuiPrevented||q()};return v.jsxs("div",P._extends({},x,{className:l.clsx(o.root,r,f&&o.expanded,b&&o.selected,h&&o.focused,g&&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:g||E,ref:G,tabIndex:-1}),w?v.jsx(mt,P._extends({},c,{className:o.labelInput})):v.jsx("div",P._extends({className:o.label},k&&{onDoubleClick:H},{children:u})),m&&v.jsx(Ne,P._extends({},m))]}))});process.env.NODE_ENV!=="production"&&($e.propTypes={classes:l.PropTypes.object.isRequired,className:l.PropTypes.string,displayIcon:l.PropTypes.node,dragAndDropOverlayProps:l.PropTypes.shape({action:l.PropTypes.oneOf(["make-child","move-to-parent","reorder-above","reorder-below"]),style:l.PropTypes.object}),expansionIcon:l.PropTypes.node,icon:l.PropTypes.node,itemId:l.PropTypes.string.isRequired,label:l.PropTypes.node,labelInputProps:l.PropTypes.shape({autoFocus:l.PropTypes.oneOf([!0]),"data-element":l.PropTypes.oneOf(["labelInput"]),onBlur:l.PropTypes.func,onChange:l.PropTypes.func,onKeyDown:l.PropTypes.func,type:l.PropTypes.oneOf(["text"]),value:l.PropTypes.string})});function It(e){return l.generateUtilityClass("MuiTreeItem",e)}const X=l.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:r}=oe();return o({children:t,itemId:n,instance:r})}Se.propTypes={children:l.PropTypes.node,itemId:l.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,It,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})`:l.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}))`:l.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})`:l.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}))`:l.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}}]}),xt=C.forwardRef(function(t,n){var ze,We,Ge,Xe;const{icons:o,runItemPlugins:r,items:{disabledItemsFocusable:I,indentationAtItemLevel:p},selection:{disableSelection:i},expansion:{expansionTrigger:u},treeId:d,instance:s}=oe(),a=C.useContext(Ee),m=jn({props:t,name:"MuiTreeItem"}),{children:c,className:x,slots:g,slotProps:f,ContentComponent:b=$e,ContentProps:h,itemId:w,id:k,label:E,onClick:S,onMouseDown:O,onBlur:$,onKeyDown:U}=m,N=W._objectWithoutPropertiesLoose(m,Mn),{expanded:B,focused:J,selected:q,disabled:z,editing:G,handleExpansion:Z,handleCancelItemLabelEditing:Q,handleSaveItemLabel:H}=ft(w);process.env.NODE_ENV!=="production"&&(m.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/."]),m.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}=r(m),ee=C.useRef(null),Re=C.useRef(null),Be=pe.useForkRef(n,Y,ee),Ke=pe.useForkRef(h==null?void 0:h.ref,L,Re),re={expandIcon:(g==null?void 0:g.expandIcon)??o.slots.expandIcon??gt,collapseIcon:(g==null?void 0:g.collapseIcon)??o.slots.collapseIcon??bt,endIcon:(g==null?void 0:g.endIcon)??o.slots.endIcon,icon:g==null?void 0:g.icon,groupTransition:g==null?void 0:g.groupTransition},ke=M=>Array.isArray(M)?M.length>0&&M.some(ke):!!M,ce=ke(c),ge=P._extends({},m,{expanded:B,focused:J,selected:q,disabled:z,indentationAtItemLevel:p}),T=Ln(ge),y=re.groupTransition??void 0,R=V.useSlotProps({elementType:y,ownerState:{},externalSlotProps:f==null?void 0:f.groupTransition,additionalProps:P._extends({unmountOnExit:!0,in:B,component:"ul",role:"group"},p?{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(f==null?void 0:f.collapseIcon,M)):P._extends({},j.resolveComponentProps(o.slotProps.expandIcon,M),j.resolveComponentProps(f==null?void 0:f.expandIcon,M)),additionalProps:{onClick:D}}),be=W._objectWithoutPropertiesLoose(te,On),xe=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(f==null?void 0:f.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:f==null?void 0:f.icon}),Lt=W._objectWithoutPropertiesLoose(jt,_n),At=Oe?v.jsx(Oe,P._extends({},Lt)):null;let he;q?he=!0:i||z?he=void 0:he=!1;function Vt(M){!J&&(!z||I)&&M.currentTarget===M.target&&s.focusItem(M,w)}function Ft(M){var se,de,Je,Qe;$==null||$(M),!(G||M.relatedTarget&&me(M.relatedTarget,ee.current)&&(M.target&&((de=(se=M.target)==null?void 0:se.dataset)==null?void 0:de.element)==="labelInput"&&me(M.target,ee.current)||((Qe=(Je=M.relatedTarget)==null?void 0:Je.dataset)==null?void 0:Qe.element)==="labelInput"))&&s.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"&&s.handleItemKeyDown(M,w)},$t=Le({itemId:w,treeId:d,id:k}),Bt=s.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(h)})))??{},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:l.clsx(T.root,x),role:"treeitem","aria-expanded":ce?B:void 0,"aria-selected":he,"aria-disabled":z||void 0,id:$t,tabIndex:Bt},N,{ownerState:ge,onFocus:Vt,onBlur:Ft,onKeyDown:Nt,ref:Be,style:p?P._extends({},N.style,{"--TreeView-itemDepth":typeof a=="function"?a(w):a}):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:E,itemId:w,onClick:S,onMouseDown:O,icon:At,expansionIcon:xe,displayIcon:_t,ownerState:ge},h,qt,qe.action==null?{}:{dragAndDropOverlayProps:qe},Ue.value==null?{}:{labelInputProps:Ue},{ref:Ke})),c&&v.jsx(Fn,P._extends({as:y},R,{children:c}))]}))})});process.env.NODE_ENV!=="production"&&(xt.propTypes={children:l.PropTypes.node,classes:l.PropTypes.object,className:l.PropTypes.string,ContentComponent:Gt.elementTypeAcceptingRef,ContentProps:l.PropTypes.object,disabled:l.PropTypes.bool,itemId:l.PropTypes.string.isRequired,label:l.PropTypes.node,onFocus:nt.unsupportedProp,onKeyDown:l.PropTypes.func,slotProps:l.PropTypes.object,slots:l.PropTypes.object,sx:l.PropTypes.oneOfType([l.PropTypes.arrayOf(l.PropTypes.oneOfType([l.PropTypes.func,l.PropTypes.object,l.PropTypes.bool])),l.PropTypes.func,l.PropTypes.object])});const Nn=["ownerState"];function $n({slots:e,slotProps:t,label:n,id:o,itemId:r,itemsToRender:I}){const p=(e==null?void 0:e.item)??xt,i=V.useSlotProps({elementType:p,externalSlotProps:t==null?void 0:t.item,additionalProps:{itemId:r,id:o,label:n},ownerState:{itemId:r,label:n}}),u=W._objectWithoutPropertiesLoose(i,Nn),d=C.useMemo(()=>I?v.jsx(ht,{itemsToRender:I,slots:e,slotProps:t}):null,[I,e,t]);return v.jsx(p,P._extends({},u,{children:d}))}function ht(e){const{itemsToRender:t,slots:n,slotProps:o}=e;return v.jsx(C.Fragment,{children:t.map(r=>v.jsx($n,{slots:n,slotProps:o,label:r.label,id:r.id,itemId:r.itemId,itemsToRender:r.children},r.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=C.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:r,contextValue:I,instance:p}=cn({plugins:Sn,rootRef:n,props:o}),{slots:i,slotProps:u}=o,d=Kn(o),s=(i==null?void 0:i.root)??qn,a=V.useSlotProps({elementType:s,externalSlotProps:u==null?void 0:u.root,className:d.root,getSlotProps:r,ownerState:o});return v.jsx(dn,{value:I,children:v.jsx(s,P._extends({},a,{children:v.jsx(ht,{slots:i,slotProps:u,itemsToRender:p.getItemsToRender()})}))})});process.env.NODE_ENV!=="production"&&(yt.propTypes={apiRef:l.PropTypes.shape({current:l.PropTypes.shape({focusItem:l.PropTypes.func.isRequired,getItem:l.PropTypes.func.isRequired,getItemDOMElement:l.PropTypes.func.isRequired,getItemOrderedChildrenIds:l.PropTypes.func.isRequired,getItemTree:l.PropTypes.func.isRequired,selectItem:l.PropTypes.func.isRequired,setItemExpansion:l.PropTypes.func.isRequired,updateItemLabel:l.PropTypes.func.isRequired})}),checkboxSelection:l.PropTypes.bool,classes:l.PropTypes.object,className:l.PropTypes.string,defaultExpandedItems:l.PropTypes.arrayOf(l.PropTypes.string),defaultSelectedItems:l.PropTypes.any,disabledItemsFocusable:l.PropTypes.bool,disableSelection:l.PropTypes.bool,expandedItems:l.PropTypes.arrayOf(l.PropTypes.string),expansionTrigger:l.PropTypes.oneOf(["content","iconContainer"]),experimentalFeatures:l.PropTypes.shape({indentationAtItemLevel:l.PropTypes.bool,labelEditing:l.PropTypes.bool}),getItemId:l.PropTypes.func,getItemLabel:l.PropTypes.func,id:l.PropTypes.string,isItemDisabled:l.PropTypes.func,isItemEditable:l.PropTypes.oneOfType([l.PropTypes.func,l.PropTypes.bool]),itemChildrenIndentation:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.string]),items:l.PropTypes.array.isRequired,multiSelect:l.PropTypes.bool,onExpandedItemsChange:l.PropTypes.func,onItemClick:l.PropTypes.func,onItemExpansionToggle:l.PropTypes.func,onItemFocus:l.PropTypes.func,onItemLabelChange:l.PropTypes.func,onItemSelectionToggle:l.PropTypes.func,onSelectedItemsChange:l.PropTypes.func,selectedItems:l.PropTypes.any,slotProps:l.PropTypes.object,slots:l.PropTypes.object,sx:l.PropTypes.oneOfType([l.PropTypes.arrayOf(l.PropTypes.oneOfType([l.PropTypes.func,l.PropTypes.object,l.PropTypes.bool])),l.PropTypes.func,l.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:r}=oe(),I={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},p=c=>{if(I.disabled)return;I.focused||n.focusItem(c,e);const x=o&&(c.shiftKey||c.ctrlKey||c.metaKey);I.expandable&&!(x&&n.isItemExpanded(e))&&n.toggleItemExpansion(c,e)},i=c=>{if(I.disabled)return;I.focused||n.focusItem(c,e),o&&(c.shiftKey||c.ctrlKey||c.metaKey)?c.shiftKey?n.expandSelectionRange(c,e):n.selectItem({event:c,itemId:e,keepExistingSelection:!0}):n.selectItem({event:c,itemId:e,shouldBeSelected:!0})},u=c=>{const x=c.nativeEvent.shiftKey;o&&x?n.expandSelectionRange(c,e):n.selectItem({event:c,itemId:e,keepExistingSelection:o,shouldBeSelected:c.target.checked})},d=()=>{ne(n,K)&&n.isItemEditable(e)&&(n.isItemBeingEdited(e)?n.setEditedItemId(null):n.setEditedItemId(e))};return{interactions:{handleExpansion:p,handleSelection:i,handleCheckboxSelection:u,toggleItemEditing:d,handleSaveItemLabel:(c,x)=>{ne(n,K)&&n.isItemBeingEditedRef(e)&&(n.updateItemLabel(e,x),d(),n.focusItem(c,e))},handleCancelItemLabelEditing:c=>{ne(n,K)&&n.isItemBeingEditedRef(e)&&(d(),n.focusItem(c,e))}},status:I,publicAPI:r}},zn=e=>{const{runItemPlugins:t,items:{onItemClick:n,disabledItemsFocusable:o,indentationAtItemLevel:r},selection:{disableSelection:I,checkboxSelection:p},expansion:{expansionTrigger:i},treeId:u,instance:d,publicAPI:s}=oe(),a=C.useContext(Ee),{id:m,itemId:c,label:x,children:g,rootRef:f}=e,{rootRef:b,contentRef:h,propsEnhancers:w}=t(e),{interactions:k,status:E}=Un({itemId:c,children:g}),S=C.useRef(null),O=C.useRef(null),$=pe.useForkRef(f,b,S),U=pe.useForkRef(h,O),N=C.useRef(null),B=Le({itemId:c,treeId:u,id:m}),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=!E.disabled||o;!E.focused&&R&&y.currentTarget===y.target&&d.focusItem(y,c)},G=T=>y=>{var D,F,te,be,xe;if((D=T.onBlur)==null||D.call(T,y),y.defaultMuiPrevented)return;const R=d.getItemDOMElement(c);E.editing||y.relatedTarget&&me(y.relatedTarget,R)&&(y.target&&((te=(F=y.target)==null?void 0:F.dataset)==null?void 0:te.element)==="labelInput"&&me(y.target,R)||((xe=(be=y.relatedTarget)==null?void 0:be.dataset)==null?void 0:xe.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),n==null||n(y,c),!(y.defaultMuiPrevented||(D=N.current)!=null&&D.contains(y.target))&&(i==="content"&&k.handleExpansion(y),p||k.handleSelection(y))},L=T=>y=>{var R;(R=T.onMouseDown)==null||R.call(T,y),!y.defaultMuiPrevented&&(y.shiftKey||y.ctrlKey||y.metaKey||E.disabled)&&y.preventDefault()},Y=T=>y=>{var R;(R=T.onChange)==null||R.call(T,y),!y.defaultMuiPrevented&&(I||E.disabled||k.handleCheckboxSelection(y))},A=T=>y=>{var R;(R=T.onClick)==null||R.call(T,y),!y.defaultMuiPrevented&&i==="iconContainer"&&k.handleExpansion(y)};return{getRootProps:(T={})=>{var te;const y=P._extends({},j.extractEventHandlers(e),j.extractEventHandlers(T));let R;E.selected?R=!0:I||E.disabled?R=void 0:R=!1;const D=P._extends({},y,{ref:$,role:"treeitem",tabIndex:J,id:B,"aria-expanded":E.expandable?E.expanded:void 0,"aria-selected":R,"aria-disabled":E.disabled||void 0},T,{onFocus:z(y),onBlur:G(y),onKeyDown:Z(y)});r&&(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:E});r&&(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:E.expanded,children:g},T);return r&&(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:p,ref:N,checked:E.selected,disabled:I||E.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=E.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:E,publicAPI:s}},Pt=zn;function Ct(e){const{slots:t,slotProps:n,status:o}=e,r=oe(),I=P._extends({},r.icons.slots,{expandIcon:r.icons.slots.expandIcon??gt,collapseIcon:r.icons.slots.collapseIcon??bt}),p=r.icons.slotProps;let i;t!=null&&t.icon?i="icon":o.expandable?o.expanded?i="collapseIcon":i="expandIcon":i="endIcon";const u=(t==null?void 0:t[i])??I[i],d=V.useSlotProps({elementType:u,externalSlotProps:s=>P._extends({},j.resolveComponentProps(p[i],s),j.resolveComponentProps(n==null?void 0:n[i],s)),ownerState:{}});return u?v.jsx(u,P._extends({},d)):null}process.env.NODE_ENV!=="production"&&(Ct.propTypes={slotProps:l.PropTypes.object,slots:l.PropTypes.object,status:l.PropTypes.shape({disabled:l.PropTypes.bool.isRequired,editable:l.PropTypes.bool.isRequired,editing:l.PropTypes.bool.isRequired,expandable:l.PropTypes.bool.isRequired,expanded:l.PropTypes.bool.isRequired,focused:l.PropTypes.bool.isRequired,selected:l.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})`:l.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}))`:l.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})`:l.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}))`:l.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(C.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,It,t)},Yn=C.forwardRef(function(t,n){const o=Xn({props:t,name:"MuiTreeItem2"}),{id:r,itemId:I,label:p,disabled:i,children:u,slots:d={},slotProps:s={}}=o,a=W._objectWithoutPropertiesLoose(o,Gn),{getRootProps:m,getContentProps:c,getIconContainerProps:x,getCheckboxProps:g,getLabelProps:f,getGroupTransitionProps:b,getLabelInputProps:h,getDragAndDropOverlayProps:w,status:k}=Pt({id:r,itemId:I,children:u,label:p,disabled:i}),E=P._extends({},o,k),S=Qn(E),O=d.root??Et,$=V.useSlotProps({elementType:O,getSlotProps:m,externalForwardedProps:a,externalSlotProps:s.root,additionalProps:{ref:n},ownerState:{},className:S.root}),U=d.content??wt,N=V.useSlotProps({elementType:U,getSlotProps:c,externalSlotProps:s.content,ownerState:{},className:l.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:s.iconContainer,ownerState:{},className:S.iconContainer}),q=d.label??vt,z=V.useSlotProps({elementType:q,getSlotProps:f,externalSlotProps:s.label,ownerState:{},className:S.label}),G=d.checkbox??Jn,Z=V.useSlotProps({elementType:G,getSlotProps:g,externalSlotProps:s.checkbox,ownerState:{},className:S.checkbox}),Q=d.groupTransition??void 0,H=V.useSlotProps({elementType:Q,getSlotProps:b,externalSlotProps:s.groupTransition,ownerState:{},className:S.groupTransition}),L=d.labelInput??mt,Y=V.useSlotProps({elementType:L,getSlotProps:h,externalSlotProps:s.labelInput,ownerState:{},className:S.labelInput}),A=d.dragAndDropOverlay??Ne,ee=V.useSlotProps({elementType:A,getSlotProps:w,externalSlotProps:s.dragAndDropOverlay,ownerState:{},className:S.dragAndDropOverlay});return v.jsx(Se,{itemId:I,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:s})})),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:l.PropTypes.node,classes:l.PropTypes.object,className:l.PropTypes.string,disabled:l.PropTypes.bool,id:l.PropTypes.string,itemId:l.PropTypes.string.isRequired,label:l.PropTypes.node,onBlur:l.PropTypes.func,onFocus:nt.unsupportedProp,onKeyDown:l.PropTypes.func,slotProps:l.PropTypes.object,slots:l.PropTypes.object});const Zn=()=>C.useRef(void 0);var kt=(e=>(e.FOLDER="FOLDER",e.SHARE="SHARE",e.TRASH="TRASH",e.CUSTOM="CUSTOM",e))(kt||{});const Hn=(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}},eo=ue.forwardRef(function(t,n){const{id:o,itemId:r,label:I,disabled:p,children:i,itemData:u,iconColor:d="primary"}=t,s=Hn(u==null?void 0:u.iconType,u==null?void 0:u.customIcon),{getRootProps:a,getContentProps:m,getLabelProps:c,getGroupTransitionProps:x,getIconContainerProps:g,status:f}=Pt({id:o,itemId:r,label:I,disabled:p,children:i,rootRef:n});return v.jsx(Se,{itemId:r,children:v.jsxs(Et,{...a(),children:[v.jsxs(wt,{...m(),style:{display:"flex",alignItems:"center",width:"100%"},children:[v.jsx(St,{...g(),children:v.jsx(s,{fontSize:"small",color:d})}),v.jsx(vt,{...c()}),v.jsx(He.Box,{sx:{display:"flex",marginLeft:"auto"},children:f.expandable&&(f.expanded?v.jsx(Jt,{fontSize:"small"}):v.jsx(Qt,{fontSize:"small"}))})]}),i&&v.jsx(Rt,{...x(),style:f.expanded?{borderLeft:"1px solid #bdbdbd",paddingLeft:"12px",marginLeft:"15px",marginTop:"4px",marginBottom:"4px"}:void 0})]})})}),to=e=>{const t={},n=o=>{var r;t[o.id]=o,(r=o.children)!=null&&r.length&&o.children.forEach(n)};return e.forEach(n),t},Mt=(e,t,n=[])=>{var o;for(const r of t){if(r.id===e)return n;if((o=r.children)!=null&&o.length){const I=Mt(e,r.children,[...n,r.id]);if(I.length>0)return I}}return[]},no=({items:e,onItemSelect:t,iconColor:n="primary",expandedItemId:o})=>{const r=ue.useMemo(()=>to(e),[e]),I=Zn(),p=ue.useMemo(()=>o?r[o]?[...Mt(o,e),o]:[]:[],[o,r,e]);return ue.useEffect(()=>{I.current&&p.length>0&&p.forEach(i=>{I.current.setItemExpansion(i,!0)})},[I,p]),console.log(p),v.jsx(He.Box,{sx:{minHeight:200,minWidth:200},children:v.jsx(yt,{apiRef:I,items:e,itemChildrenIndentation:"50px",defaultExpandedItems:p,onSelect:(i,u)=>{t&&typeof u=="string"&&t(i,u)},slots:{item:i=>{const u=i.itemId?r[i.itemId]:void 0;return v.jsx(eo,{...i,itemData:u,iconColor:n})}}})})};exports.ICON_TYPE=kt;exports.default=no;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("react/jsx-runtime"),qt=require("../../Delete-DmeDAs0n.cjs"),ae=require("../../createSvgIcon-DJMYlO0S.cjs"),Ze=require("../../Box-DYA49L7w.cjs"),P=require("../../ButtonBase-D6tfI-8D.cjs"),He=require("react"),Pe=require("../../warning-DMUNDgRg.cjs"),ue=require("../../useForkRef-CTI33h-3.cjs"),j=require("../../resolveComponentProps-PuUs-PsA.cjs"),s=require("../../generateUtilityClasses-De8NU9_E.cjs"),W=require("../../TransitionGroupContext-Zt4NoR0u.cjs"),Ut=require("../../useThemeProps-DxBEHys5.cjs"),_=require("../../DefaultPropsProvider-wpBXjN8r.cjs"),et=require("../../Collapse-Bvxtq7n-.cjs"),tt=require("../../Checkbox-DQgPXaym.cjs"),ot=require("../../unsupportedProp-Bn6XWqwH.cjs"),V=require("../../useSlotProps-CvOxvhyy.cjs"),le=require("../../useEventCallback-C0-Qw3Sm.cjs"),zt=require("../../ownerDocument-4MViGo3k.cjs"),Wt=require("../../elementTypeAcceptingRef-BjgxF5Bq.cjs");function Gt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const E=Gt(He),Oe=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"),Xt=ae.createSvgIcon(v.jsx("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown"),Jt=ae.createSvgIcon(v.jsx("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z"}),"KeyboardArrowRight"),Qt=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 Yt(e){return s.generateUtilityClass("MuiRichTreeView",e)}s.generateUtilityClasses("MuiRichTreeView",["root"]);function _e(e){return Ut.useThemeProps}const Zt=(e,t)=>{const o=E.useRef({}),[n,i]=E.useState(()=>{const I={};return e.forEach(l=>{l.models&&Object.entries(l.models).forEach(([p,d])=>{o.current[p]={isControlled:t[p]!==void 0,getDefaultValue:d.getDefaultValue},I[p]=d.getDefaultValue(t)})}),I}),g=Object.fromEntries(Object.entries(o.current).map(([I,l])=>{const p=t[I]??n[I];return[I,{value:p,setControlledValue:d=>{l.isControlled||i(r=>P._extends({},r,{[I]:d}))}}]}));return process.env.NODE_ENV!=="production"&&Object.entries(o.current).forEach(([I,l])=>{const p=t[I],d=l.getDefaultValue(t);E.useEffect(()=>{l.isControlled!==(p!==void 0)&&console.error([`MUI X: A component is changing the ${l.isControlled?"":"un"}controlled ${I} state of TreeView to be ${l.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
|
+
`))},[p]);const{current:r}=E.useRef(d);E.useEffect(()=>{!l.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 Ht{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,o,n={}){let i=this.events[t];if(i||(i={highPriority:new Map,regular:new Map},this.events[t]=i),n.isFirst?i.highPriority.set(o,!0):i.regular.set(o,!0),process.env.NODE_ENV!=="production"){const g=i.highPriority.size+i.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,o){this.events[t]&&(this.events[t].regular.delete(o),this.events[t].highPriority.delete(o))}removeAllListeners(){this.events={}}emit(t,...o){const n=this.events[t];if(!n)return;const i=Array.from(n.highPriority.keys()),g=Array.from(n.regular.keys());for(let I=i.length-1;I>=0;I-=1){const l=i[I];n.highPriority.has(l)&&l.apply(this,o)}for(let I=0;I<g.length;I+=1){const l=g[I];n.regular.has(l)&&l.apply(this,o)}}once(t,o){const n=this;this.on(t,function i(...g){n.removeListener(t,i),o.apply(n,g)})}}const eo=e=>e.isPropagationStopped!==void 0,nt=()=>{const[e]=E.useState(()=>new Ht),t=E.useCallback((...n)=>{const[i,g,I={}]=n;I.defaultMuiPrevented=!1,!(eo(I)&&I.isPropagationStopped())&&e.emit(i,g,I)},[e]),o=E.useCallback((n,i)=>(e.on(n,i),()=>{e.removeListener(n,i)}),[e]);return{instance:{$$publishEvent:t,$$subscribeEvent:o}}};nt.params={};const rt=({plugins:e})=>{const t=new Set(e);return{instance:{getAvailablePlugins:()=>t}}};rt.params={};let Qe=0;const to=()=>(Qe+=1,`mui-tree-view-${Qe}`),je=({id:e,treeId:t="",itemId:o})=>e??`${t}-${o}`,Le=({params:e,state:t,setState:o})=>{E.useEffect(()=>{o(i=>i.id.treeId===e.id&&i.id.treeId!==void 0?i:P._extends({},i,{id:P._extends({},i.id,{treeId:e.id??to()})}))},[o,e.id]);const n=e.id??t.id.treeId;return{getRootProps:()=>({id:n}),contextValue:{treeId:n}}};Le.params={id:!0};Le.getInitialState=({id:e})=>({id:{treeId:e??void 0}});const oo=[nt,rt,Le],no=["slots","slotProps","apiRef","experimentalFeatures"],ro=e=>{let{props:{slots:t,slotProps:o,apiRef:n,experimentalFeatures:i},plugins:g}=e,I=W._objectWithoutPropertiesLoose(e.props,no);const l={};g.forEach(f=>{Object.assign(l,f.params)});const p={},d={};Object.keys(I).forEach(f=>{const c=I[f];l[f]?p[f]=c:d[f]=c});const r=i??{},a=g.reduce((f,c)=>c.getDefaultizedParams?c.getDefaultizedParams({params:f,experimentalFeatures:r}):f,p);return{apiRef:n,forwardedProps:d,pluginParams:a,slots:t??{},slotProps:o??{},experimentalFeatures:r}},so=({plugins:e,instance:t,publicAPI:o,rootRef:n})=>({runItemPlugins:l=>{let p=null,d=null;const r=[],a={};e.forEach(x=>{if(!x.itemPlugin)return;const m=x.itemPlugin({props:l,rootRef:p,contentRef:d});m!=null&&m.rootRef&&(p=m.rootRef),m!=null&&m.contentRef&&(d=m.contentRef),m!=null&&m.propsEnhancers&&(r.push(m.propsEnhancers),Object.keys(m.propsEnhancers).forEach(u=>{a[u]=!0}))});const f=x=>m=>{const u={};return r.forEach(b=>{const h=b[x];h!=null&&Object.assign(u,h(m))}),u},c=Object.fromEntries(Object.keys(a).map(x=>[x,f(x)]));return{contentRef:d,rootRef:p,propsEnhancers:c}},wrapItem:({itemId:l,children:p})=>{let d=p;for(let r=e.length-1;r>=0;r-=1){const a=e[r];a.wrapItem&&(d=a.wrapItem({itemId:l,children:d,instance:t}))}return d},wrapRoot:({children:l})=>{let p=l;for(let d=e.length-1;d>=0;d-=1){const r=e[d];r.wrapRoot&&(p=r.wrapRoot({children:p,instance:t}))}return p},instance:t,rootRef:n,publicAPI:o});function io(e){const t=E.useRef({});return e?(e.current==null&&(e.current={}),e.current):t.current}const lo=({plugins:e,rootRef:t,props:o})=>{const n=[...oo,...e],{pluginParams:i,forwardedProps:g,apiRef:I,experimentalFeatures:l,slots:p,slotProps:d}=ro({plugins:n,props:o}),r=Zt(n,i),f=E.useRef({}).current,c=io(I),x=E.useRef(null),m=ue.useForkRef(x,t),u=so({plugins:n,instance:f,publicAPI:c,rootRef:x}),[b,h]=E.useState(()=>{const S={};return n.forEach(O=>{O.getInitialState&&Object.assign(S,O.getInitialState(i))}),S}),w=[],k=S=>{const O=S({instance:f,params:i,slots:p,slotProps:d,experimentalFeatures:l,state:b,setState:h,rootRef:x,models:r,plugins:n});O.getRootProps&&w.push(O.getRootProps),O.publicAPI&&Object.assign(c,O.publicAPI),O.instance&&Object.assign(f,O.instance),O.contextValue&&Object.assign(u,O.contextValue)};return n.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:u,instance:f}},Ae=E.createContext(null);process.env.NODE_ENV!=="production"&&(Ae.displayName="TreeViewContext");function ao(e){const{value:t,children:o}=e;return v.jsx(Ae.Provider,{value:t,children:t.wrapRoot({children:o,instance:t.instance})})}const ne=()=>{const e=E.useContext(Ae);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},co=(e,t,o)=>{e.$$publishEvent(t,o)},ie="__TREE_VIEW_ROOT_PARENT_ID__",uo=e=>{const t={};return e.forEach((o,n)=>{t[o]=n}),t},Ce=E.createContext(()=>-1);process.env.NODE_ENV!=="production"&&(Ce.displayName="TreeViewItemDepthContext");const po=["children"],st=({items:e,isItemDisabled:t,getItemLabel:o,getItemId:n})=>{const i={},g={},I={[ie]:[]},l=(d,r,a)=>{var m,u;const f=n?n(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(i[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 c=o?o(d):d.label;if(c==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
|
+
`));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;
|
|
@@ -16,7 +16,7 @@ export declare enum ICON_TYPE {
|
|
|
16
16
|
}
|
|
17
17
|
export type IconType = ICON_TYPE | SvgIconComponent;
|
|
18
18
|
export interface CustomTreeViewItemProps {
|
|
19
|
-
|
|
19
|
+
internalId: string;
|
|
20
20
|
label: string;
|
|
21
21
|
iconType?: IconType;
|
|
22
22
|
customIcon?: SvgIconComponent;
|
|
@@ -26,7 +26,6 @@ export interface TreeViewProps {
|
|
|
26
26
|
items: CustomTreeViewItem[];
|
|
27
27
|
onItemSelect?: (event: React.SyntheticEvent, itemId: string) => void;
|
|
28
28
|
iconColor?: string;
|
|
29
|
-
expandedItemId?: string;
|
|
30
29
|
}
|
|
31
30
|
declare const TreeView: FC<TreeViewProps>;
|
|
32
31
|
export default TreeView;
|