@fluentui/react-button 9.0.0-rc.1 → 9.0.0-rc.10

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 (190) hide show
  1. package/CHANGELOG.json +475 -1
  2. package/CHANGELOG.md +297 -172
  3. package/dist/{react-button.d.ts → index.d.ts} +67 -31
  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.map +1 -1
  11. package/lib/components/Button/Button.types.js.map +1 -1
  12. package/lib/components/Button/index.js +3 -1
  13. package/lib/components/Button/index.js.map +1 -1
  14. package/lib/components/Button/renderButton.js.map +1 -1
  15. package/lib/components/Button/useButton.js +2 -1
  16. package/lib/components/Button/useButton.js.map +1 -1
  17. package/lib/components/Button/useButtonStyles.js +155 -97
  18. package/lib/components/Button/useButtonStyles.js.map +1 -1
  19. package/lib/components/CompoundButton/CompoundButton.js.map +1 -1
  20. package/lib/components/CompoundButton/CompoundButton.types.js.map +1 -1
  21. package/lib/components/CompoundButton/index.js +3 -1
  22. package/lib/components/CompoundButton/index.js.map +1 -1
  23. package/lib/components/CompoundButton/renderCompoundButton.js.map +1 -1
  24. package/lib/components/CompoundButton/useCompoundButton.js +7 -2
  25. package/lib/components/CompoundButton/useCompoundButton.js.map +1 -1
  26. package/lib/components/CompoundButton/useCompoundButtonStyles.js +77 -55
  27. package/lib/components/CompoundButton/useCompoundButtonStyles.js.map +1 -1
  28. package/lib/components/MenuButton/MenuButton.js.map +1 -1
  29. package/lib/components/MenuButton/MenuButton.types.js.map +1 -1
  30. package/lib/components/MenuButton/index.js +3 -1
  31. package/lib/components/MenuButton/index.js.map +1 -1
  32. package/lib/components/MenuButton/renderMenuButton.js.map +1 -1
  33. package/lib/components/MenuButton/useMenuButton.js.map +1 -1
  34. package/lib/components/MenuButton/useMenuButtonStyles.js +39 -14
  35. package/lib/components/MenuButton/useMenuButtonStyles.js.map +1 -1
  36. package/lib/components/SplitButton/SplitButton.js.map +1 -1
  37. package/lib/components/SplitButton/SplitButton.types.js.map +1 -1
  38. package/lib/components/SplitButton/index.js +3 -1
  39. package/lib/components/SplitButton/index.js.map +1 -1
  40. package/lib/components/SplitButton/renderSplitButton.js.map +1 -1
  41. package/lib/components/SplitButton/useSplitButton.js +18 -5
  42. package/lib/components/SplitButton/useSplitButton.js.map +1 -1
  43. package/lib/components/SplitButton/useSplitButtonStyles.js +40 -27
  44. package/lib/components/SplitButton/useSplitButtonStyles.js.map +1 -1
  45. package/lib/components/ToggleButton/ToggleButton.js.map +1 -1
  46. package/lib/components/ToggleButton/ToggleButton.types.js.map +1 -1
  47. package/lib/components/ToggleButton/index.js +3 -1
  48. package/lib/components/ToggleButton/index.js.map +1 -1
  49. package/lib/components/ToggleButton/renderToggleButton.js.map +1 -1
  50. package/lib/components/ToggleButton/useToggleButton.js +3 -41
  51. package/lib/components/ToggleButton/useToggleButton.js.map +1 -1
  52. package/lib/components/ToggleButton/useToggleButtonStyles.js +85 -60
  53. package/lib/components/ToggleButton/useToggleButtonStyles.js.map +1 -1
  54. package/lib/index.js +11 -5
  55. package/lib/index.js.map +1 -1
  56. package/lib/utils/index.js +2 -0
  57. package/lib/utils/index.js.map +1 -0
  58. package/lib/utils/useToggleState.js +37 -0
  59. package/lib/utils/useToggleState.js.map +1 -0
  60. package/lib-commonjs/Button.js.map +1 -1
  61. package/lib-commonjs/CompoundButton.js.map +1 -1
  62. package/lib-commonjs/MenuButton.js.map +1 -1
  63. package/lib-commonjs/SplitButton.js.map +1 -1
  64. package/lib-commonjs/ToggleButton.js.map +1 -1
  65. package/lib-commonjs/components/Button/Button.js.map +1 -1
  66. package/lib-commonjs/components/Button/Button.types.js.map +1 -1
  67. package/lib-commonjs/components/Button/index.js +9 -1
  68. package/lib-commonjs/components/Button/index.js.map +1 -1
  69. package/lib-commonjs/components/Button/renderButton.js.map +1 -1
  70. package/lib-commonjs/components/Button/useButton.js +2 -1
  71. package/lib-commonjs/components/Button/useButton.js.map +1 -1
  72. package/lib-commonjs/components/Button/useButtonStyles.js +157 -98
  73. package/lib-commonjs/components/Button/useButtonStyles.js.map +1 -1
  74. package/lib-commonjs/components/CompoundButton/CompoundButton.js.map +1 -1
  75. package/lib-commonjs/components/CompoundButton/CompoundButton.types.js.map +1 -1
  76. package/lib-commonjs/components/CompoundButton/index.js +9 -1
  77. package/lib-commonjs/components/CompoundButton/index.js.map +1 -1
  78. package/lib-commonjs/components/CompoundButton/renderCompoundButton.js.map +1 -1
  79. package/lib-commonjs/components/CompoundButton/useCompoundButton.js +7 -2
  80. package/lib-commonjs/components/CompoundButton/useCompoundButton.js.map +1 -1
  81. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js +79 -57
  82. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js.map +1 -1
  83. package/lib-commonjs/components/MenuButton/MenuButton.js.map +1 -1
  84. package/lib-commonjs/components/MenuButton/MenuButton.types.js.map +1 -1
  85. package/lib-commonjs/components/MenuButton/index.js +9 -1
  86. package/lib-commonjs/components/MenuButton/index.js.map +1 -1
  87. package/lib-commonjs/components/MenuButton/renderMenuButton.js.map +1 -1
  88. package/lib-commonjs/components/MenuButton/useMenuButton.js.map +1 -1
  89. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.js +41 -15
  90. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.js.map +1 -1
  91. package/lib-commonjs/components/SplitButton/SplitButton.js.map +1 -1
  92. package/lib-commonjs/components/SplitButton/SplitButton.types.js.map +1 -1
  93. package/lib-commonjs/components/SplitButton/index.js +9 -1
  94. package/lib-commonjs/components/SplitButton/index.js.map +1 -1
  95. package/lib-commonjs/components/SplitButton/renderSplitButton.js.map +1 -1
  96. package/lib-commonjs/components/SplitButton/useSplitButton.js +17 -4
  97. package/lib-commonjs/components/SplitButton/useSplitButton.js.map +1 -1
  98. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js +41 -28
  99. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js.map +1 -1
  100. package/lib-commonjs/components/ToggleButton/ToggleButton.js.map +1 -1
  101. package/lib-commonjs/components/ToggleButton/ToggleButton.types.js.map +1 -1
  102. package/lib-commonjs/components/ToggleButton/index.js +9 -1
  103. package/lib-commonjs/components/ToggleButton/index.js.map +1 -1
  104. package/lib-commonjs/components/ToggleButton/renderToggleButton.js.map +1 -1
  105. package/lib-commonjs/components/ToggleButton/useToggleButton.js +3 -42
  106. package/lib-commonjs/components/ToggleButton/useToggleButton.js.map +1 -1
  107. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js +89 -62
  108. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js.map +1 -1
  109. package/lib-commonjs/index.js +204 -6
  110. package/lib-commonjs/index.js.map +1 -1
  111. package/lib-commonjs/utils/index.js +10 -0
  112. package/lib-commonjs/utils/index.js.map +1 -0
  113. package/lib-commonjs/utils/useToggleState.js +48 -0
  114. package/lib-commonjs/utils/useToggleState.js.map +1 -0
  115. package/package.json +20 -22
  116. package/dist/demo/index.html +0 -71
  117. package/dist/demo/react-dom.development.js +0 -21413
  118. package/dist/demo/react.development.js +0 -3155
  119. package/lib/Button.d.ts +0 -1
  120. package/lib/CompoundButton.d.ts +0 -1
  121. package/lib/MenuButton.d.ts +0 -1
  122. package/lib/SplitButton.d.ts +0 -1
  123. package/lib/ToggleButton.d.ts +0 -1
  124. package/lib/components/Button/Button.d.ts +0 -6
  125. package/lib/components/Button/Button.types.d.ts +0 -62
  126. package/lib/components/Button/index.d.ts +0 -5
  127. package/lib/components/Button/renderButton.d.ts +0 -5
  128. package/lib/components/Button/useButton.d.ts +0 -8
  129. package/lib/components/Button/useButtonStyles.d.ts +0 -3
  130. package/lib/components/CompoundButton/CompoundButton.d.ts +0 -6
  131. package/lib/components/CompoundButton/CompoundButton.types.d.ts +0 -14
  132. package/lib/components/CompoundButton/index.d.ts +0 -5
  133. package/lib/components/CompoundButton/renderCompoundButton.d.ts +0 -5
  134. package/lib/components/CompoundButton/useCompoundButton.d.ts +0 -8
  135. package/lib/components/CompoundButton/useCompoundButtonStyles.d.ts +0 -3
  136. package/lib/components/MenuButton/MenuButton.d.ts +0 -6
  137. package/lib/components/MenuButton/MenuButton.types.d.ts +0 -10
  138. package/lib/components/MenuButton/index.d.ts +0 -5
  139. package/lib/components/MenuButton/renderMenuButton.d.ts +0 -5
  140. package/lib/components/MenuButton/useMenuButton.d.ts +0 -6
  141. package/lib/components/MenuButton/useMenuButtonStyles.d.ts +0 -3
  142. package/lib/components/SplitButton/SplitButton.d.ts +0 -7
  143. package/lib/components/SplitButton/SplitButton.types.d.ts +0 -21
  144. package/lib/components/SplitButton/index.d.ts +0 -5
  145. package/lib/components/SplitButton/renderSplitButton.d.ts +0 -5
  146. package/lib/components/SplitButton/useSplitButton.d.ts +0 -8
  147. package/lib/components/SplitButton/useSplitButtonStyles.d.ts +0 -3
  148. package/lib/components/ToggleButton/ToggleButton.d.ts +0 -6
  149. package/lib/components/ToggleButton/ToggleButton.types.d.ts +0 -20
  150. package/lib/components/ToggleButton/index.d.ts +0 -5
  151. package/lib/components/ToggleButton/renderToggleButton.d.ts +0 -1
  152. package/lib/components/ToggleButton/useToggleButton.d.ts +0 -9
  153. package/lib/components/ToggleButton/useToggleButtonStyles.d.ts +0 -3
  154. package/lib/index.d.ts +0 -5
  155. package/lib-commonjs/Button.d.ts +0 -1
  156. package/lib-commonjs/CompoundButton.d.ts +0 -1
  157. package/lib-commonjs/MenuButton.d.ts +0 -1
  158. package/lib-commonjs/SplitButton.d.ts +0 -1
  159. package/lib-commonjs/ToggleButton.d.ts +0 -1
  160. package/lib-commonjs/components/Button/Button.d.ts +0 -6
  161. package/lib-commonjs/components/Button/Button.types.d.ts +0 -62
  162. package/lib-commonjs/components/Button/index.d.ts +0 -5
  163. package/lib-commonjs/components/Button/renderButton.d.ts +0 -5
  164. package/lib-commonjs/components/Button/useButton.d.ts +0 -8
  165. package/lib-commonjs/components/Button/useButtonStyles.d.ts +0 -3
  166. package/lib-commonjs/components/CompoundButton/CompoundButton.d.ts +0 -6
  167. package/lib-commonjs/components/CompoundButton/CompoundButton.types.d.ts +0 -14
  168. package/lib-commonjs/components/CompoundButton/index.d.ts +0 -5
  169. package/lib-commonjs/components/CompoundButton/renderCompoundButton.d.ts +0 -5
  170. package/lib-commonjs/components/CompoundButton/useCompoundButton.d.ts +0 -8
  171. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.d.ts +0 -3
  172. package/lib-commonjs/components/MenuButton/MenuButton.d.ts +0 -6
  173. package/lib-commonjs/components/MenuButton/MenuButton.types.d.ts +0 -10
  174. package/lib-commonjs/components/MenuButton/index.d.ts +0 -5
  175. package/lib-commonjs/components/MenuButton/renderMenuButton.d.ts +0 -5
  176. package/lib-commonjs/components/MenuButton/useMenuButton.d.ts +0 -6
  177. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.d.ts +0 -3
  178. package/lib-commonjs/components/SplitButton/SplitButton.d.ts +0 -7
  179. package/lib-commonjs/components/SplitButton/SplitButton.types.d.ts +0 -21
  180. package/lib-commonjs/components/SplitButton/index.d.ts +0 -5
  181. package/lib-commonjs/components/SplitButton/renderSplitButton.d.ts +0 -5
  182. package/lib-commonjs/components/SplitButton/useSplitButton.d.ts +0 -8
  183. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.d.ts +0 -3
  184. package/lib-commonjs/components/ToggleButton/ToggleButton.d.ts +0 -6
  185. package/lib-commonjs/components/ToggleButton/ToggleButton.types.d.ts +0 -20
  186. package/lib-commonjs/components/ToggleButton/index.d.ts +0 -5
  187. package/lib-commonjs/components/ToggleButton/renderToggleButton.d.ts +0 -1
  188. package/lib-commonjs/components/ToggleButton/useToggleButton.d.ts +0 -9
  189. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.d.ts +0 -3
  190. package/lib-commonjs/index.d.ts +0 -5
