UNPKG

@workday/canvas-kit-react

Version:

The parent module that contains all Workday Canvas Kit React components

51 lines (50 loc) 2.44 kB
import * as React from 'react'; import { createComponent } from '@workday/canvas-kit-react/common'; import { system } from '@workday/canvas-tokens-web'; import { createStencil } from '@workday/canvas-kit-styling'; import { mergeStyles } from '@workday/canvas-kit-react/layout'; import { textStencil } from './Text'; const labelTextStencil = createStencil({ extends: textStencil, base: { name: "d5h4p", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);line-height:var(--cnvs-sys-line-height-subtext-large);font-size:var(--cnvs-sys-font-size-subtext-large);letter-spacing:var(--cnvs-base-letter-spacing-150);color:var(--cnvs-sys-color-text-default);" }, modifiers: { disabled: { true: { name: "d5h4q", styles: "cursor:default;color:var(--cnvs-sys-color-text-disabled);" } }, variant: { inverse: { name: "d5h4r", styles: "color:var(--cnvs-sys-color-text-inverse);" }, error: { name: "d5h4s", styles: "color:var(--cnvs-sys-color-text-critical-default);" }, hint: { name: "d5h4t", styles: "color:var(--cnvs-sys-color-text-hint);" } } }, compound: [ { modifiers: { variant: 'inverse', disabled: true }, styles: { name: "d5h4u", styles: "opacity:var(--cnvs-sys-opacity-disabled);color:var(--cnvs-sys-color-text-inverse);" } } ] }, "label-text-047ddd"); /** * This component is intended to be used for labeling input fields. * By default, it renders a semantic `label` element. * * It also uses the `subtext.large` typeLevel by default: * - font-size: 14px (0.875rem) * - font-weight: regular (400) * * ```tsx * import { LabelText } from '@workday/canvas-kit-react/text'; * * const CustomLabelText = () => ( * <LabelText>Input Label Text</LabelText> * ); * ``` * * @deprecated ⚠️ `LabelText` has been deprecated and will be removed in a future major version. Please use [FormField.Label](https://workday.github.io/canvas-kit/?path=/docs/preview-inputs-form-field--basic) from Preview instead. */ export const LabelText = createComponent('label')({ displayName: 'Label', Component: ({ disabled, typeLevel, variant, ...elemProps }, ref, Element) => { return (React.createElement(Element, { ref: ref, ...mergeStyles(elemProps, labelTextStencil({ variant, disabled, typeLevel })) })); }, });