UNPKG

@atlaskit/dropdown-menu

Version:

A dropdown menu displays a list of actions or options to a user.

66 lines (65 loc) • 2.82 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.DropdownItemCheckboxGroup = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _useId = require("@atlaskit/ds-lib/use-id"); var _section = _interopRequireDefault(require("@atlaskit/menu/section")); var _fg = require("@atlaskit/platform-feature-flags/fg"); var _dropdownMenuItemGroup = _interopRequireDefault(require("../dropdown-menu-item-group")); var _groupTitle = _interopRequireDefault(require("../internal/components/group-title")); var _checkboxGroupContext = require("../internal/context/checkbox-group-context"); var _excluded = ["children", "hasSeparator", "id", "isList", "isScrollable", "testId", "title", "titleId", "label"]; /** * __Dropdown item checkbox group__ * * A wrapping element for dropdown menu checkbox items. * */ var DropdownItemCheckboxGroup = exports.DropdownItemCheckboxGroup = function DropdownItemCheckboxGroup(_ref) { var children = _ref.children, hasSeparator = _ref.hasSeparator, id = _ref.id, isList = _ref.isList, isScrollable = _ref.isScrollable, testId = _ref.testId, title = _ref.title, titleId = _ref.titleId, label = _ref.label, rest = (0, _objectWithoutProperties2.default)(_ref, _excluded); var uid = (0, _useId.useId)(); var groupTitleId = titleId || "dropdown-menu-item-checkbox-group-title-".concat(uid); if ((0, _fg.fg)('platform-dst-new-menu')) { return /*#__PURE__*/_react.default.createElement(_checkboxGroupContext.CheckboxGroupContext.Provider, { value: id }, /*#__PURE__*/_react.default.createElement(_dropdownMenuItemGroup.default, { id: id, hasSeparator: hasSeparator, isScrollable: isScrollable, testId: testId, title: title, titleId: groupTitleId, label: label }, children)); } return /*#__PURE__*/_react.default.createElement(_checkboxGroupContext.CheckboxGroupContext.Provider, { value: id }, /*#__PURE__*/_react.default.createElement(_section.default, (0, _extends2.default)({ hasSeparator: hasSeparator, id: id, isList: isList, isScrollable: isScrollable, testId: testId, titleId: title ? groupTitleId : undefined, label: label // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props }, rest), title && /*#__PURE__*/_react.default.createElement(_groupTitle.default, { id: groupTitleId, title: title }), children)); }; var _default = exports.default = DropdownItemCheckboxGroup;