{"version":3,"sources":["../src/components/Text/useTextStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { TextSlots, TextState } from './Text.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const textClassNames: SlotClassNames<TextSlots> = {\n  root: 'fui-Text',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n  root: {\n    fontFamily: tokens.fontFamilyBase,\n    fontSize: tokens.fontSizeBase300,\n    lineHeight: tokens.lineHeightBase300,\n    fontWeight: tokens.fontWeightRegular,\n    textAlign: 'start',\n    display: 'inline',\n    whiteSpace: 'normal',\n    overflow: 'visible',\n    textOverflow: 'clip',\n  },\n  nowrap: {\n    whiteSpace: 'nowrap',\n    overflow: 'hidden',\n  },\n  truncate: {\n    textOverflow: 'ellipsis',\n  },\n  block: {\n    display: 'block',\n  },\n  italic: {\n    fontStyle: 'italic',\n  },\n  underline: {\n    textDecorationLine: 'underline',\n  },\n  strikethrough: {\n    textDecorationLine: 'line-through',\n  },\n  strikethroughUnderline: {\n    textDecorationLine: 'line-through underline',\n  },\n  base100: {\n    fontSize: tokens.fontSizeBase100,\n    lineHeight: tokens.lineHeightBase100,\n  },\n  base200: {\n    fontSize: tokens.fontSizeBase200,\n    lineHeight: tokens.lineHeightBase200,\n  },\n  base400: {\n    fontSize: tokens.fontSizeBase400,\n    lineHeight: tokens.lineHeightBase400,\n  },\n  base500: {\n    fontSize: tokens.fontSizeBase500,\n    lineHeight: tokens.lineHeightBase500,\n  },\n  base600: {\n    fontSize: tokens.fontSizeBase600,\n    lineHeight: tokens.lineHeightBase600,\n  },\n  hero700: {\n    fontSize: tokens.fontSizeHero700,\n    lineHeight: tokens.lineHeightHero700,\n  },\n  hero800: {\n    fontSize: tokens.fontSizeHero800,\n    lineHeight: tokens.lineHeightHero800,\n  },\n  hero900: {\n    fontSize: tokens.fontSizeHero900,\n    lineHeight: tokens.lineHeightHero900,\n  },\n  hero1000: {\n    fontSize: tokens.fontSizeHero1000,\n    lineHeight: tokens.lineHeightHero1000,\n  },\n  monospace: {\n    fontFamily: tokens.fontFamilyMonospace,\n  },\n  numeric: {\n    fontFamily: tokens.fontFamilyNumeric,\n  },\n  weightMedium: {\n    fontWeight: tokens.fontWeightMedium,\n  },\n  weightSemibold: {\n    fontWeight: tokens.fontWeightSemibold,\n  },\n  weightBold: {\n    fontWeight: tokens.fontWeightBold,\n  },\n  alignCenter: {\n    textAlign: 'center',\n  },\n  alignEnd: {\n    textAlign: 'end',\n  },\n  alignJustify: {\n    textAlign: 'justify',\n  },\n});\n\n/**\n * Apply styling to the Text slots based on the state\n */\nexport const useTextStyles_unstable = (state: TextState): TextState => {\n  const styles = useStyles();\n\n  // eslint-disable-next-line react-hooks/immutability\n  state.root.className = mergeClasses(\n    textClassNames.root,\n    styles.root,\n    state.wrap === false && styles.nowrap,\n    state.truncate && styles.truncate,\n    state.block && styles.block,\n    state.italic && styles.italic,\n    state.underline && styles.underline,\n    state.strikethrough && styles.strikethrough,\n    state.underline && state.strikethrough && styles.strikethroughUnderline,\n    state.size === 100 && styles.base100,\n    state.size === 200 && styles.base200,\n    state.size === 400 && styles.base400,\n    state.size === 500 && styles.base500,\n    state.size === 600 && styles.base600,\n    state.size === 700 && styles.hero700,\n    state.size === 800 && styles.hero800,\n    state.size === 900 && styles.hero900,\n    state.size === 1000 && styles.hero1000,\n    state.font === 'monospace' && styles.monospace,\n    state.font === 'numeric' && styles.numeric,\n    state.weight === 'medium' && styles.weightMedium,\n    state.weight === 'semibold' && styles.weightSemibold,\n    state.weight === 'bold' && styles.weightBold,\n    state.align === 'center' && styles.alignCenter,\n    state.align === 'end' && styles.alignEnd,\n    state.align === 'justify' && styles.alignJustify,\n    state.root.className,\n  );\n\n  return state;\n};\n"],"names":["makeStyles","mergeClasses","tokens","textClassNames","root","useStyles","fontFamily","fontFamilyBase","fontSize","fontSizeBase300","lineHeight","lineHeightBase300","fontWeight","fontWeightRegular","textAlign","display","whiteSpace","overflow","textOverflow","nowrap","truncate","block","italic","fontStyle","underline","textDecorationLine","strikethrough","strikethroughUnderline","base100","fontSizeBase100","lineHeightBase100","base200","fontSizeBase200","lineHeightBase200","base400","fontSizeBase400","lineHeightBase400","base500","fontSizeBase500","lineHeightBase500","base600","fontSizeBase600","lineHeightBase600","hero700","fontSizeHero700","lineHeightHero700","hero800","fontSizeHero800","lineHeightHero800","hero900","fontSizeHero900","lineHeightHero900","hero1000","fontSizeHero1000","lineHeightHero1000","monospace","fontFamilyMonospace","numeric","fontFamilyNumeric","weightMedium","fontWeightMedium","weightSemibold","fontWeightSemibold","weightBold","fontWeightBold","alignCenter","alignEnd","alignJustify","useTextStyles_unstable","state","styles","className","wrap","size","font","weight","align"],"mappings":"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"}