@fluentui/react-button 9.7.0 → 9.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/CHANGELOG.md +33 -2
  2. package/dist/index.d.ts +3 -3
  3. package/lib/Button.js +1 -1
  4. package/lib/Button.js.map +1 -1
  5. package/lib/CompoundButton.js +1 -1
  6. package/lib/CompoundButton.js.map +1 -1
  7. package/lib/MenuButton.js +1 -1
  8. package/lib/MenuButton.js.map +1 -1
  9. package/lib/SplitButton.js +1 -1
  10. package/lib/SplitButton.js.map +1 -1
  11. package/lib/ToggleButton.js +1 -1
  12. package/lib/ToggleButton.js.map +1 -1
  13. package/lib/components/Button/Button.types.js.map +1 -1
  14. package/lib/components/Button/index.js +1 -0
  15. package/lib/components/Button/index.js.map +1 -1
  16. package/lib/components/Button/useButton.js +4 -22
  17. package/lib/components/Button/useButton.js.map +1 -1
  18. package/lib/components/Button/useButtonBase.js +34 -0
  19. package/lib/components/Button/useButtonBase.js.map +1 -0
  20. package/lib/components/CompoundButton/CompoundButton.types.js.map +1 -1
  21. package/lib/components/CompoundButton/index.js +1 -0
  22. package/lib/components/CompoundButton/index.js.map +1 -1
  23. package/lib/components/CompoundButton/useCompoundButton.js +11 -23
  24. package/lib/components/CompoundButton/useCompoundButton.js.map +1 -1
  25. package/lib/components/CompoundButton/useCompoundButtonBase.js +31 -0
  26. package/lib/components/CompoundButton/useCompoundButtonBase.js.map +1 -0
  27. package/lib/components/MenuButton/MenuButton.types.js.map +1 -1
  28. package/lib/components/MenuButton/index.js +1 -0
  29. package/lib/components/MenuButton/index.js.map +1 -1
  30. package/lib/components/MenuButton/useMenuButton.js +14 -23
  31. package/lib/components/MenuButton/useMenuButton.js.map +1 -1
  32. package/lib/components/MenuButton/useMenuButtonBase.js +27 -0
  33. package/lib/components/MenuButton/useMenuButtonBase.js.map +1 -0
  34. package/lib/components/SplitButton/SplitButton.types.js.map +1 -1
  35. package/lib/components/SplitButton/index.js +1 -0
  36. package/lib/components/SplitButton/index.js.map +1 -1
  37. package/lib/components/SplitButton/useSplitButton.js +16 -53
  38. package/lib/components/SplitButton/useSplitButton.js.map +1 -1
  39. package/lib/components/SplitButton/useSplitButtonBase.js +57 -0
  40. package/lib/components/SplitButton/useSplitButtonBase.js.map +1 -0
  41. package/lib/components/ToggleButton/ToggleButton.types.js.map +1 -1
  42. package/lib/components/ToggleButton/index.js +1 -0
  43. package/lib/components/ToggleButton/index.js.map +1 -1
  44. package/lib/components/ToggleButton/useToggleButton.js +13 -5
  45. package/lib/components/ToggleButton/useToggleButton.js.map +1 -1
  46. package/lib/components/ToggleButton/useToggleButtonBase.js +13 -0
  47. package/lib/components/ToggleButton/useToggleButtonBase.js.map +1 -0
  48. package/lib/index.js +11 -0
  49. package/lib/index.js.map +1 -1
  50. package/lib-commonjs/Button.js +3 -0
  51. package/lib-commonjs/Button.js.map +1 -1
  52. package/lib-commonjs/CompoundButton.js +3 -0
  53. package/lib-commonjs/CompoundButton.js.map +1 -1
  54. package/lib-commonjs/MenuButton.js +3 -0
  55. package/lib-commonjs/MenuButton.js.map +1 -1
  56. package/lib-commonjs/SplitButton.js +3 -0
  57. package/lib-commonjs/SplitButton.js.map +1 -1
  58. package/lib-commonjs/ToggleButton.js +3 -0
  59. package/lib-commonjs/ToggleButton.js.map +1 -1
  60. package/lib-commonjs/components/Button/Button.types.js.map +1 -1
  61. package/lib-commonjs/components/Button/index.js +4 -0
  62. package/lib-commonjs/components/Button/index.js.map +1 -1
  63. package/lib-commonjs/components/Button/useButton.js +4 -22
  64. package/lib-commonjs/components/Button/useButton.js.map +1 -1
  65. package/lib-commonjs/components/Button/useButtonBase.js +41 -0
  66. package/lib-commonjs/components/Button/useButtonBase.js.map +1 -0
  67. package/lib-commonjs/components/CompoundButton/CompoundButton.types.js.map +1 -1
  68. package/lib-commonjs/components/CompoundButton/index.js +4 -0
  69. package/lib-commonjs/components/CompoundButton/index.js.map +1 -1
  70. package/lib-commonjs/components/CompoundButton/useCompoundButton.js +11 -23
  71. package/lib-commonjs/components/CompoundButton/useCompoundButton.js.map +1 -1
  72. package/lib-commonjs/components/CompoundButton/useCompoundButtonBase.js +38 -0
  73. package/lib-commonjs/components/CompoundButton/useCompoundButtonBase.js.map +1 -0
  74. package/lib-commonjs/components/MenuButton/MenuButton.types.js.map +1 -1
  75. package/lib-commonjs/components/MenuButton/index.js +4 -0
  76. package/lib-commonjs/components/MenuButton/index.js.map +1 -1
  77. package/lib-commonjs/components/MenuButton/useMenuButton.js +14 -23
  78. package/lib-commonjs/components/MenuButton/useMenuButton.js.map +1 -1
  79. package/lib-commonjs/components/MenuButton/useMenuButtonBase.js +36 -0
  80. package/lib-commonjs/components/MenuButton/useMenuButtonBase.js.map +1 -0
  81. package/lib-commonjs/components/SplitButton/SplitButton.types.js.map +1 -1
  82. package/lib-commonjs/components/SplitButton/index.js +4 -0
  83. package/lib-commonjs/components/SplitButton/index.js.map +1 -1
  84. package/lib-commonjs/components/SplitButton/useSplitButton.js +16 -53
  85. package/lib-commonjs/components/SplitButton/useSplitButton.js.map +1 -1
  86. package/lib-commonjs/components/SplitButton/useSplitButtonBase.js +64 -0
  87. package/lib-commonjs/components/SplitButton/useSplitButtonBase.js.map +1 -0
  88. package/lib-commonjs/components/ToggleButton/ToggleButton.types.js.map +1 -1
  89. package/lib-commonjs/components/ToggleButton/index.js +4 -0
  90. package/lib-commonjs/components/ToggleButton/index.js.map +1 -1
  91. package/lib-commonjs/components/ToggleButton/useToggleButton.js +12 -4
  92. package/lib-commonjs/components/ToggleButton/useToggleButton.js.map +1 -1
  93. package/lib-commonjs/components/ToggleButton/useToggleButtonBase.js +19 -0
  94. package/lib-commonjs/components/ToggleButton/useToggleButtonBase.js.map +1 -0
  95. package/lib-commonjs/index.js +11 -0
  96. package/lib-commonjs/index.js.map +1 -1
  97. package/package.json +7 -14
  98. package/lib/components/Button/useButtonStyles.styles.headless.js +0 -36
  99. package/lib/components/Button/useButtonStyles.styles.headless.js.map +0 -1
  100. package/lib/components/Button/useButtonStyles.styles.raw.headless.js +0 -36
  101. package/lib/components/Button/useButtonStyles.styles.raw.headless.js.map +0 -1
  102. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.headless.js +0 -49
  103. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.headless.js.map +0 -1
  104. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js +0 -49
  105. package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js.map +0 -1
  106. package/lib/components/MenuButton/useMenuButtonStyles.styles.headless.js +0 -44
  107. package/lib/components/MenuButton/useMenuButtonStyles.styles.headless.js.map +0 -1
  108. package/lib/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js +0 -44
  109. package/lib/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js.map +0 -1
  110. package/lib/components/SplitButton/useSplitButtonStyles.styles.headless.js +0 -39
  111. package/lib/components/SplitButton/useSplitButtonStyles.styles.headless.js.map +0 -1
  112. package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js +0 -39
  113. package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js.map +0 -1
  114. package/lib/components/ToggleButton/useToggleButtonStyles.styles.headless.js +0 -36
  115. package/lib/components/ToggleButton/useToggleButtonStyles.styles.headless.js.map +0 -1
  116. package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js +0 -36
  117. package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js.map +0 -1
  118. package/lib-commonjs/components/Button/useButtonStyles.styles.headless.js +0 -52
  119. package/lib-commonjs/components/Button/useButtonStyles.styles.headless.js.map +0 -1
  120. package/lib-commonjs/components/Button/useButtonStyles.styles.raw.headless.js +0 -52
  121. package/lib-commonjs/components/Button/useButtonStyles.styles.raw.headless.js.map +0 -1
  122. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.headless.js +0 -64
  123. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.headless.js.map +0 -1
  124. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js +0 -64
  125. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js.map +0 -1
  126. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.headless.js +0 -60
  127. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.headless.js.map +0 -1
  128. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js +0 -60
  129. package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js.map +0 -1
  130. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.headless.js +0 -55
  131. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.headless.js.map +0 -1
  132. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js +0 -55
  133. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js.map +0 -1
  134. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.headless.js +0 -52
  135. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.headless.js.map +0 -1
  136. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js +0 -52
  137. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js.map +0 -1
@@ -11,28 +11,16 @@ Object.defineProperty(exports, "useCompoundButton_unstable", {
11
11
  });
