UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

97 lines (96 loc) 2.6 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); Object.defineProperty(exports, 'LabeledInput', { enumerable: true, get: function () { return LabeledInput; }, }); const _interop_require_default = require('@swc/helpers/_/_interop_require_default'); const _interop_require_wildcard = require('@swc/helpers/_/_interop_require_wildcard'); const _react = /*#__PURE__*/ _interop_require_wildcard._(require('react')); const _Input = require('../Input/Input.js'); const _index = require('../../utils/index.js'); const _InputGrid = require('../InputGrid/InputGrid.js'); const _StatusMessage = require('../StatusMessage/StatusMessage.js'); const _Label = require('../Label/Label.js'); const _Icon = require('../Icon/Icon.js'); const _classnames = /*#__PURE__*/ _interop_require_default._( require('classnames'), ); const LabeledInput = _react.forwardRef((props, ref) => { let { disabled = false, label, message, status, svgIcon, wrapperProps, labelProps, messageContentProps, iconProps, inputWrapperProps, displayStyle = 'default', required = false, ...rest } = props; let icon = svgIcon ?? (status && _index.StatusIconMap[status]()); let shouldShowIcon = null !== svgIcon && (svgIcon || (status && !message)); return _react.createElement( _InputGrid.InputGrid, { labelPlacement: displayStyle, 'data-iui-status': status, ...wrapperProps, }, label && _react.createElement( _Label.Label, { as: 'label', required: required, disabled: disabled, ...labelProps, }, label, ), _react.createElement( _index.InputWithIcon, inputWrapperProps, _react.createElement(_Input.Input, { disabled: disabled, required: required, ref: ref, ...rest, }), shouldShowIcon && _react.createElement( _Icon.Icon, { fill: status, ...iconProps, className: (0, _classnames.default)( 'iui-end-icon', iconProps?.className, ), }, icon, ), ), 'string' == typeof message ? _react.createElement( _StatusMessage.StatusMessage, { status: status, iconProps: iconProps, contentProps: messageContentProps, }, message, ) : message, ); }); if ('development' === process.env.NODE_ENV) LabeledInput.displayName = 'LabeledInput';