@fluentui/react-button 0.0.0-nightly-20220302-0405.1

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 (226) hide show
  1. package/CHANGELOG.json +4894 -0
  2. package/CHANGELOG.md +1817 -0
  3. package/LICENSE +15 -0
  4. package/README.md +36 -0
  5. package/dist/demo/index.html +71 -0
  6. package/dist/demo/react-dom.development.js +21413 -0
  7. package/dist/demo/react.development.js +3155 -0
  8. package/dist/react-button.d.ts +240 -0
  9. package/lib/Button.d.ts +1 -0
  10. package/lib/Button.js +2 -0
  11. package/lib/Button.js.map +1 -0
  12. package/lib/CompoundButton.d.ts +1 -0
  13. package/lib/CompoundButton.js +2 -0
  14. package/lib/CompoundButton.js.map +1 -0
  15. package/lib/MenuButton.d.ts +1 -0
  16. package/lib/MenuButton.js +2 -0
  17. package/lib/MenuButton.js.map +1 -0
  18. package/lib/SplitButton.d.ts +1 -0
  19. package/lib/SplitButton.js +2 -0
  20. package/lib/SplitButton.js.map +1 -0
  21. package/lib/ToggleButton.d.ts +1 -0
  22. package/lib/ToggleButton.js +2 -0
  23. package/lib/ToggleButton.js.map +1 -0
  24. package/lib/components/Button/Button.d.ts +6 -0
  25. package/lib/components/Button/Button.js +15 -0
  26. package/lib/components/Button/Button.js.map +1 -0
  27. package/lib/components/Button/Button.types.d.ts +62 -0
  28. package/lib/components/Button/Button.types.js +2 -0
  29. package/lib/components/Button/Button.types.js.map +1 -0
  30. package/lib/components/Button/index.d.ts +5 -0
  31. package/lib/components/Button/index.js +5 -0
  32. package/lib/components/Button/index.js.map +1 -0
  33. package/lib/components/Button/renderButton.d.ts +5 -0
  34. package/lib/components/Button/renderButton.js +21 -0
  35. package/lib/components/Button/renderButton.js.map +1 -0
  36. package/lib/components/Button/useButton.d.ts +8 -0
  37. package/lib/components/Button/useButton.js +50 -0
  38. package/lib/components/Button/useButton.js.map +1 -0
  39. package/lib/components/Button/useButtonStyles.d.ts +3 -0
  40. package/lib/components/Button/useButtonStyles.js +418 -0
  41. package/lib/components/Button/useButtonStyles.js.map +1 -0
  42. package/lib/components/CompoundButton/CompoundButton.d.ts +6 -0
  43. package/lib/components/CompoundButton/CompoundButton.js +15 -0
  44. package/lib/components/CompoundButton/CompoundButton.js.map +1 -0
  45. package/lib/components/CompoundButton/CompoundButton.types.d.ts +14 -0
  46. package/lib/components/CompoundButton/CompoundButton.types.js +2 -0
  47. package/lib/components/CompoundButton/CompoundButton.types.js.map +1 -0
  48. package/lib/components/CompoundButton/index.d.ts +5 -0
  49. package/lib/components/CompoundButton/index.js +6 -0
  50. package/lib/components/CompoundButton/index.js.map +1 -0
  51. package/lib/components/CompoundButton/renderCompoundButton.d.ts +5 -0
  52. package/lib/components/CompoundButton/renderCompoundButton.js +23 -0
  53. package/lib/components/CompoundButton/renderCompoundButton.js.map +1 -0
  54. package/lib/components/CompoundButton/useCompoundButton.d.ts +8 -0
  55. package/lib/components/CompoundButton/useCompoundButton.js +29 -0
  56. package/lib/components/CompoundButton/useCompoundButton.js.map +1 -0
  57. package/lib/components/CompoundButton/useCompoundButtonStyles.d.ts +3 -0
  58. package/lib/components/CompoundButton/useCompoundButtonStyles.js +168 -0
  59. package/lib/components/CompoundButton/useCompoundButtonStyles.js.map +1 -0
  60. package/lib/components/MenuButton/MenuButton.d.ts +6 -0
  61. package/lib/components/MenuButton/MenuButton.js +15 -0
  62. package/lib/components/MenuButton/MenuButton.js.map +1 -0
  63. package/lib/components/MenuButton/MenuButton.types.d.ts +10 -0
  64. package/lib/components/MenuButton/MenuButton.types.js +2 -0
  65. package/lib/components/MenuButton/MenuButton.types.js.map +1 -0
  66. package/lib/components/MenuButton/index.d.ts +5 -0
  67. package/lib/components/MenuButton/index.js +6 -0
  68. package/lib/components/MenuButton/index.js.map +1 -0
  69. package/lib/components/MenuButton/renderMenuButton.d.ts +5 -0
  70. package/lib/components/MenuButton/renderMenuButton.js +21 -0
  71. package/lib/components/MenuButton/renderMenuButton.js.map +1 -0
  72. package/lib/components/MenuButton/useMenuButton.d.ts +6 -0
  73. package/lib/components/MenuButton/useMenuButton.js +32 -0
  74. package/lib/components/MenuButton/useMenuButton.js.map +1 -0
  75. package/lib/components/MenuButton/useMenuButtonStyles.d.ts +3 -0
  76. package/lib/components/MenuButton/useMenuButtonStyles.js +36 -0
  77. package/lib/components/MenuButton/useMenuButtonStyles.js.map +1 -0
  78. package/lib/components/SplitButton/SplitButton.d.ts +7 -0
  79. package/lib/components/SplitButton/SplitButton.js +16 -0
  80. package/lib/components/SplitButton/SplitButton.js.map +1 -0
  81. package/lib/components/SplitButton/SplitButton.types.d.ts +21 -0
  82. package/lib/components/SplitButton/SplitButton.types.js +2 -0
  83. package/lib/components/SplitButton/SplitButton.types.js.map +1 -0
  84. package/lib/components/SplitButton/index.d.ts +5 -0
  85. package/lib/components/SplitButton/index.js +6 -0
  86. package/lib/components/SplitButton/index.js.map +1 -0
  87. package/lib/components/SplitButton/renderSplitButton.d.ts +5 -0
  88. package/lib/components/SplitButton/renderSplitButton.js +17 -0
  89. package/lib/components/SplitButton/renderSplitButton.js.map +1 -0
  90. package/lib/components/SplitButton/useSplitButton.d.ts +8 -0
  91. package/lib/components/SplitButton/useSplitButton.js +81 -0
  92. package/lib/components/SplitButton/useSplitButton.js.map +1 -0
  93. package/lib/components/SplitButton/useSplitButtonStyles.d.ts +3 -0
  94. package/lib/components/SplitButton/useSplitButtonStyles.js +93 -0
  95. package/lib/components/SplitButton/useSplitButtonStyles.js.map +1 -0
  96. package/lib/components/ToggleButton/ToggleButton.d.ts +6 -0
  97. package/lib/components/ToggleButton/ToggleButton.js +15 -0
  98. package/lib/components/ToggleButton/ToggleButton.js.map +1 -0
  99. package/lib/components/ToggleButton/ToggleButton.types.d.ts +20 -0
  100. package/lib/components/ToggleButton/ToggleButton.types.js +2 -0
  101. package/lib/components/ToggleButton/ToggleButton.types.js.map +1 -0
  102. package/lib/components/ToggleButton/index.d.ts +5 -0
  103. package/lib/components/ToggleButton/index.js +6 -0
  104. package/lib/components/ToggleButton/index.js.map +1 -0
  105. package/lib/components/ToggleButton/renderToggleButton.d.ts +1 -0
  106. package/lib/components/ToggleButton/renderToggleButton.js +2 -0
  107. package/lib/components/ToggleButton/renderToggleButton.js.map +1 -0
  108. package/lib/components/ToggleButton/useToggleButton.d.ts +9 -0
  109. package/lib/components/ToggleButton/useToggleButton.js +52 -0
  110. package/lib/components/ToggleButton/useToggleButton.js.map +1 -0
  111. package/lib/components/ToggleButton/useToggleButtonStyles.d.ts +3 -0
  112. package/lib/components/ToggleButton/useToggleButtonStyles.js +194 -0
  113. package/lib/components/ToggleButton/useToggleButtonStyles.js.map +1 -0
  114. package/lib/index.d.ts +5 -0
  115. package/lib/index.js +6 -0
  116. package/lib/index.js.map +1 -0
  117. package/lib/tsdoc-metadata.json +11 -0
  118. package/lib-commonjs/Button.d.ts +1 -0
  119. package/lib-commonjs/Button.js +10 -0
  120. package/lib-commonjs/Button.js.map +1 -0
  121. package/lib-commonjs/CompoundButton.d.ts +1 -0
  122. package/lib-commonjs/CompoundButton.js +10 -0
  123. package/lib-commonjs/CompoundButton.js.map +1 -0
  124. package/lib-commonjs/MenuButton.d.ts +1 -0
  125. package/lib-commonjs/MenuButton.js +10 -0
  126. package/lib-commonjs/MenuButton.js.map +1 -0
  127. package/lib-commonjs/SplitButton.d.ts +1 -0
  128. package/lib-commonjs/SplitButton.js +10 -0
  129. package/lib-commonjs/SplitButton.js.map +1 -0
  130. package/lib-commonjs/ToggleButton.d.ts +1 -0
  131. package/lib-commonjs/ToggleButton.js +10 -0
  132. package/lib-commonjs/ToggleButton.js.map +1 -0
  133. package/lib-commonjs/components/Button/Button.d.ts +6 -0
  134. package/lib-commonjs/components/Button/Button.js +26 -0
  135. package/lib-commonjs/components/Button/Button.js.map +1 -0
  136. package/lib-commonjs/components/Button/Button.types.d.ts +62 -0
  137. package/lib-commonjs/components/Button/Button.types.js +6 -0
  138. package/lib-commonjs/components/Button/Button.types.js.map +1 -0
  139. package/lib-commonjs/components/Button/index.d.ts +5 -0
  140. package/lib-commonjs/components/Button/index.js +30 -0
  141. package/lib-commonjs/components/Button/index.js.map +1 -0
  142. package/lib-commonjs/components/Button/renderButton.d.ts +5 -0
  143. package/lib-commonjs/components/Button/renderButton.js +32 -0
  144. package/lib-commonjs/components/Button/renderButton.js.map +1 -0
  145. package/lib-commonjs/components/Button/useButton.d.ts +8 -0
  146. package/lib-commonjs/components/Button/useButton.js +61 -0
  147. package/lib-commonjs/components/Button/useButton.js.map +1 -0
  148. package/lib-commonjs/components/Button/useButtonStyles.d.ts +3 -0
  149. package/lib-commonjs/components/Button/useButtonStyles.js +430 -0
  150. package/lib-commonjs/components/Button/useButtonStyles.js.map +1 -0
  151. package/lib-commonjs/components/CompoundButton/CompoundButton.d.ts +6 -0
  152. package/lib-commonjs/components/CompoundButton/CompoundButton.js +26 -0
  153. package/lib-commonjs/components/CompoundButton/CompoundButton.js.map +1 -0
  154. package/lib-commonjs/components/CompoundButton/CompoundButton.types.d.ts +14 -0
  155. package/lib-commonjs/components/CompoundButton/CompoundButton.types.js +6 -0
  156. package/lib-commonjs/components/CompoundButton/CompoundButton.types.js.map +1 -0
  157. package/lib-commonjs/components/CompoundButton/index.d.ts +5 -0
  158. package/lib-commonjs/components/CompoundButton/index.js +32 -0
  159. package/lib-commonjs/components/CompoundButton/index.js.map +1 -0
  160. package/lib-commonjs/components/CompoundButton/renderCompoundButton.d.ts +5 -0
  161. package/lib-commonjs/components/CompoundButton/renderCompoundButton.js +34 -0
  162. package/lib-commonjs/components/CompoundButton/renderCompoundButton.js.map +1 -0
  163. package/lib-commonjs/components/CompoundButton/useCompoundButton.d.ts +8 -0
  164. package/lib-commonjs/components/CompoundButton/useCompoundButton.js +40 -0
  165. package/lib-commonjs/components/CompoundButton/useCompoundButton.js.map +1 -0
  166. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.d.ts +3 -0
  167. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js +180 -0
  168. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js.map +1 -0
  169. package/lib-commonjs/components/MenuButton/MenuButton.d.ts +6 -0
  170. package/lib-commonjs/components/MenuButton/MenuButton.js +26 -0
  171. package/lib-commonjs/components/MenuButton/MenuButton.js.map +1 -0
  172. package/lib-commonjs/components/MenuButton/MenuButton.types.d.ts +10 -0
  173. package/lib-commonjs/components/MenuButton/MenuButton.types.js +6 -0
  174. package/lib-commonjs/components/MenuButton/MenuButton.types.js.map +1 -0
  175. package/lib-commonjs/components/MenuButton/index.d.ts +5 -0
  176. package/lib-commonjs/components/MenuButton/index.js +32 -0
  177. package/lib-commonjs/components/MenuButton/index.js.map +1 -0
  178. package/lib-commonjs/components/MenuButton/renderMenuButton.d.ts +5 -0
  179. package/lib-commonjs/components/MenuButton/renderMenuButton.js +32 -0
  180. package/lib-commonjs/components/MenuButton/renderMenuButton.js.map +1 -0
  181. package/lib-commonjs/components/MenuButton/useMenuButton.d.ts +6 -0
  182. package/lib-commonjs/components/MenuButton/useMenuButton.js +45 -0
  183. package/lib-commonjs/components/MenuButton/useMenuButton.js.map +1 -0
  184. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.d.ts +3 -0
  185. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.js +47 -0
  186. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.js.map +1 -0
  187. package/lib-commonjs/components/SplitButton/SplitButton.d.ts +7 -0
  188. package/lib-commonjs/components/SplitButton/SplitButton.js +27 -0
  189. package/lib-commonjs/components/SplitButton/SplitButton.js.map +1 -0
  190. package/lib-commonjs/components/SplitButton/SplitButton.types.d.ts +21 -0
  191. package/lib-commonjs/components/SplitButton/SplitButton.types.js +6 -0
  192. package/lib-commonjs/components/SplitButton/SplitButton.types.js.map +1 -0
  193. package/lib-commonjs/components/SplitButton/index.d.ts +5 -0
  194. package/lib-commonjs/components/SplitButton/index.js +32 -0
  195. package/lib-commonjs/components/SplitButton/index.js.map +1 -0
  196. package/lib-commonjs/components/SplitButton/renderSplitButton.d.ts +5 -0
  197. package/lib-commonjs/components/SplitButton/renderSplitButton.js +28 -0
  198. package/lib-commonjs/components/SplitButton/renderSplitButton.js.map +1 -0
  199. package/lib-commonjs/components/SplitButton/useSplitButton.d.ts +8 -0
  200. package/lib-commonjs/components/SplitButton/useSplitButton.js +93 -0
  201. package/lib-commonjs/components/SplitButton/useSplitButton.js.map +1 -0
  202. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.d.ts +3 -0
  203. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js +105 -0
  204. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js.map +1 -0
  205. package/lib-commonjs/components/ToggleButton/ToggleButton.d.ts +6 -0
  206. package/lib-commonjs/components/ToggleButton/ToggleButton.js +26 -0
  207. package/lib-commonjs/components/ToggleButton/ToggleButton.js.map +1 -0
  208. package/lib-commonjs/components/ToggleButton/ToggleButton.types.d.ts +20 -0
  209. package/lib-commonjs/components/ToggleButton/ToggleButton.types.js +6 -0
  210. package/lib-commonjs/components/ToggleButton/ToggleButton.types.js.map +1 -0
  211. package/lib-commonjs/components/ToggleButton/index.d.ts +5 -0
  212. package/lib-commonjs/components/ToggleButton/index.js +32 -0
  213. package/lib-commonjs/components/ToggleButton/index.js.map +1 -0
  214. package/lib-commonjs/components/ToggleButton/renderToggleButton.d.ts +1 -0
  215. package/lib-commonjs/components/ToggleButton/renderToggleButton.js +16 -0
  216. package/lib-commonjs/components/ToggleButton/renderToggleButton.js.map +1 -0
  217. package/lib-commonjs/components/ToggleButton/useToggleButton.d.ts +9 -0
  218. package/lib-commonjs/components/ToggleButton/useToggleButton.js +64 -0
  219. package/lib-commonjs/components/ToggleButton/useToggleButton.js.map +1 -0
  220. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.d.ts +3 -0
  221. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js +206 -0
  222. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js.map +1 -0
  223. package/lib-commonjs/index.d.ts +5 -0
  224. package/lib-commonjs/index.js +18 -0
  225. package/lib-commonjs/index.js.map +1 -0
  226. package/package.json +68 -0
