UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

23 lines (22 loc) 1.24 kB
import * as React from 'react'; import { chevronDownSmallIcon } from '@workday/canvas-system-icons-web'; import { createElemPropsHook, composeHooks, createSubModelElemPropsHook, createSubcomponent, } from '@workday/canvas-kit-react/common'; import { SystemIcon } from '@workday/canvas-kit-react/icon'; import { useOverflowListTarget } from '@workday/canvas-kit-react/collection'; import { useMenuTarget } from '@workday/canvas-kit-react/menu'; import { useTabsModel } from './useTabsModel'; import { StyledTabItem } from './TabsItem'; export const useTabsOverflowButton = composeHooks(createElemPropsHook(useTabsModel)(() => { return { 'aria-haspopup': true, }; }), useOverflowListTarget, createSubModelElemPropsHook(useTabsModel)(m => m.menu, useMenuTarget)); export const TabsOverflowButton = createSubcomponent('button')({ displayName: 'Tabs.OverflowButton', modelHook: useTabsModel, elemPropsHook: useTabsOverflowButton, })(({ children, ...elemProps }, Element) => { return (React.createElement(StyledTabItem, { type: "button", gap: "xxxs", as: Element, ...elemProps }, React.createElement("span", null, children), React.createElement(SystemIcon, { icon: chevronDownSmallIcon }))); });