@atlaskit/dropdown-menu
Version:
A dropdown menu displays a list of actions or options to a user.
66 lines (65 loc) • 2.82 kB
JavaScript
"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;