{"version":3,"file":"ModuleHierarchyProvider.mjs","sources":["../../../../src/lib/vdom/components/ModuleHierarchyProvider.tsx"],"sourcesContent":["/**\n * @file Module Hierarchy Provider\n * @description Internal provider for module hierarchy tracking\n */\n\nimport { useMemo, type FC, type ReactNode } from 'react';\nimport type { ModuleId } from '../types';\nimport { ModuleHierarchyContext } from '../ModuleProviderContext';\nimport { useModuleHierarchy } from '../hooks/useModuleSystem';\n\n/**\n * Internal provider for module hierarchy tracking.\n * Used by ModuleBoundary to establish parent-child relationships.\n */\nexport const ModuleHierarchyProvider: FC<{\n  moduleId: ModuleId;\n  children: ReactNode;\n}> = ({ moduleId, children }) => {\n  const parent = useModuleHierarchy();\n\n  const value = useMemo(\n    () => ({\n      moduleId,\n      depth: (parent?.depth ?? -1) + 1,\n      path: [...(parent?.path ?? []), moduleId],\n    }),\n    [moduleId, parent]\n  );\n\n  return (\n    <ModuleHierarchyContext.Provider value={value}>{children}</ModuleHierarchyContext.Provider>\n  );\n};\n\nModuleHierarchyProvider.displayName = 'ModuleHierarchyProvider';\n"],"names":["ModuleHierarchyProvider","moduleId","children","parent","useModuleHierarchy","value","useMemo","jsx","ModuleHierarchyContext"],"mappings":";;;;AAcO,MAAMA,IAGR,CAAC,EAAE,UAAAC,GAAU,UAAAC,QAAe;AAC/B,QAAMC,IAASC,EAAA,GAETC,IAAQC;AAAA,IACZ,OAAO;AAAA,MACL,UAAAL;AAAA,MACA,QAAQE,GAAQ,SAAS,MAAM;AAAA,MAC/B,MAAM,CAAC,GAAIA,GAAQ,QAAQ,CAAA,GAAKF,CAAQ;AAAA,IAAA;AAAA,IAE1C,CAACA,GAAUE,CAAM;AAAA,EAAA;AAGnB,SACE,gBAAAI,EAACC,EAAuB,UAAvB,EAAgC,OAAAH,GAAe,UAAAH,EAAA,CAAS;AAE7D;AAEAF,EAAwB,cAAc;"}