@itwin/core-react
Version:
A react component library of iTwin.js UI general purpose components
33 lines • 2.06 kB
JavaScript
/*---------------------------------------------------------------------------------------------
* 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