UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

22 lines (21 loc) 1.19 kB
import * as React from 'react'; import styled from '@emotion/styled'; import { relatedActionsIcon } from '@workday/canvas-system-icons-web'; import { createElemPropsHook, composeHooks, createSubcomponent, createSubModelElemPropsHook, } from '@workday/canvas-kit-react/common'; import { useOverflowListTarget } from '@workday/canvas-kit-react/collection'; import { useMenuTarget } from '@workday/canvas-kit-react/menu'; import { useActionBarModel } from './useActionBarModel'; import { SecondaryButton } from '@workday/canvas-kit-react/button'; const StyledSecondaryButton = styled(SecondaryButton)({ flex: 0, }); export const useActionBarOverflowButton = composeHooks(createElemPropsHook(useActionBarModel)(() => ({ 'aria-haspopup': true, })), useOverflowListTarget, createSubModelElemPropsHook(useActionBarModel)(m => m.menu, useMenuTarget)); export const ActionBarOverflowButton = createSubcomponent('button')({ displayName: 'ActionBar.OverflowButton', modelHook: useActionBarModel, elemPropsHook: useActionBarOverflowButton, })((elemProps, Element) => { return React.createElement(StyledSecondaryButton, { as: Element, icon: relatedActionsIcon, ...elemProps }); });