????
Current Path : C:/inetpub/vhost/donthu.gdtsolutions.vn/api/wwwroot/assets/ |
Current File : C:/inetpub/vhost/donthu.gdtsolutions.vn/api/wwwroot/assets/TreeItem-BQfGEQC2.js |
var __defProp=Object.defineProperty;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});import{_ as _extends,i as PropTypes,bo as createTheme,bp as styled,c as capitalize,b as reactExports,f as _objectWithoutPropertiesLoose,j as jsxRuntimeExports,h as clsx,bq as useThemeProps,l as composeClasses$1,g as generateUtilityClass,s as styled$1,u as useThemeProps$1,a as generateUtilityClasses,b1 as useForkRef$1,b2 as useId,br as useEventCallback,bs as ownerDocument,d as useTheme,ax as useEnhancedEffect,aD as createSvgIcon,bt as shouldForwardProp_1,bu as elementTypeAcceptingRef,bv as unsupportedProp}from"./index-D8rI6KyB.js";import{C as Checkbox}from"./Checkbox-vGtwoe9y.js";import{C as Collapse}from"./Collapse-D-11qsGz.js";import{a as alpha}from"./colorManipulator-6h19tMo6.js";const _excluded$3=["className","component","disableGutters","fixed","maxWidth","classes"],defaultTheme=createTheme(),defaultCreateStyledComponent=styled("div",{name:"MuiContainer",slot:"Root",overridesResolver:(props,styles)=>{const{ownerState}=props;return[styles.root,styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`],ownerState.fixed&&styles.fixed,ownerState.disableGutters&&styles.disableGutters]}}),useThemePropsDefault=__name(inProps=>useThemeProps({props:inProps,name:"MuiContainer",defaultTheme}),"useThemePropsDefault"),useUtilityClasses$2=__name((ownerState,componentName)=>{const getContainerUtilityClass=__name(slot=>generateUtilityClass(componentName,slot),"getContainerUtilityClass"),{classes,fixed,disableGutters,maxWidth}=ownerState,slots={root:["root",maxWidth&&`maxWidth${capitalize(String(maxWidth))}`,fixed&&"fixed",disableGutters&&"disableGutters"]};return composeClasses$1(slots,getContainerUtilityClass,classes)},"useUtilityClasses$2");function createContainer(options={}){const{createStyledComponent=defaultCreateStyledComponent,useThemeProps:useThemeProps2=useThemePropsDefault,componentName="MuiContainer"}=options,ContainerRoot=createStyledComponent(({theme,ownerState})=>_extends({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block"},!ownerState.disableGutters&&{paddingLeft:theme.spacing(2),paddingRight:theme.spacing(2),[theme.breakpoints.up("sm")]:{paddingLeft:theme.spacing(3),paddingRight:theme.spacing(3)}}),({theme,ownerState})=>ownerState.fixed&&Object.keys(theme.breakpoints.values).reduce((acc,breakpointValueKey)=>{const breakpoint=breakpointValueKey,value=theme.breakpoints.values[breakpoint];return value!==0&&(acc[theme.breakpoints.up(breakpoint)]={maxWidth:`${value}${theme.breakpoints.unit}`}),acc},{}),({theme,ownerState})=>_extends({},ownerState.maxWidth==="xs"&&{[theme.breakpoints.up("xs")]:{maxWidth:Math.max(theme.breakpoints.values.xs,444)}},ownerState.maxWidth&&ownerState.maxWidth!=="xs"&&{[theme.breakpoints.up(ownerState.maxWidth)]:{maxWidth:`${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`}})),Container2=reactExports.forwardRef(__name(function(inProps,ref){const props=useThemeProps2(inProps),{className,component="div",disableGutters=!1,fixed=!1,maxWidth="lg"}=props,other=_objectWithoutPropertiesLoose(props,_excluded$3),ownerState=_extends({},props,{component,disableGutters,fixed,maxWidth}),classes=useUtilityClasses$2(ownerState,componentName);return jsxRuntimeExports.jsx(ContainerRoot,_extends({as:component,ownerState,className:clsx(classes.root,className),ref},other))},"Container2"));return Container2.propTypes={children:PropTypes.node,classes:PropTypes.object,className:PropTypes.string,component:PropTypes.elementType,disableGutters:PropTypes.bool,fixed:PropTypes.bool,maxWidth:PropTypes.oneOfType([PropTypes.oneOf(["xs","sm","md","lg","xl",!1]),PropTypes.string]),sx:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func,PropTypes.object,PropTypes.bool])),PropTypes.func,PropTypes.object])},Container2}__name(createContainer,"createContainer");const Container=createContainer({createStyledComponent:styled$1("div",{name:"MuiContainer",slot:"Root",overridesResolver:(props,styles)=>{const{ownerState}=props;return[styles.root,styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`],ownerState.fixed&&styles.fixed,ownerState.disableGutters&&styles.disableGutters]}}),useThemeProps:inProps=>useThemeProps$1({props:inProps,name:"MuiContainer"})});Container.propTypes={children:PropTypes.node,classes:PropTypes.object,component:PropTypes.elementType,disableGutters:PropTypes.bool,fixed:PropTypes.bool,maxWidth:PropTypes.oneOfType([PropTypes.oneOf(["xs","sm","md","lg","xl",!1]),PropTypes.string]),sx:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func,PropTypes.object,PropTypes.bool])),PropTypes.func,PropTypes.object])};function isHostComponent(element){return typeof element=="string"}__name(isHostComponent,"isHostComponent");function appendOwnerState(elementType,otherProps,ownerState){return elementType===void 0||isHostComponent(elementType)?otherProps:{...otherProps,ownerState:{...otherProps.ownerState,...ownerState}}}__name(appendOwnerState,"appendOwnerState");function extractEventHandlers(object,excludeKeys=[]){if(object===void 0)return{};const result={};return Object.keys(object).filter(prop=>prop.match(/^on[A-Z]/)&&typeof object[prop]=="function"&&!excludeKeys.includes(prop)).forEach(prop=>{result[prop]=object[prop]}),result}__name(extractEventHandlers,"extractEventHandlers");function resolveComponentProps(componentProps,ownerState,slotState){return typeof componentProps=="function"?componentProps(ownerState,slotState):componentProps}__name(resolveComponentProps,"resolveComponentProps");function setRef(ref,value){typeof ref=="function"?ref(value):ref&&(ref.current=value)}__name(setRef,"setRef");function useForkRef(...refs){return reactExports.useMemo(()=>refs.every(ref=>ref==null)?null:instance=>{refs.forEach(ref=>{setRef(ref,instance)})},refs)}__name(useForkRef,"useForkRef");function composeClasses(slots,getUtilityClass,classes=void 0){const output={};return Object.keys(slots).forEach(slot=>{output[slot]=slots[slot].reduce((acc,key)=>{if(key){const utilityClass=getUtilityClass(key);utilityClass!==""&&acc.push(utilityClass),classes&&classes[key]&&acc.push(classes[key])}return acc},[]).join(" ")}),output}__name(composeClasses,"composeClasses");function omitEventHandlers(object){if(object===void 0)return{};const result={};return Object.keys(object).filter(prop=>!(prop.match(/^on[A-Z]/)&&typeof object[prop]=="function")).forEach(prop=>{result[prop]=object[prop]}),result}__name(omitEventHandlers,"omitEventHandlers");function mergeSlotProps(parameters){const{getSlotProps,additionalProps,externalSlotProps,externalForwardedProps,className}=parameters;if(!getSlotProps){const joinedClasses2=clsx(additionalProps==null?void 0:additionalProps.className,className,externalForwardedProps==null?void 0:externalForwardedProps.className,externalSlotProps==null?void 0:externalSlotProps.className),mergedStyle2={...additionalProps==null?void 0:additionalProps.style,...externalForwardedProps==null?void 0:externalForwardedProps.style,...externalSlotProps==null?void 0:externalSlotProps.style},props2={...additionalProps,...externalForwardedProps,...externalSlotProps};return joinedClasses2.length>0&&(props2.className=joinedClasses2),Object.keys(mergedStyle2).length>0&&(props2.style=mergedStyle2),{props:props2,internalRef:void 0}}const eventHandlers=extractEventHandlers({...externalForwardedProps,...externalSlotProps}),componentsPropsWithoutEventHandlers=omitEventHandlers(externalSlotProps),otherPropsWithoutEventHandlers=omitEventHandlers(externalForwardedProps),internalSlotProps=getSlotProps(eventHandlers),joinedClasses=clsx(internalSlotProps==null?void 0:internalSlotProps.className,additionalProps==null?void 0:additionalProps.className,className,externalForwardedProps==null?void 0:externalForwardedProps.className,externalSlotProps==null?void 0:externalSlotProps.className),mergedStyle={...internalSlotProps==null?void 0:internalSlotProps.style,...additionalProps==null?void 0:additionalProps.style,...externalForwardedProps==null?void 0:externalForwardedProps.style,...externalSlotProps==null?void 0:externalSlotProps.style},props={...internalSlotProps,...additionalProps,...otherPropsWithoutEventHandlers,...componentsPropsWithoutEventHandlers};return joinedClasses.length>0&&(props.className=joinedClasses),Object.keys(mergedStyle).length>0&&(props.style=mergedStyle),{props,internalRef:internalSlotProps.ref}}__name(mergeSlotProps,"mergeSlotProps");function useSlotProps(parameters){var _a;const{elementType,externalSlotProps,ownerState,skipResolvingSlotProps=!1,...rest}=parameters,resolvedComponentsProps=skipResolvingSlotProps?{}:resolveComponentProps(externalSlotProps,ownerState),{props:mergedProps,internalRef}=mergeSlotProps({...rest,externalSlotProps:resolvedComponentsProps}),ref=useForkRef(internalRef,resolvedComponentsProps==null?void 0:resolvedComponentsProps.ref,(_a=parameters.additionalProps)==null?void 0:_a.ref);return appendOwnerState(elementType,{...mergedProps,ref},ownerState)}__name(useSlotProps,"useSlotProps");function getSimpleTreeViewUtilityClass(slot){return generateUtilityClass("MuiSimpleTreeView",slot)}__name(getSimpleTreeViewUtilityClass,"getSimpleTreeViewUtilityClass");generateUtilityClasses("MuiSimpleTreeView",["root"]);const useTreeViewModels=__name((plugins,props)=>{const modelsRef=reactExports.useRef({}),[modelsState,setModelsState]=reactExports.useState(()=>{const initialState={};return plugins.forEach(plugin=>{plugin.models&&Object.entries(plugin.models).forEach(([modelName,modelInitializer])=>{modelsRef.current[modelName]={isControlled:props[modelName]!==void 0,getDefaultValue:modelInitializer.getDefaultValue},initialState[modelName]=modelInitializer.getDefaultValue(props)})}),initialState}),models=Object.fromEntries(Object.entries(modelsRef.current).map(([modelName,model])=>{const value=props[modelName]??modelsState[modelName];return[modelName,{value,setControlledValue:newValue=>{model.isControlled||setModelsState(prevState=>_extends({},prevState,{[modelName]:newValue}))}}]}));return Object.entries(modelsRef.current).forEach(([modelName,model])=>{const controlled=props[modelName],newDefaultValue=model.getDefaultValue(props);reactExports.useEffect(()=>{model.isControlled!==(controlled!==void 0)&&console.error([`MUI X: A component is changing the ${model.isControlled?"":"un"}controlled ${modelName} state of TreeView to be ${model.isControlled?"un":""}controlled.`,"Elements should not switch from uncontrolled to controlled (or vice versa).",`Decide between using a controlled or uncontrolled ${modelName} 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(` `))},[controlled]);const{current:defaultValue}=reactExports.useRef(newDefaultValue);reactExports.useEffect(()=>{!model.isControlled&&defaultValue!==newDefaultValue&&console.error([`MUI X: A component is changing the default ${modelName} state of an uncontrolled TreeView after being initialized. To suppress this warning opt to use a controlled TreeView.`].join(` `))},[JSON.stringify(newDefaultValue)])}),models},"useTreeViewModels"),_EventManager=class _EventManager{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(eventName,listener,options={}){let collection=this.events[eventName];collection||(collection={highPriority:new Map,regular:new Map},this.events[eventName]=collection),options.isFirst?collection.highPriority.set(listener,!0):collection.regular.set(listener,!0);{const collectionSize=collection.highPriority.size+collection.regular.size;collectionSize>this.maxListeners&&!this.warnOnce&&(this.warnOnce=!0,console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`].join(` `)))}}removeListener(eventName,listener){this.events[eventName]&&(this.events[eventName].regular.delete(listener),this.events[eventName].highPriority.delete(listener))}removeAllListeners(){this.events={}}emit(eventName,...args){const collection=this.events[eventName];if(!collection)return;const highPriorityListeners=Array.from(collection.highPriority.keys()),regularListeners=Array.from(collection.regular.keys());for(let i=highPriorityListeners.length-1;i>=0;i-=1){const listener=highPriorityListeners[i];collection.highPriority.has(listener)&&listener.apply(this,args)}for(let i=0;i<regularListeners.length;i+=1){const listener=regularListeners[i];collection.regular.has(listener)&&listener.apply(this,args)}}once(eventName,listener){const that=this;this.on(eventName,__name(function oneTimeListener(...args){that.removeListener(eventName,oneTimeListener),listener.apply(that,args)},"oneTimeListener"))}};__name(_EventManager,"EventManager");let EventManager=_EventManager;const isSyntheticEvent=__name(event=>event.isPropagationStopped!==void 0,"isSyntheticEvent"),useTreeViewInstanceEvents=__name(()=>{const[eventManager]=reactExports.useState(()=>new EventManager),publishEvent=reactExports.useCallback((...args)=>{const[name,params,event={}]=args;event.defaultMuiPrevented=!1,!(isSyntheticEvent(event)&&event.isPropagationStopped())&&eventManager.emit(name,params,event)},[eventManager]),subscribeEvent=reactExports.useCallback((event,handler)=>(eventManager.on(event,handler),()=>{eventManager.removeListener(event,handler)}),[eventManager]);return{instance:{$$publishEvent:publishEvent,$$subscribeEvent:subscribeEvent}}},"useTreeViewInstanceEvents");useTreeViewInstanceEvents.params={};const TREE_VIEW_CORE_PLUGINS=[useTreeViewInstanceEvents];function useTreeViewApiInitialization(inputApiRef){const fallbackPublicApiRef=reactExports.useRef({});return inputApiRef?(inputApiRef.current==null&&(inputApiRef.current={}),inputApiRef.current):fallbackPublicApiRef.current}__name(useTreeViewApiInitialization,"useTreeViewApiInitialization");const useTreeView=__name(inParams=>{const plugins=[...TREE_VIEW_CORE_PLUGINS,...inParams.plugins],params=plugins.reduce((acc,plugin)=>plugin.getDefaultizedParams?plugin.getDefaultizedParams(acc):acc,inParams),models=useTreeViewModels(plugins,params),instance=reactExports.useRef({}).current,publicAPI=useTreeViewApiInitialization(inParams.apiRef),innerRootRef=reactExports.useRef(null),handleRootRef=useForkRef$1(innerRootRef,inParams.rootRef),[state,setState]=reactExports.useState(()=>{const temp={};return plugins.forEach(plugin=>{plugin.getInitialState&&Object.assign(temp,plugin.getInitialState(params))}),temp}),rootPropsGetters=[],contextValue={publicAPI,instance,rootRef:innerRootRef},runPlugin=__name(plugin=>{const pluginResponse=plugin({instance,params,slots:params.slots,slotProps:params.slotProps,experimentalFeatures:params.experimentalFeatures,state,setState,rootRef:innerRootRef,models});pluginResponse.getRootProps&&rootPropsGetters.push(pluginResponse.getRootProps),pluginResponse.publicAPI&&Object.assign(publicAPI,pluginResponse.publicAPI),pluginResponse.instance&&Object.assign(instance,pluginResponse.instance),pluginResponse.contextValue&&Object.assign(contextValue,pluginResponse.contextValue)},"runPlugin");plugins.forEach(runPlugin),contextValue.runItemPlugins=itemPluginProps=>{let finalRootRef=null,finalContentRef=null;return plugins.forEach(plugin=>{if(!plugin.itemPlugin)return;const itemPluginResponse=plugin.itemPlugin({props:itemPluginProps,rootRef:finalRootRef,contentRef:finalContentRef});itemPluginResponse!=null&&itemPluginResponse.rootRef&&(finalRootRef=itemPluginResponse.rootRef),itemPluginResponse!=null&&itemPluginResponse.contentRef&&(finalContentRef=itemPluginResponse.contentRef)}),{contentRef:finalContentRef,rootRef:finalRootRef}};const itemWrappers=plugins.map(plugin=>plugin.wrapItem).filter(wrapItem=>!!wrapItem);contextValue.wrapItem=({itemId,children})=>{let finalChildren=children;return itemWrappers.forEach(itemWrapper=>{finalChildren=itemWrapper({itemId,children:finalChildren,instance})}),finalChildren};const rootWrappers=plugins.map(plugin=>plugin.wrapRoot).filter(wrapRoot=>!!wrapRoot).reverse();return contextValue.wrapRoot=({children})=>{let finalChildren=children;return rootWrappers.forEach(rootWrapper=>{finalChildren=rootWrapper({children:finalChildren,instance})}),finalChildren},{getRootProps:__name((otherHandlers={})=>{const rootProps=_extends({role:"tree"},otherHandlers,{ref:handleRootRef});return rootPropsGetters.forEach(rootPropsGetter=>{Object.assign(rootProps,rootPropsGetter(otherHandlers))}),rootProps},"getRootProps"),rootRef:handleRootRef,contextValue,instance}},"useTreeView"),TreeViewContext=reactExports.createContext(null);TreeViewContext.displayName="TreeViewContext";function TreeViewProvider(props){const{value,children}=props;return jsxRuntimeExports.jsx(TreeViewContext.Provider,{value,children:value.wrapRoot({children})})}__name(TreeViewProvider,"TreeViewProvider");const useTreeViewId=__name(({params})=>{const treeId=useId(params.id),getTreeItemIdAttribute=reactExports.useCallback((itemId,idAttribute)=>idAttribute??`${treeId}-${itemId}`,[treeId]);return{getRootProps:()=>({id:treeId}),instance:{getTreeItemIdAttribute}}},"useTreeViewId");useTreeViewId.params={id:!0};const publishTreeViewEvent=__name((instance,eventName,params)=>{instance.$$publishEvent(eventName,params)},"publishTreeViewEvent"),TREE_VIEW_ROOT_PARENT_ID="__TREE_VIEW_ROOT_PARENT_ID__",buildSiblingIndexes=__name(siblings=>{const siblingsIndexLookup={};return siblings.forEach((childId,index)=>{siblingsIndexLookup[childId]=index}),siblingsIndexLookup},"buildSiblingIndexes"),TreeViewItemDepthContext=reactExports.createContext(()=>-1);TreeViewItemDepthContext.displayName="TreeViewItemDepthContext";const updateItemsState=__name(({items,isItemDisabled,getItemLabel,getItemId})=>{const itemMetaMap={},itemMap={},itemOrderedChildrenIds={[TREE_VIEW_ROOT_PARENT_ID]:[]},processItem=__name((item,depth,parentId)=>{var _a,_b;const id=getItemId?getItemId(item):item.id;if(id==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(item)].join(` `));if(itemMetaMap[id]!=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: "${id}"`].join(` `));const label=getItemLabel?getItemLabel(item):item.label;if(label==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(item)].join(` `));itemMetaMap[id]={id,label,parentId,idAttribute:void 0,expandable:!!((_a=item.children)!=null&&_a.length),disabled:isItemDisabled?isItemDisabled(item):!1,depth},itemMap[id]=item,itemOrderedChildrenIds[id]=[];const parentIdWithDefault=parentId??TREE_VIEW_ROOT_PARENT_ID;itemOrderedChildrenIds[parentIdWithDefault]||(itemOrderedChildrenIds[parentIdWithDefault]=[]),itemOrderedChildrenIds[parentIdWithDefault].push(id),(_b=item.children)==null||_b.forEach(child=>processItem(child,depth+1,id))},"processItem");items.forEach(item=>processItem(item,0,null));const itemChildrenIndexes={};return Object.keys(itemOrderedChildrenIds).forEach(parentId=>{itemChildrenIndexes[parentId]=buildSiblingIndexes(itemOrderedChildrenIds[parentId])}),{itemMetaMap,itemMap,itemOrderedChildrenIds,itemChildrenIndexes}},"updateItemsState"),useTreeViewItems=__name(({instance,params,state,setState,experimentalFeatures})=>{const getItemMeta=reactExports.useCallback(itemId=>state.items.itemMetaMap[itemId],[state.items.itemMetaMap]),getItem=reactExports.useCallback(itemId=>state.items.itemMap[itemId],[state.items.itemMap]),isItemDisabled=reactExports.useCallback(itemId=>{if(itemId==null)return!1;let itemMeta=instance.getItemMeta(itemId);if(!itemMeta)return!1;if(itemMeta.disabled)return!0;for(;itemMeta.parentId!=null;)if(itemMeta=instance.getItemMeta(itemMeta.parentId),itemMeta.disabled)return!0;return!1},[instance]),getItemIndex=reactExports.useCallback(itemId=>{const parentId=instance.getItemMeta(itemId).parentId??TREE_VIEW_ROOT_PARENT_ID;return state.items.itemChildrenIndexes[parentId][itemId]},[instance,state.items.itemChildrenIndexes]),getItemOrderedChildrenIds=reactExports.useCallback(itemId=>state.items.itemOrderedChildrenIds[itemId??TREE_VIEW_ROOT_PARENT_ID]??[],[state.items.itemOrderedChildrenIds]),isItemNavigable=__name(itemId=>params.disabledItemsFocusable?!0:!instance.isItemDisabled(itemId),"isItemNavigable"),areItemUpdatesPreventedRef=reactExports.useRef(!1),preventItemUpdates=reactExports.useCallback(()=>{areItemUpdatesPreventedRef.current=!0},[]),areItemUpdatesPrevented=reactExports.useCallback(()=>areItemUpdatesPreventedRef.current,[]);return reactExports.useEffect(()=>{instance.areItemUpdatesPrevented()||setState(prevState=>{const newState=updateItemsState({items:params.items,isItemDisabled:params.isItemDisabled,getItemId:params.getItemId,getItemLabel:params.getItemLabel});return Object.values(prevState.items.itemMetaMap).forEach(item=>{newState.itemMetaMap[item.id]||publishTreeViewEvent(instance,"removeItem",{id:item.id})}),_extends({},prevState,{items:newState})})},[instance,setState,params.items,params.isItemDisabled,params.getItemId,params.getItemLabel]),{getRootProps:()=>({style:{"--TreeView-itemChildrenIndentation":typeof params.itemChildrenIndentation=="number"?`${params.itemChildrenIndentation}px`:params.itemChildrenIndentation}}),publicAPI:{getItem},instance:{getItemMeta,getItem,getItemsToRender:__name(()=>{const getPropsFromItemId=__name(id=>{const item=state.items.itemMetaMap[id];return{label:item.label,itemId:item.id,id:item.idAttribute,children:state.items.itemOrderedChildrenIds[id].map(getPropsFromItemId)}},"getPropsFromItemId");return state.items.itemOrderedChildrenIds[TREE_VIEW_ROOT_PARENT_ID].map(getPropsFromItemId)},"getItemsToRender"),getItemIndex,getItemOrderedChildrenIds,isItemDisabled,isItemNavigable,preventItemUpdates,areItemUpdatesPrevented},contextValue:{disabledItemsFocusable:params.disabledItemsFocusable,indentationAtItemLevel:experimentalFeatures.indentationAtItemLevel??!1}}},"useTreeViewItems");useTreeViewItems.getInitialState=params=>({items:updateItemsState({items:params.items,isItemDisabled:params.isItemDisabled,getItemId:params.getItemId,getItemLabel:params.getItemLabel})});useTreeViewItems.getDefaultizedParams=params=>_extends({},params,{disabledItemsFocusable:params.disabledItemsFocusable??!1,itemChildrenIndentation:params.itemChildrenIndentation??"12px"});useTreeViewItems.wrapRoot=({children,instance})=>jsxRuntimeExports.jsx(TreeViewItemDepthContext.Provider,{value:itemId=>{var _a;return((_a=instance.getItemMeta(itemId))==null?void 0:_a.depth)??0},children});useTreeViewItems.params={disabledItemsFocusable:!0,items:!0,isItemDisabled:!0,getItemLabel:!0,getItemId:!0,itemChildrenIndentation:!0};const useTreeViewExpansion=__name(({instance,params,models})=>{const expandedItemsMap=reactExports.useMemo(()=>{const temp=new Map;return models.expandedItems.value.forEach(id=>{temp.set(id,!0)}),temp},[models.expandedItems.value]),setExpandedItems=__name((event,value)=>{var _a;(_a=params.onExpandedItemsChange)==null||_a.call(params,event,value),models.expandedItems.setControlledValue(value)},"setExpandedItems"),isItemExpanded=reactExports.useCallback(itemId=>expandedItemsMap.has(itemId),[expandedItemsMap]),isItemExpandable2=reactExports.useCallback(itemId=>{var _a;return!!((_a=instance.getItemMeta(itemId))!=null&&_a.expandable)},[instance]),toggleItemExpansion=useEventCallback((event,itemId)=>{const isExpandedBefore=instance.isItemExpanded(itemId);instance.setItemExpansion(event,itemId,!isExpandedBefore)}),setItemExpansion=useEventCallback((event,itemId,isExpanded)=>{if(instance.isItemExpanded(itemId)===isExpanded)return;let newExpanded;isExpanded?newExpanded=[itemId].concat(models.expandedItems.value):newExpanded=models.expandedItems.value.filter(id=>id!==itemId),params.onItemExpansionToggle&¶ms.onItemExpansionToggle(event,itemId,isExpanded),setExpandedItems(event,newExpanded)});return{publicAPI:{setItemExpansion},instance:{isItemExpanded,isItemExpandable:isItemExpandable2,setItemExpansion,toggleItemExpansion,expandAllSiblings:__name((event,itemId)=>{const itemMeta=instance.getItemMeta(itemId),diff=instance.getItemOrderedChildrenIds(itemMeta.parentId).filter(child=>instance.isItemExpandable(child)&&!instance.isItemExpanded(child)),newExpanded=models.expandedItems.value.concat(diff);diff.length>0&&(params.onItemExpansionToggle&&diff.forEach(newlyExpandedItemId=>{params.onItemExpansionToggle(event,newlyExpandedItemId,!0)}),setExpandedItems(event,newExpanded))},"expandAllSiblings")}}},"useTreeViewExpansion");useTreeViewExpansion.models={expandedItems:{getDefaultValue:params=>params.defaultExpandedItems}};const DEFAULT_EXPANDED_ITEMS=[];useTreeViewExpansion.getDefaultizedParams=params=>_extends({},params,{defaultExpandedItems:params.defaultExpandedItems??DEFAULT_EXPANDED_ITEMS});useTreeViewExpansion.params={expandedItems:!0,defaultExpandedItems:!0,onExpandedItemsChange:!0,onItemExpansionToggle:!0};const getLastNavigableItemInArray=__name((instance,items)=>{let itemIndex=items.length-1;for(;itemIndex>=0&&!instance.isItemNavigable(items[itemIndex]);)itemIndex-=1;if(itemIndex!==-1)return items[itemIndex]},"getLastNavigableItemInArray"),getPreviousNavigableItem=__name((instance,itemId)=>{const itemMeta=instance.getItemMeta(itemId),siblings=instance.getItemOrderedChildrenIds(itemMeta.parentId),itemIndex=instance.getItemIndex(itemId);if(itemIndex===0)return itemMeta.parentId;let previousNavigableSiblingIndex=itemIndex-1;for(;!instance.isItemNavigable(siblings[previousNavigableSiblingIndex])&&previousNavigableSiblingIndex>=0;)previousNavigableSiblingIndex-=1;if(previousNavigableSiblingIndex===-1)return itemMeta.parentId==null?null:getPreviousNavigableItem(instance,itemMeta.parentId);let currentItemId=siblings[previousNavigableSiblingIndex],lastNavigableChild=getLastNavigableItemInArray(instance,instance.getItemOrderedChildrenIds(currentItemId));for(;instance.isItemExpanded(currentItemId)&&lastNavigableChild!=null;)currentItemId=lastNavigableChild,lastNavigableChild=instance.getItemOrderedChildrenIds(currentItemId).find(instance.isItemNavigable);return currentItemId},"getPreviousNavigableItem"),getNextNavigableItem=__name((instance,itemId)=>{if(instance.isItemExpanded(itemId)){const firstNavigableChild=instance.getItemOrderedChildrenIds(itemId).find(instance.isItemNavigable);if(firstNavigableChild!=null)return firstNavigableChild}let itemMeta=instance.getItemMeta(itemId);for(;itemMeta!=null;){const siblings=instance.getItemOrderedChildrenIds(itemMeta.parentId),currentItemIndex=instance.getItemIndex(itemMeta.id);if(currentItemIndex<siblings.length-1){let nextItemIndex=currentItemIndex+1;for(;!instance.isItemNavigable(siblings[nextItemIndex])&&nextItemIndex<siblings.length-1;)nextItemIndex+=1;if(instance.isItemNavigable(siblings[nextItemIndex]))return siblings[nextItemIndex]}itemMeta=instance.getItemMeta(itemMeta.parentId)}return null},"getNextNavigableItem"),getLastNavigableItem=__name(instance=>{let itemId=null;for(;itemId==null||instance.isItemExpanded(itemId);){const children=instance.getItemOrderedChildrenIds(itemId),lastNavigableChild=getLastNavigableItemInArray(instance,children);if(lastNavigableChild==null)return itemId;itemId=lastNavigableChild}return itemId},"getLastNavigableItem"),getFirstNavigableItem=__name(instance=>instance.getItemOrderedChildrenIds(null).find(instance.isItemNavigable),"getFirstNavigableItem"),findOrderInTremauxTree=__name((instance,itemAId,itemBId)=>{if(itemAId===itemBId)return[itemAId,itemBId];const itemMetaA=instance.getItemMeta(itemAId),itemMetaB=instance.getItemMeta(itemBId);if(itemMetaA.parentId===itemMetaB.id||itemMetaB.parentId===itemMetaA.id)return itemMetaB.parentId===itemMetaA.id?[itemMetaA.id,itemMetaB.id]:[itemMetaB.id,itemMetaA.id];const aFamily=[itemMetaA.id],bFamily=[itemMetaB.id];let aAncestor=itemMetaA.parentId,bAncestor=itemMetaB.parentId,aAncestorIsCommon=bFamily.indexOf(aAncestor)!==-1,bAncestorIsCommon=aFamily.indexOf(bAncestor)!==-1,continueA=!0,continueB=!0;for(;!bAncestorIsCommon&&!aAncestorIsCommon;)continueA&&(aFamily.push(aAncestor),aAncestorIsCommon=bFamily.indexOf(aAncestor)!==-1,continueA=aAncestor!==null,!aAncestorIsCommon&&continueA&&(aAncestor=instance.getItemMeta(aAncestor).parentId)),continueB&&!aAncestorIsCommon&&(bFamily.push(bAncestor),bAncestorIsCommon=aFamily.indexOf(bAncestor)!==-1,continueB=bAncestor!==null,!bAncestorIsCommon&&continueB&&(bAncestor=instance.getItemMeta(bAncestor).parentId));const commonAncestor=aAncestorIsCommon?aAncestor:bAncestor,ancestorFamily=instance.getItemOrderedChildrenIds(commonAncestor),aSide=aFamily[aFamily.indexOf(commonAncestor)-1],bSide=bFamily[bFamily.indexOf(commonAncestor)-1];return ancestorFamily.indexOf(aSide)<ancestorFamily.indexOf(bSide)?[itemAId,itemBId]:[itemBId,itemAId]},"findOrderInTremauxTree"),getNonDisabledItemsInRange=__name((instance,itemAId,itemBId)=>{const getNextItem=__name(itemId=>{if(instance.isItemExpandable(itemId)&&instance.isItemExpanded(itemId))return instance.getItemOrderedChildrenIds(itemId)[0];let itemMeta=instance.getItemMeta(itemId);for(;itemMeta!=null;){const siblings=instance.getItemOrderedChildrenIds(itemMeta.parentId),currentItemIndex=instance.getItemIndex(itemMeta.id);if(currentItemIndex<siblings.length-1)return siblings[currentItemIndex+1];itemMeta=instance.getItemMeta(itemMeta.parentId)}throw new Error("Invalid range")},"getNextItem"),[first,last]=findOrderInTremauxTree(instance,itemAId,itemBId),items=[first];let current=first;for(;current!==last;)current=getNextItem(current),instance.isItemDisabled(current)||items.push(current);return items},"getNonDisabledItemsInRange"),getAllNavigableItems=__name(instance=>{let item=getFirstNavigableItem(instance);const navigableItems=[];for(;item!=null;)navigableItems.push(item),item=getNextNavigableItem(instance,item);return navigableItems},"getAllNavigableItems"),convertSelectedItemsToArray=__name(model=>Array.isArray(model)?model:model!=null?[model]:[],"convertSelectedItemsToArray"),getLookupFromArray=__name(array=>{const lookup={};return array.forEach(itemId=>{lookup[itemId]=!0}),lookup},"getLookupFromArray"),useTreeViewSelection=__name(({instance,params,models})=>{const lastSelectedItem=reactExports.useRef(null),lastSelectedRange=reactExports.useRef({}),selectedItemsMap=reactExports.useMemo(()=>{const temp=new Map;return Array.isArray(models.selectedItems.value)?models.selectedItems.value.forEach(id=>{temp.set(id,!0)}):models.selectedItems.value!=null&&temp.set(models.selectedItems.value,!0),temp},[models.selectedItems.value]),setSelectedItems=__name((event,newSelectedItems)=>{if(params.onItemSelectionToggle)if(params.multiSelect){const addedItems=newSelectedItems.filter(itemId=>!instance.isItemSelected(itemId)),removedItems=models.selectedItems.value.filter(itemId=>!newSelectedItems.includes(itemId));addedItems.forEach(itemId=>{params.onItemSelectionToggle(event,itemId,!0)}),removedItems.forEach(itemId=>{params.onItemSelectionToggle(event,itemId,!1)})}else newSelectedItems!==models.selectedItems.value&&(models.selectedItems.value!=null&¶ms.onItemSelectionToggle(event,models.selectedItems.value,!1),newSelectedItems!=null&¶ms.onItemSelectionToggle(event,newSelectedItems,!0));params.onSelectedItemsChange&¶ms.onSelectedItemsChange(event,newSelectedItems),models.selectedItems.setControlledValue(newSelectedItems)},"setSelectedItems"),isItemSelected=__name(itemId=>selectedItemsMap.has(itemId),"isItemSelected"),selectItem=__name((event,itemId,keepExistingSelection,newValue)=>{if(params.disableSelection)return;let newSelected;if(keepExistingSelection){const cleanSelectedItems=convertSelectedItemsToArray(models.selectedItems.value),isSelectedBefore=instance.isItemSelected(itemId);isSelectedBefore&&(newValue===!1||newValue==null)?newSelected=cleanSelectedItems.filter(id=>id!==itemId):!isSelectedBefore&&(newValue===!0||newValue==null)?newSelected=[itemId].concat(cleanSelectedItems):newSelected=cleanSelectedItems}else newValue===!1?newSelected=params.multiSelect?[]:null:newSelected=params.multiSelect?[itemId]:itemId;setSelectedItems(event,newSelected),lastSelectedItem.current=itemId,lastSelectedRange.current={}},"selectItem"),selectRange=__name((event,[start,end])=>{if(params.disableSelection||!params.multiSelect)return;let newSelectedItems=convertSelectedItemsToArray(models.selectedItems.value).slice();Object.keys(lastSelectedRange.current).length>0&&(newSelectedItems=newSelectedItems.filter(id=>!lastSelectedRange.current[id]));const selectedItemsLookup=getLookupFromArray(newSelectedItems),range=getNonDisabledItemsInRange(instance,start,end),itemsToAddToModel=range.filter(id=>!selectedItemsLookup[id]);newSelectedItems=newSelectedItems.concat(itemsToAddToModel),setSelectedItems(event,newSelectedItems),lastSelectedRange.current=getLookupFromArray(range)},"selectRange");return{getRootProps:()=>({"aria-multiselectable":params.multiSelect}),instance:{isItemSelected,selectItem,selectAllNavigableItems:__name(event=>{if(params.disableSelection||!params.multiSelect)return;const navigableItems=getAllNavigableItems(instance);setSelectedItems(event,navigableItems),lastSelectedRange.current=getLookupFromArray(navigableItems)},"selectAllNavigableItems"),expandSelectionRange:__name((event,itemId)=>{if(lastSelectedItem.current!=null){const[start,end]=findOrderInTremauxTree(instance,itemId,lastSelectedItem.current);selectRange(event,[start,end])}},"expandSelectionRange"),selectRangeFromStartToItem:__name((event,itemId)=>{selectRange(event,[getFirstNavigableItem(instance),itemId])},"selectRangeFromStartToItem"),selectRangeFromItemToEnd:__name((event,itemId)=>{selectRange(event,[itemId,getLastNavigableItem(instance)])},"selectRangeFromItemToEnd"),selectItemFromArrowNavigation:__name((event,currentItem,nextItem)=>{if(params.disableSelection||!params.multiSelect)return;let newSelectedItems=convertSelectedItemsToArray(models.selectedItems.value).slice();Object.keys(lastSelectedRange.current).length===0?(newSelectedItems.push(nextItem),lastSelectedRange.current={[currentItem]:!0,[nextItem]:!0}):(lastSelectedRange.current[currentItem]||(lastSelectedRange.current={}),lastSelectedRange.current[nextItem]?(newSelectedItems=newSelectedItems.filter(id=>id!==currentItem),delete lastSelectedRange.current[currentItem]):(newSelectedItems.push(nextItem),lastSelectedRange.current[nextItem]=!0)),setSelectedItems(event,newSelectedItems)},"selectItemFromArrowNavigation")},contextValue:{selection:{multiSelect:params.multiSelect,checkboxSelection:params.checkboxSelection,disableSelection:params.disableSelection}}}},"useTreeViewSelection");useTreeViewSelection.models={selectedItems:{getDefaultValue:params=>params.defaultSelectedItems}};const DEFAULT_SELECTED_ITEMS=[];useTreeViewSelection.getDefaultizedParams=params=>_extends({},params,{disableSelection:params.disableSelection??!1,multiSelect:params.multiSelect??!1,checkboxSelection:params.checkboxSelection??!1,defaultSelectedItems:params.defaultSelectedItems??(params.multiSelect?DEFAULT_SELECTED_ITEMS:null)});useTreeViewSelection.params={disableSelection:!0,multiSelect:!0,checkboxSelection:!0,defaultSelectedItems:!0,selectedItems:!0,onSelectedItemsChange:!0,onItemSelectionToggle:!0};const CLEANUP_TIMER_LOOP_MILLIS=1e3,_TimerBasedCleanupTracking=class _TimerBasedCleanupTracking{constructor(timeout=CLEANUP_TIMER_LOOP_MILLIS){this.timeouts=new Map,this.cleanupTimeout=CLEANUP_TIMER_LOOP_MILLIS,this.cleanupTimeout=timeout}register(object,unsubscribe,unregisterToken){this.timeouts||(this.timeouts=new Map);const timeout=setTimeout(()=>{typeof unsubscribe=="function"&&unsubscribe(),this.timeouts.delete(unregisterToken.cleanupToken)},this.cleanupTimeout);this.timeouts.set(unregisterToken.cleanupToken,timeout)}unregister(unregisterToken){const timeout=this.timeouts.get(unregisterToken.cleanupToken);timeout&&(this.timeouts.delete(unregisterToken.cleanupToken),clearTimeout(timeout))}reset(){this.timeouts&&(this.timeouts.forEach((value,key)=>{this.unregister({cleanupToken:key})}),this.timeouts=void 0)}};__name(_TimerBasedCleanupTracking,"TimerBasedCleanupTracking");let TimerBasedCleanupTracking=_TimerBasedCleanupTracking;const _FinalizationRegistryBasedCleanupTracking=class _FinalizationRegistryBasedCleanupTracking{constructor(){this.registry=new FinalizationRegistry(unsubscribe=>{typeof unsubscribe=="function"&&unsubscribe()})}register(object,unsubscribe,unregisterToken){this.registry.register(object,unsubscribe,unregisterToken)}unregister(unregisterToken){this.registry.unregister(unregisterToken)}reset(){}};__name(_FinalizationRegistryBasedCleanupTracking,"FinalizationRegistryBasedCleanupTracking");let FinalizationRegistryBasedCleanupTracking=_FinalizationRegistryBasedCleanupTracking;const _ObjectToBeRetainedByReact=class _ObjectToBeRetainedByReact{};__name(_ObjectToBeRetainedByReact,"ObjectToBeRetainedByReact");let ObjectToBeRetainedByReact=_ObjectToBeRetainedByReact;function createUseInstanceEventHandler(registryContainer2){let cleanupTokensCounter=0;return __name(function(instance,eventName,handler){registryContainer2.registry===null&&(registryContainer2.registry=typeof FinalizationRegistry<"u"?new FinalizationRegistryBasedCleanupTracking:new TimerBasedCleanupTracking);const[objectRetainedByReact]=reactExports.useState(new ObjectToBeRetainedByReact),subscription=reactExports.useRef(null),handlerRef=reactExports.useRef();handlerRef.current=handler;const cleanupTokenRef=reactExports.useRef(null);if(!subscription.current&&handlerRef.current){const enhancedHandler=__name((params,event)=>{var _a;event.defaultMuiPrevented||(_a=handlerRef.current)==null||_a.call(handlerRef,params,event)},"enhancedHandler");subscription.current=instance.$$subscribeEvent(eventName,enhancedHandler),cleanupTokensCounter+=1,cleanupTokenRef.current={cleanupToken:cleanupTokensCounter},registryContainer2.registry.register(objectRetainedByReact,()=>{var _a;(_a=subscription.current)==null||_a.call(subscription),subscription.current=null,cleanupTokenRef.current=null},cleanupTokenRef.current)}else!handlerRef.current&&subscription.current&&(subscription.current(),subscription.current=null,cleanupTokenRef.current&&(registryContainer2.registry.unregister(cleanupTokenRef.current),cleanupTokenRef.current=null));reactExports.useEffect(()=>{if(!subscription.current&&handlerRef.current){const enhancedHandler=__name((params,event)=>{var _a;event.defaultMuiPrevented||(_a=handlerRef.current)==null||_a.call(handlerRef,params,event)},"enhancedHandler");subscription.current=instance.$$subscribeEvent(eventName,enhancedHandler)}return cleanupTokenRef.current&®istryContainer2.registry&&(registryContainer2.registry.unregister(cleanupTokenRef.current),cleanupTokenRef.current=null),()=>{var _a;(_a=subscription.current)==null||_a.call(subscription),subscription.current=null}},[instance,eventName])},"useInstanceEventHandler")}__name(createUseInstanceEventHandler,"createUseInstanceEventHandler");const registryContainer={registry:null},useInstanceEventHandler=createUseInstanceEventHandler(registryContainer),getActiveElement=__name((root=document)=>{const activeEl=root.activeElement;return activeEl?activeEl.shadowRoot?getActiveElement(activeEl.shadowRoot):activeEl:null},"getActiveElement"),useDefaultFocusableItemId=__name((instance,selectedItems)=>{let tabbableItemId=convertSelectedItemsToArray(selectedItems).find(itemId=>{if(!instance.isItemNavigable(itemId))return!1;const itemMeta=instance.getItemMeta(itemId);return itemMeta&&(itemMeta.parentId==null||instance.isItemExpanded(itemMeta.parentId))});return tabbableItemId==null&&(tabbableItemId=getFirstNavigableItem(instance)),tabbableItemId},"useDefaultFocusableItemId"),useTreeViewFocus=__name(({instance,params,state,setState,models,rootRef})=>{const defaultFocusableItemId=useDefaultFocusableItemId(instance,models.selectedItems.value),setFocusedItemId=useEventCallback(itemId=>{const cleanItemId=typeof itemId=="function"?itemId(state.focusedItemId):itemId;state.focusedItemId!==cleanItemId&&setState(prevState=>_extends({},prevState,{focusedItemId:cleanItemId}))}),isTreeViewFocused=reactExports.useCallback(()=>!!rootRef.current&&rootRef.current.contains(getActiveElement(ownerDocument(rootRef.current))),[rootRef]),isItemFocused=reactExports.useCallback(itemId=>state.focusedItemId===itemId&&isTreeViewFocused(),[state.focusedItemId,isTreeViewFocused]),isItemVisible=__name(itemId=>{const itemMeta=instance.getItemMeta(itemId);return itemMeta&&(itemMeta.parentId==null||instance.isItemExpanded(itemMeta.parentId))},"isItemVisible"),innerFocusItem=__name((event,itemId)=>{const itemMeta=instance.getItemMeta(itemId),itemElement=document.getElementById(instance.getTreeItemIdAttribute(itemId,itemMeta.idAttribute));itemElement&&itemElement.focus(),setFocusedItemId(itemId),params.onItemFocus&¶ms.onItemFocus(event,itemId)},"innerFocusItem"),focusItem=useEventCallback((event,itemId)=>{isItemVisible(itemId)&&innerFocusItem(event,itemId)}),removeFocusedItem=useEventCallback(()=>{if(state.focusedItemId==null)return;const itemMeta=instance.getItemMeta(state.focusedItemId);if(itemMeta){const itemElement=document.getElementById(instance.getTreeItemIdAttribute(state.focusedItemId,itemMeta.idAttribute));itemElement&&itemElement.blur()}setFocusedItemId(null)}),canItemBeTabbed=__name(itemId=>itemId===defaultFocusableItemId,"canItemBeTabbed");useInstanceEventHandler(instance,"removeItem",({id})=>{state.focusedItemId===id&&innerFocusItem(null,defaultFocusableItemId)});const createRootHandleFocus=__name(otherHandlers=>event=>{var _a;(_a=otherHandlers.onFocus)==null||_a.call(otherHandlers,event),!event.defaultMuiPrevented&&event.target===event.currentTarget&&innerFocusItem(event,defaultFocusableItemId)},"createRootHandleFocus");return{getRootProps:otherHandlers=>({onFocus:createRootHandleFocus(otherHandlers)}),publicAPI:{focusItem},instance:{isItemFocused,canItemBeTabbed,focusItem,removeFocusedItem}}},"useTreeViewFocus");useTreeViewFocus.getInitialState=()=>({focusedItemId:null});useTreeViewFocus.params={onItemFocus:!0};function isPrintableCharacter(string){return!!string&&string.length===1&&!!string.match(/\S/)}__name(isPrintableCharacter,"isPrintableCharacter");const useTreeViewKeyboardNavigation=__name(({instance,params,state})=>{const isRTL=useTheme().direction==="rtl",firstCharMap=reactExports.useRef({}),updateFirstCharMap=useEventCallback(callback=>{firstCharMap.current=callback(firstCharMap.current)});reactExports.useEffect(()=>{if(instance.areItemUpdatesPrevented())return;const newFirstCharMap={},processItem=__name(item=>{newFirstCharMap[item.id]=item.label.substring(0,1).toLowerCase()},"processItem");Object.values(state.items.itemMetaMap).forEach(processItem),firstCharMap.current=newFirstCharMap},[state.items.itemMetaMap,params.getItemId,instance]);const getFirstMatchingItem=__name((itemId,query)=>{const cleanQuery=query.toLowerCase(),getNextItem=__name(itemIdToCheck=>{const nextItemId=getNextNavigableItem(instance,itemIdToCheck);return nextItemId===null?getFirstNavigableItem(instance):nextItemId},"getNextItem");let matchingItemId=null,currentItemId=getNextItem(itemId);const checkedItems={};for(;matchingItemId==null&&!checkedItems[currentItemId];)firstCharMap.current[currentItemId]===cleanQuery?matchingItemId=currentItemId:(checkedItems[currentItemId]=!0,currentItemId=getNextItem(currentItemId));return matchingItemId},"getFirstMatchingItem"),canToggleItemSelection=__name(itemId=>!params.disableSelection&&!instance.isItemDisabled(itemId),"canToggleItemSelection"),canToggleItemExpansion=__name(itemId=>!instance.isItemDisabled(itemId)&&instance.isItemExpandable(itemId),"canToggleItemExpansion");return{instance:{updateFirstCharMap,handleItemKeyDown:__name((event,itemId)=>{if(event.defaultMuiPrevented||event.altKey||event.currentTarget!==event.target.closest('*[role="treeitem"]'))return;const ctrlPressed=event.ctrlKey||event.metaKey,key=event.key;switch(!0){case(key===" "&&canToggleItemSelection(itemId)):{event.preventDefault(),params.multiSelect&&event.shiftKey?instance.expandSelectionRange(event,itemId):params.multiSelect?instance.selectItem(event,itemId,!0):instance.selectItem(event,itemId,!1);break}case key==="Enter":{canToggleItemExpansion(itemId)?(instance.toggleItemExpansion(event,itemId),event.preventDefault()):canToggleItemSelection(itemId)&&(params.multiSelect?(event.preventDefault(),instance.selectItem(event,itemId,!0)):instance.isItemSelected(itemId)||(instance.selectItem(event,itemId,!1),event.preventDefault()));break}case key==="ArrowDown":{const nextItem=getNextNavigableItem(instance,itemId);nextItem&&(event.preventDefault(),instance.focusItem(event,nextItem),params.multiSelect&&event.shiftKey&&canToggleItemSelection(nextItem)&&instance.selectItemFromArrowNavigation(event,itemId,nextItem));break}case key==="ArrowUp":{const previousItem=getPreviousNavigableItem(instance,itemId);previousItem&&(event.preventDefault(),instance.focusItem(event,previousItem),params.multiSelect&&event.shiftKey&&canToggleItemSelection(previousItem)&&instance.selectItemFromArrowNavigation(event,itemId,previousItem));break}case(key==="ArrowRight"&&!isRTL||key==="ArrowLeft"&&isRTL):{if(instance.isItemExpanded(itemId)){const nextItemId=getNextNavigableItem(instance,itemId);nextItemId&&(instance.focusItem(event,nextItemId),event.preventDefault())}else canToggleItemExpansion(itemId)&&(instance.toggleItemExpansion(event,itemId),event.preventDefault());break}case(key==="ArrowLeft"&&!isRTL||key==="ArrowRight"&&isRTL):{if(canToggleItemExpansion(itemId)&&instance.isItemExpanded(itemId))instance.toggleItemExpansion(event,itemId),event.preventDefault();else{const parent=instance.getItemMeta(itemId).parentId;parent&&(instance.focusItem(event,parent),event.preventDefault())}break}case key==="Home":{canToggleItemSelection(itemId)&¶ms.multiSelect&&ctrlPressed&&event.shiftKey?instance.selectRangeFromStartToItem(event,itemId):instance.focusItem(event,getFirstNavigableItem(instance)),event.preventDefault();break}case key==="End":{canToggleItemSelection(itemId)&¶ms.multiSelect&&ctrlPressed&&event.shiftKey?instance.selectRangeFromItemToEnd(event,itemId):instance.focusItem(event,getLastNavigableItem(instance)),event.preventDefault();break}case key==="*":{instance.expandAllSiblings(event,itemId),event.preventDefault();break}case(key==="a"&&ctrlPressed&¶ms.multiSelect&&!params.disableSelection):{instance.selectAllNavigableItems(event),event.preventDefault();break}case(!ctrlPressed&&!event.shiftKey&&isPrintableCharacter(key)):{const matchingItem=getFirstMatchingItem(itemId,key);matchingItem!=null&&(instance.focusItem(event,matchingItem),event.preventDefault());break}}},"handleItemKeyDown")}}},"useTreeViewKeyboardNavigation");useTreeViewKeyboardNavigation.params={};const useTreeViewIcons=__name(({slots,slotProps})=>({contextValue:{icons:{slots:{collapseIcon:slots.collapseIcon,expandIcon:slots.expandIcon,endIcon:slots.endIcon},slotProps:{collapseIcon:slotProps.collapseIcon,expandIcon:slotProps.expandIcon,endIcon:slotProps.endIcon}}}}),"useTreeViewIcons");useTreeViewIcons.params={};const DEFAULT_TREE_VIEW_PLUGINS=[useTreeViewId,useTreeViewItems,useTreeViewExpansion,useTreeViewSelection,useTreeViewFocus,useTreeViewKeyboardNavigation,useTreeViewIcons],useTreeViewContext=__name(()=>{const context=reactExports.useContext(TreeViewContext);if(context==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(` `));return context},"useTreeViewContext"),TreeViewChildrenItemContext=reactExports.createContext(null);TreeViewChildrenItemContext.displayName="TreeViewChildrenItemContext";function TreeViewChildrenItemProvider(props){const{children,itemId=null}=props,{instance,rootRef}=useTreeViewContext(),childrenIdAttrToIdRef=reactExports.useRef(new Map);reactExports.useEffect(()=>{if(!rootRef.current)return;let idAttr=null;if(itemId==null)idAttr=rootRef.current.id;else{const itemMeta=instance.getItemMeta(itemId);itemMeta!==void 0&&(idAttr=instance.getTreeItemIdAttribute(itemId,itemMeta.idAttribute))}if(idAttr==null)return;const previousChildrenIds=instance.getItemOrderedChildrenIds(itemId??null)??[],childrenElements=rootRef.current.querySelectorAll(`${itemId==null?"":`*[id="${idAttr}"] `}[role="treeitem"]:not(*[id="${idAttr}"] [role="treeitem"] [role="treeitem"])`),childrenIds=Array.from(childrenElements).map(child=>childrenIdAttrToIdRef.current.get(child.id));(childrenIds.length!==previousChildrenIds.length||childrenIds.some((childId,index)=>childId!==previousChildrenIds[index]))&&instance.setJSXItemsOrderedChildrenIds(itemId??null,childrenIds)});const value=reactExports.useMemo(()=>({registerChild:(childIdAttribute,childItemId)=>childrenIdAttrToIdRef.current.set(childIdAttribute,childItemId),unregisterChild:childIdAttribute=>childrenIdAttrToIdRef.current.delete(childIdAttribute),parentId:itemId}),[itemId]);return jsxRuntimeExports.jsx(TreeViewChildrenItemContext.Provider,{value,children})}__name(TreeViewChildrenItemProvider,"TreeViewChildrenItemProvider");TreeViewChildrenItemProvider.propTypes={children:PropTypes.node,id:PropTypes.string};const useTreeViewJSXItems=__name(({instance,setState})=>{instance.preventItemUpdates();const insertJSXItem=useEventCallback(item=>(setState(prevState=>{if(prevState.items.itemMetaMap[item.id]!=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: "${item.id}"`].join(` `));return _extends({},prevState,{items:_extends({},prevState.items,{itemMetaMap:_extends({},prevState.items.itemMetaMap,{[item.id]:item}),itemMap:_extends({},prevState.items.itemMap,{[item.id]:{id:item.id,label:item.label}})})})}),()=>{setState(prevState=>{const newItemMetaMap=_extends({},prevState.items.itemMetaMap),newItemMap=_extends({},prevState.items.itemMap);return delete newItemMetaMap[item.id],delete newItemMap[item.id],_extends({},prevState,{items:_extends({},prevState.items,{itemMetaMap:newItemMetaMap,itemMap:newItemMap})})}),publishTreeViewEvent(instance,"removeItem",{id:item.id})})),setJSXItemsOrderedChildrenIds=__name((parentId,orderedChildrenIds)=>{const parentIdWithDefault=parentId??TREE_VIEW_ROOT_PARENT_ID;setState(prevState=>_extends({},prevState,{items:_extends({},prevState.items,{itemOrderedChildrenIds:_extends({},prevState.items.itemOrderedChildrenIds,{[parentIdWithDefault]:orderedChildrenIds}),itemChildrenIndexes:_extends({},prevState.items.itemChildrenIndexes,{[parentIdWithDefault]:buildSiblingIndexes(orderedChildrenIds)})})}))},"setJSXItemsOrderedChildrenIds"),mapFirstCharFromJSX=useEventCallback((itemId,firstChar)=>(instance.updateFirstCharMap(firstCharMap=>(firstCharMap[itemId]=firstChar,firstCharMap)),()=>{instance.updateFirstCharMap(firstCharMap=>{const newMap=_extends({},firstCharMap);return delete newMap[itemId],newMap})}));return{instance:{insertJSXItem,setJSXItemsOrderedChildrenIds,mapFirstCharFromJSX}}},"useTreeViewJSXItems"),isItemExpandable=__name(reactChildren=>Array.isArray(reactChildren)?reactChildren.length>0&&reactChildren.some(isItemExpandable):!!reactChildren,"isItemExpandable"),useTreeViewJSXItemsItemPlugin=__name(({props,rootRef,contentRef})=>{const{instance}=useTreeViewContext(),{children,disabled=!1,label,itemId,id}=props,parentContext=reactExports.useContext(TreeViewChildrenItemContext);if(parentContext==null)throw new Error(["MUI X: Could not find the Tree View Children Item context.","It looks like you rendered your component outside of a SimpleTreeView parent component.","This can also happen if you are bundling multiple versions of the Tree View."].join(` `));const{registerChild,unregisterChild,parentId}=parentContext,expandable=isItemExpandable(children),pluginContentRef=reactExports.useRef(null),handleContentRef=useForkRef$1(pluginContentRef,contentRef);return useEnhancedEffect(()=>{const idAttributeWithDefault=instance.getTreeItemIdAttribute(itemId,id);return registerChild(idAttributeWithDefault,itemId),()=>{unregisterChild(idAttributeWithDefault)}},[instance,registerChild,unregisterChild,itemId,id]),reactExports.useEffect(()=>instance.insertJSXItem({id:itemId,idAttribute:id,parentId,expandable,disabled}),[instance,parentId,itemId,expandable,disabled,id]),reactExports.useEffect(()=>{var _a;if(label)return instance.mapFirstCharFromJSX(itemId,(((_a=pluginContentRef.current)==null?void 0:_a.textContent)??"").substring(0,1).toLowerCase())},[instance,itemId,label]),{contentRef:handleContentRef,rootRef}},"useTreeViewJSXItemsItemPlugin");useTreeViewJSXItems.itemPlugin=useTreeViewJSXItemsItemPlugin;useTreeViewJSXItems.wrapItem=({children,itemId})=>{const depthContext=reactExports.useContext(TreeViewItemDepthContext);return jsxRuntimeExports.jsx(TreeViewChildrenItemProvider,{itemId,children:jsxRuntimeExports.jsx(TreeViewItemDepthContext.Provider,{value:depthContext+1,children})})};useTreeViewJSXItems.wrapRoot=({children})=>jsxRuntimeExports.jsx(TreeViewChildrenItemProvider,{children:jsxRuntimeExports.jsx(TreeViewItemDepthContext.Provider,{value:0,children})});useTreeViewJSXItems.params={};const SIMPLE_TREE_VIEW_PLUGINS=[...DEFAULT_TREE_VIEW_PLUGINS,useTreeViewJSXItems],buildWarning=__name((message,gravity="warning")=>{let alreadyWarned=!1;const cleanMessage=Array.isArray(message)?message.join(` `):message;return()=>{alreadyWarned||(alreadyWarned=!0,gravity==="error"?console.error(cleanMessage):console.warn(cleanMessage))}},"buildWarning"),_excluded$2=["slots","slotProps","apiRef","experimentalFeatures"],extractPluginParamsFromProps=__name(_ref=>{let{props:{slots,slotProps,apiRef,experimentalFeatures},plugins,rootRef}=_ref,props=_objectWithoutPropertiesLoose(_ref.props,_excluded$2);const paramsLookup={};plugins.forEach(plugin=>{Object.assign(paramsLookup,plugin.params)});const pluginParams={plugins,rootRef,slots:slots??{},slotProps:slotProps??{},experimentalFeatures:experimentalFeatures??{},apiRef},otherProps={};return Object.keys(props).forEach(propName=>{const prop=props[propName];paramsLookup[propName]?pluginParams[propName]=prop:otherProps[propName]=prop}),{pluginParams,slots,slotProps,otherProps}},"extractPluginParamsFromProps"),useUtilityClasses$1=__name(ownerState=>{const{classes}=ownerState;return composeClasses$1({root:["root"]},getSimpleTreeViewUtilityClass,classes)},"useUtilityClasses$1"),SimpleTreeViewRoot=styled$1("ul",{name:"MuiSimpleTreeView",slot:"Root",overridesResolver:(props,styles)=>styles.root})({padding:0,margin:0,listStyle:"none",outline:0,position:"relative"}),EMPTY_ITEMS=[],itemsPropWarning=buildWarning(["MUI X: The `SimpleTreeView` component does not support the `items` prop.","If you want to add items, you need to pass them as JSX children.","Check the documentation for more details: https://mui.com/x/react-tree-view/simple-tree-view/items/"]),SimpleTreeView=reactExports.forwardRef(__name(function(inProps,ref){const props=useThemeProps$1({props:inProps,name:"MuiSimpleTreeView"}),ownerState=props;props.items!=null&&itemsPropWarning();const{pluginParams,slots,slotProps,otherProps}=extractPluginParamsFromProps({props:_extends({},props,{items:EMPTY_ITEMS}),plugins:SIMPLE_TREE_VIEW_PLUGINS,rootRef:ref}),{getRootProps,contextValue}=useTreeView(pluginParams),classes=useUtilityClasses$1(props),Root=(slots==null?void 0:slots.root)??SimpleTreeViewRoot,rootProps=useSlotProps({elementType:Root,externalSlotProps:slotProps==null?void 0:slotProps.root,externalForwardedProps:otherProps,className:classes.root,getSlotProps:getRootProps,ownerState});return jsxRuntimeExports.jsx(TreeViewProvider,{value:contextValue,children:jsxRuntimeExports.jsx(Root,_extends({},rootProps))})},"SimpleTreeView2"));SimpleTreeView.propTypes={apiRef:PropTypes.shape({current:PropTypes.shape({focusItem:PropTypes.func.isRequired,getItem:PropTypes.func.isRequired,setItemExpansion:PropTypes.func.isRequired})}),checkboxSelection:PropTypes.bool,children:PropTypes.node,classes:PropTypes.object,className:PropTypes.string,defaultExpandedItems:PropTypes.arrayOf(PropTypes.string),defaultSelectedItems:PropTypes.any,disabledItemsFocusable:PropTypes.bool,disableSelection:PropTypes.bool,expandedItems:PropTypes.arrayOf(PropTypes.string),experimentalFeatures:PropTypes.shape({indentationAtItemLevel:PropTypes.bool}),id:PropTypes.string,itemChildrenIndentation:PropTypes.oneOfType([PropTypes.number,PropTypes.string]),multiSelect:PropTypes.bool,onExpandedItemsChange:PropTypes.func,onItemExpansionToggle:PropTypes.func,onItemFocus:PropTypes.func,onItemSelectionToggle:PropTypes.func,onSelectedItemsChange:PropTypes.func,selectedItems:PropTypes.any,slotProps:PropTypes.object,slots:PropTypes.object,sx:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func,PropTypes.object,PropTypes.bool])),PropTypes.func,PropTypes.object])};function useTreeItemState(itemId){const{instance,selection:{multiSelect,checkboxSelection,disableSelection}}=useTreeViewContext(),expandable=instance.isItemExpandable(itemId),expanded=instance.isItemExpanded(itemId),focused=instance.isItemFocused(itemId),selected=instance.isItemSelected(itemId),disabled=instance.isItemDisabled(itemId);return{disabled,expanded,selected,focused,disableSelection,checkboxSelection,handleExpansion:__name(event=>{if(!disabled){focused||instance.focusItem(event,itemId);const multiple=multiSelect&&(event.shiftKey||event.ctrlKey||event.metaKey);expandable&&!(multiple&&instance.isItemExpanded(itemId))&&instance.toggleItemExpansion(event,itemId)}},"handleExpansion"),handleSelection:__name(event=>{disabled||(focused||instance.focusItem(event,itemId),multiSelect&&(event.shiftKey||event.ctrlKey||event.metaKey)?event.shiftKey?instance.expandSelectionRange(event,itemId):instance.selectItem(event,itemId,!0):instance.selectItem(event,itemId,!1))},"handleSelection"),handleCheckboxSelection:__name(event=>{if(disableSelection||disabled)return;const hasShift=event.nativeEvent.shiftKey;multiSelect&&hasShift?instance.expandSelectionRange(event,itemId):instance.selectItem(event,itemId,multiSelect,event.target.checked)},"handleCheckboxSelection"),preventSelection:__name(event=>{(event.shiftKey||event.ctrlKey||event.metaKey||disabled)&&event.preventDefault()},"preventSelection")}}__name(useTreeItemState,"useTreeItemState");const _excluded$1=["classes","className","displayIcon","expansionIcon","icon","label","itemId","onClick","onMouseDown"],TreeItemContent=reactExports.forwardRef(__name(function(props,ref){const{classes,className,displayIcon,expansionIcon,icon:iconProp,label,itemId,onClick,onMouseDown}=props,other=_objectWithoutPropertiesLoose(props,_excluded$1),{disabled,expanded,selected,focused,disableSelection,checkboxSelection,handleExpansion,handleSelection,handleCheckboxSelection,preventSelection}=useTreeItemState(itemId),icon=iconProp||expansionIcon||displayIcon,checkboxRef=reactExports.useRef(null),handleMouseDown=__name(event=>{preventSelection(event),onMouseDown&&onMouseDown(event)},"handleMouseDown"),handleClick=__name(event=>{var _a;(_a=checkboxRef.current)!=null&&_a.contains(event.target)||(handleExpansion(event),checkboxSelection||handleSelection(event),onClick&&onClick(event))},"handleClick");return jsxRuntimeExports.jsxs("div",_extends({},other,{className:clsx(className,classes.root,expanded&&classes.expanded,selected&&classes.selected,focused&&classes.focused,disabled&&classes.disabled),onClick:handleClick,onMouseDown:handleMouseDown,ref,children:[jsxRuntimeExports.jsx("div",{className:classes.iconContainer,children:icon}),checkboxSelection&&jsxRuntimeExports.jsx(Checkbox,{className:classes.checkbox,checked:selected,onChange:handleCheckboxSelection,disabled:disabled||disableSelection,ref:checkboxRef,tabIndex:-1}),jsxRuntimeExports.jsx("div",{className:classes.label,children:label})]}))},"TreeItemContent2"));TreeItemContent.propTypes={classes:PropTypes.object.isRequired,className:PropTypes.string,displayIcon:PropTypes.node,expansionIcon:PropTypes.node,icon:PropTypes.node,itemId:PropTypes.string.isRequired,label:PropTypes.node};function getTreeItemUtilityClass(slot){return generateUtilityClass("MuiTreeItem",slot)}__name(getTreeItemUtilityClass,"getTreeItemUtilityClass");const treeItemClasses=generateUtilityClasses("MuiTreeItem",["root","groupTransition","content","expanded","selected","focused","disabled","iconContainer","label","checkbox"]),TreeViewExpandIcon=createSvgIcon(jsxRuntimeExports.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"TreeViewExpandIcon"),TreeViewCollapseIcon=createSvgIcon(jsxRuntimeExports.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"TreeViewCollapseIcon");function TreeItem2Provider(props){const{children,itemId}=props,{wrapItem,instance}=useTreeViewContext();return wrapItem({children,itemId,instance})}__name(TreeItem2Provider,"TreeItem2Provider");TreeItem2Provider.propTypes={children:PropTypes.node,itemId:PropTypes.string.isRequired};const _excluded=["children","className","slots","slotProps","ContentComponent","ContentProps","itemId","id","label","onClick","onMouseDown","onFocus","onBlur","onKeyDown"],_excluded2=["ownerState"],_excluded3=["ownerState"],_excluded4=["ownerState"],useUtilityClasses=__name(ownerState=>{const{classes}=ownerState;return composeClasses({root:["root"],content:["content"],expanded:["expanded"],selected:["selected"],focused:["focused"],disabled:["disabled"],iconContainer:["iconContainer"],checkbox:["checkbox"],label:["label"],groupTransition:["groupTransition"]},getTreeItemUtilityClass,classes)},"useUtilityClasses"),TreeItemRoot=styled$1("li",{name:"MuiTreeItem",slot:"Root",overridesResolver:(props,styles)=>styles.root})({listStyle:"none",margin:0,padding:0,outline:0}),StyledTreeItemContent=styled$1(TreeItemContent,{name:"MuiTreeItem",slot:"Content",overridesResolver:(props,styles)=>[styles.content,styles.iconContainer&&{[`& .${treeItemClasses.iconContainer}`]:styles.iconContainer},styles.label&&{[`& .${treeItemClasses.label}`]:styles.label}],shouldForwardProp:prop=>shouldForwardProp_1(prop)&&prop!=="indentationAtItemLevel"})(({theme})=>({padding:theme.spacing(.5,1),borderRadius:theme.shape.borderRadius,width:"100%",boxSizing:"border-box",display:"flex",alignItems:"center",gap:theme.spacing(1),cursor:"pointer",WebkitTapHighlightColor:"transparent","&:hover":{backgroundColor:(theme.vars||theme).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${treeItemClasses.disabled}`]:{opacity:(theme.vars||theme).palette.action.disabledOpacity,backgroundColor:"transparent"},[`&.${treeItemClasses.focused}`]:{backgroundColor:(theme.vars||theme).palette.action.focus},[`&.${treeItemClasses.selected}`]:{backgroundColor:theme.vars?`rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})`:alpha(theme.palette.primary.main,theme.palette.action.selectedOpacity),"&:hover":{backgroundColor:theme.vars?`rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))`:alpha(theme.palette.primary.main,theme.palette.action.selectedOpacity+theme.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:theme.vars?`rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})`:alpha(theme.palette.primary.main,theme.palette.action.selectedOpacity)}},[`&.${treeItemClasses.focused}`]:{backgroundColor:theme.vars?`rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))`:alpha(theme.palette.primary.main,theme.palette.action.selectedOpacity+theme.palette.action.focusOpacity)}},[`& .${treeItemClasses.iconContainer}`]:{width:16,display:"flex",flexShrink:0,justifyContent:"center","& svg":{fontSize:18}},[`& .${treeItemClasses.label}`]:_extends({width:"100%",boxSizing:"border-box",minWidth:0,position:"relative"},theme.typography.body1),[`& .${treeItemClasses.checkbox}`]:{padding:0},variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:`calc(${theme.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`}}]})),TreeItemGroup=styled$1(Collapse,{name:"MuiTreeItem",slot:"GroupTransition",overridesResolver:(props,styles)=>styles.groupTransition,shouldForwardProp:prop=>shouldForwardProp_1(prop)&&prop!=="indentationAtItemLevel"})({margin:0,padding:0,paddingLeft:"var(--TreeView-itemChildrenIndentation)",variants:[{props:{indentationAtItemLevel:!0},style:{paddingLeft:0}}]}),TreeItem=reactExports.forwardRef(__name(function(inProps,inRef){const{icons:contextIcons,runItemPlugins,selection:{multiSelect},disabledItemsFocusable,indentationAtItemLevel,instance}=useTreeViewContext(),depthContext=reactExports.useContext(TreeViewItemDepthContext),props=useThemeProps$1({props:inProps,name:"MuiTreeItem"}),{children,className,slots:inSlots,slotProps:inSlotProps,ContentComponent=TreeItemContent,ContentProps,itemId,id,label,onClick,onMouseDown,onBlur,onKeyDown}=props,other=_objectWithoutPropertiesLoose(props,_excluded),{contentRef,rootRef}=runItemPlugins(props),handleRootRef=useForkRef$1(inRef,rootRef),handleContentRef=useForkRef$1(ContentProps==null?void 0:ContentProps.ref,contentRef),slots={expandIcon:(inSlots==null?void 0:inSlots.expandIcon)??contextIcons.slots.expandIcon??TreeViewExpandIcon,collapseIcon:(inSlots==null?void 0:inSlots.collapseIcon)??contextIcons.slots.collapseIcon??TreeViewCollapseIcon,endIcon:(inSlots==null?void 0:inSlots.endIcon)??contextIcons.slots.endIcon,icon:inSlots==null?void 0:inSlots.icon,groupTransition:inSlots==null?void 0:inSlots.groupTransition},isExpandable=__name(reactChildren=>Array.isArray(reactChildren)?reactChildren.length>0&&reactChildren.some(isExpandable):!!reactChildren,"isExpandable"),expandable=isExpandable(children),expanded=instance.isItemExpanded(itemId),focused=instance.isItemFocused(itemId),selected=instance.isItemSelected(itemId),disabled=instance.isItemDisabled(itemId),ownerState=_extends({},props,{expanded,focused,selected,disabled,indentationAtItemLevel}),classes=useUtilityClasses(ownerState),GroupTransition=slots.groupTransition??void 0,groupTransitionProps=useSlotProps({elementType:GroupTransition,ownerState:{},externalSlotProps:inSlotProps==null?void 0:inSlotProps.groupTransition,additionalProps:_extends({unmountOnExit:!0,in:expanded,component:"ul",role:"group"},indentationAtItemLevel?{indentationAtItemLevel:!0}:{}),className:classes.groupTransition}),ExpansionIcon=expanded?slots.collapseIcon:slots.expandIcon,_useSlotProps=useSlotProps({elementType:ExpansionIcon,ownerState:{},externalSlotProps:tempOwnerState=>expanded?_extends({},resolveComponentProps(contextIcons.slotProps.collapseIcon,tempOwnerState),resolveComponentProps(inSlotProps==null?void 0:inSlotProps.collapseIcon,tempOwnerState)):_extends({},resolveComponentProps(contextIcons.slotProps.expandIcon,tempOwnerState),resolveComponentProps(inSlotProps==null?void 0:inSlotProps.expandIcon,tempOwnerState))}),expansionIconProps=_objectWithoutPropertiesLoose(_useSlotProps,_excluded2),expansionIcon=expandable&&ExpansionIcon?jsxRuntimeExports.jsx(ExpansionIcon,_extends({},expansionIconProps)):null,DisplayIcon=expandable?void 0:slots.endIcon,_useSlotProps2=useSlotProps({elementType:DisplayIcon,ownerState:{},externalSlotProps:tempOwnerState=>expandable?{}:_extends({},resolveComponentProps(contextIcons.slotProps.endIcon,tempOwnerState),resolveComponentProps(inSlotProps==null?void 0:inSlotProps.endIcon,tempOwnerState))}),displayIconProps=_objectWithoutPropertiesLoose(_useSlotProps2,_excluded3),displayIcon=DisplayIcon?jsxRuntimeExports.jsx(DisplayIcon,_extends({},displayIconProps)):null,Icon=slots.icon,_useSlotProps3=useSlotProps({elementType:Icon,ownerState:{},externalSlotProps:inSlotProps==null?void 0:inSlotProps.icon}),iconProps=_objectWithoutPropertiesLoose(_useSlotProps3,_excluded4),icon=Icon?jsxRuntimeExports.jsx(Icon,_extends({},iconProps)):null;let ariaSelected;multiSelect?ariaSelected=selected:selected&&(ariaSelected=!0);function handleFocus(event){!focused&&(!disabled||disabledItemsFocusable)&&event.currentTarget===event.target&&instance.focusItem(event,itemId)}__name(handleFocus,"handleFocus");function handleBlur(event){onBlur==null||onBlur(event),instance.removeFocusedItem()}__name(handleBlur,"handleBlur");const handleKeyDown=__name(event=>{onKeyDown==null||onKeyDown(event),instance.handleItemKeyDown(event,itemId)},"handleKeyDown"),idAttribute=instance.getTreeItemIdAttribute(itemId,id),tabIndex=instance.canItemBeTabbed(itemId)?0:-1;return jsxRuntimeExports.jsx(TreeItem2Provider,{itemId,children:jsxRuntimeExports.jsxs(TreeItemRoot,_extends({className:clsx(classes.root,className),role:"treeitem","aria-expanded":expandable?expanded:void 0,"aria-selected":ariaSelected,"aria-disabled":disabled||void 0,id:idAttribute,tabIndex},other,{ownerState,onFocus:handleFocus,onBlur:handleBlur,onKeyDown:handleKeyDown,ref:handleRootRef,style:indentationAtItemLevel?_extends({},other.style,{"--TreeView-itemDepth":typeof depthContext=="function"?depthContext(itemId):depthContext}):other.style,children:[jsxRuntimeExports.jsx(StyledTreeItemContent,_extends({as:ContentComponent,classes:{root:classes.content,expanded:classes.expanded,selected:classes.selected,focused:classes.focused,disabled:classes.disabled,iconContainer:classes.iconContainer,label:classes.label,checkbox:classes.checkbox},label,itemId,onClick,onMouseDown,icon,expansionIcon,displayIcon,ownerState},ContentProps,{ref:handleContentRef})),children&&jsxRuntimeExports.jsx(TreeItemGroup,_extends({as:GroupTransition},groupTransitionProps,{children}))]}))})},"TreeItem2"));TreeItem.propTypes={children:PropTypes.node,classes:PropTypes.object,className:PropTypes.string,ContentComponent:elementTypeAcceptingRef,ContentProps:PropTypes.object,disabled:PropTypes.bool,itemId:PropTypes.string.isRequired,label:PropTypes.node,onFocus:unsupportedProp,slotProps:PropTypes.object,slots:PropTypes.object,sx:PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func,PropTypes.object,PropTypes.bool])),PropTypes.func,PropTypes.object])};export{Container as C,SimpleTreeView as S,TreeItem as T};