12
12
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
13
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
- const _reactutilities = require("@fluentui/react-utilities");
15
- const _index = require("../Button/index");
16
- const useCompoundButton_unstable = ({ contentContainer, secondaryContent, ...props }, ref)=>{
17
- var _state_icon, _state_secondaryContent;
18
- const state = {
19
- // Button state
20
- ...(0, _index.useButton_unstable)(props, ref),
21
- // Slots definition
22
- components: {
23
- root: 'button',
24
- icon: 'span',
25
- contentContainer: 'span',
26
- secondaryContent: 'span'
27
- },
28
- contentContainer: _reactutilities.slot.always(contentContainer, {
29
- elementType: 'span'
30
- }),
31
- secondaryContent: _reactutilities.slot.optional(secondaryContent, {
32
- elementType: 'span'
33
- })
14
+ const _useCompoundButtonBase = require("./useCompoundButtonBase");
15
+ const _contexts = require("../../contexts");
16
+ const useCompoundButton_unstable = (props, ref)=>{
17
+ const { size: contextSize } = (0, _contexts.useButtonContext)();
18
+ const { appearance = 'secondary', shape = 'rounded', size = contextSize !== null && contextSize !== void 0 ? contextSize : 'medium' } = props;
19
+ const state = (0, _useCompoundButtonBase.useCompoundButtonBase_unstable)(props, ref);
20
+ return {
21
+ appearance,
22
+ size,
23
+ shape,
24
+ ...state
34
25
  };
35
- // Recalculate iconOnly to take into account secondaryContent.
36
- state.iconOnly = Boolean(((_state_icon = state.icon) === null || _state_icon === void 0 ? void 0 : _state_icon.children) && !props.children && !((_state_secondaryContent = state.secondaryContent) === null || _state_secondaryContent === void 0 ? void 0 : _state_secondaryContent.children));
37
- return state;
38
26
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/CompoundButton/useCompoundButton.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { useButton_unstable } from '../Button/index';\nimport type { CompoundButtonProps, CompoundButtonState } from './CompoundButton.types';\n\n/**\n * Given user props, defines default props for the CompoundButton, calls useButtonState, and returns processed state.\n * @param props - User provided props to the CompoundButton component.\n * @param ref - User provided ref to be passed to the CompoundButton component.\n */\nexport const useCompoundButton_unstable = (\n { contentContainer, secondaryContent, ...props }: CompoundButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): CompoundButtonState => {\n const state: CompoundButtonState = {\n // Button state\n ...useButton_unstable(props, ref),\n\n // Slots definition\n components: {\n root: 'button',\n icon: 'span',\n contentContainer: 'span',\n secondaryContent: 'span',\n },\n contentContainer: slot.always(contentContainer, { elementType: 'span' }),\n secondaryContent: slot.optional(secondaryContent, { elementType: 'span' }),\n };\n\n // Recalculate iconOnly to take into account secondaryContent.\n state.iconOnly = Boolean(state.icon?.children && !props.children && !state.secondaryContent?.children);\n\n return state;\n};\n"],"names":["React","slot","useButton_unstable","useCompoundButton_unstable","contentContainer","secondaryContent","props","ref","state","components","root","icon","always","elementType","optional","iconOnly","Boolean","children"],"mappings":"AAAA;;;;;+BAYaG;;;;;;;iEAVU,QAAQ;gCACV,4BAA4B;uBACd,kBAAkB;AAQ9C,mCAAmC,CACxC,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAE,GAAGC,OAA4B,EACrEC;QAkByBC,aAA4CA;IAhBrE,MAAMA,QAA6B;QACjC,eAAe;QACf,OAAGN,yBAAAA,EAAmBI,OAAOC,IAAI;QAEjC,mBAAmB;QACnBE,YAAY;YACVC,MAAM;YACNC,MAAM;YACNP,kBAAkB;YAClBC,kBAAkB;QACpB;QACAD,kBAAkBH,oBAAAA,CAAKW,MAAM,CAACR,kBAAkB;YAAES,aAAa;QAAO;QACtER,kBAAkBJ,oBAAAA,CAAKa,QAAQ,CAACT,kBAAkB;YAAEQ,aAAa;QAAO;IAC1E;IAEA,8DAA8D;IAC9DL,MAAMO,QAAQ,GAAGC,QAAQR,CAAAA,CAAAA,cAAAA,MAAMG,IAAAA,AAAI,MAAA,QAAVH,gBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,YAAYS,QAAAA,AAAQ,KAAI,CAACX,MAAMW,QAAQ,IAAI,CAAA,CAAA,CAACT,0BAAAA,MAAMH,gBAAAA,AAAgB,MAAA,QAAtBG,4BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,wBAAwBS,QAAAA,AAAQ;IAErG,OAAOT;AACT,EAAE"}
1
+ {"version":3,"sources":["../src/components/CompoundButton/useCompoundButton.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { CompoundButtonProps, CompoundButtonState } from './CompoundButton.types';\nimport { useCompoundButtonBase_unstable } from './useCompoundButtonBase';\nimport { useButtonContext } from '../../contexts';\n\n/**\n * Given user props, defines default props for the CompoundButton, calls useButtonState, and returns processed state.\n * @param props - User provided props to the CompoundButton component.\n * @param ref - User provided ref to be passed to the CompoundButton component.\n */\nexport const useCompoundButton_unstable = (\n props: CompoundButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): CompoundButtonState => {\n const { size: contextSize } = useButtonContext();\n const { appearance = 'secondary', shape = 'rounded', size = contextSize ?? 'medium' } = props;\n const state = useCompoundButtonBase_unstable(props, ref);\n\n return {\n appearance,\n size,\n shape,\n ...state,\n };\n};\n"],"names":["React","useCompoundButtonBase_unstable","useButtonContext","useCompoundButton_unstable","props","ref","size","contextSize","appearance","shape","state"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;uCAEgB,0BAA0B;0BACxC,iBAAiB;AAO3C,MAAMG,6BAA6B,CACxCC,OACAC;IAEA,MAAM,EAAEC,MAAMC,WAAW,EAAE,OAAGL,0BAAAA;IAC9B,MAAM,EAAEM,aAAa,WAAW,EAAEC,QAAQ,SAAS,EAAEH,OAAOC,gBAAAA,QAAAA,gBAAAA,KAAAA,IAAAA,cAAe,QAAQ,EAAE,GAAGH;IACxF,MAAMM,YAAQT,qDAAAA,EAA+BG,OAAOC;IAEpD,OAAO;QACLG;QACAF;QACAG;QACA,GAAGC,KAAK;IACV;AACF,EAAE"}
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useCompoundButtonBase_unstable", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return useCompoundButtonBase_unstable;
10
+ }
11
+ });
12
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
+ const _reactutilities = require("@fluentui/react-utilities");
15
+ const _index = require("../Button/index");
16
+ const useCompoundButtonBase_unstable = ({ contentContainer, secondaryContent, ...props }, ref)=>{
17
+ var _state_icon, _state_secondaryContent;
18
+ const state = {
19
+ // Button state
20
+ ...(0, _index.useButtonBase_unstable)(props, ref),
21
+ // Slots definition
22
+ components: {
23
+ root: 'button',
24
+ icon: 'span',
25
+ contentContainer: 'span',
26
+ secondaryContent: 'span'
27
+ },
28
+ contentContainer: _reactutilities.slot.always(contentContainer, {
29
+ elementType: 'span'
30
+ }),
31
+ secondaryContent: _reactutilities.slot.optional(secondaryContent, {
32
+ elementType: 'span'
33
+ })
34
+ };
35
+ // Recalculate iconOnly to take into account secondaryContent.
36
+ state.iconOnly = Boolean(((_state_icon = state.icon) === null || _state_icon === void 0 ? void 0 : _state_icon.children) && !props.children && !((_state_secondaryContent = state.secondaryContent) === null || _state_secondaryContent === void 0 ? void 0 : _state_secondaryContent.children));
37
+ return state;
38
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/CompoundButton/useCompoundButtonBase.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { useButtonBase_unstable } from '../Button/index';\nimport type { CompoundButtonBaseProps, CompoundButtonBaseState } from './CompoundButton.types';\n\n/**\n * Given user props, defines default props for the CompoundButton, calls useButtonState, and returns processed state.\n * @param props - User provided props to the CompoundButton component.\n * @param ref - User provided ref to be passed to the CompoundButton component.\n */\nexport const useCompoundButtonBase_unstable = (\n { contentContainer, secondaryContent, ...props }: CompoundButtonBaseProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): CompoundButtonBaseState => {\n const state: CompoundButtonBaseState = {\n // Button state\n ...useButtonBase_unstable(props, ref),\n\n // Slots definition\n components: {\n root: 'button',\n icon: 'span',\n contentContainer: 'span',\n secondaryContent: 'span',\n },\n contentContainer: slot.always(contentContainer, { elementType: 'span' }),\n secondaryContent: slot.optional(secondaryContent, { elementType: 'span' }),\n };\n\n // Recalculate iconOnly to take into account secondaryContent.\n state.iconOnly = Boolean(state.icon?.children && !props.children && !state.secondaryContent?.children);\n\n return state;\n};\n"],"names":["React","slot","useButtonBase_unstable","useCompoundButtonBase_unstable","contentContainer","secondaryContent","props","ref","state","components","root","icon","always","elementType","optional","iconOnly","Boolean","children"],"mappings":"AAAA;;;;;+BAYaG;;;;;;;iEAVU,QAAQ;gCACV,4BAA4B;uBACV,kBAAkB;AAQlD,uCAAuC,CAC5C,EAAEC,gBAAgB,EAAEC,gBAAgB,EAAE,GAAGC,OAAgC,EACzEC;QAkByBC,aAA4CA;IAhBrE,MAAMA,QAAiC;QACrC,eAAe;QACf,OAAGN,6BAAAA,EAAuBI,OAAOC,IAAI;QAErC,mBAAmB;QACnBE,YAAY;YACVC,MAAM;YACNC,MAAM;YACNP,kBAAkB;YAClBC,kBAAkB;QACpB;QACAD,kBAAkBH,oBAAAA,CAAKW,MAAM,CAACR,kBAAkB;YAAES,aAAa;QAAO;QACtER,kBAAkBJ,oBAAAA,CAAKa,QAAQ,CAACT,kBAAkB;YAAEQ,aAAa;QAAO;IAC1E;IAEA,8DAA8D;IAC9DL,MAAMO,QAAQ,GAAGC,QAAQR,CAAAA,CAAAA,cAAAA,MAAMG,IAAAA,AAAI,MAAA,QAAVH,gBAAAA,KAAAA,IAAAA,KAAAA,IAAAA,YAAYS,QAAAA,AAAQ,KAAI,CAACX,MAAMW,QAAQ,IAAI,CAAA,CAAA,CAACT,0BAAAA,MAAMH,gBAAAA,AAAgB,MAAA,QAAtBG,4BAAAA,KAAAA,IAAAA,KAAAA,IAAAA,wBAAwBS,QAAAA,AAAQ;IAErG,OAAOT;AACT,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/MenuButton/MenuButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ButtonProps, 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> &\n Pick<ButtonProps, 'appearance' | 'disabledFocusable' | 'disabled' | 'shape' | 'size'>;\n\nexport type MenuButtonState = ComponentState<MenuButtonSlots> &\n Omit<ButtonState, keyof ButtonSlots | 'components' | 'iconPosition'>;\n"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../src/components/MenuButton/MenuButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, DistributiveOmit, Slot } from '@fluentui/react-utilities';\nimport type { ButtonDesignPropNames, ButtonProps, 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> &\n Pick<ButtonProps, 'appearance' | 'disabledFocusable' | 'disabled' | 'shape' | 'size'>;\n\nexport type MenuButtonBaseProps = DistributiveOmit<MenuButtonProps, ButtonDesignPropNames>;\nexport type MenuButtonState = ComponentState<MenuButtonSlots> &\n Omit<ButtonState, keyof ButtonSlots | 'components' | 'iconPosition'>;\n\nexport type MenuButtonBaseState = DistributiveOmit<MenuButtonState, ButtonDesignPropNames>;\n"],"names":[],"mappings":""}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  renderMenuButton_unstable: function() {
19
19
  return _renderMenuButton.renderMenuButton_unstable;
20
20
  },
21
+ useMenuButtonBase_unstable: function() {
22
+ return _useMenuButtonBase.useMenuButtonBase_unstable;
23
+ },
21
24
  useMenuButtonStyles_unstable: function() {
22
25
  return _useMenuButtonStylesstyles.useMenuButtonStyles_unstable;
23
26
  },
@@ -28,4 +31,5 @@ _export(exports, {
28
31
  const _MenuButton = require("./MenuButton");
29
32
  const _renderMenuButton = require("./renderMenuButton");
30
33
  const _useMenuButton = require("./useMenuButton");
34
+ const _useMenuButtonBase = require("./useMenuButtonBase");
31
35
  const _useMenuButtonStylesstyles = require("./useMenuButtonStyles.styles");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/MenuButton/index.ts"],"sourcesContent":["export type { MenuButtonProps, MenuButtonSlots, MenuButtonState } from './MenuButton.types';\nexport { MenuButton } from './MenuButton';\nexport { renderMenuButton_unstable } from './renderMenuButton';\nexport { useMenuButton_unstable } from './useMenuButton';\nexport { menuButtonClassNames, useMenuButtonStyles_unstable } from './useMenuButtonStyles.styles';\n"],"names":["MenuButton","renderMenuButton_unstable","useMenuButton_unstable","menuButtonClassNames","useMenuButtonStyles_unstable"],"mappings":";;;;;;;;;;;;eACSA,sBAAU;;;eAGVG,+CAAoB;;;eAFpBF,2CAAyB;;;eAEHG,uDAA4B;;;eADlDF,qCAAsB;;;4BAFJ,eAAe;kCACA,qBAAqB;+BACxB,kBAAkB;2CACU,+BAA+B"}
1
+ {"version":3,"sources":["../src/components/MenuButton/index.ts"],"sourcesContent":["export type {\n MenuButtonBaseProps,\n MenuButtonProps,\n MenuButtonSlots,\n MenuButtonBaseState,\n MenuButtonState,\n} from './MenuButton.types';\nexport { MenuButton } from './MenuButton';\nexport { renderMenuButton_unstable } from './renderMenuButton';\nexport { useMenuButton_unstable } from './useMenuButton';\nexport { useMenuButtonBase_unstable } from './useMenuButtonBase';\nexport { menuButtonClassNames, useMenuButtonStyles_unstable } from './useMenuButtonStyles.styles';\n"],"names":["MenuButton","renderMenuButton_unstable","useMenuButton_unstable","useMenuButtonBase_unstable","menuButtonClassNames","useMenuButtonStyles_unstable"],"mappings":";;;;;;;;;;;;eAOSA,sBAAU;;;eAIVI,+CAAoB;;;eAHpBH,2CAAyB;;;eAEzBE,6CAA0B;;;eACJE,uDAA4B;;;eAFlDH,qCAAsB;;;4BAFJ,eAAe;kCACA,qBAAqB;+BACxB,kBAAkB;mCACd,sBAAsB;2CACE,+BAA+B"}
@@ -12,30 +12,21 @@ Object.defineProperty(exports, "useMenuButton_unstable", {
12
12
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
13
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
14
  const _reacticons = require("@fluentui/react-icons");
15
- const _reactutilities = require("@fluentui/react-utilities");
16
- const _index = require("../Button/index");
17
- const useMenuButton_unstable = ({ menuIcon, ...props }, ref)=>{
15
+ const _contexts = require("../../contexts");
16
+ const _useMenuButtonBase = require("./useMenuButtonBase");
17
+ const useMenuButton_unstable = (props, ref)=>{
18
18
  'use no memo';
19
- const buttonState = (0, _index.useButton_unstable)(props, ref);
20
- // force aria-expanded to be a boolean, not a string
21
- buttonState.root['aria-expanded'] = props['aria-expanded'] ? props['aria-expanded'] === 'true' || props['aria-expanded'] === true : false;
19
+ const { size: contextSize } = (0, _contexts.useButtonContext)();
20
+ const { appearance = 'secondary', shape = 'rounded', size = contextSize !== null && contextSize !== void 0 ? contextSize : 'medium' } = props;
21
+ const state = (0, _useMenuButtonBase.useMenuButtonBase_unstable)(props, ref);
22
22
  return {
23
- // Button state
24
- ...buttonState,
25
- // State calculated from a set of props
26
- iconOnly: Boolean(!props.children),
27
- // Slots definition
28
- components: {
29
- root: 'button',
30
- icon: 'span',
31
- menuIcon: 'span'
32
- },
33
- menuIcon: _reactutilities.slot.optional(menuIcon, {
34
- defaultProps: {
35
- children: /*#__PURE__*/ _react.createElement(_reacticons.ChevronDownRegular, null)
36
- },
37
- renderByDefault: true,
38
- elementType: 'span'
39
- })
23
+ appearance,
24
+ size,
25
+ shape,
26
+ ...state,
27
+ menuIcon: {
28
+ children: /*#__PURE__*/ _react.createElement(_reacticons.ChevronDownRegular, null),
29
+ ...state.menuIcon
30
+ }
40
31
  };
41
32
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/MenuButton/useMenuButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ChevronDownRegular } from '@fluentui/react-icons';\nimport { slot } 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 'use no memo';\n\n const buttonState = useButton_unstable(props, ref);\n // force aria-expanded to be a boolean, not a string\n buttonState.root['aria-expanded'] = props['aria-expanded']\n ? props['aria-expanded'] === 'true' || props['aria-expanded'] === true\n : false;\n\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: slot.optional(menuIcon, {\n defaultProps: {\n children: <ChevronDownRegular />,\n },\n renderByDefault: true,\n elementType: 'span',\n }),\n };\n};\n"],"names":["React","ChevronDownRegular","slot","useButton_unstable","useMenuButton_unstable","menuIcon","props","ref","buttonState","root","iconOnly","Boolean","children","components","icon","optional","defaultProps","renderByDefault","elementType"],"mappings":"AAAA;;;;;+BAWaI;;;;;;;iEATU,QAAQ;4BACI,wBAAwB;gCACtC,4BAA4B;uBACd,kBAAkB;AAM9C,+BAA+B,CACpC,EAAEC,QAAQ,EAAE,GAAGC,OAAwB,EACvCC;IAEA;IAEA,MAAMC,kBAAcL,yBAAAA,EAAmBG,OAAOC;IAC9C,oDAAoD;IACpDC,YAAYC,IAAI,CAAC,gBAAgB,GAAGH,KAAK,CAAC,gBAAgB,GACtDA,KAAK,CAAC,gBAAgB,KAAK,UAAUA,KAAK,CAAC,gBAAgB,KAAK,OAChE;IAEJ,OAAO;QACL,eAAe;QACf,GAAGE,WAAW;QAEd,uCAAuC;QACvCE,UAAUC,QAAQ,CAACL,MAAMM,QAAQ;QAEjC,mBAAmB;QACnBC,YAAY;YACVJ,MAAM;YACNK,MAAM;YACNT,UAAU;QACZ;QAEAA,UAAUH,oBAAAA,CAAKa,QAAQ,CAACV,UAAU;YAChCW,cAAc;gBACZJ,UAAAA,WAAAA,GAAU,OAAA,aAAA,CAACX,8BAAAA,EAAAA;YACb;YACAgB,iBAAiB;YACjBC,aAAa;QACf;IACF;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/MenuButton/useMenuButton.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { ChevronDownRegular } from '@fluentui/react-icons';\nimport type { MenuButtonProps, MenuButtonState } from './MenuButton.types';\nimport { useButtonContext } from '../../contexts';\nimport { useMenuButtonBase_unstable } from './useMenuButtonBase';\n\n/**\n * Given user props, returns the final state for a MenuButton.\n */\nexport const useMenuButton_unstable = (\n props: MenuButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): MenuButtonState => {\n 'use no memo';\n\n const { size: contextSize } = useButtonContext();\n const { appearance = 'secondary', shape = 'rounded', size = contextSize ?? 'medium' } = props;\n const state = useMenuButtonBase_unstable(props, ref);\n\n return {\n appearance,\n size,\n shape,\n ...state,\n menuIcon: {\n children: <ChevronDownRegular />,\n ...state.menuIcon,\n },\n };\n};\n"],"names":["React","ChevronDownRegular","useButtonContext","useMenuButtonBase_unstable","useMenuButton_unstable","props","ref","size","contextSize","appearance","shape","state","menuIcon","children"],"mappings":"AAAA;;;;;+BAWaI;;;;;;;iEATU,QAAQ;4BACI,wBAAwB;0BAE1B,iBAAiB;mCACP,sBAAsB;AAK1D,+BAA+B,CACpCC,OACAC;IAEA;IAEA,MAAM,EAAEC,MAAMC,WAAW,EAAE,OAAGN,0BAAAA;IAC9B,MAAM,EAAEO,aAAa,WAAW,EAAEC,QAAQ,SAAS,EAAEH,OAAOC,gBAAAA,QAAAA,gBAAAA,KAAAA,IAAAA,cAAe,QAAQ,EAAE,GAAGH;IACxF,MAAMM,YAAQR,6CAAAA,EAA2BE,OAAOC;IAEhD,OAAO;QACLG;QACAF;QACAG;QACA,GAAGC,KAAK;QACRC,UAAU;YACRC,UAAAA,WAAAA,GAAU,OAAA,aAAA,CAACZ,8BAAAA,EAAAA;YACX,GAAGU,MAAMC,QAAQ;QACnB;IACF;AACF,EAAE"}
@@ -0,0 +1,36 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useMenuButtonBase_unstable", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return useMenuButtonBase_unstable;
10
+ }
11
+ });
12
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
+ const _reactutilities = require("@fluentui/react-utilities");
15
+ const _index = require("../Button/index");
16
+ const useMenuButtonBase_unstable = ({ menuIcon, ...props }, ref)=>{
17
+ 'use no memo';
18
+ const buttonState = (0, _index.useButtonBase_unstable)(props, ref);
19
+ // force aria-expanded to be a boolean, not a string
20
+ buttonState.root['aria-expanded'] = props['aria-expanded'] ? props['aria-expanded'] === 'true' || props['aria-expanded'] === true : false;
21
+ return {
22
+ ...buttonState,
23
+ // State calculated from a set of props
24
+ iconOnly: Boolean(!props.children),
25
+ // Slots definition
26
+ components: {
27
+ root: 'button',
28
+ icon: 'span',
29
+ menuIcon: 'span'
30
+ },
31
+ menuIcon: _reactutilities.slot.optional(menuIcon, {
32
+ elementType: 'span',
33
+ renderByDefault: true
34
+ })
35
+ };
36
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/MenuButton/useMenuButtonBase.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { slot } from '@fluentui/react-utilities';\nimport { useButtonBase_unstable } from '../Button/index';\nimport type { MenuButtonBaseProps, MenuButtonBaseState } from './MenuButton.types';\n\n/**\n * Given user props, returns the final state for a MenuButton.\n */\nexport const useMenuButtonBase_unstable = (\n { menuIcon, ...props }: MenuButtonBaseProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): MenuButtonBaseState => {\n 'use no memo';\n\n const buttonState = useButtonBase_unstable(props, ref);\n // force aria-expanded to be a boolean, not a string\n buttonState.root['aria-expanded'] = props['aria-expanded']\n ? props['aria-expanded'] === 'true' || props['aria-expanded'] === true\n : false;\n\n return {\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: slot.optional(menuIcon, {\n elementType: 'span',\n renderByDefault: true,\n }),\n };\n};\n"],"names":["React","slot","useButtonBase_unstable","useMenuButtonBase_unstable","menuIcon","props","ref","buttonState","root","iconOnly","Boolean","children","components","icon","optional","elementType","renderByDefault"],"mappings":"AAAA;;;;;+BAUaG;;;;;;;iEARU,QAAQ;gCACV,4BAA4B;uBACV,kBAAkB;AAMlD,mCAAmC,CACxC,EAAEC,QAAQ,EAAE,GAAGC,OAA4B,EAC3CC;IAEA;IAEA,MAAMC,kBAAcL,6BAAAA,EAAuBG,OAAOC;IAClD,oDAAoD;IACpDC,YAAYC,IAAI,CAAC,gBAAgB,GAAGH,KAAK,CAAC,gBAAgB,GACtDA,KAAK,CAAC,gBAAgB,KAAK,UAAUA,KAAK,CAAC,gBAAgB,KAAK,OAChE;IAEJ,OAAO;QACL,GAAGE,WAAW;QAEd,uCAAuC;QACvCE,UAAUC,QAAQ,CAACL,MAAMM,QAAQ;QAEjC,mBAAmB;QACnBC,YAAY;YACVJ,MAAM;YACNK,MAAM;YACNT,UAAU;QACZ;QAEAA,UAAUH,oBAAAA,CAAKa,QAAQ,CAACV,UAAU;YAChCW,aAAa;YACbC,iBAAiB;QACnB;IACF;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/SplitButton/SplitButton.types.ts"],"sourcesContent":["import { Button } from '../Button/Button';\nimport { MenuButton } from '../MenuButton/MenuButton';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ButtonProps, ButtonState } from '../Button/Button.types';\nimport type { MenuButtonProps, MenuButtonState } from '../MenuButton/MenuButton.types';\n\nexport type SplitButtonSlots = {\n /**\n * Root of the component that wraps the primary action button and menu button.\n */\n root: NonNullable<Slot<'div'>>;\n\n /**\n * Button that opens menu with secondary actions in SplitButton.\n */\n menuButton?: Slot<typeof MenuButton>;\n /**\n * Button to perform primary action in SplitButton.\n */\n primaryActionButton?: Slot<typeof Button>;\n};\n\nexport type SplitButtonProps = ComponentProps<SplitButtonSlots> &\n Omit<ButtonProps, 'root' | 'as'> &\n Omit<MenuButtonProps, 'root' | 'as'>;\n\nexport type SplitButtonState = ComponentState<SplitButtonSlots> &\n Omit<ButtonState, 'components' | 'iconOnly' | 'root'> &\n Omit<MenuButtonState, 'components' | 'iconOnly' | 'root'>;\n"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../src/components/SplitButton/SplitButton.types.ts"],"sourcesContent":["import { Button } from '../Button/Button';\nimport { MenuButton } from '../MenuButton/MenuButton';\nimport type { ComponentProps, ComponentState, DistributiveOmit, Slot } from '@fluentui/react-utilities';\nimport type { ButtonDesignPropNames, ButtonProps, ButtonState } from '../Button/Button.types';\nimport type { MenuButtonProps, MenuButtonState } from '../MenuButton/MenuButton.types';\n\nexport type SplitButtonSlots = {\n /**\n * Root of the component that wraps the primary action button and menu button.\n */\n root: NonNullable<Slot<'div'>>;\n\n /**\n * Button that opens menu with secondary actions in SplitButton.\n */\n menuButton?: Slot<typeof MenuButton>;\n /**\n * Button to perform primary action in SplitButton.\n */\n primaryActionButton?: Slot<typeof Button>;\n};\n\nexport type SplitButtonProps = ComponentProps<SplitButtonSlots> &\n Omit<ButtonProps, 'root' | 'as'> &\n Omit<MenuButtonProps, 'root' | 'as'>;\n\nexport type SplitButtonBaseProps = DistributiveOmit<SplitButtonProps, ButtonDesignPropNames>;\n\nexport type SplitButtonState = ComponentState<SplitButtonSlots> &\n Omit<ButtonState, 'components' | 'iconOnly' | 'root'> &\n Omit<MenuButtonState, 'components' | 'iconOnly' | 'root'>;\n\nexport type SplitButtonBaseState = DistributiveOmit<SplitButtonState, ButtonDesignPropNames>;\n"],"names":[],"mappings":""}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  splitButtonClassNames: function() {
19
19
  return _useSplitButtonStylesstyles.splitButtonClassNames;
20
20
  },
21
+ useSplitButtonBase_unstable: function() {
22
+ return _useSplitButtonBase.useSplitButtonBase_unstable;
23
+ },
21
24
  useSplitButtonStyles_unstable: function() {
22
25
  return _useSplitButtonStylesstyles.useSplitButtonStyles_unstable;
23
26
  },
@@ -28,4 +31,5 @@ _export(exports, {
28
31
  const _SplitButton = require("./SplitButton");
29
32
  const _renderSplitButton = require("./renderSplitButton");
30
33
  const _useSplitButton = require("./useSplitButton");
34
+ const _useSplitButtonBase = require("./useSplitButtonBase");
31
35
  const _useSplitButtonStylesstyles = require("./useSplitButtonStyles.styles");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/SplitButton/index.ts"],"sourcesContent":["export { SplitButton } from './SplitButton';\nexport type { SplitButtonProps, SplitButtonSlots, SplitButtonState } from './SplitButton.types';\nexport { renderSplitButton_unstable } from './renderSplitButton';\nexport { useSplitButton_unstable } from './useSplitButton';\nexport { splitButtonClassNames, useSplitButtonStyles_unstable } from './useSplitButtonStyles.styles';\n"],"names":["SplitButton","renderSplitButton_unstable","useSplitButton_unstable","splitButtonClassNames","useSplitButtonStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,wBAAW;;;eAEXC,6CAA0B;;;eAE1BE,iDAAqB;;;eAAEC,yDAA6B;;;eADpDF,uCAAuB;;;6BAHJ,gBAAgB;mCAED,sBAAsB;gCACzB,mBAAmB;4CACU,gCAAgC"}
1
+ {"version":3,"sources":["../src/components/SplitButton/index.ts"],"sourcesContent":["export { SplitButton } from './SplitButton';\nexport type {\n SplitButtonBaseProps,\n SplitButtonProps,\n SplitButtonSlots,\n SplitButtonBaseState,\n SplitButtonState,\n} from './SplitButton.types';\nexport { renderSplitButton_unstable } from './renderSplitButton';\nexport { useSplitButton_unstable } from './useSplitButton';\nexport { useSplitButtonBase_unstable } from './useSplitButtonBase';\nexport { splitButtonClassNames, useSplitButtonStyles_unstable } from './useSplitButtonStyles.styles';\n"],"names":["SplitButton","renderSplitButton_unstable","useSplitButton_unstable","useSplitButtonBase_unstable","splitButtonClassNames","useSplitButtonStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,wBAAW;;;eAQXC,6CAA0B;;;eAG1BG,iDAAqB;;;eADrBD,+CAA2B;;;eACJE,yDAA6B;;;eAFpDH,uCAAuB;;;6BATJ,gBAAgB;mCAQD,sBAAsB;gCACzB,mBAAmB;oCACf,uBAAuB;4CACE,gCAAgC"}
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  "use strict";
2
3
  Object.defineProperty(exports, "__esModule", {
3
4
  value: true
@@ -10,64 +11,26 @@ Object.defineProperty(exports, "useSplitButton_unstable", {
10
11
  });
11
12
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
13
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
- const _reactutilities = require("@fluentui/react-utilities");
14
- const _Button = require("../Button/Button");
15
- const _MenuButton = require("../MenuButton/MenuButton");
14
+ const _useSplitButtonBase = require("./useSplitButtonBase");
16
15
  const useSplitButton_unstable = (props, ref)=>{
17
- const { appearance = 'secondary', children, disabled = false, disabledFocusable = false, icon, iconPosition = 'before', menuButton, menuIcon, primaryActionButton, shape = 'rounded', size = 'medium' } = props;
18
- const baseId = (0, _reactutilities.useId)('splitButton-');
19
- const menuButtonShorthand = _reactutilities.slot.optional(menuButton, {
20
- defaultProps: {
21
- appearance,
22
- disabled,
23
- disabledFocusable,
24
- menuIcon,
25
- shape,
26
- size
27
- },
28
- renderByDefault: true,
29
- elementType: _MenuButton.MenuButton
30
- });
31
- const primaryActionButtonShorthand = _reactutilities.slot.optional(primaryActionButton, {
32
- defaultProps: {
33
- appearance,
34
- children,
35
- disabled,
36
- disabledFocusable,
37
- icon,
38
- iconPosition,
39
- id: baseId + '__primaryActionButton',
40
- shape,
41
- size
42
- },
43
- renderByDefault: true,
44
- elementType: _Button.Button
45
- });
46
- // Resolve menu button's aria-labelledby to be labelled by the primary action button if no label was provided by the
47
- // user.
48
- if (menuButtonShorthand && primaryActionButtonShorthand && !menuButtonShorthand['aria-label'] && !menuButtonShorthand['aria-labelledby']) {
49
- menuButtonShorthand['aria-labelledby'] = primaryActionButtonShorthand.id;
50
- }
16
+ const { appearance = 'secondary', shape = 'rounded', size = 'medium' } = props;
17
+ const state = (0, _useSplitButtonBase.useSplitButtonBase_unstable)(props, ref);
51
18
  return {
52
- // Props passed at the top-level
53
19
  appearance,
54
- disabled,
55
- disabledFocusable,
56
- iconPosition,
57
20
  shape,
58
21
  size,
59
- components: {
60
- root: 'div',
61
- menuButton: _MenuButton.MenuButton,
62
- primaryActionButton: _Button.Button
22
+ ...state,
23
+ menuButton: {
24
+ appearance,
25
+ shape,
26
+ size,
27
+ ...state.menuButton
63
28
  },
64
- root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
65
- ref,
66
- ...props
67
- }), {
68
- elementType: 'div'
69
- }),
70
- menuButton: menuButtonShorthand,
71
- primaryActionButton: primaryActionButtonShorthand
29
+ primaryActionButton: {
30
+ appearance,
31
+ shape,
32
+ size,
33
+ ...state.primaryActionButton
34
+ }
72
35
  };
73
36
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/SplitButton/useSplitButton.ts"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, useId, slot } from '@fluentui/react-utilities';\nimport { Button } from '../Button/Button';\nimport { MenuButton } from '../MenuButton/MenuButton';\nimport type { SplitButtonProps, SplitButtonState } from './SplitButton.types';\n\n/**\n * Given user props, defines default props for the SplitButton and returns processed state.\n * @param props - User provided props to the SplitButton component.\n * @param ref - User provided ref to be passed to the SplitButton component.\n */\nexport const useSplitButton_unstable = (\n props: SplitButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): SplitButtonState => {\n const {\n appearance = 'secondary',\n 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 const baseId = useId('splitButton-');\n\n const menuButtonShorthand = slot.optional(menuButton, {\n defaultProps: {\n appearance,\n disabled,\n disabledFocusable,\n menuIcon,\n shape,\n size,\n },\n renderByDefault: true,\n elementType: MenuButton,\n });\n const primaryActionButtonShorthand = slot.optional(primaryActionButton, {\n defaultProps: {\n appearance,\n children,\n disabled,\n disabledFocusable,\n icon,\n iconPosition,\n id: baseId + '__primaryActionButton',\n shape,\n size,\n },\n renderByDefault: true,\n elementType: Button,\n });\n\n // Resolve menu button's aria-labelledby to be labelled by the primary action button if no label was provided by the\n // 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 disabled,\n disabledFocusable,\n iconPosition,\n shape,\n size, // Slots definition\n components: { root: 'div', menuButton: MenuButton, primaryActionButton: Button },\n root: slot.always(getIntrinsicElementProps('div', { ref, ...props }), { elementType: 'div' }),\n menuButton: menuButtonShorthand,\n primaryActionButton: primaryActionButtonShorthand,\n };\n};\n"],"names":["React","getIntrinsicElementProps","useId","slot","Button","MenuButton","useSplitButton_unstable","props","ref","appearance","children","disabled","disabledFocusable","icon","iconPosition","menuButton","menuIcon","primaryActionButton","shape","size","baseId","menuButtonShorthand","optional","defaultProps","renderByDefault","elementType","primaryActionButtonShorthand","id","components","root","always"],"mappings":";;;;+BAWaM;;;;;;;iEAXU,QAAQ;gCACuB,4BAA4B;wBAC3D,mBAAmB;4BACf,2BAA2B;AAQ/C,gCAAgC,CACrCC,OACAC;IAEA,MAAM,EACJC,aAAa,WAAW,EACxBC,QAAQ,EACRC,WAAW,KAAK,EAChBC,oBAAoB,KAAK,EACzBC,IAAI,EACJC,eAAe,QAAQ,EACvBC,UAAU,EACVC,QAAQ,EACRC,mBAAmB,EACnBC,QAAQ,SAAS,EACjBC,OAAO,QAAQ,EAChB,GAAGZ;IACJ,MAAMa,aAASlB,qBAAAA,EAAM;IAErB,MAAMmB,sBAAsBlB,oBAAAA,CAAKmB,QAAQ,CAACP,YAAY;QACpDQ,cAAc;YACZd;YACAE;YACAC;YACAI;YACAE;YACAC;QACF;QACAK,iBAAiB;QACjBC,aAAapB,sBAAAA;IACf;IACA,MAAMqB,+BAA+BvB,oBAAAA,CAAKmB,QAAQ,CAACL,qBAAqB;QACtEM,cAAc;YACZd;YACAC;YACAC;YACAC;YACAC;YACAC;YACAa,IAAIP,SAAS;YACbF;YACAC;QACF;QACAK,iBAAiB;QACjBC,aAAarB,cAAAA;IACf;IAEA,oHAAoH;IACpH,QAAQ;IACR,IACEiB,uBACAK,gCACA,CAACL,mBAAmB,CAAC,aAAa,IAClC,CAACA,mBAAmB,CAAC,kBAAkB,EACvC;QACAA,mBAAmB,CAAC,kBAAkB,GAAGK,6BAA6BC,EAAE;IAC1E;IAEA,OAAO;QACL,gCAAgC;QAChClB;QACAE;QACAC;QACAE;QACAI;QACAC;QACAS,YAAY;YAAEC,MAAM;YAAOd,YAAYV,sBAAAA;YAAYY,qBAAqBb,cAAAA;QAAO;QAC/EyB,MAAM1B,oBAAAA,CAAK2B,MAAM,KAAC7B,wCAAAA,EAAyB,OAAO;YAAEO;YAAK,GAAGD,KAAK;QAAC,IAAI;YAAEkB,aAAa;QAAM;QAC3FV,YAAYM;QACZJ,qBAAqBS;IACvB;AACF,EAAE"}
1
+ {"version":3,"sources":["../src/components/SplitButton/useSplitButton.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { SplitButtonProps, SplitButtonState } from './SplitButton.types';\nimport { useSplitButtonBase_unstable } from './useSplitButtonBase';\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 { appearance = 'secondary', shape = 'rounded', size = 'medium' } = props;\n\n const state = useSplitButtonBase_unstable(props, ref);\n\n return {\n appearance,\n shape,\n size,\n ...state,\n menuButton: {\n appearance,\n shape,\n size,\n ...state.menuButton,\n },\n primaryActionButton: {\n appearance,\n shape,\n size,\n ...state.primaryActionButton,\n },\n };\n};\n"],"names":["React","useSplitButtonBase_unstable","useSplitButton_unstable","props","ref","appearance","shape","size","state","menuButton","primaryActionButton"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;oCAEa,uBAAuB;AAO5D,MAAME,0BAA0B,CACrCC,OACAC;IAEA,MAAM,EAAEC,aAAa,WAAW,EAAEC,QAAQ,SAAS,EAAEC,OAAO,QAAQ,EAAE,GAAGJ;IAEzE,MAAMK,YAAQP,+CAAAA,EAA4BE,OAAOC;IAEjD,OAAO;QACLC;QACAC;QACAC;QACA,GAAGC,KAAK;QACRC,YAAY;YACVJ;YACAC;YACAC;YACA,GAAGC,MAAMC,UAAU;QACrB;QACAC,qBAAqB;YACnBL;YACAC;YACAC;YACA,GAAGC,MAAME,mBAAmB;QAC9B;IACF;AACF,EAAE"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "useSplitButtonBase_unstable", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return useSplitButtonBase_unstable;
9
+ }
10
+ });
11
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
12
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
13
+ const _reactutilities = require("@fluentui/react-utilities");
14
+ const _Button = require("../Button/Button");
15
+ const _MenuButton = require("../MenuButton/MenuButton");
16
+ const useSplitButtonBase_unstable = (props, ref)=>{
17
+ const { children, disabled = false, disabledFocusable = false, icon, iconPosition = 'before', menuButton, menuIcon, primaryActionButton } = props;
18
+ const baseId = (0, _reactutilities.useId)('splitButton-');
19
+ const menuButtonShorthand = _reactutilities.slot.optional(menuButton, {
20
+ defaultProps: {
21
+ disabled,
22
+ disabledFocusable,
23
+ menuIcon
24
+ },
25
+ renderByDefault: true,
26
+ elementType: _MenuButton.MenuButton
27
+ });
28
+ const primaryActionButtonShorthand = _reactutilities.slot.optional(primaryActionButton, {
29
+ defaultProps: {
30
+ children,
31
+ disabled,
32
+ disabledFocusable,
33
+ icon,
34
+ iconPosition,
35
+ id: baseId + '__primaryActionButton'
36
+ },
37
+ renderByDefault: true,
38
+ elementType: _Button.Button
39
+ });
40
+ // Resolve menu button's aria-labelledby to be labelled by the primary action button if no label was provided by the
41
+ // user.
42
+ if (menuButtonShorthand && primaryActionButtonShorthand && !menuButtonShorthand['aria-label'] && !menuButtonShorthand['aria-labelledby']) {
43
+ menuButtonShorthand['aria-labelledby'] = primaryActionButtonShorthand.id;
44
+ }
45
+ return {
46
+ // Props passed at the top-level
47
+ disabled,
48
+ disabledFocusable,
49
+ iconPosition,
50
+ components: {
51
+ root: 'div',
52
+ menuButton: _MenuButton.MenuButton,
53
+ primaryActionButton: _Button.Button
54
+ },
55
+ root: _reactutilities.slot.always((0, _reactutilities.getIntrinsicElementProps)('div', {
56
+ ref,
57
+ ...props
58
+ }), {
59
+ elementType: 'div'
60
+ }),
61
+ menuButton: menuButtonShorthand,
62
+ primaryActionButton: primaryActionButtonShorthand
63
+ };
64
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/SplitButton/useSplitButtonBase.ts"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, useId, slot } from '@fluentui/react-utilities';\nimport { Button } from '../Button/Button';\nimport { MenuButton } from '../MenuButton/MenuButton';\nimport type { SplitButtonBaseProps, SplitButtonBaseState } 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 useSplitButtonBase_unstable = (\n props: SplitButtonBaseProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): SplitButtonBaseState => {\n const {\n children,\n disabled = false,\n disabledFocusable = false,\n icon,\n iconPosition = 'before',\n menuButton,\n menuIcon,\n primaryActionButton,\n } = props;\n const baseId = useId('splitButton-');\n\n const menuButtonShorthand = slot.optional(menuButton, {\n defaultProps: {\n disabled,\n disabledFocusable,\n menuIcon,\n },\n renderByDefault: true,\n elementType: MenuButton,\n });\n const primaryActionButtonShorthand = slot.optional(primaryActionButton, {\n defaultProps: {\n children,\n disabled,\n disabledFocusable,\n icon,\n iconPosition,\n id: baseId + '__primaryActionButton',\n },\n renderByDefault: true,\n elementType: Button,\n });\n\n // Resolve menu button's aria-labelledby to be labelled by the primary action button if no label was provided by the\n // 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 disabled,\n disabledFocusable,\n iconPosition,\n components: { root: 'div', menuButton: MenuButton, primaryActionButton: Button },\n root: slot.always(getIntrinsicElementProps('div', { ref, ...props }), { elementType: 'div' }),\n menuButton: menuButtonShorthand,\n primaryActionButton: primaryActionButtonShorthand,\n };\n};\n"],"names":["React","getIntrinsicElementProps","useId","slot","Button","MenuButton","useSplitButtonBase_unstable","props","ref","children","disabled","disabledFocusable","icon","iconPosition","menuButton","menuIcon","primaryActionButton","baseId","menuButtonShorthand","optional","defaultProps","renderByDefault","elementType","primaryActionButtonShorthand","id","components","root","always"],"mappings":";;;;+BAWaM;;;;;;;iEAXU,QAAQ;gCACuB,4BAA4B;wBAC3D,mBAAmB;4BACf,2BAA2B;AAQ/C,oCAAoC,CACzCC,OACAC;IAEA,MAAM,EACJC,QAAQ,EACRC,WAAW,KAAK,EAChBC,oBAAoB,KAAK,EACzBC,IAAI,EACJC,eAAe,QAAQ,EACvBC,UAAU,EACVC,QAAQ,EACRC,mBAAmB,EACpB,GAAGT;IACJ,MAAMU,aAASf,qBAAAA,EAAM;IAErB,MAAMgB,sBAAsBf,oBAAAA,CAAKgB,QAAQ,CAACL,YAAY;QACpDM,cAAc;YACZV;YACAC;YACAI;QACF;QACAM,iBAAiB;QACjBC,aAAajB,sBAAAA;IACf;IACA,MAAMkB,+BAA+BpB,oBAAAA,CAAKgB,QAAQ,CAACH,qBAAqB;QACtEI,cAAc;YACZX;YACAC;YACAC;YACAC;YACAC;YACAW,IAAIP,SAAS;QACf;QACAI,iBAAiB;QACjBC,aAAalB,cAAAA;IACf;IAEA,oHAAoH;IACpH,QAAQ;IACR,IACEc,uBACAK,gCACA,CAACL,mBAAmB,CAAC,aAAa,IAClC,CAACA,mBAAmB,CAAC,kBAAkB,EACvC;QACAA,mBAAmB,CAAC,kBAAkB,GAAGK,6BAA6BC,EAAE;IAC1E;IAEA,OAAO;QACL,gCAAgC;QAChCd;QACAC;QACAE;QACAY,YAAY;YAAEC,MAAM;YAAOZ,YAAYT,sBAAAA;YAAYW,qBAAqBZ,cAAAA;QAAO;QAC/EsB,MAAMvB,oBAAAA,CAAKwB,MAAM,KAAC1B,wCAAAA,EAAyB,OAAO;YAAEO;YAAK,GAAGD,KAAK;QAAC,IAAI;YAAEe,aAAa;QAAM;QAC3FR,YAAYI;QACZF,qBAAqBO;IACvB;AACF,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ToggleButton/ToggleButton.types.ts"],"sourcesContent":["import type { ButtonProps, ButtonState } from '../Button/Button.types';\n\nexport type ToggleButtonProps = ButtonProps & {\n /**\n * Defines whether the `ToggleButton` is initially in a checked state or not when rendered.\n *\n * @default false\n */\n defaultChecked?: boolean;\n\n /**\n * Defines the controlled checked state of the `ToggleButton`.\n * If passed, `ToggleButton` ignores the `defaultChecked` property.\n * 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\n * correct value based on handling `onClick` events and re-rendering.\n *\n * @default false\n */\n checked?: boolean;\n};\n\nexport type ToggleButtonState = ButtonState & Required<Pick<ToggleButtonProps, 'checked'>>;\n"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../src/components/ToggleButton/ToggleButton.types.ts"],"sourcesContent":["import type { DistributiveOmit } from '@fluentui/react-utilities';\nimport type { ButtonDesignPropNames, ButtonProps, ButtonState } from '../Button/Button.types';\n\nexport type ToggleButtonProps = ButtonProps & {\n /**\n * Defines whether the `ToggleButton` is initially in a checked state or not when rendered.\n *\n * @default false\n */\n defaultChecked?: boolean;\n\n /**\n * Defines the controlled checked state of the `ToggleButton`.\n * If passed, `ToggleButton` ignores the `defaultChecked` property.\n * 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\n * correct value based on handling `onClick` events and re-rendering.\n *\n * @default false\n */\n checked?: boolean;\n};\n\nexport type ToggleButtonBaseProps = DistributiveOmit<ToggleButtonProps, ButtonDesignPropNames>;\n\nexport type ToggleButtonState = ButtonState & Required<Pick<ToggleButtonProps, 'checked'>>;\n\nexport type ToggleButtonBaseState = DistributiveOmit<ToggleButtonState, ButtonDesignPropNames>;\n"],"names":[],"mappings":""}
@@ -18,6 +18,9 @@ _export(exports, {
18
18
  toggleButtonClassNames: function() {
19
19
  return _useToggleButtonStylesstyles.toggleButtonClassNames;
20
20
  },
21
+ useToggleButtonBase_unstable: function() {
22
+ return _useToggleButtonBase.useToggleButtonBase_unstable;
23
+ },
21
24
  useToggleButtonStyles_unstable: function() {
22
25
  return _useToggleButtonStylesstyles.useToggleButtonStyles_unstable;
23
26
  },
@@ -28,4 +31,5 @@ _export(exports, {
28
31
  const _ToggleButton = require("./ToggleButton");
29
32
  const _renderToggleButton = require("./renderToggleButton");
30
33
  const _useToggleButton = require("./useToggleButton");
34
+ const _useToggleButtonBase = require("./useToggleButtonBase");
31
35
  const _useToggleButtonStylesstyles = require("./useToggleButtonStyles.styles");
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ToggleButton/index.ts"],"sourcesContent":["export { ToggleButton } from './ToggleButton';\nexport type { ToggleButtonProps, ToggleButtonState } from './ToggleButton.types';\nexport { renderToggleButton_unstable } from './renderToggleButton';\nexport { useToggleButton_unstable } from './useToggleButton';\nexport { toggleButtonClassNames, useToggleButtonStyles_unstable } from './useToggleButtonStyles.styles';\n"],"names":["ToggleButton","renderToggleButton_unstable","useToggleButton_unstable","toggleButtonClassNames","useToggleButtonStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,0BAAY;;;eAEZC,+CAA2B;;;eAE3BE,mDAAsB;;;eAAEC,2DAA8B;;;eADtDF,yCAAwB;;;8BAHJ,iBAAiB;oCAEF,uBAAuB;iCAC1B,oBAAoB;6CACU,iCAAiC"}
1
+ {"version":3,"sources":["../src/components/ToggleButton/index.ts"],"sourcesContent":["export { ToggleButton } from './ToggleButton';\nexport type {\n ToggleButtonBaseProps,\n ToggleButtonProps,\n ToggleButtonBaseState,\n ToggleButtonState,\n} from './ToggleButton.types';\nexport { renderToggleButton_unstable } from './renderToggleButton';\nexport { useToggleButton_unstable } from './useToggleButton';\nexport { useToggleButtonBase_unstable } from './useToggleButtonBase';\nexport { toggleButtonClassNames, useToggleButtonStyles_unstable } from './useToggleButtonStyles.styles';\n"],"names":["ToggleButton","renderToggleButton_unstable","useToggleButton_unstable","useToggleButtonBase_unstable","toggleButtonClassNames","useToggleButtonStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,0BAAY;;;eAOZC,+CAA2B;;;eAG3BG,mDAAsB;;;eADtBD,iDAA4B;;;eACJE,2DAA8B;;;eAFtDH,yCAAwB;;;8BARJ,iBAAiB;oCAOF,uBAAuB;iCAC1B,oBAAoB;qCAChB,wBAAwB;6CACE,iCAAiC"}
@@ -11,9 +11,17 @@ Object.defineProperty(exports, "useToggleButton_unstable", {
11
11
  });
12
12
  const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
13
  const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
- const _useToggleState = require("../../utils/useToggleState");
15
- const _useButton = require("../Button/useButton");
14
+ const _useToggleButtonBase = require("./useToggleButtonBase");
15
+ const _contexts = require("../../contexts");
16
16
  const useToggleButton_unstable = (props, ref)=>{
17
- const buttonState = (0, _useButton.useButton_unstable)(props, ref);
18
- return (0, _useToggleState.useToggleState)(props, buttonState);
17
+ 'use no memo';
18
+ const { size: contextSize } = (0, _contexts.useButtonContext)();
19
+ const { appearance = 'secondary', shape = 'rounded', size = contextSize !== null && contextSize !== void 0 ? contextSize : 'medium' } = props;
20
+ const buttonState = (0, _useToggleButtonBase.useToggleButtonBase_unstable)(props, ref);
21
+ return {
22
+ appearance,
23
+ shape,
24
+ size,
25
+ ...buttonState
26
+ };
19
27
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/ToggleButton/useToggleButton.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useToggleState } from '../../utils/useToggleState';\nimport { useButton_unstable } from '../Button/useButton';\nimport type { ToggleButtonProps, ToggleButtonState } from './ToggleButton.types';\n\n/**\n * Given user props, defines default props for the ToggleButton, calls useButtonState and useChecked, and returns\n * processed state.\n * @param props - User provided props to the ToggleButton component.\n * @param ref - User provided ref to be passed to the ToggleButton component.\n */\nexport const useToggleButton_unstable = (\n props: ToggleButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ToggleButtonState => {\n const buttonState = useButton_unstable(props, ref);\n\n return useToggleState(props, buttonState);\n};\n"],"names":["React","useToggleState","useButton_unstable","useToggleButton_unstable","props","ref","buttonState"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;gCACA,6BAA6B;2BACzB,sBAAsB;AASlD,MAAMG,2BAA2B,CACtCC,OACAC;IAEA,MAAMC,kBAAcJ,6BAAAA,EAAmBE,OAAOC;IAE9C,WAAOJ,8BAAAA,EAAeG,OAAOE;AAC/B,EAAE"}
1
+ {"version":3,"sources":["../src/components/ToggleButton/useToggleButton.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ToggleButtonProps, ToggleButtonState } from './ToggleButton.types';\nimport { useToggleButtonBase_unstable } from './useToggleButtonBase';\nimport { useButtonContext } from '../../contexts';\n\n/**\n * Given user props, defines default props for the ToggleButton, calls `useToggleButtonBase_unstable` and adds design-related props, and returns\n * processed state.\n * @param props - User provided props to the ToggleButton component.\n * @param ref - User provided ref to be passed to the ToggleButton component.\n */\nexport const useToggleButton_unstable = (\n props: ToggleButtonProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ToggleButtonState => {\n 'use no memo';\n\n const { size: contextSize } = useButtonContext();\n const { appearance = 'secondary', shape = 'rounded', size = contextSize ?? 'medium' } = props;\n\n const buttonState = useToggleButtonBase_unstable(props, ref);\n\n return {\n appearance,\n shape,\n size,\n ...buttonState,\n };\n};\n"],"names":["React","useToggleButtonBase_unstable","useButtonContext","useToggleButton_unstable","props","ref","size","contextSize","appearance","shape","buttonState"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;qCAEc,wBAAwB;0BACpC,iBAAiB;AAQ3C,MAAMG,2BAA2B,CACtCC,OACAC;IAEA;IAEA,MAAM,EAAEC,MAAMC,WAAW,EAAE,OAAGL,0BAAAA;IAC9B,MAAM,EAAEM,aAAa,WAAW,EAAEC,QAAQ,SAAS,EAAEH,OAAOC,gBAAAA,QAAAA,gBAAAA,KAAAA,IAAAA,cAAe,QAAQ,EAAE,GAAGH;IAExF,MAAMM,kBAAcT,iDAAAA,EAA6BG,OAAOC;IAExD,OAAO;QACLG;QACAC;QACAH;QACA,GAAGI,WAAW;IAChB;AACF,EAAE"}
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useToggleButtonBase_unstable", {
7
+ enumerable: true,
8
+ get: function() {
9
+ return useToggleButtonBase_unstable;
10
+ }
11
+ });
12
+ const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
13
+ const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
14
+ const _useToggleState = require("../../utils/useToggleState");
15
+ const _index = require("../Button/index");
16
+ const useToggleButtonBase_unstable = (props, ref)=>{
17
+ const buttonState = (0, _index.useButtonBase_unstable)(props, ref);
18
+ return (0, _useToggleState.useToggleState)(props, buttonState);
19
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/ToggleButton/useToggleButtonBase.ts"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useToggleState } from '../../utils/useToggleState';\nimport { useButtonBase_unstable } from '../Button/index';\nimport type { ToggleButtonBaseProps, ToggleButtonBaseState } from './ToggleButton.types';\n\n/**\n * Given user props, defines base props (including behavioral and structural ones) for the ToggleButton returns\n * processed state.\n * @param props - User provided props to the ToggleButton component.\n * @param ref - User provided ref to be passed to the ToggleButton component.\n */\nexport const useToggleButtonBase_unstable = (\n props: ToggleButtonBaseProps,\n ref: React.Ref<HTMLButtonElement | HTMLAnchorElement>,\n): ToggleButtonBaseState => {\n const buttonState = useButtonBase_unstable(props, ref);\n\n return useToggleState(props, buttonState);\n};\n"],"names":["React","useToggleState","useButtonBase_unstable","useToggleButtonBase_unstable","props","ref","buttonState"],"mappings":"AAAA;;;;;;;;;;;;iEAEuB,QAAQ;gCACA,6BAA6B;uBACrB,kBAAkB;AASlD,MAAMG,+BAA+B,CAC1CC,OACAC;IAEA,MAAMC,kBAAcJ,6BAAAA,EAAuBE,OAAOC;IAElD,WAAOJ,8BAAAA,EAAeG,OAAOE;AAC/B,EAAE"}
@@ -101,3 +101,14 @@ const _SplitButton = require("./SplitButton");
101
101
  const _ToggleButton = require("./ToggleButton");
102
102
  const _index = require("./utils/index");
103
103
  const _index1 = require("./contexts/index");
104
+ // Experimental APIs - will be uncommented in the experimental release branch
105
+ // export { useButtonBase_unstable } from './Button';
106
+ // export type { ButtonBaseProps, ButtonBaseState } from './Button';
107
+ // export { useCompoundButtonBase_unstable } from './CompoundButton';
108
+ // export type { CompoundButtonBaseProps, CompoundButtonBaseState } from './CompoundButton';
109
+ // export { useMenuButtonBase_unstable } from './MenuButton';
110
+ // export type { MenuButtonBaseProps, MenuButtonBaseState } from './MenuButton';
111
+ // export { useSplitButtonBase_unstable } from './SplitButton';
112
+ // export type { SplitButtonBaseProps, SplitButtonBaseState } from './SplitButton';
113
+ // export { useToggleButtonBase_unstable } from './ToggleButton';
114
+ // export type { ToggleButtonBaseProps, ToggleButtonBaseState } from './ToggleButton';
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Button,\n buttonClassNames,\n renderButton_unstable,\n useButtonStyles_unstable,\n useButton_unstable,\n} from './Button';\nexport type { ButtonProps, ButtonSlots, ButtonState } from './Button';\nexport {\n CompoundButton,\n compoundButtonClassNames,\n renderCompoundButton_unstable,\n useCompoundButtonStyles_unstable,\n useCompoundButton_unstable,\n} from './CompoundButton';\nexport type { CompoundButtonProps, CompoundButtonSlots, CompoundButtonState } from './CompoundButton';\nexport {\n MenuButton,\n menuButtonClassNames,\n renderMenuButton_unstable,\n useMenuButtonStyles_unstable,\n useMenuButton_unstable,\n} from './MenuButton';\nexport type { MenuButtonProps, MenuButtonSlots, MenuButtonState } from './MenuButton';\nexport {\n SplitButton,\n renderSplitButton_unstable,\n splitButtonClassNames,\n useSplitButtonStyles_unstable,\n useSplitButton_unstable,\n} from './SplitButton';\nexport type { SplitButtonProps, SplitButtonSlots, SplitButtonState } from './SplitButton';\nexport {\n ToggleButton,\n renderToggleButton_unstable,\n toggleButtonClassNames,\n useToggleButtonStyles_unstable,\n useToggleButton_unstable,\n} from './ToggleButton';\nexport type { ToggleButtonProps, ToggleButtonState } from './ToggleButton';\n\nexport { useToggleState } from './utils/index';\n\nexport { ButtonContextProvider, useButtonContext } from './contexts/index';\nexport type { ButtonContextValue } from './contexts/index';\n"],"names":["Button","buttonClassNames","renderButton_unstable","useButtonStyles_unstable","useButton_unstable","CompoundButton","compoundButtonClassNames","renderCompoundButton_unstable","useCompoundButtonStyles_unstable","useCompoundButton_unstable","MenuButton","menuButtonClassNames","renderMenuButton_unstable","useMenuButtonStyles_unstable","useMenuButton_unstable","SplitButton","renderSplitButton_unstable","splitButtonClassNames","useSplitButtonStyles_unstable","useSplitButton_unstable","ToggleButton","renderToggleButton_unstable","toggleButtonClassNames","useToggleButtonStyles_unstable","useToggleButton_unstable","useToggleState","ButtonContextProvider","useButtonContext"],"mappings":";;;;;;;;;;;IACEA,MAAM;;;;eA0CC0B,6BAAqB;;;eAlC5BrB,8BAAc;;;eAQdK,sBAAU;;eAQC;eAAXK;;gBAQY;eAAZK;;;eA/BAnB,wBAAgB;;;eAQhBK,wCAAwB;;wBAQJ;eAApBK;;;eAfAT,6BAAqB;;iCAQQ;eAA7BK;;6BAQyB;eAAzBK;;;eAOAI,uCAA0B;;;eAQ1BK,yCAA2B;;;eAP3BJ,kCAAqB;;;eAQrBK,oCAAsB;;IAQQK;uCAAgB;;;eAvC9CxB,gCAAwB;;;eACxBC,0BAAkB;;;eAOlBI,gDAAgC;;;eAChCC,0CAA0B;;;eAO1BI,wCAA4B;;;eAC5BC,kCAAsB;;;eAOtBI,0CAA6B;;;eAC7BC,oCAAuB;;IAOvBI;2DAA8B;;;eAC9BC,sCAAwB;;;eAIjBC,qBAAc;;;wBAnChB,WAAW;gCAQX,mBAAmB;4BAQnB,eAAe;6BAQf,gBAAgB;8BAQhB,iBAAiB;uBAGO,gBAAgB;wBAES,mBAAmB"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export {\n Button,\n buttonClassNames,\n renderButton_unstable,\n useButtonStyles_unstable,\n useButton_unstable,\n} from './Button';\nexport type { ButtonProps, ButtonSlots, ButtonState } from './Button';\nexport {\n CompoundButton,\n compoundButtonClassNames,\n renderCompoundButton_unstable,\n useCompoundButtonStyles_unstable,\n useCompoundButton_unstable,\n} from './CompoundButton';\nexport type { CompoundButtonProps, CompoundButtonSlots, CompoundButtonState } from './CompoundButton';\nexport {\n MenuButton,\n menuButtonClassNames,\n renderMenuButton_unstable,\n useMenuButtonStyles_unstable,\n useMenuButton_unstable,\n} from './MenuButton';\nexport type { MenuButtonProps, MenuButtonSlots, MenuButtonState } from './MenuButton';\nexport {\n SplitButton,\n renderSplitButton_unstable,\n splitButtonClassNames,\n useSplitButtonStyles_unstable,\n useSplitButton_unstable,\n} from './SplitButton';\nexport type { SplitButtonProps, SplitButtonSlots, SplitButtonState } from './SplitButton';\nexport {\n ToggleButton,\n renderToggleButton_unstable,\n toggleButtonClassNames,\n useToggleButtonStyles_unstable,\n useToggleButton_unstable,\n} from './ToggleButton';\nexport type { ToggleButtonProps, ToggleButtonState } from './ToggleButton';\n\nexport { useToggleState } from './utils/index';\n\nexport { ButtonContextProvider, useButtonContext } from './contexts/index';\nexport type { ButtonContextValue } from './contexts/index';\n\n// Experimental APIs - will be uncommented in the experimental release branch\n// export { useButtonBase_unstable } from './Button';\n// export type { ButtonBaseProps, ButtonBaseState } from './Button';\n// export { useCompoundButtonBase_unstable } from './CompoundButton';\n// export type { CompoundButtonBaseProps, CompoundButtonBaseState } from './CompoundButton';\n// export { useMenuButtonBase_unstable } from './MenuButton';\n// export type { MenuButtonBaseProps, MenuButtonBaseState } from './MenuButton';\n// export { useSplitButtonBase_unstable } from './SplitButton';\n// export type { SplitButtonBaseProps, SplitButtonBaseState } from './SplitButton';\n// export { useToggleButtonBase_unstable } from './ToggleButton';\n// export type { ToggleButtonBaseProps, ToggleButtonBaseState } from './ToggleButton';\n"],"names":["Button","buttonClassNames","renderButton_unstable","useButtonStyles_unstable","useButton_unstable","CompoundButton","compoundButtonClassNames","renderCompoundButton_unstable","useCompoundButtonStyles_unstable","useCompoundButton_unstable","MenuButton","menuButtonClassNames","renderMenuButton_unstable","useMenuButtonStyles_unstable","useMenuButton_unstable","SplitButton","renderSplitButton_unstable","splitButtonClassNames","useSplitButtonStyles_unstable","useSplitButton_unstable","ToggleButton","renderToggleButton_unstable","toggleButtonClassNames","useToggleButtonStyles_unstable","useToggleButton_unstable","useToggleState","ButtonContextProvider","useButtonContext"],"mappings":";;;;;;;;;;;IACEA,MAAM;;;yBA0CsB;eAArB0B;;;eAlCPrB,8BAAc;;;eAQdK,sBAAU;;IAQVK;uCAAW;;IAQXK;yCAAY;;;eA/BZnB,wBAAgB;;;eAQhBK,wCAAwB;;IAQxBK,oBAAoB;;;;eAfpBT,6BAAqB;;;eAQrBK,6CAA6B;;;eAQ7BK,qCAAyB;;;eAOzBI,uCAA0B;;IAQ1BK;wDAA2B;;;eAP3BJ,kCAAqB;;;eAQrBK,oCAAsB;;;eAQQK,wBAAgB;;;eAvC9CxB,gCAAwB;;;eACxBC,0BAAkB;;;eAOlBI,gDAAgC;;;eAChCC,0CAA0B;;;eAO1BI,wCAA4B;;;eAC5BC,kCAAsB;;;eAOtBI,0CAA6B;;;eAC7BC,oCAAuB;;;eAOvBI,4CAA8B;;IAC9BC;qDAAwB;;kBAIH;eAAdC;;;wBAnCF,WAAW;gCAQX,mBAAmB;4BAQnB,eAAe;6BAQf,gBAAgB;8BAQhB,iBAAiB;uBAGO,gBAAgB;wBAES,mBAAmB;CAG3E,6EAA6E;CAC7E,qDAAqD;CACrD,oEAAoE;CACpE,qEAAqE;CACrE,4FAA4F;CAC5F,6DAA6D;CAC7D,gFAAgF;CAChF,+DAA+D;CAC/D,mFAAmF;CACnF,iEAAiE;CACjE,sFAAsF"}