{"version":3,"sources":["../src/components/Nav/NavDrawer/useNavDrawer.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\n\nimport { Drawer } from '../../Drawer';\nimport { useNav } from '../useNav';\nimport type { NavDrawerProps, NavDrawerState } from './NavDrawer.types';\n\n/**\n * Create the state required to render NavDrawer.\n *\n * Combines headless Nav state with a headless Drawer as root.\n *\n * @param props - props from this instance of NavDrawer\n * @param ref - reference to root HTMLElement of NavDrawer\n */\nexport const useNavDrawer = (props: NavDrawerProps, ref: React.Ref<HTMLElement>): NavDrawerState => {\n  const navState = useNav(props, ref as React.Ref<HTMLDivElement>);\n\n  const type = props.type ?? 'overlay';\n\n  const root: NavDrawerState['root'] = slot.always(\n    { ref: ref as React.Ref<HTMLDivElement>, ...props },\n    {\n      elementType: Drawer,\n    },\n  );\n\n  root['data-type'] = type;\n\n  return {\n    ...navState,\n    components: {\n      root: Drawer,\n    },\n    root,\n  };\n};\n"],"names":["useNavDrawer","props","ref","navState","useNav","type","root","slot","always","elementType","Drawer","components"],"mappings":"AAAA;;;;;+BAiBaA;;;eAAAA;;;gCAdQ;wBAEE;wBACA;AAWhB,MAAMA,eAAe,CAACC,OAAuBC;IAClD,MAAMC,WAAWC,IAAAA,cAAM,EAACH,OAAOC;IAE/B,MAAMG,OAAOJ,MAAMI,IAAI,IAAI;IAE3B,MAAMC,OAA+BC,oBAAI,CAACC,MAAM,CAC9C;QAAEN,KAAKA;QAAkC,GAAGD,KAAK;IAAC,GAClD;QACEQ,aAAaC,cAAM;IACrB;IAGFJ,IAAI,CAAC,YAAY,GAAGD;IAEpB,OAAO;QACL,GAAGF,QAAQ;QACXQ,YAAY;YACVL,MAAMI,cAAM;QACd;QACAJ;IACF;AACF"}