{"version":3,"sources":["../src/components/Accordion/AccordionHeader/useAccordionHeader.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useAccordionHeaderBase_unstable, useAccordionHeaderContextValues_unstable } from '@fluentui/react-accordion';\n\nimport type { AccordionHeaderProps, AccordionHeaderState, AccordionHeaderContextValues } from './AccordionHeader.types';\nimport { toDataAttributeValue } 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'] = toDataAttributeValue(state.open);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-disabled'] = toDataAttributeValue(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 { useAccordionHeaderContext_unstable as useAccordionHeaderContext } from '@fluentui/react-accordion';\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","useAccordionHeaderContext_unstable","useAccordionHeaderContextValues","props","ref","state","useAccordionHeaderBase_unstable","root","toDataAttributeValue","open","disabled","expandIconPosition","useAccordionHeaderContextValues_unstable"],"mappings":"AAAA;;;;;;;;;;;;IAYaA,kBAAkB;eAAlBA;;IAiBkCC,yBAAyB;eAA/DC,kDAAkC;;IAK9BC,+BAA+B;eAA/BA;;;gCA/B6E;uBAGrD;AAM9B,MAAMH,qBAAqB,CAACI,OAA6BC;IAC9D,MAAMC,QAA8BC,IAAAA,+CAA+B,EAACH,OAAOC;IAE3E,+FAA+F;IAC/F,oDAAoD;IACpDC,MAAME,IAAI,CAAC,YAAY,GAAGC,IAAAA,2BAAoB,EAACH,MAAMI,IAAI;IACzD,oDAAoD;IACpDJ,MAAME,IAAI,CAAC,gBAAgB,GAAGC,IAAAA,2BAAoB,EAACH,MAAMK,QAAQ;IACjE,oDAAoD;IACpDL,MAAME,IAAI,CAAC,4BAA4B,GAAGF,MAAMM,kBAAkB;IAElE,OAAON;AACT;AAUO,MAAMH,kCAAkCU,wDAAwC"}