UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

80 lines (79 loc) 2.26 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true, }); Object.defineProperty(exports, 'ProgressLinear', { enumerable: true, get: function () { return ProgressLinear; }, }); 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 _classnames = /*#__PURE__*/ _interop_require_default._( require('classnames'), ); const _index = require('../../utils/index.js'); const _VisuallyHidden = require('../VisuallyHidden/VisuallyHidden.js'); const ProgressLinear = _react.forwardRef((props, forwardedRef) => { let { value, indeterminate = void 0 === value, labels = [], isAnimated = false, status, className, labelGroupProps, ...rest } = props; let boundedValue = (0, _index.getBoundedValue)(value ?? 100, 0, 100); return _react.createElement( _index.Box, { className: (0, _classnames.default)( 'iui-progress-indicator-linear', className, ), ref: forwardedRef, 'data-iui-status': status, 'data-iui-indeterminate': indeterminate ? 'true' : void 0, 'data-iui-animated': isAnimated ? 'true' : void 0, ...rest, style: { '--iui-progress-percentage': `${boundedValue}%`, ...props.style, }, }, _react.createElement( _index.ShadowRoot, null, 100 !== value && _react.createElement(_VisuallyHidden.VisuallyHidden, null, 'Loading.'), _react.createElement('slot', null), ), labels.length > 0 && _react.createElement( _index.Box, { as: 'div', ...labelGroupProps, className: (0, _classnames.default)( 'iui-progress-indicator-linear-label', labelGroupProps?.className, ), }, labels.map((label, index) => _react.createElement( 'span', { key: index, }, label, ), ), ), ); }); if ('development' === process.env.NODE_ENV) ProgressLinear.displayName = 'ProgressLinear';