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