@fluentui/react-button 9.0.0-nightly.d730088d7f.0 → 9.0.0-rc.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. package/CHANGELOG.json +864 -27
  2. package/CHANGELOG.md +375 -181
  3. package/dist/{react-button.d.ts → index.d.ts} +97 -53
  4. package/{lib → dist}/tsdoc-metadata.json +0 -0
  5. package/lib/Button.js.map +1 -1
  6. package/lib/CompoundButton.js.map +1 -1
  7. package/lib/MenuButton.js.map +1 -1
  8. package/lib/SplitButton.js.map +1 -1
  9. package/lib/ToggleButton.js.map +1 -1
  10. package/lib/components/Button/Button.js +7 -7
  11. package/lib/components/Button/Button.js.map +1 -1
  12. package/lib/components/Button/Button.types.js.map +1 -1
  13. package/lib/components/Button/index.js +3 -2
  14. package/lib/components/Button/index.js.map +1 -1
  15. package/lib/components/Button/renderButton.js +13 -9
  16. package/lib/components/Button/renderButton.js.map +1 -1
  17. package/lib/components/Button/useButton.js +23 -25
  18. package/lib/components/Button/useButton.js.map +1 -1
  19. package/lib/components/Button/useButtonStyles.js +248 -162
  20. package/lib/components/Button/useButtonStyles.js.map +1 -1
  21. package/lib/components/CompoundButton/CompoundButton.js +7 -7
  22. package/lib/components/CompoundButton/CompoundButton.js.map +1 -1
  23. package/lib/components/CompoundButton/CompoundButton.types.js.map +1 -1
  24. package/lib/components/CompoundButton/index.js +3 -1
  25. package/lib/components/CompoundButton/index.js.map +1 -1
  26. package/lib/components/CompoundButton/renderCompoundButton.js +15 -9
  27. package/lib/components/CompoundButton/renderCompoundButton.js.map +1 -1
  28. package/lib/components/CompoundButton/useCompoundButton.js +13 -8
  29. package/lib/components/CompoundButton/useCompoundButton.js.map +1 -1
  30. package/lib/components/CompoundButton/useCompoundButtonStyles.js +101 -75
  31. package/lib/components/CompoundButton/useCompoundButtonStyles.js.map +1 -1
  32. package/lib/components/MenuButton/MenuButton.js +7 -7
  33. package/lib/components/MenuButton/MenuButton.js.map +1 -1
  34. package/lib/components/MenuButton/MenuButton.types.js.map +1 -1
  35. package/lib/components/MenuButton/index.js +3 -1
  36. package/lib/components/MenuButton/index.js.map +1 -1
  37. package/lib/components/MenuButton/renderMenuButton.js +13 -9
  38. package/lib/components/MenuButton/renderMenuButton.js.map +1 -1
  39. package/lib/components/MenuButton/useMenuButton.js +11 -11
  40. package/lib/components/MenuButton/useMenuButton.js.map +1 -1
  41. package/lib/components/MenuButton/useMenuButtonStyles.js +44 -17
  42. package/lib/components/MenuButton/useMenuButtonStyles.js.map +1 -1
  43. package/lib/components/SplitButton/SplitButton.js +7 -7
  44. package/lib/components/SplitButton/SplitButton.js.map +1 -1
  45. package/lib/components/SplitButton/SplitButton.types.js.map +1 -1
  46. package/lib/components/SplitButton/index.js +3 -1
  47. package/lib/components/SplitButton/index.js.map +1 -1
  48. package/lib/components/SplitButton/renderSplitButton.js +9 -7
  49. package/lib/components/SplitButton/renderSplitButton.js.map +1 -1
  50. package/lib/components/SplitButton/useSplitButton.js +58 -49
  51. package/lib/components/SplitButton/useSplitButton.js.map +1 -1
  52. package/lib/components/SplitButton/useSplitButtonStyles.js +53 -36
  53. package/lib/components/SplitButton/useSplitButtonStyles.js.map +1 -1
  54. package/lib/components/ToggleButton/ToggleButton.js +7 -7
  55. package/lib/components/ToggleButton/ToggleButton.js.map +1 -1
  56. package/lib/components/ToggleButton/ToggleButton.types.js.map +1 -1
  57. package/lib/components/ToggleButton/index.js +3 -1
  58. package/lib/components/ToggleButton/index.js.map +1 -1
  59. package/lib/components/ToggleButton/renderToggleButton.js +1 -1
  60. package/lib/components/ToggleButton/renderToggleButton.js.map +1 -1
  61. package/lib/components/ToggleButton/useToggleButton.js +5 -41
  62. package/lib/components/ToggleButton/useToggleButton.js.map +1 -1
  63. package/lib/components/ToggleButton/useToggleButtonStyles.js +114 -85
  64. package/lib/components/ToggleButton/useToggleButtonStyles.js.map +1 -1
  65. package/lib/index.js +11 -5
  66. package/lib/index.js.map +1 -1
  67. package/lib/utils/index.js +2 -0
  68. package/lib/utils/index.js.map +1 -0
  69. package/lib/utils/useToggleState.js +37 -0
  70. package/lib/utils/useToggleState.js.map +1 -0
  71. package/lib-commonjs/Button.js +1 -1
  72. package/lib-commonjs/Button.js.map +1 -1
  73. package/lib-commonjs/CompoundButton.js +1 -1
  74. package/lib-commonjs/CompoundButton.js.map +1 -1
  75. package/lib-commonjs/MenuButton.js +1 -1
  76. package/lib-commonjs/MenuButton.js.map +1 -1
  77. package/lib-commonjs/SplitButton.js +1 -1
  78. package/lib-commonjs/SplitButton.js.map +1 -1
  79. package/lib-commonjs/ToggleButton.js +1 -1
  80. package/lib-commonjs/ToggleButton.js.map +1 -1
  81. package/lib-commonjs/components/Button/Button.js +8 -8
  82. package/lib-commonjs/components/Button/Button.js.map +1 -1
  83. package/lib-commonjs/components/Button/Button.types.js.map +1 -1
  84. package/lib-commonjs/components/Button/index.js +18 -6
  85. package/lib-commonjs/components/Button/index.js.map +1 -1
  86. package/lib-commonjs/components/Button/renderButton.js +17 -14
  87. package/lib-commonjs/components/Button/renderButton.js.map +1 -1
  88. package/lib-commonjs/components/Button/useButton.js +27 -29
  89. package/lib-commonjs/components/Button/useButton.js.map +1 -1
  90. package/lib-commonjs/components/Button/useButtonStyles.js +251 -163
  91. package/lib-commonjs/components/Button/useButtonStyles.js.map +1 -1
  92. package/lib-commonjs/components/CompoundButton/CompoundButton.js +8 -8
  93. package/lib-commonjs/components/CompoundButton/CompoundButton.js.map +1 -1
  94. package/lib-commonjs/components/CompoundButton/CompoundButton.types.js.map +1 -1
  95. package/lib-commonjs/components/CompoundButton/index.js +18 -4
  96. package/lib-commonjs/components/CompoundButton/index.js.map +1 -1
  97. package/lib-commonjs/components/CompoundButton/renderCompoundButton.js +19 -14
  98. package/lib-commonjs/components/CompoundButton/renderCompoundButton.js.map +1 -1
  99. package/lib-commonjs/components/CompoundButton/useCompoundButton.js +16 -12
  100. package/lib-commonjs/components/CompoundButton/useCompoundButton.js.map +1 -1
  101. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js +104 -77
  102. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js.map +1 -1
  103. package/lib-commonjs/components/MenuButton/MenuButton.js +8 -8
  104. package/lib-commonjs/components/MenuButton/MenuButton.js.map +1 -1
  105. package/lib-commonjs/components/MenuButton/MenuButton.types.js.map +1 -1
  106. package/lib-commonjs/components/MenuButton/index.js +18 -4
  107. package/lib-commonjs/components/MenuButton/index.js.map +1 -1
  108. package/lib-commonjs/components/MenuButton/renderMenuButton.js +17 -14
  109. package/lib-commonjs/components/MenuButton/renderMenuButton.js.map +1 -1
  110. package/lib-commonjs/components/MenuButton/useMenuButton.js +15 -16
  111. package/lib-commonjs/components/MenuButton/useMenuButton.js.map +1 -1
  112. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.js +48 -19
  113. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.js.map +1 -1
  114. package/lib-commonjs/components/SplitButton/SplitButton.js +8 -8
  115. package/lib-commonjs/components/SplitButton/SplitButton.js.map +1 -1
  116. package/lib-commonjs/components/SplitButton/SplitButton.types.js.map +1 -1
  117. package/lib-commonjs/components/SplitButton/index.js +18 -4
  118. package/lib-commonjs/components/SplitButton/index.js.map +1 -1
  119. package/lib-commonjs/components/SplitButton/renderSplitButton.js +13 -12
  120. package/lib-commonjs/components/SplitButton/renderSplitButton.js.map +1 -1
  121. package/lib-commonjs/components/SplitButton/useSplitButton.js +62 -54
  122. package/lib-commonjs/components/SplitButton/useSplitButton.js.map +1 -1
  123. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js +57 -39
  124. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js.map +1 -1
  125. package/lib-commonjs/components/ToggleButton/ToggleButton.js +8 -8
  126. package/lib-commonjs/components/ToggleButton/ToggleButton.js.map +1 -1
  127. package/lib-commonjs/components/ToggleButton/ToggleButton.types.js.map +1 -1
  128. package/lib-commonjs/components/ToggleButton/index.js +18 -4
  129. package/lib-commonjs/components/ToggleButton/index.js.map +1 -1
  130. package/lib-commonjs/components/ToggleButton/renderToggleButton.js +3 -3
  131. package/lib-commonjs/components/ToggleButton/renderToggleButton.js.map +1 -1
  132. package/lib-commonjs/components/ToggleButton/useToggleButton.js +7 -45
  133. package/lib-commonjs/components/ToggleButton/useToggleButton.js.map +1 -1
  134. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js +119 -86
  135. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js.map +1 -1
  136. package/lib-commonjs/index.js +204 -6
  137. package/lib-commonjs/index.js.map +1 -1
  138. package/lib-commonjs/utils/index.js +10 -0
  139. package/lib-commonjs/utils/index.js.map +1 -0
  140. package/lib-commonjs/utils/useToggleState.js +48 -0
  141. package/lib-commonjs/utils/useToggleState.js.map +1 -0
  142. package/package.json +22 -27
  143. package/dist/demo/index.html +0 -71
  144. package/dist/demo/react-dom.development.js +0 -21413
  145. package/dist/demo/react.development.js +0 -3155
  146. package/lib/Button.d.ts +0 -1
  147. package/lib/CompoundButton.d.ts +0 -1
  148. package/lib/MenuButton.d.ts +0 -1
  149. package/lib/SplitButton.d.ts +0 -1
  150. package/lib/ToggleButton.d.ts +0 -1
  151. package/lib/common/isConformant.d.ts +0 -4
  152. package/lib/common/isConformant.js +0 -13
  153. package/lib/common/isConformant.js.map +0 -1
  154. package/lib/components/Button/Button.d.ts +0 -6
  155. package/lib/components/Button/Button.types.d.ts +0 -62
  156. package/lib/components/Button/index.d.ts +0 -5
  157. package/lib/components/Button/renderButton.d.ts +0 -5
  158. package/lib/components/Button/useButton.d.ts +0 -8
  159. package/lib/components/Button/useButtonStyles.d.ts +0 -10
  160. package/lib/components/CompoundButton/CompoundButton.d.ts +0 -6
  161. package/lib/components/CompoundButton/CompoundButton.types.d.ts +0 -14
  162. package/lib/components/CompoundButton/index.d.ts +0 -5
  163. package/lib/components/CompoundButton/renderCompoundButton.d.ts +0 -5
  164. package/lib/components/CompoundButton/useCompoundButton.d.ts +0 -8
  165. package/lib/components/CompoundButton/useCompoundButtonStyles.d.ts +0 -2
  166. package/lib/components/MenuButton/MenuButton.d.ts +0 -6
  167. package/lib/components/MenuButton/MenuButton.types.d.ts +0 -11
  168. package/lib/components/MenuButton/index.d.ts +0 -5
  169. package/lib/components/MenuButton/renderMenuButton.d.ts +0 -5
  170. package/lib/components/MenuButton/useMenuButton.d.ts +0 -6
  171. package/lib/components/MenuButton/useMenuButtonStyles.d.ts +0 -2
  172. package/lib/components/SplitButton/SplitButton.d.ts +0 -7
  173. package/lib/components/SplitButton/SplitButton.types.d.ts +0 -19
  174. package/lib/components/SplitButton/index.d.ts +0 -5
  175. package/lib/components/SplitButton/renderSplitButton.d.ts +0 -5
  176. package/lib/components/SplitButton/useSplitButton.d.ts +0 -8
  177. package/lib/components/SplitButton/useSplitButtonStyles.d.ts +0 -2
  178. package/lib/components/ToggleButton/ToggleButton.d.ts +0 -6
  179. package/lib/components/ToggleButton/ToggleButton.types.d.ts +0 -19
  180. package/lib/components/ToggleButton/index.d.ts +0 -5
  181. package/lib/components/ToggleButton/renderToggleButton.d.ts +0 -1
  182. package/lib/components/ToggleButton/useToggleButton.d.ts +0 -9
  183. package/lib/components/ToggleButton/useToggleButtonStyles.d.ts +0 -2
  184. package/lib/index.d.ts +0 -5
  185. package/lib-commonjs/Button.d.ts +0 -1
  186. package/lib-commonjs/CompoundButton.d.ts +0 -1
  187. package/lib-commonjs/MenuButton.d.ts +0 -1
  188. package/lib-commonjs/SplitButton.d.ts +0 -1
  189. package/lib-commonjs/ToggleButton.d.ts +0 -1
  190. package/lib-commonjs/common/isConformant.d.ts +0 -4
  191. package/lib-commonjs/common/isConformant.js +0 -24
  192. package/lib-commonjs/common/isConformant.js.map +0 -1
  193. package/lib-commonjs/components/Button/Button.d.ts +0 -6
  194. package/lib-commonjs/components/Button/Button.types.d.ts +0 -62
  195. package/lib-commonjs/components/Button/index.d.ts +0 -5
  196. package/lib-commonjs/components/Button/renderButton.d.ts +0 -5
  197. package/lib-commonjs/components/Button/useButton.d.ts +0 -8
  198. package/lib-commonjs/components/Button/useButtonStyles.d.ts +0 -10
  199. package/lib-commonjs/components/CompoundButton/CompoundButton.d.ts +0 -6
  200. package/lib-commonjs/components/CompoundButton/CompoundButton.types.d.ts +0 -14
  201. package/lib-commonjs/components/CompoundButton/index.d.ts +0 -5
  202. package/lib-commonjs/components/CompoundButton/renderCompoundButton.d.ts +0 -5
  203. package/lib-commonjs/components/CompoundButton/useCompoundButton.d.ts +0 -8
  204. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.d.ts +0 -2
  205. package/lib-commonjs/components/MenuButton/MenuButton.d.ts +0 -6
  206. package/lib-commonjs/components/MenuButton/MenuButton.types.d.ts +0 -11
  207. package/lib-commonjs/components/MenuButton/index.d.ts +0 -5
  208. package/lib-commonjs/components/MenuButton/renderMenuButton.d.ts +0 -5
  209. package/lib-commonjs/components/MenuButton/useMenuButton.d.ts +0 -6
  210. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.d.ts +0 -2
  211. package/lib-commonjs/components/SplitButton/SplitButton.d.ts +0 -7
  212. package/lib-commonjs/components/SplitButton/SplitButton.types.d.ts +0 -19
  213. package/lib-commonjs/components/SplitButton/index.d.ts +0 -5
  214. package/lib-commonjs/components/SplitButton/renderSplitButton.d.ts +0 -5
  215. package/lib-commonjs/components/SplitButton/useSplitButton.d.ts +0 -8
  216. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.d.ts +0 -2
  217. package/lib-commonjs/components/ToggleButton/ToggleButton.d.ts +0 -6
  218. package/lib-commonjs/components/ToggleButton/ToggleButton.types.d.ts +0 -19
  219. package/lib-commonjs/components/ToggleButton/index.d.ts +0 -5
  220. package/lib-commonjs/components/ToggleButton/renderToggleButton.d.ts +0 -1
  221. package/lib-commonjs/components/ToggleButton/useToggleButton.d.ts +0 -9
  222. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.d.ts +0 -2
  223. package/lib-commonjs/index.d.ts +0 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuButton/renderMenuButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,IAAM,gBAAgB,GAAG,UAAC,KAAD,EAAuB;AAC/C,MAAA,EAAA,GAAuB,QAAQ,CAAkB,KAAlB,EAAyB,CAAC,MAAD,EAAS,MAAT,EAAiB,UAAjB,CAAzB,CAA/B;AAAA,MAAE,KAAK,GAAA,EAAA,CAAA,KAAP;AAAA,MAAS,SAAS,GAAA,EAAA,CAAA,SAAlB;;AACE,MAAA,IAAI,GAAe,KAAK,CAApB,IAAJ;AAAA,MAAM,QAAQ,GAAK,KAAK,CAAV,QAAd;AAER,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,CADF,EAEG,CAAC,QAAD,IAAa,SAAS,CAAC,IAAV,CAAe,QAF/B,EAGG,CAAC,CAAC,QAAD,IAAa,EAAC,IAAI,KAAA,IAAJ,IAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAA,IAAI,CAAE,QAAP,CAAd,kBAAkC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAP,EAAe,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,QAAf,CAAf,CAHrC,CADF;AAOD,CAXM","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuButton/renderMenuButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,yBAAyB,GAAI,KAAD,IAA2B;AAClE,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAkB,KAAlB,CAArC;AACA,QAAM;AAAE,IAAA,IAAF;AAAQ,IAAA;AAAR,MAAqB,KAA3B;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACG,KAAK,CAAC,IAAN,iBAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CADjB,EAEG,CAAC,QAAD,IAAa,SAAS,CAAC,IAAV,CAAe,QAF/B,EAGG,CAAC,CAAC,QAAD,IAAa,EAAC,IAAI,KAAA,IAAJ,IAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAA,IAAI,CAAE,QAAP,CAAd,KAAkC,KAAK,CAAC,QAAxC,iBAAoD,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,QAAP,EAAe,EAAA,GAAK,SAAS,CAAC;AAAf,GAAf,CAHvD,CADF;AAOD,CAXM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { MenuButtonSlots, MenuButtonState } from './MenuButton.types';\n\n/**\n * Renders a MenuButton component by passing the state defined props to the appropriate slots.\n */\nexport const renderMenuButton_unstable = (state: MenuButtonState) => {\n const { slots, slotProps } = getSlots<MenuButtonSlots>(state);\n const { icon, iconOnly } = state;\n\n return (\n <slots.root {...slotProps.root}>\n {slots.icon && <slots.icon {...slotProps.icon} />}\n {!iconOnly && slotProps.root.children}\n {(!iconOnly || !icon?.children) && slots.menuIcon && <slots.menuIcon {...slotProps.menuIcon} />}\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -1,18 +1,18 @@
1
- import { __assign, __rest } from "tslib";
2
1
  import * as React from 'react';
3
- import { ChevronDown20Regular, ChevronDown24Regular } from '@fluentui/react-icons';
2
+ import { ChevronDownRegular } from '@fluentui/react-icons';
4
3
  import { resolveShorthand } from '@fluentui/react-utilities';
5
- import { useButton } from '../Button/index';
4
+ import { useButton_unstable } from '../Button/index';
6
5
  /**
7
6
  * Given user props, returns the final state for a MenuButton.
8
7
  */
9
8
 
10
- export var useMenuButton = function (_a, ref) {
11
- var menuIcon = _a.menuIcon,
12
- props = __rest(_a, ["menuIcon"]);
13
-
14
- var buttonState = useButton(props, ref);
15
- return __assign(__assign({}, buttonState), {
9
+ export const useMenuButton_unstable = ({
10
+ menuIcon,
11
+ ...props
12
+ }, ref) => {
13
+ const buttonState = useButton_unstable(props, ref);
14
+ return { // Button state
15
+ ...buttonState,
16
16
  // State calculated from a set of props
17
17
  iconOnly: Boolean(!props.children),
18
18
  // Slots definition
@@ -23,10 +23,10 @@ export var useMenuButton = function (_a, ref) {
23
23
  },
24
24
  menuIcon: resolveShorthand(menuIcon, {
25
25
  defaultProps: {
26
- children: buttonState.size === 'large' ? /*#__PURE__*/React.createElement(ChevronDown24Regular, null) : /*#__PURE__*/React.createElement(ChevronDown20Regular, null)
26
+ children: /*#__PURE__*/React.createElement(ChevronDownRegular, null)
27
27
  },
28
28
  required: true
29
29
  })
30
- });
30
+ };
31
31
  };
32
32
  //# sourceMappingURL=useMenuButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuButton/useMenuButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,oBAAT,EAA+B,oBAA/B,QAA2D,uBAA3D;AACA,SAAS,gBAAT,QAAiC,2BAAjC;AACA,SAAS,SAAT,QAA0B,iBAA1B;AAGA;;AAEG;;AACH,OAAO,IAAM,aAAa,GAAG,UAC3B,EAD2B,EAE3B,GAF2B,EAE0B;AADnD,MAAA,QAAQ,GAAA,EAAA,CAAA,QAAR;AAAA,MAAa,KAAK,GAAA,MAAA,CAAA,EAAA,EAApB,CAAA,UAAA,CAAoB,CAAlB;;AAGF,MAAM,WAAW,GAAG,SAAS,CAAC,KAAD,EAAQ,GAAR,CAA7B;AACA,SAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAEK,WAFL,CAAA,EAEgB;AAEd;AACA,IAAA,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,QAAR,CAHH;AAKd;AACA,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,QADI;AAEV,MAAA,IAAI,EAAE,MAFI;AAGV,MAAA,QAAQ,EAAE;AAHA,KANE;AAYd,IAAA,QAAQ,EAAE,gBAAgB,CAAC,QAAD,EAAW;AACnC,MAAA,YAAY,EAAE;AACZ,QAAA,QAAQ,EAAE,WAAW,CAAC,IAAZ,KAAqB,OAArB,gBAA+B,KAAA,CAAA,aAAA,CAAC,oBAAD,EAAqB,IAArB,CAA/B,gBAA0D,KAAA,CAAA,aAAA,CAAC,oBAAD,EAAqB,IAArB;AADxD,OADqB;AAInC,MAAA,QAAQ,EAAE;AAJyB,KAAX;AAZZ,GAFhB,CAAA;AAqBD,CA1BM","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuButton/useMenuButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,kBAAT,QAAmC,uBAAnC;AACA,SAAS,gBAAT,QAAiC,2BAAjC;AACA,SAAS,kBAAT,QAAmC,iBAAnC;AAGA;;AAEG;;AACH,OAAO,MAAM,sBAAsB,GAAG,CACpC;AAAE,EAAA,QAAF;AAAY,KAAG;AAAf,CADoC,EAEpC,GAFoC,KAGjB;AACnB,QAAM,WAAW,GAAG,kBAAkB,CAAC,KAAD,EAAQ,GAAR,CAAtC;AACA,SAAO,EACL;AACA,OAAG,WAFE;AAIL;AACA,IAAA,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,QAAR,CALZ;AAOL;AACA,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,QADI;AAEV,MAAA,IAAI,EAAE,MAFI;AAGV,MAAA,QAAQ,EAAE;AAHA,KARP;AAcL,IAAA,QAAQ,EAAE,gBAAgB,CAAC,QAAD,EAAW;AACnC,MAAA,YAAY,EAAE;AACZ,QAAA,QAAQ,eAAE,KAAA,CAAA,aAAA,CAAC,kBAAD,EAAmB,IAAnB;AADE,OADqB;AAInC,MAAA,QAAQ,EAAE;AAJyB,KAAX;AAdrB,GAAP;AAqBD,CA1BM","sourcesContent":["import * as React from 'react';\nimport { ChevronDownRegular } from '@fluentui/react-icons';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { useButton_unstable } from '../Button/index';\nimport type { MenuButtonProps, MenuButtonState } from './MenuButton.types';\n\n/**\n * Given user props, returns the final state for a MenuButton.\n */\nexport const useMenuButton_unstable = (\n { menuIcon, ...props }: MenuButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): MenuButtonState => {\n const buttonState = useButton_unstable(props, ref);\n return {\n // Button state\n ...buttonState,\n\n // State calculated from a set of props\n iconOnly: Boolean(!props.children),\n\n // Slots definition\n components: {\n root: 'button',\n icon: 'span',\n menuIcon: 'span',\n },\n\n menuIcon: resolveShorthand(menuIcon, {\n defaultProps: {\n children: <ChevronDownRegular />,\n },\n required: true,\n }),\n };\n};\n"],"sourceRoot":"../src/"}
@@ -1,34 +1,61 @@
1
- import { mergeClasses, __styles } from '@fluentui/react-make-styles';
2
- import { useButtonStyles } from '../Button/useButtonStyles';
1
+ import { mergeClasses, __styles } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ import { useButtonStyles_unstable } from '../Button/useButtonStyles';
4
+ export const menuButtonClassNames = {
5
+ root: 'fui-MenuButton',
6
+ icon: 'fui-MenuButton__icon',
7
+ menuIcon: 'fui-MenuButton__menuIcon'
8
+ };
9
+ /**
10
+ * @deprecated Use `menuButtonClassName.root` instead.
11
+ */
12
+
13
+ export const menuButtonClassName = menuButtonClassNames.root;
3
14
 
4
- var useMenuIconStyles = /*#__PURE__*/__styles({
15
+ const useMenuIconStyles = /*#__PURE__*/__styles({
16
+ "base": {
17
+ "Bg96gwp": "fez10in"
18
+ },
5
19
  "small": {
6
- "Be2twd7": "fe5j1ua",
7
- "Bqenvij": "fjamq6b",
8
- "a9b677": "f64fuq3"
20
+ "Be2twd7": "f1ugzwwg",
21
+ "Bqenvij": "fvblgha",
22
+ "Bg96gwp": "fwrc4pm",
23
+ "a9b677": "frx94fk"
9
24
  },
10
25
  "medium": {
11
- "Be2twd7": "fe5j1ua",
12
- "Bqenvij": "fjamq6b",
13
- "a9b677": "f64fuq3"
26
+ "Be2twd7": "f1ugzwwg",
27
+ "Bqenvij": "fvblgha",
28
+ "Bg96gwp": "fwrc4pm",
29
+ "a9b677": "frx94fk"
14
30
  },
15
31
  "large": {
16
- "Be2twd7": "f1rt2boy",
17
- "Bqenvij": "frvgh55",
18
- "a9b677": "fq4mcun"
32
+ "Be2twd7": "f4ybsrx",
33
+ "Bqenvij": "fd461yt",
34
+ "Bg96gwp": "faaz57k",
35
+ "a9b677": "fjw5fx7"
36
+ },
37
+ "notIconOnly": {
38
+ "Frg6f3": ["fbyavb5", "fm0x6gh"]
19
39
  }
20
40
  }, {
21
- "d": [".fe5j1ua{font-size:20px;}", ".fjamq6b{height:20px;}", ".f64fuq3{width:20px;}", ".f1rt2boy{font-size:24px;}", ".frvgh55{height:24px;}", ".fq4mcun{width:24px;}"]
41
+ "d": [".fez10in{line-height:0;}", ".f1ugzwwg{font-size:12px;}", ".fvblgha{height:12px;}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".frx94fk{width:12px;}", ".f4ybsrx{font-size:16px;}", ".fd461yt{height:16px;}", ".faaz57k{line-height:var(--lineHeightBase400);}", ".fjw5fx7{width:16px;}", ".fbyavb5{margin-left:var(--spacingHorizontalXS);}", ".fm0x6gh{margin-right:var(--spacingHorizontalXS);}"]
22
42
  });
23
43
 
24
- export var useMenuButtonStyles = function (state) {
25
- var menuIconStyles = useMenuIconStyles();
44
+ export const useMenuButtonStyles_unstable = state => {
45
+ const menuIconStyles = useMenuIconStyles();
46
+ state.root.className = mergeClasses(menuButtonClassNames.root, state.root.className);
47
+
48
+ if (state.icon) {
49
+ state.icon.className = mergeClasses(menuButtonClassNames.icon, state.icon.className);
50
+ }
26
51
 
27
52
  if (state.menuIcon) {
28
- state.menuIcon.className = mergeClasses(menuIconStyles[state.size], state.menuIcon.className);
53
+ state.menuIcon.className = mergeClasses(menuButtonClassNames.menuIcon, menuIconStyles.base, menuIconStyles[state.size], !state.iconOnly && menuIconStyles.notIconOnly, state.menuIcon.className);
29
54
  }
30
55
 
31
- useButtonStyles(state);
56
+ useButtonStyles_unstable({ ...state,
57
+ iconPosition: 'before'
58
+ });
32
59
  return state;
33
60
  };
34
61
  //# sourceMappingURL=useMenuButtonStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuButton/useMenuButtonStyles.ts"],"names":[],"mappings":"AAAA,SAAS,YAAT,kBAAyC,6BAAzC;AAEA,SAAS,eAAT,QAAgC,2BAAhC;;AAGA,IAAM,iBAAiB,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAA1B;;AAmBA,OAAO,IAAM,mBAAmB,GAAG,UAAC,KAAD,EAAuB;AACxD,MAAM,cAAc,GAAG,iBAAiB,EAAxC;;AACA,MAAI,KAAK,CAAC,QAAV,EAAoB;AAClB,IAAA,KAAK,CAAC,QAAN,CAAe,SAAf,GAA2B,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,IAAP,CAAf,EAA6B,KAAK,CAAC,QAAN,CAAe,SAA5C,CAAvC;AACD;;AAED,EAAA,eAAe,CAAC,KAAD,CAAf;AAEA,SAAO,KAAP;AACD,CATM","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuButton/useMenuButtonStyles.ts"],"names":[],"mappings":"AAAA,SAAS,YAAT,kBAAyC,gBAAzC;AACA,SAAS,MAAT,QAAuB,uBAAvB;AACA,SAAS,wBAAT,QAAyC,2BAAzC;AAIA,OAAO,MAAM,oBAAoB,GAAoC;AACnE,EAAA,IAAI,EAAE,gBAD6D;AAEnE,EAAA,IAAI,EAAE,sBAF6D;AAGnE,EAAA,QAAQ,EAAE;AAHyD,CAA9D;AAMP;;AAEG;;AACH,OAAO,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAjD;;AAEP,MAAM,iBAAiB,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAA1B;;AA+BA,OAAO,MAAM,4BAA4B,GAAI,KAAD,IAA4C;AACtF,QAAM,cAAc,GAAG,iBAAiB,EAAxC;AAEA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,oBAAoB,CAAC,IAAtB,EAA4B,KAAK,CAAC,IAAN,CAAW,SAAvC,CAAnC;;AAEA,MAAI,KAAK,CAAC,IAAV,EAAgB;AACd,IAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,oBAAoB,CAAC,IAAtB,EAA4B,KAAK,CAAC,IAAN,CAAW,SAAvC,CAAnC;AACD;;AAED,MAAI,KAAK,CAAC,QAAV,EAAoB;AAClB,IAAA,KAAK,CAAC,QAAN,CAAe,SAAf,GAA2B,YAAY,CACrC,oBAAoB,CAAC,QADgB,EAErC,cAAc,CAAC,IAFsB,EAGrC,cAAc,CAAC,KAAK,CAAC,IAAP,CAHuB,EAIrC,CAAC,KAAK,CAAC,QAAP,IAAmB,cAAc,CAAC,WAJG,EAKrC,KAAK,CAAC,QAAN,CAAe,SALsB,CAAvC;AAOD;;AAED,EAAA,wBAAwB,CAAC,EAAE,GAAG,KAAL;AAAY,IAAA,YAAY,EAAE;AAA1B,GAAD,CAAxB;AAEA,SAAO,KAAP;AACD,CAtBM","sourcesContent":["import { mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { useButtonStyles_unstable } from '../Button/useButtonStyles';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { MenuButtonSlots, MenuButtonState } from './MenuButton.types';\n\nexport const menuButtonClassNames: SlotClassNames<MenuButtonSlots> = {\n root: 'fui-MenuButton',\n icon: 'fui-MenuButton__icon',\n menuIcon: 'fui-MenuButton__menuIcon',\n};\n\n/**\n * @deprecated Use `menuButtonClassName.root` instead.\n */\nexport const menuButtonClassName = menuButtonClassNames.root;\n\nconst useMenuIconStyles = makeStyles({\n base: {\n lineHeight: 0,\n },\n\n // Size appearance\n small: {\n fontSize: '12px',\n height: '12px',\n lineHeight: tokens.lineHeightBase200,\n width: '12px',\n },\n medium: {\n fontSize: '12px',\n height: '12px',\n lineHeight: tokens.lineHeightBase200,\n width: '12px',\n },\n large: {\n fontSize: '16px',\n height: '16px',\n lineHeight: tokens.lineHeightBase400,\n width: '16px',\n },\n\n // Not-icon only\n notIconOnly: {\n marginLeft: tokens.spacingHorizontalXS,\n },\n});\n\nexport const useMenuButtonStyles_unstable = (state: MenuButtonState): MenuButtonState => {\n const menuIconStyles = useMenuIconStyles();\n\n state.root.className = mergeClasses(menuButtonClassNames.root, state.root.className);\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuButtonClassNames.icon, state.icon.className);\n }\n\n if (state.menuIcon) {\n state.menuIcon.className = mergeClasses(\n menuButtonClassNames.menuIcon,\n menuIconStyles.base,\n menuIconStyles[state.size],\n !state.iconOnly && menuIconStyles.notIconOnly,\n state.menuIcon.className,\n );\n }\n\n useButtonStyles_unstable({ ...state, iconPosition: 'before' });\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -1,16 +1,16 @@
1
1
  import * as React from 'react';
2
- import { renderSplitButton } from './renderSplitButton';
3
- import { useSplitButton } from './useSplitButton';
4
- import { useSplitButtonStyles } from './useSplitButtonStyles';
2
+ import { renderSplitButton_unstable } from './renderSplitButton';
3
+ import { useSplitButton_unstable } from './useSplitButton';
4
+ import { useSplitButtonStyles_unstable } from './useSplitButtonStyles';
5
5
  /**
6
6
  * SplitButtons are a grouping of two interactive surfaces where the interacting with the first one triggers a primary
7
7
  * action, while interacting with the second one opens a menu with secondary actions.
8
8
  */
9
9
 
10
- export var SplitButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
- var state = useSplitButton(props, ref);
12
- useSplitButtonStyles(state);
13
- return renderSplitButton(state); // Casting is required due to lack of distributive union to support unions on @types/react
10
+ export const SplitButton = /*#__PURE__*/React.forwardRef((props, ref) => {
11
+ const state = useSplitButton_unstable(props, ref);
12
+ useSplitButtonStyles_unstable(state);
13
+ return renderSplitButton_unstable(state); // Casting is required due to lack of distributive union to support unions on @types/react
14
14
  });
15
15
  SplitButton.displayName = 'SplitButton';
16
16
  //# sourceMappingURL=SplitButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SplitButton/SplitButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,iBAAT,QAAkC,qBAAlC;AACA,SAAS,cAAT,QAA+B,kBAA/B;AACA,SAAS,oBAAT,QAAqC,wBAArC;AAIA;;;AAGG;;AACH,OAAO,IAAM,WAAW,gBAA0C,KAAK,CAAC,UAAN,CAAiB,UAAC,KAAD,EAAQ,GAAR,EAAW;AAC5F,MAAM,KAAK,GAAG,cAAc,CAAC,KAAD,EAAQ,GAAR,CAA5B;AAEA,EAAA,oBAAoB,CAAC,KAAD,CAApB;AAEA,SAAO,iBAAiB,CAAC,KAAD,CAAxB,CAL4F,CAM5F;AACD,CAPiE,CAA3D;AASP,WAAW,CAAC,WAAZ,GAA0B,aAA1B","sourceRoot":""}
1
+ {"version":3,"sources":["components/SplitButton/SplitButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,0BAAT,QAA2C,qBAA3C;AACA,SAAS,uBAAT,QAAwC,kBAAxC;AACA,SAAS,6BAAT,QAA8C,wBAA9C;AAIA;;;AAGG;;AACH,OAAO,MAAM,WAAW,gBAA0C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AAChG,QAAM,KAAK,GAAG,uBAAuB,CAAC,KAAD,EAAQ,GAAR,CAArC;AAEA,EAAA,6BAA6B,CAAC,KAAD,CAA7B;AAEA,SAAO,0BAA0B,CAAC,KAAD,CAAjC,CALgG,CAMhG;AACD,CAPiE,CAA3D;AASP,WAAW,CAAC,WAAZ,GAA0B,aAA1B","sourcesContent":["import * as React from 'react';\nimport { renderSplitButton_unstable } from './renderSplitButton';\nimport { useSplitButton_unstable } from './useSplitButton';\nimport { useSplitButtonStyles_unstable } from './useSplitButtonStyles';\nimport type { SplitButtonProps } from './SplitButton.types';\nimport { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * SplitButtons are a grouping of two interactive surfaces where the interacting with the first one triggers a primary\n * action, while interacting with the second one opens a menu with secondary actions.\n */\nexport const SplitButton: ForwardRefComponent<SplitButtonProps> = React.forwardRef((props, ref) => {\n const state = useSplitButton_unstable(props, ref);\n\n useSplitButtonStyles_unstable(state);\n\n return renderSplitButton_unstable(state);\n // Casting is required due to lack of distributive union to support unions on @types/react\n}) as ForwardRefComponent<SplitButtonProps>;\n\nSplitButton.displayName = 'SplitButton';\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"file":"SplitButton.types.js","sourceRoot":"","sources":["../../../src/components/SplitButton/SplitButton.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"SplitButton.types.js","sourceRoot":"../src/","sources":["components/SplitButton/SplitButton.types.ts"],"names":[],"mappings":"","sourcesContent":["import { Button } from '../Button/Button';\nimport { MenuButton } from '../MenuButton/MenuButton';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ButtonProps, ButtonState } from '../Button/Button.types';\nimport type { MenuButtonProps, MenuButtonState } from '../MenuButton/MenuButton.types';\n\nexport type SplitButtonSlots = {\n /**\n * Root of the component that wraps the primary action button and menu button.\n */\n root: NonNullable<Slot<'div'>>;\n\n /**\n * Button that opens menu with secondary actions in SplitButton.\n */\n menuButton?: Slot<typeof MenuButton>;\n /**\n * Button to perform primary action in SplitButton.\n */\n primaryActionButton?: Slot<typeof Button>;\n};\n\nexport type SplitButtonProps = ComponentProps<SplitButtonSlots> &\n Omit<ButtonProps, 'root'> &\n Omit<MenuButtonProps, 'root'>;\n\nexport type SplitButtonState = ComponentState<SplitButtonSlots> &\n Omit<ButtonState, 'components' | 'iconOnly' | 'root'> &\n Omit<MenuButtonState, 'components' | 'iconOnly' | 'root'>;\n"]}
@@ -2,5 +2,7 @@ export * from './SplitButton';
2
2
  export * from './SplitButton.types';
3
3
  export * from './renderSplitButton';
4
4
  export * from './useSplitButton';
5
- export { useSplitButtonStyles } from './useSplitButtonStyles';
5
+ export {
6
+ /* eslint-disable-next-line deprecation/deprecation */
7
+ splitButtonClassName, splitButtonClassNames, useSplitButtonStyles_unstable } from './useSplitButtonStyles';
6
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SplitButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"sources":["components/SplitButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAd;AACA,cAAc,qBAAd;AACA,cAAc,qBAAd;AACA,cAAc,kBAAd;AACA;AACE;AACA,oBAFF,EAGE,qBAHF,EAIE,6BAJF,QAKO,wBALP","sourcesContent":["export * from './SplitButton';\nexport * from './SplitButton.types';\nexport * from './renderSplitButton';\nexport * from './useSplitButton';\nexport {\n /* eslint-disable-next-line deprecation/deprecation */\n splitButtonClassName,\n splitButtonClassNames,\n useSplitButtonStyles_unstable,\n} from './useSplitButtonStyles';\n"],"sourceRoot":"../src/"}
@@ -1,15 +1,17 @@
1
- import { __assign } from "tslib";
2
1
  import * as React from 'react';
3
2
  import { getSlots } from '@fluentui/react-utilities';
4
3
  /**
5
4
  * Renders a SplitButton component by passing the state defined props to the appropriate slots.
6
5
  */
7
6
 
8
- export var renderSplitButton = function (state) {
9
- var _a = getSlots(state, ['root', 'menuButton', 'primaryActionButton']),
10
- slots = _a.slots,
11
- slotProps = _a.slotProps;
12
-
13
- return /*#__PURE__*/React.createElement(slots.root, __assign({}, slotProps.root), /*#__PURE__*/React.createElement(slots.primaryActionButton, __assign({}, slotProps.primaryActionButton)), /*#__PURE__*/React.createElement(slots.menuButton, __assign({}, slotProps.menuButton)));
7
+ export const renderSplitButton_unstable = state => {
8
+ const {
9
+ slots,
10
+ slotProps
11
+ } = getSlots(state);
12
+ return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
13
+ }, slots.primaryActionButton && /*#__PURE__*/React.createElement(slots.primaryActionButton, { ...slotProps.primaryActionButton
14
+ }), slots.menuButton && /*#__PURE__*/React.createElement(slots.menuButton, { ...slotProps.menuButton
15
+ }));
14
16
  };
15
17
  //# sourceMappingURL=renderSplitButton.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SplitButton/renderSplitButton.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,IAAM,iBAAiB,GAAG,UAAC,KAAD,EAAwB;AACjD,MAAA,EAAA,GAAuB,QAAQ,CAAmB,KAAnB,EAA0B,CAAC,MAAD,EAAS,YAAT,EAAuB,qBAAvB,CAA1B,CAA/B;AAAA,MAAE,KAAK,GAAA,EAAA,CAAA,KAAP;AAAA,MAAS,SAAS,GAAA,EAAA,CAAA,SAAlB;;AAEN,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,mBAAP,EAA0B,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,mBAAf,CAA1B,CADF,eAEE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,UAAf,CAAjB,CAFF,CADF;AAMD,CATM","sourceRoot":""}
1
+ {"version":3,"sources":["components/SplitButton/renderSplitButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,0BAA0B,GAAI,KAAD,IAA4B;AACpE,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAmB,KAAnB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACG,KAAK,CAAC,mBAAN,iBAA6B,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,mBAAP,EAA0B,EAAA,GAAK,SAAS,CAAC;AAAf,GAA1B,CADhC,EAEG,KAAK,CAAC,UAAN,iBAAoB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,UAAP,EAAiB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAjB,CAFvB,CADF;AAMD,CATM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { SplitButtonSlots, SplitButtonState } from './SplitButton.types';\n\n/**\n * Renders a SplitButton component by passing the state defined props to the appropriate slots.\n */\nexport const renderSplitButton_unstable = (state: SplitButtonState) => {\n const { slots, slotProps } = getSlots<SplitButtonSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.primaryActionButton && <slots.primaryActionButton {...slotProps.primaryActionButton} />}\n {slots.menuButton && <slots.menuButton {...slotProps.menuButton} />}\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -1,5 +1,4 @@
1
- import { __assign } from "tslib";
2
- import { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';
1
+ import { getNativeElementProps, resolveShorthand, useId } from '@fluentui/react-utilities';
3
2
  import { Button } from '../Button/Button';
4
3
  import { MenuButton } from '../MenuButton/MenuButton';
5
4
  /**
@@ -8,64 +7,74 @@ import { MenuButton } from '../MenuButton/MenuButton';
8
7
  * @param ref - User provided ref to be passed to the SplitButton component.
9
8
  */
10
9
 
11
- export var useSplitButton = function (props, ref) {
12
- var appearance = props.appearance,
13
- _a = props.block,
14
- block = _a === void 0 ? false : _a,
15
- children = props.children,
16
- _b = props.disabled,
17
- disabled = _b === void 0 ? false : _b,
18
- _c = props.disabledFocusable,
19
- disabledFocusable = _c === void 0 ? false : _c,
20
- icon = props.icon,
21
- _d = props.iconPosition,
22
- iconPosition = _d === void 0 ? 'before' : _d,
23
- menuButton = props.menuButton,
24
- primaryActionButton = props.primaryActionButton,
25
- _e = props.shape,
26
- shape = _e === void 0 ? 'rounded' : _e,
27
- _f = props.size,
28
- size = _f === void 0 ? 'medium' : _f;
29
- var menuButtonShorthand = resolveShorthand(menuButton, {
10
+ export const useSplitButton_unstable = (props, ref) => {
11
+ const {
12
+ appearance = 'secondary',
13
+ // eslint-disable-next-line deprecation/deprecation
14
+ block = false,
15
+ children,
16
+ disabled = false,
17
+ disabledFocusable = false,
18
+ icon,
19
+ iconPosition = 'before',
20
+ menuButton,
21
+ menuIcon,
22
+ primaryActionButton,
23
+ shape = 'rounded',
24
+ size = 'medium'
25
+ } = props;
26
+ const baseId = useId('splitButton-');
27
+ const menuButtonShorthand = resolveShorthand(menuButton, {
30
28
  defaultProps: {
31
- appearance: appearance,
32
- disabled: disabled,
33
- disabledFocusable: disabledFocusable,
34
- shape: shape,
35
- size: size
36
- }
29
+ appearance,
30
+ disabled,
31
+ disabledFocusable,
32
+ menuIcon,
33
+ shape,
34
+ size
35
+ },
36
+ required: true
37
37
  });
38
- var primaryActionButtonShorthand = resolveShorthand(primaryActionButton, {
38
+ const primaryActionButtonShorthand = resolveShorthand(primaryActionButton, {
39
39
  defaultProps: {
40
- appearance: appearance,
41
- block: block,
42
- children: children,
43
- disabled: disabled,
44
- disabledFocusable: disabledFocusable,
45
- icon: icon,
46
- iconPosition: iconPosition,
47
- shape: shape,
48
- size: size
49
- }
50
- });
40
+ appearance,
41
+ block,
42
+ children,
43
+ disabled,
44
+ disabledFocusable,
45
+ icon,
46
+ iconPosition,
47
+ id: baseId + '__primaryActionButton',
48
+ shape,
49
+ size
50
+ },
51
+ required: true
52
+ }); // Resolve menu button's aria-labelledby to be labelled by the primary action button if not a label was not provided
53
+ // by the user.
54
+
55
+ if (menuButtonShorthand && primaryActionButtonShorthand && !menuButtonShorthand['aria-label'] && !menuButtonShorthand['aria-labelledby']) {
56
+ menuButtonShorthand['aria-labelledby'] = primaryActionButtonShorthand.id;
57
+ }
58
+
51
59
  return {
52
60
  // Props passed at the top-level
53
- appearance: appearance,
54
- block: block,
55
- disabled: disabled,
56
- disabledFocusable: disabledFocusable,
57
- iconPosition: iconPosition,
58
- shape: shape,
59
- size: size,
61
+ appearance,
62
+ block,
63
+ disabled,
64
+ disabledFocusable,
65
+ iconPosition,
66
+ shape,
67
+ size,
60
68
  // Slots definition
61
69
  components: {
62
70
  root: 'div',
63
71
  menuButton: MenuButton,
64
72
  primaryActionButton: Button
65
73
  },
66
- root: getNativeElementProps('div', __assign({
67
- ref: ref
68
- }, props)),
74
+ root: getNativeElementProps('div', {
75
+ ref,
76
+ ...props
77
+ }),
69
78
  menuButton: menuButtonShorthand,
70
79
  primaryActionButton: primaryActionButtonShorthand
71
80
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SplitButton/useSplitButton.ts"],"names":[],"mappings":";AACA,SAAS,qBAAT,EAAgC,gBAAhC,QAAwD,2BAAxD;AACA,SAAS,MAAT,QAAuB,kBAAvB;AACA,SAAS,UAAT,QAA2B,0BAA3B;AAGA;;;;AAIG;;AACH,OAAO,IAAM,cAAc,GAAG,UAC5B,KAD4B,EAE5B,GAF4B,EAEyB;AAGnD,MAAA,UAAU,GAWR,KAAK,CAXG,UAAV;AAAA,MACA,EAAA,GAUE,KAAK,CAVM,KADb;AAAA,MACA,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQ,EADb;AAAA,MAEA,QAAQ,GASN,KAAK,CATC,QAFR;AAAA,MAGA,EAAA,GAQE,KAAK,CARS,QAHhB;AAAA,MAGA,QAAQ,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQ,EAHhB;AAAA,MAIA,EAAA,GAOE,KAAK,CAPkB,iBAJzB;AAAA,MAIA,iBAAiB,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,KAAH,GAAQ,EAJzB;AAAA,MAKA,IAAI,GAMF,KAAK,CANH,IALJ;AAAA,MAMA,EAAA,GAKE,KAAK,CALgB,YANvB;AAAA,MAMA,YAAY,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,QAAH,GAAW,EANvB;AAAA,MAOA,UAAU,GAIR,KAAK,CAJG,UAPV;AAAA,MAQA,mBAAmB,GAGjB,KAAK,CAHY,mBARnB;AAAA,MASA,EAAA,GAEE,KAAK,CAFU,KATjB;AAAA,MASA,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,SAAH,GAAY,EATjB;AAAA,MAUA,EAAA,GACE,KAAK,CADQ,IAVf;AAAA,MAUA,IAAI,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,QAAH,GAAW,EAVf;AAYF,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAD,EAAa;AACvD,IAAA,YAAY,EAAE;AACZ,MAAA,UAAU,EAAA,UADE;AAEZ,MAAA,QAAQ,EAAA,QAFI;AAGZ,MAAA,iBAAiB,EAAA,iBAHL;AAIZ,MAAA,KAAK,EAAA,KAJO;AAKZ,MAAA,IAAI,EAAA;AALQ;AADyC,GAAb,CAA5C;AASA,MAAM,4BAA4B,GAAG,gBAAgB,CAAC,mBAAD,EAAsB;AACzE,IAAA,YAAY,EAAE;AACZ,MAAA,UAAU,EAAA,UADE;AAEZ,MAAA,KAAK,EAAA,KAFO;AAGZ,MAAA,QAAQ,EAAA,QAHI;AAIZ,MAAA,QAAQ,EAAA,QAJI;AAKZ,MAAA,iBAAiB,EAAA,iBALL;AAMZ,MAAA,IAAI,EAAA,IANQ;AAOZ,MAAA,YAAY,EAAA,YAPA;AAQZ,MAAA,KAAK,EAAA,KARO;AASZ,MAAA,IAAI,EAAA;AATQ;AAD2D,GAAtB,CAArD;AAcA,SAAO;AACL;AACA,IAAA,UAAU,EAAA,UAFL;AAGL,IAAA,KAAK,EAAA,KAHA;AAIL,IAAA,QAAQ,EAAA,QAJH;AAKL,IAAA,iBAAiB,EAAA,iBALZ;AAML,IAAA,YAAY,EAAA,YANP;AAOL,IAAA,KAAK,EAAA,KAPA;AAQL,IAAA,IAAI,EAAA,IARC;AAUL;AACA,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,KADI;AAEV,MAAA,UAAU,EAAE,UAFF;AAGV,MAAA,mBAAmB,EAAE;AAHX,KAXP;AAiBL,IAAA,IAAI,EAAE,qBAAqB,CAAC,KAAD,EAAM,QAAA,CAAA;AAAI,MAAA,GAAG,EAAA;AAAP,KAAA,EAAY,KAAZ,CAAN,CAjBtB;AAkBL,IAAA,UAAU,EAAE,mBAlBP;AAmBL,IAAA,mBAAmB,EAAE;AAnBhB,GAAP;AAqBD,CA7DM","sourceRoot":""}
1
+ {"version":3,"sources":["components/SplitButton/useSplitButton.ts"],"names":[],"mappings":"AACA,SAAS,qBAAT,EAAgC,gBAAhC,EAAkD,KAAlD,QAA+D,2BAA/D;AACA,SAAS,MAAT,QAAuB,kBAAvB;AACA,SAAS,UAAT,QAA2B,0BAA3B;AAGA;;;;AAIG;;AACH,OAAO,MAAM,uBAAuB,GAAG,CACrC,KADqC,EAErC,GAFqC,KAGjB;AACpB,QAAM;AACJ,IAAA,UAAU,GAAG,WADT;AAEJ;AACA,IAAA,KAAK,GAAG,KAHJ;AAIJ,IAAA,QAJI;AAKJ,IAAA,QAAQ,GAAG,KALP;AAMJ,IAAA,iBAAiB,GAAG,KANhB;AAOJ,IAAA,IAPI;AAQJ,IAAA,YAAY,GAAG,QARX;AASJ,IAAA,UATI;AAUJ,IAAA,QAVI;AAWJ,IAAA,mBAXI;AAYJ,IAAA,KAAK,GAAG,SAZJ;AAaJ,IAAA,IAAI,GAAG;AAbH,MAcF,KAdJ;AAgBA,QAAM,MAAM,GAAG,KAAK,CAAC,cAAD,CAApB;AAEA,QAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAD,EAAa;AACvD,IAAA,YAAY,EAAE;AACZ,MAAA,UADY;AAEZ,MAAA,QAFY;AAGZ,MAAA,iBAHY;AAIZ,MAAA,QAJY;AAKZ,MAAA,KALY;AAMZ,MAAA;AANY,KADyC;AASvD,IAAA,QAAQ,EAAE;AAT6C,GAAb,CAA5C;AAYA,QAAM,4BAA4B,GAAG,gBAAgB,CAAC,mBAAD,EAAsB;AACzE,IAAA,YAAY,EAAE;AACZ,MAAA,UADY;AAEZ,MAAA,KAFY;AAGZ,MAAA,QAHY;AAIZ,MAAA,QAJY;AAKZ,MAAA,iBALY;AAMZ,MAAA,IANY;AAOZ,MAAA,YAPY;AAQZ,MAAA,EAAE,EAAE,MAAM,GAAG,uBARD;AASZ,MAAA,KATY;AAUZ,MAAA;AAVY,KAD2D;AAazE,IAAA,QAAQ,EAAE;AAb+D,GAAtB,CAArD,CA/BoB,CA+CpB;AACA;;AACA,MACE,mBAAmB,IACnB,4BADA,IAEA,CAAC,mBAAmB,CAAC,YAAD,CAFpB,IAGA,CAAC,mBAAmB,CAAC,iBAAD,CAJtB,EAKE;AACA,IAAA,mBAAmB,CAAC,iBAAD,CAAnB,GAAyC,4BAA4B,CAAC,EAAtE;AACD;;AAED,SAAO;AACL;AACA,IAAA,UAFK;AAGL,IAAA,KAHK;AAIL,IAAA,QAJK;AAKL,IAAA,iBALK;AAML,IAAA,YANK;AAOL,IAAA,KAPK;AAQL,IAAA,IARK;AAUL;AACA,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,KADI;AAEV,MAAA,UAAU,EAAE,UAFF;AAGV,MAAA,mBAAmB,EAAE;AAHX,KAXP;AAiBL,IAAA,IAAI,EAAE,qBAAqB,CAAC,KAAD,EAAQ;AAAE,MAAA,GAAF;AAAO,SAAG;AAAV,KAAR,CAjBtB;AAkBL,IAAA,UAAU,EAAE,mBAlBP;AAmBL,IAAA,mBAAmB,EAAE;AAnBhB,GAAP;AAqBD,CAlFM","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, resolveShorthand, useId } from '@fluentui/react-utilities';\nimport { Button } from '../Button/Button';\nimport { MenuButton } from '../MenuButton/MenuButton';\nimport type { SplitButtonProps, SplitButtonState } from './SplitButton.types';\n\n/**\n * Given user props, defines default props for the SplitButton and returns processed state.\n * @param props - User provided props to the SplitButton component.\n * @param ref - User provided ref to be passed to the SplitButton component.\n */\nexport const useSplitButton_unstable = (\n props: SplitButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): SplitButtonState => {\n const {\n appearance = 'secondary',\n // eslint-disable-next-line deprecation/deprecation\n block = false,\n children,\n disabled = false,\n disabledFocusable = false,\n icon,\n iconPosition = 'before',\n menuButton,\n menuIcon,\n primaryActionButton,\n shape = 'rounded',\n size = 'medium',\n } = props;\n\n const baseId = useId('splitButton-');\n\n const menuButtonShorthand = resolveShorthand(menuButton, {\n defaultProps: {\n appearance,\n disabled,\n disabledFocusable,\n menuIcon,\n shape,\n size,\n },\n required: true,\n });\n\n const primaryActionButtonShorthand = resolveShorthand(primaryActionButton, {\n defaultProps: {\n appearance,\n block,\n children,\n disabled,\n disabledFocusable,\n icon,\n iconPosition,\n id: baseId + '__primaryActionButton',\n shape,\n size,\n },\n required: true,\n });\n\n // Resolve menu button's aria-labelledby to be labelled by the primary action button if not a label was not provided\n // by the user.\n if (\n menuButtonShorthand &&\n primaryActionButtonShorthand &&\n !menuButtonShorthand['aria-label'] &&\n !menuButtonShorthand['aria-labelledby']\n ) {\n menuButtonShorthand['aria-labelledby'] = primaryActionButtonShorthand.id;\n }\n\n return {\n // Props passed at the top-level\n appearance,\n block,\n disabled,\n disabledFocusable,\n iconPosition,\n shape,\n size,\n\n // Slots definition\n components: {\n root: 'div',\n menuButton: MenuButton,\n primaryActionButton: Button,\n },\n\n root: getNativeElementProps('div', { ref, ...props }),\n menuButton: menuButtonShorthand,\n primaryActionButton: primaryActionButtonShorthand,\n };\n};\n"],"sourceRoot":"../src/"}
@@ -1,11 +1,18 @@
1
- import { __styles, mergeClasses } from '@fluentui/react-make-styles';
1
+ import { __styles, mergeClasses } from '@griffel/react';
2
2
  import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
3
- var SplitButtonClassNames = {
4
- primaryActionButton: 'SplitButton-primaryActionButton',
5
- menuButton: 'SplitButton-menuButton'
3
+ import { tokens } from '@fluentui/react-theme';
4
+ export const splitButtonClassNames = {
5
+ root: 'fui-SplitButton',
6
+ menuButton: 'fui-SplitButton__menuButton',
7
+ primaryActionButton: 'fui-SplitButton__primaryActionButton'
6
8
  };
9
+ /**
10
+ * @deprecated Use `splitButtonClassName.root` instead.
11
+ */
7
12
 
8
- var useFocusStyles = /*#__PURE__*/__styles({
13
+ export const splitButtonClassName = splitButtonClassNames.root;
14
+
15
+ const useFocusStyles = /*#__PURE__*/__styles({
9
16
  "primaryActionButton": {
10
17
  "B486eqv": "f2hkw1w",
11
18
  "Bmrpcm6": ["fub8a6s", "f1g41uvt"],
@@ -22,66 +29,76 @@ var useFocusStyles = /*#__PURE__*/__styles({
22
29
  "d": ["[data-keyboard-nav] .fub8a6s:focus{border-top-right-radius:0;}", "[data-keyboard-nav] .f1g41uvt:focus{border-top-left-radius:0;}", "[data-keyboard-nav] .f58hr3h:focus{border-bottom-right-radius:0;}", "[data-keyboard-nav] .f1u1mnrj:focus{border-bottom-left-radius:0;}", "[data-keyboard-nav] .fy9hclh:focus{border-left-width:0;}", "[data-keyboard-nav] .f549e1y:focus{border-right-width:0;}"]
23
30
  });
24
31
 
25
- var useRootStyles = /*#__PURE__*/__styles({
32
+ const useRootStyles = /*#__PURE__*/__styles({
26
33
  "base": {
27
34
  "mc9l5x": "ftuwxu6",
28
35
  "Brf1p80": "fsxf2b5",
29
36
  "qhf8xq": "f10pi13n",
30
37
  "ha4doy": "fmrv4ls",
31
- "ipgm0c": ["f178uykt", "f90yzzo"],
32
- "B6cuk21": ["f1bxd3c5", "f1ekv84t"],
33
- "bajz6s": ["fnux5s6", "f5nfhee"],
34
- "Bzqncq": ["f19wc9x7", "f5bevrs"],
35
- "Flt4rd": ["f1wefiyg", "f1leuqsa"]
38
+ "kn2xc0": ["f14uur2j", "fc1btbj"],
39
+ "Bs76p8a": ["fye5tvs", "fc597qq"],
40
+ "cuxpm9": ["f1e8brtx", "fr36rk3"],
41
+ "Biffepf": ["fxp12j1", "f1m6nt2y"],
42
+ "Defnvf": ["fr7y8no", "f1dn0c6m"],
43
+ "z0pv9t": "f1hvqvul"
36
44
  },
37
45
  "block": {
38
46
  "a9b677": "fly5x3f"
39
47
  },
40
48
  "outline": {},
41
49
  "primary": {
42
- "Bxrr62k": ["f8z1slf", "f1qj10op"],
43
- "wqijrc": ["fmrqvvu", "fu0z9tm"],
44
- "Bsk9mq6": ["f1naws84", "f1ry7auu"]
50
+ "B1l9wao": ["f12j1tfo", "f1ufkr8r"],
51
+ "lcnrd8": ["f17lyyco", "f151o42i"],
52
+ "Brbpp8k": ["f1nb07eg", "fg8a8qi"]
45
53
  },
54
+ "secondary": {},
46
55
  "subtle": {
47
- "Bxrr62k": ["f1xobncs", "f1xirlzn"],
48
- "wqijrc": ["f1hmsn3f", "fi0rm9z"],
49
- "Bsk9mq6": ["fam4u78", "f1hqq1j6"]
56
+ "B1l9wao": ["f1ysqkm5", "f10nbrj"],
57
+ "lcnrd8": ["fn44ryq", "fwhhltr"],
58
+ "Brbpp8k": ["fg8lp5p", "f1p6hj0a"]
50
59
  },
51
60
  "transparent": {
52
- "Bxrr62k": ["f1xobncs", "f1xirlzn"],
53
- "wqijrc": ["f1hmsn3f", "fi0rm9z"],
54
- "Bsk9mq6": ["fam4u78", "f1hqq1j6"]
61
+ "B1l9wao": ["f1ysqkm5", "f10nbrj"],
62
+ "lcnrd8": ["fn44ryq", "fwhhltr"],
63
+ "Brbpp8k": ["fg8lp5p", "f1p6hj0a"]
55
64
  },
56
65
  "circular": {},
57
66
  "rounded": {},
58
67
  "square": {},
59
68
  "disabled": {
60
- "Bxrr62k": ["f11wzqjl", "f1a5dzic"],
61
- "wqijrc": ["fhk4lgh", "f1r7ztp2"],
62
- "Bsk9mq6": ["f1ot7jx6", "f1qvd61g"]
69
+ "B1l9wao": ["f10xrnr8", "f15nylwb"],
70
+ "lcnrd8": ["f11fwhjz", "f18vtcsx"],
71
+ "Brbpp8k": ["f31btwb", "fzgm9gq"]
72
+ },
73
+ "disabledHighContrast": {
74
+ "Bcsxniv": ["fj2q5vi", "f13tct40"],
75
+ "tl7e51": ["fb2mzc7", "f179dhpp"],
76
+ "mba178": ["f1ma39qa", "f1nzpdru"]
63
77
  }
64
78
  }, {
65
- "d": [".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".fsxf2b5{-webkit-box-pack:stretch;-ms-flex-pack:stretch;-webkit-justify-content:stretch;justify-content:stretch;}", ".f10pi13n{position:relative;}", ".fmrv4ls{vertical-align:middle;}", ".f178uykt .SplitButton-primaryActionButton{border-top-right-radius:0;}", ".f90yzzo .SplitButton-primaryActionButton{border-top-left-radius:0;}", ".f1bxd3c5 .SplitButton-primaryActionButton{border-bottom-right-radius:0;}", ".f1ekv84t .SplitButton-primaryActionButton{border-bottom-left-radius:0;}", ".fnux5s6 .SplitButton-menuButton{border-left-width:0;}", ".f5nfhee .SplitButton-menuButton{border-right-width:0;}", ".f19wc9x7 .SplitButton-menuButton{border-top-left-radius:0;}", ".f5bevrs .SplitButton-menuButton{border-top-right-radius:0;}", ".f1wefiyg .SplitButton-menuButton{border-bottom-left-radius:0;}", ".f1leuqsa .SplitButton-menuButton{border-bottom-right-radius:0;}", ".fly5x3f{width:100%;}", ".f8z1slf .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralForegroundInverted);}", ".f1qj10op .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralForegroundInverted);}", ".f1xobncs .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralStroke1Hover);}", ".f1xirlzn .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralStroke1Hover);}", ".f11wzqjl .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralStrokeDisabled);}", ".f1a5dzic .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralStrokeDisabled);}"],
66
- "h": [".fmrqvvu:hover .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralForegroundInverted);}", ".fu0z9tm:hover .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralForegroundInverted);}", ".f1hmsn3f:hover .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralStroke1Hover);}", ".fi0rm9z:hover .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralStroke1Hover);}", ".fhk4lgh:hover .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralStrokeDisabled);}", ".f1r7ztp2:hover .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralStrokeDisabled);}"],
67
- "a": [".f1naws84:active .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralForegroundInverted);}", ".f1ry7auu:active .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralForegroundInverted);}", ".fam4u78:active .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralStroke1Hover);}", ".f1hqq1j6:active .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralStroke1Hover);}", ".f1ot7jx6:active .SplitButton-primaryActionButton{border-right-color:var(--colorNeutralStrokeDisabled);}", ".f1qvd61g:active .SplitButton-primaryActionButton{border-left-color:var(--colorNeutralStrokeDisabled);}"]
79
+ "d": [".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".fsxf2b5{-webkit-box-pack:stretch;-ms-flex-pack:stretch;-webkit-justify-content:stretch;justify-content:stretch;}", ".f10pi13n{position:relative;}", ".fmrv4ls{vertical-align:middle;}", ".f14uur2j .fui-SplitButton__primaryActionButton{border-top-right-radius:0;}", ".fc1btbj .fui-SplitButton__primaryActionButton{border-top-left-radius:0;}", ".fye5tvs .fui-SplitButton__primaryActionButton{border-bottom-right-radius:0;}", ".fc597qq .fui-SplitButton__primaryActionButton{border-bottom-left-radius:0;}", ".f1e8brtx .fui-SplitButton__menuButton{border-left-width:0;}", ".fr36rk3 .fui-SplitButton__menuButton{border-right-width:0;}", ".fxp12j1 .fui-SplitButton__menuButton{border-top-left-radius:0;}", ".f1m6nt2y .fui-SplitButton__menuButton{border-top-right-radius:0;}", ".fr7y8no .fui-SplitButton__menuButton{border-bottom-left-radius:0;}", ".f1dn0c6m .fui-SplitButton__menuButton{border-bottom-right-radius:0;}", ".f1hvqvul .fui-SplitButton__menuButton{min-width:0;}", ".fly5x3f{width:100%;}", ".f12j1tfo .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralForegroundInverted);}", ".f1ufkr8r .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralForegroundInverted);}", ".f1ysqkm5 .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralStroke1Hover);}", ".f10nbrj .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralStroke1Hover);}", ".f10xrnr8 .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralStrokeDisabled);}", ".f15nylwb .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralStrokeDisabled);}"],
80
+ "h": [".f17lyyco:hover .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralForegroundInverted);}", ".f151o42i:hover .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralForegroundInverted);}", ".f1nb07eg:hover:active .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralForegroundInverted);}", ".fg8a8qi:hover:active .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralForegroundInverted);}", ".fn44ryq:hover .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralStroke1Hover);}", ".fwhhltr:hover .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralStroke1Hover);}", ".fg8lp5p:hover:active .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralStroke1Hover);}", ".f1p6hj0a:hover:active .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralStroke1Hover);}", ".f11fwhjz:hover .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralStrokeDisabled);}", ".f18vtcsx:hover .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralStrokeDisabled);}", ".f31btwb:hover:active .fui-SplitButton__primaryActionButton{border-right-color:var(--colorNeutralStrokeDisabled);}", ".fzgm9gq:hover:active .fui-SplitButton__primaryActionButton{border-left-color:var(--colorNeutralStrokeDisabled);}"],
81
+ "t": ["@media (forced-colors: active){.fj2q5vi .fui-SplitButton__primaryActionButton{border-right-color:GrayText;}.f13tct40 .fui-SplitButton__primaryActionButton{border-left-color:GrayText;}}", "@media (forced-colors: active){.fb2mzc7:hover .fui-SplitButton__primaryActionButton{border-right-color:GrayText;}.f179dhpp:hover .fui-SplitButton__primaryActionButton{border-left-color:GrayText;}}", "@media (forced-colors: active){.f1ma39qa:hover:active .fui-SplitButton__primaryActionButton{border-right-color:GrayText;}.f1nzpdru:hover:active .fui-SplitButton__primaryActionButton{border-left-color:GrayText;}}"]
68
82
  });
