@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
50 lines (43 loc) • 1.71 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
var cx = require('classnames');
var icons = require('@carbon/react/icons');
var settings = require('../settings.js');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
var cx__default = /*#__PURE__*/_interopDefault(cx);
/*
IBM Confidential
694970X, 69497O0
© Copyright IBM Corp. 2022, 2024
*/
/**
* Copyright IBM Corp. 2016, 2018
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
const translationIds = {
"close.menu": "close.menu",
"open.menu": "open.menu",
};
const defaultTranslations = {
[translationIds["close.menu"]]: "Close menu",
[translationIds["open.menu"]]: "Open menu",
};
/**
* `ListBoxMenuIcon` is used to orient the icon up or down depending on the
* state of the menu for a given `ListBox`
*/
const ListBoxMenuIcon = ({ isOpen, translateWithId: t = (id) => defaultTranslations[id] }) => {
const className = cx__default.default(`${settings.prefix}--list-box__menu-icon`, {
[`${settings.prefix}--list-box__menu-icon--open`]: isOpen,
});
const description = isOpen ? t("close.menu") : t("open.menu");
return (React__default.default.createElement("div", { className: className },
React__default.default.createElement(icons.ChevronDown, { name: "chevron--down", "aria-label": description },
React__default.default.createElement("title", null, description))));
};
exports.default = ListBoxMenuIcon;
exports.translationIds = translationIds;