@fluentui/react-button 0.0.0-nightly-20220421-0418.1 → 0.0.0-nightly-20220426-0421.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.json +56 -15
  2. package/CHANGELOG.md +22 -10
  3. package/dist/react-button.d.ts +3 -1
  4. package/lib/components/Button/useButtonStyles.js +98 -56
  5. package/lib/components/Button/useButtonStyles.js.map +1 -1
  6. package/lib/components/CompoundButton/CompoundButton.d.ts +1 -1
  7. package/lib/components/CompoundButton/CompoundButton.js.map +1 -1
  8. package/lib/components/CompoundButton/useCompoundButtonStyles.js +18 -9
  9. package/lib/components/CompoundButton/useCompoundButtonStyles.js.map +1 -1
  10. package/lib/components/SplitButton/useSplitButtonStyles.js +12 -7
  11. package/lib/components/SplitButton/useSplitButtonStyles.js.map +1 -1
  12. package/lib/components/ToggleButton/useToggleButton.d.ts +1 -1
  13. package/lib/components/ToggleButton/useToggleButton.js +3 -41
  14. package/lib/components/ToggleButton/useToggleButton.js.map +1 -1
  15. package/lib/components/ToggleButton/useToggleButtonStyles.d.ts +2 -0
  16. package/lib/components/ToggleButton/useToggleButtonStyles.js +69 -59
  17. package/lib/components/ToggleButton/useToggleButtonStyles.js.map +1 -1
  18. package/lib/index.d.ts +1 -0
  19. package/lib/index.js +1 -0
  20. package/lib/index.js.map +1 -1
  21. package/lib/utils/index.d.ts +1 -0
  22. package/lib/utils/index.js +2 -0
  23. package/lib/utils/index.js.map +1 -0
  24. package/lib/utils/useToggleState.d.ts +3 -0
  25. package/lib/utils/useToggleState.js +37 -0
  26. package/lib/utils/useToggleState.js.map +1 -0
  27. package/lib-commonjs/components/Button/useButtonStyles.js +99 -56
  28. package/lib-commonjs/components/Button/useButtonStyles.js.map +1 -1
  29. package/lib-commonjs/components/CompoundButton/CompoundButton.d.ts +1 -1
  30. package/lib-commonjs/components/CompoundButton/CompoundButton.js.map +1 -1
  31. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js +18 -9
  32. package/lib-commonjs/components/CompoundButton/useCompoundButtonStyles.js.map +1 -1
  33. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js +12 -7
  34. package/lib-commonjs/components/SplitButton/useSplitButtonStyles.js.map +1 -1
  35. package/lib-commonjs/components/ToggleButton/useToggleButton.d.ts +1 -1
  36. package/lib-commonjs/components/ToggleButton/useToggleButton.js +3 -42
  37. package/lib-commonjs/components/ToggleButton/useToggleButton.js.map +1 -1
  38. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.d.ts +2 -0
  39. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js +73 -61
  40. package/lib-commonjs/components/ToggleButton/useToggleButtonStyles.js.map +1 -1
  41. package/lib-commonjs/index.d.ts +1 -0
  42. package/lib-commonjs/index.js +10 -1
  43. package/lib-commonjs/index.js.map +1 -1
  44. package/lib-commonjs/utils/index.d.ts +1 -0
  45. package/lib-commonjs/utils/index.js +10 -0
  46. package/lib-commonjs/utils/index.js.map +1 -0
  47. package/lib-commonjs/utils/useToggleState.d.ts +3 -0
  48. package/lib-commonjs/utils/useToggleState.js +48 -0
  49. package/lib-commonjs/utils/useToggleState.js.map +1 -0
  50. package/package.json +7 -7
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useToggleState = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+
12
+ function useToggleState(props, state) {
13
+ const {
14
+ checked,
15
+ defaultChecked,
16
+ disabled,
17
+ disabledFocusable
18
+ } = props;
19
+ const {
20
+ onClick,
21
+ role
22
+ } = state.root;
23
+ const [checkedValue, setCheckedValue] = react_utilities_1.useControllableState({
24
+ state: checked,
25
+ defaultState: defaultChecked,
26
+ initialState: false
27
+ });
28
+ const isCheckboxTypeRole = role === 'menuitemcheckbox' || role === 'checkbox';
29
+ const onToggleClick = React.useCallback(ev => {
30
+ if (!disabled && !disabledFocusable) {
31
+ if (ev.defaultPrevented) {
32
+ return;
33
+ }
34
+
35
+ setCheckedValue(!checkedValue);
36
+ }
37
+ }, [checkedValue, disabled, disabledFocusable, setCheckedValue]);
38
+ return { ...state,
39
+ checked: checkedValue,
40
+ root: { ...state.root,
41
+ [isCheckboxTypeRole ? 'aria-checked' : 'aria-pressed']: checkedValue,
42
+ onClick: react_utilities_1.useMergedEventCallbacks(onClick, onToggleClick)
43
+ }
44
+ };
45
+ }
46
+
47
+ exports.useToggleState = useToggleState;
48
+ //# sourceMappingURL=useToggleState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["utils/useToggleState.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AAIA,SAAgB,cAAhB,CAIE,KAJF,EAI6B,KAJ7B,EAIgD;AAC9C,QAAM;AAAE,IAAA,OAAF;AAAW,IAAA,cAAX;AAA2B,IAAA,QAA3B;AAAqC,IAAA;AAArC,MAA2D,KAAjE;AACA,QAAM;AAAE,IAAA,OAAF;AAAW,IAAA;AAAX,MAAoB,KAAK,CAAC,IAAhC;AAEA,QAAM,CAAC,YAAD,EAAe,eAAf,IAAkC,iBAAA,CAAA,oBAAA,CAAqB;AAC3D,IAAA,KAAK,EAAE,OADoD;AAE3D,IAAA,YAAY,EAAE,cAF6C;AAG3D,IAAA,YAAY,EAAE;AAH6C,GAArB,CAAxC;AAMA,QAAM,kBAAkB,GAAG,IAAI,KAAK,kBAAT,IAA+B,IAAI,KAAK,UAAnE;AAEA,QAAM,aAAa,GAAG,KAAK,CAAC,WAAN,CACpB,EAAE,IAAG;AACH,QAAI,CAAC,QAAD,IAAa,CAAC,iBAAlB,EAAqC;AACnC,UAAI,EAAE,CAAC,gBAAP,EAAyB;AACvB;AACD;;AAED,MAAA,eAAe,CAAC,CAAC,YAAF,CAAf;AACD;AACF,GATmB,EAUpB,CAAC,YAAD,EAAe,QAAf,EAAyB,iBAAzB,EAA4C,eAA5C,CAVoB,CAAtB;AAaA,SAAO,EACL,GAAG,KADE;AAGL,IAAA,OAAO,EAAE,YAHJ;AAKL,IAAA,IAAI,EAAE,EACJ,GAAG,KAAK,CAAC,IADL;AAEJ,OAAC,kBAAkB,GAAG,cAAH,GAAoB,cAAvC,GAAwD,YAFpD;AAGJ,MAAA,OAAO,EAAE,iBAAA,CAAA,uBAAA,CACP,OADO,EAEP,aAFO;AAHL;AALD,GAAP;AAcD;;AA3CD,OAAA,CAAA,cAAA,GAAA,cAAA","sourcesContent":["import * as React from 'react';\nimport { useControllableState, useMergedEventCallbacks } from '@fluentui/react-utilities';\nimport type { ButtonState } from '../Button';\nimport type { ToggleButtonProps, ToggleButtonState } from '../ToggleButton';\n\nexport function useToggleState<\n TToggleButtonProps extends Pick<ToggleButtonProps, 'checked' | 'defaultChecked' | 'disabled' | 'disabledFocusable'>,\n TButtonState extends Pick<ButtonState, 'root'>,\n TToggleButtonState extends Pick<ToggleButtonState, 'checked' | 'root'>\n>(props: TToggleButtonProps, state: TButtonState): TToggleButtonState {\n const { checked, defaultChecked, disabled, disabledFocusable } = props;\n const { onClick, role } = state.root;\n\n const [checkedValue, setCheckedValue] = useControllableState({\n state: checked,\n defaultState: defaultChecked,\n initialState: false,\n });\n\n const isCheckboxTypeRole = role === 'menuitemcheckbox' || role === 'checkbox';\n\n const onToggleClick = React.useCallback(\n ev => {\n if (!disabled && !disabledFocusable) {\n if (ev.defaultPrevented) {\n return;\n }\n\n setCheckedValue(!checkedValue);\n }\n },\n [checkedValue, disabled, disabledFocusable, setCheckedValue],\n );\n\n return {\n ...state,\n\n checked: checkedValue,\n\n root: {\n ...state.root,\n [isCheckboxTypeRole ? 'aria-checked' : 'aria-pressed']: checkedValue,\n onClick: useMergedEventCallbacks(\n onClick as React.MouseEventHandler<HTMLButtonElement | HTMLAnchorElement>,\n onToggleClick,\n ),\n },\n } as TToggleButtonState;\n}\n"],"sourceRoot":"../src/"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-button",
3
- "version": "0.0.0-nightly-20220421-0418.1",
3
+ "version": "0.0.0-nightly-20220426-0421.1",
4
4
  "description": "Fluent UI React Button component.",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -29,16 +29,16 @@
