@fluentui/react-button 9.7.1 → 9.72.9-experimental.component-base-hooks.20260122-49fc330360.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.
- package/CHANGELOG.md +18 -2
- package/dist/index.d.ts +65 -3
- package/lib/Button.js +1 -1
- package/lib/Button.js.map +1 -1
- package/lib/CompoundButton.js +1 -1
- package/lib/CompoundButton.js.map +1 -1
- package/lib/MenuButton.js +1 -1
- package/lib/MenuButton.js.map +1 -1
- package/lib/SplitButton.js +1 -1
- package/lib/SplitButton.js.map +1 -1
- package/lib/ToggleButton.js +1 -1
- package/lib/ToggleButton.js.map +1 -1
- package/lib/components/Button/Button.types.js.map +1 -1
- package/lib/components/Button/index.js +1 -0
- package/lib/components/Button/index.js.map +1 -1
- package/lib/components/Button/useButton.js +4 -22
- package/lib/components/Button/useButton.js.map +1 -1
- package/lib/components/Button/useButtonBase.js +34 -0
- package/lib/components/Button/useButtonBase.js.map +1 -0
- package/lib/components/CompoundButton/CompoundButton.types.js.map +1 -1
- package/lib/components/CompoundButton/index.js +1 -0
- package/lib/components/CompoundButton/index.js.map +1 -1
- package/lib/components/CompoundButton/useCompoundButton.js +11 -23
- package/lib/components/CompoundButton/useCompoundButton.js.map +1 -1
- package/lib/components/CompoundButton/useCompoundButtonBase.js +31 -0
- package/lib/components/CompoundButton/useCompoundButtonBase.js.map +1 -0
- package/lib/components/MenuButton/MenuButton.types.js.map +1 -1
- package/lib/components/MenuButton/index.js +1 -0
- package/lib/components/MenuButton/index.js.map +1 -1
- package/lib/components/MenuButton/useMenuButton.js +14 -23
- package/lib/components/MenuButton/useMenuButton.js.map +1 -1
- package/lib/components/MenuButton/useMenuButtonBase.js +27 -0
- package/lib/components/MenuButton/useMenuButtonBase.js.map +1 -0
- package/lib/components/SplitButton/SplitButton.types.js.map +1 -1
- package/lib/components/SplitButton/index.js +1 -0
- package/lib/components/SplitButton/index.js.map +1 -1
- package/lib/components/SplitButton/useSplitButton.js +16 -53
- package/lib/components/SplitButton/useSplitButton.js.map +1 -1
- package/lib/components/SplitButton/useSplitButtonBase.js +57 -0
- package/lib/components/SplitButton/useSplitButtonBase.js.map +1 -0
- package/lib/components/ToggleButton/ToggleButton.types.js.map +1 -1
- package/lib/components/ToggleButton/index.js +1 -0
- package/lib/components/ToggleButton/index.js.map +1 -1
- package/lib/components/ToggleButton/useToggleButton.js +13 -5
- package/lib/components/ToggleButton/useToggleButton.js.map +1 -1
- package/lib/components/ToggleButton/useToggleButtonBase.js +13 -0
- package/lib/components/ToggleButton/useToggleButtonBase.js.map +1 -0
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -1
- package/lib-commonjs/Button.js +3 -0
- package/lib-commonjs/Button.js.map +1 -1
- package/lib-commonjs/CompoundButton.js +3 -0
- package/lib-commonjs/CompoundButton.js.map +1 -1
- package/lib-commonjs/MenuButton.js +3 -0
- package/lib-commonjs/MenuButton.js.map +1 -1
- package/lib-commonjs/SplitButton.js +3 -0
- package/lib-commonjs/SplitButton.js.map +1 -1
- package/lib-commonjs/ToggleButton.js +3 -0
- package/lib-commonjs/ToggleButton.js.map +1 -1
- package/lib-commonjs/components/Button/Button.types.js.map +1 -1
- package/lib-commonjs/components/Button/index.js +4 -0
- package/lib-commonjs/components/Button/index.js.map +1 -1
- package/lib-commonjs/components/Button/useButton.js +4 -22
- package/lib-commonjs/components/Button/useButton.js.map +1 -1
- package/lib-commonjs/components/Button/useButtonBase.js +41 -0
- package/lib-commonjs/components/Button/useButtonBase.js.map +1 -0
- package/lib-commonjs/components/CompoundButton/CompoundButton.types.js.map +1 -1
- package/lib-commonjs/components/CompoundButton/index.js +4 -0
- package/lib-commonjs/components/CompoundButton/index.js.map +1 -1
- package/lib-commonjs/components/CompoundButton/useCompoundButton.js +11 -23
- package/lib-commonjs/components/CompoundButton/useCompoundButton.js.map +1 -1
- package/lib-commonjs/components/CompoundButton/useCompoundButtonBase.js +38 -0
- package/lib-commonjs/components/CompoundButton/useCompoundButtonBase.js.map +1 -0
- package/lib-commonjs/components/MenuButton/MenuButton.types.js.map +1 -1
- package/lib-commonjs/components/MenuButton/index.js +4 -0
- package/lib-commonjs/components/MenuButton/index.js.map +1 -1
- package/lib-commonjs/components/MenuButton/useMenuButton.js +14 -23
- package/lib-commonjs/components/MenuButton/useMenuButton.js.map +1 -1
- package/lib-commonjs/components/MenuButton/useMenuButtonBase.js +36 -0
- package/lib-commonjs/components/MenuButton/useMenuButtonBase.js.map +1 -0
- package/lib-commonjs/components/SplitButton/SplitButton.types.js.map +1 -1
- package/lib-commonjs/components/SplitButton/index.js +4 -0
- package/lib-commonjs/components/SplitButton/index.js.map +1 -1
- package/lib-commonjs/components/SplitButton/useSplitButton.js +16 -53
- package/lib-commonjs/components/SplitButton/useSplitButton.js.map +1 -1
- package/lib-commonjs/components/SplitButton/useSplitButtonBase.js +64 -0
- package/lib-commonjs/components/SplitButton/useSplitButtonBase.js.map +1 -0
- package/lib-commonjs/components/ToggleButton/ToggleButton.types.js.map +1 -1
- package/lib-commonjs/components/ToggleButton/index.js +4 -0
- package/lib-commonjs/components/ToggleButton/index.js.map +1 -1
- package/lib-commonjs/components/ToggleButton/useToggleButton.js +12 -4
- package/lib-commonjs/components/ToggleButton/useToggleButton.js.map +1 -1
- package/lib-commonjs/components/ToggleButton/useToggleButtonBase.js +19 -0
- package/lib-commonjs/components/ToggleButton/useToggleButtonBase.js.map +1 -0
- package/lib-commonjs/index.js +15 -0
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +9 -21
- package/lib/components/Button/useButtonStyles.styles.headless.js +0 -36
- package/lib/components/Button/useButtonStyles.styles.headless.js.map +0 -1
- package/lib/components/Button/useButtonStyles.styles.raw.headless.js +0 -36
- package/lib/components/Button/useButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib/components/CompoundButton/useCompoundButtonStyles.styles.headless.js +0 -49
- package/lib/components/CompoundButton/useCompoundButtonStyles.styles.headless.js.map +0 -1
- package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js +0 -49
- package/lib/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib/components/MenuButton/useMenuButtonStyles.styles.headless.js +0 -44
- package/lib/components/MenuButton/useMenuButtonStyles.styles.headless.js.map +0 -1
- package/lib/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js +0 -44
- package/lib/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib/components/SplitButton/useSplitButtonStyles.styles.headless.js +0 -39
- package/lib/components/SplitButton/useSplitButtonStyles.styles.headless.js.map +0 -1
- package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js +0 -39
- package/lib/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib/components/ToggleButton/useToggleButtonStyles.styles.headless.js +0 -36
- package/lib/components/ToggleButton/useToggleButtonStyles.styles.headless.js.map +0 -1
- package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js +0 -36
- package/lib/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib-commonjs/components/Button/useButtonStyles.styles.headless.js +0 -52
- package/lib-commonjs/components/Button/useButtonStyles.styles.headless.js.map +0 -1
- package/lib-commonjs/components/Button/useButtonStyles.styles.raw.headless.js +0 -52
- package/lib-commonjs/components/Button/useButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.headless.js +0 -64
- package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.headless.js.map +0 -1
- package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js +0 -64
- package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.headless.js +0 -60
- package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.headless.js.map +0 -1
- package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js +0 -60
- package/lib-commonjs/components/MenuButton/useMenuButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.headless.js +0 -55
- package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.headless.js.map +0 -1
- package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js +0 -55
- package/lib-commonjs/components/SplitButton/useSplitButtonStyles.styles.raw.headless.js.map +0 -1
- package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.headless.js +0 -52
- package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.headless.js.map +0 -1
- package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js +0 -52
- package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.styles.raw.headless.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/CompoundButton/CompoundButton.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { ButtonProps, ButtonSlots, ButtonState } from '../Button/Button.types';\n\nexport type CompoundButtonSlots = ButtonSlots & {\n /**\n * Second line of text that describes the action this button takes.\n */\n secondaryContent?: Slot<'span'>;\n\n /**\n * Container that wraps the children and the secondaryContent slot.\n */\n contentContainer: NonNullable<Slot<'span'>>;\n};\n\nexport type CompoundButtonProps = ComponentProps<Partial<CompoundButtonSlots>> &\n Pick<ButtonProps, 'appearance' | 'disabledFocusable' | 'disabled' | 'iconPosition' | 'shape' | 'size'>;\n\nexport type CompoundButtonState = ComponentState<CompoundButtonSlots> &\n Omit<ButtonState, keyof ButtonSlots | 'components'>;\n"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"sources":["../src/components/CompoundButton/CompoundButton.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 CompoundButtonSlots = ButtonSlots & {\n /**\n * Second line of text that describes the action this button takes.\n */\n secondaryContent?: Slot<'span'>;\n\n /**\n * Container that wraps the children and the secondaryContent slot.\n */\n contentContainer: NonNullable<Slot<'span'>>;\n};\n\nexport type CompoundButtonProps = ComponentProps<Partial<CompoundButtonSlots>> &\n Pick<ButtonProps, 'appearance' | 'disabledFocusable' | 'disabled' | 'iconPosition' | 'shape' | 'size'>;\n\nexport type CompoundButtonBaseProps = DistributiveOmit<CompoundButtonProps, ButtonDesignPropNames>;\n\nexport type CompoundButtonState = ComponentState<CompoundButtonSlots> &\n Omit<ButtonState, keyof ButtonSlots | 'components'>;\n\nexport type CompoundButtonBaseState = DistributiveOmit<CompoundButtonState, ButtonDesignPropNames>;\n"],"names":[],"mappings":""}
|
|
@@ -18,6 +18,9 @@ _export(exports, {
|
|
|
18
18
|
renderCompoundButton_unstable: function() {
|
|
19
19
|
return _renderCompoundButton.renderCompoundButton_unstable;
|
|
20
20
|
},
|
|
21
|
+
useCompoundButtonBase_unstable: function() {
|
|
22
|
+
return _useCompoundButtonBase.useCompoundButtonBase_unstable;
|
|
23
|
+
},
|
|
21
24
|
useCompoundButtonStyles_unstable: function() {
|
|
22
25
|
return _useCompoundButtonStylesstyles.useCompoundButtonStyles_unstable;
|
|
23
26
|
},
|
|
@@ -28,4 +31,5 @@ _export(exports, {
|
|
|
28
31
|
const _CompoundButton = require("./CompoundButton");
|
|
29
32
|
const _renderCompoundButton = require("./renderCompoundButton");
|
|
30
33
|
const _useCompoundButton = require("./useCompoundButton");
|
|
34
|
+
const _useCompoundButtonBase = require("./useCompoundButtonBase");
|
|
31
35
|
const _useCompoundButtonStylesstyles = require("./useCompoundButtonStyles.styles");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/CompoundButton/index.ts"],"sourcesContent":["export { CompoundButton } from './CompoundButton';\nexport type {
|
|
1
|
+
{"version":3,"sources":["../src/components/CompoundButton/index.ts"],"sourcesContent":["export { CompoundButton } from './CompoundButton';\nexport type {\n CompoundButtonBaseProps,\n CompoundButtonProps,\n CompoundButtonSlots,\n CompoundButtonBaseState,\n CompoundButtonState,\n} from './CompoundButton.types';\nexport { renderCompoundButton_unstable } from './renderCompoundButton';\nexport { useCompoundButton_unstable } from './useCompoundButton';\nexport { useCompoundButtonBase_unstable } from './useCompoundButtonBase';\nexport { compoundButtonClassNames, useCompoundButtonStyles_unstable } from './useCompoundButtonStyles.styles';\n"],"names":["CompoundButton","renderCompoundButton_unstable","useCompoundButton_unstable","useCompoundButtonBase_unstable","compoundButtonClassNames","useCompoundButtonStyles_unstable"],"mappings":";;;;;;;;;;;;eAASA,8BAAc;;;eAWdI,uDAAwB;;;eAHxBH,mDAA6B;;;eAE7BE,qDAA8B;;;eACJE,+DAAgC;;;eAF1DH,6CAA0B;;;gCATJ,mBAAmB;sCAQJ,yBAAyB;mCAC5B,sBAAsB;uCAClB,0BAA0B;+CACE,mCAAmC"}
|
|
@@ -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
|
|
15
|
-
const
|
|
16
|
-
const useCompoundButton_unstable = (
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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 {
|
|
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 {
|
|
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
|
|
16
|
-
const
|
|
17
|
-
const useMenuButton_unstable = (
|
|
15
|
+
const _contexts = require("../../contexts");
|
|
16
|
+
const _useMenuButtonBase = require("./useMenuButtonBase");
|
|
17
|
+
const useMenuButton_unstable = (props, ref)=>{
|
|
18
18
|
'use no memo';
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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 {
|
|
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 {
|
|
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
|
|
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',
|
|
18
|
-
const
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
22
|
+
...state,
|
|
23
|
+
menuButton: {
|
|
24
|
+
appearance,
|
|
25
|
+
shape,
|
|
26
|
+
size,
|
|
27
|
+
...state.menuButton
|
|
63
28
|
},
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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":["
|
|
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 {
|
|
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
|
|
15
|
-
const
|
|
14
|
+
const _useToggleButtonBase = require("./useToggleButtonBase");
|
|
15
|
+
const _contexts = require("../../contexts");
|
|
16
16
|
const useToggleButton_unstable = (props, ref)=>{
|
|
17
|
-
|
|
18
|
-
|
|
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 {
|
|
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"}
|