UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

27 lines (26 loc) 1.72 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; 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'; import { createStencil } from '@workday/canvas-kit-styling'; import { system } from '@workday/canvas-tokens-web'; import { mergeStyles } from '@workday/canvas-kit-react/layout'; const tabsOverflowButtonStencil = createStencil({ base: { name: "13ejev", styles: "box-sizing:border-box;&:has([data-part=\"tabs-overflow-button-icon\"]){display:flex;gap:var(--cnvs-sys-space-zero);}" } }, "tabs-overflow-button-4425ed"); 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 (_jsxs(StyledTabItem, { type: "button", as: Element, ...mergeStyles(elemProps, tabsOverflowButtonStencil()), children: [_jsx("span", { children: children }), _jsx(SystemIcon, { "data-part": "tabs-overflow-button-icon", icon: chevronDownSmallIcon })] })); });