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