{"version":3,"sources":["../src/components/Accordion/AccordionHeader/useAccordionHeader.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport {\n  useAccordionHeaderBase_unstable,\n  useAccordionHeaderContext_unstable,\n  useAccordionHeaderContextValues_unstable,\n} from '@fluentui/react-accordion';\n\nimport type { AccordionHeaderProps, AccordionHeaderState, AccordionHeaderContextValues } from './AccordionHeader.types';\nimport { stringifyDataAttribute } from '../../../utils';\n\n/**\n * Returns the state for an AccordionHeader component, given its props and ref.\n * The returned state can be modified with hooks before being passed to `renderAccordionHeader`.\n */\nexport const useAccordionHeader = (props: AccordionHeaderProps, ref: React.Ref<HTMLElement>): AccordionHeaderState => {\n  const state: AccordionHeaderState = useAccordionHeaderBase_unstable(props, ref);\n\n  // Set data attributes for open, disabled, and expand icon position states to simplify styling.\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-open'] = stringifyDataAttribute(state.open);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-disabled'] = stringifyDataAttribute(state.disabled);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-expand-icon-position'] = state.expandIconPosition;\n\n  return state;\n};\n\n/**\n * Returns the context values provided by the nearest AccordionHeader, enabling child components to read header-level state.\n */\nexport const useAccordionHeaderContext = useAccordionHeaderContext_unstable;\n\n/**\n * Maps AccordionHeader state to the context values passed down to child components.\n */\nexport const useAccordionHeaderContextValues = useAccordionHeaderContextValues_unstable as (\n  state: AccordionHeaderState,\n) => AccordionHeaderContextValues;\n"],"names":["useAccordionHeader","useAccordionHeaderContext","useAccordionHeaderContextValues","props","ref","state","useAccordionHeaderBase_unstable","root","stringifyDataAttribute","open","disabled","expandIconPosition","useAccordionHeaderContext_unstable","useAccordionHeaderContextValues_unstable"],"mappings":"AAAA;;;;;;;;;;;;IAgBaA,kBAAkB;eAAlBA;;IAiBAC,yBAAyB;eAAzBA;;IAKAC,+BAA+B;eAA/BA;;;gCA/BN;uBAGgC;AAMhC,MAAMF,qBAAqB,CAACG,OAA6BC;IAC9D,MAAMC,QAA8BC,IAAAA,+CAA+B,EAACH,OAAOC;IAE3E,+FAA+F;IAC/F,oDAAoD;IACpDC,MAAME,IAAI,CAAC,YAAY,GAAGC,IAAAA,6BAAsB,EAACH,MAAMI,IAAI;IAC3D,oDAAoD;IACpDJ,MAAME,IAAI,CAAC,gBAAgB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMK,QAAQ;IACnE,oDAAoD;IACpDL,MAAME,IAAI,CAAC,4BAA4B,GAAGF,MAAMM,kBAAkB;IAElE,OAAON;AACT;AAKO,MAAMJ,4BAA4BW,kDAAkC;AAKpE,MAAMV,kCAAkCW,wDAAwC"}