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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. package/CHANGELOG.json +549 -1
  2. package/CHANGELOG.md +321 -172
  3. package/README.md +80 -18
  4. package/dist/{react-button.d.ts → index.d.ts} +42 -37
  5. package/{lib → dist}/tsdoc-metadata.json +0 -0
  6. package/lib/Button.js.map +1 -1
  7. package/lib/CompoundButton.js.map +1 -1
  8. package/lib/MenuButton.js.map +1 -1
  9. package/lib/SplitButton.js.map +1 -1
  10. package/lib/ToggleButton.js.map +1 -1
  11. package/lib/components/Button/Button.js.map +1 -1
  12. package/lib/components/Button/Button.types.js.map +1 -1
  13. package/lib/components/Button/index.js +1 -1
  14. package/lib/components/Button/index.js.map +1 -1
  15. package/lib/components/Button/renderButton.js.map +1 -1
  16. package/lib/components/Button/useButton.js +1 -3
  17. package/lib/components/Button/useButton.js.map +1 -1
  18. package/lib/components/Button/useButtonStyles.js +162 -115
  19. package/lib/components/Button/useButtonStyles.js.map +1 -1
  20. package/lib/components/CompoundButton/CompoundButton.js.map +1 -1
  21. package/lib/components/CompoundButton/CompoundButton.types.js.map +1 -1
  22. package/lib/components/CompoundButton/index.js +1 -1
  23. package/lib/components/CompoundButton/index.js.map +1 -1
  24. package/lib/components/CompoundButton/renderCompoundButton.js.map +1 -1
  25. package/lib/components/CompoundButton/useCompoundButton.js +7 -2
  26. package/lib/components/CompoundButton/useCompoundButton.js.map +1 -1
  27. package/lib/components/CompoundButton/useCompoundButtonStyles.js +72 -55
  28. package/lib/components/CompoundButton/useCompoundButtonStyles.js.map +1 -1
  29. package/lib/components/MenuButton/MenuButton.js +2 -1
  30. package/lib/components/MenuButton/MenuButton.js.map +1 -1
  31. package/lib/components/MenuButton/MenuButton.types.js.map +1 -1
  32. package/lib/components/MenuButton/index.js +1 -1
  33. package/lib/components/MenuButton/index.js.map +1 -1
  34. package/lib/components/MenuButton/renderMenuButton.js.map +1 -1
  35. package/lib/components/MenuButton/useMenuButton.js.map +1 -1
  36. package/lib/components/MenuButton/useMenuButtonStyles.js +34 -14
  37. package/lib/components/MenuButton/useMenuButtonStyles.js.map +1 -1
  38. package/lib/components/SplitButton/SplitButton.js +1 -1
  39. package/lib/components/SplitButton/SplitButton.js.map +1 -1
  40. package/lib/components/SplitButton/SplitButton.types.js.map +1 -1
  41. package/lib/components/SplitButton/index.js +1 -1
  42. package/lib/components/SplitButton/index.js.map +1 -1
  43. package/lib/components/SplitButton/renderSplitButton.js.map +1 -1
  44. package/lib/components/SplitButton/useSplitButton.js +17 -8
  45. package/lib/components/SplitButton/useSplitButton.js.map +1 -1
  46. package/lib/components/SplitButton/useSplitButtonStyles.js +37 -34
  47. package/lib/components/SplitButton/useSplitButtonStyles.js.map +1 -1
  48. package/lib/components/ToggleButton/ToggleButton.js.map +1 -1
  49. package/lib/components/ToggleButton/ToggleButton.types.js.map +1 -1
  50. package/lib/components/ToggleButton/index.js +1 -1
  51. package/lib/components/ToggleButton/index.js.map +1 -1
  52. package/lib/components/ToggleButton/renderToggleButton.js.map +1 -1
  53. package/lib/components/ToggleButton/useToggleButton.js +3 -41
  54. package/lib/components/ToggleButton/useToggleButton.js.map +1 -1
  55. package/lib/components/ToggleButton/useToggleButtonStyles.js +122 -61
  56. package/lib/components/ToggleButton/useToggleButtonStyles.js.map +1 -1
  57. package/lib/index.js +6 -5
  58. package/lib/index.js.map +1 -1
  59. package/lib/utils/index.js +2 -0
  60. package/lib/utils/index.js.map +1 -0
  61. package/lib/utils/useToggleState.js +37 -0
  62. package/lib/utils/useToggleState.js.map +1 -0
  63. package/lib-commonjs/Button.js.map +1 -1
  64. package/lib-commonjs/CompoundButton.js.map +1 -1
  65. package/lib-commonjs/MenuButton.js.map +1 -1
  66. package/lib-commonjs/SplitButton.js.map +1 -1
  67. package/lib-commonjs/ToggleButton.js.map +1 -1
  68. package/lib-commonjs/components/Button/Button.js.map +1 -1
  69. package/lib-commonjs/components/Button/Button.types.js.map +1 -1
  70. package/lib-commonjs/components/Button/index.js +3 -3
  71. package/lib-commonjs/components/Button/index.js.map +1 -1
  72. package/lib-commonjs/components/Button/renderButton.js.map +1 -1
  73. package/lib-commonjs/components/Button/useButton.js +1 -3
  74. package/lib-commonjs/components/Button/useButton.js.map +1 -1
  75. package/lib-commonjs/components/Button/useButtonStyles.js +164 -116
  76. package/lib-commonjs/components/Button/useButtonStyles.js.map +1 -1
  77. package/lib-commonjs/components/CompoundButton/CompoundButton.js.map +1 -1
  78. package/lib-commonjs/components/CompoundButton/CompoundButton.types.js.map +1 -1
  79. package/lib-commonjs/components/CompoundButton/index.js +3 -3
  80. package/lib-commonjs/components/CompoundButton/index.js.map +1 -1
  81. package/lib-commonjs/components/CompoundButton/renderCompoundButton.js.map +1 -1
  82. package/lib-commonjs/components/CompoundButton/useCompoundButton.js +7 -2
  83. package/lib-commonjs/components/CompoundButton/useCompoundButton.js.map +1 -1
  84. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js +74 -57
  85. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js.map +1 -1
  86. package/lib-commonjs/components/MenuButton/MenuButton.js +2 -1
  87. package/lib-commonjs/components/MenuButton/MenuButton.js.map +1 -1
  88. package/lib-commonjs/components/MenuButton/MenuButton.types.js.map +1 -1
  89. package/lib-commonjs/components/MenuButton/index.js +3 -3
  90. package/lib-commonjs/components/MenuButton/index.js.map +1 -1
  91. package/lib-commonjs/components/MenuButton/renderMenuButton.js.map +1 -1
  92. package/lib-commonjs/components/MenuButton/useMenuButton.js.map +1 -1
  93. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.js +36 -15
  94. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.js.map +1 -1
  95. package/lib-commonjs/components/SplitButton/SplitButton.js +1 -1
  96. package/lib-commonjs/components/SplitButton/SplitButton.js.map +1 -1
  97. package/lib-commonjs/components/SplitButton/SplitButton.types.js.map +1 -1
  98. package/lib-commonjs/components/SplitButton/index.js +3 -3
  99. package/lib-commonjs/components/SplitButton/index.js.map +1 -1
  100. package/lib-commonjs/components/SplitButton/renderSplitButton.js.map +1 -1
  101. package/lib-commonjs/components/SplitButton/useSplitButton.js +16 -7
  102. package/lib-commonjs/components/SplitButton/useSplitButton.js.map +1 -1
  103. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js +38 -35
  104. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js.map +1 -1
  105. package/lib-commonjs/components/ToggleButton/ToggleButton.js.map +1 -1
  106. package/lib-commonjs/components/ToggleButton/ToggleButton.types.js.map +1 -1
  107. package/lib-commonjs/components/ToggleButton/index.js +3 -3
  108. package/lib-commonjs/components/ToggleButton/index.js.map +1 -1
  109. package/lib-commonjs/components/ToggleButton/renderToggleButton.js.map +1 -1
  110. package/lib-commonjs/components/ToggleButton/useToggleButton.js +3 -42
  111. package/lib-commonjs/components/ToggleButton/useToggleButton.js.map +1 -1
  112. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js +127 -63
  113. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js.map +1 -1
  114. package/lib-commonjs/index.js +169 -6
  115. package/lib-commonjs/index.js.map +1 -1
  116. package/lib-commonjs/utils/index.js +10 -0
  117. package/lib-commonjs/utils/index.js.map +1 -0
  118. package/lib-commonjs/utils/useToggleState.js +48 -0
  119. package/lib-commonjs/utils/useToggleState.js.map +1 -0
  120. package/package.json +20 -22
  121. package/dist/demo/index.html +0 -71
  122. package/dist/demo/react-dom.development.js +0 -21413
  123. package/dist/demo/react.development.js +0 -3155
  124. package/lib/Button.d.ts +0 -1
  125. package/lib/CompoundButton.d.ts +0 -1
  126. package/lib/MenuButton.d.ts +0 -1
  127. package/lib/SplitButton.d.ts +0 -1
  128. package/lib/ToggleButton.d.ts +0 -1
  129. package/lib/components/Button/Button.d.ts +0 -6
  130. package/lib/components/Button/Button.types.d.ts +0 -62
  131. package/lib/components/Button/index.d.ts +0 -5
  132. package/lib/components/Button/renderButton.d.ts +0 -5
  133. package/lib/components/Button/useButton.d.ts +0 -8
  134. package/lib/components/Button/useButtonStyles.d.ts +0 -3
  135. package/lib/components/CompoundButton/CompoundButton.d.ts +0 -6
  136. package/lib/components/CompoundButton/CompoundButton.types.d.ts +0 -14
  137. package/lib/components/CompoundButton/index.d.ts +0 -5
  138. package/lib/components/CompoundButton/renderCompoundButton.d.ts +0 -5
  139. package/lib/components/CompoundButton/useCompoundButton.d.ts +0 -8
  140. package/lib/components/CompoundButton/useCompoundButtonStyles.d.ts +0 -3
  141. package/lib/components/MenuButton/MenuButton.d.ts +0 -6
  142. package/lib/components/MenuButton/MenuButton.types.d.ts +0 -10
  143. package/lib/components/MenuButton/index.d.ts +0 -5
  144. package/lib/components/MenuButton/renderMenuButton.d.ts +0 -5
  145. package/lib/components/MenuButton/useMenuButton.d.ts +0 -6
  146. package/lib/components/MenuButton/useMenuButtonStyles.d.ts +0 -3
  147. package/lib/components/SplitButton/SplitButton.d.ts +0 -7
  148. package/lib/components/SplitButton/SplitButton.types.d.ts +0 -21
  149. package/lib/components/SplitButton/index.d.ts +0 -5
  150. package/lib/components/SplitButton/renderSplitButton.d.ts +0 -5
  151. package/lib/components/SplitButton/useSplitButton.d.ts +0 -8
  152. package/lib/components/SplitButton/useSplitButtonStyles.d.ts +0 -3
  153. package/lib/components/ToggleButton/ToggleButton.d.ts +0 -6
  154. package/lib/components/ToggleButton/ToggleButton.types.d.ts +0 -20
  155. package/lib/components/ToggleButton/index.d.ts +0 -5
  156. package/lib/components/ToggleButton/renderToggleButton.d.ts +0 -1
  157. package/lib/components/ToggleButton/useToggleButton.d.ts +0 -9
  158. package/lib/components/ToggleButton/useToggleButtonStyles.d.ts +0 -3
  159. package/lib/index.d.ts +0 -5
  160. package/lib-commonjs/Button.d.ts +0 -1
  161. package/lib-commonjs/CompoundButton.d.ts +0 -1
  162. package/lib-commonjs/MenuButton.d.ts +0 -1
  163. package/lib-commonjs/SplitButton.d.ts +0 -1
  164. package/lib-commonjs/ToggleButton.d.ts +0 -1
  165. package/lib-commonjs/components/Button/Button.d.ts +0 -6
  166. package/lib-commonjs/components/Button/Button.types.d.ts +0 -62
  167. package/lib-commonjs/components/Button/index.d.ts +0 -5
  168. package/lib-commonjs/components/Button/renderButton.d.ts +0 -5
  169. package/lib-commonjs/components/Button/useButton.d.ts +0 -8
  170. package/lib-commonjs/components/Button/useButtonStyles.d.ts +0 -3
  171. package/lib-commonjs/components/CompoundButton/CompoundButton.d.ts +0 -6
  172. package/lib-commonjs/components/CompoundButton/CompoundButton.types.d.ts +0 -14
  173. package/lib-commonjs/components/CompoundButton/index.d.ts +0 -5
  174. package/lib-commonjs/components/CompoundButton/renderCompoundButton.d.ts +0 -5
  175. package/lib-commonjs/components/CompoundButton/useCompoundButton.d.ts +0 -8
  176. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.d.ts +0 -3
  177. package/lib-commonjs/components/MenuButton/MenuButton.d.ts +0 -6
  178. package/lib-commonjs/components/MenuButton/MenuButton.types.d.ts +0 -10
  179. package/lib-commonjs/components/MenuButton/index.d.ts +0 -5
  180. package/lib-commonjs/components/MenuButton/renderMenuButton.d.ts +0 -5
  181. package/lib-commonjs/components/MenuButton/useMenuButton.d.ts +0 -6
  182. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.d.ts +0 -3
  183. package/lib-commonjs/components/SplitButton/SplitButton.d.ts +0 -7
  184. package/lib-commonjs/components/SplitButton/SplitButton.types.d.ts +0 -21
  185. package/lib-commonjs/components/SplitButton/index.d.ts +0 -5
  186. package/lib-commonjs/components/SplitButton/renderSplitButton.d.ts +0 -5
  187. package/lib-commonjs/components/SplitButton/useSplitButton.d.ts +0 -8
  188. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.d.ts +0 -3
  189. package/lib-commonjs/components/ToggleButton/ToggleButton.d.ts +0 -6
  190. package/lib-commonjs/components/ToggleButton/ToggleButton.types.d.ts +0 -20
  191. package/lib-commonjs/components/ToggleButton/index.d.ts +0 -5
  192. package/lib-commonjs/components/ToggleButton/renderToggleButton.d.ts +0 -1
  193. package/lib-commonjs/components/ToggleButton/useToggleButton.d.ts +0 -9
  194. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.d.ts +0 -3
  195. package/lib-commonjs/index.d.ts +0 -5
