{"version":3,"sources":["../src/components/Toolbar/ToolbarButton/useToolbarButton.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useToolbarButtonBase_unstable } from '@fluentui/react-toolbar';\n\nimport type { ToolbarButtonProps, ToolbarButtonState } from './ToolbarButton.types';\nimport { stringifyDataAttribute } from '../../../utils';\n\n/**\n * Returns the state for a ToolbarButton component, given its props and ref.\n * The returned state can be modified with hooks before being passed to `renderToolbarButton`.\n */\nexport const useToolbarButton = (\n  props: ToolbarButtonProps,\n  ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ToolbarButtonState => {\n  const state: ToolbarButtonState = useToolbarButtonBase_unstable(props, ref);\n\n  // Set data attributes for vertical, disabled, disabledFocusable, and iconOnly states to simplify styling.\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-vertical'] = stringifyDataAttribute(state.vertical);\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-disabled-focusable'] = stringifyDataAttribute(state.disabledFocusable);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-icon-only'] = stringifyDataAttribute(state.iconOnly);\n\n  return state;\n};\n"],"names":["useToolbarButton","props","ref","state","useToolbarButtonBase_unstable","root","stringifyDataAttribute","vertical","disabled","disabledFocusable","iconOnly"],"mappings":"AAAA;;;;;+BAYaA;;;eAAAA;;;8BATiC;uBAGP;AAMhC,MAAMA,mBAAmB,CAC9BC,OACAC;IAEA,MAAMC,QAA4BC,IAAAA,2CAA6B,EAACH,OAAOC;IAEvE,0GAA0G;IAC1G,oDAAoD;IACpDC,MAAME,IAAI,CAAC,gBAAgB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMI,QAAQ;IACnE,oDAAoD;IACpDJ,MAAME,IAAI,CAAC,gBAAgB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMK,QAAQ;IACnE,oDAAoD;IACpDL,MAAME,IAAI,CAAC,0BAA0B,GAAGC,IAAAA,6BAAsB,EAACH,MAAMM,iBAAiB;IACtF,oDAAoD;IACpDN,MAAME,IAAI,CAAC,iBAAiB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMO,QAAQ;IAEpE,OAAOP;AACT"}