UNPKG

@shopify/polaris

Version:

Shopify’s product component library

48 lines (42 loc) 1.36 kB
import React$1 from 'react'; import { useFeatures } from '../../utilities/features/hooks.js'; import { classNames } from '../../utilities/css.js'; import { Actions as Actions$1 } from './components/Actions/Actions.js'; import { RollupActions as RollupActions$1 } from './components/RollupActions/RollupActions.js'; import styles from './ActionMenu.scss.js'; function ActionMenu({ actions = [], groups = [], rollup }) { var { newDesignLanguage } = useFeatures(); if (actions.length === 0 && groups.length === 0) { return null; } var actionMenuClassNames = classNames(styles.ActionMenu, rollup && styles.rollup, newDesignLanguage && styles.newDesignLanguage); var rollupSections = groups.map(group => convertGroupToSection(group)); return /*#__PURE__*/React$1.createElement("div", { className: actionMenuClassNames }, rollup ? /*#__PURE__*/React$1.createElement(RollupActions$1, { items: actions, sections: rollupSections }) : /*#__PURE__*/React$1.createElement(Actions$1, { actions: actions, groups: groups })); } function hasGroupsWithActions(groups = []) { return groups.length === 0 ? false : groups.some(group => group.actions.length > 0); } function convertGroupToSection({ title, actions }) { return { title, items: actions }; } export { ActionMenu, hasGroupsWithActions };