'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var styleInject_es = require('./style-inject.es-c386372b.js'); var React = require('react'); var React__default = _interopDefault(React); require('antd/es/input/style'); var _Input = _interopDefault(require('antd/es/input')); require('antd/es/button/style'); var _Button = _interopDefault(require('antd/es/button')); var IMAGE_PROCESS = '?x-oss-process=image/resize,h_350'; var IMAGE_PROCESS_SMALL = '?x-oss-process=image/resize,h_100'; var IMAGE_PROCESS_LARGE = '?x-oss-process=image/resize,h_500'; function addImageProcess(url) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { width: '36px', height: '36px' }; // 防止重复添加导致的url不正确 if (url && url.indexOf('x-oss-process') > -1) { return url; } if (options.small) { return url + IMAGE_PROCESS_SMALL; } if (options.large) { return url + IMAGE_PROCESS_LARGE; } if (options.custom) { return "".concat(url, "?x-oss-process=image/resize,limit_0,m_fill,w_").concat(options.width, ",h_").concat(options.height); } return url + IMAGE_PROCESS; } function formatMoney(input) { var fuzz = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2; if (isNaN(+input)) { return input; } return (+input).toFixed(fuzz); } const img = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAABvklEQVQ4T62UTygEcRTHv29MIsqfk6OL5CYH5aKd9WfjwqxEnBzExYWTCEWJJGove5H8OTA1uwdCrOWAi83ZwUXJiSj5u+Z5s0msmd2SX81h+r33ee/7fW+G8E+H/srhqEcFCjphve1RzcaVK4j3mmoB5YxqQzdOxTji1wE2QZglb2jAEcT7/g4wr0rQugS1OYJ26nOg5nYDr4ZrR7yrl0FBAKBlqjEX3eRLwSXAmidvOJbSI47oF9LVKaCOkNc4/w7kSPOoFBqDwjpp4XA60LUkF8nzbsuERQt4ejtGdsYwiAYTYIV6STOD6UB3EpqXJC0u7zKxz0Mk3Zrj7lOLerJg5T9K+2lWhALiYx8xS9NbDZnUuPXy0wN/hYw3lnbPiNfE7HaSfTAloRqKWkya8WAnMrdmIBqfBqM/BehJAo+gKHMibdMGzUhqKUiZAHGVXJYLwPdpshPnRDRM4fl5+7uKL/0c1WXdOSie5Dh3wZcyoR7SQttO9z+M5MOWEsStFQmsTAoOwVK7qM64d5P6ayKJj9EqHBa5Q4kx2/ujqR1Exnsq493HH2muFN98oNtJ0g7s3Ul5/vwbSab+G+gDqFybE11pYkYAAAAASUVORK5CYII='; var css = ".ConsumeListView_wrapper__la1cB {\n display: flex;\n justify-content: center;\n}\n.ConsumeListView_wrapper__la1cB .ConsumeListView_consumelist__sAA2b {\n padding: 0;\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n padding-top: 10px;\n}\n.ConsumeListView_wrapper__la1cB .ConsumeListView_consumelist__sAA2b li {\n list-style: none;\n}\n.ConsumeListView_wrapper__la1cB .ConsumeListView_consumelist__sAA2b .ConsumeListView_consumeItem__2M0dc {\n margin: 0 6px 10px;\n text-align: center;\n position: relative;\n}\n.ConsumeListView_wrapper__la1cB .ConsumeListView_consumelist__sAA2b .ConsumeListView_consumeItem__2M0dc .ConsumeListView_kingdomIcon__YPzT9 {\n position: absolute;\n width: 24px;\n height: 22px;\n left: -6px;\n top: -12px;\n}\n.ConsumeListView_wrapper__la1cB .ConsumeListView_consumelist__sAA2b .ConsumeListView_consumeItem__2M0dc .ConsumeListView_avatar__AXZJE {\n margin: 0 auto 4px;\n width: 36px;\n height: 36px;\n background-size: cover;\n border-radius: 50%;\n}\n.ConsumeListView_wrapper__la1cB .ConsumeListView_consumelist__sAA2b .ConsumeListView_consumeItem__2M0dc .ConsumeListView_gray__3h-Ue {\n color: #9b9b9b;\n font-size: 12px;\n}\n.ConsumeListView_wrapper__la1cB .ConsumeListView_consumelist__sAA2b .ConsumeListView_toggle__31sUD {\n margin: 0 6px 10px;\n width: 36px;\n height: 36px;\n line-height: 36px;\n background-color: #ececec;\n border-radius: 50%;\n color: #a8adb6;\n cursor: pointer;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAACv0lEQVRIS8WXTW8SURSGzzAYNSYCA7SCUEqBioLtohvjD9CN7ozG36AmXfsRafxYN9b+BqNx50r3GjddqEVRRgSRVr4GWmOsERjfOwEzVYa5lAokEwJzznnOe865d+4IxPFRVXVPrVY73Wq1TgmCMIffYbjZ2q4b+E/GfysWi+WZw+F4it+/zMIKvQwAszcajXnYXEIwl1kwdh8JVPC1bLVaF5FE3cjHEFytVs8hyH04jvMAu9gUkexlp9P5uJv/P2DABCi9hbJehUPPinAkpKL8d6H8BpJQ9fbbAjOooigP8H2BIyi3CaAPJUm6qIdvAwN6G0qvcUfswxDK7wB+vePyB9zu6aNdKK9ROioUn+/0XAOz6W02m6kBBolXe1EUxSibdg0MtQn09Sav9yB2UL0A1QmBbQ6VSmWNd50OAu2sc5fL5WVTfAYD9WTQgP34Y9DOClB7D05X+nHcBdslAf19jnKfNAr2cmWVDuzfR7HoFCFTUyaqR8lUhr7/2KITc/Gu9mjrC6a4iLtjRhHfvv9Ea1/L5JLsNBML94Qz6OukTBWlTt5Dbjp2JGgUtsTAW7i713DxqSql0jkqrJfIKdloNhbpCmfQV8k0VZUNOuwZo2gkQFBmFPanKVibRFxpOUefC0VyOmw0E4+QqCt7s8mgH0ipbdKEb5wiIUB7N0UD9yy13l/O5CmbXyfJfpBm49MkihbSoKuA1jdpcsJD4aDfdA5gUDIdrr+jZLIFyuQK5AD8+NEQvXknU63+jUKTPgoGvDxQ1gJtuPpeTkw1U8+mnPU2MuWngN/DBW0bLe14A8mj3x+zX7TS+ryGi6JrMtoGMrItk6VULpcTqPtQHhIQuuB2uxOjfSwy1SM5CHQmYCRHn/azcjSHvQ586Mdb/aIb+oFeD2eHQOxM87j6eoXBBrGMa2evMPoE/sdL22+mI4T0ou1LqAAAAABJRU5ErkJggg==);\n background-position: center;\n}\n.ConsumeListView_wrapper__la1cB .ConsumeListView_consumelist__sAA2b .ConsumeListView_toggle__31sUD.ConsumeListView_expand__XSb0z {\n transform: rotate(180deg);\n}\n"; var styles = {"wrapper":"ConsumeListView_wrapper__la1cB","consumelist":"ConsumeListView_consumelist__sAA2b","consumeItem":"ConsumeListView_consumeItem__2M0dc","kingdomIcon":"ConsumeListView_kingdomIcon__YPzT9","avatar":"ConsumeListView_avatar__AXZJE","gray":"ConsumeListView_gray__3h-Ue","toggle":"ConsumeListView_toggle__31sUD","expand":"ConsumeListView_expand__XSb0z"}; styleInject_es.styleInject(css); var DEFAULT_AVATAR = '//links-comment.oss-cn-beijing.aliyuncs.com/comment/20180820/Kgka4_oU1.jpeg'; var ConsumeListView = /*#__PURE__*/ function (_Component) { styleInject_es._inherits(ConsumeListView, _Component); function ConsumeListView() { styleInject_es._classCallCheck(this, ConsumeListView); return styleInject_es._possibleConstructorReturn(this, styleInject_es._getPrototypeOf(ConsumeListView).apply(this, arguments)); } styleInject_es._createClass(ConsumeListView, [{ key: "renderConsumeItem", value: function renderConsumeItem() { var _this$props = this.props, dataSource = _this$props.dataSource, isToggle = _this$props.isToggle, showLength = _this$props.showLength, listLength = _this$props.listLength, options = _this$props.options; var kingdomWidth = options.kingdomWidth, kingdomHeight = options.kingdomHeight, kingdomPosition = options.kingdomPosition, avatarSize = options.avatarSize, avatarMarginLeftAndRight = options.avatarMarginLeftAndRight; var renderData = dataSource; if (!isToggle && listLength > showLength) { renderData = dataSource.slice(0, showLength - 1); } return renderData.map(function (v, i) { var kingdom = null; if (i === 0) { kingdom = React__default.createElement("img", { className: styles.kingdomIcon, src: img, alt: "reward top user", style: { width: "".concat(kingdomWidth, "px"), height: "".concat(kingdomHeight, "px"), left: "".concat(kingdomPosition[0], "px"), top: "".concat(kingdomPosition[1], "px") } }); } return React__default.createElement("li", { key: v.id, className: styles.consumeItem, style: { margin: "0 ".concat(avatarMarginLeftAndRight, "px 10px") } }, kingdom, React__default.createElement("div", { className: styles.avatar, style: { backgroundImage: "url(".concat(addImageProcess(v.user_avatar || DEFAULT_AVATAR, { small: true }), ")"), width: "".concat(avatarSize, "px"), height: "".concat(avatarSize, "px") } }), React__default.createElement("span", { className: styles.gray })); }); } }, { key: "renderToggleButton", value: function renderToggleButton() { var _this$props2 = this.props, isToggle = _this$props2.isToggle, onToggleChange = _this$props2.onToggleChange, listLength = _this$props2.listLength, showLength = _this$props2.showLength, options = _this$props2.options; var avatarSize = options.avatarSize, avatarMarginLeftAndRight = options.avatarMarginLeftAndRight; if (listLength <= showLength) { return null; } return React__default.createElement("li", { onClick: function onClick() { return onToggleChange(); }, className: styleInject_es.classnames(styles.toggle, styleInject_es._defineProperty({}, styles.expand, isToggle)), style: { width: "".concat(avatarSize, "px"), height: "".concat(avatarSize, "px"), lineHeight: "".concat(avatarSize, "px"), margin: "0 ".concat(avatarMarginLeftAndRight, "px 10px") } }); } }, { key: "render", value: function render() { var _this$props3 = this.props, showLength = _this$props3.showLength, options = _this$props3.options; var avatarSize = options.avatarSize, avatarMarginLeftAndRight = options.avatarMarginLeftAndRight; return React__default.createElement("div", { className: styles.wrapper }, React__default.createElement("ul", { className: styles.consumelist, style: { width: "calc(".concat(avatarMarginLeftAndRight * 2 + avatarSize, "px * ").concat(showLength, ")") } }, this.renderConsumeItem(), this.renderToggleButton())); } }]); return ConsumeListView; }(React.Component); styleInject_es._defineProperty(ConsumeListView, "defaultProps", { isToggle: false, onToggleChange: function onToggleChange() {}, dataSource: [], listLength: 0, showLength: 6, options: { avatarSize: 36, avatarMarginLeftAndRight: 6, kingdomWidth: 24, kingdomHeight: 22, kingdomPosition: [-6, -12] } }); var dist = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); function _(msg) { return msg; } exports._ = _; function defineMessages(msgs) { return msgs; } exports.defineMessages = defineMessages; }); styleInject_es.unwrapExports(dist); var dist_1 = dist._; var dist_2 = dist.defineMessages; var types = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); var TYPE; (function (TYPE) { /** * Raw text */ TYPE[TYPE["literal"] = 0] = "literal"; /** * Variable w/o any format, e.g `var` in `this is a {var}` */ TYPE[TYPE["argument"] = 1] = "argument"; /** * Variable w/ number format */ TYPE[TYPE["number"] = 2] = "number"; /** * Variable w/ date format */ TYPE[TYPE["date"] = 3] = "date"; /** * Variable w/ time format */ TYPE[TYPE["time"] = 4] = "time"; /** * Variable w/ select format */ TYPE[TYPE["select"] = 5] = "select"; /** * Variable w/ plural format */ TYPE[TYPE["plural"] = 6] = "plural"; })(TYPE = exports.TYPE || (exports.TYPE = {})); /** * Type Guards */ function isLiteralElement(el) { return el.type === TYPE.literal; } exports.isLiteralElement = isLiteralElement; function isArgumentElement(el) { return el.type === TYPE.argument; } exports.isArgumentElement = isArgumentElement; function isNumberElement(el) { return el.type === TYPE.number; } exports.isNumberElement = isNumberElement; function isDateElement(el) { return el.type === TYPE.date; } exports.isDateElement = isDateElement; function isTimeElement(el) { return el.type === TYPE.time; } exports.isTimeElement = isTimeElement; function isSelectElement(el) { return el.type === TYPE.select; } exports.isSelectElement = isSelectElement; function isPluralElement(el) { return el.type === TYPE.plural; } exports.isPluralElement = isPluralElement; function isNumberSkeleton(el) { return !!(el && typeof el === 'object' && el.type === 0 /* number */); } exports.isNumberSkeleton = isNumberSkeleton; function isDateTimeSkeleton(el) { return !!(el && typeof el === 'object' && el.type === 1 /* dateTime */); } exports.isDateTimeSkeleton = isDateTimeSkeleton; function createLiteralElement(value) { return { type: TYPE.literal, value: value, }; } exports.createLiteralElement = createLiteralElement; function createNumberElement(value, style) { return { type: TYPE.number, value: value, style: style, }; } exports.createNumberElement = createNumberElement; }); styleInject_es.unwrapExports(types); var types_1 = types.TYPE; var types_2 = types.isLiteralElement; var types_3 = types.isArgumentElement; var types_4 = types.isNumberElement; var types_5 = types.isDateElement; var types_6 = types.isTimeElement; var types_7 = types.isSelectElement; var types_8 = types.isPluralElement; var types_9 = types.isNumberSkeleton; var types_10 = types.isDateTimeSkeleton; var types_11 = types.createLiteralElement; var types_12 = types.createNumberElement; var parser = styleInject_es.createCommonjsModule(function (module, exports) { // tslint:disable:only-arrow-functions // tslint:disable:object-literal-shorthand // tslint:disable:trailing-comma // tslint:disable:object-literal-sort-keys // tslint:disable:one-variable-per-declaration // tslint:disable:max-line-length // tslint:disable:no-consecutive-blank-lines // tslint:disable:align var __extends = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); // Generated by PEG.js v. 0.10.0 (ts-pegjs plugin v. 0.2.6 ) // // https://pegjs.org/ https://github.com/metadevpro/ts-pegjs var SyntaxError = /** @class */ (function (_super) { __extends(SyntaxError, _super); function SyntaxError(message, expected, found, location) { var _this = _super.call(this) || this; _this.message = message; _this.expected = expected; _this.found = found; _this.location = location; _this.name = "SyntaxError"; if (typeof Error.captureStackTrace === "function") { Error.captureStackTrace(_this, SyntaxError); } return _this; } SyntaxError.buildMessage = function (expected, found) { function hex(ch) { return ch.charCodeAt(0).toString(16).toUpperCase(); } function literalEscape(s) { return s .replace(/\\/g, "\\\\") .replace(/"/g, "\\\"") .replace(/\0/g, "\\0") .replace(/\t/g, "\\t") .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/[\x00-\x0F]/g, function (ch) { return "\\x0" + hex(ch); }) .replace(/[\x10-\x1F\x7F-\x9F]/g, function (ch) { return "\\x" + hex(ch); }); } function classEscape(s) { return s .replace(/\\/g, "\\\\") .replace(/\]/g, "\\]") .replace(/\^/g, "\\^") .replace(/-/g, "\\-") .replace(/\0/g, "\\0") .replace(/\t/g, "\\t") .replace(/\n/g, "\\n") .replace(/\r/g, "\\r") .replace(/[\x00-\x0F]/g, function (ch) { return "\\x0" + hex(ch); }) .replace(/[\x10-\x1F\x7F-\x9F]/g, function (ch) { return "\\x" + hex(ch); }); } function describeExpectation(expectation) { switch (expectation.type) { case "literal": return "\"" + literalEscape(expectation.text) + "\""; case "class": var escapedParts = expectation.parts.map(function (part) { return Array.isArray(part) ? classEscape(part[0]) + "-" + classEscape(part[1]) : classEscape(part); }); return "[" + (expectation.inverted ? "^" : "") + escapedParts + "]"; case "any": return "any character"; case "end": return "end of input"; case "other": return expectation.description; } } function describeExpected(expected1) { var descriptions = expected1.map(describeExpectation); var i; var j; descriptions.sort(); if (descriptions.length > 0) { for (i = 1, j = 1; i < descriptions.length; i++) { if (descriptions[i - 1] !== descriptions[i]) { descriptions[j] = descriptions[i]; j++; } } descriptions.length = j; } switch (descriptions.length) { case 1: return descriptions[0]; case 2: return descriptions[0] + " or " + descriptions[1]; default: return descriptions.slice(0, -1).join(", ") + ", or " + descriptions[descriptions.length - 1]; } } function describeFound(found1) { return found1 ? "\"" + literalEscape(found1) + "\"" : "end of input"; } return "Expected " + describeExpected(expected) + " but " + describeFound(found) + " found."; }; return SyntaxError; }(Error)); exports.SyntaxError = SyntaxError; function peg$parse(input, options) { options = options !== undefined ? options : {}; var peg$FAILED = {}; var peg$startRuleFunctions = { start: peg$parsestart }; var peg$startRuleFunction = peg$parsestart; var peg$c0 = function (parts) { return parts.join(''); }; var peg$c1 = function (messageText) { return __assign({ type: types.TYPE.literal, value: messageText }, insertLocation()); }; var peg$c2 = peg$otherExpectation("argumentElement"); var peg$c3 = "{"; var peg$c4 = peg$literalExpectation("{", false); var peg$c5 = "}"; var peg$c6 = peg$literalExpectation("}", false); var peg$c7 = function (value) { return __assign({ type: types.TYPE.argument, value: value }, insertLocation()); }; var peg$c8 = peg$otherExpectation("numberSkeletonId"); var peg$c9 = /^['\/{}]/; var peg$c10 = peg$classExpectation(["'", "/", "{", "}"], false, false); var peg$c11 = peg$anyExpectation(); var peg$c12 = peg$otherExpectation("numberSkeletonTokenOption"); var peg$c13 = "/"; var peg$c14 = peg$literalExpectation("/", false); var peg$c15 = function (option) { return option; }; var peg$c16 = peg$otherExpectation("numberSkeletonToken"); var peg$c17 = function (stem, options) { return { stem: stem, options: options }; }; var peg$c18 = function (tokens) { return __assign({ type: 0 /* number */, tokens: tokens }, insertLocation()); }; var peg$c19 = "::"; var peg$c20 = peg$literalExpectation("::", false); var peg$c21 = function (skeleton) { return skeleton; }; var peg$c22 = function (style) { return style.replace(/\s*$/, ''); }; var peg$c23 = ","; var peg$c24 = peg$literalExpectation(",", false); var peg$c25 = "number"; var peg$c26 = peg$literalExpectation("number", false); var peg$c27 = function (value, type, style) { return __assign({ type: type === 'number' ? types.TYPE.number : type === 'date' ? types.TYPE.date : types.TYPE.time, style: style && style[2], value: value }, insertLocation()); }; var peg$c28 = "'"; var peg$c29 = peg$literalExpectation("'", false); var peg$c30 = /^[^']/; var peg$c31 = peg$classExpectation(["'"], true, false); var peg$c32 = /^[^a-zA-Z'{}]/; var peg$c33 = peg$classExpectation([["a", "z"], ["A", "Z"], "'", "{", "}"], true, false); var peg$c34 = /^[a-zA-Z]/; var peg$c35 = peg$classExpectation([["a", "z"], ["A", "Z"]], false, false); var peg$c36 = function (pattern) { return __assign({ type: 1 /* dateTime */, pattern: pattern }, insertLocation()); }; var peg$c37 = "date"; var peg$c38 = peg$literalExpectation("date", false); var peg$c39 = "time"; var peg$c40 = peg$literalExpectation("time", false); var peg$c41 = "plural"; var peg$c42 = peg$literalExpectation("plural", false); var peg$c43 = "selectordinal"; var peg$c44 = peg$literalExpectation("selectordinal", false); var peg$c45 = "offset:"; var peg$c46 = peg$literalExpectation("offset:", false); var peg$c47 = function (value, pluralType, offset, options) { return __assign({ type: types.TYPE.plural, pluralType: pluralType === 'plural' ? 'cardinal' : 'ordinal', value: value, offset: offset ? offset[2] : 0, options: options.reduce(function (all, _a) { var id = _a.id, value = _a.value, optionLocation = _a.location; if (id in all) { error("Duplicate option \"" + id + "\" in plural element: \"" + text() + "\"", location()); } all[id] = { value: value, location: optionLocation }; return all; }, {}) }, insertLocation()); }; var peg$c48 = "select"; var peg$c49 = peg$literalExpectation("select", false); var peg$c50 = function (value, options) { return __assign({ type: types.TYPE.select, value: value, options: options.reduce(function (all, _a) { var id = _a.id, value = _a.value, optionLocation = _a.location; if (id in all) { error("Duplicate option \"" + id + "\" in select element: \"" + text() + "\"", location()); } all[id] = { value: value, location: optionLocation }; return all; }, {}) }, insertLocation()); }; var peg$c51 = "="; var peg$c52 = peg$literalExpectation("=", false); var peg$c53 = function (id, value) { return __assign({ id: id, value: value }, insertLocation()); }; var peg$c54 = function (id, value) { return __assign({ id: id, value: value }, insertLocation()); }; var peg$c55 = peg$otherExpectation("whitespace pattern"); var peg$c56 = /^[\t-\r \x85\u200E\u200F\u2028\u2029]/; var peg$c57 = peg$classExpectation([["\t", "\r"], " ", "\x85", "\u200E", "\u200F", "\u2028", "\u2029"], false, false); var peg$c58 = peg$otherExpectation("syntax pattern"); var peg$c59 = /^[!-\/:-@[-\^`{-~\xA1-\xA7\xA9\xAB\xAC\xAE\xB0\xB1\xB6\xBB\xBF\xD7\xF7\u2010-\u2027\u2030-\u203E\u2041-\u2053\u2055-\u205E\u2190-\u245F\u2500-\u2775\u2794-\u2BFF\u2E00-\u2E7F\u3001-\u3003\u3008-\u3020\u3030\uFD3E\uFD3F\uFE45\uFE46]/; var peg$c60 = peg$classExpectation([["!", "/"], [":", "@"], ["[", "^"], "`", ["{", "~"], ["\xA1", "\xA7"], "\xA9", "\xAB", "\xAC", "\xAE", "\xB0", "\xB1", "\xB6", "\xBB", "\xBF", "\xD7", "\xF7", ["\u2010", "\u2027"], ["\u2030", "\u203E"], ["\u2041", "\u2053"], ["\u2055", "\u205E"], ["\u2190", "\u245F"], ["\u2500", "\u2775"], ["\u2794", "\u2BFF"], ["\u2E00", "\u2E7F"], ["\u3001", "\u3003"], ["\u3008", "\u3020"], "\u3030", "\uFD3E", "\uFD3F", "\uFE45", "\uFE46"], false, false); var peg$c61 = peg$otherExpectation("optional whitespace"); var peg$c62 = peg$otherExpectation("number"); var peg$c63 = "-"; var peg$c64 = peg$literalExpectation("-", false); var peg$c65 = function (negative, num) { return num ? negative ? -num : num : 0; }; var peg$c67 = peg$otherExpectation("double apostrophes"); var peg$c68 = "''"; var peg$c69 = peg$literalExpectation("''", false); var peg$c70 = function () { return "'"; }; var peg$c71 = /^[{}]/; var peg$c72 = peg$classExpectation(["{", "}"], false, false); var peg$c73 = function (escapedChar, quotedChars) { return escapedChar + quotedChars.replace("''", "'"); }; var peg$c74 = /^[^{}]/; var peg$c75 = peg$classExpectation(["{", "}"], true, false); var peg$c76 = peg$otherExpectation("argNameOrNumber"); var peg$c77 = peg$otherExpectation("argNumber"); var peg$c78 = "0"; var peg$c79 = peg$literalExpectation("0", false); var peg$c80 = function () { return 0; }; var peg$c81 = /^[1-9]/; var peg$c82 = peg$classExpectation([["1", "9"]], false, false); var peg$c83 = /^[0-9]/; var peg$c84 = peg$classExpectation([["0", "9"]], false, false); var peg$c85 = function (digits) { return parseInt(digits.join(''), 10); }; var peg$c86 = peg$otherExpectation("argName"); var peg$currPos = 0; var peg$savedPos = 0; var peg$posDetailsCache = [{ line: 1, column: 1 }]; var peg$maxFailPos = 0; var peg$maxFailExpected = []; var peg$silentFails = 0; var peg$result; if (options.startRule !== undefined) { if (!(options.startRule in peg$startRuleFunctions)) { throw new Error("Can't start parsing from rule \"" + options.startRule + "\"."); } peg$startRuleFunction = peg$startRuleFunctions[options.startRule]; } function text() { return input.substring(peg$savedPos, peg$currPos); } function location() { return peg$computeLocation(peg$savedPos, peg$currPos); } function error(message, location1) { location1 = location1 !== undefined ? location1 : peg$computeLocation(peg$savedPos, peg$currPos); throw peg$buildSimpleError(message, location1); } function peg$literalExpectation(text1, ignoreCase) { return { type: "literal", text: text1, ignoreCase: ignoreCase }; } function peg$classExpectation(parts, inverted, ignoreCase) { return { type: "class", parts: parts, inverted: inverted, ignoreCase: ignoreCase }; } function peg$anyExpectation() { return { type: "any" }; } function peg$endExpectation() { return { type: "end" }; } function peg$otherExpectation(description) { return { type: "other", description: description }; } function peg$computePosDetails(pos) { var details = peg$posDetailsCache[pos]; var p; if (details) { return details; } else { p = pos - 1; while (!peg$posDetailsCache[p]) { p--; } details = peg$posDetailsCache[p]; details = { line: details.line, column: details.column }; while (p < pos) { if (input.charCodeAt(p) === 10) { details.line++; details.column = 1; } else { details.column++; } p++; } peg$posDetailsCache[pos] = details; return details; } } function peg$computeLocation(startPos, endPos) { var startPosDetails = peg$computePosDetails(startPos); var endPosDetails = peg$computePosDetails(endPos); return { start: { offset: startPos, line: startPosDetails.line, column: startPosDetails.column }, end: { offset: endPos, line: endPosDetails.line, column: endPosDetails.column } }; } function peg$fail(expected1) { if (peg$currPos < peg$maxFailPos) { return; } if (peg$currPos > peg$maxFailPos) { peg$maxFailPos = peg$currPos; peg$maxFailExpected = []; } peg$maxFailExpected.push(expected1); } function peg$buildSimpleError(message, location1) { return new SyntaxError(message, [], "", location1); } function peg$buildStructuredError(expected1, found, location1) { return new SyntaxError(SyntaxError.buildMessage(expected1, found), expected1, found, location1); } function peg$parsestart() { var s0; s0 = peg$parsemessage(); return s0; } function peg$parsemessage() { var s0, s1; s0 = []; s1 = peg$parsemessageElement(); while (s1 !== peg$FAILED) { s0.push(s1); s1 = peg$parsemessageElement(); } return s0; } function peg$parsemessageElement() { var s0; s0 = peg$parseliteralElement(); if (s0 === peg$FAILED) { s0 = peg$parseargumentElement(); if (s0 === peg$FAILED) { s0 = peg$parsesimpleFormatElement(); if (s0 === peg$FAILED) { s0 = peg$parsepluralElement(); if (s0 === peg$FAILED) { s0 = peg$parseselectElement(); } } } } return s0; } function peg$parsemessageText() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parsedoubleApostrophes(); if (s2 === peg$FAILED) { s2 = peg$parsequotedString(); if (s2 === peg$FAILED) { s2 = peg$parseunquotedString(); } } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parsedoubleApostrophes(); if (s2 === peg$FAILED) { s2 = peg$parsequotedString(); if (s2 === peg$FAILED) { s2 = peg$parseunquotedString(); } } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c0(s1); } s0 = s1; return s0; } function peg$parseliteralElement() { var s0, s1; s0 = peg$currPos; s1 = peg$parsemessageText(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c1(s1); } s0 = s1; return s0; } function peg$parseargumentElement() { var s0, s1, s2, s3, s4, s5; peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 123) { s1 = peg$c3; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c4); } } if (s1 !== peg$FAILED) { s2 = peg$parse_(); if (s2 !== peg$FAILED) { s3 = peg$parseargNameOrNumber(); if (s3 !== peg$FAILED) { s4 = peg$parse_(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s5 = peg$c5; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c6); } } if (s5 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c7(s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c2); } } return s0; } function peg$parsenumberSkeletonId() { var s0, s1, s2, s3, s4; peg$silentFails++; s0 = peg$currPos; s1 = []; s2 = peg$currPos; s3 = peg$currPos; peg$silentFails++; s4 = peg$parsepatternWhiteSpace(); if (s4 === peg$FAILED) { if (peg$c9.test(input.charAt(peg$currPos))) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c10); } } } peg$silentFails--; if (s4 === peg$FAILED) { s3 = undefined; } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c11); } } if (s4 !== peg$FAILED) { s3 = [s3, s4]; s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$currPos; s3 = peg$currPos; peg$silentFails++; s4 = peg$parsepatternWhiteSpace(); if (s4 === peg$FAILED) { if (peg$c9.test(input.charAt(peg$currPos))) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c10); } } } peg$silentFails--; if (s4 === peg$FAILED) { s3 = undefined; } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c11); } } if (s4 !== peg$FAILED) { s3 = [s3, s4]; s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { s0 = input.substring(s0, peg$currPos); } else { s0 = s1; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c8); } } return s0; } function peg$parsenumberSkeletonTokenOption() { var s0, s1, s2; peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 47) { s1 = peg$c13; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c14); } } if (s1 !== peg$FAILED) { s2 = peg$parsenumberSkeletonId(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c15(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c12); } } return s0; } function peg$parsenumberSkeletonToken() { var s0, s1, s2, s3, s4; peg$silentFails++; s0 = peg$currPos; s1 = peg$parse_(); if (s1 !== peg$FAILED) { s2 = peg$parsenumberSkeletonId(); if (s2 !== peg$FAILED) { s3 = []; s4 = peg$parsenumberSkeletonTokenOption(); while (s4 !== peg$FAILED) { s3.push(s4); s4 = peg$parsenumberSkeletonTokenOption(); } if (s3 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c17(s2, s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c16); } } return s0; } function peg$parsenumberSkeleton() { var s0, s1, s2; s0 = peg$currPos; s1 = []; s2 = peg$parsenumberSkeletonToken(); if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parsenumberSkeletonToken(); } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c18(s1); } s0 = s1; return s0; } function peg$parsenumberArgStyle() { var s0, s1, s2; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c19) { s1 = peg$c19; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c20); } } if (s1 !== peg$FAILED) { s2 = peg$parsenumberSkeleton(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c21(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parsemessageText(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c22(s1); } s0 = s1; } return s0; } function peg$parsenumberFormatElement() { var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 123) { s1 = peg$c3; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c4); } } if (s1 !== peg$FAILED) { s2 = peg$parse_(); if (s2 !== peg$FAILED) { s3 = peg$parseargNameOrNumber(); if (s3 !== peg$FAILED) { s4 = peg$parse_(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 44) { s5 = peg$c23; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c24); } } if (s5 !== peg$FAILED) { s6 = peg$parse_(); if (s6 !== peg$FAILED) { if (input.substr(peg$currPos, 6) === peg$c25) { s7 = peg$c25; peg$currPos += 6; } else { s7 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c26); } } if (s7 !== peg$FAILED) { s8 = peg$parse_(); if (s8 !== peg$FAILED) { s9 = peg$currPos; if (input.charCodeAt(peg$currPos) === 44) { s10 = peg$c23; peg$currPos++; } else { s10 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c24); } } if (s10 !== peg$FAILED) { s11 = peg$parse_(); if (s11 !== peg$FAILED) { s12 = peg$parsenumberArgStyle(); if (s12 !== peg$FAILED) { s10 = [s10, s11, s12]; s9 = s10; } else { peg$currPos = s9; s9 = peg$FAILED; } } else { peg$currPos = s9; s9 = peg$FAILED; } } else { peg$currPos = s9; s9 = peg$FAILED; } if (s9 === peg$FAILED) { s9 = null; } if (s9 !== peg$FAILED) { s10 = peg$parse_(); if (s10 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s11 = peg$c5; peg$currPos++; } else { s11 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c6); } } if (s11 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c27(s3, s7, s9); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parsedateTimeSkeletonLiteral() { var s0, s1, s2, s3; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { s1 = peg$c28; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c29); } } if (s1 !== peg$FAILED) { s2 = []; s3 = peg$parsedoubleApostrophes(); if (s3 === peg$FAILED) { if (peg$c30.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c31); } } } if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parsedoubleApostrophes(); if (s3 === peg$FAILED) { if (peg$c30.test(input.charAt(peg$currPos))) { s3 = input.charAt(peg$currPos); peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c31); } } } } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 39) { s3 = peg$c28; peg$currPos++; } else { s3 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c29); } } if (s3 !== peg$FAILED) { s1 = [s1, s2, s3]; s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = []; s1 = peg$parsedoubleApostrophes(); if (s1 === peg$FAILED) { if (peg$c32.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c33); } } } if (s1 !== peg$FAILED) { while (s1 !== peg$FAILED) { s0.push(s1); s1 = peg$parsedoubleApostrophes(); if (s1 === peg$FAILED) { if (peg$c32.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c33); } } } } } else { s0 = peg$FAILED; } } return s0; } function peg$parsedateTimeSkeletonPattern() { var s0, s1; s0 = []; if (peg$c34.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c35); } } if (s1 !== peg$FAILED) { while (s1 !== peg$FAILED) { s0.push(s1); if (peg$c34.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c35); } } } } else { s0 = peg$FAILED; } return s0; } function peg$parsedateTimeSkeleton() { var s0, s1, s2, s3; s0 = peg$currPos; s1 = peg$currPos; s2 = []; s3 = peg$parsedateTimeSkeletonLiteral(); if (s3 === peg$FAILED) { s3 = peg$parsedateTimeSkeletonPattern(); } if (s3 !== peg$FAILED) { while (s3 !== peg$FAILED) { s2.push(s3); s3 = peg$parsedateTimeSkeletonLiteral(); if (s3 === peg$FAILED) { s3 = peg$parsedateTimeSkeletonPattern(); } } } else { s2 = peg$FAILED; } if (s2 !== peg$FAILED) { s1 = input.substring(s1, peg$currPos); } else { s1 = s2; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c36(s1); } s0 = s1; return s0; } function peg$parsedateOrTimeArgStyle() { var s0, s1, s2; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c19) { s1 = peg$c19; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c20); } } if (s1 !== peg$FAILED) { s2 = peg$parsedateTimeSkeleton(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c21(s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$parsemessageText(); if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c22(s1); } s0 = s1; } return s0; } function peg$parsedateOrTimeFormatElement() { var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 123) { s1 = peg$c3; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c4); } } if (s1 !== peg$FAILED) { s2 = peg$parse_(); if (s2 !== peg$FAILED) { s3 = peg$parseargNameOrNumber(); if (s3 !== peg$FAILED) { s4 = peg$parse_(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 44) { s5 = peg$c23; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c24); } } if (s5 !== peg$FAILED) { s6 = peg$parse_(); if (s6 !== peg$FAILED) { if (input.substr(peg$currPos, 4) === peg$c37) { s7 = peg$c37; peg$currPos += 4; } else { s7 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c38); } } if (s7 === peg$FAILED) { if (input.substr(peg$currPos, 4) === peg$c39) { s7 = peg$c39; peg$currPos += 4; } else { s7 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c40); } } } if (s7 !== peg$FAILED) { s8 = peg$parse_(); if (s8 !== peg$FAILED) { s9 = peg$currPos; if (input.charCodeAt(peg$currPos) === 44) { s10 = peg$c23; peg$currPos++; } else { s10 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c24); } } if (s10 !== peg$FAILED) { s11 = peg$parse_(); if (s11 !== peg$FAILED) { s12 = peg$parsedateOrTimeArgStyle(); if (s12 !== peg$FAILED) { s10 = [s10, s11, s12]; s9 = s10; } else { peg$currPos = s9; s9 = peg$FAILED; } } else { peg$currPos = s9; s9 = peg$FAILED; } } else { peg$currPos = s9; s9 = peg$FAILED; } if (s9 === peg$FAILED) { s9 = null; } if (s9 !== peg$FAILED) { s10 = peg$parse_(); if (s10 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s11 = peg$c5; peg$currPos++; } else { s11 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c6); } } if (s11 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c27(s3, s7, s9); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parsesimpleFormatElement() { var s0; s0 = peg$parsenumberFormatElement(); if (s0 === peg$FAILED) { s0 = peg$parsedateOrTimeFormatElement(); } return s0; } function peg$parsepluralElement() { var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 123) { s1 = peg$c3; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c4); } } if (s1 !== peg$FAILED) { s2 = peg$parse_(); if (s2 !== peg$FAILED) { s3 = peg$parseargNameOrNumber(); if (s3 !== peg$FAILED) { s4 = peg$parse_(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 44) { s5 = peg$c23; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c24); } } if (s5 !== peg$FAILED) { s6 = peg$parse_(); if (s6 !== peg$FAILED) { if (input.substr(peg$currPos, 6) === peg$c41) { s7 = peg$c41; peg$currPos += 6; } else { s7 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c42); } } if (s7 === peg$FAILED) { if (input.substr(peg$currPos, 13) === peg$c43) { s7 = peg$c43; peg$currPos += 13; } else { s7 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c44); } } } if (s7 !== peg$FAILED) { s8 = peg$parse_(); if (s8 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 44) { s9 = peg$c23; peg$currPos++; } else { s9 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c24); } } if (s9 !== peg$FAILED) { s10 = peg$parse_(); if (s10 !== peg$FAILED) { s11 = peg$currPos; if (input.substr(peg$currPos, 7) === peg$c45) { s12 = peg$c45; peg$currPos += 7; } else { s12 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c46); } } if (s12 !== peg$FAILED) { s13 = peg$parse_(); if (s13 !== peg$FAILED) { s14 = peg$parsenumber(); if (s14 !== peg$FAILED) { s12 = [s12, s13, s14]; s11 = s12; } else { peg$currPos = s11; s11 = peg$FAILED; } } else { peg$currPos = s11; s11 = peg$FAILED; } } else { peg$currPos = s11; s11 = peg$FAILED; } if (s11 === peg$FAILED) { s11 = null; } if (s11 !== peg$FAILED) { s12 = peg$parse_(); if (s12 !== peg$FAILED) { s13 = []; s14 = peg$parsepluralOption(); if (s14 !== peg$FAILED) { while (s14 !== peg$FAILED) { s13.push(s14); s14 = peg$parsepluralOption(); } } else { s13 = peg$FAILED; } if (s13 !== peg$FAILED) { s14 = peg$parse_(); if (s14 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s15 = peg$c5; peg$currPos++; } else { s15 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c6); } } if (s15 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c47(s3, s7, s11, s13); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseselectElement() { var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 123) { s1 = peg$c3; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c4); } } if (s1 !== peg$FAILED) { s2 = peg$parse_(); if (s2 !== peg$FAILED) { s3 = peg$parseargNameOrNumber(); if (s3 !== peg$FAILED) { s4 = peg$parse_(); if (s4 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 44) { s5 = peg$c23; peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c24); } } if (s5 !== peg$FAILED) { s6 = peg$parse_(); if (s6 !== peg$FAILED) { if (input.substr(peg$currPos, 6) === peg$c48) { s7 = peg$c48; peg$currPos += 6; } else { s7 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c49); } } if (s7 !== peg$FAILED) { s8 = peg$parse_(); if (s8 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 44) { s9 = peg$c23; peg$currPos++; } else { s9 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c24); } } if (s9 !== peg$FAILED) { s10 = peg$parse_(); if (s10 !== peg$FAILED) { s11 = []; s12 = peg$parseselectOption(); if (s12 !== peg$FAILED) { while (s12 !== peg$FAILED) { s11.push(s12); s12 = peg$parseselectOption(); } } else { s11 = peg$FAILED; } if (s11 !== peg$FAILED) { s12 = peg$parse_(); if (s12 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s13 = peg$c5; peg$currPos++; } else { s13 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c6); } } if (s13 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c50(s3, s11); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parsepluralRuleSelectValue() { var s0, s1, s2, s3; s0 = peg$currPos; s1 = peg$currPos; if (input.charCodeAt(peg$currPos) === 61) { s2 = peg$c51; peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c52); } } if (s2 !== peg$FAILED) { s3 = peg$parsenumber(); if (s3 !== peg$FAILED) { s2 = [s2, s3]; s1 = s2; } else { peg$currPos = s1; s1 = peg$FAILED; } } else { peg$currPos = s1; s1 = peg$FAILED; } if (s1 !== peg$FAILED) { s0 = input.substring(s0, peg$currPos); } else { s0 = s1; } if (s0 === peg$FAILED) { s0 = peg$parseargName(); } return s0; } function peg$parseselectOption() { var s0, s1, s2, s3, s4, s5, s6; s0 = peg$currPos; s1 = peg$parse_(); if (s1 !== peg$FAILED) { s2 = peg$parseargName(); if (s2 !== peg$FAILED) { s3 = peg$parse_(); if (s3 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 123) { s4 = peg$c3; peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c4); } } if (s4 !== peg$FAILED) { s5 = peg$parsemessage(); if (s5 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s6 = peg$c5; peg$currPos++; } else { s6 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c6); } } if (s6 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c53(s2, s5); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parsepluralOption() { var s0, s1, s2, s3, s4, s5, s6; s0 = peg$currPos; s1 = peg$parse_(); if (s1 !== peg$FAILED) { s2 = peg$parsepluralRuleSelectValue(); if (s2 !== peg$FAILED) { s3 = peg$parse_(); if (s3 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 123) { s4 = peg$c3; peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c4); } } if (s4 !== peg$FAILED) { s5 = peg$parsemessage(); if (s5 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 125) { s6 = peg$c5; peg$currPos++; } else { s6 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c6); } } if (s6 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c54(s2, s5); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parsepatternWhiteSpace() { var s0; peg$silentFails++; if (peg$c56.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c57); } } peg$silentFails--; if (s0 === peg$FAILED) { if (peg$silentFails === 0) { peg$fail(peg$c55); } } return s0; } function peg$parsepatternSyntax() { var s0; peg$silentFails++; if (peg$c59.test(input.charAt(peg$currPos))) { s0 = input.charAt(peg$currPos); peg$currPos++; } else { s0 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c60); } } peg$silentFails--; if (s0 === peg$FAILED) { if (peg$silentFails === 0) { peg$fail(peg$c58); } } return s0; } function peg$parse_() { var s0, s1, s2; peg$silentFails++; s0 = peg$currPos; s1 = []; s2 = peg$parsepatternWhiteSpace(); while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$parsepatternWhiteSpace(); } if (s1 !== peg$FAILED) { s0 = input.substring(s0, peg$currPos); } else { s0 = s1; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c61); } } return s0; } function peg$parsenumber() { var s0, s1, s2; peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 45) { s1 = peg$c63; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c64); } } if (s1 === peg$FAILED) { s1 = null; } if (s1 !== peg$FAILED) { s2 = peg$parseargNumber(); if (s2 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c65(s1, s2); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c62); } } return s0; } function peg$parsedoubleApostrophes() { var s0, s1; peg$silentFails++; s0 = peg$currPos; if (input.substr(peg$currPos, 2) === peg$c68) { s1 = peg$c68; peg$currPos += 2; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c69); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c70(); } s0 = s1; peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c67); } } return s0; } function peg$parsequotedString() { var s0, s1, s2, s3, s4, s5; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 39) { s1 = peg$c28; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c29); } } if (s1 !== peg$FAILED) { if (peg$c71.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c72); } } if (s2 !== peg$FAILED) { s3 = peg$currPos; s4 = []; if (input.substr(peg$currPos, 2) === peg$c68) { s5 = peg$c68; peg$currPos += 2; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c69); } } if (s5 === peg$FAILED) { if (peg$c30.test(input.charAt(peg$currPos))) { s5 = input.charAt(peg$currPos); peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c31); } } } while (s5 !== peg$FAILED) { s4.push(s5); if (input.substr(peg$currPos, 2) === peg$c68) { s5 = peg$c68; peg$currPos += 2; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c69); } } if (s5 === peg$FAILED) { if (peg$c30.test(input.charAt(peg$currPos))) { s5 = input.charAt(peg$currPos); peg$currPos++; } else { s5 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c31); } } } } if (s4 !== peg$FAILED) { s3 = input.substring(s3, peg$currPos); } else { s3 = s4; } if (s3 !== peg$FAILED) { if (input.charCodeAt(peg$currPos) === 39) { s4 = peg$c28; peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c29); } } if (s4 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c73(s2, s3); s0 = s1; } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } } else { peg$currPos = s0; s0 = peg$FAILED; } return s0; } function peg$parseunquotedString() { var s0, s1; s0 = peg$currPos; if (peg$c74.test(input.charAt(peg$currPos))) { s1 = input.charAt(peg$currPos); peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c75); } } if (s1 !== peg$FAILED) { s0 = input.substring(s0, peg$currPos); } else { s0 = s1; } return s0; } function peg$parseargNameOrNumber() { var s0, s1; peg$silentFails++; s0 = peg$currPos; s1 = peg$parseargNumber(); if (s1 === peg$FAILED) { s1 = peg$parseargName(); } if (s1 !== peg$FAILED) { s0 = input.substring(s0, peg$currPos); } else { s0 = s1; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c76); } } return s0; } function peg$parseargNumber() { var s0, s1, s2, s3, s4; peg$silentFails++; s0 = peg$currPos; if (input.charCodeAt(peg$currPos) === 48) { s1 = peg$c78; peg$currPos++; } else { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c79); } } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c80(); } s0 = s1; if (s0 === peg$FAILED) { s0 = peg$currPos; s1 = peg$currPos; if (peg$c81.test(input.charAt(peg$currPos))) { s2 = input.charAt(peg$currPos); peg$currPos++; } else { s2 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c82); } } if (s2 !== peg$FAILED) { s3 = []; if (peg$c83.test(input.charAt(peg$currPos))) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c84); } } while (s4 !== peg$FAILED) { s3.push(s4); if (peg$c83.test(input.charAt(peg$currPos))) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c84); } } } if (s3 !== peg$FAILED) { s2 = [s2, s3]; s1 = s2; } else { peg$currPos = s1; s1 = peg$FAILED; } } else { peg$currPos = s1; s1 = peg$FAILED; } if (s1 !== peg$FAILED) { peg$savedPos = s0; s1 = peg$c85(s1); } s0 = s1; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c77); } } return s0; } function peg$parseargName() { var s0, s1, s2, s3, s4; peg$silentFails++; s0 = peg$currPos; s1 = []; s2 = peg$currPos; s3 = peg$currPos; peg$silentFails++; s4 = peg$parsepatternWhiteSpace(); if (s4 === peg$FAILED) { s4 = peg$parsepatternSyntax(); } peg$silentFails--; if (s4 === peg$FAILED) { s3 = undefined; } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c11); } } if (s4 !== peg$FAILED) { s3 = [s3, s4]; s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } if (s2 !== peg$FAILED) { while (s2 !== peg$FAILED) { s1.push(s2); s2 = peg$currPos; s3 = peg$currPos; peg$silentFails++; s4 = peg$parsepatternWhiteSpace(); if (s4 === peg$FAILED) { s4 = peg$parsepatternSyntax(); } peg$silentFails--; if (s4 === peg$FAILED) { s3 = undefined; } else { peg$currPos = s3; s3 = peg$FAILED; } if (s3 !== peg$FAILED) { if (input.length > peg$currPos) { s4 = input.charAt(peg$currPos); peg$currPos++; } else { s4 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c11); } } if (s4 !== peg$FAILED) { s3 = [s3, s4]; s2 = s3; } else { peg$currPos = s2; s2 = peg$FAILED; } } else { peg$currPos = s2; s2 = peg$FAILED; } } } else { s1 = peg$FAILED; } if (s1 !== peg$FAILED) { s0 = input.substring(s0, peg$currPos); } else { s0 = s1; } peg$silentFails--; if (s0 === peg$FAILED) { s1 = peg$FAILED; if (peg$silentFails === 0) { peg$fail(peg$c86); } } return s0; } function insertLocation() { return options && options.captureLocation ? { location: location() } : {}; } peg$result = peg$startRuleFunction(); if (peg$result !== peg$FAILED && peg$currPos === input.length) { return peg$result; } else { if (peg$result !== peg$FAILED && peg$currPos < input.length) { peg$fail(peg$endExpectation()); } throw peg$buildStructuredError(peg$maxFailExpected, peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null, peg$maxFailPos < input.length ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1) : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)); } } exports.pegParse = peg$parse; }); styleInject_es.unwrapExports(parser); var parser_1 = parser.SyntaxError; var parser_2 = parser.pegParse; var normalize = styleInject_es.createCommonjsModule(function (module, exports) { var __spreadArrays = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; Object.defineProperty(exports, "__esModule", { value: true }); var PLURAL_HASHTAG_REGEX = /(^|[^\\])#/g; /** * Whether to convert `#` in plural rule options * to `{var, number}` * @param el AST Element * @param pluralStack current plural stack */ function normalizeHashtagInPlural(els) { els.forEach(function (el) { // If we're encountering a plural el if (!types.isPluralElement(el) && !types.isSelectElement(el)) { return; } // Go down the options and search for # in any literal element Object.keys(el.options).forEach(function (id) { var _a; var opt = el.options[id]; // If we got a match, we have to split this // and inject a NumberElement in the middle var matchingLiteralElIndex = -1; var literalEl = undefined; for (var i = 0; i < opt.value.length; i++) { var el_1 = opt.value[i]; if (types.isLiteralElement(el_1) && PLURAL_HASHTAG_REGEX.test(el_1.value)) { matchingLiteralElIndex = i; literalEl = el_1; break; } } if (literalEl) { var newValue = literalEl.value.replace(PLURAL_HASHTAG_REGEX, "$1{" + el.value + ", number}"); var newEls = parser.pegParse(newValue); (_a = opt.value).splice.apply(_a, __spreadArrays([matchingLiteralElIndex, 1], newEls)); } normalizeHashtagInPlural(opt.value); }); }); } exports.normalizeHashtagInPlural = normalizeHashtagInPlural; }); styleInject_es.unwrapExports(normalize); var normalize_1 = normalize.normalizeHashtagInPlural; var skeleton = styleInject_es.createCommonjsModule(function (module, exports) { var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); /** * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js * with some tweaks */ var DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g; /** * Parse Date time skeleton into Intl.DateTimeFormatOptions * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table * @public * @param skeleton skeleton string */ function parseDateTimeSkeleton(skeleton) { var result = {}; skeleton.replace(DATE_TIME_REGEX, function (match) { var len = match.length; switch (match[0]) { // Era case 'G': result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short'; break; // Year case 'y': result.year = len === 2 ? '2-digit' : 'numeric'; break; case 'Y': case 'u': case 'U': case 'r': throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead'); // Quarter case 'q': case 'Q': throw new RangeError('`q/Q` (quarter) patterns are not supported'); // Month case 'M': case 'L': result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1]; break; // Week case 'w': case 'W': throw new RangeError('`w/W` (week) patterns are not supported'); case 'd': result.day = ['numeric', '2-digit'][len - 1]; break; case 'D': case 'F': case 'g': throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead'); // Weekday case 'E': result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short'; break; case 'e': if (len < 4) { throw new RangeError('`e..eee` (weekday) patterns are not supported'); } result.weekday = ['short', 'long', 'narrow', 'short'][len - 4]; break; case 'c': if (len < 4) { throw new RangeError('`c..ccc` (weekday) patterns are not supported'); } result.weekday = ['short', 'long', 'narrow', 'short'][len - 4]; break; // Period case 'a': // AM, PM result.hour12 = true; break; case 'b': // am, pm, noon, midnight case 'B': // flexible day periods throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead'); // Hour case 'h': result.hourCycle = 'h12'; result.hour = ['numeric', '2-digit'][len - 1]; break; case 'H': result.hourCycle = 'h23'; result.hour = ['numeric', '2-digit'][len - 1]; break; case 'K': result.hourCycle = 'h11'; result.hour = ['numeric', '2-digit'][len - 1]; break; case 'k': result.hourCycle = 'h24'; result.hour = ['numeric', '2-digit'][len - 1]; break; case 'j': case 'J': case 'C': throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead'); // Minute case 'm': result.minute = ['numeric', '2-digit'][len - 1]; break; // Second case 's': result.second = ['numeric', '2-digit'][len - 1]; break; case 'S': case 'A': throw new RangeError('`S/A` (second) pattenrs are not supported, use `s` instead'); // Zone case 'z': // 1..3, 4: specific non-location format result.timeZoneName = len < 4 ? 'short' : 'long'; break; case 'Z': // 1..3, 4, 5: The ISO8601 varios formats case 'O': // 1, 4: miliseconds in day short, long case 'v': // 1, 4: generic non-location format case 'V': // 1, 2, 3, 4: time zone ID or city case 'X': // 1, 2, 3, 4: The ISO8601 varios formats case 'x': // 1, 2, 3, 4: The ISO8601 varios formats throw new RangeError('`Z/O/v/V/X/x` (timeZone) pattenrs are not supported, use `z` instead'); } return ''; }); return result; } exports.parseDateTimeSkeleton = parseDateTimeSkeleton; function icuUnitToEcma(unit) { return unit.replace(/^(.*?)-/, ''); } var FRACTION_PRECISION_REGEX = /^\.(?:(0+)(\+|#+)?)?$/g; var SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\+|#+)?$/g; function parseSignificantPrecision(str) { var result = {}; str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) { // @@@ case if (typeof g2 !== 'string') { result.minimumSignificantDigits = g1.length; result.maximumSignificantDigits = g1.length; } // @@@+ case else if (g2 === '+') { result.minimumSignificantDigits = g1.length; } // .### case else if (g1[0] === '#') { result.maximumSignificantDigits = g1.length; } // .@@## or .@@@ case else { result.minimumSignificantDigits = g1.length; result.maximumSignificantDigits = g1.length + (typeof g2 === 'string' ? g2.length : 0); } return ''; }); return result; } function parseSign(str) { switch (str) { case 'sign-auto': return { signDisplay: 'auto', }; case 'sign-accounting': return { currencySign: 'accounting', }; case 'sign-always': return { signDisplay: 'always', }; case 'sign-accounting-always': return { signDisplay: 'always', currencySign: 'accounting', }; case 'sign-except-zero': return { signDisplay: 'exceptZero', }; case 'sign-accounting-except-zero': return { signDisplay: 'exceptZero', currencySign: 'accounting', }; case 'sign-never': return { signDisplay: 'never', }; } } function parseNotationOptions(opt) { var result = {}; var signOpts = parseSign(opt); if (signOpts) { return signOpts; } return result; } /** * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options */ function convertNumberSkeletonToNumberFormatOptions(tokens) { var result = {}; for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) { var token = tokens_1[_i]; switch (token.stem) { case 'percent': result.style = 'percent'; continue; case 'currency': result.style = 'currency'; result.currency = token.options[0]; continue; case 'group-off': result.useGrouping = false; continue; case 'precision-integer': result.maximumFractionDigits = 0; continue; case 'measure-unit': result.style = 'unit'; result.unit = icuUnitToEcma(token.options[0]); continue; case 'compact-short': result.notation = 'compact'; result.compactDisplay = 'short'; continue; case 'compact-long': result.notation = 'compact'; result.compactDisplay = 'long'; continue; case 'scientific': result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {})); continue; case 'engineering': result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {})); continue; case 'notation-simple': result.notation = 'standard'; continue; // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h case 'unit-width-narrow': result.currencyDisplay = 'narrowSymbol'; result.unitDisplay = 'narrow'; continue; case 'unit-width-short': result.currencyDisplay = 'code'; result.unitDisplay = 'short'; continue; case 'unit-width-full-name': result.currencyDisplay = 'name'; result.unitDisplay = 'long'; continue; case 'unit-width-iso-code': result.currencyDisplay = 'symbol'; continue; } // Precision // https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#fraction-precision if (FRACTION_PRECISION_REGEX.test(token.stem)) { if (token.options.length > 1) { throw new RangeError('Fraction-precision stems only accept a single optional option'); } token.stem.replace(FRACTION_PRECISION_REGEX, function (match, g1, g2) { // precision-integer case if (match === '.') { result.maximumFractionDigits = 0; } // .000+ case else if (g2 === '+') { result.minimumFractionDigits = g2.length; } // .### case else if (g1[0] === '#') { result.maximumFractionDigits = g1.length; } // .00## or .000 case else { result.minimumFractionDigits = g1.length; result.maximumFractionDigits = g1.length + (typeof g2 === 'string' ? g2.length : 0); } return ''; }); if (token.options.length) { result = __assign(__assign({}, result), parseSignificantPrecision(token.options[0])); } continue; } if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) { result = __assign(__assign({}, result), parseSignificantPrecision(token.stem)); continue; } var signOpts = parseSign(token.stem); if (signOpts) { result = __assign(__assign({}, result), signOpts); } } return result; } exports.convertNumberSkeletonToNumberFormatOptions = convertNumberSkeletonToNumberFormatOptions; }); styleInject_es.unwrapExports(skeleton); var skeleton_1 = skeleton.parseDateTimeSkeleton; var skeleton_2 = skeleton.convertNumberSkeletonToNumberFormatOptions; var dist$1 = styleInject_es.createCommonjsModule(function (module, exports) { function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); __export(types); __export(parser); __export(skeleton); function parse(input, opts) { var els = parser.pegParse(input, opts); if (!opts || opts.normalizeHashtagInPlural !== false) { normalize.normalizeHashtagInPlural(els); } return els; } exports.parse = parse; }); styleInject_es.unwrapExports(dist$1); var dist_1$1 = dist$1.parse; var dist$2 = styleInject_es.createCommonjsModule(function (module, exports) { /* Copyright (c) 2014, Yahoo! Inc. All rights reserved. Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var __spreadArrays = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; Object.defineProperty(exports, "__esModule", { value: true }); // -- Utilities ---------------------------------------------------------------- function getCacheId(inputs) { return JSON.stringify(inputs.map(function (input) { return input && typeof input === 'object' ? orderedProps(input) : input; })); } function orderedProps(obj) { return Object.keys(obj) .sort() .map(function (k) { var _a; return (_a = {}, _a[k] = obj[k], _a); }); } var memoizeFormatConstructor = function (FormatConstructor, cache) { if (cache === void 0) { cache = {}; } return function () { var _a; var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var cacheId = getCacheId(args); var format = cacheId && cache[cacheId]; if (!format) { format = new ((_a = FormatConstructor).bind.apply(_a, __spreadArrays([void 0], args)))(); if (cacheId) { cache[cacheId] = format; } } return format; }; }; exports.default = memoizeFormatConstructor; }); styleInject_es.unwrapExports(dist$2); var formatters = styleInject_es.createCommonjsModule(function (module, exports) { var __extends = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __spreadArrays = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__spreadArrays) || function () { for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; return r; }; Object.defineProperty(exports, "__esModule", { value: true }); var ESCAPE_HASH_REGEX = /\\#/g; var PLURAL_HASH = /(^|[^\\])#/g; var FormatError = /** @class */ (function (_super) { __extends(FormatError, _super); function FormatError(msg, variableId) { var _this = _super.call(this, msg) || this; _this.variableId = variableId; return _this; } return FormatError; }(Error)); function mergeLiteral(parts) { if (parts.length < 2) { return parts; } return parts.reduce(function (all, part) { var lastPart = all[all.length - 1]; if (!lastPart || lastPart.type !== 0 /* literal */ || part.type !== 0 /* literal */) { all.push(part); } else { lastPart.value += part.value; } return all; }, []); } // TODO(skeleton): add skeleton support function formatToParts(els, locales, formatters, formats, values, currentPluralValue, // For debugging originalMessage) { // Hot path for straight simple msg translations if (els.length === 1 && dist$1.isLiteralElement(els[0])) { var value = els[0].value; if (typeof currentPluralValue === 'number') { value = value.replace(PLURAL_HASH, '$1' + formatters.getNumberFormat(locales).format(currentPluralValue)); } return [ { type: 0 /* literal */, value: value.replace(ESCAPE_HASH_REGEX, '#'), }, ]; } var result = []; for (var _i = 0, els_1 = els; _i < els_1.length; _i++) { var el = els_1[_i]; // Exit early for string parts. if (dist$1.isLiteralElement(el)) { var value_1 = el.value; if (typeof currentPluralValue === 'number') { value_1 = value_1.replace(PLURAL_HASH, '$1' + formatters.getNumberFormat(locales).format(currentPluralValue)); } result.push({ type: 0 /* literal */, value: value_1.replace(ESCAPE_HASH_REGEX, '#'), }); continue; } var varName = el.value; // Enforce that all required values are provided by the caller. if (!(values && varName in values)) { throw new FormatError("The intl string context variable \"" + varName + "\" was not provided to the string \"" + originalMessage + "\""); } var value = values[varName]; if (dist$1.isArgumentElement(el)) { if (!value || typeof value === 'string' || typeof value === 'number') { value = typeof value === 'string' || typeof value === 'number' ? String(value) : ''; } result.push({ type: 1 /* argument */, value: value, }); continue; } // Recursively format plural and select parts' option — which can be a // nested pattern structure. The choosing of the option to use is // abstracted-by and delegated-to the part helper object. if (dist$1.isDateElement(el)) { var style = typeof el.style === 'string' ? formats.date[el.style] : undefined; result.push({ type: 0 /* literal */, value: formatters .getDateTimeFormat(locales, style) .format(value), }); continue; } if (dist$1.isTimeElement(el)) { var style = typeof el.style === 'string' ? formats.time[el.style] : dist$1.isDateTimeSkeleton(el.style) ? dist$1.parseDateTimeSkeleton(el.style.pattern) : undefined; result.push({ type: 0 /* literal */, value: formatters .getDateTimeFormat(locales, style) .format(value), }); continue; } if (dist$1.isNumberElement(el)) { var style = typeof el.style === 'string' ? formats.number[el.style] : dist$1.isNumberSkeleton(el.style) ? dist$1.convertNumberSkeletonToNumberFormatOptions(el.style.tokens) : undefined; result.push({ type: 0 /* literal */, value: formatters .getNumberFormat(locales, style) .format(value), }); continue; } if (dist$1.isSelectElement(el)) { var opt = el.options[value] || el.options.other; if (!opt) { throw new RangeError("Invalid values for \"" + el.value + "\": \"" + value + "\". Options are \"" + Object.keys(el.options).join('", "') + "\""); } result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values)); continue; } if (dist$1.isPluralElement(el)) { var opt = el.options["=" + value]; if (!opt) { if (!Intl.PluralRules) { throw new FormatError("Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n"); } var rule = formatters .getPluralRules(locales, { type: el.pluralType }) .select(value - (el.offset || 0)); opt = el.options[rule] || el.options.other; } if (!opt) { throw new RangeError("Invalid values for \"" + el.value + "\": \"" + value + "\". Options are \"" + Object.keys(el.options).join('", "') + "\""); } result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0))); continue; } } return mergeLiteral(result); } exports.formatToParts = formatToParts; function formatToString(els, locales, formatters, formats, values, // For debugging originalMessage) { var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage); // Hot path for straight simple msg translations if (parts.length === 1) { return parts[0].value; } return parts.reduce(function (all, part) { return (all += part.value); }, ''); } exports.formatToString = formatToString; // Singleton var domParser; var TOKEN_DELIMITER = '@@'; var TOKEN_REGEX = /@@(\d+_\d+)@@/g; var counter = 0; function generateId() { return Date.now() + "_" + ++counter; } function restoreRichPlaceholderMessage(text, objectParts) { return text .split(TOKEN_REGEX) .filter(Boolean) .map(function (c) { return (objectParts[c] != null ? objectParts[c] : c); }) .reduce(function (all, c) { if (!all.length) { all.push(c); } else if (typeof c === 'string' && typeof all[all.length - 1] === 'string') { all[all.length - 1] += c; } else { all.push(c); } return all; }, []); } /** * Not exhaustive, just for sanity check */ var SIMPLE_XML_REGEX = /(<([0-9a-zA-Z-_]*?)>(.*?)<\/([0-9a-zA-Z-_]*?)>)|(<[0-9a-zA-Z-_]*?\/>)/; var TEMPLATE_ID = Date.now() + '@@'; var VOID_ELEMENTS = [ 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr', ]; function formatHTMLElement(el, objectParts, values) { var tagName = el.tagName; var outerHTML = el.outerHTML, textContent = el.textContent, childNodes = el.childNodes; // Regular text if (!tagName) { return restoreRichPlaceholderMessage(textContent || '', objectParts); } tagName = tagName.toLowerCase(); var isVoidElement = ~VOID_ELEMENTS.indexOf(tagName); var formatFnOrValue = values[tagName]; if (formatFnOrValue && isVoidElement) { throw new FormatError(tagName + " is a self-closing tag and can not be used, please use another tag name."); } if (!childNodes.length) { return [outerHTML]; } var chunks = Array.prototype.slice.call(childNodes).reduce(function (all, child) { return all.concat(formatHTMLElement(child, objectParts, values)); }, []); // Legacy HTML if (!formatFnOrValue) { return __spreadArrays(["<" + tagName + ">"], chunks, [""]); } // HTML Tag replacement if (typeof formatFnOrValue === 'function') { return [formatFnOrValue.apply(void 0, chunks)]; } return [formatFnOrValue]; } function formatHTMLMessage(els, locales, formatters, formats, values, // For debugging originalMessage) { var parts = formatToParts(els, locales, formatters, formats, values, undefined, originalMessage); var objectParts = {}; var formattedMessage = parts.reduce(function (all, part) { if (part.type === 0 /* literal */) { return (all += part.value); } var id = generateId(); objectParts[id] = part.value; return (all += "" + TOKEN_DELIMITER + id + TOKEN_DELIMITER); }, ''); // Not designed to filter out aggressively if (!SIMPLE_XML_REGEX.test(formattedMessage)) { return restoreRichPlaceholderMessage(formattedMessage, objectParts); } if (!values) { throw new FormatError('Message has placeholders but no values was given'); } if (typeof DOMParser === 'undefined') { throw new FormatError('Cannot format XML message without DOMParser'); } if (!domParser) { domParser = new DOMParser(); } var content = domParser .parseFromString("" + formattedMessage + "", 'text/html') .getElementById(TEMPLATE_ID); if (!content) { throw new FormatError("Malformed HTML message " + formattedMessage); } var tagsToFormat = Object.keys(values).filter(function (varName) { return !!content.getElementsByTagName(varName).length; }); // No tags to format if (!tagsToFormat.length) { return restoreRichPlaceholderMessage(formattedMessage, objectParts); } var caseSensitiveTags = tagsToFormat.filter(function (tagName) { return tagName !== tagName.toLowerCase(); }); if (caseSensitiveTags.length) { throw new FormatError("HTML tag must be lowercased but the following tags are not: " + caseSensitiveTags.join(', ')); } // We're doing this since top node is `` which does not have a formatter return Array.prototype.slice .call(content.childNodes) .reduce(function (all, child) { return all.concat(formatHTMLElement(child, objectParts, values)); }, []); } exports.formatHTMLMessage = formatHTMLMessage; }); styleInject_es.unwrapExports(formatters); var formatters_1 = formatters.formatToParts; var formatters_2 = formatters.formatToString; var formatters_3 = formatters.formatHTMLMessage; var core = styleInject_es.createCommonjsModule(function (module, exports) { /* Copyright (c) 2014, Yahoo! Inc. All rights reserved. Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); // -- MessageFormat -------------------------------------------------------- function mergeConfig(c1, c2) { if (!c2) { return c1; } return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) { all[k] = __assign(__assign({}, c1[k]), (c2[k] || {})); return all; }, {})); } function mergeConfigs(defaultConfig, configs) { if (!configs) { return defaultConfig; } return Object.keys(defaultConfig).reduce(function (all, k) { all[k] = mergeConfig(defaultConfig[k], configs[k]); return all; }, __assign({}, defaultConfig)); } function createDefaultFormatters(cache) { if (cache === void 0) { cache = { number: {}, dateTime: {}, pluralRules: {}, }; } return { getNumberFormat: dist$2.default(Intl.NumberFormat, cache.number), getDateTimeFormat: dist$2.default(Intl.DateTimeFormat, cache.dateTime), getPluralRules: dist$2.default(Intl.PluralRules, cache.pluralRules), }; } exports.createDefaultFormatters = createDefaultFormatters; var IntlMessageFormat = /** @class */ (function () { function IntlMessageFormat(message, locales, overrideFormats, opts) { var _this = this; if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; } this.formatterCache = { number: {}, dateTime: {}, pluralRules: {}, }; this.format = function (values) { return formatters.formatToString(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message); }; this.formatToParts = function (values) { return formatters.formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message); }; this.formatHTMLMessage = function (values) { return formatters.formatHTMLMessage(_this.ast, _this.locales, _this.formatters, _this.formats, values, _this.message); }; this.resolvedOptions = function () { return ({ locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0], }); }; this.getAst = function () { return _this.ast; }; if (typeof message === 'string') { this.message = message; if (!IntlMessageFormat.__parse) { throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`'); } // Parse string messages into an AST. this.ast = IntlMessageFormat.__parse(message, { normalizeHashtagInPlural: false, }); } else { this.ast = message; } if (!Array.isArray(this.ast)) { throw new TypeError('A message must be provided as a String or AST.'); } // Creates a new object with the specified `formats` merged with the default // formats. this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats); // Defined first because it's used to build the format pattern. this.locales = locales; this.formatters = (opts && opts.formatters) || createDefaultFormatters(this.formatterCache); } IntlMessageFormat.defaultLocale = new Intl.NumberFormat().resolvedOptions().locale; IntlMessageFormat.__parse = dist$1.parse; // Default format options used as the prototype of the `formats` provided to the // constructor. These are used when constructing the internal Intl.NumberFormat // and Intl.DateTimeFormat instances. IntlMessageFormat.formats = { number: { currency: { style: 'currency', }, percent: { style: 'percent', }, }, date: { short: { month: 'numeric', day: 'numeric', year: '2-digit', }, medium: { month: 'short', day: 'numeric', year: 'numeric', }, long: { month: 'long', day: 'numeric', year: 'numeric', }, full: { weekday: 'long', month: 'long', day: 'numeric', year: 'numeric', }, }, time: { short: { hour: 'numeric', minute: 'numeric', }, medium: { hour: 'numeric', minute: 'numeric', second: 'numeric', }, long: { hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'short', }, full: { hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'short', }, }, }; return IntlMessageFormat; }()); exports.IntlMessageFormat = IntlMessageFormat; exports.default = IntlMessageFormat; }); styleInject_es.unwrapExports(core); var core_1 = core.createDefaultFormatters; var core_2 = core.IntlMessageFormat; var dist$3 = styleInject_es.createCommonjsModule(function (module, exports) { /* Copyright (c) 2014, Yahoo! Inc. All rights reserved. Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } Object.defineProperty(exports, "__esModule", { value: true }); __export(formatters); __export(core); exports.default = core.default; }); styleInject_es.unwrapExports(dist$3); /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ var invariant = function(condition, format, a, b, c, d, e, f) { if (process.env.NODE_ENV !== 'production') { if (format === undefined) { throw new Error('invariant requires an error message argument'); } } if (!condition) { var error; if (format === undefined) { error = new Error( 'Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.' ); } else { var args = [a, b, c, d, e, f]; var argIndex = 0; error = new Error( format.replace(/%s/g, function() { return args[argIndex++]; }) ); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } }; var browser = invariant; var utils = styleInject_es.createCommonjsModule(function (module, exports) { /* HTML escaping is the same as React's (on purpose.) Therefore, it has the following Copyright and Licensing: Copyright 2013-2014, Facebook, Inc. All rights reserved. This source code is licensed under the BSD-style license found in the LICENSE file in the root directory of React's source tree. */ Object.defineProperty(exports, "__esModule", { value: true }); // Since rollup cannot deal with namespace being a function, // this is to interop with TypeScript since `invariant` // does not export a default // https://github.com/rollup/rollup/issues/1267 var invariant = browser.default || browser; var ESCAPED_CHARS = { 38: '&', 62: '>', 60: '<', 34: '"', 39: ''', }; var UNSAFE_CHARS_REGEX = /[&><"']/g; function escape(str) { return ('' + str).replace(UNSAFE_CHARS_REGEX, function (match) { return ESCAPED_CHARS[match.charCodeAt(0)]; }); } exports.escape = escape; function filterProps(props, whitelist, defaults) { if (defaults === void 0) { defaults = {}; } return whitelist.reduce(function (filtered, name) { if (name in props) { filtered[name] = props[name]; } else if (name in defaults) { filtered[name] = defaults[name]; } return filtered; }, {}); } exports.filterProps = filterProps; function invariantIntlContext(intl) { invariant(intl, '[React Intl] Could not find required `intl` object. ' + ' needs to exist in the component ancestry.'); } exports.invariantIntlContext = invariantIntlContext; function createError(message, exception) { var eMsg = exception ? "\n" + exception.stack : ''; return "[React Intl] " + message + eMsg; } exports.createError = createError; function defaultErrorHandler(error) { if (process.env.NODE_ENV !== 'production') { console.error(error); } } exports.defaultErrorHandler = defaultErrorHandler; exports.DEFAULT_INTL_CONFIG = { formats: {}, messages: {}, timeZone: undefined, textComponent: React__default.Fragment, defaultLocale: 'en', defaultFormats: {}, onError: defaultErrorHandler, }; function createIntlCache() { return { dateTime: {}, number: {}, message: {}, relativeTime: {}, pluralRules: {}, list: {}, }; } exports.createIntlCache = createIntlCache; /** * Create intl formatters and populate cache * @param cache explicit cache to prevent leaking memory */ function createFormatters(cache) { if (cache === void 0) { cache = createIntlCache(); } var RelativeTimeFormat = Intl.RelativeTimeFormat; var ListFormat = Intl.ListFormat; return { getDateTimeFormat: dist$2.default(Intl.DateTimeFormat, cache.dateTime), getNumberFormat: dist$2.default(Intl.NumberFormat, cache.number), getMessageFormat: dist$2.default(dist$3.default, cache.message), getRelativeTimeFormat: dist$2.default(RelativeTimeFormat, cache.relativeTime), getPluralRules: dist$2.default(Intl.PluralRules, cache.pluralRules), getListFormat: dist$2.default(ListFormat, cache.list), }; } exports.createFormatters = createFormatters; function getNamedFormat(formats, type, name, onError) { var formatType = formats && formats[type]; var format; if (formatType) { format = formatType[name]; } if (format) { return format; } onError(createError("No " + type + " format named: " + name)); } exports.getNamedFormat = getNamedFormat; }); styleInject_es.unwrapExports(utils); var utils_1 = utils.escape; var utils_2 = utils.filterProps; var utils_3 = utils.invariantIntlContext; var utils_4 = utils.createError; var utils_5 = utils.defaultErrorHandler; var utils_6 = utils.DEFAULT_INTL_CONFIG; var utils_7 = utils.createIntlCache; var utils_8 = utils.createFormatters; var utils_9 = utils.getNamedFormat; var reactIs_production_min = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports,"__esModule",{value:!0}); var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?Symbol.for("react.suspense_list"): 60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.fundamental"):60117,w=b?Symbol.for("react.responder"):60118,x=b?Symbol.for("react.scope"):60119;function y(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function z(a){return y(a)===m} exports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p; exports.isValidElementType=function(a){return "string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h}; exports.isElement=function(a){return "object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p}; }); styleInject_es.unwrapExports(reactIs_production_min); var reactIs_production_min_1 = reactIs_production_min.typeOf; var reactIs_production_min_2 = reactIs_production_min.AsyncMode; var reactIs_production_min_3 = reactIs_production_min.ConcurrentMode; var reactIs_production_min_4 = reactIs_production_min.ContextConsumer; var reactIs_production_min_5 = reactIs_production_min.ContextProvider; var reactIs_production_min_6 = reactIs_production_min.Element; var reactIs_production_min_7 = reactIs_production_min.ForwardRef; var reactIs_production_min_8 = reactIs_production_min.Fragment; var reactIs_production_min_9 = reactIs_production_min.Lazy; var reactIs_production_min_10 = reactIs_production_min.Memo; var reactIs_production_min_11 = reactIs_production_min.Portal; var reactIs_production_min_12 = reactIs_production_min.Profiler; var reactIs_production_min_13 = reactIs_production_min.StrictMode; var reactIs_production_min_14 = reactIs_production_min.Suspense; var reactIs_production_min_15 = reactIs_production_min.isValidElementType; var reactIs_production_min_16 = reactIs_production_min.isAsyncMode; var reactIs_production_min_17 = reactIs_production_min.isConcurrentMode; var reactIs_production_min_18 = reactIs_production_min.isContextConsumer; var reactIs_production_min_19 = reactIs_production_min.isContextProvider; var reactIs_production_min_20 = reactIs_production_min.isElement; var reactIs_production_min_21 = reactIs_production_min.isForwardRef; var reactIs_production_min_22 = reactIs_production_min.isFragment; var reactIs_production_min_23 = reactIs_production_min.isLazy; var reactIs_production_min_24 = reactIs_production_min.isMemo; var reactIs_production_min_25 = reactIs_production_min.isPortal; var reactIs_production_min_26 = reactIs_production_min.isProfiler; var reactIs_production_min_27 = reactIs_production_min.isStrictMode; var reactIs_production_min_28 = reactIs_production_min.isSuspense; var reactIs_development = styleInject_es.createCommonjsModule(function (module, exports) { if (process.env.NODE_ENV !== "production") { (function() { Object.defineProperty(exports, '__esModule', { value: true }); // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE); } /** * Forked from fbjs/warning: * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js * * Only change is we use console.warn instead of console.error, * and do nothing when 'console' is not supported. * This really simplifies the code. * --- * Similar to invariant but only logs a warning if the condition is not met. * This can be used to log issues in development environments in critical * paths. Removing the logging code for production environments will keep the * same logic and follow the same code paths. */ var lowPriorityWarningWithoutStack = function () {}; { var printWarning = function (format) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } var argIndex = 0; var message = 'Warning: ' + format.replace(/%s/g, function () { return args[argIndex++]; }); if (typeof console !== 'undefined') { console.warn(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} }; lowPriorityWarningWithoutStack = function (condition, format) { if (format === undefined) { throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument'); } if (!condition) { for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { args[_key2 - 2] = arguments[_key2]; } printWarning.apply(void 0, [format].concat(args)); } }; } var lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack; function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.typeOf = typeOf; exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isValidElementType = isValidElementType; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; })(); } }); styleInject_es.unwrapExports(reactIs_development); var reactIs_development_1 = reactIs_development.typeOf; var reactIs_development_2 = reactIs_development.AsyncMode; var reactIs_development_3 = reactIs_development.ConcurrentMode; var reactIs_development_4 = reactIs_development.ContextConsumer; var reactIs_development_5 = reactIs_development.ContextProvider; var reactIs_development_6 = reactIs_development.Element; var reactIs_development_7 = reactIs_development.ForwardRef; var reactIs_development_8 = reactIs_development.Fragment; var reactIs_development_9 = reactIs_development.Lazy; var reactIs_development_10 = reactIs_development.Memo; var reactIs_development_11 = reactIs_development.Portal; var reactIs_development_12 = reactIs_development.Profiler; var reactIs_development_13 = reactIs_development.StrictMode; var reactIs_development_14 = reactIs_development.Suspense; var reactIs_development_15 = reactIs_development.isValidElementType; var reactIs_development_16 = reactIs_development.isAsyncMode; var reactIs_development_17 = reactIs_development.isConcurrentMode; var reactIs_development_18 = reactIs_development.isContextConsumer; var reactIs_development_19 = reactIs_development.isContextProvider; var reactIs_development_20 = reactIs_development.isElement; var reactIs_development_21 = reactIs_development.isForwardRef; var reactIs_development_22 = reactIs_development.isFragment; var reactIs_development_23 = reactIs_development.isLazy; var reactIs_development_24 = reactIs_development.isMemo; var reactIs_development_25 = reactIs_development.isPortal; var reactIs_development_26 = reactIs_development.isProfiler; var reactIs_development_27 = reactIs_development.isStrictMode; var reactIs_development_28 = reactIs_development.isSuspense; var reactIs = styleInject_es.createCommonjsModule(function (module) { if (process.env.NODE_ENV === 'production') { module.exports = reactIs_production_min; } else { module.exports = reactIs_development; } }); /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; function getStatics(component) { if (reactIs.isMemo(component)) { return MEMO_STATICS; } return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } } return targetComponent; } var hoistNonReactStatics_cjs = hoistNonReactStatics; var injectIntl_1 = styleInject_es.createCommonjsModule(function (module, exports) { var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); // Since rollup cannot deal with namespace being a function, // this is to interop with TypeScript since `invariant` // does not export a default // https://github.com/rollup/rollup/issues/1267 var hoistNonReactStatics = hoistNonReactStatics_cjs.default || hoistNonReactStatics_cjs; function getDisplayName(Component) { return Component.displayName || Component.name || 'Component'; } // TODO: We should provide initial value here var IntlContext = React__default.createContext(null); var IntlConsumer = IntlContext.Consumer, IntlProvider = IntlContext.Provider; exports.Provider = IntlProvider; exports.Context = IntlContext; function injectIntl(WrappedComponent, options) { var _a = options || {}, _b = _a.intlPropName, intlPropName = _b === void 0 ? 'intl' : _b, _c = _a.forwardRef, forwardRef = _c === void 0 ? false : _c, _d = _a.enforceContext, enforceContext = _d === void 0 ? true : _d; var WithIntl = function (props) { return (React__default.createElement(IntlConsumer, null, function (intl) { var _a; if (enforceContext) { utils.invariantIntlContext(intl); } return (React__default.createElement(WrappedComponent, __assign({}, props, (_a = {}, _a[intlPropName] = intl, _a), { ref: forwardRef ? props.forwardedRef : null }))); })); }; WithIntl.displayName = "injectIntl(" + getDisplayName(WrappedComponent) + ")"; WithIntl.WrappedComponent = WrappedComponent; if (forwardRef) { return hoistNonReactStatics(React__default.forwardRef(function (props, ref) { return (React__default.createElement(WithIntl, __assign({}, props, { forwardedRef: ref }))); }), WrappedComponent); } return hoistNonReactStatics(WithIntl, WrappedComponent); } exports.default = injectIntl; }); styleInject_es.unwrapExports(injectIntl_1); var injectIntl_2 = injectIntl_1.Provider; var injectIntl_3 = injectIntl_1.Context; var createFormattedComponent_1 = styleInject_es.createCommonjsModule(function (module, exports) { var __rest = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]]; return t; }; Object.defineProperty(exports, "__esModule", { value: true }); var DisplayName; (function (DisplayName) { DisplayName["formatDate"] = "FormattedDate"; DisplayName["formatTime"] = "FormattedTime"; DisplayName["formatNumber"] = "FormattedNumber"; DisplayName["formatList"] = "FormattedList"; })(DisplayName || (DisplayName = {})); var DisplayNameParts; (function (DisplayNameParts) { DisplayNameParts["formatDate"] = "FormattedDateParts"; DisplayNameParts["formatTime"] = "FormattedTimeParts"; DisplayNameParts["formatNumber"] = "FormattedNumberParts"; DisplayNameParts["formatList"] = "FormattedListParts"; })(DisplayNameParts || (DisplayNameParts = {})); exports.FormattedNumberParts = function (props) { return (React__default.createElement(injectIntl_1.Context.Consumer, null, function (intl) { utils.invariantIntlContext(intl); var value = props.value, children = props.children, formatProps = __rest(props, ["value", "children"]); return children(intl.formatNumberToParts(value, formatProps)); })); }; exports.FormattedNumberParts.displayName = 'FormattedNumberParts'; function createFormattedDateTimePartsComponent(name) { var ComponentParts = function (props) { return (React__default.createElement(injectIntl_1.Context.Consumer, null, function (intl) { utils.invariantIntlContext(intl); var value = props.value, children = props.children, formatProps = __rest(props, ["value", "children"]); var date = typeof value === 'string' ? new Date(value || 0) : value; var formattedParts = name === 'formatDate' ? intl.formatDateToParts(date, formatProps) : intl.formatTimeToParts(date, formatProps); return children(formattedParts); })); }; ComponentParts.displayName = DisplayNameParts[name]; return ComponentParts; } exports.createFormattedDateTimePartsComponent = createFormattedDateTimePartsComponent; function createFormattedComponent(name) { var Component = function (props) { return (React__default.createElement(injectIntl_1.Context.Consumer, null, function (intl) { utils.invariantIntlContext(intl); var value = props.value, children = props.children, formatProps = __rest(props, ["value", "children"]); // TODO: fix TS type definition for localeMatcher upstream var formattedValue = intl[name](value, formatProps); if (typeof children === 'function') { return children(formattedValue); } var Text = intl.textComponent || React__default.Fragment; return React__default.createElement(Text, null, formattedValue); })); }; Component.displayName = DisplayName[name]; return Component; } exports.createFormattedComponent = createFormattedComponent; }); styleInject_es.unwrapExports(createFormattedComponent_1); var createFormattedComponent_2 = createFormattedComponent_1.FormattedNumberParts; var createFormattedComponent_3 = createFormattedComponent_1.createFormattedDateTimePartsComponent; var createFormattedComponent_4 = createFormattedComponent_1.createFormattedComponent; var useIntl_1 = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); function useIntl() { var intl = React__default.useContext(injectIntl_1.Context); utils.invariantIntlContext(intl); return intl; } exports.default = useIntl; }); styleInject_es.unwrapExports(useIntl_1); var dist$4 = styleInject_es.createCommonjsModule(function (module, exports) { /* * Copyright 2015, Yahoo Inc. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ Object.defineProperty(exports, "__esModule", { value: true }); function areIntlLocalesSupported(locales, constructorsToCheck) { if (typeof Intl === 'undefined') { return false; } if (!locales) { throw new Error('locales must be supplied.'); } if (!Array.isArray(locales)) { locales = [locales]; } var intlConstructors = constructorsToCheck || [ Intl.DateTimeFormat, Intl.NumberFormat, Intl.PluralRules, ]; intlConstructors = intlConstructors.filter(Boolean); if (intlConstructors.length === 0 || (constructorsToCheck && intlConstructors.length !== constructorsToCheck.length)) { return false; } return intlConstructors.every(function (intlConstructor) { return intlConstructor.supportedLocalesOf(locales).length === locales.length; }); } exports.default = areIntlLocalesSupported; }); styleInject_es.unwrapExports(dist$4); var number = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); var NUMBER_FORMAT_OPTIONS = [ 'localeMatcher', 'style', 'currency', 'currencyDisplay', 'unit', 'unitDisplay', 'useGrouping', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits', // Unified NumberFormat (Stage 3 as of 10/22/19) 'compactDisplay', 'currencyDisplay', 'currencySign', 'notation', 'signDisplay', 'unit', 'unitDisplay', ]; function getFormatter(_a, getNumberFormat, options) { var locale = _a.locale, formats = _a.formats, onError = _a.onError; if (options === void 0) { options = {}; } var format = options.format; var defaults = ((format && utils.getNamedFormat(formats, 'number', format, onError)) || {}); var filteredOptions = utils.filterProps(options, NUMBER_FORMAT_OPTIONS, defaults); return getNumberFormat(locale, filteredOptions); } exports.getFormatter = getFormatter; function formatNumber(config, getNumberFormat, value, options) { if (options === void 0) { options = {}; } try { return getFormatter(config, getNumberFormat, options).format(value); } catch (e) { config.onError(utils.createError('Error formatting number.', e)); } return String(value); } exports.formatNumber = formatNumber; function formatNumberToParts(config, getNumberFormat, value, options) { if (options === void 0) { options = {}; } try { return getFormatter(config, getNumberFormat, options).formatToParts(value); } catch (e) { config.onError(utils.createError('Error formatting number.', e)); } return []; } exports.formatNumberToParts = formatNumberToParts; }); styleInject_es.unwrapExports(number); var number_1 = number.getFormatter; var number_2 = number.formatNumber; var number_3 = number.formatNumberToParts; var relativeTime = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); var RELATIVE_TIME_FORMAT_OPTIONS = [ 'numeric', 'style', ]; function getFormatter(_a, getRelativeTimeFormat, options) { var locale = _a.locale, formats = _a.formats, onError = _a.onError; if (options === void 0) { options = {}; } var format = options.format; var defaults = (!!format && utils.getNamedFormat(formats, 'relative', format, onError)) || {}; var filteredOptions = utils.filterProps(options, RELATIVE_TIME_FORMAT_OPTIONS, defaults); return getRelativeTimeFormat(locale, filteredOptions); } function formatRelativeTime(config, getRelativeTimeFormat, value, unit, options) { if (options === void 0) { options = {}; } if (!unit) { unit = 'second'; } var RelativeTimeFormat = Intl.RelativeTimeFormat; if (!RelativeTimeFormat) { config.onError(utils.createError("Intl.RelativeTimeFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-relativetimeformat\"\n")); } try { return getFormatter(config, getRelativeTimeFormat, options).format(value, unit); } catch (e) { config.onError(utils.createError('Error formatting relative time.', e)); } return String(value); } exports.formatRelativeTime = formatRelativeTime; }); styleInject_es.unwrapExports(relativeTime); var relativeTime_1 = relativeTime.formatRelativeTime; var dateTime = styleInject_es.createCommonjsModule(function (module, exports) { /* * Copyright 2015, Yahoo Inc. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var DATE_TIME_FORMAT_OPTIONS = [ 'localeMatcher', 'formatMatcher', 'timeZone', 'hour12', 'weekday', 'era', 'year', 'month', 'day', 'hour', 'minute', 'second', 'timeZoneName', ]; function getFormatter(_a, type, getDateTimeFormat, options) { var locale = _a.locale, formats = _a.formats, onError = _a.onError, timeZone = _a.timeZone; if (options === void 0) { options = {}; } var format = options.format; var defaults = __assign({}, (timeZone && { timeZone: timeZone }), (format && utils.getNamedFormat(formats, type, format, onError))); var filteredOptions = utils.filterProps(options, DATE_TIME_FORMAT_OPTIONS, defaults); if (type === 'time' && !filteredOptions.hour && !filteredOptions.minute && !filteredOptions.second) { // Add default formatting options if hour, minute, or second isn't defined. filteredOptions = __assign({}, filteredOptions, { hour: 'numeric', minute: 'numeric' }); } return getDateTimeFormat(locale, filteredOptions); } exports.getFormatter = getFormatter; function formatDate(config, getDateTimeFormat, value, options) { if (options === void 0) { options = {}; } var date = typeof value === 'string' ? new Date(value || 0) : value; try { return getFormatter(config, 'date', getDateTimeFormat, options).format(date); } catch (e) { config.onError(utils.createError('Error formatting date.', e)); } return String(date); } exports.formatDate = formatDate; function formatTime(config, getDateTimeFormat, value, options) { if (options === void 0) { options = {}; } var date = typeof value === 'string' ? new Date(value || 0) : value; try { return getFormatter(config, 'time', getDateTimeFormat, options).format(date); } catch (e) { config.onError(utils.createError('Error formatting time.', e)); } return String(date); } exports.formatTime = formatTime; function formatDateToParts(config, getDateTimeFormat, value, options) { if (options === void 0) { options = {}; } var date = typeof value === 'string' ? new Date(value || 0) : value; try { return getFormatter(config, 'date', getDateTimeFormat, options).formatToParts(date); } catch (e) { config.onError(utils.createError('Error formatting date.', e)); } return []; } exports.formatDateToParts = formatDateToParts; function formatTimeToParts(config, getDateTimeFormat, value, options) { if (options === void 0) { options = {}; } var date = typeof value === 'string' ? new Date(value || 0) : value; try { return getFormatter(config, 'time', getDateTimeFormat, options).formatToParts(date); } catch (e) { config.onError(utils.createError('Error formatting time.', e)); } return []; } exports.formatTimeToParts = formatTimeToParts; }); styleInject_es.unwrapExports(dateTime); var dateTime_1 = dateTime.getFormatter; var dateTime_2 = dateTime.formatDate; var dateTime_3 = dateTime.formatTime; var dateTime_4 = dateTime.formatDateToParts; var dateTime_5 = dateTime.formatTimeToParts; var plural = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); var PLURAL_FORMAT_OPTIONS = [ 'localeMatcher', 'type', ]; function formatPlural(_a, getPluralRules, value, options) { var locale = _a.locale, onError = _a.onError; if (options === void 0) { options = {}; } if (!Intl.PluralRules) { onError(utils.createError("Intl.PluralRules is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-pluralrules\"\n")); } var filteredOptions = utils.filterProps(options, PLURAL_FORMAT_OPTIONS); try { return getPluralRules(locale, filteredOptions).select(value); } catch (e) { onError(utils.createError('Error formatting plural.', e)); } return 'other'; } exports.formatPlural = formatPlural; }); styleInject_es.unwrapExports(plural); var plural_1 = plural.formatPlural; var message = styleInject_es.createCommonjsModule(function (module, exports) { /* * Copyright 2015, Yahoo Inc. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); // Since rollup cannot deal with namespace being a function, // this is to interop with TypeScript since `invariant` // does not export a default // https://github.com/rollup/rollup/issues/1267 var invariant = browser.default || browser; function setTimeZoneInOptions(opts, timeZone) { return Object.keys(opts).reduce(function (all, k) { all[k] = __assign({ timeZone: timeZone }, opts[k]); return all; }, {}); } function deepMergeOptions(opts1, opts2) { var keys = Object.keys(__assign({}, opts1, opts2)); return keys.reduce(function (all, k) { all[k] = __assign({}, (opts1[k] || {}), (opts2[k] || {})); return all; }, {}); } function deepMergeFormatsAndSetTimeZone(f1, timeZone) { if (!timeZone) { return f1; } var mfFormats = dist$3.default.formats; return __assign({}, mfFormats, f1, { date: deepMergeOptions(setTimeZoneInOptions(mfFormats.date, timeZone), setTimeZoneInOptions(f1.date || {}, timeZone)), time: deepMergeOptions(setTimeZoneInOptions(mfFormats.time, timeZone), setTimeZoneInOptions(f1.time || {}, timeZone)) }); } function formatMessage(_a, state, messageDescriptor, values) { var locale = _a.locale, formats = _a.formats, messages = _a.messages, defaultLocale = _a.defaultLocale, defaultFormats = _a.defaultFormats, onError = _a.onError, timeZone = _a.timeZone; if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; } if (values === void 0) { values = {}; } var id = messageDescriptor.id, defaultMessage = messageDescriptor.defaultMessage; // `id` is a required field of a Message Descriptor. invariant(id, '[React Intl] An `id` must be provided to format a message.'); if (!id) { throw new Error('[React Intl] An `id` must be provided to format a message.'); } var message = messages && messages[id]; formats = deepMergeFormatsAndSetTimeZone(formats, timeZone); defaultFormats = deepMergeFormatsAndSetTimeZone(defaultFormats, timeZone); var formattedMessageParts = []; if (message) { try { var formatter = state.getMessageFormat(message, locale, formats, { formatters: state, }); formattedMessageParts = formatter.formatHTMLMessage(values); } catch (e) { onError(utils.createError("Error formatting message: \"" + id + "\" for locale: \"" + locale + "\"" + (defaultMessage ? ', using default message as fallback.' : ''), e)); } } else { // This prevents warnings from littering the console in development // when no `messages` are passed into the for the // default locale, and a default message is in the source. if (!defaultMessage || (locale && locale.toLowerCase() !== defaultLocale.toLowerCase())) { onError(utils.createError("Missing message: \"" + id + "\" for locale: \"" + locale + "\"" + (defaultMessage ? ', using default message as fallback.' : ''))); } } if (!formattedMessageParts.length && defaultMessage) { try { var formatter = state.getMessageFormat(defaultMessage, defaultLocale, defaultFormats); formattedMessageParts = formatter.formatHTMLMessage(values); } catch (e) { onError(utils.createError("Error formatting the default message for: \"" + id + "\"", e)); } } if (!formattedMessageParts.length) { onError(utils.createError("Cannot format message: \"" + id + "\", " + ("using message " + (message || defaultMessage ? 'source' : 'id') + " as fallback."))); if (typeof message === 'string') { return message || defaultMessage || id; } return defaultMessage || id; } if (formattedMessageParts.length === 1 && typeof formattedMessageParts[0] === 'string') { return formattedMessageParts[0] || defaultMessage || id; } return formattedMessageParts; } exports.formatMessage = formatMessage; function formatHTMLMessage(config, state, messageDescriptor, rawValues) { if (messageDescriptor === void 0) { messageDescriptor = { id: '' }; } if (rawValues === void 0) { rawValues = {}; } // Process all the values before they are used when formatting the ICU // Message string. Since the formatted message might be injected via // `innerHTML`, all String-based values need to be HTML-escaped. var escapedValues = Object.keys(rawValues).reduce(function (escaped, name) { var value = rawValues[name]; escaped[name] = typeof value === 'string' ? utils.escape(value) : value; return escaped; }, {}); return formatMessage(config, state, messageDescriptor, escapedValues); } exports.formatHTMLMessage = formatHTMLMessage; }); styleInject_es.unwrapExports(message); var message_1 = message.formatMessage; var message_2 = message.formatHTMLMessage; function shallowEqualObjects(objA, objB) { if (objA === objB) { return true; } if (!objA || !objB) { return false; } var aKeys = Object.keys(objA); var bKeys = Object.keys(objB); var len = aKeys.length; if (bKeys.length !== len) { return false; } for (var i = 0; i < len; i++) { var key = aKeys[i]; if (objA[key] !== objB[key] || !Object.prototype.hasOwnProperty.call(objB, key)) { return false; } } return true; } var objects = shallowEqualObjects; var list = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); var LIST_FORMAT_OPTIONS = [ 'localeMatcher', 'type', 'style', ]; var now = Date.now(); function generateToken(i) { return now + "_" + i + "_" + now; } function formatList(_a, getListFormat, values, options) { var locale = _a.locale, onError = _a.onError; if (options === void 0) { options = {}; } var ListFormat = Intl.ListFormat; if (!ListFormat) { onError(utils.createError("Intl.ListFormat is not available in this environment.\nTry polyfilling it using \"@formatjs/intl-listformat\"\n")); } var filteredOptions = utils.filterProps(options, LIST_FORMAT_OPTIONS); try { var richValues_1 = {}; var serializedValues = values.map(function (v, i) { if (typeof v === 'object') { var id = generateToken(i); richValues_1[id] = v; return id; } return String(v); }); if (!Object.keys(richValues_1).length) { return getListFormat(locale, filteredOptions).format(serializedValues); } var parts = getListFormat(locale, filteredOptions).formatToParts(serializedValues); return parts.reduce(function (all, el) { var val = el.value; if (richValues_1[val]) { all.push(richValues_1[val]); } else if (typeof all[all.length - 1] === 'string') { all[all.length - 1] += val; } else { all.push(val); } return all; }, []); } catch (e) { onError(utils.createError('Error formatting list.', e)); } return values; } exports.formatList = formatList; }); styleInject_es.unwrapExports(list); var list_1 = list.formatList; var provider = styleInject_es.createCommonjsModule(function (module, exports) { /* * Copyright 2015, Yahoo Inc. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ var __extends = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var shallowEquals = objects.default || objects; function processIntlConfig(config) { return { locale: config.locale, timeZone: config.timeZone, formats: config.formats, textComponent: config.textComponent, messages: config.messages, defaultLocale: config.defaultLocale, defaultFormats: config.defaultFormats, onError: config.onError, }; } /** * Create intl object * @param config intl config * @param cache cache for formatter instances to prevent memory leak */ function createIntl(config, cache) { var formatters = utils.createFormatters(cache); var resolvedConfig = __assign({}, utils.DEFAULT_INTL_CONFIG, config); if (!resolvedConfig.locale || !dist$4.default(resolvedConfig.locale)) { var locale = resolvedConfig.locale, defaultLocale = resolvedConfig.defaultLocale, onError = resolvedConfig.onError; if (typeof onError === 'function') { onError(utils.createError("Missing locale data for locale: \"" + locale + "\". " + ("Using default locale: \"" + defaultLocale + "\" as fallback."))); } // Since there's no registered locale data for `locale`, this will // fallback to the `defaultLocale` to make sure things can render. // The `messages` are overridden to the `defaultProps` empty object // to maintain referential equality across re-renders. It's assumed // each contains a `defaultMessage` prop. resolvedConfig.locale = resolvedConfig.defaultLocale || 'en'; } return __assign({}, resolvedConfig, { formatters: formatters, formatNumber: number.formatNumber.bind(null, resolvedConfig, formatters.getNumberFormat), formatNumberToParts: number.formatNumberToParts.bind(null, resolvedConfig, formatters.getNumberFormat), formatRelativeTime: relativeTime.formatRelativeTime.bind(null, resolvedConfig, formatters.getRelativeTimeFormat), formatDate: dateTime.formatDate.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatDateToParts: dateTime.formatDateToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTime: dateTime.formatTime.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatTimeToParts: dateTime.formatTimeToParts.bind(null, resolvedConfig, formatters.getDateTimeFormat), formatPlural: plural.formatPlural.bind(null, resolvedConfig, formatters.getPluralRules), formatMessage: message.formatMessage.bind(null, resolvedConfig, formatters), formatHTMLMessage: message.formatHTMLMessage.bind(null, resolvedConfig, formatters), formatList: list.formatList.bind(null, resolvedConfig, formatters.getListFormat) }); } exports.createIntl = createIntl; var IntlProvider = /** @class */ (function (_super) { __extends(IntlProvider, _super); function IntlProvider() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.cache = utils.createIntlCache(); _this.state = { cache: _this.cache, intl: createIntl(processIntlConfig(_this.props), _this.cache), prevConfig: processIntlConfig(_this.props), }; return _this; } IntlProvider.getDerivedStateFromProps = function (props, _a) { var prevConfig = _a.prevConfig, cache = _a.cache; var config = processIntlConfig(props); if (!shallowEquals(prevConfig, config)) { return { intl: createIntl(config, cache), prevConfig: config, }; } return null; }; IntlProvider.prototype.render = function () { utils.invariantIntlContext(this.state.intl); return React__default.createElement(injectIntl_1.Provider, { value: this.state.intl }, this.props.children); }; IntlProvider.displayName = 'IntlProvider'; IntlProvider.defaultProps = utils.DEFAULT_INTL_CONFIG; return IntlProvider; }(React__default.PureComponent)); exports.default = IntlProvider; }); styleInject_es.unwrapExports(provider); var provider_1 = provider.createIntl; var relative = styleInject_es.createCommonjsModule(function (module, exports) { var __extends = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); /* * Copyright 2015, Yahoo Inc. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ // Since rollup cannot deal with namespace being a function, // this is to interop with TypeScript since `invariant` // does not export a default // https://github.com/rollup/rollup/issues/1267 var invariant = browser.default || browser; var MINUTE = 60; var HOUR = 60 * 60; var DAY = 60 * 60 * 24; function selectUnit(seconds) { var absValue = Math.abs(seconds); if (absValue < MINUTE) { return 'second'; } if (absValue < HOUR) { return 'minute'; } if (absValue < DAY) { return 'hour'; } return 'day'; } function getDurationInSeconds(unit) { switch (unit) { case 'second': return 1; case 'minute': return MINUTE; case 'hour': return HOUR; default: return DAY; } } function valueToSeconds(value, unit) { if (!value) { return 0; } switch (unit) { case 'second': return value; case 'minute': return value * MINUTE; default: return value * HOUR; } } var INCREMENTABLE_UNITS = ['second', 'minute', 'hour']; function canIncrement(unit) { if (unit === void 0) { unit = 'second'; } return INCREMENTABLE_UNITS.includes(unit); } function verifyProps(updateIntervalInSeconds, unit) { invariant(!updateIntervalInSeconds || (updateIntervalInSeconds && canIncrement(unit)), 'Cannot schedule update with unit longer than hour'); } var FormattedRelativeTime = /** @class */ (function (_super) { __extends(FormattedRelativeTime, _super); function FormattedRelativeTime(props) { var _this = _super.call(this, props) || this; // Public for testing _this._updateTimer = null; _this.state = { prevUnit: _this.props.unit, prevValue: _this.props.value, currentValueInSeconds: canIncrement(_this.props.unit) ? valueToSeconds(_this.props.value, _this.props.unit) : 0, }; verifyProps(props.updateIntervalInSeconds, props.unit); return _this; } FormattedRelativeTime.prototype.scheduleNextUpdate = function (_a, _b) { var _this = this; var updateIntervalInSeconds = _a.updateIntervalInSeconds, unit = _a.unit; var currentValueInSeconds = _b.currentValueInSeconds; clearTimeout(this._updateTimer); this._updateTimer = null; // If there's no interval and we cannot increment this unit, do nothing if (!updateIntervalInSeconds || !canIncrement(unit)) { return; } // Figure out the next interesting time var nextValueInSeconds = currentValueInSeconds - updateIntervalInSeconds; var nextUnit = selectUnit(nextValueInSeconds); // We've reached the max auto incrementable unit, don't schedule another update if (nextUnit === 'day') { return; } var unitDuration = getDurationInSeconds(nextUnit); var remainder = nextValueInSeconds % unitDuration; var prevInterestingValueInSeconds = nextValueInSeconds - remainder; var nextInterestingValueInSeconds = prevInterestingValueInSeconds >= currentValueInSeconds ? prevInterestingValueInSeconds - unitDuration : prevInterestingValueInSeconds; var delayInSeconds = Math.abs(nextInterestingValueInSeconds - currentValueInSeconds); this._updateTimer = setTimeout(function () { return _this.setState({ currentValueInSeconds: nextInterestingValueInSeconds, }); }, delayInSeconds * 1e3); }; FormattedRelativeTime.prototype.componentDidMount = function () { this.scheduleNextUpdate(this.props, this.state); }; FormattedRelativeTime.prototype.componentDidUpdate = function () { this.scheduleNextUpdate(this.props, this.state); }; FormattedRelativeTime.prototype.componentWillUnmount = function () { clearTimeout(this._updateTimer); this._updateTimer = null; }; FormattedRelativeTime.getDerivedStateFromProps = function (props, state) { if (props.unit !== state.prevUnit || props.value !== state.prevValue) { return { prevValue: props.value, prevUnit: props.unit, currentValueInSeconds: canIncrement(props.unit) ? valueToSeconds(props.value, props.unit) : 0, }; } return null; }; FormattedRelativeTime.prototype.render = function () { var _this = this; return (React__default.createElement(injectIntl_1.Context.Consumer, null, function (intl) { utils.invariantIntlContext(intl); var formatRelativeTime = intl.formatRelativeTime, Text = intl.textComponent; var _a = _this.props, children = _a.children, value = _a.value, unit = _a.unit, updateIntervalInSeconds = _a.updateIntervalInSeconds; var currentValueInSeconds = _this.state.currentValueInSeconds; var currentValue = value || 0; var currentUnit = unit; if (canIncrement(unit) && typeof currentValueInSeconds === 'number' && updateIntervalInSeconds) { currentUnit = selectUnit(currentValueInSeconds); var unitDuration = getDurationInSeconds(currentUnit); currentValue = Math.round(currentValueInSeconds / unitDuration); } var formattedRelativeTime = formatRelativeTime(currentValue, currentUnit, __assign({}, _this.props)); if (typeof children === 'function') { return children(formattedRelativeTime); } if (Text) { return React__default.createElement(Text, null, formattedRelativeTime); } return formattedRelativeTime; })); }; FormattedRelativeTime.displayName = 'FormattedRelativeTime'; FormattedRelativeTime.defaultProps = { value: 0, unit: 'second', }; return FormattedRelativeTime; }(React__default.PureComponent)); exports.FormattedRelativeTime = FormattedRelativeTime; exports.default = FormattedRelativeTime; }); styleInject_es.unwrapExports(relative); var relative_1 = relative.FormattedRelativeTime; var plural$1 = styleInject_es.createCommonjsModule(function (module, exports) { /* * Copyright 2015, Yahoo Inc. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ Object.defineProperty(exports, "__esModule", { value: true }); var FormattedPlural = function (props) { var value = props.value, other = props.other, children = props.children, _a = props.intl, formatPlural = _a.formatPlural, Text = _a.textComponent; var pluralCategory = formatPlural(value, props); var formattedPlural = props[pluralCategory] || other; if (typeof children === 'function') { return children(formattedPlural); } if (Text) { return React__default.createElement(Text, null, formattedPlural); } // Work around @types/react where React.FC cannot return string return formattedPlural; }; FormattedPlural.defaultProps = { type: 'cardinal', }; FormattedPlural.displayName = 'FormattedPlural'; exports.default = injectIntl_1.default(FormattedPlural); }); styleInject_es.unwrapExports(plural$1); var message$1 = styleInject_es.createCommonjsModule(function (module, exports) { /* * Copyright 2015, Yahoo Inc. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ var __extends = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __rest = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]]; return t; }; Object.defineProperty(exports, "__esModule", { value: true }); var shallowEquals = objects.default || objects; var defaultFormatMessage = function (descriptor, values) { if (process.env.NODE_ENV !== 'production') { console.error('[React Intl] Could not find required `intl` object. needs to exist in the component ancestry. Using default message as fallback.'); } return message.formatMessage(__assign({}, utils.DEFAULT_INTL_CONFIG, { locale: 'en' }), utils.createFormatters(), descriptor, values); }; var FormattedMessage = /** @class */ (function (_super) { __extends(FormattedMessage, _super); function FormattedMessage() { return _super !== null && _super.apply(this, arguments) || this; } FormattedMessage.prototype.shouldComponentUpdate = function (nextProps) { var _a = this.props, values = _a.values, otherProps = __rest(_a, ["values"]); var nextValues = nextProps.values, nextOtherProps = __rest(nextProps, ["values"]); return (!shallowEquals(nextValues, values) || !shallowEquals(otherProps, nextOtherProps)); }; FormattedMessage.prototype.render = function () { var _this = this; return (React__default.createElement(injectIntl_1.Context.Consumer, null, function (intl) { if (!_this.props.defaultMessage) { utils.invariantIntlContext(intl); } var _a = intl || {}, _b = _a.formatMessage, formatMessage = _b === void 0 ? defaultFormatMessage : _b, _c = _a.textComponent, Text = _c === void 0 ? React__default.Fragment : _c; var _d = _this.props, id = _d.id, description = _d.description, defaultMessage = _d.defaultMessage, values = _d.values, children = _d.children, _e = _d.tagName, Component = _e === void 0 ? Text : _e; var descriptor = { id: id, description: description, defaultMessage: defaultMessage }; var nodes = formatMessage(descriptor, values); if (!Array.isArray(nodes)) { nodes = [nodes]; } if (typeof children === 'function') { return children.apply(void 0, nodes); } if (Component) { // Needs to use `createElement()` instead of JSX, otherwise React will // warn about a missing `key` prop with rich-text message formatting. return React__default.createElement.apply(React__default, [Component, null].concat(nodes)); } return nodes; })); }; FormattedMessage.displayName = 'FormattedMessage'; FormattedMessage.defaultProps = { values: {}, }; return FormattedMessage; }(React__default.Component)); exports.default = FormattedMessage; }); styleInject_es.unwrapExports(message$1); var htmlMessage = styleInject_es.createCommonjsModule(function (module, exports) { /* * Copyright 2015, Yahoo Inc. * Copyrights licensed under the New BSD License. * See the accompanying LICENSE file for terms. */ var __extends = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __assign = (styleInject_es.commonjsGlobal && styleInject_es.commonjsGlobal.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var FormattedHTMLMessage = /** @class */ (function (_super) { __extends(FormattedHTMLMessage, _super); function FormattedHTMLMessage() { return _super !== null && _super.apply(this, arguments) || this; } FormattedHTMLMessage.prototype.render = function () { var _this = this; return (React__default.createElement(injectIntl_1.Context.Consumer, null, function (intl) { if (!_this.props.defaultMessage) { utils.invariantIntlContext(intl); } var formatHTMLMessage = intl.formatHTMLMessage, textComponent = intl.textComponent; var _a = _this.props, id = _a.id, description = _a.description, defaultMessage = _a.defaultMessage, rawValues = _a.values, children = _a.children; var Component = _this.props.tagName; // This is bc of TS3.3 doesn't recognize `defaultProps` if (!Component) { Component = textComponent || 'span'; } var descriptor = { id: id, description: description, defaultMessage: defaultMessage }; var formattedHTMLMessage = formatHTMLMessage(descriptor, rawValues); if (typeof children === 'function') { return children(formattedHTMLMessage); } // Since the message presumably has HTML in it, we need to set // `innerHTML` in order for it to be rendered and not escaped by React. // To be safe, all string prop values were escaped when formatting the // message. It is assumed that the message is not UGC, and came from the // developer making it more like a template. // // Note: There's a perf impact of using this component since there's no // way for React to do its virtual DOM diffing. var html = { __html: formattedHTMLMessage }; return React__default.createElement(Component, { dangerouslySetInnerHTML: html }); })); }; FormattedHTMLMessage.displayName = 'FormattedHTMLMessage'; FormattedHTMLMessage.defaultProps = __assign({}, message$1.default.defaultProps, { tagName: 'span' }); return FormattedHTMLMessage; }(message$1.default)); exports.default = FormattedHTMLMessage; }); styleInject_es.unwrapExports(htmlMessage); var dist$5 = styleInject_es.createCommonjsModule(function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); exports.defineMessages = dist.defineMessages; exports.injectIntl = injectIntl_1.default; exports.RawIntlProvider = injectIntl_1.Provider; exports.IntlContext = injectIntl_1.Context; exports.useIntl = useIntl_1.default; exports.IntlProvider = provider.default; exports.createIntl = provider.createIntl; // IMPORTANT: Explicit here to prevent api-extractor from outputing `import('./types').CustomFormatConfig` exports.FormattedDate = createFormattedComponent_1.createFormattedComponent('formatDate'); exports.FormattedTime = createFormattedComponent_1.createFormattedComponent('formatTime'); exports.FormattedNumber = createFormattedComponent_1.createFormattedComponent('formatNumber'); exports.FormattedList = createFormattedComponent_1.createFormattedComponent('formatList'); exports.FormattedDateParts = createFormattedComponent_1.createFormattedDateTimePartsComponent('formatDate'); exports.FormattedTimeParts = createFormattedComponent_1.createFormattedDateTimePartsComponent('formatTime'); var createFormattedComponent_2 = createFormattedComponent_1; exports.FormattedNumberParts = createFormattedComponent_2.FormattedNumberParts; exports.FormattedRelativeTime = relative.default; exports.FormattedPlural = plural$1.default; exports.FormattedMessage = message$1.default; exports.FormattedHTMLMessage = htmlMessage.default; exports.createIntlCache = utils.createIntlCache; }); styleInject_es.unwrapExports(dist$5); var dist_1$2 = dist$5.defineMessages; var dist_2$1 = dist$5.injectIntl; var dist_3 = dist$5.RawIntlProvider; var dist_4 = dist$5.IntlContext; var dist_5 = dist$5.useIntl; var dist_6 = dist$5.IntlProvider; var dist_7 = dist$5.createIntl; var dist_8 = dist$5.FormattedDate; var dist_9 = dist$5.FormattedTime; var dist_10 = dist$5.FormattedNumber; var dist_11 = dist$5.FormattedList; var dist_12 = dist$5.FormattedDateParts; var dist_13 = dist$5.FormattedTimeParts; var dist_14 = dist$5.FormattedNumberParts; var dist_15 = dist$5.FormattedRelativeTime; var dist_16 = dist$5.FormattedPlural; var dist_17 = dist$5.FormattedMessage; var dist_18 = dist$5.FormattedHTMLMessage; var dist_19 = dist$5.createIntlCache; const img$1 = 'data:image/png;base64,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'; const img$2 = 'data:image/png;base64,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'; const img$3 = 'data:image/png;base64,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'; const img$4 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAMAAAAPzWOAAAAAM1BMVEVHcEwArfAAq/AArvQAq+4Aqu8Aqu8Ar/QAqu8Aq+8Aqu8ArPAAsf8Aq/AAqu8Aq/AAqu6gIIw3AAAAEHRSTlMAKoAZ9JXXD7o86WoHSaldjgJo7wAAAgBJREFUWMPtmNmShCAMRSHsIMj/f+1oCy4YsB2oeZr7SHWdJsklEgj5iDkteXwlLrVj5JCCl4AdBCozqIy/lqSJYWOH7IeiZOySXCOC2ClY6sJ7IZwRF7vliO6HaNJOq5+2ArZTS5op4dlJ7aSQ2A+J/5A/gcyq0N5xCukWhHypFgRMobyRcl3+l/gtJIizEoRdFu0jxDyWV8UBEP8M0VVBgoiXiS368SbbA0kHycQOiK5G8wKSDudknyFWCwAQQZe/tdvHg8xPZpNAj0oyD5pfvrgfyTZEztPNE9SFDcRVzSQXSFC4tya/+ry1kQOSf6UYZbcdUWCNjeyQ8AG4YFN6wavntlhArFqP6vW7rO85Ms1WsJjA3A3ARXkcfeBViF32gV//tC8bwawrEEHqlx3pyqgYSAziWw2Q03uC6YWzQZpXN4/758Qh6ZTDYxtBOfo7iNvv7oA5R81CJgit5iQzmFwrzvDOTbJN0OrwnI90d+eBophseswneYQ43/+1r0GW8twdy2E6xdIyDjnOHwtXy+8JuOEtMAyyJXAvvQ3zUQrUQsEgEJ4XmfHm/D+sdh7OjXDfPmqqqTUdHlHFRn9U8DTZpajOubwEOuG9A42qWBLOG2r8LPTXE5kVpHt6W+9Tsh8ix4xvQwbJISPtkOF6zJg/5MFhzNPHmEeY7uegH1eE2uqiaqwMAAAAAElFTkSuQmCC'; const img$5 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAA+CAMAAAChgZ0aAAAAM1BMVEVHcEwJvAcNvwoKvQgcxxwKvAgJvAcJvAcKvAgMwQsKvAcJvAcJvAgLvQkJvAgJvAcJuwemYXQzAAAAEHRSTlMA4SZICXfR91wV7YrANpyxIG3ToQAAAgRJREFUWMOlWFmigyAMJKwB2e5/2qdWXys7mE+1Y8hMxqSEVEMz4a0Eo5QBab1glMwGRw8xC/CoZzCCirWwyIdA9GZiM8ymB0BU7IbqAaGJQ6FEKxUfh0O6GgqDOBOVhLY4Gb7AGQ9xOmRWaW5jfI+zksuJ8zyXX0OJwH5RxBqIxUcuTq2AhEQ5XM5jqO22Dc2XjwTipoiLuy+0maXnWxLcha/0inrDlxz3Edt2pjWTjPI0b2RzVAdXSnJU9Pv645BhvCQ/kmW/7Nr9TIlmUKheSQihybs5Yckr92dksyT7mzOjZZloaM6dEbpjtCIrjT+ZhEpJ9lslyQeSXv2ISd/olo24tSRQsdgj9WdJTuVXlECyG+Y6A2cs8TasWr4h+TUsOz5t2KwippDh9CfMEBhKR7QbD0ghVZt9B3u+Zotm/nRH2u86X2zw0FR+LJXBlS7TAZKT56GYZEP5schtyUOvjhj9CB4uWjxVaCi/UoOiOiGMDzsfgbD4Mi4TsO9QbrW6dzB0eVxLaVqfBUoNSM0qinn44ypbKplx8BXX73AUK8zo05ObKc77DiY5qmx7eob3xg5DJwa3xuLJx1NpbYqDzdVb7oYmWyl6q+a/Y4CtsCY311+cL+UAnsv8Zh9KUtLj0ELPrpN/y6cdQxRCILrxPf60nTD/F0JeGsnI6xAg+OJP/wCiDbP03htrDwAAAABJRU5ErkJggg=='; const img$6 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAABGCAMAAACnmwfnAAAAb1BMVEVHcEwSOoYNeb4ROoUAnuMAneIAnuMROoUAneMSU5wUO4gROoUROoYROYUROYUAoOUAnuMSOoYRO4YAnuMROoUAoOUNUpwEh88Ja7QAnuQAnuQROYQAneIXLHAUM3sVL3USNn8NWqEIdLsRRYwEh8yuGf8EAAAAG3RSTlMAVQvuy+eo5PkXKW/Rr4goeETDiZ43us7AS166//BKAAAB4UlEQVRYw6WW25qCMAyEEVoOAitycBdboYrv/4yru4oS0pDK3P9f0gkZ4nmjNmWEK8vK+ivd+55dG7WkLE1scKQYqnF8q1gKNhi8V0ylCJxyYYXUrtlwsJ3BJRtW+QwO+LCCpRMHVtWfmn1X9LHZSN9fTjCYVr4GjlbAvloBz9bCdKiMMXPD4DJ3J7v6TiWk2SdSfVwldrMNDSutZfOCM37XN5211nE7wsoJvtxgLROL2T39ZP2n0LIWNDz8w3GCrwWj65sKNIMMp+ux79LFr/MTFmgGdazCWqIZ1LMKP2AXs40GsIPZ/fUFC2wtDGNM9zmHjmvxevA454hr9oTVLZZBNr/6y4TVO4e1UNcpK9AMwkcEyj6fvJxB/TBDH10jZvejOqOG81UjEmgGmUFz1KIZFLBYgWfQDwtu8Az65rAF/msOYgYbWu6gjPNg33IHHRh1fdsddGC/F8mgJbPDHXEHkWbLCTrPIDkj4rukFGHVwNMPrEUEySN14YO1KAFceZQi2uwdxfq02ZIsvKXNFiQMMshMzY5DEl4wuyDhnF6LloSzFWaDtTDA7NhzgN3MBobl0pIYtq8keZPv9HECNQA+usBHPGB5qgDsu8Chy1pAiemUxQrYzWyviN8l6I/T+wU2HDmgaaHs/gAAAABJRU5ErkJggg=='; var css$1 = ".PayPlatformOptions_flexContainer__1-MCg {\n display: flex;\n justify-content: space-around;\n align-items: center;\n}\n.PayPlatformOptions_label__1E4pz {\n font-size: 14px;\n font-weight: 400;\n color: #616A79;\n}\n.PayPlatformOptions_payment-method-box__Iiao- {\n padding: 20px 10px 10px 10px;\n text-align: center;\n}\n.PayPlatformOptions_payment-method-box__Iiao- .PayPlatformOptions_payment-method__3fVWP {\n display: inline-block;\n margin: 0;\n width: 60%;\n vertical-align: middle;\n}\n.PayPlatformOptions_payment-method-box__Iiao- .PayPlatformOptions_payment-method-before__2Lu24 {\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n}\n.PayPlatformOptions_payment-method-box__Iiao- .PayPlatformOptions_payitem__2o3qS {\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n border: 1px solid transparent;\n height: 66px;\n line-height: 66px;\n}\n.PayPlatformOptions_payment-method-box__Iiao- .PayPlatformOptions_payitem__2o3qS .PayPlatformOptions_platformName__2VrlA {\n text-align: center;\n white-space: nowrap;\n}\n.PayPlatformOptions_payment-method-box__Iiao- .PayPlatformOptions_payitem__2o3qS.PayPlatformOptions_small__kkYKV {\n width: 88px;\n height: 36px;\n line-height: 36px;\n}\n.PayPlatformOptions_payment-method-box__Iiao- .PayPlatformOptions_payitem__2o3qS.PayPlatformOptions_small__kkYKV .PayPlatformOptions_payment-method__3fVWP {\n margin: 0;\n}\n.PayPlatformOptions_payment-method-box__Iiao- .PayPlatformOptions_payitem__2o3qS.PayPlatformOptions_active__3uZ7L {\n border-radius: 5px;\n border-color: #1790FF;\n box-shadow: 0px 2px 6px 0px rgba(163, 163, 163, 0.3);\n}\n.PayPlatformOptions_payment-method-box__Iiao- .PayPlatformOptions_payitem__2o3qS.PayPlatformOptions_en__2udua {\n font-size: 12px;\n}\n.PayPlatformOptions_payment-method-box__Iiao-.PayPlatformOptions_mobile__XZq_G {\n padding: 8px 10px 10px 8px;\n}\n.PayPlatformOptions_payment-method-box__Iiao-.PayPlatformOptions_mobile__XZq_G .PayPlatformOptions_payitem__2o3qS {\n display: inline-block;\n width: 78px;\n height: 80px;\n border: 1px solid transparent;\n}\n.PayPlatformOptions_payment-method-box__Iiao-.PayPlatformOptions_mobile__XZq_G .PayPlatformOptions_payitem__2o3qS.PayPlatformOptions_active__3uZ7L {\n border-radius: 4px;\n border-color: #1790FF;\n}\n.PayPlatformOptions_payment-method-box__Iiao-.PayPlatformOptions_mobile__XZq_G .PayPlatformOptions_payitem__2o3qS .PayPlatformOptions_payment-method__3fVWP {\n display: inline-block;\n width: 34px;\n height: 34px;\n}\n@media (max-width: 768px) {\n .PayPlatformOptions_payitem__2o3qS {\n cursor: pointer;\n border: 1px solid transparent;\n }\n .PayPlatformOptions_payitem__2o3qS.PayPlatformOptions_active__3uZ7L {\n border-radius: 5px;\n border-color: #1790FF;\n }\n}\n"; var styles$1 = {"flexContainer":"PayPlatformOptions_flexContainer__1-MCg","label":"PayPlatformOptions_label__1E4pz","payment-method-box":"PayPlatformOptions_payment-method-box__Iiao-","payment-method":"PayPlatformOptions_payment-method__3fVWP","payment-method-before":"PayPlatformOptions_payment-method-before__2Lu24","payitem":"PayPlatformOptions_payitem__2o3qS","platformName":"PayPlatformOptions_platformName__2VrlA","small":"PayPlatformOptions_small__kkYKV","active":"PayPlatformOptions_active__3uZ7L","en":"PayPlatformOptions_en__2udua","mobile":"PayPlatformOptions_mobile__XZq_G","paymentMethodBox":"PayPlatformOptions_payment-method-box__Iiao-","paymentMethod":"PayPlatformOptions_payment-method__3fVWP","paymentMethodBefore":"PayPlatformOptions_payment-method-before__2Lu24"}; styleInject_es.styleInject(css$1); var PAY_CHANNEL = { PAYPAL: "PAYPAL_PAYPAL", // PAYPAL_LIVE ALI_WEB: "ALI_WEB", ALI_WAP: "ALI_WAP", WX_WAP: "WX_WAP", WX_NATIVE: "WX_NATIVE" }; var PayPlatformOptions = /*#__PURE__*/ function (_PureComponent) { styleInject_es._inherits(PayPlatformOptions, _PureComponent); function PayPlatformOptions() { styleInject_es._classCallCheck(this, PayPlatformOptions); return styleInject_es._possibleConstructorReturn(this, styleInject_es._getPrototypeOf(PayPlatformOptions).apply(this, arguments)); } styleInject_es._createClass(PayPlatformOptions, [{ key: "render", value: function render() { var _classnames5, _classnames6, _classnames7; var _this$props = this.props, payitem = _this$props.payitem, onPayItemChange = _this$props.onPayItemChange, _this$props$isMobile = _this$props.isMobile, isMobile = _this$props$isMobile === void 0 ? false : _this$props$isMobile, _this$props$size = _this$props.size, size = _this$props$size === void 0 ? "normal" : _this$props$size, _this$props$withTitle = _this$props.withTitle, withTitle = _this$props$withTitle === void 0 ? true : _this$props$withTitle, _this$props$locale = _this$props.locale, locale = _this$props$locale === void 0 ? "zh" : _this$props$locale; var titleDOM = null; if (withTitle) { titleDOM = React__default.createElement("div", { className: styles$1.label }, React__default.createElement(dist_17, { id: "pay.channel.select.text" })); } if (isMobile) { var _classnames2, _classnames3, _classnames4; return React__default.createElement("div", null, titleDOM, React__default.createElement("div", { className: styleInject_es.classnames(styles$1["payment-method-box"], styleInject_es._defineProperty({}, styles$1.mobile, isMobile)) }, React__default.createElement("div", { className: styles$1.flexContainer }, React__default.createElement("div", { className: styles$1.flexItem }, React__default.createElement("div", { className: styleInject_es.classnames((_classnames2 = {}, styleInject_es._defineProperty(_classnames2, styles$1.payitem, true), styleInject_es._defineProperty(_classnames2, styles$1.active, payitem === PAY_CHANNEL.ALI_WEB), styleInject_es._defineProperty(_classnames2, styles$1.small, size === "small"), _classnames2), styles$1[locale]), onClick: function onClick() { onPayItemChange(PAY_CHANNEL.ALI_WEB); } }, React__default.createElement("img", { src: img$4, alt: "alipay", className: styles$1["payment-method"] }), React__default.createElement("div", { className: styles$1.platformName }, React__default.createElement(dist_17, { id: "pay.channel.ali" })))), React__default.createElement("div", { className: styles$1.flexItem }, React__default.createElement("div", { className: styleInject_es.classnames((_classnames3 = {}, styleInject_es._defineProperty(_classnames3, styles$1.payitem, true), styleInject_es._defineProperty(_classnames3, styles$1.active, payitem === PAY_CHANNEL.WX_NATIVE), styleInject_es._defineProperty(_classnames3, styles$1.small, size === "small"), _classnames3), styles$1[locale]), onClick: function onClick() { onPayItemChange(PAY_CHANNEL.WX_NATIVE); } }, React__default.createElement("img", { src: img$5, alt: "wechatpay", className: styles$1["payment-method"] }), React__default.createElement("div", { className: styles$1.platformName }, React__default.createElement(dist_17, { id: "pay.channel.wechat" })))), React__default.createElement("div", { className: styles$1.flexItem }, React__default.createElement("div", { className: styleInject_es.classnames((_classnames4 = {}, styleInject_es._defineProperty(_classnames4, styles$1.payitem, true), styleInject_es._defineProperty(_classnames4, styles$1.active, payitem === PAY_CHANNEL.PAYPAL), styleInject_es._defineProperty(_classnames4, styles$1.small, size === "small"), _classnames4), styles$1[locale]), onClick: function onClick() { onPayItemChange(PAY_CHANNEL.PAYPAL); } }, React__default.createElement("img", { src: img$6, alt: "paypal", className: styles$1["payment-method"] }), React__default.createElement("div", { className: styles$1.platformName }, React__default.createElement(dist_17, { id: "pay.channel.paypal" }))))))); } return React__default.createElement("div", null, titleDOM, React__default.createElement("div", { className: styles$1["payment-method-box"] }, React__default.createElement("div", { className: styles$1.flexContainer }, React__default.createElement("div", { className: styles$1.flexItem }, React__default.createElement("div", { className: styleInject_es.classnames((_classnames5 = {}, styleInject_es._defineProperty(_classnames5, styles$1.payitem, true), styleInject_es._defineProperty(_classnames5, styles$1.active, payitem === PAY_CHANNEL.ALI_WEB), styleInject_es._defineProperty(_classnames5, styles$1.small, size === "small"), _classnames5), styles$1[locale]), onClick: function onClick() { onPayItemChange(PAY_CHANNEL.ALI_WEB); } }, React__default.createElement("span", { className: styles$1["payment-method-before"] }), React__default.createElement("img", { src: img$1, alt: "alipay", className: styles$1["payment-method"] }))), React__default.createElement("div", { className: styles$1.flexItem }, React__default.createElement("div", { className: styleInject_es.classnames((_classnames6 = {}, styleInject_es._defineProperty(_classnames6, styles$1.payitem, true), styleInject_es._defineProperty(_classnames6, styles$1.active, payitem === PAY_CHANNEL.WX_NATIVE), styleInject_es._defineProperty(_classnames6, styles$1.small, size === "small"), _classnames6), styles$1[locale]), onClick: function onClick() { onPayItemChange(PAY_CHANNEL.WX_NATIVE); } }, React__default.createElement("span", { className: styles$1["payment-method-before"] }), React__default.createElement("img", { src: img$2, alt: "wechatpay", className: styles$1["payment-method"] }))), React__default.createElement("div", { className: styles$1.flexItem }, React__default.createElement("div", { className: styleInject_es.classnames((_classnames7 = {}, styleInject_es._defineProperty(_classnames7, styles$1.payitem, true), styleInject_es._defineProperty(_classnames7, styles$1.active, payitem === PAY_CHANNEL.PAYPAL), styleInject_es._defineProperty(_classnames7, styles$1.small, size === "small"), _classnames7), styles$1[locale]), onClick: function onClick() { onPayItemChange(PAY_CHANNEL.PAYPAL); } }, React__default.createElement("span", { className: styles$1["payment-method-before"] }), React__default.createElement("img", { src: img$3, alt: "paypal", className: styles$1["payment-method"] })))))); } }]); return PayPlatformOptions; }(React.PureComponent); var css$2 = ".PriceOptions_options__iSN_S {\n padding: 20px 50px;\n border-bottom: 1px dashed #00000017;\n}\n.PriceOptions_options__iSN_S p {\n font-size: 14px;\n font-weight: 400;\n color: #616a79;\n margin-bottom: 20px;\n}\n.PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD {\n padding-right: 0;\n}\n.PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_priceItem__3ahwJ {\n background: rgba(243, 243, 243, 0.14);\n border-radius: 4px;\n border: 1px solid #cfcfcf;\n font-size: 14px;\n font-weight: 600;\n color: #616a79;\n display: inline-block;\n text-align: center;\n vertical-align: top;\n height: 30px;\n width: 70px;\n line-height: 30px;\n cursor: pointer;\n margin: 6px;\n}\n.PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_priceItem__3ahwJ.PriceOptions_active__3cl1G {\n background: rgba(255, 50, 102, 0.1);\n border-radius: 4px;\n border: 1px solid #ff3266;\n color: #616a79;\n}\n.PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_priceInput__2GSDh {\n display: inline-block;\n min-width: 70px;\n width: auto;\n margin: 6px;\n text-align: center;\n}\n.PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n height: 30px;\n width: 50px;\n vertical-align: top;\n padding: 0 5px;\n}\n.PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_rate__FJSKL {\n margin-left: 10px;\n}\n.PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_rate__FJSKL i {\n margin-right: 5px;\n color: #1790FF;\n}\n.PriceOptions_options__iSN_S.PriceOptions_small__3O05i {\n padding: 0 0 12px 0;\n border-bottom: none;\n}\n.PriceOptions_options__iSN_S.PriceOptions_small__3O05i p {\n margin-bottom: 8px;\n}\n.PriceOptions_options__iSN_S.PriceOptions_small__3O05i .PriceOptions_infoItem__p5iwD {\n text-align: center;\n}\n.PriceOptions_options__iSN_S.PriceOptions_small__3O05i .PriceOptions_infoItem__p5iwD .PriceOptions_priceItem__3ahwJ {\n border-radius: 6px;\n height: 32px;\n width: 72px;\n margin: 0 0 12px 19px;\n}\n.PriceOptions_options__iSN_S.PriceOptions_small__3O05i .PriceOptions_infoItem__p5iwD .PriceOptions_priceItem__3ahwJ:first-child {\n margin: 0 0 12px 0px;\n}\n.PriceOptions_options__iSN_S.PriceOptions_small__3O05i .PriceOptions_infoItem__p5iwD .PriceOptions_priceInput__2GSDh {\n display: block;\n width: 254px;\n border-radius: 6px;\n height: 32px;\n}\n@media (max-width: 768px) {\n .PriceOptions_options__iSN_S {\n padding: 20px 20px;\n }\n .PriceOptions_options__iSN_S p {\n font-size: 14px;\n font-weight: 400;\n color: #616a79;\n }\n .PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD {\n padding-right: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n }\n .PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_priceBtn__2vdWf {\n display: flex;\n justify-content: space-between;\n }\n .PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_priceItem__3ahwJ {\n display: inline-block;\n background-color: #fff;\n width: 74px;\n height: 36px;\n line-height: 36px;\n border-radius: 6px;\n border: 1px solid #cfcfcf;\n }\n .PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_priceItem__3ahwJ.PriceOptions_active__3cl1G {\n background-color: #fff;\n color: #FF3266FF;\n border-radius: 4px;\n border: 1px solid #ff3266;\n }\n .PriceOptions_options__iSN_S .PriceOptions_infoItem__p5iwD .PriceOptions_priceInput__2GSDh {\n border-radius: 6px;\n height: 36px;\n width: auto;\n }\n}\n"; var styles$2 = {"options":"PriceOptions_options__iSN_S","infoItem":"PriceOptions_infoItem__p5iwD","priceItem":"PriceOptions_priceItem__3ahwJ","active":"PriceOptions_active__3cl1G","priceInput":"PriceOptions_priceInput__2GSDh","rate":"PriceOptions_rate__FJSKL","small":"PriceOptions_small__3O05i","priceBtn":"PriceOptions_priceBtn__2vdWf"}; styleInject_es.styleInject(css$2); var PriceOptions = function PriceOptions(_ref) { var price = _ref.price, onPriceChange = _ref.onPriceChange, _ref$size = _ref.size, size = _ref$size === void 0 ? 'normal' : _ref$size, _ref$focusScroll = _ref.focusScroll, focusScroll = _ref$focusScroll === void 0 ? true : _ref$focusScroll, _ref$withTitle = _ref.withTitle, withTitle = _ref$withTitle === void 0 ? true : _ref$withTitle, inputRef = _ref.inputRef; var intl = dist_5(); var defaultOptions = [100, 600, 800]; // 控制是否为其他金额输入情况 var _useState = React.useState(false), _useState2 = styleInject_es._slicedToArray(_useState, 2), inputStatus = _useState2[0], setInputStatus = _useState2[1]; return React__default.createElement("div", { className: styleInject_es.classnames(styles$2.options, styleInject_es._defineProperty({}, styles$2[size], true)) }, withTitle ? React__default.createElement("p", null, React__default.createElement(dist_17, { id: "pay.price.select.text" })) : null, React__default.createElement("div", { className: styles$2.infoItem, style: { marginBottom: '-12px' } }, React__default.createElement("span", { className: styles$2.priceBtn }, defaultOptions.map(function (item) { var _classnames2; return React__default.createElement("span", { className: styleInject_es.classnames((_classnames2 = {}, styleInject_es._defineProperty(_classnames2, styles$2.priceItem, true), styleInject_es._defineProperty(_classnames2, styles$2.active, price === item && !inputStatus), _classnames2)), key: item, onClick: function onClick() { onPriceChange(item); setInputStatus(false); } }, React__default.createElement(dist_17, { id: "pay.price.money.text", values: { value: formatMoney(item / 100, 0) } })); })), React__default.createElement(_Input, { ref: inputRef, onMouseEnter: function onMouseEnter() { if (inputStatus && inputRef && inputRef.current) { inputRef.current.focus(); inputRef.current.select(); } }, suffix: "\xA5", className: styles$2.priceInput, value: inputStatus ? price / 100 || '' : '', placeholder: intl.formatMessage({ id: 'pay.price.money.others' }), onChange: function onChange(e) { var n = +e.target.value; if (Number.isNaN(n)) { return; } // 测试暂时改成1分 onPriceChange(n * 100); }, onClick: function onClick(e) { onPriceChange(0); setInputStatus(true); }, onFocus: function onFocus(e) { if (focusScroll) { e.target.scrollIntoView(); } } }))); }; var css$3 = ".WaitPayInfoView_waitingContainer__3wZ0a {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n"; var styles$3 = {"waitingContainer":"WaitPayInfoView_waitingContainer__3wZ0a"}; styleInject_es.styleInject(css$3); const img$7 = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNDhweCIgaGVpZ2h0PSI0M3B4IiB2aWV3Qm94PSIwIDAgNDggNDMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUwLjIgKDU1MDQ3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5rY3hxX3BvcG92ZXJzX2ljb25fdGFuaGFvPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWPpuWuoue9kV/nm7Tmkq3or75f6K++56iL5LuL57uN6K+m5oOFX+i0reS5sOaPkOekuuW8ueeqlyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTkzNi4wMDAwMDAsIC0xOTAuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2OTAuMDAwMDAwLCAxMTAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ia2N4cV9wb3BvdmVyc19pY29uX3RhbmhhbyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjQ2LjAwMDAwMCwgODAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ4LDIxLjUgQzQ4LDMzLjM3MzY2MjYgMzguMzY0NTc1Niw0MyAyNi40Nzk3MDQ4LDQzIEMyMS4xMzA2MjczLDQzIDE3LjAzOTExNDQsNDIuMTUwNjE3MyAxMy4yODQxMzI4LDM4LjkzMDA0MTIgQzExLjgxNDAyMjEsMzcuNjczNjYyNiAxLjcwMDM2OSw0My4yMTIzNDU3IDAuMTc3MTIxNzcxLDM5LjI4Mzk1MDYgQy0xLjA2MjczMDYzLDM2LjA5ODc2NTQgNS45NTEyOTE1MSwyOS4yNTA2MTczIDUuMzEzNjUzMTQsMjcuMDc0MDc0MSBDNC43NjQ1NzU2NSwyNS4xODA2NTg0IDQuOTU5NDA5NTksMjMuNTcwMzcwNCA0Ljk1OTQwOTU5LDIxLjUgQzQuOTU5NDA5NTksOS42MjYzMzc0NSAxNC41OTQ4MzM5LDAgMjYuNDc5NzA0OCwwIEMzOC4zNjQ1NzU2LDAgNDgsOS42MjYzMzc0NSA0OCwyMS41IFoiIGlkPSJTaGFwZSIgZmlsbD0iIzE3OTBGRiI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjMuODQ4NzA4LCA4LjE5MzQxNikiIGZpbGw9IiNGRkZGRkYiPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMi41LDI3LjQ5NzEwOTggQzEuMTMyMzUyOTQsMjcuNDk3MTA5OCAwLDI2LjM3OTQ2MjggMCwyNC45OTcxMDk4IEMwLDIzLjYxNDc1NjkgMS4xMzIzNTI5NCwyMi40OTcxMDk4IDIuNSwyMi40OTcxMDk4IEMzLjg2NzY0NzA2LDIyLjQ5NzEwOTggNSwyMy42MTQ3NTY5IDUsMjQuOTk3MTA5OCBDNSwyNi4zNzk0NjI4IDMuODY3NjQ3MDYsMjcuNDk3MTA5OCAyLjUsMjcuNDk3MTA5OCBaIE0yLjUsMTkuNDIxOTY1MyBDMS4xMzIzNTI5NCwxOS40MjE5NjUzIDAsMTguMTkxOTA3NSAwLDE2LjY3MDUyMDIgTDAsMi43NTE0NDUwOSBDMCwxLjI0NjI0Mjc3IDEuMTMyMzUyOTQsMCAyLjUsMCBDMy44Njc2NDcwNiwwIDUsMS4yMzAwNTc4IDUsMi43NTE0NDUwOSBMNSwxNi42NzA1MjAyIEM1LDE4LjE5MTkwNzUgMy44Njc2NDcwNiwxOS40MjE5NjUzIDIuNSwxOS40MjE5NjUzIFoiIGlkPSJTaGFwZSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+'; var WaitPayInfoView = /*#__PURE__*/ function (_Component) { styleInject_es._inherits(WaitPayInfoView, _Component); function WaitPayInfoView() { styleInject_es._classCallCheck(this, WaitPayInfoView); return styleInject_es._possibleConstructorReturn(this, styleInject_es._getPrototypeOf(WaitPayInfoView).apply(this, arguments)); } styleInject_es._createClass(WaitPayInfoView, [{ key: "render", value: function render() { var _this$props = this.props, onClickPayed = _this$props.onClickPayed, onClickProblem = _this$props.onClickProblem; return React__default.createElement("div", { className: styles$3.waitingContainer }, React__default.createElement("div", { className: styles$3.infoIconImgContainer }, React__default.createElement("img", { src: img$7, alt: "info label icon" })), React__default.createElement("div", null, React__default.createElement("div", { className: styles$3.pay_text }, "live.course_info.pay.notification"), React__default.createElement("div", { className: styles$3.btn_row }, React__default.createElement(_Button, { className: styleInject_es.classnames(styles$3.pay_btn, styles$3.btn_default), size: "small", onClick: function onClick() { onClickPayed && onClickPayed(); } }, "live.course_info.pay.payed"), React__default.createElement(_Button, { className: styles$3.btn_default, size: "small", style: { marginLeft: '16px' }, onClick: function onClick() { onClickProblem && onClickProblem(); } }, "live.course_info.pay.help")))); } }]); return WaitPayInfoView; }(React.Component); styleInject_es._defineProperty(WaitPayInfoView, "defaultProps", { onClickPayed: function onClickPayed() { console.log("onClickPayed"); }, onClickProblem: function onClickProblem() { console.log("onClickProblem"); } }); exports.ConsumeListView = ConsumeListView; exports.PayPlatformOptions = PayPlatformOptions; exports.PriceOptions = PriceOptions; exports.WaitPayInfoView = WaitPayInfoView; //# sourceMappingURL=index-c6999c10.js.map