{"version":3,"sources":["../src/components/TabList/Tab/useTab.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useTabBase_unstable } from '@fluentui/react-tabs';\n\nimport type { TabProps, TabState } from './Tab.types';\nimport { stringifyDataAttribute } from '../../../utils';\n\n/**\n * Returns the state for a Tab component, given its props and ref.\n * The returned state can be modified with hooks before being passed to `renderTab`.\n */\nexport const useTab = (props: TabProps, ref: React.Ref<HTMLElement>): TabState => {\n  const state: TabState = useTabBase_unstable(props, ref);\n\n  // eslint-disable-next-line react-hooks/immutability\n  state.root.focusgroupstart = stringifyDataAttribute(state.selected);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-icon-only'] = stringifyDataAttribute(state.iconOnly);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-selected'] = stringifyDataAttribute(state.selected);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-disabled'] = stringifyDataAttribute(state.disabled);\n\n  return state;\n};\n"],"names":["useTab","props","ref","state","useTabBase_unstable","root","focusgroupstart","stringifyDataAttribute","selected","iconOnly","disabled"],"mappings":"AAAA;;;;;+BAYaA;;;eAAAA;;;2BATuB;uBAGG;AAMhC,MAAMA,SAAS,CAACC,OAAiBC;IACtC,MAAMC,QAAkBC,IAAAA,8BAAmB,EAACH,OAAOC;IAEnD,oDAAoD;IACpDC,MAAME,IAAI,CAACC,eAAe,GAAGC,IAAAA,6BAAsB,EAACJ,MAAMK,QAAQ;IAClE,oDAAoD;IACpDL,MAAME,IAAI,CAAC,iBAAiB,GAAGE,IAAAA,6BAAsB,EAACJ,MAAMM,QAAQ;IACpE,oDAAoD;IACpDN,MAAME,IAAI,CAAC,gBAAgB,GAAGE,IAAAA,6BAAsB,EAACJ,MAAMK,QAAQ;IACnE,oDAAoD;IACpDL,MAAME,IAAI,CAAC,gBAAgB,GAAGE,IAAAA,6BAAsB,EAACJ,MAAMO,QAAQ;IAEnE,OAAOP;AACT"}