UNPKG

@awsui/components-react

Version:

On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en

30 lines 1.46 kB
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import React from 'react'; import InternalButtonDropdown from '../../button-dropdown/internal'; import testutilStyles from '../test-classes/styles.css.js'; const mapDrawerToItem = (drawer, isTypeCheckbox) => ({ id: drawer.id, text: drawer.ariaLabels.drawerName, iconName: drawer.trigger.iconName, iconSvg: drawer.trigger.iconSvg, badge: drawer.badge, itemType: isTypeCheckbox ? 'checkbox' : undefined, checked: drawer.active, }); export default function OverflowMenu({ items: drawers, onItemClick, customTriggerBuilder, ariaLabel, globalDrawersStartIndex, }) { const hasGlobalDrawers = globalDrawersStartIndex !== undefined; const itemsFlatList = drawers.map((item, index) => mapDrawerToItem(item, hasGlobalDrawers && index >= globalDrawersStartIndex)); let items; if (hasGlobalDrawers) { items = [ { items: itemsFlatList.slice(0, globalDrawersStartIndex) }, { items: itemsFlatList.slice(globalDrawersStartIndex) }, ]; } else { items = itemsFlatList; } return (React.createElement(InternalButtonDropdown, { items: items, className: testutilStyles['overflow-menu'], onItemClick: onItemClick, ariaLabel: ariaLabel, variant: "icon", customTriggerBuilder: customTriggerBuilder, expandToViewport: true })); } //# sourceMappingURL=overflow-menu.js.map