{"version":3,"sources":["../src/components/Text/useText.ts"],"sourcesContent":["import type * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { TextProps, TextState } from './Text.types';\n\n/**\n * Create the state required to render Text.\n *\n * The returned state can be modified with hooks such as useTextStyles_unstable,\n * before being passed to renderText_unstable.\n *\n * @param props - props from this instance of Text\n * @param ref - reference to root HTMLElement of Text\n */\nexport const useText_unstable = (props: TextProps, ref: React.Ref<HTMLElement>): TextState => {\n  const { wrap, truncate, block, italic, underline, strikethrough, size, font, weight, align } = props;\n\n  const state: TextState = {\n    align: align ?? 'start',\n    block: block ?? false,\n    font: font ?? 'base',\n    italic: italic ?? false,\n    size: size ?? 300,\n    strikethrough: strikethrough ?? false,\n    truncate: truncate ?? false,\n    underline: underline ?? false,\n    weight: weight ?? 'regular',\n    wrap: wrap ?? true,\n\n    components: { root: 'span' },\n\n    root: slot.always(\n      getIntrinsicElementProps('span', {\n        // FIXME:\n        // `ref` is wrongly assigned to be `HTMLElement` instead of `HTMLHeadingElement & HTMLPreElement`\n        // but since it would be a breaking change to fix it, we are casting ref to it's proper type\n        ref: ref as React.Ref<HTMLHeadingElement & HTMLPreElement>,\n        ...props,\n      }),\n      { elementType: 'span' },\n    ),\n  };\n\n  return state;\n};\n"],"names":["getIntrinsicElementProps","slot","useText_unstable","props","ref","wrap","truncate","block","italic","underline","strikethrough","size","font","weight","align","state","components","root","always","elementType"],"mappings":";;;;+BAaaE;;;;;;gCAZkC,4BAA4B;AAYpE,yBAAyB,CAACC,OAAkBC;IACjD,MAAM,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,MAAM,EAAEC,SAAS,EAAEC,aAAa,EAAEC,IAAI,EAAEC,IAAI,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAGX;IAE/F,MAAMY,QAAmB;QACvBD,OAAOA,UAAAA,QAAAA,UAAAA,KAAAA,IAAAA,QAAS;QAChBP,OAAOA,UAAAA,QAAAA,UAAAA,KAAAA,IAAAA,QAAS;QAChBK,MAAMA,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,OAAQ;QACdJ,QAAQA,WAAAA,QAAAA,WAAAA,KAAAA,IAAAA,SAAU;QAClBG,MAAMA,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,OAAQ;QACdD,eAAeA,kBAAAA,QAAAA,kBAAAA,KAAAA,IAAAA,gBAAiB;QAChCJ,UAAUA,aAAAA,QAAAA,aAAAA,KAAAA,IAAAA,WAAY;QACtBG,WAAWA,cAAAA,QAAAA,cAAAA,KAAAA,IAAAA,YAAa;QACxBI,QAAQA,WAAAA,QAAAA,WAAAA,KAAAA,IAAAA,SAAU;QAClBR,MAAMA,SAAAA,QAAAA,SAAAA,KAAAA,IAAAA,OAAQ;QAEdW,YAAY;YAAEC,MAAM;QAAO;QAE3BA,MAAMhB,oBAAAA,CAAKiB,MAAM,KACflB,wCAAAA,EAAyB,QAAQ;YAC/B,SAAS;YACT,iGAAiG;YACjG,4FAA4F;YAC5FI,KAAKA;YACL,GAAGD,KAAK;QACV,IACA;YAAEgB,aAAa;QAAO;IAE1B;IAEA,OAAOJ;AACT,EAAE"}