@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
24 lines (23 loc) • 4.01 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { createComponent } from '@workday/canvas-kit-react/common';
import { systemIconStencil } from '@workday/canvas-kit-react/icon';
import { createStencil, cssVar } from '@workday/canvas-kit-styling';
import { brand, system } from '@workday/canvas-tokens-web';
import { buttonColorPropVars, buttonStencil } from './BaseButton';
import { Button } from './Button';
const primaryButtonStencil = createStencil({
extends: buttonStencil,
base: { name: "1jy24u", styles: "box-sizing:border-box;--background-button-85bf0e:var(--cnvs-brand-action-base, var(--cnvs-brand-primary-base));--borderRadius-button-85bf0e:var(--cnvs-sys-shape-round);--label-button-85bf0e:var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));--color-system-icon-3a4847:var(--icon-a1b49d, currentColor);&:focus-visible, &.focus{--background-button-85bf0e:var(--cnvs-brand-action-base, var(--cnvs-brand-primary-base));--label-button-85bf0e:var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));--boxShadowInner-button-85bf0e:var(--cnvs-sys-color-border-inverse);--boxShadowOuter-button-85bf0e:var(--cnvs-brand-common-focus-outline);--color-system-icon-3a4847:var(--icon-553b51, currentColor);}&:hover, &.hover{--background-button-85bf0e:var(--cnvs-brand-action-dark, var(--cnvs-brand-primary-dark));--label-button-85bf0e:var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));--color-system-icon-3a4847:var(--icon-846e8f, currentColor);}&:active, &.active{--background-button-85bf0e:var(--cnvs-brand-action-darkest, var(--cnvs-brand-primary-darkest));--label-button-85bf0e:var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));--color-system-icon-3a4847:var(--icon-3abb65, currentColor);}&:disabled, &.disabled{--background-button-85bf0e:var(--cnvs-brand-action-base, var(--cnvs-brand-primary-base));--label-button-85bf0e:var(--cnvs-brand-action-accent, var(--cnvs-brand-primary-accent));--opacity-button-85bf0e:var(--cnvs-sys-opacity-disabled);--color-system-icon-3a4847:var(--icon-74b26e, currentColor);}" },
modifiers: {
variant: {
// Inverse Styles
inverse: { name: "2b34v9", styles: "--background-button-85bf0e:var(--cnvs-brand-action-lightest, var(--cnvs-brand-primary-lightest));--borderRadius-button-85bf0e:var(--cnvs-sys-shape-round);--label-button-85bf0e:var(--cnvs-sys-color-fg-strong);--color-system-icon-3a4847:var(--icon-a1b49d, currentColor);&:focus-visible, &.focus{--background-button-85bf0e:var(--cnvs-brand-action-lightest, var(--cnvs-brand-primary-lightest));--label-button-85bf0e:var(--cnvs-sys-color-fg-strong);--boxShadowInner-button-85bf0e:var(--cnvs-sys-color-border-contrast-default);--boxShadowOuter-button-85bf0e:var(--cnvs-sys-color-border-inverse);--color-system-icon-3a4847:var(--icon-553b51, currentColor);}&:hover, &.hover{--background-button-85bf0e:var(--cnvs-brand-action-lighter, var(--cnvs-brand-primary-lightest));--label-button-85bf0e:var(--cnvs-sys-color-fg-stronger);--color-system-icon-3a4847:var(--icon-846e8f, currentColor);}&:active, &.active{--background-button-85bf0e:var(--cnvs-brand-action-light, var(--cnvs-brand-primary-light));--label-button-85bf0e:var(--cnvs-sys-color-fg-stronger);--color-system-icon-3a4847:var(--icon-3abb65, currentColor);}&:disabled, &.disabled{--background-button-85bf0e:var(--cnvs-brand-action-lightest, var(--cnvs-brand-primary-lightest));--label-button-85bf0e:var(--cnvs-sys-color-fg-strong);--color-system-icon-3a4847:var(--icon-74b26e, currentColor);}" }
}
}
}, "primary-button-535c5a");
export const PrimaryButton = createComponent('button')({
displayName: 'PrimaryButton',
Component: ({ children, variant, size, iconPosition, grow, cs, ...elemProps }, ref, Element) => {
return (_jsx(Button, { as: Element, ref: ref, iconPosition: iconPosition, size: size, grow: grow, cs: [primaryButtonStencil({ variant, iconPosition, grow, size }), cs], ...elemProps, children: children }));
},
});