{"version":3,"sources":["../src/components/Tag/useTag.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useTagBase_unstable } from '@fluentui/react-tags';\n\nimport type { TagProps, TagState } from './Tag.types';\nimport { stringifyDataAttribute } from '../../utils';\n\n/**\n * Returns the state for a Tag component, given its props and ref.\n * The returned state can be modified with hooks before being passed to `renderTag`.\n */\nexport const useTag = (props: TagProps, ref: React.Ref<HTMLSpanElement | HTMLButtonElement>): TagState => {\n  const state: TagState = useTagBase_unstable(props, ref);\n\n  /* eslint-disable react-hooks/immutability -- intentional: decorate base state with data-* attrs for styling */\n  state.root['data-disabled'] = stringifyDataAttribute(state.disabled);\n  state.root['data-dismissible'] = stringifyDataAttribute(state.dismissible);\n  state.root['data-selected'] = stringifyDataAttribute(state.selected);\n  /* eslint-enable react-hooks/immutability */\n\n  return state;\n};\n"],"names":["useTag","props","ref","state","useTagBase_unstable","root","stringifyDataAttribute","disabled","dismissible","selected"],"mappings":"AAAA;;;;;+BAYaA;;;eAAAA;;;2BATuB;uBAGG;AAMhC,MAAMA,SAAS,CAACC,OAAiBC;IACtC,MAAMC,QAAkBC,IAAAA,8BAAmB,EAACH,OAAOC;IAEnD,6GAA6G,GAC7GC,MAAME,IAAI,CAAC,gBAAgB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMI,QAAQ;IACnEJ,MAAME,IAAI,CAAC,mBAAmB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMK,WAAW;IACzEL,MAAME,IAAI,CAAC,gBAAgB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMM,QAAQ;IACnE,0CAA0C,GAE1C,OAAON;AACT"}