package/lib/Button.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './components/Button/index';
@@ -1 +0,0 @@
1
- export * from './components/CompoundButton/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuButton/index';
@@ -1 +0,0 @@
1
- export * from './components/SplitButton/index';
@@ -1 +0,0 @@
1
- export * from './components/ToggleButton/index';
@@ -1,6 +0,0 @@
1
- import type { ButtonProps } from './Button.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * Buttons give people a way to trigger an action.
5
- */
6
- export declare const Button: ForwardRefComponent<ButtonProps>;
@@ -1,62 +0,0 @@
1
- import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
2
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
3
- export declare type ButtonSlots = {
4
- /**
5
- * Root of the component that renders as either a `<button>` tag or an `<a>` tag.
6
- */
7
- root: Slot<ARIAButtonSlotProps>;
8
- /**
9
- * Icon that renders either before or after the `children` as specified by the `iconPosition` prop.
10
- */
11
- icon?: Slot<'span'>;
12
- };
13
- export declare type ButtonCommons = {
14
- /**
15
- * A button can have its content and borders styled for greater emphasis or to be subtle.
16
- * - 'primary': Emphasizes the button as a primary action.
17
- * - 'outline': Removes background styling.
18
- * - 'subtle': Minimizes emphasis to blend into the background until hovered or focused.
19
- * - 'transparent': Removes background and border styling.
20
- */
21
- appearance?: 'primary' | 'outline' | 'subtle' | 'transparent';
22
- /**
23
- * A button can fill the width of its container.
24
- * @default false
25
- */
26
- block: boolean;
27
- /**
28
- * When set, allows the button to be focusable even when it has been disabled. This is used in scenarios where it
29
- * is important to keep a consistent tab order for screen reader and keyboard users. The primary example of this
30
- * pattern is when the disabled button is in a menu or a commandbar and is seldom used for standalone buttons.
31
- * @default false
32
- */
33
- disabledFocusable: boolean;
34
- /**
35
- * A button can show that it cannot be interacted with.
36
- * @default false
37
- */
38
- disabled: boolean;
39
- /**
40
- * A button can format its icon to appear before or after its content.
41
- * @default 'before'
42
- */
43
- iconPosition?: 'before' | 'after';
44
- /**
45
- * A button can be rounded, circular, or square.
46
- * @default 'rounded'
47
- */
48
- shape: 'rounded' | 'circular' | 'square';
49
- /**
50
- * A button supports different sizes.
51
- * @default 'medium'
52
- */
53
- size: 'small' | 'medium' | 'large';
54
- };
55
- export declare type ButtonProps = ComponentProps<ButtonSlots> & Partial<ButtonCommons>;
56
- export declare type ButtonState = ComponentState<ButtonSlots> & ButtonCommons & {
57
- /**
58
- * A button can contain only an icon.
59
- * @default false
60
- */
61
- iconOnly: boolean;
62
- };
@@ -1,5 +0,0 @@
1
- export * from './Button';
2
- export type { ButtonProps, ButtonSlots, ButtonState } from './Button.types';
3
- export * from './renderButton';
4
- export * from './useButton';
5
- export { buttonClassName, useButtonStyles_unstable } from './useButtonStyles';
@@ -1,5 +0,0 @@
1
- import type { ButtonState } from './Button.types';
2
- /**
3
- * Renders a Button component by passing the state defined props to the appropriate slots.
4
- */
5
- export declare const renderButton_unstable: (state: ButtonState) => JSX.Element;
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import type { ButtonProps, ButtonState } from './Button.types';
3
- /**
4
- * Given user props, defines default props for the Button, calls useButtonState, and returns processed state.
5
- * @param props - User provided props to the Button component.
6
- * @param ref - User provided ref to be passed to the Button component.
7
- */
8
- export declare const useButton_unstable: (props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) => ButtonState;
@@ -1,3 +0,0 @@
1
- import type { ButtonState } from './Button.types';
2
- export declare const buttonClassName = "fui-Button";
3
- export declare const useButtonStyles_unstable: (state: ButtonState) => ButtonState;
@@ -1,6 +0,0 @@
1
- import type { CompoundButtonProps } from './CompoundButton.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * CompoundButtons are buttons that can have secondary content that adds extra information to the user.
5
- */
6
- export declare const CompoundButton: ForwardRefComponent<CompoundButtonProps>;
@@ -1,14 +0,0 @@
1
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
- import type { ButtonCommons, ButtonSlots, ButtonState } from '../Button/Button.types';
3
- export declare type CompoundButtonSlots = ButtonSlots & {
4
- /**
5
- * Second line of text that describes the action this button takes.
6
- */
7
- secondaryContent?: Slot<'span'>;
8
- /**
9
- * Container that wraps the children and the secondaryContent slot.
10
- */
11
- contentContainer: NonNullable<Slot<'span'>>;
12
- };
13
- export declare type CompoundButtonProps = ComponentProps<Partial<CompoundButtonSlots>> & Partial<ButtonCommons>;
14
- export declare type CompoundButtonState = ComponentState<CompoundButtonSlots> & Omit<ButtonState, keyof ButtonSlots | 'components'>;
@@ -1,5 +0,0 @@
1
- export * from './CompoundButton';
2
- export * from './CompoundButton.types';
3
- export * from './renderCompoundButton';
4
- export * from './useCompoundButton';
5
- export { compoundButtonClassName, useCompoundButtonStyles_unstable } from './useCompoundButtonStyles';
@@ -1,5 +0,0 @@
1
- import type { CompoundButtonState } from './CompoundButton.types';
2
- /**
3
- * Renders a CompoundButton component by passing the state defined props to the appropriate slots.
4
- */
5
- export declare const renderCompoundButton_unstable: (state: CompoundButtonState) => JSX.Element;
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import type { CompoundButtonProps, CompoundButtonState } from './CompoundButton.types';
3
- /**
4
- * Given user props, defines default props for the CompoundButton, calls useButtonState, and returns processed state.
5
- * @param props - User provided props to the CompoundButton component.
6
- * @param ref - User provided ref to be passed to the CompoundButton component.
7
- */
8
- export declare const useCompoundButton_unstable: ({ contentContainer, secondaryContent, ...props }: CompoundButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) => CompoundButtonState;
@@ -1,3 +0,0 @@
1
- import type { CompoundButtonState } from './CompoundButton.types';
2
- export declare const compoundButtonClassName = "fui-CompoundButton";
3
- export declare const useCompoundButtonStyles_unstable: (state: CompoundButtonState) => CompoundButtonState;
@@ -1,6 +0,0 @@
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>;
@@ -1,10 +0,0 @@
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'>;
@@ -1,5 +0,0 @@
1
- export * from './MenuButton.types';
2
- export * from './MenuButton';
3
- export * from './renderMenuButton';
4
- export * from './useMenuButton';
5
- export { menuButtonClassName, useMenuButtonStyles_unstable } from './useMenuButtonStyles';
@@ -1,5 +0,0 @@
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;
@@ -1,6 +0,0 @@
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;
@@ -1,3 +0,0 @@
1
- import type { MenuButtonState } from './MenuButton.types';
2
- export declare const menuButtonClassName = "fui-MenuButton";
3
- export declare const useMenuButtonStyles_unstable: (state: MenuButtonState) => MenuButtonState;
@@ -1,7 +0,0 @@
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>;
@@ -1,21 +0,0 @@
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'>;
@@ -1,5 +0,0 @@
1
- export * from './SplitButton';
2
- export * from './SplitButton.types';
3
- export * from './renderSplitButton';
4
- export * from './useSplitButton';
5
- export { splitButtonClassName, useSplitButtonStyles_unstable } from './useSplitButtonStyles';
@@ -1,5 +0,0 @@
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;
@@ -1,8 +0,0 @@
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;
@@ -1,3 +0,0 @@
1
- import type { SplitButtonState } from './SplitButton.types';
2
- export declare const splitButtonClassName = "fui-SplitButton";
3
- export declare const useSplitButtonStyles_unstable: (state: SplitButtonState) => SplitButtonState;
@@ -1,6 +0,0 @@
1
- import type { ToggleButtonProps } from './ToggleButton.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * ToggleButtons are buttons that toggle between two defined states when triggered.
5
- */
6
- export declare const ToggleButton: ForwardRefComponent<ToggleButtonProps>;
@@ -1,20 +0,0 @@
1
- import type { ButtonProps, ButtonState } from '../Button/Button.types';
2
- declare type ToggleButtonCommons = {
3
- /**
4
- * Defines the controlled checked state of the `ToggleButton`.
5
- * If passed, `ToggleButton` ignores the `defaultChecked` property.
6
- * 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
7
- * correct value based on handling `onClick` events and re-rendering.
8
- * @default false
9
- */
10
- checked: boolean;
11
- };
12
- export declare type ToggleButtonProps = ButtonProps & Partial<ToggleButtonCommons> & {
13
- /**
14
- * Defines whether the `ToggleButton` is initially in a checked state or not when rendered.
15
- * @default false
16
- */
17
- defaultChecked?: boolean;
18
- };
19
- export declare type ToggleButtonState = ButtonState & ToggleButtonCommons;
20
- export {};
@@ -1,5 +0,0 @@
1
- export * from './ToggleButton';
2
- export * from './ToggleButton.types';
3
- export * from './renderToggleButton';
4
- export * from './useToggleButton';
5
- export { toggleButtonClassName, useToggleButtonStyles_unstable } from './useToggleButtonStyles';
@@ -1 +0,0 @@
1
- export { renderButton_unstable as renderToggleButton_unstable } from '../Button/renderButton';
@@ -1,9 +0,0 @@
1
- import * as React from 'react';
2
- import type { ToggleButtonProps, ToggleButtonState } from './ToggleButton.types';
3
- /**
4
- * Given user props, defines default props for the ToggleButton, calls useButtonState and useChecked, and returns
5
- * processed state.
6
- * @param props - User provided props to the ToggleButton component.
7
- * @param ref - User provided ref to be passed to the ToggleButton component.
8
- */
9
- export declare const useToggleButton_unstable: ({ checked, defaultChecked, ...props }: ToggleButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) => ToggleButtonState;
@@ -1,3 +0,0 @@
1
- import type { ToggleButtonState } from './ToggleButton.types';
2
- export declare const toggleButtonClassName = "fui-ToggleButton";
3
- export declare const useToggleButtonStyles_unstable: (state: ToggleButtonState) => ToggleButtonState;
package/lib/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export * from './Button';
2
- export * from './CompoundButton';
3
- export * from './MenuButton';
4
- export * from './SplitButton';
5
- export * from './ToggleButton';
@@ -1 +0,0 @@
1
- export * from './components/Button/index';
@@ -1 +0,0 @@
1
- export * from './components/CompoundButton/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuButton/index';
@@ -1 +0,0 @@
1
- export * from './components/SplitButton/index';
@@ -1 +0,0 @@
1
- export * from './components/ToggleButton/index';
@@ -1,6 +0,0 @@
1
- import type { ButtonProps } from './Button.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * Buttons give people a way to trigger an action.
5
- */
6
- export declare const Button: ForwardRefComponent<ButtonProps>;
@@ -1,62 +0,0 @@
1
- import type { ARIAButtonSlotProps } from '@fluentui/react-aria';
2
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
3
- export declare type ButtonSlots = {
4
- /**
5
- * Root of the component that renders as either a `<button>` tag or an `<a>` tag.
6
- */
7
- root: Slot<ARIAButtonSlotProps>;
8
- /**
9
- * Icon that renders either before or after the `children` as specified by the `iconPosition` prop.
10
- */
11
- icon?: Slot<'span'>;
12
- };
13
- export declare type ButtonCommons = {
14
- /**
15
- * A button can have its content and borders styled for greater emphasis or to be subtle.
16
- * - 'primary': Emphasizes the button as a primary action.
17
- * - 'outline': Removes background styling.
18
- * - 'subtle': Minimizes emphasis to blend into the background until hovered or focused.
19
- * - 'transparent': Removes background and border styling.
20
- */
21
- appearance?: 'primary' | 'outline' | 'subtle' | 'transparent';
22
- /**
23
- * A button can fill the width of its container.
24
- * @default false
25
- */
26
- block: boolean;
27
- /**
28
- * When set, allows the button to be focusable even when it has been disabled. This is used in scenarios where it
29
- * is important to keep a consistent tab order for screen reader and keyboard users. The primary example of this
30
- * pattern is when the disabled button is in a menu or a commandbar and is seldom used for standalone buttons.
31
- * @default false
32
- */
33
- disabledFocusable: boolean;
34
- /**
35
- * A button can show that it cannot be interacted with.
36
- * @default false
37
- */
38
- disabled: boolean;
39
- /**
40
- * A button can format its icon to appear before or after its content.
41
- * @default 'before'
42
- */
43
- iconPosition?: 'before' | 'after';
44
- /**
45
- * A button can be rounded, circular, or square.
46
- * @default 'rounded'
47
- */
48
- shape: 'rounded' | 'circular' | 'square';
49
- /**
50
- * A button supports different sizes.
51
- * @default 'medium'
52
- */
53
- size: 'small' | 'medium' | 'large';
54
- };
55
- export declare type ButtonProps = ComponentProps<ButtonSlots> & Partial<ButtonCommons>;
56
- export declare type ButtonState = ComponentState<ButtonSlots> & ButtonCommons & {
57
- /**
58
- * A button can contain only an icon.
59
- * @default false
60
- */
61
- iconOnly: boolean;
62
- };
@@ -1,5 +0,0 @@
1
- export * from './Button';
2
- export type { ButtonProps, ButtonSlots, ButtonState } from './Button.types';
3
- export * from './renderButton';
4
- export * from './useButton';
5
- export { buttonClassName, useButtonStyles_unstable } from './useButtonStyles';
@@ -1,5 +0,0 @@
1
- import type { ButtonState } from './Button.types';
2
- /**
3
- * Renders a Button component by passing the state defined props to the appropriate slots.
4
- */
5
- export declare const renderButton_unstable: (state: ButtonState) => JSX.Element;
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import type { ButtonProps, ButtonState } from './Button.types';
3
- /**
4
- * Given user props, defines default props for the Button, calls useButtonState, and returns processed state.
5
- * @param props - User provided props to the Button component.
6
- * @param ref - User provided ref to be passed to the Button component.
7
- */
8
- export declare const useButton_unstable: (props: ButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) => ButtonState;
@@ -1,3 +0,0 @@
1
- import type { ButtonState } from './Button.types';
2
- export declare const buttonClassName = "fui-Button";
3
- export declare const useButtonStyles_unstable: (state: ButtonState) => ButtonState;
@@ -1,6 +0,0 @@
1
- import type { CompoundButtonProps } from './CompoundButton.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * CompoundButtons are buttons that can have secondary content that adds extra information to the user.
5
- */
6
- export declare const CompoundButton: ForwardRefComponent<CompoundButtonProps>;
@@ -1,14 +0,0 @@
1
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
- import type { ButtonCommons, ButtonSlots, ButtonState } from '../Button/Button.types';
3
- export declare type CompoundButtonSlots = ButtonSlots & {
4
- /**
5
- * Second line of text that describes the action this button takes.
6
- */
7
- secondaryContent?: Slot<'span'>;
8
- /**
9
- * Container that wraps the children and the secondaryContent slot.
10
- */
11
- contentContainer: NonNullable<Slot<'span'>>;
12
- };
13
- export declare type CompoundButtonProps = ComponentProps<Partial<CompoundButtonSlots>> & Partial<ButtonCommons>;
14
- export declare type CompoundButtonState = ComponentState<CompoundButtonSlots> & Omit<ButtonState, keyof ButtonSlots | 'components'>;
@@ -1,5 +0,0 @@
1
- export * from './CompoundButton';
2
- export * from './CompoundButton.types';
3
- export * from './renderCompoundButton';
4
- export * from './useCompoundButton';
5
- export { compoundButtonClassName, useCompoundButtonStyles_unstable } from './useCompoundButtonStyles';
@@ -1,5 +0,0 @@
1
- import type { CompoundButtonState } from './CompoundButton.types';
2
- /**
3
- * Renders a CompoundButton component by passing the state defined props to the appropriate slots.
4
- */
5
- export declare const renderCompoundButton_unstable: (state: CompoundButtonState) => JSX.Element;
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import type { CompoundButtonProps, CompoundButtonState } from './CompoundButton.types';
3
- /**
4
- * Given user props, defines default props for the CompoundButton, calls useButtonState, and returns processed state.
5
- * @param props - User provided props to the CompoundButton component.
6
- * @param ref - User provided ref to be passed to the CompoundButton component.
7
- */
8
- export declare const useCompoundButton_unstable: ({ contentContainer, secondaryContent, ...props }: CompoundButtonProps, ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>) => CompoundButtonState;
@@ -1,3 +0,0 @@
1
- import type { CompoundButtonState } from './CompoundButton.types';
2
- export declare const compoundButtonClassName = "fui-CompoundButton";
3
- export declare const useCompoundButtonStyles_unstable: (state: CompoundButtonState) => CompoundButtonState;
@@ -1,6 +0,0 @@
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>;
@@ -1,10 +0,0 @@
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'>;
@@ -1,5 +0,0 @@
1
- export * from './MenuButton.types';
2
- export * from './MenuButton';
3
- export * from './renderMenuButton';
4
- export * from './useMenuButton';
5
- export { menuButtonClassName, useMenuButtonStyles_unstable } from './useMenuButtonStyles';
@@ -1,5 +0,0 @@
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;
@@ -1,6 +0,0 @@
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;
@@ -1,3 +0,0 @@
1
- import type { MenuButtonState } from './MenuButton.types';
2
- export declare const menuButtonClassName = "fui-MenuButton";
3
- export declare const useMenuButtonStyles_unstable: (state: MenuButtonState) => MenuButtonState;
@@ -1,7 +0,0 @@
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>;
@@ -1,21 +0,0 @@
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'>;
@@ -1,5 +0,0 @@
1
- export * from './SplitButton';
2
- export * from './SplitButton.types';
3
- export * from './renderSplitButton';
4
- export * from './useSplitButton';
5
- export { splitButtonClassName, useSplitButtonStyles_unstable } from './useSplitButtonStyles';
@@ -1,5 +0,0 @@
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;
@@ -1,8 +0,0 @@
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;