@fluentui-react-native/menu 0.15.2 → 0.15.3

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 CHANGED
@@ -2,7 +2,22 @@
2
2
  "name": "@fluentui-react-native/menu",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 17 Jun 2022 20:00:01 GMT",
5
+ "date": "Tue, 21 Jun 2022 18:56:59 GMT",
6
+ "tag": "@fluentui-react-native/menu_v0.15.3",
7
+ "version": "0.15.3",
8
+ "comments": {
9
+ "patch": [
10
+ {
11
+ "author": "ruaraki@microsoft.com",
12
+ "package": "@fluentui-react-native/menu",
13
+ "commit": "842bfbf392c70c12da4774d2c4295d442fe8fd02",
14
+ "comment": "Add tokens to MenuPopover"
15
+ }
16
+ ]
17
+ }
18
+ },
19
+ {
20
+ "date": "Fri, 17 Jun 2022 20:00:18 GMT",
6
21
  "tag": "@fluentui-react-native/menu_v0.15.2",
7
22
  "version": "0.15.2",
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 Fri, 17 Jun 2022 20:00:01 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 21 Jun 2022 18:56:59 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.15.3
8
+
9
+ Tue, 21 Jun 2022 18:56:59 GMT
10
+
11
+ ### Patches
12
+
13
+ - Add tokens to MenuPopover (ruaraki@microsoft.com)
14
+
7
15
  ## 0.15.2
8
16
 
9
- Fri, 17 Jun 2022 20:00:01 GMT
17
+ Fri, 17 Jun 2022 20:00:18 GMT
10
18
 
11
19
  ### Patches
12
20
 
@@ -1,3 +1,4 @@
1
- export declare const MenuPopover: import("@fluentui-react-native/framework").ComposableFunction<import("@fluentui-react-native/callout").ICalloutProps>;
1
+ import { MenuPopoverTokens } from './MenuPopover.types';
2
+ export declare const MenuPopover: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("@fluentui-react-native/callout").ICalloutProps, MenuPopoverTokens, import("@fluentui-react-native/framework").Theme>;
2
3
  export default MenuPopover;
3
4
  //# sourceMappingURL=MenuPopover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,uHAatB,CAAC;AAGH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAqC,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAK3F,eAAO,MAAM,WAAW,gMAyBvB,CAAC;AAGF,eAAe,WAAW,CAAC"}
@@ -1,19 +1,33 @@
1
1
  import { __assign } from "tslib";
2
2
  import React from 'react';
3
- import { mergeProps, stagedComponent, useFluentTheme } from '@fluentui-react-native/framework';
3
+ import { compressible, mergeProps, patchTokens, useFluentTheme } from '@fluentui-react-native/framework';
4
4
  import { Callout } from '@fluentui-react-native/callout';
5
5
  import { menuPopoverName } from './MenuPopover.types';
6
6
  import { useMenuPopover } from './useMenuPopover';
7
+ import { useMenuPopoverTokens } from './MenuPopoverTokens';
7
8
  import { View } from 'react-native';
8
- export var MenuPopover = stagedComponent(function (props) {
9
+ export var MenuPopover = compressible(function (props, useTokens) {
10
+ var _a;
11
+ var directionalHint = props.directionalHint, gapSpace = props.gapSpace, maxHeight = props.maxHeight, maxWidth = props.maxWidth, minPadding = props.minPadding, borderWidth = props.borderWidth, borderColor = props.borderColor, backgroundColor = props.backgroundColor;
9
12
  var state = useMenuPopover(props);
10
13
  var theme = useFluentTheme();
14
+ var _b = useTokens(theme), tokens = _b[0], cache = _b[1];
15
+ _a = patchTokens(tokens, cache, {
16
+ directionalHint: directionalHint,
17
+ gapSpace: gapSpace,
18
+ maxHeight: maxHeight,
19
+ maxWidth: maxWidth,
20
+ minPadding: minPadding,
21
+ borderWidth: borderWidth,
22
+ borderColor: borderColor,
23
+ backgroundColor: backgroundColor,
24
+ }), tokens = _a[0], cache = _a[1];
11
25
  return function (final, children) {
12
- var mergedProps = mergeProps(state.props, final);
26
+ var mergedProps = mergeProps(tokens, state.props, final);
13
27
  var content = React.createElement(View, state.innerView, children);
14
- return (React.createElement(Callout, __assign({ borderWidth: 1, borderColor: theme.colors.neutralStrokeAccessible }, mergedProps), content));
28
+ return React.createElement(Callout, __assign({}, mergedProps), content);
15
29
  };
16
- });
30
+ }, useMenuPopoverTokens);
17
31
  MenuPopover.displayName = menuPopoverName;
18
32
  export default MenuPopover;
19
33
  //# sourceMappingURL=MenuPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAE/B,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnD,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,CACL,oBAAC,OAAO,aAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,uBAAuB,IAAM,WAAW,GACxF,OAAO,CACA,CACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAa,MAAM,kCAAkC,CAAC;AACpH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAuC,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,IAAM,WAAW,GAAG,YAAY,CACrC,UAAC,KAAuB,EAAE,SAAuC;;IACvD,IAAA,eAAe,GAA2F,KAAK,gBAAhG,EAAE,QAAQ,GAAiF,KAAK,SAAtF,EAAE,SAAS,GAAsE,KAAK,UAA3E,EAAE,QAAQ,GAA4D,KAAK,SAAjE,EAAE,UAAU,GAAgD,KAAK,WAArD,EAAE,WAAW,GAAmC,KAAK,YAAxC,EAAE,WAAW,GAAsB,KAAK,YAA3B,EAAE,eAAe,GAAK,KAAK,gBAAV,CAAW;IACxH,IAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC3B,IAAA,KAAkB,SAAS,CAAC,KAAK,CAAC,EAAjC,MAAM,QAAA,EAAE,KAAK,QAAoB,CAAC;IAEvC,KAAkB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;QAC3C,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,SAAS,WAAA;QACT,QAAQ,UAAA;QACR,UAAU,YAAA;QACV,WAAW,aAAA;QACX,WAAW,aAAA;QACX,eAAe,iBAAA;KAChB,CAAC,EATD,MAAM,QAAA,EAAE,KAAK,QAAA,CASX;IAEH,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,oBAAC,OAAO,eAAK,WAAW,GAAG,OAAO,CAAW,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC,EACD,oBAAoB,CACrB,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { IViewProps } from '@fluentui-react-native/adapters';
2
- import { ICalloutProps } from '@fluentui-react-native/callout';
2
+ import { ICalloutProps, ICalloutTokens } from '@fluentui-react-native/callout';
3
3
  export declare const menuPopoverName = "MenuPopover";
4
+ export declare type MenuPopoverTokens = Omit<ICalloutTokens, 'anchorRect' | 'beakWidth' | 'dismissBehaviors'>;
4
5
  export declare type MenuPopoverProps = ICalloutProps;
5
6
  export interface MenuPopoverState {
6
7
  props: ICalloutProps;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,oBAAY,gBAAgB,GAAG,aAAa,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;CACvB"}
1
+ {"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAE/E,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAI7C,oBAAY,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,GAAG,kBAAkB,CAAC,CAAC;AAEtG,oBAAY,gBAAgB,GAAG,aAAa,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ import { MenuPopoverTokens } from './MenuPopover.types';
2
+ export declare const useMenuPopoverTokens: import("@fluentui-react-native/framework").UseTokens<MenuPopoverTokens>;
3
+ //# sourceMappingURL=MenuPopoverTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuPopoverTokens.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopoverTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAO,MAAM,oBAAoB,yEAGhC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { buildUseTokens } from '@fluentui-react-native/framework';
2
+ import { menuPopoverName } from './MenuPopover.types';
3
+ export var useMenuPopoverTokens = buildUseTokens(function (t) { return ({ borderWidth: 1, borderColor: t.colors.neutralStrokeAccessible }); }, menuPopoverName);
4
+ //# sourceMappingURL=MenuPopoverTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuPopoverTokens.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopoverTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAS,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAqB,MAAM,qBAAqB,CAAC;AAEzE,MAAM,CAAC,IAAM,oBAAoB,GAAG,cAAc,CAChD,UAAC,CAAQ,IAAK,OAAA,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,EAAnE,CAAmE,EACjF,eAAe,CAChB,CAAC"}
@@ -1,3 +1,4 @@
1
- export declare const MenuPopover: import("@fluentui-react-native/framework").ComposableFunction<import("@fluentui-react-native/callout").ICalloutProps>;
1
+ import { MenuPopoverTokens } from './MenuPopover.types';
2
+ export declare const MenuPopover: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("@fluentui-react-native/callout").ICalloutProps, MenuPopoverTokens, import("@fluentui-react-native/framework").Theme>;
2
3
  export default MenuPopover;
3
4
  //# sourceMappingURL=MenuPopover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,uHAatB,CAAC;AAGH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAqC,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAK3F,eAAO,MAAM,WAAW,gMAyBvB,CAAC;AAGF,eAAe,WAAW,CAAC"}
@@ -7,16 +7,30 @@ var framework_1 = require("@fluentui-react-native/framework");
7
7
  var callout_1 = require("@fluentui-react-native/callout");
8
8
  var MenuPopover_types_1 = require("./MenuPopover.types");
9
9
  var useMenuPopover_1 = require("./useMenuPopover");
10
+ var MenuPopoverTokens_1 = require("./MenuPopoverTokens");
10
11
  var react_native_1 = require("react-native");
11
- exports.MenuPopover = (0, framework_1.stagedComponent)(function (props) {
12
+ exports.MenuPopover = (0, framework_1.compressible)(function (props, useTokens) {
13
+ var _a;
14
+ var directionalHint = props.directionalHint, gapSpace = props.gapSpace, maxHeight = props.maxHeight, maxWidth = props.maxWidth, minPadding = props.minPadding, borderWidth = props.borderWidth, borderColor = props.borderColor, backgroundColor = props.backgroundColor;
12
15
  var state = (0, useMenuPopover_1.useMenuPopover)(props);
13
16
  var theme = (0, framework_1.useFluentTheme)();
17
+ var _b = useTokens(theme), tokens = _b[0], cache = _b[1];
18
+ _a = (0, framework_1.patchTokens)(tokens, cache, {
19
+ directionalHint: directionalHint,
20
+ gapSpace: gapSpace,
21
+ maxHeight: maxHeight,
22
+ maxWidth: maxWidth,
23
+ minPadding: minPadding,
24
+ borderWidth: borderWidth,
25
+ borderColor: borderColor,
26
+ backgroundColor: backgroundColor,
27
+ }), tokens = _a[0], cache = _a[1];
14
28
  return function (final, children) {
15
- var mergedProps = (0, framework_1.mergeProps)(state.props, final);
29
+ var mergedProps = (0, framework_1.mergeProps)(tokens, state.props, final);
16
30
  var content = react_1.default.createElement(react_native_1.View, state.innerView, children);
17
- return (react_1.default.createElement(callout_1.Callout, (0, tslib_1.__assign)({ borderWidth: 1, borderColor: theme.colors.neutralStrokeAccessible }, mergedProps), content));
31
+ return react_1.default.createElement(callout_1.Callout, (0, tslib_1.__assign)({}, mergedProps), content);
18
32
  };
19
- });
33
+ }, MenuPopoverTokens_1.useMenuPopoverTokens);
20
34
  exports.MenuPopover.displayName = MenuPopover_types_1.menuPopoverName;
21
35
  exports.default = exports.MenuPopover;
22
36
  //# sourceMappingURL=MenuPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAA+F;AAC/F,0DAAyD;AACzD,yDAAwE;AACxE,mDAAkD;AAClD,6CAAoC;AAEvB,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,IAAA,0BAAc,GAAE,CAAC;IAE/B,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnD,IAAM,OAAO,GAAG,eAAK,CAAC,aAAa,CAAC,mBAAI,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,CACL,8BAAC,iBAAO,0BAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,uBAAuB,IAAM,WAAW,GACxF,OAAO,CACA,CACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,kBAAe,mBAAW,CAAC"}
1
+ {"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAAoH;AACpH,0DAAyD;AACzD,yDAA2F;AAC3F,mDAAkD;AAClD,yDAA2D;AAC3D,6CAAoC;AAEvB,QAAA,WAAW,GAAG,IAAA,wBAAY,EACrC,UAAC,KAAuB,EAAE,SAAuC;;IACvD,IAAA,eAAe,GAA2F,KAAK,gBAAhG,EAAE,QAAQ,GAAiF,KAAK,SAAtF,EAAE,SAAS,GAAsE,KAAK,UAA3E,EAAE,QAAQ,GAA4D,KAAK,SAAjE,EAAE,UAAU,GAAgD,KAAK,WAArD,EAAE,WAAW,GAAmC,KAAK,YAAxC,EAAE,WAAW,GAAsB,KAAK,YAA3B,EAAE,eAAe,GAAK,KAAK,gBAAV,CAAW;IACxH,IAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,IAAA,0BAAc,GAAE,CAAC;IAC3B,IAAA,KAAkB,SAAS,CAAC,KAAK,CAAC,EAAjC,MAAM,QAAA,EAAE,KAAK,QAAoB,CAAC;IAEvC,KAAkB,IAAA,uBAAW,EAAC,MAAM,EAAE,KAAK,EAAE;QAC3C,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,SAAS,WAAA;QACT,QAAQ,UAAA;QACR,UAAU,YAAA;QACV,WAAW,aAAA;QACX,WAAW,aAAA;QACX,eAAe,iBAAA;KAChB,CAAC,EATD,MAAM,QAAA,EAAE,KAAK,QAAA,CASX;IAEH,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAM,OAAO,GAAG,eAAK,CAAC,aAAa,CAAC,mBAAI,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,8BAAC,iBAAO,4BAAK,WAAW,GAAG,OAAO,CAAW,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC,EACD,wCAAoB,CACrB,CAAC;AACF,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,kBAAe,mBAAW,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { IViewProps } from '@fluentui-react-native/adapters';
2
- import { ICalloutProps } from '@fluentui-react-native/callout';
2
+ import { ICalloutProps, ICalloutTokens } from '@fluentui-react-native/callout';
3
3
  export declare const menuPopoverName = "MenuPopover";
4
+ export declare type MenuPopoverTokens = Omit<ICalloutTokens, 'anchorRect' | 'beakWidth' | 'dismissBehaviors'>;
4
5
  export declare type MenuPopoverProps = ICalloutProps;
5
6
  export interface MenuPopoverState {
6
7
  props: ICalloutProps;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,oBAAY,gBAAgB,GAAG,aAAa,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;CACvB"}
1
+ {"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAE/E,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAI7C,oBAAY,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,GAAG,kBAAkB,CAAC,CAAC;AAEtG,oBAAY,gBAAgB,GAAG,aAAa,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ import { MenuPopoverTokens } from './MenuPopover.types';
2
+ export declare const useMenuPopoverTokens: import("@fluentui-react-native/framework").UseTokens<MenuPopoverTokens>;
3
+ //# sourceMappingURL=MenuPopoverTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuPopoverTokens.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopoverTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAO,MAAM,oBAAoB,yEAGhC,CAAC"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMenuPopoverTokens = void 0;
4
+ var framework_1 = require("@fluentui-react-native/framework");
5
+ var MenuPopover_types_1 = require("./MenuPopover.types");
6
+ exports.useMenuPopoverTokens = (0, framework_1.buildUseTokens)(function (t) { return ({ borderWidth: 1, borderColor: t.colors.neutralStrokeAccessible }); }, MenuPopover_types_1.menuPopoverName);
7
+ //# sourceMappingURL=MenuPopoverTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuPopoverTokens.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopoverTokens.ts"],"names":[],"mappings":";;;AAAA,8DAAyE;AACzE,yDAAyE;AAE5D,QAAA,oBAAoB,GAAG,IAAA,0BAAc,EAChD,UAAC,CAAQ,IAAK,OAAA,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,EAAnE,CAAmE,EACjF,mCAAe,CAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/menu",
3
- "version": "0.15.2",
3
+ "version": "0.15.3",
4
4
  "description": "A cross-platform Menu component using the Fluent Design System",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -1,24 +1,37 @@
1
1
  import React from 'react';
2
- import { mergeProps, stagedComponent, useFluentTheme } from '@fluentui-react-native/framework';
2
+ import { compressible, mergeProps, patchTokens, useFluentTheme, UseTokens } from '@fluentui-react-native/framework';
3
3
  import { Callout } from '@fluentui-react-native/callout';
4
- import { menuPopoverName, MenuPopoverProps } from './MenuPopover.types';
4
+ import { menuPopoverName, MenuPopoverProps, MenuPopoverTokens } from './MenuPopover.types';
5
5
  import { useMenuPopover } from './useMenuPopover';
6
+ import { useMenuPopoverTokens } from './MenuPopoverTokens';
6
7
  import { View } from 'react-native';
7
8
 
8
- export const MenuPopover = stagedComponent((props: MenuPopoverProps) => {
9
- const state = useMenuPopover(props);
10
- const theme = useFluentTheme();
9
+ export const MenuPopover = compressible<MenuPopoverProps, MenuPopoverTokens>(
10
+ (props: MenuPopoverProps, useTokens: UseTokens<MenuPopoverTokens>) => {
11
+ const { directionalHint, gapSpace, maxHeight, maxWidth, minPadding, borderWidth, borderColor, backgroundColor } = props;
12
+ const state = useMenuPopover(props);
13
+ const theme = useFluentTheme();
14
+ let [tokens, cache] = useTokens(theme);
11
15
 
12
- return (final: MenuPopoverProps, children: React.ReactNode) => {
13
- const mergedProps = mergeProps(state.props, final);
14
- const content = React.createElement(View, state.innerView, children);
15
- return (
16
- <Callout borderWidth={1} borderColor={theme.colors.neutralStrokeAccessible} {...mergedProps}>
17
- {content}
18
- </Callout>
19
- );
20
- };
21
- });
16
+ [tokens, cache] = patchTokens(tokens, cache, {
17
+ directionalHint,
18
+ gapSpace,
19
+ maxHeight,
20
+ maxWidth,
21
+ minPadding,
22
+ borderWidth,
23
+ borderColor,
24
+ backgroundColor,
25
+ });
26
+
27
+ return (final: MenuPopoverProps, children: React.ReactNode) => {
28
+ const mergedProps = mergeProps(tokens, state.props, final);
29
+ const content = React.createElement(View, state.innerView, children);
30
+ return <Callout {...mergedProps}>{content}</Callout>;
31
+ };
32
+ },
33
+ useMenuPopoverTokens,
34
+ );
22
35
  MenuPopover.displayName = menuPopoverName;
23
36
 
24
37
  export default MenuPopover;
@@ -1,8 +1,12 @@
1
1
  import { IViewProps } from '@fluentui-react-native/adapters';
2
- import { ICalloutProps } from '@fluentui-react-native/callout';
2
+ import { ICalloutProps, ICalloutTokens } from '@fluentui-react-native/callout';
3
3
 
4
4
  export const menuPopoverName = 'MenuPopover';
5
5
 
6
+ // Support for anchorRect and beakWidth will come at a later time.
7
+ // Omitting dismissBehaviors as it doesn't seem to make sense as a token
8
+ export type MenuPopoverTokens = Omit<ICalloutTokens, 'anchorRect' | 'beakWidth' | 'dismissBehaviors'>;
9
+
6
10
  export type MenuPopoverProps = ICalloutProps;
7
11
 
8
12
  export interface MenuPopoverState {
@@ -0,0 +1,7 @@
1
+ import { buildUseTokens, Theme } from '@fluentui-react-native/framework';
2
+ import { menuPopoverName, MenuPopoverTokens } from './MenuPopover.types';
3
+
4
+ export const useMenuPopoverTokens = buildUseTokens<MenuPopoverTokens>(
5
+ (t: Theme) => ({ borderWidth: 1, borderColor: t.colors.neutralStrokeAccessible }),
6
+ menuPopoverName,
7
+ );