UNPKG

@itwin/core-react

Version:

A react component library of iTwin.js UI general purpose components

33 lines 2.06 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ /** @packageDocumentation * @module Inputs */ import { SvgStatusError, SvgStatusSuccess, SvgStatusWarning, } from "@itwin/itwinui-icons-react"; import classnames from "classnames"; import * as React from "react"; import { Icon } from "../icons/IconComponent.js"; import { InputStatus } from "./InputStatus.js"; const inputLabelIconSpec = { [InputStatus.Error]: React.createElement(SvgStatusError, null), [InputStatus.Success]: React.createElement(SvgStatusSuccess, null), [InputStatus.Warning]: React.createElement(SvgStatusWarning, null), }; /** Text input wrapper that provides additional styling and labeling * @public * @deprecated in 4.12.0. Use {@link https://itwinui.bentley.com/docs/input iTwinUI input} instead. */ export class InputLabel extends React.PureComponent { render() { const { label, status, className, style, labelClassName, labelStyle, message, messageClassName, messageStyle, } = this.props; return (React.createElement("label", { style: style, className: classnames("uicore-inputs-labeled-input", this.props.disabled && "uicore-disabled", status, className) }, label && (React.createElement("div", { className: classnames("uicore-label", labelClassName), style: labelStyle }, label)), React.createElement("div", { className: classnames("input", { "with-icon": !!status }) }, this.props.children, status && (React.createElement(Icon, { className: "icon", iconSpec: inputLabelIconSpec[`{status}`] }))), message && (React.createElement("div", { className: classnames("uicore-message", messageClassName), style: messageStyle }, message)))); } } //# sourceMappingURL=InputLabel.js.map