@uiw/react-native
Version:
UIW for React Native
40 lines (31 loc) • 3.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = Ellipsis;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactNative = require("react-native");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function Ellipsis({
maxLen,
children,
placeholder,
...props
}) {
let content = children;
if (maxLen && content && typeof content === 'string') {
content = content.length > maxLen ? content.substr(0, maxLen) + placeholder : content;
}
return <_reactNative.Text {...props}>{content}</_reactNative.Text>;
}
Ellipsis.propTypes = {
children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node, _propTypes.default.string]),
placeholder: _propTypes.default.string,
maxLen: _propTypes.default.number
};
Ellipsis.defaultProps = {
placeholder: '...'
};
module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9FbGxpcHNpcy9pbmRleC50c3giXSwibmFtZXMiOlsiRWxsaXBzaXMiLCJtYXhMZW4iLCJjaGlsZHJlbiIsInBsYWNlaG9sZGVyIiwicHJvcHMiLCJjb250ZW50IiwibGVuZ3RoIiwic3Vic3RyIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsIm5vZGUiLCJzdHJpbmciLCJudW1iZXIiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztBQVFlLFNBQVNBLFFBQVQsQ0FBa0I7QUFBRUMsRUFBQUEsTUFBRjtBQUFVQyxFQUFBQSxRQUFWO0FBQW9CQyxFQUFBQSxXQUFwQjtBQUFpQyxLQUFHQztBQUFwQyxDQUFsQixFQUE4RTtBQUMzRixNQUFJQyxPQUFPLEdBQUdILFFBQWQ7O0FBQ0EsTUFBSUQsTUFBTSxJQUFJSSxPQUFWLElBQXFCLE9BQU9BLE9BQVAsS0FBbUIsUUFBNUMsRUFBc0Q7QUFDcERBLElBQUFBLE9BQU8sR0FBR0EsT0FBTyxDQUFDQyxNQUFSLEdBQWlCTCxNQUFqQixHQUEwQkksT0FBTyxDQUFDRSxNQUFSLENBQWUsQ0FBZixFQUFrQk4sTUFBbEIsSUFBNEJFLFdBQXRELEdBQW9FRSxPQUE5RTtBQUNEOztBQUNELFNBQU8sbUJBQU0sSUFBSUQsS0FBSixDQUFOLENBQWlCLENBQUNDLE9BQUQsQ0FBUyxvQkFBakM7QUFDRDs7QUFFREwsUUFBUSxDQUFDUSxTQUFULEdBQXFCO0FBQ25CTixFQUFBQSxRQUFRLEVBQUVPLG1CQUFVQyxTQUFWLENBQW9CLENBQUNELG1CQUFVRSxPQUFWLENBQWtCRixtQkFBVUcsSUFBNUIsQ0FBRCxFQUFvQ0gsbUJBQVVHLElBQTlDLEVBQW9ESCxtQkFBVUksTUFBOUQsQ0FBcEIsQ0FEUztBQUVuQlYsRUFBQUEsV0FBVyxFQUFFTSxtQkFBVUksTUFGSjtBQUduQlosRUFBQUEsTUFBTSxFQUFFUSxtQkFBVUs7QUFIQyxDQUFyQjtBQUtBZCxRQUFRLENBQUNlLFlBQVQsR0FBd0I7QUFDdEJaLEVBQUFBLFdBQVcsRUFBRTtBQURTLENBQXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBUZXh0LCBUZXh0UHJvcHMgfSBmcm9tICdyZWFjdC1uYXRpdmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVsbGlwc2lzUHJvcHMgZXh0ZW5kcyBUZXh0UHJvcHMge1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG1heExlbj86IG51bWJlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRWxsaXBzaXMoeyBtYXhMZW4sIGNoaWxkcmVuLCBwbGFjZWhvbGRlciwgLi4ucHJvcHMgfTogRWxsaXBzaXNQcm9wcykge1xuICBsZXQgY29udGVudCA9IGNoaWxkcmVuO1xuICBpZiAobWF4TGVuICYmIGNvbnRlbnQgJiYgdHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgY29udGVudCA9IGNvbnRlbnQubGVuZ3RoID4gbWF4TGVuID8gY29udGVudC5zdWJzdHIoMCwgbWF4TGVuKSArIHBsYWNlaG9sZGVyIDogY29udGVudDtcbiAgfVxuICByZXR1cm4gPFRleHQgey4uLnByb3BzfT57Y29udGVudH08L1RleHQ+O1xufVxuXG5FbGxpcHNpcy5wcm9wVHlwZXMgPSB7XG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMubm9kZSksIFByb3BUeXBlcy5ub2RlLCBQcm9wVHlwZXMuc3RyaW5nXSksXG4gIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBtYXhMZW46IFByb3BUeXBlcy5udW1iZXIsXG59O1xuRWxsaXBzaXMuZGVmYXVsdFByb3BzID0ge1xuICBwbGFjZWhvbGRlcjogJy4uLicsXG59O1xuIl19