@fluentui-react-native/menu 0.7.0 → 0.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.
- package/CHANGELOG.json +16 -1
- package/CHANGELOG.md +10 -2
- package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
- package/lib/MenuItem/useMenuItem.js +3 -2
- package/lib/MenuItem/useMenuItem.js.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +3 -4
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +31 -13
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib/MenuList/MenuList.d.ts.map +1 -1
- package/lib/MenuList/MenuList.js +8 -2
- package/lib/MenuList/MenuList.js.map +1 -1
- package/lib/MenuList/MenuList.types.d.ts +7 -0
- package/lib/MenuList/MenuList.types.d.ts.map +1 -1
- package/lib/MenuList/MenuList.types.js.map +1 -1
- package/lib/MenuList/useMenuContextValue.d.ts +4 -0
- package/lib/MenuList/useMenuContextValue.d.ts.map +1 -0
- package/lib/MenuList/useMenuContextValue.js +5 -0
- package/lib/MenuList/useMenuContextValue.js.map +1 -0
- package/lib/MenuList/useMenuList.d.ts +3 -0
- package/lib/MenuList/useMenuList.d.ts.map +1 -0
- package/lib/MenuList/useMenuList.js +31 -0
- package/lib/MenuList/useMenuList.js.map +1 -0
- package/lib/context/menuContext.d.ts.map +1 -1
- package/lib/context/menuContext.js +4 -0
- package/lib/context/menuContext.js.map +1 -1
- package/lib/context/menuListContext.d.ts +9 -0
- package/lib/context/menuListContext.d.ts.map +1 -1
- package/lib/context/menuListContext.js +10 -1
- package/lib/context/menuListContext.js.map +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.js +3 -2
- package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js +1 -0
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +3 -4
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +29 -11
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuList.js +8 -2
- package/lib-commonjs/MenuList/MenuList.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.types.d.ts +7 -0
- package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuList.types.js.map +1 -1
- package/lib-commonjs/MenuList/useMenuContextValue.d.ts +4 -0
- package/lib-commonjs/MenuList/useMenuContextValue.d.ts.map +1 -0
- package/lib-commonjs/MenuList/useMenuContextValue.js +9 -0
- package/lib-commonjs/MenuList/useMenuContextValue.js.map +1 -0
- package/lib-commonjs/MenuList/useMenuList.d.ts +3 -0
- package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -0
- package/lib-commonjs/MenuList/useMenuList.js +35 -0
- package/lib-commonjs/MenuList/useMenuList.js.map +1 -0
- package/lib-commonjs/context/menuContext.d.ts.map +1 -1
- package/lib-commonjs/context/menuContext.js +4 -0
- package/lib-commonjs/context/menuContext.js.map +1 -1
- package/lib-commonjs/context/menuListContext.d.ts +9 -0
- package/lib-commonjs/context/menuListContext.d.ts.map +1 -1
- package/lib-commonjs/context/menuListContext.js +14 -0
- package/lib-commonjs/context/menuListContext.js.map +1 -1
- package/package.json +1 -1
- package/src/MenuItem/useMenuItem.ts +3 -2
- package/src/MenuItemCheckbox/MenuItemCheckbox.styling.ts +1 -0
- package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +4 -6
- package/src/MenuItemCheckbox/useMenuItemCheckbox.ts +64 -16
- package/src/MenuList/MenuList.tsx +11 -2
- package/src/MenuList/MenuList.types.ts +8 -0
- package/src/MenuList/useMenuContextValue.ts +6 -0
- package/src/MenuList/useMenuList.ts +49 -0
- package/src/context/menuContext.ts +4 -0
- package/src/context/menuListContext.ts +18 -0
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Fri, 20 May 2022 18:23:29 GMT",
|
|
6
|
+
"tag": "@fluentui-react-native/menu_v0.8.0",
|
|
7
|
+
"version": "0.8.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "ruaraki@microsoft.com",
|
|
12
|
+
"package": "@fluentui-react-native/menu",
|
|
13
|
+
"commit": "e121f1b23ba443ebacff6d74cae04f48eff8e329",
|
|
14
|
+
"comment": "Implement toggle behavior on MenuItemCheckbox"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Mon, 16 May 2022 17:35:49 GMT",
|
|
6
21
|
"tag": "@fluentui-react-native/menu_v0.7.0",
|
|
7
22
|
"version": "0.7.0",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/menu
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Fri, 20 May 2022 18:23:29 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.8.0
|
|
8
|
+
|
|
9
|
+
Fri, 20 May 2022 18:23:29 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Implement toggle behavior on MenuItemCheckbox (ruaraki@microsoft.com)
|
|
14
|
+
|
|
7
15
|
## 0.7.0
|
|
8
16
|
|
|
9
|
-
Mon, 16 May 2022 17:35:
|
|
17
|
+
Mon, 16 May 2022 17:35:49 GMT
|
|
10
18
|
|
|
11
19
|
### Minor changes
|
|
12
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMhE,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,aA0BlD,CAAC"}
|
|
@@ -3,6 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { memoize } from '@fluentui-react-native/framework';
|
|
4
4
|
import { useAsPressable, useKeyProps } from '@fluentui-react-native/interactive-hooks';
|
|
5
5
|
import { useMenuContext } from '../context/menuContext';
|
|
6
|
+
import { useMenuListContext } from '../context/menuListContext';
|
|
6
7
|
export var useMenuItem = function (props) {
|
|
7
8
|
// attach the pressable state handlers
|
|
8
9
|
var defaultComponentRef = React.useRef(null);
|
|
@@ -10,9 +11,9 @@ export var useMenuItem = function (props) {
|
|
|
10
11
|
var pressable = useAsPressable(__assign(__assign({}, rest), { disabled: disabled, onPress: onClick }));
|
|
11
12
|
var onKeyProps = useKeyProps(onClick, ' ', 'Enter');
|
|
12
13
|
var hasSubmenu = useMenuContext().isSubmenu;
|
|
13
|
-
var hasCheckmarks =
|
|
14
|
+
var hasCheckmarks = useMenuListContext().hasCheckmarks;
|
|
14
15
|
return {
|
|
15
|
-
props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityRole: '
|
|
16
|
+
props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityRole: 'menuitem', onAccessibilityTap: props.onAccessibilityTap || props.onClick, accessibilityLabel: props.accessibilityLabel, accessibilityState: getAccessibilityState(disabled, accessibilityState), enableFocusRing: true, focusable: !disabled, ref: componentRef }), onKeyProps),
|
|
16
17
|
state: pressable.state,
|
|
17
18
|
hasSubmenu: hasSubmenu,
|
|
18
19
|
hasCheckmarks: hasCheckmarks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,KAAoB;IAC9C,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,IAAA,OAAO,GAAgF,KAAK,QAArF,EAAE,kBAAkB,GAA4D,KAAK,mBAAjE,EAAE,KAA0D,KAAK,aAA7B,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAAE,QAAQ,GAAc,KAAK,SAAnB,EAAK,IAAI,UAAK,KAAK,EAA9F,6DAAsF,CAAF,CAAW;IACrG,IAAM,SAAS,GAAG,cAAc,uBAAM,IAAI,KAAE,QAAQ,UAAA,EAAE,OAAO,EAAE,OAAO,IAAG,CAAC;IAC1E,IAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,IAAM,UAAU,GAAG,cAAc,EAAE,CAAC,SAAS,CAAC;IAC9C,IAAM,aAAa,GAAG,kBAAkB,EAAE,CAAC,aAAa,CAAC;IAEzD,OAAO;QACL,KAAK,iCACA,SAAS,CAAC,KAAK,KAClB,UAAU,EAAE,IAAI,EAChB,iBAAiB,EAAE,UAAU,EAC7B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,EAC7D,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EACvE,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,QAAQ,EACpB,GAAG,EAAE,YAAY,KACd,UAAU,CACd;QACD,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,UAAU,YAAA;QACV,aAAa,eAAA;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACnE,SAAS,2BAA2B,CAAC,QAAiB,EAAE,kBAAuC;IAC7F,IAAI,kBAAkB,EAAE;QACtB,kBAAS,QAAQ,UAAA,IAAK,kBAAkB,EAAG;KAC5C;IACD,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemCheckbox.styling.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AAGxF,OAAO,EAAwB,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1I,eAAO,MAAM,sBAAsB,EAAE,CAAC,MAAM,sBAAsB,CAAC,EAA6D,CAAC;AAEjI,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"MenuItemCheckbox.styling.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AAGxF,OAAO,EAAwB,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1I,eAAO,MAAM,sBAAsB,EAAE,CAAC,MAAM,sBAAsB,CAAC,EAA6D,CAAC;AAEjI,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,CAsCvH,CAAC"}
|
|
@@ -12,6 +12,7 @@ export var stylingSettings = {
|
|
|
12
12
|
style: __assign({ alignItems: 'center', backgroundColor: tokens.backgroundColor, display: 'flex', flexDirection: 'row' }, layoutStyles.from(tokens, theme)),
|
|
13
13
|
}); }, __spreadArray(['backgroundColor'], layoutStyles.keys, true)),
|
|
14
14
|
checkmark: buildProps(function (tokens) { return ({
|
|
15
|
+
opacity: tokens.checkmarkVisibility,
|
|
15
16
|
color: tokens.color,
|
|
16
17
|
height: tokens.checkmarkSize,
|
|
17
18
|
width: tokens.checkmarkSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemCheckbox.styling.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":";AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAA4E,MAAM,0BAA0B,CAAC;AAE1I,MAAM,CAAC,IAAM,sBAAsB,GAAqC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAEjI,MAAM,CAAC,IAAM,eAAe,GAAgG;IAC1H,MAAM,EAAE,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;IAC7D,MAAM,EAAE,sBAAsB;IAC9B,SAAS,EAAE;QACT,IAAI,EAAE,UAAU,CACd,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,aACH,UAAU,EAAE,QAAQ,EACpB,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,IACjB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CACpC;SACF,CAAC,EARgD,CAQhD,iBACD,iBAAiB,GAAK,YAAY,CAAC,IAAI,QACzC;QACD,SAAS,EAAE,UAAU,CACnB,UAAC,MAA8B,IAAK,OAAA,CAAC;YACnC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,KAAK,EAAE,MAAM,CAAC,aAAa;YAC3B,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACnI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE;SACjC,CAAC,
|
|
1
|
+
{"version":3,"file":"MenuItemCheckbox.styling.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":";AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAA4E,MAAM,0BAA0B,CAAC;AAE1I,MAAM,CAAC,IAAM,sBAAsB,GAAqC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAEjI,MAAM,CAAC,IAAM,eAAe,GAAgG;IAC1H,MAAM,EAAE,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;IAC7D,MAAM,EAAE,sBAAsB;IAC9B,SAAS,EAAE;QACT,IAAI,EAAE,UAAU,CACd,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,aACH,UAAU,EAAE,QAAQ,EACpB,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,IACjB,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CACpC;SACF,CAAC,EARgD,CAQhD,iBACD,iBAAiB,GAAK,YAAY,CAAC,IAAI,QACzC;QACD,SAAS,EAAE,UAAU,CACnB,UAAC,MAA8B,IAAK,OAAA,CAAC;YACnC,OAAO,EAAE,MAAM,CAAC,mBAAmB;YACnC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,KAAK,EAAE,MAAM,CAAC,aAAa;YAC3B,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACnI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE;SACjC,CAAC,EAPkC,CAOlC,EACF,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAClC;QACD,OAAO,EAAE,UAAU,CACjB,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,aACH,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,IAChB,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAClC;SACF,CAAC,EANgD,CAMhD,iBACD,OAAO,GAAK,UAAU,CAAC,IAAI,QAC7B;KACF;CACF,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { ColorValue, ViewProps } from 'react-native';
|
|
|
3
3
|
import { XmlProps } from 'react-native-svg';
|
|
4
4
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
5
5
|
import { TextProps } from '@fluentui-react-native/experimental-text';
|
|
6
|
-
import { IFocusable,
|
|
6
|
+
import { IFocusable, IPressableHooks, IWithPressableOptions } from '@fluentui-react-native/interactive-hooks';
|
|
7
7
|
import { FontTokens, IBorderTokens, IColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
|
|
8
8
|
export declare const menuItemCheckboxName = "MenuItemCheckbox";
|
|
9
9
|
export interface MenuItemCheckboxTokens extends LayoutTokens, FontTokens, IBorderTokens, IColorTokens {
|
|
@@ -29,12 +29,11 @@ export interface MenuItemCheckboxProps extends Omit<IWithPressableOptions<ViewPr
|
|
|
29
29
|
*/
|
|
30
30
|
componentRef?: React.RefObject<IFocusable>;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Identifier for the control
|
|
33
33
|
*/
|
|
34
|
-
|
|
34
|
+
name: string;
|
|
35
35
|
}
|
|
36
36
|
export interface MenuItemCheckboxState extends IPressableHooks<MenuItemCheckboxProps & React.ComponentPropsWithRef<any>> {
|
|
37
|
-
hasCheckmarks?: boolean;
|
|
38
37
|
}
|
|
39
38
|
export interface MenuItemCheckboxSlotProps {
|
|
40
39
|
root: React.PropsWithRef<IViewProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemCheckbox.types.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"MenuItemCheckbox.types.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEtG,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,MAAM,WAAW,sBAAuB,SAAQ,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY;IACnG,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC9F,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE3C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;CAAG;AAE3H,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,yBAAyB,CAAC;CACtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAaxF,eAAO,MAAM,mBAAmB,UAAW,qBAAqB,KAAG,qBAgElE,CAAC"}
|
|
@@ -1,26 +1,44 @@
|
|
|
1
|
-
import { __assign, __rest } from "tslib";
|
|
1
|
+
import { __assign, __rest, __spreadArray } from "tslib";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { memoize } from '@fluentui-react-native/framework';
|
|
4
|
-
import { useAsPressable, useKeyProps } from '@fluentui-react-native/interactive-hooks';
|
|
5
|
-
import {
|
|
4
|
+
import { useAsPressable, useKeyProps, useOnPressWithFocus, useViewCommandFocus, } from '@fluentui-react-native/interactive-hooks';
|
|
5
|
+
import { useMenuListContext } from '../context/menuListContext';
|
|
6
|
+
var defaultAccessibilityActions = [{ name: 'Toggle' }];
|
|
6
7
|
export var useMenuItemCheckbox = function (props) {
|
|
8
|
+
var _a;
|
|
7
9
|
// attach the pressable state handlers
|
|
8
10
|
var defaultComponentRef = React.useRef(null);
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
11
|
+
var accessibilityActions = props.accessibilityActions, accessibilityState = props.accessibilityState, _b = props.componentRef, componentRef = _b === void 0 ? defaultComponentRef : _b, disabled = props.disabled, name = props.name, onAccessibilityAction = props.onAccessibilityAction, rest = __rest(props, ["accessibilityActions", "accessibilityState", "componentRef", "disabled", "name", "onAccessibilityAction"]);
|
|
12
|
+
var context = useMenuListContext();
|
|
13
|
+
var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
|
|
14
|
+
var onCheckedChange = context.onCheckedChange;
|
|
15
|
+
var toggleChecked = React.useCallback(function (e) {
|
|
16
|
+
onCheckedChange(e, name, !checked);
|
|
17
|
+
}, [checked, name, onCheckedChange]);
|
|
18
|
+
// Ensure focus is placed on checkbox after click
|
|
19
|
+
var toggleCheckedWithFocus = useOnPressWithFocus(componentRef, toggleChecked);
|
|
20
|
+
var pressable = useAsPressable(__assign({ onPress: toggleCheckedWithFocus }, rest));
|
|
21
|
+
var buttonRef = useViewCommandFocus(componentRef);
|
|
22
|
+
var onKeyProps = useKeyProps(toggleChecked, ' ');
|
|
23
|
+
var accessibilityActionsProp = accessibilityActions
|
|
24
|
+
? __spreadArray(__spreadArray([], defaultAccessibilityActions, true), accessibilityActions, true) : defaultAccessibilityActions;
|
|
25
|
+
var onAccessibilityActionProp = React.useCallback(function (event) {
|
|
26
|
+
if (event.nativeEvent.actionName === 'Toggle') {
|
|
27
|
+
toggleChecked(event);
|
|
28
|
+
}
|
|
29
|
+
onAccessibilityAction && onAccessibilityAction(event);
|
|
30
|
+
}, [toggleChecked, onAccessibilityAction]);
|
|
31
|
+
var state = __assign(__assign({}, pressable.state), { disabled: !!props.disabled, checked: checked });
|
|
13
32
|
return {
|
|
14
|
-
props: __assign(__assign(__assign({}, pressable.props), { accessible: true,
|
|
15
|
-
state:
|
|
16
|
-
hasCheckmarks: hasCheckmarks,
|
|
33
|
+
props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityActions: accessibilityActionsProp, accessibilityLabel: props.accessibilityLabel, accessibilityRole: 'menuitem', accessibilityState: getAccessibilityState(disabled, state.checked, accessibilityState), enableFocusRing: true, focusable: !disabled, onAccessibilityAction: onAccessibilityActionProp, ref: buttonRef }), onKeyProps),
|
|
34
|
+
state: state,
|
|
17
35
|
};
|
|
18
36
|
};
|
|
19
37
|
var getAccessibilityState = memoize(getAccessibilityStateWorker);
|
|
20
|
-
function getAccessibilityStateWorker(disabled, accessibilityState) {
|
|
38
|
+
function getAccessibilityStateWorker(disabled, checked, accessibilityState) {
|
|
21
39
|
if (accessibilityState) {
|
|
22
|
-
return __assign({ disabled: disabled }, accessibilityState);
|
|
40
|
+
return __assign({ disabled: disabled, checked: checked }, accessibilityState);
|
|
23
41
|
}
|
|
24
|
-
return { disabled: disabled };
|
|
42
|
+
return { disabled: disabled, checked: checked };
|
|
25
43
|
}
|
|
26
44
|
//# sourceMappingURL=useMenuItemCheckbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,
|
|
1
|
+
{"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,aAAa,EAAgB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AAM7E,eAAO,MAAM,QAAQ,gLAmBnB,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
package/lib/MenuList/MenuList.js
CHANGED
|
@@ -3,12 +3,18 @@ import { View } from 'react-native';
|
|
|
3
3
|
import { compose, withSlots } from '@fluentui-react-native/framework';
|
|
4
4
|
import { menuListName } from './MenuList.types';
|
|
5
5
|
import { stylingSettings } from './MenuList.styling';
|
|
6
|
+
import { MenuListProvider } from '../context/menuListContext';
|
|
7
|
+
import { useMenuList } from './useMenuList';
|
|
8
|
+
import { useMenuListContextValue } from './useMenuContextValue';
|
|
6
9
|
export var MenuList = compose(__assign(__assign({ displayName: menuListName }, stylingSettings), { slots: {
|
|
7
10
|
root: View,
|
|
8
11
|
}, useRender: function (userProps, useSlots) {
|
|
9
|
-
var
|
|
12
|
+
var menuList = useMenuList(userProps);
|
|
13
|
+
var contextValue = useMenuListContextValue(menuList);
|
|
14
|
+
var Slots = useSlots(menuList);
|
|
10
15
|
return function (_final, children) {
|
|
11
|
-
return withSlots(
|
|
16
|
+
return (withSlots(MenuListProvider, { value: contextValue },
|
|
17
|
+
withSlots(Slots.root, null, children)));
|
|
12
18
|
};
|
|
13
19
|
} }));
|
|
14
20
|
export default MenuList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,YAAY,EAA+B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,EAAE,YAAY,EAA+B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,CAAC,IAAM,QAAQ,GAAG,OAAO,qBAC7B,WAAW,EAAE,YAAY,IACtB,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;KACX,EACD,SAAS,EAAE,UAAC,SAAwB,EAAE,QAAgC;QACpE,IAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,IAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO,UAAC,MAAqB,EAAE,QAAyB;YACtD,OAAO,CACL,UAAC,gBAAgB,IAAC,KAAK,EAAE,YAAY;gBACnC,UAAC,KAAK,CAAC,IAAI,QAAE,QAAQ,CAAc,CAClB,CACpB,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,IACD,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
3
|
+
import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
3
4
|
import { IBackgroundColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
|
|
4
5
|
export declare const menuListName = "MenuList";
|
|
5
6
|
export interface MenuListTokens extends LayoutTokens, IBackgroundColorTokens {
|
|
6
7
|
}
|
|
7
8
|
export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
|
|
9
|
+
checked?: Record<string, boolean>;
|
|
10
|
+
defaultChecked?: Record<string, boolean>;
|
|
8
11
|
hasCheckmarks?: boolean;
|
|
12
|
+
onCheckedChange?: (e: InteractionEvent, name: string, isChecked: boolean) => void;
|
|
13
|
+
}
|
|
14
|
+
export interface MenuListState extends MenuListProps {
|
|
15
|
+
isCheckedControlled: boolean;
|
|
9
16
|
}
|
|
10
17
|
export interface MenuListSlotProps {
|
|
11
18
|
root: React.PropsWithRef<IViewProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;CAAG;AAE/E,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;CAAG;AAE/E,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;CACtC;AACD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.types.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MenuList.types.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,IAAM,YAAY,GAAG,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuContextValue.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuContextValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,uBAAuB,UAAW,aAAa,KAAG,oBAE9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/MenuList/useMenuContextValue.ts"],"names":[],"mappings":";AAGA,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,KAAoB;IAC1D,oBAAY,KAAK,EAAG;AACtB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,aAcnD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useMenuContext } from '../context/menuContext';
|
|
4
|
+
export var useMenuList = function (_props) {
|
|
5
|
+
var context = useMenuContext();
|
|
6
|
+
// MenuList v2 needs to be able to be standalone, but this is not in scope for v1
|
|
7
|
+
// Assuming that checked information will come from parent Menu
|
|
8
|
+
var isCheckedControlled = typeof context.checked !== 'undefined';
|
|
9
|
+
var _a = useMenuCheckedState(isCheckedControlled, context), checked = _a[0], onCheckedChange = _a[1];
|
|
10
|
+
return __assign(__assign({}, context), { isCheckedControlled: isCheckedControlled, checked: checked, onCheckedChange: onCheckedChange });
|
|
11
|
+
};
|
|
12
|
+
var useMenuCheckedState = function (isControlled, props) {
|
|
13
|
+
var _a;
|
|
14
|
+
var defaultChecked = props.defaultChecked, onCheckedChange = props.onCheckedChange, checked = props.checked;
|
|
15
|
+
var initialState = (_a = defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : checked) !== null && _a !== void 0 ? _a : {};
|
|
16
|
+
var _b = React.useState(initialState), checkedInternal = _b[0], setCheckedInternal = _b[1];
|
|
17
|
+
var state = isControlled ? checked : checkedInternal;
|
|
18
|
+
var setChecked = React.useCallback(function (e, name, isChecked) {
|
|
19
|
+
if (!isControlled) {
|
|
20
|
+
var curChecked = state;
|
|
21
|
+
curChecked[name] = isChecked;
|
|
22
|
+
var updatedChecked = __assign({}, curChecked);
|
|
23
|
+
setCheckedInternal(updatedChecked);
|
|
24
|
+
}
|
|
25
|
+
if (onCheckedChange) {
|
|
26
|
+
onCheckedChange(e, name, isChecked);
|
|
27
|
+
}
|
|
28
|
+
}, [isControlled, state, onCheckedChange, setCheckedInternal]);
|
|
29
|
+
return [state, setChecked];
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=useMenuList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuList.js","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,MAAqB;IAC/C,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,iFAAiF;IACjF,+DAA+D;IAC/D,IAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC;IAC7D,IAAA,KAA6B,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAA7E,OAAO,QAAA,EAAE,eAAe,QAAqD,CAAC;IAErF,6BACK,OAAO,KACV,mBAAmB,qBAAA,EACnB,OAAO,SAAA,EACP,eAAe,iBAAA,IACf;AACJ,CAAC,CAAC;AAEF,IAAM,mBAAmB,GAAG,UAC1B,YAAqB,EACrB,KAAoB;;IAEZ,IAAA,cAAc,GAA+B,KAAK,eAApC,EAAE,eAAe,GAAc,KAAK,gBAAnB,EAAE,OAAO,GAAK,KAAK,QAAV,CAAW;IAC3D,IAAM,YAAY,GAAG,MAAA,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,OAAO,mCAAI,EAAE,CAAC;IAC/C,IAAA,KAAwC,KAAK,CAAC,QAAQ,CAA0B,YAAY,CAAC,EAA5F,eAAe,QAAA,EAAE,kBAAkB,QAAyD,CAAC;IAEpG,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAEvD,IAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAClC,UAAC,CAAmB,EAAE,IAAY,EAAE,SAAkB;QACpD,IAAI,CAAC,YAAY,EAAE;YACjB,IAAM,UAAU,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAC7B,IAAM,cAAc,gBAAQ,UAAU,CAAE,CAAC;YACzC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SACpC;QAED,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACrC;IACH,CAAC,EACD,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAC3D,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC7B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,0BAUtB,CAAC;AAEH,eAAO,MAAM,YAAY,2BAAuB,CAAC;AACjD,eAAO,MAAM,cAAc,iBAAsC,CAAC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
export var MenuContext = React.createContext({
|
|
3
3
|
isControlled: false,
|
|
4
|
+
checked: {},
|
|
5
|
+
defaultChecked: {},
|
|
6
|
+
hasCheckmarks: false,
|
|
4
7
|
isSubmenu: false,
|
|
5
8
|
open: false,
|
|
9
|
+
onCheckedChange: function () { return false; },
|
|
6
10
|
setOpen: function () { return false; },
|
|
7
11
|
triggerRef: null,
|
|
8
12
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.js","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB;IAC/D,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;IACpB,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;AACjD,MAAM,CAAC,IAAM,cAAc,GAAG,cAAM,OAAA,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAA7B,CAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"menuContext.js","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB;IAC/D,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,KAAK;IACX,eAAe,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;IAC5B,OAAO,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;IACpB,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;AACjD,MAAM,CAAC,IAAM,cAAc,GAAG,cAAM,OAAA,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAA7B,CAA6B,CAAC"}
|
|
@@ -1 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { MenuListState } from '../MenuList/MenuList.types';
|
|
3
|
+
/**
|
|
4
|
+
* Context shared between Menu and its child components
|
|
5
|
+
*/
|
|
6
|
+
export declare type MenuListContextValue = MenuListState;
|
|
7
|
+
export declare const MenuListContext: React.Context<MenuListState>;
|
|
8
|
+
export declare const MenuListProvider: React.Provider<MenuListState>;
|
|
9
|
+
export declare const useMenuListContext: () => MenuListState;
|
|
1
10
|
//# sourceMappingURL=menuListContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuListContext.d.ts","sourceRoot":"","sources":["../../src/context/menuListContext.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"menuListContext.d.ts","sourceRoot":"","sources":["../../src/context/menuListContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE;;GAEG;AACH,oBAAY,oBAAoB,GAAG,aAAa,CAAC;AAEjD,eAAO,MAAM,eAAe,8BAM1B,CAAC;AAEH,eAAO,MAAM,gBAAgB,+BAA2B,CAAC;AACzD,eAAO,MAAM,kBAAkB,qBAA0C,CAAC"}
|
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export var MenuListContext = React.createContext({
|
|
3
|
+
isCheckedControlled: false,
|
|
4
|
+
checked: {},
|
|
5
|
+
defaultChecked: {},
|
|
6
|
+
hasCheckmarks: false,
|
|
7
|
+
onCheckedChange: function () { return false; },
|
|
8
|
+
});
|
|
9
|
+
export var MenuListProvider = MenuListContext.Provider;
|
|
10
|
+
export var useMenuListContext = function () { return React.useContext(MenuListContext); };
|
|
2
11
|
//# sourceMappingURL=menuListContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuListContext.js","sourceRoot":"","sources":["../../src/context/menuListContext.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"menuListContext.js","sourceRoot":"","sources":["../../src/context/menuListContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,CAAC,IAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAuB;IACvE,mBAAmB,EAAE,KAAK;IAC1B,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,KAAK;IACpB,eAAe,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC;AACzD,MAAM,CAAC,IAAM,kBAAkB,GAAG,cAAM,OAAA,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,EAAjC,CAAiC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAMhE,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,aA0BlD,CAAC"}
|
|
@@ -6,6 +6,7 @@ var React = (0, tslib_1.__importStar)(require("react"));
|
|
|
6
6
|
var framework_1 = require("@fluentui-react-native/framework");
|
|
7
7
|
var interactive_hooks_1 = require("@fluentui-react-native/interactive-hooks");
|
|
8
8
|
var menuContext_1 = require("../context/menuContext");
|
|
9
|
+
var menuListContext_1 = require("../context/menuListContext");
|
|
9
10
|
var useMenuItem = function (props) {
|
|
10
11
|
// attach the pressable state handlers
|
|
11
12
|
var defaultComponentRef = React.useRef(null);
|
|
@@ -13,9 +14,9 @@ var useMenuItem = function (props) {
|
|
|
13
14
|
var pressable = (0, interactive_hooks_1.useAsPressable)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, rest), { disabled: disabled, onPress: onClick }));
|
|
14
15
|
var onKeyProps = (0, interactive_hooks_1.useKeyProps)(onClick, ' ', 'Enter');
|
|
15
16
|
var hasSubmenu = (0, menuContext_1.useMenuContext)().isSubmenu;
|
|
16
|
-
var hasCheckmarks = (0,
|
|
17
|
+
var hasCheckmarks = (0, menuListContext_1.useMenuListContext)().hasCheckmarks;
|
|
17
18
|
return {
|
|
18
|
-
props: (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, pressable.props), { accessible: true, accessibilityRole: '
|
|
19
|
+
props: (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, pressable.props), { accessible: true, accessibilityRole: 'menuitem', onAccessibilityTap: props.onAccessibilityTap || props.onClick, accessibilityLabel: props.accessibilityLabel, accessibilityState: getAccessibilityState(disabled, accessibilityState), enableFocusRing: true, focusable: !disabled, ref: componentRef }), onKeyProps),
|
|
19
20
|
state: pressable.state,
|
|
20
21
|
hasSubmenu: hasSubmenu,
|
|
21
22
|
hasCheckmarks: hasCheckmarks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAG/B,8DAA2D;AAC3D,8EAAuF;AACvF,sDAAwD;
|
|
1
|
+
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAG/B,8DAA2D;AAC3D,8EAAuF;AACvF,sDAAwD;AACxD,8DAAgE;AAEzD,IAAM,WAAW,GAAG,UAAC,KAAoB;IAC9C,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvC,IAAA,OAAO,GAAgF,KAAK,QAArF,EAAE,kBAAkB,GAA4D,KAAK,mBAAjE,EAAE,KAA0D,KAAK,aAA7B,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAAE,QAAQ,GAAc,KAAK,SAAnB,EAAK,IAAI,uBAAK,KAAK,EAA9F,6DAAsF,CAAF,CAAW;IACrG,IAAM,SAAS,GAAG,IAAA,kCAAc,kDAAM,IAAI,KAAE,QAAQ,UAAA,EAAE,OAAO,EAAE,OAAO,IAAG,CAAC;IAC1E,IAAM,UAAU,GAAG,IAAA,+BAAW,EAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACtD,IAAM,UAAU,GAAG,IAAA,4BAAc,GAAE,CAAC,SAAS,CAAC;IAC9C,IAAM,aAAa,GAAG,IAAA,oCAAkB,GAAE,CAAC,aAAa,CAAC;IAEzD,OAAO;QACL,KAAK,wEACA,SAAS,CAAC,KAAK,KAClB,UAAU,EAAE,IAAI,EAChB,iBAAiB,EAAE,UAAU,EAC7B,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,EAC7D,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EACvE,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,QAAQ,EACpB,GAAG,EAAE,YAAY,KACd,UAAU,CACd;QACD,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,UAAU,YAAA;QACV,aAAa,eAAA;KACd,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,WAAW,eA0BtB;AAEF,IAAM,qBAAqB,GAAG,IAAA,mBAAO,EAAC,2BAA2B,CAAC,CAAC;AACnE,SAAS,2BAA2B,CAAC,QAAiB,EAAE,kBAAuC;IAC7F,IAAI,kBAAkB,EAAE;QACtB,+BAAS,QAAQ,UAAA,IAAK,kBAAkB,EAAG;KAC5C;IACD,OAAO,EAAE,QAAQ,UAAA,EAAE,CAAC;AACtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemCheckbox.styling.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AAGxF,OAAO,EAAwB,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1I,eAAO,MAAM,sBAAsB,EAAE,CAAC,MAAM,sBAAsB,CAAC,EAA6D,CAAC;AAEjI,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"MenuItemCheckbox.styling.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AAGxF,OAAO,EAAwB,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE1I,eAAO,MAAM,sBAAsB,EAAE,CAAC,MAAM,sBAAsB,CAAC,EAA6D,CAAC;AAEjI,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,CAsCvH,CAAC"}
|
|
@@ -15,6 +15,7 @@ exports.stylingSettings = {
|
|
|
15
15
|
style: (0, tslib_1.__assign)({ alignItems: 'center', backgroundColor: tokens.backgroundColor, display: 'flex', flexDirection: 'row' }, tokens_1.layoutStyles.from(tokens, theme)),
|
|
16
16
|
}); }, (0, tslib_1.__spreadArray)(['backgroundColor'], tokens_1.layoutStyles.keys, true)),
|
|
17
17
|
checkmark: (0, framework_1.buildProps)(function (tokens) { return ({
|
|
18
|
+
opacity: tokens.checkmarkVisibility,
|
|
18
19
|
color: tokens.color,
|
|
19
20
|
height: tokens.checkmarkSize,
|
|
20
21
|
width: tokens.checkmarkSize,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemCheckbox.styling.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":";;;;AAAA,8DAAwF;AACxF,wDAAyE;AACzE,mEAAyE;AACzE,mEAA0I;AAE7H,QAAA,sBAAsB,GAAqC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAEpH,QAAA,eAAe,GAAgG;IAC1H,MAAM,EAAE,CAAC,sDAA6B,EAAE,6CAAoB,CAAC;IAC7D,MAAM,EAAE,8BAAsB;IAC9B,SAAS,EAAE;QACT,IAAI,EAAE,IAAA,sBAAU,EACd,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,0BACH,UAAU,EAAE,QAAQ,EACpB,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,IACjB,qBAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CACpC;SACF,CAAC,EARgD,CAQhD,8BACD,iBAAiB,GAAK,qBAAY,CAAC,IAAI,QACzC;QACD,SAAS,EAAE,IAAA,sBAAU,EACnB,UAAC,MAA8B,IAAK,OAAA,CAAC;YACnC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,KAAK,EAAE,MAAM,CAAC,aAAa;YAC3B,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACnI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE;SACjC,CAAC,
|
|
1
|
+
{"version":3,"file":"MenuItemCheckbox.styling.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.styling.ts"],"names":[],"mappings":";;;;AAAA,8DAAwF;AACxF,wDAAyE;AACzE,mEAAyE;AACzE,mEAA0I;AAE7H,QAAA,sBAAsB,GAAqC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAEpH,QAAA,eAAe,GAAgG;IAC1H,MAAM,EAAE,CAAC,sDAA6B,EAAE,6CAAoB,CAAC;IAC7D,MAAM,EAAE,8BAAsB;IAC9B,SAAS,EAAE;QACT,IAAI,EAAE,IAAA,sBAAU,EACd,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,0BACH,UAAU,EAAE,QAAQ,EACpB,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,KAAK,IACjB,qBAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CACpC;SACF,CAAC,EARgD,CAQhD,8BACD,iBAAiB,GAAK,qBAAY,CAAC,IAAI,QACzC;QACD,SAAS,EAAE,IAAA,sBAAU,EACnB,UAAC,MAA8B,IAAK,OAAA,CAAC;YACnC,OAAO,EAAE,MAAM,CAAC,mBAAmB;YACnC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,KAAK,EAAE,MAAM,CAAC,aAAa;YAC3B,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC;YACnI,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE;SACjC,CAAC,EAPkC,CAOlC,EACF,CAAC,eAAe,EAAE,KAAK,EAAE,OAAO,CAAC,CAClC;QACD,OAAO,EAAE,IAAA,sBAAU,EACjB,UAAC,MAA8B,EAAE,KAAY,IAAK,OAAA,CAAC;YACjD,KAAK,0BACH,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,MAAM,CAAC,KAAK,IAChB,mBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAClC;SACF,CAAC,EANgD,CAMhD,8BACD,OAAO,GAAK,mBAAU,CAAC,IAAI,QAC7B;KACF;CACF,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { ColorValue, ViewProps } from 'react-native';
|
|
|
3
3
|
import { XmlProps } from 'react-native-svg';
|
|
4
4
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
5
5
|
import { TextProps } from '@fluentui-react-native/experimental-text';
|
|
6
|
-
import { IFocusable,
|
|
6
|
+
import { IFocusable, IPressableHooks, IWithPressableOptions } from '@fluentui-react-native/interactive-hooks';
|
|
7
7
|
import { FontTokens, IBorderTokens, IColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
|
|
8
8
|
export declare const menuItemCheckboxName = "MenuItemCheckbox";
|
|
9
9
|
export interface MenuItemCheckboxTokens extends LayoutTokens, FontTokens, IBorderTokens, IColorTokens {
|
|
@@ -29,12 +29,11 @@ export interface MenuItemCheckboxProps extends Omit<IWithPressableOptions<ViewPr
|
|
|
29
29
|
*/
|
|
30
30
|
componentRef?: React.RefObject<IFocusable>;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Identifier for the control
|
|
33
33
|
*/
|
|
34
|
-
|
|
34
|
+
name: string;
|
|
35
35
|
}
|
|
36
36
|
export interface MenuItemCheckboxState extends IPressableHooks<MenuItemCheckboxProps & React.ComponentPropsWithRef<any>> {
|
|
37
|
-
hasCheckmarks?: boolean;
|
|
38
37
|
}
|
|
39
38
|
export interface MenuItemCheckboxSlotProps {
|
|
40
39
|
root: React.PropsWithRef<IViewProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemCheckbox.types.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"MenuItemCheckbox.types.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEtG,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,MAAM,WAAW,sBAAuB,SAAQ,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY;IACnG,cAAc,CAAC,EAAE,UAAU,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC9F,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAE3C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;CAAG;AAE3H,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,yBAAyB,CAAC;CACtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAaxF,eAAO,MAAM,mBAAmB,UAAW,qBAAqB,KAAG,qBAgElE,CAAC"}
|
|
@@ -5,26 +5,44 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var React = (0, tslib_1.__importStar)(require("react"));
|
|
6
6
|
var framework_1 = require("@fluentui-react-native/framework");
|
|
7
7
|
var interactive_hooks_1 = require("@fluentui-react-native/interactive-hooks");
|
|
8
|
-
var
|
|
8
|
+
var menuListContext_1 = require("../context/menuListContext");
|
|
9
|
+
var defaultAccessibilityActions = [{ name: 'Toggle' }];
|
|
9
10
|
var useMenuItemCheckbox = function (props) {
|
|
11
|
+
var _a;
|
|
10
12
|
// attach the pressable state handlers
|
|
11
13
|
var defaultComponentRef = React.useRef(null);
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
14
|
+
var accessibilityActions = props.accessibilityActions, accessibilityState = props.accessibilityState, _b = props.componentRef, componentRef = _b === void 0 ? defaultComponentRef : _b, disabled = props.disabled, name = props.name, onAccessibilityAction = props.onAccessibilityAction, rest = (0, tslib_1.__rest)(props, ["accessibilityActions", "accessibilityState", "componentRef", "disabled", "name", "onAccessibilityAction"]);
|
|
15
|
+
var context = (0, menuListContext_1.useMenuListContext)();
|
|
16
|
+
var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
|
|
17
|
+
var onCheckedChange = context.onCheckedChange;
|
|
18
|
+
var toggleChecked = React.useCallback(function (e) {
|
|
19
|
+
onCheckedChange(e, name, !checked);
|
|
20
|
+
}, [checked, name, onCheckedChange]);
|
|
21
|
+
// Ensure focus is placed on checkbox after click
|
|
22
|
+
var toggleCheckedWithFocus = (0, interactive_hooks_1.useOnPressWithFocus)(componentRef, toggleChecked);
|
|
23
|
+
var pressable = (0, interactive_hooks_1.useAsPressable)((0, tslib_1.__assign)({ onPress: toggleCheckedWithFocus }, rest));
|
|
24
|
+
var buttonRef = (0, interactive_hooks_1.useViewCommandFocus)(componentRef);
|
|
25
|
+
var onKeyProps = (0, interactive_hooks_1.useKeyProps)(toggleChecked, ' ');
|
|
26
|
+
var accessibilityActionsProp = accessibilityActions
|
|
27
|
+
? (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], defaultAccessibilityActions, true), accessibilityActions, true) : defaultAccessibilityActions;
|
|
28
|
+
var onAccessibilityActionProp = React.useCallback(function (event) {
|
|
29
|
+
if (event.nativeEvent.actionName === 'Toggle') {
|
|
30
|
+
toggleChecked(event);
|
|
31
|
+
}
|
|
32
|
+
onAccessibilityAction && onAccessibilityAction(event);
|
|
33
|
+
}, [toggleChecked, onAccessibilityAction]);
|
|
34
|
+
var state = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, pressable.state), { disabled: !!props.disabled, checked: checked });
|
|
16
35
|
return {
|
|
17
|
-
props: (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, pressable.props), { accessible: true,
|
|
18
|
-
state:
|
|
19
|
-
hasCheckmarks: hasCheckmarks,
|
|
36
|
+
props: (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, pressable.props), { accessible: true, accessibilityActions: accessibilityActionsProp, accessibilityLabel: props.accessibilityLabel, accessibilityRole: 'menuitem', accessibilityState: getAccessibilityState(disabled, state.checked, accessibilityState), enableFocusRing: true, focusable: !disabled, onAccessibilityAction: onAccessibilityActionProp, ref: buttonRef }), onKeyProps),
|
|
37
|
+
state: state,
|
|
20
38
|
};
|
|
21
39
|
};
|
|
22
40
|
exports.useMenuItemCheckbox = useMenuItemCheckbox;
|
|
23
41
|
var getAccessibilityState = (0, framework_1.memoize)(getAccessibilityStateWorker);
|
|
24
|
-
function getAccessibilityStateWorker(disabled, accessibilityState) {
|
|
42
|
+
function getAccessibilityStateWorker(disabled, checked, accessibilityState) {
|
|
25
43
|
if (accessibilityState) {
|
|
26
|
-
return (0, tslib_1.__assign)({ disabled: disabled }, accessibilityState);
|
|
44
|
+
return (0, tslib_1.__assign)({ disabled: disabled, checked: checked }, accessibilityState);
|
|
27
45
|
}
|
|
28
|
-
return { disabled: disabled };
|
|
46
|
+
return { disabled: disabled, checked: checked };
|
|
29
47
|
}
|
|
30
48
|
//# sourceMappingURL=useMenuItemCheckbox.js.map
|