@fluentui/react-button 9.6.11 → 9.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/CHANGELOG.md +29 -2
  2. package/lib/components/Button/useButtonStyles.styles.headless.js +36 -0
  3. package/lib/components/Button/useButtonStyles.styles.headless.js.map +1 -0
  4. package/lib/components/Button/useButtonStyles.styles.js +150 -150
  5. package/lib/components/Button/useButtonStyles.styles.js.map +1 -1
  6. package/lib/components/Button/useButtonStyles.styles.raw.headless.js +36 -0
  7. package/lib/components/Button/useButtonStyles.styles.raw.headless.js.map +1 -0
  8. package/lib/components/Button/useButtonStyles.styles.raw.js +15 -15
  9. package/lib/components/Button/useButtonStyles.styles.raw.js.map +1 -1
  10. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.headless.js +49 -0
  11. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.headless.js.map +1 -0
  12. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.js +22 -22
  13. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.js.map +1 -1
  14. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js +49 -0
  15. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js.map +1 -0
  16. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.js +8 -8
  17. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.js.map +1 -1
  18. package/lib/components/MenuButton/useMenuButtonStyles.styles.headless.js +44 -0
  19. package/lib/components/MenuButton/useMenuButtonStyles.styles.headless.js.map +1 -0
  20. package/lib/components/MenuButton/useMenuButtonStyles.styles.js +2 -2
  21. package/lib/components/MenuButton/useMenuButtonStyles.styles.js.map +1 -1
  22. package/lib/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js +44 -0
  23. package/lib/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js.map +1 -0
  24. package/lib/components/SplitButton/useSplitButtonStyles.styles.headless.js +39 -0
  25. package/lib/components/SplitButton/useSplitButtonStyles.styles.headless.js.map +1 -0
  26. package/lib/components/SplitButton/useSplitButtonStyles.styles.js +17 -17
  27. package/lib/components/SplitButton/useSplitButtonStyles.styles.js.map +1 -1
  28. package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js +39 -0
  29. package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js.map +1 -0
  30. package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.js +6 -6
  31. package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.js.map +1 -1
  32. package/lib/components/ToggleButton/useToggleButtonStyles.styles.headless.js +36 -0
  33. package/lib/components/ToggleButton/useToggleButtonStyles.styles.headless.js.map +1 -0
  34. package/lib/components/ToggleButton/useToggleButtonStyles.styles.js +133 -133
  35. package/lib/components/ToggleButton/useToggleButtonStyles.styles.js.map +1 -1
  36. package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js +36 -0
  37. package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js.map +1 -0
  38. package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.js +10 -10
  39. package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.js.map +1 -1
  40. package/lib-commonjs/components/Button/useButtonStyles.styles.headless.js +52 -0
  41. package/lib-commonjs/components/Button/useButtonStyles.styles.headless.js.map +1 -0
  42. package/lib-commonjs/components/Button/useButtonStyles.styles.js +262 -262
  43. package/lib-commonjs/components/Button/useButtonStyles.styles.js.map +1 -1
  44. package/lib-commonjs/components/Button/useButtonStyles.styles.raw.headless.js +52 -0
  45. package/lib-commonjs/components/Button/useButtonStyles.styles.raw.headless.js.map +1 -0
  46. package/lib-commonjs/components/Button/useButtonStyles.styles.raw.js +15 -15
  47. package/lib-commonjs/components/Button/useButtonStyles.styles.raw.js.map +1 -1
  48. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.headless.js +64 -0
  49. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.headless.js.map +1 -0
  50. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.js +25 -25
  51. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.js.map +1 -1
  52. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js +64 -0
  53. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js.map +1 -0
  54. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.js +8 -8
  55. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.js.map +1 -1
  56. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.headless.js +60 -0
  57. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.headless.js.map +1 -0
  58. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.js +2 -2
  59. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.js.map +1 -1
  60. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js +60 -0
  61. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js.map +1 -0
  62. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.headless.js +55 -0
  63. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.headless.js.map +1 -0
  64. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.js +42 -42
  65. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.js.map +1 -1
  66. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js +55 -0
  67. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js.map +1 -0
  68. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.js +6 -6
  69. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.js.map +1 -1
  70. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.headless.js +52 -0
  71. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.headless.js.map +1 -0
  72. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.js +235 -235
  73. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.js.map +1 -1
  74. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js +52 -0
  75. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js.map +1 -0
  76. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.js +10 -10
  77. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.js.map +1 -1
  78. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"names":["iconFilledClassName","iconRegularClassName","createCustomFocusIndicatorStyle","tokens","shorthands","__styles","__resetStyles","mergeClasses","buttonClassNames","root","icon","iconSpacingVar","buttonSpacingSmall","buttonSpacingSmallWithIcon","buttonSpacingMedium","buttonSpacingLarge","buttonSpacingLargeWithIcon","boxShadowStrokeWidthThinMoz","strokeWidthThin","useRootBaseClassName","r","s","useIconBaseClassName","useRootStyles","outline","De3pzq","Jwef8y","iro3zm","primary","g2u3we","h3c5rm","B9xav0g","zhjwy3","sj55zd","Bgoe8wy","Bwzppfd","oetu4i","gg5e9n","Bi91k9c","b661bw","Bk6r4ia","B9zn80p","Bpld233","B2d53fq","Bsw6fvg","Bjwas2f","Bn1d65q","Bxeuatn","n51gp8","Bbusuzp","ycbfsm","Bqrx1nm","pgvf35","Bh7lczh","dpv3f4","Bpnjhaq","ze5xyy","g2kj27","Bf756sw","Bow2dr7","Bvhedfk","Gye4lf","pc6evw","secondary","subtle","Bk3fhr4","Bmfj8id","Bbdnnc7","em6i61","vm6p8p","x3br3k","Bx3q9su","xd2cci","transparent","circular","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","rounded","square","small","Bf4jedk","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","Be2twd7","Bhrd7zp","Bg96gwp","smallWithIcon","medium","large","largeWithIcon","d","p","h","m","useRootDisabledStyles","base","Bceei9c","Bfinmwp","eoavqd","c3iz72","highContrast","Bm2fdqk","G867l3","gdbnj","mxns5l","o3nasb","useRootFocusStyles","Bw81rd7","kdpuga","dm238s","B6xbmo0","B3whbx2","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","j6ew2k","he4mth","Byr4aka","lks7q5","Bnan3qt","k1dn9","Boium3a","tm8e47","t","useRootIconOnlyStyles","B2u0y6b","useIconStyles","Bqenvij","a9b677","Bqrlyyl","before","t21cq0","after","Frg6f3","useButtonStyles_unstable","state","rootBaseClassName","iconBaseClassName","rootStyles","rootDisabledStyles","rootFocusStyles","rootIconOnlyStyles","iconStyles","appearance","disabled","disabledFocusable","iconOnly","iconPosition","shape","size","className","children"],"sources":["useButtonStyles.styles.js"],"sourcesContent":["'use client';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { shorthands, makeStyles, makeResetStyles, mergeClasses } from '@griffel/react';\nexport const buttonClassNames = {\n root: 'fui-Button',\n icon: 'fui-Button__icon'\n};\nconst iconSpacingVar = '--fui-Button__icon--spacing';\nconst buttonSpacingSmall = '3px';\nconst buttonSpacingSmallWithIcon = '1px';\nconst buttonSpacingMedium = '5px';\nconst buttonSpacingLarge = '8px';\nconst buttonSpacingLargeWithIcon = '7px';\n/* Firefox has box shadow sizing issue at some zoom levels\n * this will ensure the inset boxShadow is always uniform\n * without affecting other browser platforms\n */ const boxShadowStrokeWidthThinMoz = `calc(${tokens.strokeWidthThin} + 0.25px)`;\nconst useRootBaseClassName = makeResetStyles({\n alignItems: 'center',\n boxSizing: 'border-box',\n display: 'inline-flex',\n justifyContent: 'center',\n textDecorationLine: 'none',\n verticalAlign: 'middle',\n margin: 0,\n overflow: 'hidden',\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,\n fontFamily: tokens.fontFamilyBase,\n outlineStyle: 'none',\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n borderColor: tokens.colorNeutralStroke1Hover,\n color: tokens.colorNeutralForeground1Hover,\n cursor: 'pointer'\n },\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n borderColor: tokens.colorNeutralStroke1Pressed,\n color: tokens.colorNeutralForeground1Pressed,\n outlineStyle: 'none'\n },\n padding: `${buttonSpacingMedium} ${tokens.spacingHorizontalM}`,\n minWidth: '96px',\n borderRadius: tokens.borderRadiusMedium,\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase300,\n // Transition styles\n transitionDuration: tokens.durationFaster,\n transitionProperty: 'background, border, color',\n transitionTimingFunction: tokens.curveEasyEase,\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms'\n },\n // High contrast styles\n '@media (forced-colors: active)': {\n ':focus': {\n borderColor: 'ButtonText'\n },\n ':hover': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none'\n },\n ':hover:active': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none'\n }\n },\n // Focus styles\n ...createCustomFocusIndicatorStyle({\n borderColor: tokens.colorStrokeFocus2,\n borderRadius: tokens.borderRadiusMedium,\n borderWidth: '1px',\n outline: `${tokens.strokeWidthThick} solid ${tokens.colorTransparentStroke}`,\n boxShadow: `0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2}\n inset\n `,\n zIndex: 1\n }),\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2}\n inset\n `\n })\n }\n});\nconst useIconBaseClassName = makeResetStyles({\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n fontSize: '20px',\n height: '20px',\n width: '20px',\n [iconSpacingVar]: tokens.spacingHorizontalSNudge\n});\nconst useRootStyles = makeStyles({\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover\n },\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed\n }\n },\n primary: {\n backgroundColor: tokens.colorBrandBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n ':hover': {\n backgroundColor: tokens.colorBrandBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand\n },\n ':hover:active': {\n backgroundColor: tokens.colorBrandBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand\n },\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n ...shorthands.borderColor('HighlightText'),\n color: 'HighlightText',\n forcedColorAdjust: 'none',\n ':hover': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight'\n },\n ':hover:active': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight'\n }\n }\n },\n secondary: {\n },\n subtle: {\n backgroundColor: tokens.colorSubtleBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Hover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none'\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandHover\n }\n },\n ':hover:active': {\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Pressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none'\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandPressed\n }\n },\n '@media (forced-colors: active)': {\n ':hover': {\n color: 'Highlight',\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight'\n }\n },\n ':hover:active': {\n color: 'Highlight',\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight'\n }\n }\n }\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandHover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none'\n }\n },\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandPressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none'\n }\n },\n '@media (forced-colors: active)': {\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight'\n },\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight'\n }\n }\n },\n // Shape variations\n circular: {\n borderRadius: tokens.borderRadiusCircular\n },\n rounded: {\n },\n square: {\n borderRadius: tokens.borderRadiusNone\n },\n // Size variations\n small: {\n minWidth: '64px',\n padding: `${buttonSpacingSmall} ${tokens.spacingHorizontalS}`,\n borderRadius: tokens.borderRadiusMedium,\n fontSize: tokens.fontSizeBase200,\n fontWeight: tokens.fontWeightRegular,\n lineHeight: tokens.lineHeightBase200\n },\n smallWithIcon: {\n paddingBottom: buttonSpacingSmallWithIcon,\n paddingTop: buttonSpacingSmallWithIcon\n },\n medium: {\n },\n large: {\n minWidth: '96px',\n padding: `${buttonSpacingLarge} ${tokens.spacingHorizontalL}`,\n borderRadius: tokens.borderRadiusMedium,\n fontSize: tokens.fontSizeBase400,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase400\n },\n largeWithIcon: {\n paddingBottom: buttonSpacingLargeWithIcon,\n paddingTop: buttonSpacingLargeWithIcon\n }\n});\nconst useRootDisabledStyles = makeStyles({\n // Base styles\n base: {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled\n },\n ':hover': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n [`& .${iconFilledClassName}`]: {\n display: 'none'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline'\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled\n }\n },\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n [`& .${iconFilledClassName}`]: {\n display: 'none'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline'\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled\n }\n }\n },\n // High contrast styles\n highContrast: {\n '@media (forced-colors: active)': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText'\n },\n ':focus': {\n ...shorthands.borderColor('GrayText')\n },\n ':hover': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText'\n }\n },\n ':hover:active': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText'\n }\n }\n }\n },\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground\n },\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground\n }\n },\n primary: {\n ...shorthands.borderColor('transparent'),\n ':hover': {\n ...shorthands.borderColor('transparent')\n },\n ':hover:active': {\n ...shorthands.borderColor('transparent')\n }\n },\n secondary: {\n },\n subtle: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent')\n },\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent')\n }\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent')\n },\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent')\n }\n }\n});\nconst useRootFocusStyles = makeStyles({\n // Shape variations\n circular: createCustomFocusIndicatorStyle({\n borderRadius: tokens.borderRadiusCircular\n }),\n rounded: {\n },\n square: createCustomFocusIndicatorStyle({\n borderRadius: tokens.borderRadiusNone\n }),\n // Primary styles\n primary: {\n ...createCustomFocusIndicatorStyle({\n ...shorthands.borderColor(tokens.colorStrokeFocus2),\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset`,\n ...shorthands.borderColor(tokens.colorStrokeFocus2)\n }\n }),\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset`\n }\n })\n }\n },\n // Size variations\n small: createCustomFocusIndicatorStyle({\n borderRadius: tokens.borderRadiusSmall\n }),\n medium: {\n },\n large: createCustomFocusIndicatorStyle({\n borderRadius: tokens.borderRadiusLarge\n })\n});\nconst useRootIconOnlyStyles = makeStyles({\n // Size variations\n small: {\n padding: buttonSpacingSmallWithIcon,\n minWidth: '24px',\n maxWidth: '24px'\n },\n medium: {\n padding: buttonSpacingMedium,\n minWidth: '32px',\n maxWidth: '32px'\n },\n large: {\n padding: buttonSpacingLargeWithIcon,\n minWidth: '40px',\n maxWidth: '40px'\n }\n});\nconst useIconStyles = makeStyles({\n // Size variations\n small: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n [iconSpacingVar]: tokens.spacingHorizontalXS\n },\n medium: {\n },\n large: {\n fontSize: '24px',\n height: '24px',\n width: '24px',\n [iconSpacingVar]: tokens.spacingHorizontalSNudge\n },\n // Icon position variations\n before: {\n marginRight: `var(${iconSpacingVar})`\n },\n after: {\n marginLeft: `var(${iconSpacingVar})`\n }\n});\nexport const useButtonStyles_unstable = (state)=>{\n 'use no memo';\n const rootBaseClassName = useRootBaseClassName();\n const iconBaseClassName = useIconBaseClassName();\n const rootStyles = useRootStyles();\n const rootDisabledStyles = useRootDisabledStyles();\n const rootFocusStyles = useRootFocusStyles();\n const rootIconOnlyStyles = useRootIconOnlyStyles();\n const iconStyles = useIconStyles();\n const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;\n state.root.className = mergeClasses(buttonClassNames.root, rootBaseClassName, appearance && rootStyles[appearance], rootStyles[size], icon && size === 'small' && rootStyles.smallWithIcon, icon && size === 'large' && rootStyles.largeWithIcon, rootStyles[shape], // Disabled styles\n (disabled || disabledFocusable) && rootDisabledStyles.base, (disabled || disabledFocusable) && rootDisabledStyles.highContrast, appearance && (disabled || disabledFocusable) && rootDisabledStyles[appearance], // Focus styles\n appearance === 'primary' && rootFocusStyles.primary, rootFocusStyles[size], rootFocusStyles[shape], // Icon-only styles\n iconOnly && rootIconOnlyStyles[size], // User provided class name\n state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(buttonClassNames.icon, iconBaseClassName, !!state.root.children && iconStyles[iconPosition], iconStyles[size], state.icon.className);\n }\n return state;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["iconFilledClassName","iconRegularClassName","createCustomFocusIndicatorStyle","tokens","shorthands","__styles","__resetStyles","mergeClasses","buttonClassNames","root","icon","iconSpacingVar","buttonSpacingSmall","buttonSpacingSmallWithIcon","buttonSpacingMedium","buttonSpacingLarge","buttonSpacingLargeWithIcon","boxShadowStrokeWidthThinMoz","strokeWidthThin","useRootBaseClassName","r","s","useIconBaseClassName","useRootStyles","outline","De3pzq","Jwef8y","Bpjbzib","primary","g2u3we","h3c5rm","B9xav0g","zhjwy3","sj55zd","Bgoe8wy","Bwzppfd","oetu4i","gg5e9n","Bi91k9c","im15vp","Hjvxdg","Gpfmf1","ustxxc","Brsut9c","By8wz76","Bcq6wej","Jcjdmf","sc4o1m","Bosien3","B7iucu3","B8gzw0y","Bbkh6qg","F230oe","Bdw8ktp","Bj1xduy","Bhh2cfd","Bahaeuw","Bv2bamp","vxuvv6","Bli9q98","Bx2tt8t","yad0b3","j2fop7","secondary","subtle","Bk3fhr4","Bmfj8id","Bbdnnc7","Bqou3pl","Bsnehw8","wsxvnf","Buhizc3","Bqabnb4","transparent","circular","Beyfa6y","Bbmb7ep","Btl43ni","B7oj6ja","Dimara","rounded","square","small","Bf4jedk","Byoj8tv","uwmqm3","z189sj","z8tnut","B0ocmuz","Be2twd7","Bhrd7zp","Bg96gwp","smallWithIcon","medium","large","largeWithIcon","d","p","h","m","useRootDisabledStyles","base","Bceei9c","Bfinmwp","eoavqd","Bses4qk","highContrast","Grqk0h","h3ptyc","Buw724y","Buk7464","Hwei09","useRootFocusStyles","Bw81rd7","kdpuga","dm238s","B6xbmo0","B3whbx2","B8q5s1w","Bci5o5g","n8qw10","Bdrgwmp","j6ew2k","he4mth","Byr4aka","lks7q5","Bnan3qt","k1dn9","Bqsb82s","jg1oma","t","useRootIconOnlyStyles","B2u0y6b","useIconStyles","Bqenvij","a9b677","Bqrlyyl","before","t21cq0","after","Frg6f3","useButtonStyles_unstable","state","rootBaseClassName","iconBaseClassName","rootStyles","rootDisabledStyles","rootFocusStyles","rootIconOnlyStyles","iconStyles","appearance","disabled","disabledFocusable","iconOnly","iconPosition","shape","size","className","children"],"sources":["useButtonStyles.styles.js"],"sourcesContent":["'use client';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { shorthands, makeStyles, makeResetStyles, mergeClasses } from '@griffel/react';\nexport const buttonClassNames = {\n root: 'fui-Button',\n icon: 'fui-Button__icon'\n};\nconst iconSpacingVar = '--fui-Button__icon--spacing';\nconst buttonSpacingSmall = '3px';\nconst buttonSpacingSmallWithIcon = '1px';\nconst buttonSpacingMedium = '5px';\nconst buttonSpacingLarge = '8px';\nconst buttonSpacingLargeWithIcon = '7px';\n/* Firefox has box shadow sizing issue at some zoom levels\n * this will ensure the inset boxShadow is always uniform\n * without affecting other browser platforms\n */ const boxShadowStrokeWidthThinMoz = `calc(${tokens.strokeWidthThin} + 0.25px)`;\nconst useRootBaseClassName = makeResetStyles({\n alignItems: 'center',\n boxSizing: 'border-box',\n display: 'inline-flex',\n justifyContent: 'center',\n textDecorationLine: 'none',\n verticalAlign: 'middle',\n margin: 0,\n overflow: 'hidden',\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,\n fontFamily: tokens.fontFamilyBase,\n outlineStyle: 'none',\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n borderColor: tokens.colorNeutralStroke1Hover,\n color: tokens.colorNeutralForeground1Hover,\n cursor: 'pointer'\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n borderColor: tokens.colorNeutralStroke1Pressed,\n color: tokens.colorNeutralForeground1Pressed,\n outlineStyle: 'none'\n },\n padding: `${buttonSpacingMedium} ${tokens.spacingHorizontalM}`,\n minWidth: '96px',\n borderRadius: tokens.borderRadiusMedium,\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase300,\n // Transition styles\n transitionDuration: tokens.durationFaster,\n transitionProperty: 'background, border, color',\n transitionTimingFunction: tokens.curveEasyEase,\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms'\n },\n // High contrast styles\n '@media (forced-colors: active)': {\n ':focus': {\n borderColor: 'ButtonText'\n },\n ':hover': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none'\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none'\n }\n },\n // Focus styles\n ...createCustomFocusIndicatorStyle({\n borderColor: tokens.colorStrokeFocus2,\n borderRadius: tokens.borderRadiusMedium,\n borderWidth: '1px',\n outline: `${tokens.strokeWidthThick} solid ${tokens.colorTransparentStroke}`,\n boxShadow: `0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2}\n inset\n `,\n zIndex: 1\n }),\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2}\n inset\n `\n })\n }\n});\nconst useIconBaseClassName = makeResetStyles({\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n fontSize: '20px',\n height: '20px',\n width: '20px',\n [iconSpacingVar]: tokens.spacingHorizontalSNudge\n});\nconst useRootStyles = makeStyles({\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackgroundPressed\n }\n },\n primary: {\n backgroundColor: tokens.colorBrandBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n ':hover': {\n backgroundColor: tokens.colorBrandBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorBrandBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand\n },\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n ...shorthands.borderColor('HighlightText'),\n color: 'HighlightText',\n forcedColorAdjust: 'none',\n ':hover': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight'\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight'\n }\n }\n },\n secondary: {\n },\n subtle: {\n backgroundColor: tokens.colorSubtleBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Hover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none'\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandHover\n }\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Pressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none'\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandPressed\n }\n },\n '@media (forced-colors: active)': {\n ':hover': {\n color: 'Highlight',\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight'\n }\n },\n ':hover:active,:active:focus-visible': {\n color: 'Highlight',\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight'\n }\n }\n }\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandHover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none'\n }\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandPressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none'\n }\n },\n '@media (forced-colors: active)': {\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight'\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight'\n }\n }\n },\n // Shape variations\n circular: {\n borderRadius: tokens.borderRadiusCircular\n },\n rounded: {\n },\n square: {\n borderRadius: tokens.borderRadiusNone\n },\n // Size variations\n small: {\n minWidth: '64px',\n padding: `${buttonSpacingSmall} ${tokens.spacingHorizontalS}`,\n borderRadius: tokens.borderRadiusMedium,\n fontSize: tokens.fontSizeBase200,\n fontWeight: tokens.fontWeightRegular,\n lineHeight: tokens.lineHeightBase200\n },\n smallWithIcon: {\n paddingBottom: buttonSpacingSmallWithIcon,\n paddingTop: buttonSpacingSmallWithIcon\n },\n medium: {\n },\n large: {\n minWidth: '96px',\n padding: `${buttonSpacingLarge} ${tokens.spacingHorizontalL}`,\n borderRadius: tokens.borderRadiusMedium,\n fontSize: tokens.fontSizeBase400,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase400\n },\n largeWithIcon: {\n paddingBottom: buttonSpacingLargeWithIcon,\n paddingTop: buttonSpacingLargeWithIcon\n }\n});\nconst useRootDisabledStyles = makeStyles({\n // Base styles\n base: {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled\n },\n ':hover': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n [`& .${iconFilledClassName}`]: {\n display: 'none'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline'\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled\n }\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n cursor: 'not-allowed',\n [`& .${iconFilledClassName}`]: {\n display: 'none'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline'\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled\n }\n }\n },\n // High contrast styles\n highContrast: {\n '@media (forced-colors: active)': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText'\n },\n ':focus': {\n ...shorthands.borderColor('GrayText')\n },\n ':hover': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText'\n }\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText'\n }\n }\n }\n },\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackground\n }\n },\n primary: {\n ...shorthands.borderColor('transparent'),\n ':hover': {\n ...shorthands.borderColor('transparent')\n },\n ':hover:active,:active:focus-visible': {\n ...shorthands.borderColor('transparent')\n }\n },\n secondary: {\n },\n subtle: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent')\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent')\n }\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent')\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent')\n }\n }\n});\nconst useRootFocusStyles = makeStyles({\n // Shape variations\n circular: createCustomFocusIndicatorStyle({\n borderRadius: tokens.borderRadiusCircular\n }),\n rounded: {\n },\n square: createCustomFocusIndicatorStyle({\n borderRadius: tokens.borderRadiusNone\n }),\n // Primary styles\n primary: {\n ...createCustomFocusIndicatorStyle({\n ...shorthands.borderColor(tokens.colorStrokeFocus2),\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset`,\n ...shorthands.borderColor(tokens.colorStrokeFocus2)\n }\n }),\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset`\n }\n })\n }\n },\n // Size variations\n small: createCustomFocusIndicatorStyle({\n borderRadius: tokens.borderRadiusSmall\n }),\n medium: {\n },\n large: createCustomFocusIndicatorStyle({\n borderRadius: tokens.borderRadiusLarge\n })\n});\nconst useRootIconOnlyStyles = makeStyles({\n // Size variations\n small: {\n padding: buttonSpacingSmallWithIcon,\n minWidth: '24px',\n maxWidth: '24px'\n },\n medium: {\n padding: buttonSpacingMedium,\n minWidth: '32px',\n maxWidth: '32px'\n },\n large: {\n padding: buttonSpacingLargeWithIcon,\n minWidth: '40px',\n maxWidth: '40px'\n }\n});\nconst useIconStyles = makeStyles({\n // Size variations\n small: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n [iconSpacingVar]: tokens.spacingHorizontalXS\n },\n medium: {\n },\n large: {\n fontSize: '24px',\n height: '24px',\n width: '24px',\n [iconSpacingVar]: tokens.spacingHorizontalSNudge\n },\n // Icon position variations\n before: {\n marginRight: `var(${iconSpacingVar})`\n },\n after: {\n marginLeft: `var(${iconSpacingVar})`\n }\n});\nexport const useButtonStyles_unstable = (state)=>{\n 'use no memo';\n const rootBaseClassName = useRootBaseClassName();\n const iconBaseClassName = useIconBaseClassName();\n const rootStyles = useRootStyles();\n const rootDisabledStyles = useRootDisabledStyles();\n const rootFocusStyles = useRootFocusStyles();\n const rootIconOnlyStyles = useRootIconOnlyStyles();\n const iconStyles = useIconStyles();\n const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;\n state.root.className = mergeClasses(buttonClassNames.root, rootBaseClassName, appearance && rootStyles[appearance], rootStyles[size], icon && size === 'small' && rootStyles.smallWithIcon, icon && size === 'large' && rootStyles.largeWithIcon, rootStyles[shape], // Disabled styles\n (disabled || disabledFocusable) && rootDisabledStyles.base, (disabled || disabledFocusable) && rootDisabledStyles.highContrast, appearance && (disabled || disabledFocusable) && rootDisabledStyles[appearance], // Focus styles\n appearance === 'primary' && rootFocusStyles.primary, rootFocusStyles[size], rootFocusStyles[shape], // Icon-only styles\n iconOnly && rootIconOnlyStyles[size], // User provided class name\n state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(buttonClassNames.icon, iconBaseClassName, !!state.root.children && iconStyles[iconPosition], iconStyles[size], state.icon.className);\n }\n return state;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,36 @@
1
+ 'use client';
2
+ export const buttonClassNames = {
3
+ root: 'fui-Button',
4
+ icon: 'fui-Button__icon'
5
+ };
6
+ /**
7
+ * Attaches only semantic slot class names and state modifiers
8
+ */ export const useButtonStyles_unstable = (state)=>{
9
+ 'use no memo';
10
+ const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;
11
+ state.root.className = [
12
+ buttonClassNames.root,
13
+ // Appearance
14
+ appearance && `${buttonClassNames.root}--${appearance}`,
15
+ // Size
16
+ `${buttonClassNames.root}--${size}`,
17
+ // Shape
18
+ `${buttonClassNames.root}--${shape}`,
19
+ // Disabled styles
20
+ disabled && `${buttonClassNames.root}--disabled`,
21
+ disabledFocusable && `${buttonClassNames.root}--disabledFocusable`,
22
+ // Icon styles
23
+ icon && iconPosition === 'before' && `${buttonClassNames.root}--iconBefore`,
24
+ icon && iconPosition === 'after' && `${buttonClassNames.root}--iconAfter`,
25
+ iconOnly && `${buttonClassNames.root}--iconOnly`,
26
+ // User provided class name
27
+ state.root.className
28
+ ].filter(Boolean).join(' ');
29
+ if (state.icon) {
30
+ state.icon.className = [
31
+ buttonClassNames.icon,
32
+ state.icon.className
33
+ ].filter(Boolean).join(' ');
34
+ }
35
+ return state;
36
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Button/useButtonStyles.styles.headless.ts"],"sourcesContent":["'use client';\n\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { ButtonSlots, ButtonState } from './Button.types';\n\nexport const buttonClassNames: SlotClassNames<ButtonSlots> = {\n root: 'fui-Button',\n icon: 'fui-Button__icon',\n};\n\n/**\n * Attaches only semantic slot class names and state modifiers\n */\nexport const useButtonStyles_unstable = (state: ButtonState): ButtonState => {\n 'use no memo';\n\n const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;\n\n state.root.className = [\n buttonClassNames.root,\n\n // Appearance\n appearance && `${buttonClassNames.root}--${appearance}`,\n\n // Size\n `${buttonClassNames.root}--${size}`,\n\n // Shape\n `${buttonClassNames.root}--${shape}`,\n\n // Disabled styles\n disabled && `${buttonClassNames.root}--disabled`,\n disabledFocusable && `${buttonClassNames.root}--disabledFocusable`,\n\n // Icon styles\n icon && iconPosition === 'before' && `${buttonClassNames.root}--iconBefore`,\n icon && iconPosition === 'after' && `${buttonClassNames.root}--iconAfter`,\n iconOnly && `${buttonClassNames.root}--iconOnly`,\n\n // User provided class name\n state.root.className,\n ]\n .filter(Boolean)\n .join(' ');\n\n if (state.icon) {\n state.icon.className = [buttonClassNames.icon, state.icon.className].filter(Boolean).join(' ');\n }\n\n return state;\n};\n"],"names":["buttonClassNames","root","icon","useButtonStyles_unstable","state","appearance","disabled","disabledFocusable","iconOnly","iconPosition","shape","size","className","filter","Boolean","join"],"mappings":"AAAA;AAKA,OAAO,MAAMA,mBAAgD;IAC3DC,MAAM;IACNC,MAAM;AACR,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMC,2BAA2B,CAACC;IACvC;IAEA,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEL,IAAI,EAAEM,QAAQ,EAAEC,YAAY,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGP;IAE/FA,MAAMH,IAAI,CAACW,SAAS,GAAG;QACrBZ,iBAAiBC,IAAI;QAErB,aAAa;QACbI,cAAc,GAAGL,iBAAiBC,IAAI,CAAC,EAAE,EAAEI,YAAY;QAEvD,OAAO;QACP,GAAGL,iBAAiBC,IAAI,CAAC,EAAE,EAAEU,MAAM;QAEnC,QAAQ;QACR,GAAGX,iBAAiBC,IAAI,CAAC,EAAE,EAAES,OAAO;QAEpC,kBAAkB;QAClBJ,YAAY,GAAGN,iBAAiBC,IAAI,CAAC,UAAU,CAAC;QAChDM,qBAAqB,GAAGP,iBAAiBC,IAAI,CAAC,mBAAmB,CAAC;QAElE,cAAc;QACdC,QAAQO,iBAAiB,YAAY,GAAGT,iBAAiBC,IAAI,CAAC,YAAY,CAAC;QAC3EC,QAAQO,iBAAiB,WAAW,GAAGT,iBAAiBC,IAAI,CAAC,WAAW,CAAC;QACzEO,YAAY,GAAGR,iBAAiBC,IAAI,CAAC,UAAU,CAAC;QAEhD,2BAA2B;QAC3BG,MAAMH,IAAI,CAACW,SAAS;KACrB,CACEC,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIX,MAAMF,IAAI,EAAE;QACdE,MAAMF,IAAI,CAACU,SAAS,GAAG;YAACZ,iBAAiBE,IAAI;YAAEE,MAAMF,IAAI,CAACU,SAAS;SAAC,CAACC,MAAM,CAACC,SAASC,IAAI,CAAC;IAC5F;IAEA,OAAOX;AACT,EAAE"}
@@ -37,7 +37,7 @@ const useRootBaseClassName = makeResetStyles({
37
37
  color: tokens.colorNeutralForeground1Hover,
38
38
  cursor: 'pointer'
39
39
  },
40
- ':hover:active': {
40
+ ':hover:active,:active:focus-visible': {
41
41
  backgroundColor: tokens.colorNeutralBackground1Pressed,
42
42
  borderColor: tokens.colorNeutralStroke1Pressed,
43
43
  color: tokens.colorNeutralForeground1Pressed,
@@ -67,7 +67,7 @@ const useRootBaseClassName = makeResetStyles({
67
67
  color: 'Highlight',
68
68
  forcedColorAdjust: 'none'
69
69
  },
70
- ':hover:active': {
70
+ ':hover:active,:active:focus-visible': {
71
71
  backgroundColor: 'HighlightText',
72
72
  borderColor: 'Highlight',
73
73
  color: 'Highlight',
@@ -110,7 +110,7 @@ const useRootStyles = makeStyles({
110
110
  ':hover': {
111
111
  backgroundColor: tokens.colorTransparentBackgroundHover
112
112
  },
113
- ':hover:active': {
113
+ ':hover:active,:active:focus-visible': {
114
114
  backgroundColor: tokens.colorTransparentBackgroundPressed
115
115
  }
116
116
  },
@@ -123,7 +123,7 @@ const useRootStyles = makeStyles({
123
123
  ...shorthands.borderColor('transparent'),
124
124
  color: tokens.colorNeutralForegroundOnBrand
125
125
  },
126
- ':hover:active': {
126
+ ':hover:active,:active:focus-visible': {
127
127
  backgroundColor: tokens.colorBrandBackgroundPressed,
128
128
  ...shorthands.borderColor('transparent'),
129
129
  color: tokens.colorNeutralForegroundOnBrand
@@ -138,7 +138,7 @@ const useRootStyles = makeStyles({
138
138
  ...shorthands.borderColor('Highlight'),
139
139
  color: 'Highlight'
140
140
  },
141
- ':hover:active': {
141
+ ':hover:active,:active:focus-visible': {
142
142
  backgroundColor: 'HighlightText',
143
143
  ...shorthands.borderColor('Highlight'),
144
144
  color: 'Highlight'
@@ -165,7 +165,7 @@ const useRootStyles = makeStyles({
165
165
  color: tokens.colorNeutralForeground2BrandHover
166
166
  }
167
167
  },
168
- ':hover:active': {
168
+ ':hover:active,:active:focus-visible': {
169
169
  backgroundColor: tokens.colorSubtleBackgroundPressed,
170
170
  ...shorthands.borderColor('transparent'),
171
171
  color: tokens.colorNeutralForeground2Pressed,
@@ -186,7 +186,7 @@ const useRootStyles = makeStyles({
186
186
  color: 'Highlight'
187
187
  }
188
188
  },
189
- ':hover:active': {
189
+ ':hover:active,:active:focus-visible': {
190
190
  color: 'Highlight',
191
191
  [`& .${buttonClassNames.icon}`]: {
192
192
  color: 'Highlight'
@@ -209,7 +209,7 @@ const useRootStyles = makeStyles({
209
209
  display: 'none'
210
210
  }
211
211
  },
212
- ':hover:active': {
212
+ ':hover:active,:active:focus-visible': {
213
213
  backgroundColor: tokens.colorTransparentBackgroundPressed,
214
214
  ...shorthands.borderColor('transparent'),
215
215
  color: tokens.colorNeutralForeground2BrandPressed,
@@ -225,7 +225,7 @@ const useRootStyles = makeStyles({
225
225
  backgroundColor: tokens.colorTransparentBackground,
226
226
  color: 'Highlight'
227
227
  },
228
- ':hover:active': {
228
+ ':hover:active,:active:focus-visible': {
229
229
  backgroundColor: tokens.colorTransparentBackground,
230
230
  color: 'Highlight'
231
231
  }
@@ -293,7 +293,7 @@ const useRootDisabledStyles = makeStyles({
293
293
  color: tokens.colorNeutralForegroundDisabled
294
294
  }
295
295
  },
296
- ':hover:active': {
296
+ ':hover:active,:active:focus-visible': {
297
297
  backgroundColor: tokens.colorNeutralBackgroundDisabled,
298
298
  ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),
299
299
  color: tokens.colorNeutralForegroundDisabled,
@@ -329,7 +329,7 @@ const useRootDisabledStyles = makeStyles({
329
329
  color: 'GrayText'
330
330
  }
331
331
  },
332
- ':hover:active': {
332
+ ':hover:active,:active:focus-visible': {
333
333
  backgroundColor: 'ButtonFace',
334
334
  ...shorthands.borderColor('GrayText'),
335
335
  color: 'GrayText',
@@ -345,7 +345,7 @@ const useRootDisabledStyles = makeStyles({
345
345
  ':hover': {
346
346
  backgroundColor: tokens.colorTransparentBackground
347
347
  },
348
- ':hover:active': {
348
+ ':hover:active,:active:focus-visible': {
349
349
  backgroundColor: tokens.colorTransparentBackground
350
350
  }
351
351
  },
@@ -354,7 +354,7 @@ const useRootDisabledStyles = makeStyles({
354
354
  ':hover': {
355
355
  ...shorthands.borderColor('transparent')
356
356
  },
357
- ':hover:active': {
357
+ ':hover:active,:active:focus-visible': {
358
358
  ...shorthands.borderColor('transparent')
359
359
  }
360
360
  },
@@ -367,7 +367,7 @@ const useRootDisabledStyles = makeStyles({
367
367
  backgroundColor: tokens.colorTransparentBackground,
368
368
  ...shorthands.borderColor('transparent')
369
369
  },
370
- ':hover:active': {
370
+ ':hover:active,:active:focus-visible': {
371
371
  backgroundColor: tokens.colorTransparentBackground,
372
372
  ...shorthands.borderColor('transparent')
373
373
  }
@@ -379,7 +379,7 @@ const useRootDisabledStyles = makeStyles({
379
379
  backgroundColor: tokens.colorTransparentBackground,
380
380
  ...shorthands.borderColor('transparent')
381
381
  },
382
- ':hover:active': {
382
+ ':hover:active,:active:focus-visible': {
383
383
  backgroundColor: tokens.colorTransparentBackground,
384
384
  ...shorthands.borderColor('transparent')
385
385
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Button/useButtonStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { shorthands, makeStyles, makeResetStyles, mergeClasses } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { ButtonSlots, ButtonState } from './Button.types';\n\nexport const buttonClassNames: SlotClassNames<ButtonSlots> = {\n root: 'fui-Button',\n icon: 'fui-Button__icon',\n};\n\nconst iconSpacingVar = '--fui-Button__icon--spacing';\n\nconst buttonSpacingSmall = '3px';\nconst buttonSpacingSmallWithIcon = '1px';\nconst buttonSpacingMedium = '5px';\nconst buttonSpacingLarge = '8px';\nconst buttonSpacingLargeWithIcon = '7px';\n\n/* Firefox has box shadow sizing issue at some zoom levels\n * this will ensure the inset boxShadow is always uniform\n * without affecting other browser platforms\n */\nconst boxShadowStrokeWidthThinMoz = `calc(${tokens.strokeWidthThin} + 0.25px)`;\n\nconst useRootBaseClassName = makeResetStyles({\n alignItems: 'center',\n boxSizing: 'border-box',\n display: 'inline-flex',\n justifyContent: 'center',\n textDecorationLine: 'none',\n verticalAlign: 'middle',\n\n margin: 0,\n overflow: 'hidden',\n\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,\n\n fontFamily: tokens.fontFamilyBase,\n outlineStyle: 'none',\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n borderColor: tokens.colorNeutralStroke1Hover,\n color: tokens.colorNeutralForeground1Hover,\n\n cursor: 'pointer',\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n borderColor: tokens.colorNeutralStroke1Pressed,\n color: tokens.colorNeutralForeground1Pressed,\n\n outlineStyle: 'none',\n },\n\n padding: `${buttonSpacingMedium} ${tokens.spacingHorizontalM}`,\n minWidth: '96px',\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase300,\n\n // Transition styles\n\n transitionDuration: tokens.durationFaster,\n transitionProperty: 'background, border, color',\n transitionTimingFunction: tokens.curveEasyEase,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n\n // High contrast styles\n\n '@media (forced-colors: active)': {\n ':focus': {\n borderColor: 'ButtonText',\n },\n\n ':hover': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none',\n },\n\n ':hover:active': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none',\n },\n },\n\n // Focus styles\n\n ...createCustomFocusIndicatorStyle({\n borderColor: tokens.colorStrokeFocus2,\n borderRadius: tokens.borderRadiusMedium,\n borderWidth: '1px',\n outline: `${tokens.strokeWidthThick} solid ${tokens.colorTransparentStroke}`,\n boxShadow: `0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2}\n inset\n `,\n zIndex: 1,\n }),\n\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2}\n inset\n `,\n }),\n },\n});\n\nconst useIconBaseClassName = makeResetStyles({\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n\n fontSize: '20px',\n height: '20px',\n width: '20px',\n\n [iconSpacingVar]: tokens.spacingHorizontalSNudge,\n});\n\nconst useRootStyles = makeStyles({\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n },\n },\n primary: {\n backgroundColor: tokens.colorBrandBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n\n ':hover': {\n backgroundColor: tokens.colorBrandBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorBrandBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n },\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n ...shorthands.borderColor('HighlightText'),\n color: 'HighlightText',\n forcedColorAdjust: 'none',\n\n ':hover': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight',\n },\n\n ':hover:active': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight',\n },\n },\n },\n secondary: {\n /* The secondary styles are exactly the same as the base styles. */\n },\n subtle: {\n backgroundColor: tokens.colorSubtleBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Hover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandHover,\n },\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Pressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandPressed,\n },\n },\n\n '@media (forced-colors: active)': {\n ':hover': {\n color: 'Highlight',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight',\n },\n },\n ':hover:active': {\n color: 'Highlight',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight',\n },\n },\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandHover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandPressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n\n '@media (forced-colors: active)': {\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight',\n },\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight',\n },\n },\n },\n\n // Shape variations\n circular: { borderRadius: tokens.borderRadiusCircular },\n rounded: {\n /* The borderRadius rounded styles are handled in the size variations */\n },\n square: { borderRadius: tokens.borderRadiusNone },\n\n // Size variations\n small: {\n minWidth: '64px',\n padding: `${buttonSpacingSmall} ${tokens.spacingHorizontalS}`,\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase200,\n fontWeight: tokens.fontWeightRegular,\n lineHeight: tokens.lineHeightBase200,\n },\n smallWithIcon: {\n paddingBottom: buttonSpacingSmallWithIcon,\n paddingTop: buttonSpacingSmallWithIcon,\n },\n medium: {\n /* defined in base styles */\n },\n large: {\n minWidth: '96px',\n padding: `${buttonSpacingLarge} ${tokens.spacingHorizontalL}`,\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase400,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase400,\n },\n largeWithIcon: {\n paddingBottom: buttonSpacingLargeWithIcon,\n paddingTop: buttonSpacingLargeWithIcon,\n },\n});\n\nconst useRootDisabledStyles = makeStyles({\n // Base styles\n base: {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n\n [`& .${iconFilledClassName}`]: {\n display: 'none',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n\n [`& .${iconFilledClassName}`]: {\n display: 'none',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n },\n\n // High contrast styles\n highContrast: {\n '@media (forced-colors: active)': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n\n ':focus': {\n ...shorthands.borderColor('GrayText'),\n },\n\n ':hover': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n },\n\n ':hover:active': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n },\n },\n },\n\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n },\n },\n primary: {\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active': {\n ...shorthands.borderColor('transparent'),\n },\n },\n secondary: {\n /* The secondary styles are exactly the same as the base styles. */\n },\n subtle: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n },\n});\n\nconst useRootFocusStyles = makeStyles({\n // Shape variations\n circular: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusCircular }),\n rounded: {\n /* The rounded styles are exactly the same as the base styles. */\n },\n square: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusNone }),\n\n // Primary styles\n primary: {\n ...createCustomFocusIndicatorStyle({\n ...shorthands.borderColor(tokens.colorStrokeFocus2),\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset`,\n ...shorthands.borderColor(tokens.colorStrokeFocus2),\n },\n }),\n\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset`,\n },\n }),\n },\n },\n\n // Size variations\n small: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusSmall }),\n medium: {\n /* defined in base styles */\n },\n large: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusLarge }),\n});\n\nconst useRootIconOnlyStyles = makeStyles({\n // Size variations\n small: {\n padding: buttonSpacingSmallWithIcon,\n\n minWidth: '24px',\n maxWidth: '24px',\n },\n medium: {\n padding: buttonSpacingMedium,\n\n minWidth: '32px',\n maxWidth: '32px',\n },\n large: {\n padding: buttonSpacingLargeWithIcon,\n\n minWidth: '40px',\n maxWidth: '40px',\n },\n});\n\nconst useIconStyles = makeStyles({\n // Size variations\n small: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n\n [iconSpacingVar]: tokens.spacingHorizontalXS,\n },\n medium: {\n /* defined in base styles */\n },\n large: {\n fontSize: '24px',\n height: '24px',\n width: '24px',\n\n [iconSpacingVar]: tokens.spacingHorizontalSNudge,\n },\n\n // Icon position variations\n before: {\n marginRight: `var(${iconSpacingVar})`,\n },\n after: {\n marginLeft: `var(${iconSpacingVar})`,\n },\n});\n\nexport const useButtonStyles_unstable = (state: ButtonState): ButtonState => {\n 'use no memo';\n\n const rootBaseClassName = useRootBaseClassName();\n const iconBaseClassName = useIconBaseClassName();\n\n const rootStyles = useRootStyles();\n const rootDisabledStyles = useRootDisabledStyles();\n const rootFocusStyles = useRootFocusStyles();\n const rootIconOnlyStyles = useRootIconOnlyStyles();\n const iconStyles = useIconStyles();\n\n const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;\n\n state.root.className = mergeClasses(\n buttonClassNames.root,\n rootBaseClassName,\n\n appearance && rootStyles[appearance],\n\n rootStyles[size],\n icon && size === 'small' && rootStyles.smallWithIcon,\n icon && size === 'large' && rootStyles.largeWithIcon,\n rootStyles[shape],\n\n // Disabled styles\n (disabled || disabledFocusable) && rootDisabledStyles.base,\n (disabled || disabledFocusable) && rootDisabledStyles.highContrast,\n appearance && (disabled || disabledFocusable) && rootDisabledStyles[appearance],\n\n // Focus styles\n appearance === 'primary' && rootFocusStyles.primary,\n rootFocusStyles[size],\n rootFocusStyles[shape],\n\n // Icon-only styles\n iconOnly && rootIconOnlyStyles[size],\n\n // User provided class name\n state.root.className,\n );\n\n if (state.icon) {\n state.icon.className = mergeClasses(\n buttonClassNames.icon,\n iconBaseClassName,\n !!state.root.children && iconStyles[iconPosition],\n iconStyles[size],\n state.icon.className,\n );\n }\n\n return state;\n};\n"],"names":["iconFilledClassName","iconRegularClassName","createCustomFocusIndicatorStyle","tokens","shorthands","makeStyles","makeResetStyles","mergeClasses","buttonClassNames","root","icon","iconSpacingVar","buttonSpacingSmall","buttonSpacingSmallWithIcon","buttonSpacingMedium","buttonSpacingLarge","buttonSpacingLargeWithIcon","boxShadowStrokeWidthThinMoz","strokeWidthThin","useRootBaseClassName","alignItems","boxSizing","display","justifyContent","textDecorationLine","verticalAlign","margin","overflow","backgroundColor","colorNeutralBackground1","color","colorNeutralForeground1","border","colorNeutralStroke1","fontFamily","fontFamilyBase","outlineStyle","colorNeutralBackground1Hover","borderColor","colorNeutralStroke1Hover","colorNeutralForeground1Hover","cursor","colorNeutralBackground1Pressed","colorNeutralStroke1Pressed","colorNeutralForeground1Pressed","padding","spacingHorizontalM","minWidth","borderRadius","borderRadiusMedium","fontSize","fontSizeBase300","fontWeight","fontWeightSemibold","lineHeight","lineHeightBase300","transitionDuration","durationFaster","transitionProperty","transitionTimingFunction","curveEasyEase","forcedColorAdjust","colorStrokeFocus2","borderWidth","outline","strokeWidthThick","colorTransparentStroke","boxShadow","zIndex","useIconBaseClassName","height","width","spacingHorizontalSNudge","useRootStyles","colorTransparentBackground","colorTransparentBackgroundHover","colorTransparentBackgroundPressed","primary","colorBrandBackground","colorNeutralForegroundOnBrand","colorBrandBackgroundHover","colorBrandBackgroundPressed","secondary","subtle","colorSubtleBackground","colorNeutralForeground2","colorSubtleBackgroundHover","colorNeutralForeground2Hover","colorNeutralForeground2BrandHover","colorSubtleBackgroundPressed","colorNeutralForeground2Pressed","colorNeutralForeground2BrandPressed","transparent","circular","borderRadiusCircular","rounded","square","borderRadiusNone","small","spacingHorizontalS","fontSizeBase200","fontWeightRegular","lineHeightBase200","smallWithIcon","paddingBottom","paddingTop","medium","large","spacingHorizontalL","fontSizeBase400","lineHeightBase400","largeWithIcon","useRootDisabledStyles","base","colorNeutralBackgroundDisabled","colorNeutralStrokeDisabled","colorNeutralForegroundDisabled","highContrast","useRootFocusStyles","shadow2","borderRadiusSmall","borderRadiusLarge","useRootIconOnlyStyles","maxWidth","useIconStyles","spacingHorizontalXS","before","marginRight","after","marginLeft","useButtonStyles_unstable","state","rootBaseClassName","iconBaseClassName","rootStyles","rootDisabledStyles","rootFocusStyles","rootIconOnlyStyles","iconStyles","appearance","disabled","disabledFocusable","iconOnly","iconPosition","shape","size","className","children"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/components/Button/useButtonStyles.styles.ts"],"sourcesContent":["'use client';\n\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport { shorthands, makeStyles, makeResetStyles, mergeClasses } from '@griffel/react';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { ButtonSlots, ButtonState } from './Button.types';\n\nexport const buttonClassNames: SlotClassNames<ButtonSlots> = {\n root: 'fui-Button',\n icon: 'fui-Button__icon',\n};\n\nconst iconSpacingVar = '--fui-Button__icon--spacing';\n\nconst buttonSpacingSmall = '3px';\nconst buttonSpacingSmallWithIcon = '1px';\nconst buttonSpacingMedium = '5px';\nconst buttonSpacingLarge = '8px';\nconst buttonSpacingLargeWithIcon = '7px';\n\n/* Firefox has box shadow sizing issue at some zoom levels\n * this will ensure the inset boxShadow is always uniform\n * without affecting other browser platforms\n */\nconst boxShadowStrokeWidthThinMoz = `calc(${tokens.strokeWidthThin} + 0.25px)`;\n\nconst useRootBaseClassName = makeResetStyles({\n alignItems: 'center',\n boxSizing: 'border-box',\n display: 'inline-flex',\n justifyContent: 'center',\n textDecorationLine: 'none',\n verticalAlign: 'middle',\n\n margin: 0,\n overflow: 'hidden',\n\n backgroundColor: tokens.colorNeutralBackground1,\n color: tokens.colorNeutralForeground1,\n border: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke1}`,\n\n fontFamily: tokens.fontFamilyBase,\n outlineStyle: 'none',\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackground1Hover,\n borderColor: tokens.colorNeutralStroke1Hover,\n color: tokens.colorNeutralForeground1Hover,\n\n cursor: 'pointer',\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n borderColor: tokens.colorNeutralStroke1Pressed,\n color: tokens.colorNeutralForeground1Pressed,\n\n outlineStyle: 'none',\n },\n\n padding: `${buttonSpacingMedium} ${tokens.spacingHorizontalM}`,\n minWidth: '96px',\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase300,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase300,\n\n // Transition styles\n\n transitionDuration: tokens.durationFaster,\n transitionProperty: 'background, border, color',\n transitionTimingFunction: tokens.curveEasyEase,\n\n '@media screen and (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n\n // High contrast styles\n\n '@media (forced-colors: active)': {\n ':focus': {\n borderColor: 'ButtonText',\n },\n\n ':hover': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none',\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: 'HighlightText',\n borderColor: 'Highlight',\n color: 'Highlight',\n forcedColorAdjust: 'none',\n },\n },\n\n // Focus styles\n\n ...createCustomFocusIndicatorStyle({\n borderColor: tokens.colorStrokeFocus2,\n borderRadius: tokens.borderRadiusMedium,\n borderWidth: '1px',\n outline: `${tokens.strokeWidthThick} solid ${tokens.colorTransparentStroke}`,\n boxShadow: `0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2}\n inset\n `,\n zIndex: 1,\n }),\n\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2}\n inset\n `,\n }),\n },\n});\n\nconst useIconBaseClassName = makeResetStyles({\n alignItems: 'center',\n display: 'inline-flex',\n justifyContent: 'center',\n\n fontSize: '20px',\n height: '20px',\n width: '20px',\n\n [iconSpacingVar]: tokens.spacingHorizontalSNudge,\n});\n\nconst useRootStyles = makeStyles({\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n },\n },\n primary: {\n backgroundColor: tokens.colorBrandBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n\n ':hover': {\n backgroundColor: tokens.colorBrandBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorBrandBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForegroundOnBrand,\n },\n\n '@media (forced-colors: active)': {\n backgroundColor: 'Highlight',\n ...shorthands.borderColor('HighlightText'),\n color: 'HighlightText',\n forcedColorAdjust: 'none',\n\n ':hover': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight',\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: 'HighlightText',\n ...shorthands.borderColor('Highlight'),\n color: 'Highlight',\n },\n },\n },\n secondary: {\n /* The secondary styles are exactly the same as the base styles. */\n },\n subtle: {\n backgroundColor: tokens.colorSubtleBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Hover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandHover,\n },\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2Pressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForeground2BrandPressed,\n },\n },\n\n '@media (forced-colors: active)': {\n ':hover': {\n color: 'Highlight',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight',\n },\n },\n ':hover:active,:active:focus-visible': {\n color: 'Highlight',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'Highlight',\n },\n },\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackgroundHover,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandHover,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackgroundPressed,\n ...shorthands.borderColor('transparent'),\n color: tokens.colorNeutralForeground2BrandPressed,\n [`& .${iconFilledClassName}`]: {\n display: 'inline',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'none',\n },\n },\n\n '@media (forced-colors: active)': {\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight',\n },\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackground,\n color: 'Highlight',\n },\n },\n },\n\n // Shape variations\n circular: { borderRadius: tokens.borderRadiusCircular },\n rounded: {\n /* The borderRadius rounded styles are handled in the size variations */\n },\n square: { borderRadius: tokens.borderRadiusNone },\n\n // Size variations\n small: {\n minWidth: '64px',\n padding: `${buttonSpacingSmall} ${tokens.spacingHorizontalS}`,\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase200,\n fontWeight: tokens.fontWeightRegular,\n lineHeight: tokens.lineHeightBase200,\n },\n smallWithIcon: {\n paddingBottom: buttonSpacingSmallWithIcon,\n paddingTop: buttonSpacingSmallWithIcon,\n },\n medium: {\n /* defined in base styles */\n },\n large: {\n minWidth: '96px',\n padding: `${buttonSpacingLarge} ${tokens.spacingHorizontalL}`,\n borderRadius: tokens.borderRadiusMedium,\n\n fontSize: tokens.fontSizeBase400,\n fontWeight: tokens.fontWeightSemibold,\n lineHeight: tokens.lineHeightBase400,\n },\n largeWithIcon: {\n paddingBottom: buttonSpacingLargeWithIcon,\n paddingTop: buttonSpacingLargeWithIcon,\n },\n});\n\nconst useRootDisabledStyles = makeStyles({\n // Base styles\n base: {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n\n ':hover': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n\n [`& .${iconFilledClassName}`]: {\n display: 'none',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorNeutralBackgroundDisabled,\n ...shorthands.borderColor(tokens.colorNeutralStrokeDisabled),\n color: tokens.colorNeutralForegroundDisabled,\n\n cursor: 'not-allowed',\n\n [`& .${iconFilledClassName}`]: {\n display: 'none',\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline',\n },\n [`& .${buttonClassNames.icon}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n },\n\n // High contrast styles\n highContrast: {\n '@media (forced-colors: active)': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n\n ':focus': {\n ...shorthands.borderColor('GrayText'),\n },\n\n ':hover': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: 'ButtonFace',\n ...shorthands.borderColor('GrayText'),\n color: 'GrayText',\n\n [`& .${buttonClassNames.icon}`]: {\n color: 'GrayText',\n },\n },\n },\n },\n\n // Appearance variations\n outline: {\n backgroundColor: tokens.colorTransparentBackground,\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackground,\n },\n },\n primary: {\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active,:active:focus-visible': {\n ...shorthands.borderColor('transparent'),\n },\n },\n secondary: {\n /* The secondary styles are exactly the same as the base styles. */\n },\n subtle: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n },\n transparent: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n\n ':hover': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n\n ':hover:active,:active:focus-visible': {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor('transparent'),\n },\n },\n});\n\nconst useRootFocusStyles = makeStyles({\n // Shape variations\n circular: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusCircular }),\n rounded: {\n /* The rounded styles are exactly the same as the base styles. */\n },\n square: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusNone }),\n\n // Primary styles\n primary: {\n ...createCustomFocusIndicatorStyle({\n ...shorthands.borderColor(tokens.colorStrokeFocus2),\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${tokens.strokeWidthThin} ${tokens.colorStrokeFocus2} inset`,\n ...shorthands.borderColor(tokens.colorStrokeFocus2),\n },\n }),\n\n // BUGFIX: Mozilla specific styles (Mozilla BugID: 1857642)\n '@supports (-moz-appearance:button)': {\n ...createCustomFocusIndicatorStyle({\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset, 0 0 0 ${tokens.strokeWidthThick} ${tokens.colorNeutralForegroundOnBrand} inset`,\n ':hover': {\n boxShadow: `${tokens.shadow2}, 0 0 0 ${boxShadowStrokeWidthThinMoz} ${tokens.colorStrokeFocus2} inset`,\n },\n }),\n },\n },\n\n // Size variations\n small: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusSmall }),\n medium: {\n /* defined in base styles */\n },\n large: createCustomFocusIndicatorStyle({ borderRadius: tokens.borderRadiusLarge }),\n});\n\nconst useRootIconOnlyStyles = makeStyles({\n // Size variations\n small: {\n padding: buttonSpacingSmallWithIcon,\n\n minWidth: '24px',\n maxWidth: '24px',\n },\n medium: {\n padding: buttonSpacingMedium,\n\n minWidth: '32px',\n maxWidth: '32px',\n },\n large: {\n padding: buttonSpacingLargeWithIcon,\n\n minWidth: '40px',\n maxWidth: '40px',\n },\n});\n\nconst useIconStyles = makeStyles({\n // Size variations\n small: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n\n [iconSpacingVar]: tokens.spacingHorizontalXS,\n },\n medium: {\n /* defined in base styles */\n },\n large: {\n fontSize: '24px',\n height: '24px',\n width: '24px',\n\n [iconSpacingVar]: tokens.spacingHorizontalSNudge,\n },\n\n // Icon position variations\n before: {\n marginRight: `var(${iconSpacingVar})`,\n },\n after: {\n marginLeft: `var(${iconSpacingVar})`,\n },\n});\n\nexport const useButtonStyles_unstable = (state: ButtonState): ButtonState => {\n 'use no memo';\n\n const rootBaseClassName = useRootBaseClassName();\n const iconBaseClassName = useIconBaseClassName();\n\n const rootStyles = useRootStyles();\n const rootDisabledStyles = useRootDisabledStyles();\n const rootFocusStyles = useRootFocusStyles();\n const rootIconOnlyStyles = useRootIconOnlyStyles();\n const iconStyles = useIconStyles();\n\n const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;\n\n state.root.className = mergeClasses(\n buttonClassNames.root,\n rootBaseClassName,\n\n appearance && rootStyles[appearance],\n\n rootStyles[size],\n icon && size === 'small' && rootStyles.smallWithIcon,\n icon && size === 'large' && rootStyles.largeWithIcon,\n rootStyles[shape],\n\n // Disabled styles\n (disabled || disabledFocusable) && rootDisabledStyles.base,\n (disabled || disabledFocusable) && rootDisabledStyles.highContrast,\n appearance && (disabled || disabledFocusable) && rootDisabledStyles[appearance],\n\n // Focus styles\n appearance === 'primary' && rootFocusStyles.primary,\n rootFocusStyles[size],\n rootFocusStyles[shape],\n\n // Icon-only styles\n iconOnly && rootIconOnlyStyles[size],\n\n // User provided class name\n state.root.className,\n );\n\n if (state.icon) {\n state.icon.className = mergeClasses(\n buttonClassNames.icon,\n iconBaseClassName,\n !!state.root.children && iconStyles[iconPosition],\n iconStyles[size],\n state.icon.className,\n );\n }\n\n return state;\n};\n"],"names":["iconFilledClassName","iconRegularClassName","createCustomFocusIndicatorStyle","tokens","shorthands","makeStyles","makeResetStyles","mergeClasses","buttonClassNames","root","icon","iconSpacingVar","buttonSpacingSmall","buttonSpacingSmallWithIcon","buttonSpacingMedium","buttonSpacingLarge","buttonSpacingLargeWithIcon","boxShadowStrokeWidthThinMoz","strokeWidthThin","useRootBaseClassName","alignItems","boxSizing","display","justifyContent","textDecorationLine","verticalAlign","margin","overflow","backgroundColor","colorNeutralBackground1","color","colorNeutralForeground1","border","colorNeutralStroke1","fontFamily","fontFamilyBase","outlineStyle","colorNeutralBackground1Hover","borderColor","colorNeutralStroke1Hover","colorNeutralForeground1Hover","cursor","colorNeutralBackground1Pressed","colorNeutralStroke1Pressed","colorNeutralForeground1Pressed","padding","spacingHorizontalM","minWidth","borderRadius","borderRadiusMedium","fontSize","fontSizeBase300","fontWeight","fontWeightSemibold","lineHeight","lineHeightBase300","transitionDuration","durationFaster","transitionProperty","transitionTimingFunction","curveEasyEase","forcedColorAdjust","colorStrokeFocus2","borderWidth","outline","strokeWidthThick","colorTransparentStroke","boxShadow","zIndex","useIconBaseClassName","height","width","spacingHorizontalSNudge","useRootStyles","colorTransparentBackground","colorTransparentBackgroundHover","colorTransparentBackgroundPressed","primary","colorBrandBackground","colorNeutralForegroundOnBrand","colorBrandBackgroundHover","colorBrandBackgroundPressed","secondary","subtle","colorSubtleBackground","colorNeutralForeground2","colorSubtleBackgroundHover","colorNeutralForeground2Hover","colorNeutralForeground2BrandHover","colorSubtleBackgroundPressed","colorNeutralForeground2Pressed","colorNeutralForeground2BrandPressed","transparent","circular","borderRadiusCircular","rounded","square","borderRadiusNone","small","spacingHorizontalS","fontSizeBase200","fontWeightRegular","lineHeightBase200","smallWithIcon","paddingBottom","paddingTop","medium","large","spacingHorizontalL","fontSizeBase400","lineHeightBase400","largeWithIcon","useRootDisabledStyles","base","colorNeutralBackgroundDisabled","colorNeutralStrokeDisabled","colorNeutralForegroundDisabled","highContrast","useRootFocusStyles","shadow2","borderRadiusSmall","borderRadiusLarge","useRootIconOnlyStyles","maxWidth","useIconStyles","spacingHorizontalXS","before","marginRight","after","marginLeft","useButtonStyles_unstable","state","rootBaseClassName","iconBaseClassName","rootStyles","rootDisabledStyles","rootFocusStyles","rootIconOnlyStyles","iconStyles","appearance","disabled","disabledFocusable","iconOnly","iconPosition","shape","size","className","children"],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ 'use client';
2
+ // Re-export the same slot class names mapping used by the griffel styles file
3
+ export const compoundButtonClassNames = {
4
+ root: 'fui-CompoundButton',
5
+ icon: 'fui-CompoundButton__icon',
6
+ contentContainer: 'fui-CompoundButton__contentContainer',
7
+ secondaryContent: 'fui-CompoundButton__secondaryContent'
8
+ };
9
+ /**
10
+ * Attaches only semantic slot class names and state modifiers
11
+ */ export const useCompoundButtonStyles_unstable = (state)=>{
12
+ 'use no memo';
13
+ const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;
14
+ state.root.className = [
15
+ compoundButtonClassNames.root,
16
+ // Appearance
17
+ appearance && `${compoundButtonClassNames.root}--${appearance}`,
18
+ // Size
19
+ size && `${compoundButtonClassNames.root}--${size}`,
20
+ // Shape
21
+ shape && `${compoundButtonClassNames.root}--${shape}`,
22
+ // Disabled styles
23
+ disabled && `${compoundButtonClassNames.root}--disabled`,
24
+ disabledFocusable && `${compoundButtonClassNames.root}--disabledFocusable`,
25
+ // Icon styles
26
+ icon && iconPosition === 'before' && `${compoundButtonClassNames.root}--iconBefore`,
27
+ icon && iconPosition === 'after' && `${compoundButtonClassNames.root}--iconAfter`,
28
+ icon && iconOnly && `${compoundButtonClassNames.root}--iconOnly`,
29
+ // User provided class name
30
+ state.root.className
31
+ ].filter(Boolean).join(' ');
32
+ if (state.icon) {
33
+ state.icon.className = [
34
+ compoundButtonClassNames.icon,
35
+ state.icon.className
36
+ ].filter(Boolean).join(' ');
37
+ }
38
+ state.contentContainer.className = [
39
+ compoundButtonClassNames.contentContainer,
40
+ state.contentContainer.className
41
+ ].filter(Boolean).join(' ');
42
+ if (state.secondaryContent) {
43
+ state.secondaryContent.className = [
44
+ compoundButtonClassNames.secondaryContent,
45
+ state.secondaryContent.className
46
+ ].filter(Boolean).join(' ');
47
+ }
48
+ return state;
49
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CompoundButton/useCompoundButtonStyles.styles.headless.ts"],"sourcesContent":["'use client';\n\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { CompoundButtonSlots, CompoundButtonState } from './CompoundButton.types';\n\n// Re-export the same slot class names mapping used by the griffel styles file\nexport const compoundButtonClassNames: SlotClassNames<CompoundButtonSlots> = {\n root: 'fui-CompoundButton',\n icon: 'fui-CompoundButton__icon',\n contentContainer: 'fui-CompoundButton__contentContainer',\n secondaryContent: 'fui-CompoundButton__secondaryContent',\n};\n\n/**\n * Attaches only semantic slot class names and state modifiers\n */\nexport const useCompoundButtonStyles_unstable = (state: CompoundButtonState): CompoundButtonState => {\n 'use no memo';\n\n const { appearance, disabled, disabledFocusable, icon, iconOnly, iconPosition, shape, size } = state;\n\n state.root.className = [\n compoundButtonClassNames.root,\n\n // Appearance\n appearance && `${compoundButtonClassNames.root}--${appearance}`,\n\n // Size\n size && `${compoundButtonClassNames.root}--${size}`,\n\n // Shape\n shape && `${compoundButtonClassNames.root}--${shape}`,\n\n // Disabled styles\n disabled && `${compoundButtonClassNames.root}--disabled`,\n disabledFocusable && `${compoundButtonClassNames.root}--disabledFocusable`,\n\n // Icon styles\n icon && iconPosition === 'before' && `${compoundButtonClassNames.root}--iconBefore`,\n icon && iconPosition === 'after' && `${compoundButtonClassNames.root}--iconAfter`,\n icon && iconOnly && `${compoundButtonClassNames.root}--iconOnly`,\n\n // User provided class name\n state.root.className,\n ]\n .filter(Boolean)\n .join(' ');\n\n if (state.icon) {\n state.icon.className = [compoundButtonClassNames.icon, state.icon.className].filter(Boolean).join(' ');\n }\n\n state.contentContainer.className = [compoundButtonClassNames.contentContainer, state.contentContainer.className]\n .filter(Boolean)\n .join(' ');\n\n if (state.secondaryContent) {\n state.secondaryContent.className = [compoundButtonClassNames.secondaryContent, state.secondaryContent.className]\n .filter(Boolean)\n .join(' ');\n }\n\n return state;\n};\n"],"names":["compoundButtonClassNames","root","icon","contentContainer","secondaryContent","useCompoundButtonStyles_unstable","state","appearance","disabled","disabledFocusable","iconOnly","iconPosition","shape","size","className","filter","Boolean","join"],"mappings":"AAAA;AAKA,8EAA8E;AAC9E,OAAO,MAAMA,2BAAgE;IAC3EC,MAAM;IACNC,MAAM;IACNC,kBAAkB;IAClBC,kBAAkB;AACpB,EAAE;AAEF;;CAEC,GACD,OAAO,MAAMC,mCAAmC,CAACC;IAC/C;IAEA,MAAM,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEP,IAAI,EAAEQ,QAAQ,EAAEC,YAAY,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGP;IAE/FA,MAAML,IAAI,CAACa,SAAS,GAAG;QACrBd,yBAAyBC,IAAI;QAE7B,aAAa;QACbM,cAAc,GAAGP,yBAAyBC,IAAI,CAAC,EAAE,EAAEM,YAAY;QAE/D,OAAO;QACPM,QAAQ,GAAGb,yBAAyBC,IAAI,CAAC,EAAE,EAAEY,MAAM;QAEnD,QAAQ;QACRD,SAAS,GAAGZ,yBAAyBC,IAAI,CAAC,EAAE,EAAEW,OAAO;QAErD,kBAAkB;QAClBJ,YAAY,GAAGR,yBAAyBC,IAAI,CAAC,UAAU,CAAC;QACxDQ,qBAAqB,GAAGT,yBAAyBC,IAAI,CAAC,mBAAmB,CAAC;QAE1E,cAAc;QACdC,QAAQS,iBAAiB,YAAY,GAAGX,yBAAyBC,IAAI,CAAC,YAAY,CAAC;QACnFC,QAAQS,iBAAiB,WAAW,GAAGX,yBAAyBC,IAAI,CAAC,WAAW,CAAC;QACjFC,QAAQQ,YAAY,GAAGV,yBAAyBC,IAAI,CAAC,UAAU,CAAC;QAEhE,2BAA2B;QAC3BK,MAAML,IAAI,CAACa,SAAS;KACrB,CACEC,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIX,MAAMJ,IAAI,EAAE;QACdI,MAAMJ,IAAI,CAACY,SAAS,GAAG;YAACd,yBAAyBE,IAAI;YAAEI,MAAMJ,IAAI,CAACY,SAAS;SAAC,CAACC,MAAM,CAACC,SAASC,IAAI,CAAC;IACpG;IAEAX,MAAMH,gBAAgB,CAACW,SAAS,GAAG;QAACd,yBAAyBG,gBAAgB;QAAEG,MAAMH,gBAAgB,CAACW,SAAS;KAAC,CAC7GC,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIX,MAAMF,gBAAgB,EAAE;QAC1BE,MAAMF,gBAAgB,CAACU,SAAS,GAAG;YAACd,yBAAyBI,gBAAgB;YAAEE,MAAMF,gBAAgB,CAACU,SAAS;SAAC,CAC7GC,MAAM,CAACC,SACPC,IAAI,CAAC;IACV;IAEA,OAAOX;AACT,EAAE"}