@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
22 lines (21 loc) • 1.19 kB
JavaScript
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 });
});