UNPKG

@itwin/quantity-formatting-react

Version:

React components and utilities for quantity formatting

22 lines 1.75 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; /*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ import * as React from "react"; import { FormatType, parseFormatType } from "@itwin/core-quantity"; import { FractionPrecisionSelector } from "./misc/FractionPrecision.js"; import { useTranslation } from "../../../useTranslation.js"; import { Label } from "@itwin/itwinui-react"; import { DecimalPrecisionSelector } from "./misc/DecimalPrecision.js"; /** Component to show/edit Quantity Format Precision. * @internal */ export function FormatPrecision(props) { const { formatProps, onChange } = props; const { translate } = useTranslation(); const precisionSelectorId = React.useId(); const formatType = parseFormatType(formatProps.type, "format"); return (_jsxs("div", { className: "quantityFormat--formatInlineRow", children: [_jsx(Label, { displayStyle: "inline", id: precisionSelectorId, children: translate("QuantityFormat:labels.precision") }), formatType === FormatType.Fractional ? (_jsx(FractionPrecisionSelector, { precision: formatProps.precision ?? 0, onChange: (value) => onChange({ ...formatProps, precision: value }), "aria-labelledby": precisionSelectorId })) : (_jsx(DecimalPrecisionSelector, { precision: formatProps.precision ?? 0, onChange: (value) => onChange({ ...formatProps, precision: value }), "aria-labelledby": precisionSelectorId }))] })); } //# sourceMappingURL=FormatPrecision.js.map