@rocket.chat/fuselage 0.41.0 → 0.42.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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.42.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1087](https://github.com/RocketChat/fuselage/pull/1087) [`4cd95535b`](https://github.com/RocketChat/fuselage/commit/4cd95535b6c384af6cb56ce98e2045dbe65ef9de) Thanks [@ggazzo](https://github.com/ggazzo)! - feat(fuselage): Adds detached prop to render Menu on the document body
8
+
3
9
  ## 0.41.0
4
10
 
5
11
  ### Minor Changes
@@ -14,6 +14,7 @@ interface MenuButtonProps<T> extends AriaMenuProps<T>, MenuTriggerProps {
14
14
  mini?: boolean;
15
15
  placement?: UsePositionOptions['placement'];
16
16
  title?: string;
17
+ detached?: boolean;
17
18
  /**
18
19
  * A component that renders an IconButton
19
20
  */
@@ -23,6 +24,6 @@ interface MenuButtonProps<T> extends AriaMenuProps<T>, MenuTriggerProps {
23
24
  maxWidth?: string;
24
25
  button?: React.ReactElement;
25
26
  }
26
- declare const Menu: <T extends object>({ icon, placement, title, is: MenuButton, className, pressed, maxWidth, button, ...props }: MenuButtonProps<T>) => JSX.Element;
27
+ declare const Menu: <T extends object>({ icon, placement, title, is: MenuButton, className, pressed, maxWidth, button, detached, ...props }: MenuButtonProps<T>) => JSX.Element;
27
28
  export default Menu;
28
29
  //# sourceMappingURL=Menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/V2/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,UAAU,eAAe,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB;IACrE,IAAI,CAAC,EAAE,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,SAAS,CAAC,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;CAC7B;AACD,QAAA,MAAM,IAAI,mJA4DT,CAAC;AACF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/V2/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,KAAK,GAAG,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,UAAU,eAAe,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB;IACrE,IAAI,CAAC,EAAE,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,SAAS,CAAC,EAAE,cAAc,CAAC,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;CAC7B;AACD,QAAA,MAAM,IAAI,6JA+DT,CAAC;AACF,eAAe,IAAI,CAAC"}
@@ -6494,13 +6494,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
6494
6494
  Object.defineProperty(exports, "__esModule", ({ value: true }));
6495
6495
  var react_1 = __importStar(__webpack_require__(/*! react */ "react"));
6496
6496
  var react_aria_1 = __webpack_require__(/*! react-aria */ "react-aria");
6497
+ var react_dom_1 = __webpack_require__(/*! react-dom */ "react-dom");
6497
6498
  var react_stately_1 = __webpack_require__(/*! react-stately */ "react-stately");
6498
6499
  var Button_1 = __webpack_require__(/*! ../../Button */ "./src/components/Button/index.ts");
6499
6500
  var MenuDropdown_1 = __importDefault(__webpack_require__(/*! ./MenuDropdown */ "./src/components/Menu/V2/MenuDropdown.tsx"));
6500
6501
  var MenuPopover_1 = __importDefault(__webpack_require__(/*! ./MenuPopover */ "./src/components/Menu/V2/MenuPopover.tsx"));
6501
6502
  var helpers_1 = __webpack_require__(/*! ./helpers/helpers */ "./src/components/Menu/V2/helpers/helpers.ts");
6502
6503
  var Menu = function (_a) {
6503
- var _b = _a.icon, icon = _b === void 0 ? 'kebab' : _b, _c = _a.placement, placement = _c === void 0 ? 'bottom-start' : _c, title = _a.title, _d = _a.is, MenuButton = _d === void 0 ? Button_1.IconButton : _d, className = _a.className, pressed = _a.pressed, _e = _a.maxWidth, maxWidth = _e === void 0 ? 'x250' : _e, button = _a.button, props = __rest(_a, ["icon", "placement", "title", "is", "className", "pressed", "maxWidth", "button"]);
6504
+ var _b = _a.icon, icon = _b === void 0 ? 'kebab' : _b, _c = _a.placement, placement = _c === void 0 ? 'bottom-start' : _c, title = _a.title, _d = _a.is, MenuButton = _d === void 0 ? Button_1.IconButton : _d, className = _a.className, pressed = _a.pressed, _e = _a.maxWidth, maxWidth = _e === void 0 ? 'x250' : _e, button = _a.button, detached = _a.detached, props = __rest(_a, ["icon", "placement", "title", "is", "className", "pressed", "maxWidth", "button", "detached"]);
6504
6505
  var state = (0, react_stately_1.useMenuTriggerState)(props);
6505
6506
  var ref = (0, react_1.useRef)(null);
6506
6507
  var _f = (0, react_aria_1.useMenuTrigger)({}, state, ref), menuTriggerProps = _f.menuTriggerProps, menuProps = _f.menuProps;
@@ -6508,10 +6509,11 @@ var Menu = function (_a) {
6508
6509
  var large = props.large, medium = props.medium, tiny = props.tiny, mini = props.mini;
6509
6510
  var sizes = { large: large, medium: medium, tiny: tiny, mini: mini };
6510
6511
  var defaultSmall = !large && !medium && !tiny && !mini;
6512
+ var popover = state.isOpen && (react_1.default.createElement(MenuPopover_1.default, { state: state, triggerRef: ref, placement: (0, helpers_1.getPlacement)(placement), maxWidth: maxWidth },
6513
+ react_1.default.createElement(MenuDropdown_1.default, __assign({}, props, menuProps))));
6511
6514
  return (react_1.default.createElement(react_1.default.Fragment, null,
6512
6515
  button ? ((0, react_1.cloneElement)(button, __assign(__assign({}, buttonProps), { ref: ref, icon: icon, className: className, title: title, pressed: pressed || state.isOpen }))) : (react_1.default.createElement(MenuButton, __assign({}, buttonProps, { ref: ref, icon: icon, className: className, title: title, pressed: pressed || state.isOpen, small: defaultSmall }, sizes))),
6513
- state.isOpen && (react_1.default.createElement(MenuPopover_1.default, { state: state, triggerRef: ref, placement: (0, helpers_1.getPlacement)(placement), maxWidth: maxWidth },
6514
- react_1.default.createElement(MenuDropdown_1.default, __assign({}, props, menuProps))))));
6516
+ detached ? (0, react_dom_1.createPortal)(popover, document.body) : popover));
6515
6517
  };
6516
6518
  exports["default"] = Menu;
6517
6519