@@ -4,73 +4,88 @@ import type { ComponentState } from '@fluentui/react-utilities';
4
4
  import { ForwardRefComponent } from '@fluentui/react-utilities';
5
5
  import * as React_2 from 'react';
6
6
  import type { Slot } from '@fluentui/react-utilities';
7
+ import type { SlotClassNames } from '@fluentui/react-utilities';
7
8
 
8
9
  /**
9
10
  * Buttons give people a way to trigger an action.
10
11
  */
11
12
  export declare const Button: ForwardRefComponent<ButtonProps>;
12
13
 
13
- export declare const buttonClassName = "fui-Button";
14
+ /**
15
+ * @deprecated Use `buttonClassNames.root` instead.
16
+ */
17
+ export declare const buttonClassName: string;
14
18
 
15
- declare type ButtonCommons = {
19
+ export declare const buttonClassNames: SlotClassNames<ButtonSlots>;
20
+
21
+ export declare type ButtonProps = ComponentProps<ButtonSlots> & {
16
22
  /**
17
23
  * A button can have its content and borders styled for greater emphasis or to be subtle.
24
+ * - 'secondary' (default): Gives emphasis to the button in such a way that it indicates a secondary action.
18
25
  * - 'primary': Emphasizes the button as a primary action.
19
26
  * - 'outline': Removes background styling.
20
27
  * - 'subtle': Minimizes emphasis to blend into the background until hovered or focused.
21
28
  * - 'transparent': Removes background and border styling.
29
+ *
30
+ * @default 'secondary'
22
31
  */
23
- appearance?: 'primary' | 'outline' | 'subtle' | 'transparent';
32
+ appearance?: 'secondary' | 'primary' | 'outline' | 'subtle' | 'transparent';
24
33
  /**
25
34
  * A button can fill the width of its container.
26
35
  * @default false
36
+ *
37
+ * @deprecated - Use style overrides instead.
27
38
  */
28
- block: boolean;
39
+ block?: boolean;
29
40
  /**
30
41
  * When set, allows the button to be focusable even when it has been disabled. This is used in scenarios where it
31
42
  * is important to keep a consistent tab order for screen reader and keyboard users. The primary example of this
32
43
  * pattern is when the disabled button is in a menu or a commandbar and is seldom used for standalone buttons.
44
+ *
33
45
  * @default false
34
46
  */
35
- disabledFocusable: boolean;
47
+ disabledFocusable?: boolean;
36
48
  /**
37
49
  * A button can show that it cannot be interacted with.
50
+ *
38
51
  * @default false
39
52
  */
40
- disabled: boolean;
53
+ disabled?: boolean;
41
54
  /**
42
55
  * A button can format its icon to appear before or after its content.
56
+ *
43
57
  * @default 'before'
44
58
  */
45
59
  iconPosition?: 'before' | 'after';
46
60
  /**
47
61
  * A button can be rounded, circular, or square.
62
+ *
48
63
  * @default 'rounded'
49
64
  */
50
- shape: 'rounded' | 'circular' | 'square';
65
+ shape?: 'rounded' | 'circular' | 'square';
51
66
  /**
52
67
  * A button supports different sizes.
68
+ *
53
69
  * @default 'medium'
54
70
  */
55
- size: 'small' | 'medium' | 'large';
71
+ size?: 'small' | 'medium' | 'large';
56
72
  };
57
73
 
58
- export declare type ButtonProps = ComponentProps<ButtonSlots> & Partial<ButtonCommons>;
59
-
60
74
  export declare type ButtonSlots = {
61
75
  /**
62
76
  * Root of the component that renders as either a `<button>` tag or an `<a>` tag.
63
77
  */
64
- root: Slot<ARIAButtonSlotProps>;
78
+ root: NonNullable<Slot<ARIAButtonSlotProps>>;
65
79
  /**
66
80
  * Icon that renders either before or after the `children` as specified by the `iconPosition` prop.
67
81
  */
68
82
  icon?: Slot<'span'>;
69
83
  };
70
84
 
71
- export declare type ButtonState = ComponentState<ButtonSlots> & ButtonCommons & {
85
+ export declare type ButtonState = ComponentState<ButtonSlots> & Required<Pick<ButtonProps, 'appearance' | 'block' | 'disabledFocusable' | 'disabled' | 'iconPosition' | 'shape' | 'size'>> & {
72
86
  /**
73
87
  * A button can contain only an icon.
88
+ *
74
89
  * @default false
75
90
  */
76
91
  iconOnly: boolean;
@@ -81,9 +96,14 @@ export declare type ButtonState = ComponentState<ButtonSlots> & ButtonCommons &
81
96
  */
82
97
  export declare const CompoundButton: ForwardRefComponent<CompoundButtonProps>;
83
98
 
84
- export declare const compoundButtonClassName = "fui-CompoundButton";
99
+ /**
100
+ * @deprecated Use `compoundButtonClassName.root` instead.
101
+ */
102
+ export declare const compoundButtonClassName: string;
85
103
 
86
- export declare type CompoundButtonProps = ComponentProps<Partial<CompoundButtonSlots>> & Partial<ButtonCommons>;
104
+ export declare const compoundButtonClassNames: SlotClassNames<CompoundButtonSlots>;
105
+
106
+ export declare type CompoundButtonProps = ComponentProps<Partial<CompoundButtonSlots>> & Pick<ButtonProps, 'appearance' | 'block' | 'disabledFocusable' | 'disabled' | 'iconPosition' | 'shape' | 'size'>;
87
107
 
88
108
  export declare type CompoundButtonSlots = ButtonSlots & {
89
109
  /**
@@ -103,9 +123,14 @@ export declare type CompoundButtonState = ComponentState<CompoundButtonSlots> &
103
123
  */
104
124
  export declare const MenuButton: ForwardRefComponent<MenuButtonProps>;
105
125
 
106
- export declare const menuButtonClassName = "fui-MenuButton";
126
+ /**
127
+ * @deprecated Use `menuButtonClassName.root` instead.
128
+ */
129
+ export declare const menuButtonClassName: string;
130
+
131
+ export declare const menuButtonClassNames: SlotClassNames<MenuButtonSlots>;
107
132
 
108
- export declare type MenuButtonProps = ComponentProps<MenuButtonSlots> & Partial<Omit<ButtonCommons, 'iconPosition'>>;
133
+ export declare type MenuButtonProps = ComponentProps<MenuButtonSlots> & Pick<ButtonProps, 'appearance' | 'block' | 'disabledFocusable' | 'disabled' | 'shape' | 'size'>;
109
134
 
110
135
  export declare type MenuButtonSlots = ButtonSlots & {
111
136
  /**
@@ -144,7 +169,12 @@ export declare const renderSplitButton_unstable: (state: SplitButtonState) => JS
144
169
  */
145
170
  export declare const SplitButton: ForwardRefComponent<SplitButtonProps>;
146
171
 
147
- export declare const splitButtonClassName = "fui-SplitButton";
172
+ /**
173
+ * @deprecated Use `splitButtonClassName.root` instead.
174
+ */
175
+ export declare const splitButtonClassName: string;
176
+
177
+ export declare const splitButtonClassNames: SlotClassNames<SplitButtonSlots>;
148
178
 
149
179
  export declare type SplitButtonProps = ComponentProps<SplitButtonSlots> & Omit<ButtonProps, 'root'> & Omit<MenuButtonProps, 'root'>;
150
180
 
@@ -152,7 +182,7 @@ export declare type SplitButtonSlots = {
152
182
  /**
153
183
  * Root of the component that wraps the primary action button and menu button.
154
184
  */
155
- root: Slot<'div'>;
185
+ root: NonNullable<Slot<'div'>>;
156
186
  /**
157
187
  * Button that opens menu with secondary actions in SplitButton.
158
188
  */
@@ -170,28 +200,32 @@ export declare type SplitButtonState = ComponentState<SplitButtonSlots> & Omit<B
170
200
  */
171
201
  export declare const ToggleButton: ForwardRefComponent<ToggleButtonProps>;
172
202
 
173
- export declare const toggleButtonClassName = "fui-ToggleButton";
203
+ /**
204
+ * @deprecated Use `toggleButtonClassName.root` instead.
205
+ */
206
+ export declare const toggleButtonClassName: string;
174
207
 
175
- declare type ToggleButtonCommons = {
208
+ export declare const toggleButtonClassNames: SlotClassNames<ButtonSlots>;
209
+
210
+ export declare type ToggleButtonProps = ButtonProps & {
211
+ /**
212
+ * Defines whether the `ToggleButton` is initially in a checked state or not when rendered.
213
+ *
214
+ * @default false
215
+ */
216
+ defaultChecked?: boolean;
176
217
  /**
177
218
  * Defines the controlled checked state of the `ToggleButton`.
178
219
  * If passed, `ToggleButton` ignores the `defaultChecked` property.
179
220
  * This should only be used if the checked state is to be controlled at a higher level and there is a plan to pass the
180
221
  * correct value based on handling `onClick` events and re-rendering.
222
+ *
181
223
  * @default false
182
224
  */
183
- checked: boolean;
184
- };
185
-
186
- export declare type ToggleButtonProps = ButtonProps & Partial<ToggleButtonCommons> & {
187
- /**
188
- * Defines whether the `ToggleButton` is initially in a checked state or not when rendered.
189
- * @default false
190
- */
191
- defaultChecked?: boolean;
225
+ checked?: boolean;
192
226
  };
193
227
 
194
- export declare type ToggleButtonState = ButtonState & ToggleButtonCommons;
228
+ export declare type ToggleButtonState = ButtonState & Required<Pick<ToggleButtonProps, 'checked'>>;
195
229
 
196
230
  /**
197
231
  * Given user props, defines default props for the Button, calls useButtonState, and returns processed state.
@@ -233,8 +267,10 @@ export declare const useSplitButtonStyles_unstable: (state: SplitButtonState) =>
233
267
  * @param props - User provided props to the ToggleButton component.
234
268
  * @param ref - User provided ref to be passed to the ToggleButton component.
235
269
  */
236
- export declare const useToggleButton_unstable: ({ checked, defaultChecked, ...props }: ToggleButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => ToggleButtonState;
270
+ export declare const useToggleButton_unstable: (props: ToggleButtonProps, ref: React_2.Ref<HTMLButtonElement | HTMLAnchorElement>) => ToggleButtonState;
237
271
 
238
272
  export declare const useToggleButtonStyles_unstable: (state: ToggleButtonState) => ToggleButtonState;
239
273
 
274
+ export declare function useToggleState<TToggleButtonProps extends Pick<ToggleButtonProps, 'checked' | 'defaultChecked' | 'disabled' | 'disabledFocusable'>, TButtonState extends Pick<ButtonState, 'root'>, TToggleButtonState extends Pick<ToggleButtonState, 'checked' | 'root'>>(props: TToggleButtonProps, state: TButtonState): TToggleButtonState;
275
+
240
276
  export { }
File without changes
package/lib/Button.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"../src/","sources":["Button.tsx"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC","sourcesContent":["export * from './components/Button/index';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"CompoundButton.js","sourceRoot":"","sources":["../src/CompoundButton.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"CompoundButton.js","sourceRoot":"../src/","sources":["CompoundButton.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC","sourcesContent":["export * from './components/CompoundButton/index';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuButton.js","sourceRoot":"","sources":["../src/MenuButton.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"MenuButton.js","sourceRoot":"../src/","sources":["MenuButton.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC","sourcesContent":["export * from './components/MenuButton/index';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"SplitButton.js","sourceRoot":"","sources":["../src/SplitButton.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"SplitButton.js","sourceRoot":"../src/","sources":["SplitButton.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC","sourcesContent":["export * from './components/SplitButton/index';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleButton.js","sourceRoot":"","sources":["../src/ToggleButton.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"ToggleButton.js","sourceRoot":"../src/","sources":["ToggleButton.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC","sourcesContent":["export * from './components/ToggleButton/index';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,QAAsC,gBAAtC;AACA,SAAS,kBAAT,QAAmC,aAAnC;AACA,SAAS,wBAAT,QAAyC,mBAAzC;AAIA;;AAEG;;AACH,OAAO,MAAM,MAAM,gBAAqC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACtF,QAAM,KAAK,GAAG,kBAAkB,CAAC,KAAD,EAAQ,GAAR,CAAhC;AAEA,EAAA,wBAAwB,CAAC,KAAD,CAAxB;AAEA,SAAO,qBAAqB,CAAC,KAAD,CAA5B,CALsF,CAMtF;AACD,CAPuD,CAAjD;AASP,MAAM,CAAC,WAAP,GAAqB,QAArB","sourceRoot":""}
1
+ {"version":3,"sources":["components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,QAAsC,gBAAtC;AACA,SAAS,kBAAT,QAAmC,aAAnC;AACA,SAAS,wBAAT,QAAyC,mBAAzC;AAIA;;AAEG;;AACH,OAAO,MAAM,MAAM,gBAAqC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACtF,QAAM,KAAK,GAAG,kBAAkB,CAAC,KAAD,EAAQ,GAAR,CAAhC;AAEA,EAAA,wBAAwB,CAAC,KAAD,CAAxB;AAEA,SAAO,qBAAqB,CAAC,KAAD,CAA5B,CALsF,CAMtF;AACD,CAPuD,CAAjD;AASP,MAAM,CAAC,WAAP,GAAqB,QAArB","sourcesContent":["import * as React from 'react';\nimport { renderButton_unstable } from './renderButton';\nimport { useButton_unstable } from './useButton';\nimport { useButtonStyles_unstable } from './useButtonStyles';\nimport type { ButtonProps } from './Button.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Buttons give people a way to trigger an action.\n */\nexport const Button: ForwardRefComponent<ButtonProps> = React.forwardRef((props, ref) => {\n const state = useButton_unstable(props, ref);\n\n useButtonStyles_unstable(state);\n\n return renderButton_unstable(state);\n // Casting is required due to lack of distributive union to support unions on @types/react\n}) as ForwardRefComponent<ButtonProps>;\n\nButton.displayName = 'Button';\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.types.js","sourceRoot":"","sources":["../../../src/components/Button/Button.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"Button.types.js","sourceRoot":"../src/","sources":["components/Button/Button.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ARIAButtonSlotProps } from '@fluentui/react-aria';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type ButtonSlots = {\n /**\n * Root of the component that renders as either a `<button>` tag or an `<a>` tag.\n */\n root: NonNullable<Slot<ARIAButtonSlotProps>>;\n\n /**\n * Icon that renders either before or after the `children` as specified by the `iconPosition` prop.\n */\n icon?: Slot<'span'>;\n};\n\nexport type ButtonProps = ComponentProps<ButtonSlots> & {\n /**\n * A button can have its content and borders styled for greater emphasis or to be subtle.\n * - 'secondary' (default): Gives emphasis to the button in such a way that it indicates a secondary action.\n * - 'primary': Emphasizes the button as a primary action.\n * - 'outline': Removes background styling.\n * - 'subtle': Minimizes emphasis to blend into the background until hovered or focused.\n * - 'transparent': Removes background and border styling.\n *\n * @default 'secondary'\n */\n appearance?: 'secondary' | 'primary' | 'outline' | 'subtle' | 'transparent';\n\n /**\n * A button can fill the width of its container.\n * @default false\n *\n * @deprecated - Use style overrides instead.\n */\n block?: boolean;\n\n /**\n * When set, allows the button to be focusable even when it has been disabled. This is used in scenarios where it\n * is important to keep a consistent tab order for screen reader and keyboard users. The primary example of this\n * pattern is when the disabled button is in a menu or a commandbar and is seldom used for standalone buttons.\n *\n * @default false\n */\n disabledFocusable?: boolean;\n\n /**\n * A button can show that it cannot be interacted with.\n *\n * @default false\n */\n disabled?: boolean;\n\n /**\n * A button can format its icon to appear before or after its content.\n *\n * @default 'before'\n */\n iconPosition?: 'before' | 'after';\n\n /**\n * A button can be rounded, circular, or square.\n *\n * @default 'rounded'\n */\n shape?: 'rounded' | 'circular' | 'square';\n\n /**\n * A button supports different sizes.\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n};\n\nexport type ButtonState = ComponentState<ButtonSlots> &\n Required<\n Pick<ButtonProps, 'appearance' | 'block' | 'disabledFocusable' | 'disabled' | 'iconPosition' | 'shape' | 'size'>\n > & {\n /**\n * A button can contain only an icon.\n *\n * @default false\n */\n iconOnly: boolean;\n };\n"]}
@@ -1,5 +1,7 @@
1
1
  export * from './Button';
2
2
  export * from './renderButton';
3
3
  export * from './useButton';
4
- export { buttonClassName, useButtonStyles_unstable } from './useButtonStyles';
4
+ export {
5
+ /* eslint-disable-next-line deprecation/deprecation */
6
+ buttonClassName, buttonClassNames, useButtonStyles_unstable } from './useButtonStyles';
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Button/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"sources":["components/Button/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAd;AAGA,cAAc,gBAAd;AACA,cAAc,aAAd;AACA;AACE;AACA,eAFF,EAGE,gBAHF,EAIE,wBAJF,QAKO,mBALP","sourcesContent":["export * from './Button';\n// Explicit exports to omit ButtonCommons\nexport type { ButtonProps, ButtonSlots, ButtonState } from './Button.types';\nexport * from './renderButton';\nexport * from './useButton';\nexport {\n /* eslint-disable-next-line deprecation/deprecation */\n buttonClassName,\n buttonClassNames,\n useButtonStyles_unstable,\n} from './useButtonStyles';\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Button/renderButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,qBAAqB,GAAI,KAAD,IAAuB;AAC1D,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAc,KAAd,CAArC;AACA,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA;AAAZ,MAA6B,KAAnC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACG,YAAY,KAAK,OAAjB,IAA4B,KAAK,CAAC,IAAlC,iBAA0C,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAD7C,EAEG,CAAC,QAAD,IAAa,KAAK,CAAC,IAAN,CAAW,QAF3B,EAGG,YAAY,KAAK,OAAjB,IAA4B,KAAK,CAAC,IAAlC,iBAA0C,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAH7C,CADF;AAOD,CAXM","sourceRoot":""}
1
+ {"version":3,"sources":["components/Button/renderButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,qBAAqB,GAAI,KAAD,IAAuB;AAC1D,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAc,KAAd,CAArC;AACA,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA;AAAZ,MAA6B,KAAnC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACG,YAAY,KAAK,OAAjB,IAA4B,KAAK,CAAC,IAAlC,iBAA0C,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAD7C,EAEG,CAAC,QAAD,IAAa,KAAK,CAAC,IAAN,CAAW,QAF3B,EAGG,YAAY,KAAK,OAAjB,IAA4B,KAAK,CAAC,IAAlC,iBAA0C,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAH7C,CADF;AAOD,CAXM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { ButtonSlots, ButtonState } from './Button.types';\n\n/**\n * Renders a Button component by passing the state defined props to the appropriate slots.\n */\nexport const renderButton_unstable = (state: ButtonState) => {\n const { slots, slotProps } = getSlots<ButtonSlots>(state);\n const { iconOnly, iconPosition } = state;\n\n return (\n <slots.root {...slotProps.root}>\n {iconPosition !== 'after' && slots.icon && <slots.icon {...slotProps.icon} />}\n {!iconOnly && state.root.children}\n {iconPosition === 'after' && slots.icon && <slots.icon {...slotProps.icon} />}\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -8,8 +8,9 @@ import { getNativeElementProps, resolveShorthand } from '@fluentui/react-utiliti
8
8
 
9
9
  export const useButton_unstable = (props, ref) => {
10
10
  const {
11
- appearance,
11
+ appearance = 'secondary',
12
12
  as,
13
+ // eslint-disable-next-line deprecation/deprecation
13
14
  block = false,
14
15
  disabled = false,
15
16
  disabledFocusable = false,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Button/useButton.ts"],"names":[],"mappings":"AACA,SAAS,aAAT,QAA8B,sBAA9B;AAEA,SAAS,qBAAT,EAAgC,gBAAhC,QAAwD,2BAAxD;AAGA;;;;AAIG;;AACH,OAAO,MAAM,kBAAkB,GAAG,CAChC,KADgC,EAEhC,GAFgC,KAGjB;AACf,QAAM;AACJ,IAAA,UADI;AAEJ,IAAA,EAFI;AAGJ,IAAA,KAAK,GAAG,KAHJ;AAIJ,IAAA,QAAQ,GAAG,KAJP;AAKJ,IAAA,iBAAiB,GAAG,KALhB;AAMJ,IAAA,IANI;AAOJ,IAAA,YAAY,GAAG,QAPX;AAQJ,IAAA,KAAK,GAAG,SARJ;AASJ,IAAA,IAAI,GAAG;AATH,MAUF,KAVJ;AAWA,QAAM,aAAa,GAAG,gBAAgB,CAAC,IAAD,CAAtC;AAEA,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,QAAQ,EAAE,OAAO,CAAC,CAAA,aAAa,KAAA,IAAb,IAAA,aAAa,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAA,aAAa,CAAE,QAAf,KAA2B,CAAC,KAAK,CAAC,QAAnC,CAXZ;AAaL;AACA,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,QADI;AAEV,MAAA,IAAI,EAAE;AAFI,KAdP;AAmBL,IAAA,IAAI,EAAE,qBAAqB,CACzB,EAAE,IAAI,QADmB,EAEzB,aAAa,CAAsB,KAAtB,EAA6B;AACxC,MAAA,QAAQ,EAAE,IAD8B;AAExC,MAAA,YAAY,EAAE;AACZ;AACA,QAAA,GAAG,EAAE,GAFO;AAGZ,QAAA,IAAI,EAAE,QAHM,CAGI;;AAHJ;AAF0B,KAA7B,CAFY,CAnBtB;AA8BL,IAAA,IAAI,EAAE;AA9BD,GAAP;AAgCD,CAjDM","sourceRoot":""}
1
+ {"version":3,"sources":["components/Button/useButton.ts"],"names":[],"mappings":"AACA,SAAS,aAAT,QAA8B,sBAA9B;AACA,SAAS,qBAAT,EAAgC,gBAAhC,QAAwD,2BAAxD;AAIA;;;;AAIG;;AACH,OAAO,MAAM,kBAAkB,GAAG,CAChC,KADgC,EAEhC,GAFgC,KAGjB;AACf,QAAM;AACJ,IAAA,UAAU,GAAG,WADT;AAEJ,IAAA,EAFI;AAGJ;AACA,IAAA,KAAK,GAAG,KAJJ;AAKJ,IAAA,QAAQ,GAAG,KALP;AAMJ,IAAA,iBAAiB,GAAG,KANhB;AAOJ,IAAA,IAPI;AAQJ,IAAA,YAAY,GAAG,QARX;AASJ,IAAA,KAAK,GAAG,SATJ;AAUJ,IAAA,IAAI,GAAG;AAVH,MAWF,KAXJ;AAYA,QAAM,aAAa,GAAG,gBAAgB,CAAC,IAAD,CAAtC;AAEA,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,QAAQ,EAAE,OAAO,CAAC,CAAA,aAAa,KAAA,IAAb,IAAA,aAAa,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAA,aAAa,CAAE,QAAf,KAA2B,CAAC,KAAK,CAAC,QAAnC,CAXZ;AAaL;AACA,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,QADI;AAEV,MAAA,IAAI,EAAE;AAFI,KAdP;AAmBL,IAAA,IAAI,EAAE,qBAAqB,CACzB,EAAE,IAAI,QADmB,EAEzB,aAAa,CAAsB,KAAtB,EAA6B;AACxC,MAAA,QAAQ,EAAE,IAD8B;AAExC,MAAA,YAAY,EAAE;AACZ;AACA,QAAA,GAAG,EAAE,GAFO;AAGZ,QAAA,IAAI,EAAE,QAHM,CAGI;;AAHJ;AAF0B,KAA7B,CAFY,CAnBtB;AA8BL,IAAA,IAAI,EAAE;AA9BD,GAAP;AAgCD,CAlDM","sourcesContent":["import * as React from 'react';\nimport { useARIAButton } from '@fluentui/react-aria';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport type { ARIAButtonSlotProps } from '@fluentui/react-aria';\nimport type { ButtonProps, ButtonState } from './Button.types';\n\n/**\n * Given user props, defines default props for the Button, calls useButtonState, and returns processed state.\n * @param props - User provided props to the Button component.\n * @param ref - User provided ref to be passed to the Button component.\n */\nexport const useButton_unstable = (\n props: ButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ButtonState => {\n const {\n appearance = 'secondary',\n as,\n // eslint-disable-next-line deprecation/deprecation\n block = false,\n disabled = false,\n disabledFocusable = false,\n icon,\n iconPosition = 'before',\n shape = 'rounded',\n size = 'medium',\n } = props;\n const iconShorthand = resolveShorthand(icon);\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 // State calculated from a set of props\n iconOnly: Boolean(iconShorthand?.children && !props.children),\n\n // Slots definition\n components: {\n root: 'button',\n icon: 'span',\n },\n\n root: getNativeElementProps(\n as || 'button',\n useARIAButton<ARIAButtonSlotProps>(props, {\n required: true,\n defaultProps: {\n // useARIAButton isn't working with React.Ref<HTMLButtonElement | HTMLAnchorElement>\n ref: ref as React.Ref<HTMLButtonElement>,\n type: 'button', // This is added because the default for type is 'submit'\n },\n }),\n ),\n icon: iconShorthand,\n };\n};\n"],"sourceRoot":"../src/"}