UNPKG

@bootstrap-styled/ra-ui

Version:
82 lines (64 loc) 3.17 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.NumberField = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _get = _interopRequireDefault(require("lodash/get")); var _pure = _interopRequireDefault(require("recompose/pure")); var _classnames = _interopRequireDefault(require("classnames")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _sanitizeRestProps = _interopRequireDefault(require("./sanitizeRestProps")); var NumberFieldBs = _styledComponents.default.span.withConfig({ displayName: "NumberField__NumberFieldBs", componentId: "sc-1p7ax6v-0" })(["color:rgba(0,0,0,0.87);font-size:0.875rem;font-weight:400;line-height:1.46429em;"]); var hasNumberFormat = !!((typeof Intl === "undefined" ? "undefined" : (0, _typeof2.default)(Intl)) === 'object' && Intl && typeof Intl.NumberFormat === 'function'); var NumberField = function NumberField(_ref) { var className = _ref.className, record = _ref.record, source = _ref.source, locales = _ref.locales, options = _ref.options, textAlign = _ref.textAlign, rest = (0, _objectWithoutProperties2.default)(_ref, ["className", "record", "source", "locales", "options", "textAlign"]); if (!record) return null; var value = (0, _get.default)(record, source); if (value == null) return null; if (!hasNumberFormat) { return _react.default.createElement(NumberFieldBs, (0, _extends2.default)({ className: (0, _classnames.default)('text-right', className) }, (0, _sanitizeRestProps.default)(rest)), value); } return _react.default.createElement(NumberFieldBs, (0, _extends2.default)({ className: (0, _classnames.default)('text-right', className) }, (0, _sanitizeRestProps.default)(rest)), value.toLocaleString(locales, options)); }; exports.NumberField = NumberField; NumberField.propTypes = { addLabel: _propTypes.default.bool, basePath: _propTypes.default.string, className: _propTypes.default.string, cellClassName: _propTypes.default.string, headerClassName: _propTypes.default.string, label: _propTypes.default.string, locales: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]), options: _propTypes.default.object, record: _propTypes.default.object, textAlign: _propTypes.default.string, sortBy: _propTypes.default.string, source: _propTypes.default.string.isRequired }; NumberField.displayName = 'NumberField'; var ComposedNumberField = (0, _pure.default)(NumberField); ComposedNumberField.defaultProps = { addLabel: true, textAlign: 'right' }; var _default = ComposedNumberField; exports.default = _default;