69
83
 
70
- export var useSplitButtonStyles = function (state) {
71
- var rootStyles = useRootStyles();
72
- var focusStyles = useFocusStyles();
73
- var appearance = state.appearance,
74
- block = state.block,
75
- disabled = state.disabled,
76
- disabledFocusable = state.disabledFocusable;
77
- state.root.className = mergeClasses(rootStyles.base, block && rootStyles.block, appearance && rootStyles[appearance], (disabled || disabledFocusable) && rootStyles.disabled, state.root.className);
84
+ export const useSplitButtonStyles_unstable = state => {
85
+ const rootStyles = useRootStyles();
86
+ const focusStyles = useFocusStyles();
87
+ const {
88
+ appearance,
89
+ // eslint-disable-next-line deprecation/deprecation
90
+ block,
91
+ disabled,
92
+ disabledFocusable
93
+ } = state;
94
+ state.root.className = mergeClasses(splitButtonClassNames.root, rootStyles.base, block && rootStyles.block, appearance && rootStyles[appearance], (disabled || disabledFocusable) && rootStyles.disabled, (disabled || disabledFocusable) && rootStyles.disabledHighContrast, state.root.className);
78
95
 
79
96
  if (state.menuButton) {
80
- state.menuButton.className = mergeClasses(SplitButtonClassNames.menuButton, focusStyles.menuButton, state.menuButton.className);
97
+ state.menuButton.className = mergeClasses(splitButtonClassNames.menuButton, focusStyles.menuButton, state.menuButton.className);
81
98
  }
82
99
 
83
100
  if (state.primaryActionButton) {
84
- state.primaryActionButton.className = mergeClasses(SplitButtonClassNames.primaryActionButton, focusStyles.primaryActionButton, state.primaryActionButton.className);
101
+ state.primaryActionButton.className = mergeClasses(splitButtonClassNames.primaryActionButton, focusStyles.primaryActionButton, state.primaryActionButton.className);
85
102
  }
86
103
 
87
104
  return state;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SplitButton/useSplitButtonStyles.ts"],"names":[],"mappings":"AAAA,mBAAqB,YAArB,QAAyC,6BAAzC;AACA,SAAS,+BAAT,QAAgD,yBAAhD;AAGA,IAAM,qBAAqB,GAAG;AAC5B,EAAA,mBAAmB,EAAE,iCADO;AAE5B,EAAA,UAAU,EAAE;AAFgB,CAA9B;;AAKA,IAAM,cAAc,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAvB;;AAaA,IAAM,aAAa,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAtB;;AAgHA,OAAO,IAAM,oBAAoB,GAAG,UAAC,KAAD,EAAwB;AAC1D,MAAM,UAAU,GAAG,aAAa,EAAhC;AACA,MAAM,WAAW,GAAG,cAAc,EAAlC;AAEQ,MAAA,UAAU,GAAyC,KAAK,CAA9C,UAAV;AAAA,MAAY,KAAK,GAAkC,KAAK,CAAvC,KAAjB;AAAA,MAAmB,QAAQ,GAAwB,KAAK,CAA7B,QAA3B;AAAA,MAA6B,iBAAiB,GAAK,KAAK,CAAV,iBAA9C;AAER,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CACjC,UAAU,CAAC,IADsB,EAEjC,KAAK,IAAI,UAAU,CAAC,KAFa,EAGjC,UAAU,IAAI,UAAU,CAAC,UAAD,CAHS,EAIjC,CAAC,QAAQ,IAAI,iBAAb,KAAmC,UAAU,CAAC,QAJb,EAKjC,KAAK,CAAC,IAAN,CAAW,SALsB,CAAnC;;AAQA,MAAI,KAAK,CAAC,UAAV,EAAsB;AACpB,IAAA,KAAK,CAAC,UAAN,CAAiB,SAAjB,GAA6B,YAAY,CACvC,qBAAqB,CAAC,UADiB,EAEvC,WAAW,CAAC,UAF2B,EAGvC,KAAK,CAAC,UAAN,CAAiB,SAHsB,CAAzC;AAKD;;AAED,MAAI,KAAK,CAAC,mBAAV,EAA+B;AAC7B,IAAA,KAAK,CAAC,mBAAN,CAA0B,SAA1B,GAAsC,YAAY,CAChD,qBAAqB,CAAC,mBAD0B,EAEhD,WAAW,CAAC,mBAFoC,EAGhD,KAAK,CAAC,mBAAN,CAA0B,SAHsB,CAAlD;AAKD;;AAED,SAAO,KAAP;AACD,CA/BM","sourceRoot":""}
1
+ {"version":3,"sources":["components/SplitButton/useSplitButtonStyles.ts"],"names":[],"mappings":"AAAA,mBAAqB,YAArB,QAAyC,gBAAzC;AACA,SAAS,+BAAT,QAAgD,yBAAhD;AACA,SAAS,MAAT,QAAuB,uBAAvB;AAIA,OAAO,MAAM,qBAAqB,GAAqC;AACrE,EAAA,IAAI,EAAE,iBAD+D;AAErE,EAAA,UAAU,EAAE,6BAFyD;AAGrE,EAAA,mBAAmB,EAAE;AAHgD,CAAhE;AAMP;;AAEG;;AACH,OAAO,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,IAAnD;;AAEP,MAAM,cAAc,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAvB;;AAaA,MAAM,aAAa,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAtB;;AAmIA,OAAO,MAAM,6BAA6B,GAAI,KAAD,IAA8C;AACzF,QAAM,UAAU,GAAG,aAAa,EAAhC;AACA,QAAM,WAAW,GAAG,cAAc,EAAlC;AAEA,QAAM;AACJ,IAAA,UADI;AAEJ;AACA,IAAA,KAHI;AAIJ,IAAA,QAJI;AAKJ,IAAA;AALI,MAMF,KANJ;AAQA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CACjC,qBAAqB,CAAC,IADW,EAEjC,UAAU,CAAC,IAFsB,EAGjC,KAAK,IAAI,UAAU,CAAC,KAHa,EAIjC,UAAU,IAAI,UAAU,CAAC,UAAD,CAJS,EAKjC,CAAC,QAAQ,IAAI,iBAAb,KAAmC,UAAU,CAAC,QALb,EAMjC,CAAC,QAAQ,IAAI,iBAAb,KAAmC,UAAU,CAAC,oBANb,EAOjC,KAAK,CAAC,IAAN,CAAW,SAPsB,CAAnC;;AAUA,MAAI,KAAK,CAAC,UAAV,EAAsB;AACpB,IAAA,KAAK,CAAC,UAAN,CAAiB,SAAjB,GAA6B,YAAY,CACvC,qBAAqB,CAAC,UADiB,EAEvC,WAAW,CAAC,UAF2B,EAGvC,KAAK,CAAC,UAAN,CAAiB,SAHsB,CAAzC;AAKD;;AAED,MAAI,KAAK,CAAC,mBAAV,EAA+B;AAC7B,IAAA,KAAK,CAAC,mBAAN,CAA0B,SAA1B,GAAsC,YAAY,CAChD,qBAAqB,CAAC,mBAD0B,EAEhD,WAAW,CAAC,mBAFoC,EAGhD,KAAK,CAAC,mBAAN,CAA0B,SAHsB,CAAlD;AAKD;;AAED,SAAO,KAAP;AACD,CAvCM","sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport type { SplitButtonSlots, SplitButtonState } from './SplitButton.types';\n\nexport const splitButtonClassNames: SlotClassNames<SplitButtonSlots> = {\n root: 'fui-SplitButton',\n menuButton: 'fui-SplitButton__menuButton',\n primaryActionButton: 'fui-SplitButton__primaryActionButton',\n};\n\n/**\n * @deprecated Use `splitButtonClassName.root` instead.\n */\nexport const splitButtonClassName = splitButtonClassNames.root;\n\nconst useFocusStyles = makeStyles({\n primaryActionButton: createCustomFocusIndicatorStyle({\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n }),\n\n menuButton: createCustomFocusIndicatorStyle({\n borderLeftWidth: 0,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n }),\n});\n\nconst useRootStyles = makeStyles({\n // Base styles\n base: {\n display: 'inline-flex',\n justifyContent: 'stretch',\n position: 'relative',\n verticalAlign: 'middle',\n\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n\n [`& .${splitButtonClassNames.menuButton}`]: {\n borderLeftWidth: 0,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n minWidth: 0,\n },\n },\n\n // Block styles\n block: {\n width: '100%',\n },\n\n // Appearance variations\n outline: {\n /* No styles */\n },\n primary: {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralForegroundInverted,\n },\n\n ':hover': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralForegroundInverted,\n },\n },\n\n ':hover:active': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralForegroundInverted,\n },\n },\n },\n secondary: {\n /* The secondary styles are exactly the same as the base styles. */\n },\n subtle: {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStroke1Hover,\n },\n\n ':hover': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStroke1Hover,\n },\n },\n\n ':hover:active': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStroke1Hover,\n },\n },\n },\n transparent: {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStroke1Hover,\n },\n\n ':hover': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStroke1Hover,\n },\n },\n\n ':hover:active': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStroke1Hover,\n },\n },\n },\n\n // Shape variations\n circular: {},\n rounded: {},\n square: {},\n\n // Disabled styles\n disabled: {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStrokeDisabled,\n },\n\n ':hover': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStrokeDisabled,\n },\n },\n\n ':hover:active': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: tokens.colorNeutralStrokeDisabled,\n },\n },\n },\n\n // Disabled high contrast styles\n disabledHighContrast: {\n '@media (forced-colors: active)': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: 'GrayText',\n },\n\n ':hover': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: 'GrayText',\n },\n },\n\n ':hover:active': {\n [`& .${splitButtonClassNames.primaryActionButton}`]: {\n borderRightColor: 'GrayText',\n },\n },\n },\n },\n});\n\nexport const useSplitButtonStyles_unstable = (state: SplitButtonState): SplitButtonState => {\n const rootStyles = useRootStyles();\n const focusStyles = useFocusStyles();\n\n const {\n appearance,\n // eslint-disable-next-line deprecation/deprecation\n block,\n disabled,\n disabledFocusable,\n } = state;\n\n state.root.className = mergeClasses(\n splitButtonClassNames.root,\n rootStyles.base,\n block && rootStyles.block,\n appearance && rootStyles[appearance],\n (disabled || disabledFocusable) && rootStyles.disabled,\n (disabled || disabledFocusable) && rootStyles.disabledHighContrast,\n state.root.className,\n );\n\n if (state.menuButton) {\n state.menuButton.className = mergeClasses(\n splitButtonClassNames.menuButton,\n focusStyles.menuButton,\n state.menuButton.className,\n );\n }\n\n if (state.primaryActionButton) {\n state.primaryActionButton.className = mergeClasses(\n splitButtonClassNames.primaryActionButton,\n focusStyles.primaryActionButton,\n state.primaryActionButton.className,\n );\n }\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -1,15 +1,15 @@
1
1
  import * as React from 'react';
2
- import { renderToggleButton } from './renderToggleButton';
3
- import { useToggleButton } from './useToggleButton';
4
- import { useToggleButtonStyles } from './useToggleButtonStyles';
2
+ import { renderToggleButton_unstable } from './renderToggleButton';
3
+ import { useToggleButton_unstable } from './useToggleButton';
4
+ import { useToggleButtonStyles_unstable } from './useToggleButtonStyles';
5
5
  /**
6
6
  * ToggleButtons are buttons that toggle between two defined states when triggered.
7
7
  */
8
8
 
9
- export var ToggleButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
10
- var state = useToggleButton(props, ref);
11
- useToggleButtonStyles(state);
12
- return renderToggleButton(state); // Casting is required due to lack of distributive union to support unions on @types/react
9
+ export const ToggleButton = /*#__PURE__*/React.forwardRef((props, ref) => {
10
+ const state = useToggleButton_unstable(props, ref);
11
+ useToggleButtonStyles_unstable(state);
12
+ return renderToggleButton_unstable(state); // Casting is required due to lack of distributive union to support unions on @types/react
13
13
  });
14
14
  ToggleButton.displayName = 'ToggleButton';
15
15
  //# sourceMappingURL=ToggleButton.js.map