UNPKG

@liveblocks/react-ui

Version:

A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.

93 lines (86 loc) 2.75 kB
"use client"; 'use strict'; var jsxRuntime = require('react/jsx-runtime'); var DropdownMenuPrimitive = require('@radix-ui/react-dropdown-menu'); var react = require('react'); var config = require('../../config.cjs'); var constants = require('../../constants.cjs'); var overrides = require('../../overrides.cjs'); var classNames = require('../../utils/class-names.cjs'); function _interopNamespaceDefault(e) { var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var DropdownMenuPrimitive__namespace = /*#__PURE__*/_interopNamespaceDefault(DropdownMenuPrimitive); function Dropdown({ children, content, defaultOpen, open, onOpenChange, className, ...props }) { const $ = overrides.useOverrides(); const { portalContainer } = config.useLiveblocksUIConfig(); return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.Root, { defaultOpen, open, onOpenChange, dir: $.dir, children: [ children, /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Content, { className: classNames.classNames( "lb-root lb-portal lb-elevation lb-dropdown", className ), sideOffset: constants.FLOATING_ELEMENT_SIDE_OFFSET, collisionPadding: constants.FLOATING_ELEMENT_COLLISION_PADDING, ...props, children: content }) }) ] }); } const DropdownItem = react.forwardRef( ({ children, className, icon, ...props }, forwardedRef) => { return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.DropdownMenuItem, { className: classNames.classNames("lb-dropdown-item", className), ...props, ref: forwardedRef, children: [ icon ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "lb-dropdown-item-icon lb-icon-container", children: icon }) : null, children ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "lb-dropdown-item-label", children }) : null ] }); } ); Object.defineProperty(exports, 'DropdownTrigger', { enumerable: true, get: function () { return DropdownMenuPrimitive.DropdownMenuTrigger; } }); exports.Dropdown = Dropdown; exports.DropdownItem = DropdownItem; //# sourceMappingURL=Dropdown.cjs.map