29
29
  "@fluentui/a11y-testing": "^0.1.0",
30
30
  "@fluentui/eslint-plugin": "*",
31
31
  "@fluentui/react-conformance": "*",
32
- "@fluentui/react-conformance-griffel": "0.0.0-nightly-20220421-0418.1",
32
+ "@fluentui/react-conformance-griffel": "0.0.0-nightly-20220426-0421.1",
33
33
  "@fluentui/scripts": "^1.0.0"
34
34
  },
35
35
  "dependencies": {
36
- "@fluentui/keyboard-keys": "0.0.0-nightly-20220421-0418.1",
37
- "@fluentui/react-aria": "0.0.0-nightly-20220421-0418.1",
36
+ "@fluentui/keyboard-keys": "0.0.0-nightly-20220426-0421.1",
37
+ "@fluentui/react-aria": "0.0.0-nightly-20220426-0421.1",
38
38
  "@fluentui/react-icons": "^2.0.166-rc.3",
39
- "@fluentui/react-tabster": "0.0.0-nightly-20220421-0418.1",
40
- "@fluentui/react-theme": "0.0.0-nightly-20220421-0418.1",
41
- "@fluentui/react-utilities": "0.0.0-nightly-20220421-0418.1",
39
+ "@fluentui/react-tabster": "0.0.0-nightly-20220426-0421.1",
40
+ "@fluentui/react-theme": "0.0.0-nightly-20220426-0421.1",
41
+ "@fluentui/react-utilities": "0.0.0-nightly-20220426-0421.1",
42
42
  "@griffel/react": "1.0.3",
43
43
  "tslib": "^2.1.0"
44
44
  },