UNPKG

@bootstrap-styled/ra-ui

Version:
80 lines (65 loc) 3.02 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.DateField = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _get = _interopRequireDefault(require("lodash/get")); var _pure = _interopRequireDefault(require("recompose/pure")); var _sanitizeRestProps = _interopRequireDefault(require("./sanitizeRestProps")); var TypographyDateField = _styledComponents.default.div.withConfig({ displayName: "DateField__TypographyDateField", componentId: "sc-19hnc4i-0" })(["color:rgba(0,0,0,0.87);font-size:0.875rem;font-weight:400;line-height:1.46429em;"]); var toLocaleStringSupportsLocales = function () { try { new Date().toLocaleString('i'); } catch (error) { return error instanceof RangeError; } return false; }(); var DateField = function DateField(_ref) { var className = _ref.className, locales = _ref.locales, options = _ref.options, record = _ref.record, _ref$showTime = _ref.showTime, showTime = _ref$showTime === void 0 ? false : _ref$showTime, source = _ref.source, rest = (0, _objectWithoutProperties2.default)(_ref, ["className", "locales", "options", "record", "showTime", "source"]); if (!record) return null; var value = (0, _get.default)(record, source); if (value == null) return null; var date = value instanceof Date ? value : new Date(value); var dateString = showTime ? toLocaleStringSupportsLocales ? date.toLocaleString(locales, options) : date.toLocaleString() : toLocaleStringSupportsLocales ? date.toLocaleDateString(locales, options) : date.toLocaleDateString(); return _react.default.createElement(TypographyDateField, (0, _extends2.default)({ className: className }, (0, _sanitizeRestProps.default)(rest)), dateString); }; exports.DateField = DateField; DateField.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, showTime: _propTypes.default.bool, sortBy: _propTypes.default.string, source: _propTypes.default.string.isRequired }; var PureDateField = (0, _pure.default)(DateField); PureDateField.defaultProps = { addLabel: true }; var _default = PureDateField; exports.default = _default;