@@ -0,0 +1,168 @@
1
+ import { shorthands, mergeClasses, __styles } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ import { useButtonStyles_unstable } from '../Button/useButtonStyles';
4
+ export const compoundButtonClassName = 'fui-CompoundButton';
5
+ const CompoundButtonClassNames = {
6
+ secondaryContent: `${compoundButtonClassName}-secondaryContent`
7
+ };
8
+
9
+ const useRootStyles = /*#__PURE__*/__styles({
10
+ "base": {
11
+ "i8kkvl": "f4akndk",
12
+ "Belr9w4": "fe5j3v",
13
+ "Bqenvij": "f11ysow2",
14
+ "Bma4kx5": "f900oq5",
15
+ "l15nfm": "f8rpug0",
16
+ "n4n7rj": "fre7xro"
17
+ },
18
+ "outline": {},
19
+ "primary": {
20
+ "Bma4kx5": "f1ur7rb7",
21
+ "l15nfm": "f1itoici",
22
+ "n4n7rj": "f1uen3ov"
23
+ },
24
+ "subtle": {
25
+ "Bma4kx5": "f900oq5",
26
+ "l15nfm": "f1l9nom2",
27
+ "n4n7rj": "fvjq8kx"
28
+ },
29
+ "transparent": {
30
+ "Bma4kx5": "f900oq5",
31
+ "l15nfm": "f1l9nom2",
32
+ "n4n7rj": "fvjq8kx"
33
+ },
34
+ "small": {
35
+ "z8tnut": "fp9bwmr",
36
+ "z189sj": ["f19lj068", "f177v4lu"],
37
+ "Byoj8tv": "f1fow5ox",
38
+ "uwmqm3": ["f177v4lu", "f19lj068"],
39
+ "Be2twd7": "fkhj508",
40
+ "Bg96gwp": "f1i3iumi"
41
+ },
42
+ "medium": {
43
+ "z8tnut": "fbtff6s",
44
+ "z189sj": ["f11qrl6u", "fjlbh76"],
45
+ "Byoj8tv": "fp67ikv",
46
+ "uwmqm3": ["fjlbh76", "f11qrl6u"],
47
+ "Be2twd7": "fkhj508",
48
+ "Bg96gwp": "f1i3iumi"
49
+ },
50
+ "large": {
51
+ "z8tnut": "fm4bm3s",
52
+ "z189sj": ["f1gbmcue", "f1rh9g5y"],
53
+ "Byoj8tv": "fe2my4m",
54
+ "uwmqm3": ["f1rh9g5y", "f1gbmcue"],
55
+ "Be2twd7": "fod5ikn",
56
+ "Bg96gwp": "faaz57k"
57
+ },
58
+ "disabled": {
59
+ "Bma4kx5": "fj9njph",
60
+ "l15nfm": "fr13fpv",
61
+ "n4n7rj": "f1xrf5v0"
62
+ }
63
+ }, {
64
+ "d": [".f4akndk{-webkit-column-gap:12px;column-gap:12px;}", ".fe5j3v{row-gap:12px;}", ".f11ysow2{height:auto;}", ".f900oq5 .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForeground2);}", ".f1ur7rb7 .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForegroundOnBrand);}", ".fp9bwmr{padding-top:8px;}", ".f19lj068{padding-right:8px;}", ".f177v4lu{padding-left:8px;}", ".f1fow5ox{padding-bottom:10px;}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".fbtff6s{padding-top:14px;}", ".f11qrl6u{padding-right:12px;}", ".fjlbh76{padding-left:12px;}", ".fp67ikv{padding-bottom:16px;}", ".fm4bm3s{padding-top:18px;}", ".f1gbmcue{padding-right:16px;}", ".f1rh9g5y{padding-left:16px;}", ".fe2my4m{padding-bottom:20px;}", ".fod5ikn{font-size:var(--fontSizeBase400);}", ".faaz57k{line-height:var(--lineHeightBase400);}", ".fj9njph .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForegroundDisabled);}"],
65
+ "h": [".f8rpug0:hover .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForeground2Hover);}", ".f1itoici:hover .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForegroundOnBrand);}", ".f1l9nom2:hover .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForeground2BrandHover);}", ".fr13fpv:hover .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForegroundDisabled);}"],
66
+ "a": [".fre7xro:active .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForeground2Pressed);}", ".f1uen3ov:active .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForegroundOnBrand);}", ".fvjq8kx:active .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForeground2BrandPressed);}", ".f1xrf5v0:active .fui-CompoundButton-secondaryContent{color:var(--colorNeutralForegroundDisabled);}"]
67
+ });
68
+
69
+ const useRootIconOnlyStyles = /*#__PURE__*/__styles({
70
+ "small": {
71
+ "z8tnut": "f10ra9hq",
72
+ "z189sj": ["f8wuabp", "fycuoez"],
73
+ "Byoj8tv": "f1y2xyjm",
74
+ "uwmqm3": ["fycuoez", "f8wuabp"],
75
+ "B2u0y6b": "ft5vyj6",
76
+ "Bf4jedk": "f17suaiq"
77
+ },
78
+ "medium": {
79
+ "z8tnut": "f1xp5gbu",
80
+ "z189sj": ["f1sgzk6v", "f1bg5zqg"],
81
+ "Byoj8tv": "f1d7kygh",
82
+ "uwmqm3": ["f1bg5zqg", "f1sgzk6v"],
83
+ "B2u0y6b": "fdczgix",
84
+ "Bf4jedk": "fjdcg9m"
85
+ },
86
+ "large": {
87
+ "z8tnut": "fp9bwmr",
88
+ "z189sj": ["f19lj068", "f177v4lu"],
89
+ "Byoj8tv": "f150uoa4",
90
+ "uwmqm3": ["f177v4lu", "f19lj068"],
91
+ "B2u0y6b": "fww51uw",
92
+ "Bf4jedk": "f1qhsl2h"
93
+ }
94
+ }, {
95
+ "d": [".f10ra9hq{padding-top:4px;}", ".f8wuabp{padding-right:4px;}", ".fycuoez{padding-left:4px;}", ".f1y2xyjm{padding-bottom:4px;}", ".ft5vyj6{max-width:48px;}", ".f17suaiq{min-width:48px;}", ".f1xp5gbu{padding-top:6px;}", ".f1sgzk6v{padding-right:6px;}", ".f1bg5zqg{padding-left:6px;}", ".f1d7kygh{padding-bottom:6px;}", ".fdczgix{max-width:52px;}", ".fjdcg9m{min-width:52px;}", ".fp9bwmr{padding-top:8px;}", ".f19lj068{padding-right:8px;}", ".f177v4lu{padding-left:8px;}", ".f150uoa4{padding-bottom:8px;}", ".fww51uw{max-width:56px;}", ".f1qhsl2h{min-width:56px;}"]
96
+ });
97
+
98
+ const useIconStyles = /*#__PURE__*/__styles({
99
+ "base": {
100
+ "Be2twd7": "fndrnj9",
101
+ "Bqenvij": "fbhnoac",
102
+ "a9b677": "feqmc2u"
103
+ }
104
+ }, {
105
+ "d": [".fndrnj9{font-size:40px;}", ".fbhnoac{height:40px;}", ".feqmc2u{width:40px;}"]
106
+ });
107
+
108
+ const useContentContainerStyles = /*#__PURE__*/__styles({
109
+ "base": {
110
+ "mc9l5x": "f22iagw",
111
+ "Beiy3e4": "f1vx9l62",
112
+ "fsow6f": ["f1o700av", "fes3tcz"]
113
+ }
114
+ }, {
115
+ "d": [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f1vx9l62{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}", ".f1o700av{text-align:left;}", ".fes3tcz{text-align:right;}"]
116
+ });
117
+
118
+ const useSecondaryContentStyles = /*#__PURE__*/__styles({
119
+ "base": {
120
+ "Bg96gwp": "flkuc6h",
121
+ "Bhrd7zp": "figsok6"
122
+ },
123
+ "small": {
124
+ "Be2twd7": "fy9rknc"
125
+ },
126
+ "medium": {
127
+ "Be2twd7": "fy9rknc"
128
+ },
129
+ "large": {
130
+ "Be2twd7": "fkhj508"
131
+ }
132
+ }, {
133
+ "d": [".flkuc6h{line-height:100%;}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fkhj508{font-size:var(--fontSizeBase300);}"]
134
+ });
135
+
136
+ export const useCompoundButtonStyles_unstable = state => {
137
+ const rootStyles = useRootStyles();
138
+ const rootIconOnlyStyles = useRootIconOnlyStyles();
139
+ const iconStyles = useIconStyles();
140
+ const contentContainerStyles = useContentContainerStyles();
141
+ const secondaryContentStyles = useSecondaryContentStyles();
142
+ const {
143
+ appearance,
144
+ disabled,
145
+ disabledFocusable,
146
+ iconOnly,
147
+ size
148
+ } = state;
149
+ state.root.className = mergeClasses(compoundButtonClassName, // Root styles
150
+ rootStyles.base, appearance && rootStyles[appearance], rootStyles[size], // Disabled styles
151
+ (disabled || disabledFocusable) && rootStyles.disabled, // Icon-only styles
152
+ iconOnly && rootIconOnlyStyles[size], // User provided class name
153
+ state.root.className);
154
+
155
+ if (state.icon) {
156
+ state.icon.className = mergeClasses(iconStyles.base, state.icon.className);
157
+ }
158
+
159
+ state.contentContainer.className = mergeClasses(contentContainerStyles.base, state.contentContainer.className);
160
+
161
+ if (state.secondaryContent) {
162
+ state.secondaryContent.className = mergeClasses(CompoundButtonClassNames.secondaryContent, secondaryContentStyles.base, secondaryContentStyles[size], state.secondaryContent.className);
163
+ }
164
+
165
+ useButtonStyles_unstable(state);
166
+ return state;
167
+ };
168
+ //# sourceMappingURL=useCompoundButtonStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/CompoundButton/useCompoundButtonStyles.ts"],"names":[],"mappings":"AAAA,SAAS,UAAT,EAAqB,YAArB,kBAAqD,gBAArD;AACA,SAAS,MAAT,QAAuB,uBAAvB;AACA,SAAS,wBAAT,QAAyC,2BAAzC;AAGA,OAAO,MAAM,uBAAuB,GAAG,oBAAhC;AAEP,MAAM,wBAAwB,GAAG;AAC/B,EAAA,gBAAgB,EAAE,GAAG,uBAAuB;AADb,CAAjC;;AAIA,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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAtB;;AAwHA,MAAM,qBAAqB,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,EAA9B;;AAsBA,MAAM,aAAa,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAtB;;AASA,MAAM,yBAAyB,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlC;;AASA,MAAM,yBAAyB,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlC;;AAmBA,OAAO,MAAM,gCAAgC,GAAI,KAAD,IAAoD;AAClG,QAAM,UAAU,GAAG,aAAa,EAAhC;AACA,QAAM,kBAAkB,GAAG,qBAAqB,EAAhD;AACA,QAAM,UAAU,GAAG,aAAa,EAAhC;AACA,QAAM,sBAAsB,GAAG,yBAAyB,EAAxD;AACA,QAAM,sBAAsB,GAAG,yBAAyB,EAAxD;AAEA,QAAM;AAAE,IAAA,UAAF;AAAc,IAAA,QAAd;AAAwB,IAAA,iBAAxB;AAA2C,IAAA,QAA3C;AAAqD,IAAA;AAArD,MAA8D,KAApE;AAEA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CACjC,uBADiC,EAGjC;AACA,EAAA,UAAU,CAAC,IAJsB,EAKjC,UAAU,IAAI,UAAU,CAAC,UAAD,CALS,EAMjC,UAAU,CAAC,IAAD,CANuB,EAQjC;AACA,GAAC,QAAQ,IAAI,iBAAb,KAAmC,UAAU,CAAC,QATb,EAWjC;AACA,EAAA,QAAQ,IAAI,kBAAkB,CAAC,IAAD,CAZG,EAcjC;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,SAfsB,CAAnC;;AAkBA,MAAI,KAAK,CAAC,IAAV,EAAgB;AACd,IAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,UAAU,CAAC,IAAZ,EAAkB,KAAK,CAAC,IAAN,CAAW,SAA7B,CAAnC;AACD;;AAED,EAAA,KAAK,CAAC,gBAAN,CAAuB,SAAvB,GAAmC,YAAY,CAAC,sBAAsB,CAAC,IAAxB,EAA8B,KAAK,CAAC,gBAAN,CAAuB,SAArD,CAA/C;;AAEA,MAAI,KAAK,CAAC,gBAAV,EAA4B;AAC1B,IAAA,KAAK,CAAC,gBAAN,CAAuB,SAAvB,GAAmC,YAAY,CAC7C,wBAAwB,CAAC,gBADoB,EAE7C,sBAAsB,CAAC,IAFsB,EAG7C,sBAAsB,CAAC,IAAD,CAHuB,EAI7C,KAAK,CAAC,gBAAN,CAAuB,SAJsB,CAA/C;AAMD;;AAED,EAAA,wBAAwB,CAAC,KAAD,CAAxB;AAEA,SAAO,KAAP;AACD,CA7CM","sourcesContent":["import { shorthands, mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { useButtonStyles_unstable } from '../Button/useButtonStyles';\nimport type { CompoundButtonState } from './CompoundButton.types';\n\nexport const compoundButtonClassName = 'fui-CompoundButton';\n\nconst CompoundButtonClassNames = {\n secondaryContent: `${compoundButtonClassName}-secondaryContent`,\n};\n\nconst useRootStyles = makeStyles({\n // Base styles\n base: {\n ...shorthands.gap('12px'),\n\n height: 'auto',\n\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2,\n },\n\n ':hover': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2Hover,\n },\n },\n\n ':active': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2Pressed,\n },\n },\n },\n\n // Appearance variations\n outline: {\n /* No styles */\n },\n primary: {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForegroundOnBrand,\n },\n\n ':hover': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForegroundOnBrand,\n },\n },\n\n ':active': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForegroundOnBrand,\n },\n },\n },\n subtle: {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2,\n },\n\n ':hover': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2BrandHover,\n },\n },\n\n ':active': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2BrandPressed,\n },\n },\n },\n transparent: {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2,\n },\n\n ':hover': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2BrandHover,\n },\n },\n\n ':active': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForeground2BrandPressed,\n },\n },\n },\n\n // Size variations\n small: {\n ...shorthands.padding('8px', '8px', '10px', '8px'),\n\n fontSize: tokens.fontSizeBase300,\n lineHeight: tokens.lineHeightBase300,\n },\n medium: {\n ...shorthands.padding('14px', '12px', '16px', '12px'),\n\n fontSize: tokens.fontSizeBase300,\n lineHeight: tokens.lineHeightBase300,\n },\n large: {\n ...shorthands.padding('18px', '16px', '20px', '16px'),\n\n fontSize: tokens.fontSizeBase400,\n lineHeight: tokens.lineHeightBase400,\n },\n\n // Disabled styles\n disabled: {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n\n ':hover': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n\n ':active': {\n [`& .${CompoundButtonClassNames.secondaryContent}`]: {\n color: tokens.colorNeutralForegroundDisabled,\n },\n },\n },\n});\n\nconst useRootIconOnlyStyles = makeStyles({\n // Size variations\n small: {\n ...shorthands.padding('4px'),\n\n maxWidth: '48px',\n minWidth: '48px',\n },\n medium: {\n ...shorthands.padding('6px'),\n\n maxWidth: '52px',\n minWidth: '52px',\n },\n large: {\n ...shorthands.padding('8px'),\n\n maxWidth: '56px',\n minWidth: '56px',\n },\n});\n\nconst useIconStyles = makeStyles({\n // Base styles\n base: {\n fontSize: '40px',\n height: '40px',\n width: '40px',\n },\n});\n\nconst useContentContainerStyles = makeStyles({\n // Base styles\n base: {\n display: 'flex',\n flexDirection: 'column',\n textAlign: 'left',\n },\n});\n\nconst useSecondaryContentStyles = makeStyles({\n // Base styles\n base: {\n lineHeight: '100%',\n fontWeight: tokens.fontWeightRegular,\n },\n\n // Size variations\n small: {\n fontSize: tokens.fontSizeBase200,\n },\n medium: {\n fontSize: tokens.fontSizeBase200,\n },\n large: {\n fontSize: tokens.fontSizeBase300,\n },\n});\n\nexport const useCompoundButtonStyles_unstable = (state: CompoundButtonState): CompoundButtonState => {\n const rootStyles = useRootStyles();\n const rootIconOnlyStyles = useRootIconOnlyStyles();\n const iconStyles = useIconStyles();\n const contentContainerStyles = useContentContainerStyles();\n const secondaryContentStyles = useSecondaryContentStyles();\n\n const { appearance, disabled, disabledFocusable, iconOnly, size } = state;\n\n state.root.className = mergeClasses(\n compoundButtonClassName,\n\n // Root styles\n rootStyles.base,\n appearance && rootStyles[appearance],\n rootStyles[size],\n\n // Disabled styles\n (disabled || disabledFocusable) && rootStyles.disabled,\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(iconStyles.base, state.icon.className);\n }\n\n state.contentContainer.className = mergeClasses(contentContainerStyles.base, state.contentContainer.className);\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n CompoundButtonClassNames.secondaryContent,\n secondaryContentStyles.base,\n secondaryContentStyles[size],\n state.secondaryContent.className,\n );\n }\n\n useButtonStyles_unstable(state);\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ import type { MenuButtonProps } from './MenuButton.types';
2
+ import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
+ /**
4
+ * MenuButtons are buttons that handle opening and closing a menu when they are triggered.
5
+ */
6
+ export declare const MenuButton: ForwardRefComponent<MenuButtonProps>;
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { renderMenuButton_unstable } from './renderMenuButton';
3
+ import { useMenuButton_unstable } from './useMenuButton';
4
+ import { useMenuButtonStyles_unstable } from './useMenuButtonStyles';
5
+ /**
6
+ * MenuButtons are buttons that handle opening and closing a menu when they are triggered.
7
+ */
8
+
9
+ export const MenuButton = /*#__PURE__*/React.forwardRef((props, ref) => {
10
+ const state = useMenuButton_unstable(props, ref);
11
+ useMenuButtonStyles_unstable(state);
12
+ return renderMenuButton_unstable(state); // Casting is required due to lack of distributive union to support unions on @types/react
13
+ });
14
+ MenuButton.displayName = 'MenuButton';
15
+ //# sourceMappingURL=MenuButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuButton/MenuButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,yBAAT,QAA0C,oBAA1C;AACA,SAAS,sBAAT,QAAuC,iBAAvC;AACA,SAAS,4BAAT,QAA6C,uBAA7C;AAIA;;AAEG;;AACH,OAAO,MAAM,UAAU,gBAAyC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AAC9F,QAAM,KAAK,GAAG,sBAAsB,CAAC,KAAD,EAAQ,GAAR,CAApC;AAEA,EAAA,4BAA4B,CAAC,KAAD,CAA5B;AAEA,SAAO,yBAAyB,CAAC,KAAD,CAAhC,CAL8F,CAM9F;AACD,CAP+D,CAAzD;AASP,UAAU,CAAC,WAAX,GAAyB,YAAzB","sourcesContent":["import * as React from 'react';\nimport { renderMenuButton_unstable } from './renderMenuButton';\nimport { useMenuButton_unstable } from './useMenuButton';\nimport { useMenuButtonStyles_unstable } from './useMenuButtonStyles';\nimport type { MenuButtonProps } from './MenuButton.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * MenuButtons are buttons that handle opening and closing a menu when they are triggered.\n */\nexport const MenuButton: ForwardRefComponent<MenuButtonProps> = React.forwardRef((props, ref) => {\n const state = useMenuButton_unstable(props, ref);\n\n useMenuButtonStyles_unstable(state);\n\n return renderMenuButton_unstable(state);\n // Casting is required due to lack of distributive union to support unions on @types/react\n}) as ForwardRefComponent<MenuButtonProps>;\n\nMenuButton.displayName = 'MenuButton';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,10 @@
1
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
+ import type { ButtonCommons, ButtonSlots, ButtonState } from '../Button/Button.types';
3
+ export declare type MenuButtonSlots = ButtonSlots & {
4
+ /**
5
+ * Menu icon that indicates that this button has a menu that can be expanded.
6
+ */
7
+ menuIcon?: Slot<'span'>;
8
+ };
9
+ export declare type MenuButtonProps = ComponentProps<MenuButtonSlots> & Partial<Omit<ButtonCommons, 'iconPosition'>>;
10
+ export declare type MenuButtonState = ComponentState<MenuButtonSlots> & Omit<ButtonState, keyof ButtonSlots | 'components' | 'iconPosition'>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MenuButton.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuButton.types.js","sourceRoot":"../src/","sources":["components/MenuButton/MenuButton.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ButtonCommons, ButtonSlots, ButtonState } from '../Button/Button.types';\n\nexport type MenuButtonSlots = ButtonSlots & {\n /**\n * Menu icon that indicates that this button has a menu that can be expanded.\n */\n menuIcon?: Slot<'span'>;\n};\n\nexport type MenuButtonProps = ComponentProps<MenuButtonSlots> & Partial<Omit<ButtonCommons, 'iconPosition'>>;\n\nexport type MenuButtonState = ComponentState<MenuButtonSlots> &\n Omit<ButtonState, keyof ButtonSlots | 'components' | 'iconPosition'>;\n"]}
@@ -0,0 +1,5 @@
1
+ export * from './MenuButton.types';
2
+ export * from './MenuButton';
3
+ export * from './renderMenuButton';
4
+ export * from './useMenuButton';
5
+ export { menuButtonClassName, useMenuButtonStyles_unstable } from './useMenuButtonStyles';
@@ -0,0 +1,6 @@
1
+ export * from './MenuButton.types';
2
+ export * from './MenuButton';
3
+ export * from './renderMenuButton';
4
+ export * from './useMenuButton';
5
+ export { menuButtonClassName, useMenuButtonStyles_unstable } from './useMenuButtonStyles';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/MenuButton/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC","sourcesContent":["export * from './MenuButton.types';\nexport * from './MenuButton';\nexport * from './renderMenuButton';\nexport * from './useMenuButton';\nexport { menuButtonClassName, useMenuButtonStyles_unstable } from './useMenuButtonStyles';\n"]}
@@ -0,0 +1,5 @@
1
+ import type { MenuButtonState } from './MenuButton.types';
2
+ /**
3
+ * Renders a MenuButton component by passing the state defined props to the appropriate slots.
4
+ */
5
+ export declare const renderMenuButton_unstable: (state: MenuButtonState) => JSX.Element;
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ import { getSlots } from '@fluentui/react-utilities';
3
+ /**
4
+ * Renders a MenuButton component by passing the state defined props to the appropriate slots.
5
+ */
6
+
7
+ export const renderMenuButton_unstable = state => {
8
+ const {
9
+ slots,
10
+ slotProps
11
+ } = getSlots(state);
12
+ const {
13
+ icon,
14
+ iconOnly
15
+ } = state;
16
+ return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
17
+ }, slots.icon && /*#__PURE__*/React.createElement(slots.icon, { ...slotProps.icon
18
+ }), !iconOnly && slotProps.root.children, (!iconOnly || !(icon === null || icon === void 0 ? void 0 : icon.children)) && slots.menuIcon && /*#__PURE__*/React.createElement(slots.menuIcon, { ...slotProps.menuIcon
19
+ }));
20
+ };
21
+ //# sourceMappingURL=renderMenuButton.js.map
@@ -0,0 +1 @@
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/"}
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import type { MenuButtonProps, MenuButtonState } from './MenuButton.types';
3
+ /**
4
+ * Given user props, returns the final state for a MenuButton.
5
+ */
6
+ export declare const useMenuButton_unstable: ({ menuIcon, ...props }: MenuButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) => MenuButtonState;
@@ -0,0 +1,32 @@
1
+ import * as React from 'react';
2
+ import { ChevronDownRegular } from '@fluentui/react-icons';
3
+ import { resolveShorthand } from '@fluentui/react-utilities';
4
+ import { useButton_unstable } from '../Button/index';
5
+ /**
6
+ * Given user props, returns the final state for a MenuButton.
7
+ */
8
+
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
+ // State calculated from a set of props
17
+ iconOnly: Boolean(!props.children),
18
+ // Slots definition
19
+ components: {
20
+ root: 'button',
21
+ icon: 'span',
22
+ menuIcon: 'span'
23
+ },
24
+ menuIcon: resolveShorthand(menuIcon, {
25
+ defaultProps: {
26
+ children: /*#__PURE__*/React.createElement(ChevronDownRegular, null)
27
+ },
28
+ required: true
29
+ })
30
+ };
31
+ };
32
+ //# sourceMappingURL=useMenuButton.js.map
@@ -0,0 +1 @@
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/"}
@@ -0,0 +1,3 @@
1
+ import type { MenuButtonState } from './MenuButton.types';
2
+ export declare const menuButtonClassName = "fui-MenuButton";
3
+ export declare const useMenuButtonStyles_unstable: (state: MenuButtonState) => MenuButtonState;
@@ -0,0 +1,36 @@
1
+ import { mergeClasses, __styles } from '@griffel/react';
2
+ import { useButtonStyles_unstable } from '../Button/useButtonStyles';
3
+ export const menuButtonClassName = 'fui-MenuButton';
4
+
5
+ const useMenuIconStyles = /*#__PURE__*/__styles({
6
+ "small": {
7
+ "Be2twd7": "fe5j1ua",
8
+ "Bqenvij": "fjamq6b",
9
+ "a9b677": "f64fuq3"
10
+ },
11
+ "medium": {
12
+ "Be2twd7": "fe5j1ua",
13
+ "Bqenvij": "fjamq6b",
14
+ "a9b677": "f64fuq3"
15
+ },
16
+ "large": {
17
+ "Be2twd7": "f1rt2boy",
18
+ "Bqenvij": "frvgh55",
19
+ "a9b677": "fq4mcun"
20
+ }
21
+ }, {
22
+ "d": [".fe5j1ua{font-size:20px;}", ".fjamq6b{height:20px;}", ".f64fuq3{width:20px;}", ".f1rt2boy{font-size:24px;}", ".frvgh55{height:24px;}", ".fq4mcun{width:24px;}"]
23
+ });
24
+
25
+ export const useMenuButtonStyles_unstable = state => {
26
+ const menuIconStyles = useMenuIconStyles();
27
+ state.root.className = mergeClasses(menuButtonClassName, state.root.className);
28
+
29
+ if (state.menuIcon) {
30
+ state.menuIcon.className = mergeClasses(menuIconStyles[state.size], state.menuIcon.className);
31
+ }
32
+
33
+ useButtonStyles_unstable(state);
34
+ return state;
35
+ };
36
+ //# sourceMappingURL=useMenuButtonStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuButton/useMenuButtonStyles.ts"],"names":[],"mappings":"AAAA,SAAS,YAAT,kBAAyC,gBAAzC;AAEA,SAAS,wBAAT,QAAyC,2BAAzC;AAGA,OAAO,MAAM,mBAAmB,GAAG,gBAA5B;;AAEP,MAAM,iBAAiB,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAA1B;;AAmBA,OAAO,MAAM,4BAA4B,GAAI,KAAD,IAA4C;AACtF,QAAM,cAAc,GAAG,iBAAiB,EAAxC;AAEA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,mBAAD,EAAsB,KAAK,CAAC,IAAN,CAAW,SAAjC,CAAnC;;AAEA,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,wBAAwB,CAAC,KAAD,CAAxB;AAEA,SAAO,KAAP;AACD,CAZM","sourcesContent":["import { mergeClasses, makeStyles } from '@griffel/react';\nimport { ButtonState } from '../Button/Button.types';\nimport { useButtonStyles_unstable } from '../Button/useButtonStyles';\nimport type { MenuButtonState } from './MenuButton.types';\n\nexport const menuButtonClassName = 'fui-MenuButton';\n\nconst useMenuIconStyles = makeStyles({\n // Size appearance\n small: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n },\n medium: {\n fontSize: '20px',\n height: '20px',\n width: '20px',\n },\n large: {\n fontSize: '24px',\n height: '24px',\n width: '24px',\n },\n});\n\nexport const useMenuButtonStyles_unstable = (state: MenuButtonState): MenuButtonState => {\n const menuIconStyles = useMenuIconStyles();\n\n state.root.className = mergeClasses(menuButtonClassName, state.root.className);\n\n if (state.menuIcon) {\n state.menuIcon.className = mergeClasses(menuIconStyles[state.size], state.menuIcon.className);\n }\n\n useButtonStyles_unstable(state as ButtonState);\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,7 @@
1
+ import type { SplitButtonProps } from './SplitButton.types';
2
+ import { ForwardRefComponent } from '@fluentui/react-utilities';
3
+ /**
4
+ * SplitButtons are a grouping of two interactive surfaces where the interacting with the first one triggers a primary
5
+ * action, while interacting with the second one opens a menu with secondary actions.
6
+ */
7
+ export declare const SplitButton: ForwardRefComponent<SplitButtonProps>;
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import { renderSplitButton_unstable } from './renderSplitButton';
3
+ import { useSplitButton_unstable } from './useSplitButton';
4
+ import { useSplitButtonStyles_unstable } from './useSplitButtonStyles';
5
+ /**
6
+ * SplitButtons are a grouping of two interactive surfaces where the interacting with the first one triggers a primary
7
+ * action, while interacting with the second one opens a menu with secondary actions.
8
+ */
9
+
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
+ });
15
+ SplitButton.displayName = 'SplitButton';
16
+ //# sourceMappingURL=SplitButton.js.map
@@ -0,0 +1 @@
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/"}
@@ -0,0 +1,21 @@
1
+ import { Button } from '../Button/Button';
2
+ import { MenuButton } from '../MenuButton/MenuButton';
3
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
4
+ import type { ButtonProps, ButtonState } from '../Button/Button.types';
5
+ import type { MenuButtonProps, MenuButtonState } from '../MenuButton/MenuButton.types';
6
+ export declare type SplitButtonSlots = {
7
+ /**
8
+ * Root of the component that wraps the primary action button and menu button.
9
+ */
10
+ root: Slot<'div'>;
11
+ /**
12
+ * Button that opens menu with secondary actions in SplitButton.
13
+ */
14
+ menuButton?: Slot<typeof MenuButton>;
15
+ /**
16
+ * Button to perform primary action in SplitButton.
17
+ */
18
+ primaryActionButton?: Slot<typeof Button>;
19
+ };
20
+ export declare type SplitButtonProps = ComponentProps<SplitButtonSlots> & Omit<ButtonProps, 'root'> & Omit<MenuButtonProps, 'root'>;
21
+ export declare type SplitButtonState = ComponentState<SplitButtonSlots> & Omit<ButtonState, 'components' | 'iconOnly' | 'root'> & Omit<MenuButtonState, 'components' | 'iconOnly' | 'root'>;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SplitButton.types.js.map
@@ -0,0 +1 @@
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: 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"]}
@@ -0,0 +1,5 @@
1
+ export * from './SplitButton';
2
+ export * from './SplitButton.types';
3
+ export * from './renderSplitButton';
4
+ export * from './useSplitButton';
5
+ export { splitButtonClassName, useSplitButtonStyles_unstable } from './useSplitButtonStyles';
@@ -0,0 +1,6 @@
1
+ export * from './SplitButton';
2
+ export * from './SplitButton.types';
3
+ export * from './renderSplitButton';
4
+ export * from './useSplitButton';
5
+ export { splitButtonClassName, useSplitButtonStyles_unstable } from './useSplitButtonStyles';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["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,6BAA6B,EAAE,MAAM,wBAAwB,CAAC","sourcesContent":["export * from './SplitButton';\nexport * from './SplitButton.types';\nexport * from './renderSplitButton';\nexport * from './useSplitButton';\nexport { splitButtonClassName, useSplitButtonStyles_unstable } from './useSplitButtonStyles';\n"]}
@@ -0,0 +1,5 @@
1
+ import type { SplitButtonState } from './SplitButton.types';
2
+ /**
3
+ * Renders a SplitButton component by passing the state defined props to the appropriate slots.
4
+ */
5
+ export declare const renderSplitButton_unstable: (state: SplitButtonState) => JSX.Element;
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ import { getSlots } from '@fluentui/react-utilities';
3
+ /**
4
+ * Renders a SplitButton component by passing the state defined props to the appropriate slots.
5
+ */
6
+
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
+ }));
16
+ };
17
+ //# sourceMappingURL=renderSplitButton.js.map
@@ -0,0 +1 @@
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/"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { SplitButtonProps, SplitButtonState } from './SplitButton.types';
3
+ /**
4
+ * Given user props, defines default props for the SplitButton and returns processed state.
5
+ * @param props - User provided props to the SplitButton component.
6
+ * @param ref - User provided ref to be passed to the SplitButton component.
7
+ */
8
+ export declare const useSplitButton_unstable: (props: SplitButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) => SplitButtonState;
@@ -0,0 +1,81 @@
1
+ import { getNativeElementProps, resolveShorthand, useId } from '@fluentui/react-utilities';
2
+ import { Button } from '../Button/Button';
3
+ import { MenuButton } from '../MenuButton/MenuButton';
4
+ /**
5
+ * Given user props, defines default props for the SplitButton and returns processed state.
6
+ * @param props - User provided props to the SplitButton component.
7
+ * @param ref - User provided ref to be passed to the SplitButton component.
8
+ */
9
+
10
+ export const useSplitButton_unstable = (props, ref) => {
11
+ const {
12
+ appearance,
13
+ block = false,
14
+ children,
15
+ disabled = false,
16
+ disabledFocusable = false,
17
+ icon,
18
+ iconPosition = 'before',
19
+ menuButton,
20
+ menuIcon,
21
+ primaryActionButton,
22
+ shape = 'rounded',
23
+ size = 'medium'
24
+ } = props;
25
+ const baseId = useId('splitButton-');
26
+ const menuButtonShorthand = resolveShorthand(menuButton, {
27
+ defaultProps: {
28
+ appearance,
29
+ disabled,
30
+ disabledFocusable,
31
+ menuIcon,
32
+ shape,
33
+ size
34
+ },
35
+ required: true
36
+ });
37
+ const primaryActionButtonShorthand = resolveShorthand(primaryActionButton, {
38
+ defaultProps: {
39
+ appearance,
40
+ block,
41
+ children,
42
+ disabled,
43
+ disabledFocusable,
44
+ icon,
45
+ iconPosition,
46
+ id: baseId + '__primaryActionButton',
47
+ shape,
48
+ size
49
+ },
50
+ required: true
51
+ }); // Resolve menu button's aria-labelledby to be labelled by the primary action button if not a label was not provided
52
+ // by the user.
53
+
54
+ if (menuButtonShorthand && primaryActionButtonShorthand && !menuButtonShorthand['aria-label'] && !menuButtonShorthand['aria-labelledby']) {
55
+ menuButtonShorthand['aria-labelledby'] = primaryActionButtonShorthand.id;
56
+ }
57
+
58
+ return {
59
+ // Props passed at the top-level
60
+ appearance,
61
+ block,
62
+ disabled,
63
+ disabledFocusable,
64
+ iconPosition,
65
+ shape,
66
+ size,
67
+ // Slots definition
68
+ components: {
69
+ root: 'div',
70
+ menuButton: MenuButton,
71
+ primaryActionButton: Button
72
+ },
73
+ root: getNativeElementProps('div', {
74
+ ref,
75
+ ...props
76
+ }),
77
+ menuButton: menuButtonShorthand,
78
+ primaryActionButton: primaryActionButtonShorthand
79
+ };
80
+ };
81
+ //# sourceMappingURL=useSplitButton.js.map
@@ -0,0 +1 @@
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,UADI;AAEJ,IAAA,KAAK,GAAG,KAFJ;AAGJ,IAAA,QAHI;AAIJ,IAAA,QAAQ,GAAG,KAJP;AAKJ,IAAA,iBAAiB,GAAG,KALhB;AAMJ,IAAA,IANI;AAOJ,IAAA,YAAY,GAAG,QAPX;AAQJ,IAAA,UARI;AASJ,IAAA,QATI;AAUJ,IAAA,mBAVI;AAWJ,IAAA,KAAK,GAAG,SAXJ;AAYJ,IAAA,IAAI,GAAG;AAZH,MAaF,KAbJ;AAeA,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,CA9BoB,CA8CpB;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,CAjFM","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,\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/"}
@@ -0,0 +1,3 @@
1
+ import type { SplitButtonState } from './SplitButton.types';
2
+ export declare const splitButtonClassName = "fui-SplitButton";
3
+ export declare const useSplitButtonStyles_unstable: (state: SplitButtonState) => SplitButtonState;