UNPKG

wix-style-react

Version:
145 lines (144 loc) 5.5 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _CounterBadgeSt = require("./CounterBadge.st.css"); var _Caption = _interopRequireDefault(require("../Text/Caption")); var _Text = _interopRequireDefault(require("../Text")); var _constants = require("./constants"); var _context = require("../WixStyleReactProvider/context"); var _context2 = require("../WixStyleReactEnvironmentProvider/context"); var _wixDesignSystemsLocaleUtils = require("wix-design-systems-locale-utils"); var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/CounterBadge/CounterBadge.tsx"; function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } var MAX_NUMBER = 100; /** CounterBadge */ class CounterBadge extends _react.PureComponent { constructor() { super(...arguments); this._renderNumberContent = (n, truncate) => n < MAX_NUMBER || !truncate ? Intl.NumberFormat(this._getLocale()).format(n) : /*#__PURE__*/_react.default.createElement("div", { className: _CounterBadgeSt.classes.numberContent, __self: this, __source: { fileName: _jsxFileName, lineNumber: 55, columnNumber: 7 } }, MAX_NUMBER - 1, /*#__PURE__*/_react.default.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "5", height: "5", viewBox: "0 0 5 5", __self: this, __source: { fileName: _jsxFileName, lineNumber: 57, columnNumber: 9 } }, /*#__PURE__*/_react.default.createElement("path", { fill: "currentColor", d: "M3,0 L3,2 L5,2 L5,3 L3,3 L3,5 L2,5 L2,3 L0,3 L0,2 L2,2 L2,0 L3,0 Z", __self: this, __source: { fileName: _jsxFileName, lineNumber: 63, columnNumber: 11 } }))); this._renderCounterBadgeContent = (size, content) => size === 'small' ? /*#__PURE__*/_react.default.createElement(_Caption.default, { tagName: "span", caption: "c1", light: true, dataHook: _constants.dataHooks.content, className: _CounterBadgeSt.classes.caption, __self: this, __source: { fileName: _jsxFileName, lineNumber: 76, columnNumber: 7 } }, content) : /*#__PURE__*/_react.default.createElement(_Text.default, { dataHook: _constants.dataHooks.content, size: "tiny", weight: "bold", light: true, className: _CounterBadgeSt.classes.text, __self: this, __source: { fileName: _jsxFileName, lineNumber: 86, columnNumber: 7 } }, content); } _getLocale() { // @ts-ignore return this.props.locale || this.context.locale || 'en'; } render() { var { dataHook, size, skin, children, className, showShadow, truncate } = this.props; var custom = isNaN(Number(children)); var longNumber = !custom && truncate && Number(children) >= MAX_NUMBER; var content = custom ? children : this._renderNumberContent(Number(children), truncate); return /*#__PURE__*/_react.default.createElement(_context.WixStyleReactContext.Consumer, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 113, columnNumber: 7 } }, _ref => { var { newColorsBranding } = _ref; return /*#__PURE__*/_react.default.createElement("div", { className: (0, _CounterBadgeSt.st)(_CounterBadgeSt.classes.root, { skin, custom, size, longNumber, showShadow, newColorsBranding }, className), "data-hook": dataHook, "data-locale": this._getLocale(), __self: this, __source: { fileName: _jsxFileName, lineNumber: 115, columnNumber: 11 } }, this._renderCounterBadgeContent(size, content)); }); } } CounterBadge.displayName = 'CounterBadge'; CounterBadge.contextType = _context2.WixStyleReactEnvironmentContext; CounterBadge.propTypes = { dataHook: _propTypes.default.string, className: _propTypes.default.string, children: _propTypes.default.node, locale: _propTypes.default.oneOf(_wixDesignSystemsLocaleUtils.SupportedWixLocales), skin: _propTypes.default.oneOf(['general', 'standard', 'neutralStandard', 'danger', 'warning', 'urgent', 'success', 'light']), size: _propTypes.default.oneOf(['small', 'medium']), showShadow: _propTypes.default.bool, truncate: _propTypes.default.bool }; CounterBadge.defaultProps = { skin: 'general', size: 'small', showShadow: false, truncate: true }; var _default = exports.default = CounterBadge; //# sourceMappingURL=CounterBadge.js.map