@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
20 lines (19 loc) • 1.15 kB
JavaScript
import * as React from 'react';
import { BaseButton } from './BaseButton';
import { createComponent } from '@workday/canvas-kit-react/common';
export const Button = createComponent('button')({
displayName: 'Button',
Component: ({ children, icon, colors, iconPosition, shouldMirrorIcon, size = 'medium', ...elemProps }, ref, Element) => {
const baseIconPosition = iconPosition
? iconPosition
: icon
? children
? 'start'
: 'only'
: undefined;
return (React.createElement(BaseButton, { as: Element, ref: ref, size: size, icon: icon, colors: colors, iconPosition: baseIconPosition, ...elemProps },
icon && baseIconPosition === 'start' && (React.createElement(BaseButton.Icon, { size: size, icon: icon, shouldMirrorIcon: shouldMirrorIcon })),
children && React.createElement(BaseButton.Label, null, children),
icon && baseIconPosition && ['only', 'end'].includes(baseIconPosition) && (React.createElement(BaseButton.Icon, { size: size, icon: icon, shouldMirrorIcon: shouldMirrorIcon }))));
},
});