UNPKG

@mui/x-tree-view

Version:

The community edition of the MUI X Tree View components.

19 lines 762 B
import _extends from "@babel/runtime/helpers/esm/extends"; import { useRefWithInit } from '@base-ui/utils/useRefWithInit'; import { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect'; import { useOnMount } from '@base-ui/utils/useOnMount'; import { useRtl } from '@mui/system/RtlProvider'; /** * Creates a Tree View store and keep it in sync with the provided parameters. */ export function useTreeViewStore(StoreClass, parameters) { const isRtl = useRtl(); const store = useRefWithInit(() => new StoreClass(_extends({}, parameters, { isRtl }))).current; useIsoLayoutEffect(() => store.updateStateFromParameters(_extends({}, parameters, { isRtl })), [store, isRtl, parameters]); useOnMount(store.disposeEffect); return store; }