{"version":3,"sources":["../src/components/Textarea/useTextarea.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { useTextareaBase_unstable } from '@fluentui/react-textarea';\n\nimport type { TextareaProps, TextareaState } from './Textarea.types';\nimport { stringifyDataAttribute } from '../../utils';\n\n/**\n * Returns the state for a Textarea component, given its props and ref.\n * The returned state can be modified with hooks before being passed to `renderTextarea`.\n */\nexport const useTextarea = (props: TextareaProps, ref: React.Ref<HTMLTextAreaElement>): TextareaState => {\n  const state: TextareaState = useTextareaBase_unstable(props, ref);\n\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-disabled'] = stringifyDataAttribute(state.textarea.disabled);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-invalid'] = stringifyDataAttribute(state.textarea['aria-invalid']);\n  // eslint-disable-next-line react-hooks/immutability\n  state.root['data-resize'] = state.resize;\n\n  return state;\n};\n"],"names":["useTextarea","props","ref","state","useTextareaBase_unstable","root","stringifyDataAttribute","textarea","disabled","resize"],"mappings":"AAAA;;;;;+BAYaA;;;eAAAA;;;+BAT4B;uBAGF;AAMhC,MAAMA,cAAc,CAACC,OAAsBC;IAChD,MAAMC,QAAuBC,IAAAA,uCAAwB,EAACH,OAAOC;IAE7D,oDAAoD;IACpDC,MAAME,IAAI,CAAC,gBAAgB,GAAGC,IAAAA,6BAAsB,EAACH,MAAMI,QAAQ,CAACC,QAAQ;IAC5E,oDAAoD;IACpDL,MAAME,IAAI,CAAC,eAAe,GAAGC,IAAAA,6BAAsB,EAACH,MAAMI,QAAQ,CAAC,eAAe;IAClF,oDAAoD;IACpDJ,MAAME,IAAI,CAAC,cAAc,GAAGF,MAAMM,MAAM;IAExC,OAAON;AACT"}