UNPKG

react-intl

Version:

Internationalize React apps. This library provides React components and an API to format dates, numbers, and strings, including pluralization and handling translations.

2,061 lines (2,046 loc) 268 kB
var ReactIntl = (() => { var __create = Object.create; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x + '" is not supported'); }); var __objRest = (source, exclude) => { var target = {}; for (var prop in source) if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0) target[prop] = source[prop]; if (source != null && __getOwnPropSymbols) for (var prop of __getOwnPropSymbols(source)) { if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop)) target[prop] = source[prop]; } return target; }; var __commonJS = (cb, mod2) => function __require2() { return mod2 || (0, cb[__getOwnPropNames(cb)[0]])((mod2 = { exports: {} }).exports, mod2), mod2.exports; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod2, isNodeMode, target) => (target = mod2 != null ? __create(__getProtoOf(mod2)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod2 || !mod2.__esModule ? __defProp(target, "default", { value: mod2, enumerable: true }) : target, mod2 )); var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); var __publicField = (obj, key, value) => { __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); return value; }; // node_modules/.aspect_rules_js/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js var require_react_is_development = __commonJS({ "node_modules/.aspect_rules_js/react-is@16.13.1/node_modules/react-is/cjs/react-is.development.js"(exports) { "use strict"; if (true) { (function() { "use strict"; var hasSymbol = typeof Symbol === "function" && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110; var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119; 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 || type.$$typeof === REACT_BLOCK_TYPE); } 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 void 0; } 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 Fragment6 = 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; function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; console["warn"]("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.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment6; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; 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; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } } }); // node_modules/.aspect_rules_js/react-is@16.13.1/node_modules/react-is/index.js var require_react_is = __commonJS({ "node_modules/.aspect_rules_js/react-is@16.13.1/node_modules/react-is/index.js"(exports, module) { "use strict"; if (false) { module.exports = null; } else { module.exports = require_react_is_development(); } } }); // node_modules/.aspect_rules_js/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js var require_hoist_non_react_statics_cjs = __commonJS({ "node_modules/.aspect_rules_js/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"(exports, module) { "use strict"; var reactIs = require_react_is(); 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; TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { if (reactIs.isMemo(component)) { return MEMO_STATICS; } return TYPE_STATICS[component["$$typeof"]] || REACT_STATICS; } var defineProperty2 = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics2(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== "string") { if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics2(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 { defineProperty2(targetComponent, key, descriptor); } catch (e) { } } } } return targetComponent; } module.exports = hoistNonReactStatics2; } }); // packages/react-intl/index.ts var react_intl_exports = {}; __export(react_intl_exports, { FormattedDate: () => FormattedDate, FormattedDateParts: () => FormattedDateParts, FormattedDateTimeRange: () => dateTimeRange_default, FormattedDisplayName: () => FormattedDisplayName, FormattedList: () => FormattedList, FormattedListParts: () => FormattedListParts, FormattedMessage: () => message_default, FormattedNumber: () => FormattedNumber, FormattedNumberParts: () => FormattedNumberParts, FormattedPlural: () => plural_default, FormattedRelativeTime: () => relative_default, FormattedTime: () => FormattedTime, FormattedTimeParts: () => FormattedTimeParts, IntlContext: () => Context, IntlProvider: () => IntlProvider2, InvalidConfigError: () => InvalidConfigError, MessageFormatError: () => MessageFormatError, MissingDataError: () => MissingDataError, MissingTranslationError: () => MissingTranslationError, RawIntlProvider: () => Provider, ReactIntlError: () => IntlError, ReactIntlErrorCode: () => IntlErrorCode, UnsupportedFormatterError: () => UnsupportedFormatterError, createIntl: () => createIntl2, createIntlCache: () => createIntlCache, defineMessage: () => defineMessage, defineMessages: () => defineMessages, injectIntl: () => injectIntl, useIntl: () => useIntl }); // packages/react-intl/src/components/createFormattedComponent.tsx var React4 = __toESM(window.React); // packages/react-intl/src/components/useIntl.ts var React3 = __toESM(window.React); // packages/react-intl/src/utils.tsx var React = __toESM(window.React); // node_modules/.aspect_rules_js/@formatjs+icu-skeleton-parser@0.0.0/node_modules/@formatjs/icu-skeleton-parser/date-time.js 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; function parseDateTimeSkeleton(skeleton) { const result = {}; skeleton.replace(DATE_TIME_REGEX, (match) => { const len = match.length; switch (match[0]) { case "G": result.era = len === 4 ? "long" : len === 5 ? "narrow" : "short"; break; 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"); case "q": case "Q": throw new RangeError("`q/Q` (quarter) patterns are not supported"); case "M": case "L": result.month = [ "numeric", "2-digit", "short", "long", "narrow" ][len - 1]; break; 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"); case "E": result.weekday = len === 4 ? "long" : 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; case "a": result.hour12 = true; break; case "b": case "B": throw new RangeError("`b/B` (period) patterns are not supported, use `a` instead"); 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"); case "m": result.minute = ["numeric", "2-digit"][len - 1]; break; case "s": result.second = ["numeric", "2-digit"][len - 1]; break; case "S": case "A": throw new RangeError("`S/A` (second) patterns are not supported, use `s` instead"); case "z": result.timeZoneName = len < 4 ? "short" : "long"; break; case "Z": case "O": case "v": case "V": case "X": case "x": throw new RangeError("`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead"); } return ""; }); return result; } // node_modules/.aspect_rules_js/@formatjs+icu-skeleton-parser@0.0.0/node_modules/@formatjs/icu-skeleton-parser/regex.generated.js var WHITE_SPACE_REGEX = /[\t-\r \x85\u200E\u200F\u2028\u2029]/i; // node_modules/.aspect_rules_js/@formatjs+icu-skeleton-parser@0.0.0/node_modules/@formatjs/icu-skeleton-parser/number.js function parseNumberSkeletonFromString(skeleton) { if (skeleton.length === 0) { throw new Error("Number skeleton cannot be empty"); } const stringTokens = skeleton.split(WHITE_SPACE_REGEX).filter((x) => x.length > 0); const tokens = []; for (const stringToken of stringTokens) { let stemAndOptions = stringToken.split("/"); if (stemAndOptions.length === 0) { throw new Error("Invalid number skeleton"); } const [stem, ...options] = stemAndOptions; for (const option of options) { if (option.length === 0) { throw new Error("Invalid number skeleton"); } } tokens.push({ stem, options }); } return tokens; } function icuUnitToEcma(unit) { return unit.replace(/^(.*?)-/, ""); } var FRACTION_PRECISION_REGEX = /^\.(?:(0+)(\*)?|(#+)|(0+)(#+))$/g; var SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\+|#+)?[rs]?$/g; var INTEGER_WIDTH_REGEX = /(\*)(0+)|(#+)(0+)|(0+)/g; var CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/; function parseSignificantPrecision(str) { const result = {}; if (str[str.length - 1] === "r") { result.roundingPriority = "morePrecision"; } else if (str[str.length - 1] === "s") { result.roundingPriority = "lessPrecision"; } str.replace(SIGNIFICANT_PRECISION_REGEX, function(_, g1, g2) { if (typeof g2 !== "string") { result.minimumSignificantDigits = g1.length; result.maximumSignificantDigits = g1.length; } else if (g2 === "+") { result.minimumSignificantDigits = g1.length; } else if (g1[0] === "#") { result.maximumSignificantDigits = g1.length; } 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": case "()": return { currencySign: "accounting" }; case "sign-always": case "+!": return { signDisplay: "always" }; case "sign-accounting-always": case "()!": return { signDisplay: "always", currencySign: "accounting" }; case "sign-except-zero": case "+?": return { signDisplay: "exceptZero" }; case "sign-accounting-except-zero": case "()?": return { signDisplay: "exceptZero", currencySign: "accounting" }; case "sign-never": case "+_": return { signDisplay: "never" }; } } function parseConciseScientificAndEngineeringStem(stem) { let result; if (stem[0] === "E" && stem[1] === "E") { result = { notation: "engineering" }; stem = stem.slice(2); } else if (stem[0] === "E") { result = { notation: "scientific" }; stem = stem.slice(1); } if (result) { const signDisplay = stem.slice(0, 2); if (signDisplay === "+!") { result.signDisplay = "always"; stem = stem.slice(2); } else if (signDisplay === "+?") { result.signDisplay = "exceptZero"; stem = stem.slice(2); } if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) { throw new Error("Malformed concise eng/scientific notation"); } result.minimumIntegerDigits = stem.length; } return result; } function parseNotationOptions(opt) { const result = {}; const signOpts = parseSign(opt); if (signOpts) { return signOpts; } return result; } function parseNumberSkeleton(tokens) { let result = {}; for (const token of tokens) { switch (token.stem) { case "percent": case "%": result.style = "percent"; continue; case "%x100": result.style = "percent"; result.scale = 100; continue; case "currency": result.style = "currency"; result.currency = token.options[0]; continue; case "group-off": case ",_": result.useGrouping = false; continue; case "precision-integer": case ".": result.maximumFractionDigits = 0; continue; case "measure-unit": case "unit": result.style = "unit"; result.unit = icuUnitToEcma(token.options[0]); continue; case "compact-short": case "K": result.notation = "compact"; result.compactDisplay = "short"; continue; case "compact-long": case "KK": result.notation = "compact"; result.compactDisplay = "long"; continue; case "scientific": result = __spreadValues(__spreadProps(__spreadValues({}, result), { notation: "scientific" }), token.options.reduce((all, opt) => __spreadValues(__spreadValues({}, all), parseNotationOptions(opt)), {})); continue; case "engineering": result = __spreadValues(__spreadProps(__spreadValues({}, result), { notation: "engineering" }), token.options.reduce((all, opt) => __spreadValues(__spreadValues({}, all), parseNotationOptions(opt)), {})); continue; case "notation-simple": result.notation = "standard"; continue; 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; case "scale": result.scale = parseFloat(token.options[0]); continue; case "rounding-mode-floor": result.roundingMode = "floor"; continue; case "rounding-mode-ceiling": result.roundingMode = "ceil"; continue; case "rounding-mode-down": result.roundingMode = "trunc"; continue; case "rounding-mode-up": result.roundingMode = "expand"; continue; case "rounding-mode-half-even": result.roundingMode = "halfEven"; continue; case "rounding-mode-half-down": result.roundingMode = "halfTrunc"; continue; case "rounding-mode-half-up": result.roundingMode = "halfExpand"; continue; case "integer-width": if (token.options.length > 1) { throw new RangeError("integer-width stems only accept a single optional option"); } token.options[0].replace(INTEGER_WIDTH_REGEX, function(_, g1, g2, g3, g4, g5) { if (g1) { result.minimumIntegerDigits = g2.length; } else if (g3 && g4) { throw new Error("We currently do not support maximum integer digits"); } else if (g5) { throw new Error("We currently do not support exact integer digits"); } return ""; }); continue; } if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) { result.minimumIntegerDigits = token.stem.length; continue; } 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(_, g1, g2, g3, g4, g5) { if (g2 === "*") { result.minimumFractionDigits = g1.length; } else if (g3 && g3[0] === "#") { result.maximumFractionDigits = g3.length; } else if (g4 && g5) { result.minimumFractionDigits = g4.length; result.maximumFractionDigits = g4.length + g5.length; } else { result.minimumFractionDigits = g1.length; result.maximumFractionDigits = g1.length; } return ""; }); const opt = token.options[0]; if (opt === "w") { result = __spreadProps(__spreadValues({}, result), { trailingZeroDisplay: "stripIfInteger" }); } else if (opt) { result = __spreadValues(__spreadValues({}, result), parseSignificantPrecision(opt)); } continue; } if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) { result = __spreadValues(__spreadValues({}, result), parseSignificantPrecision(token.stem)); continue; } const signOpts = parseSign(token.stem); if (signOpts) { result = __spreadValues(__spreadValues({}, result), signOpts); } const conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem); if (conciseScientificAndEngineeringOpts) { result = __spreadValues(__spreadValues({}, result), conciseScientificAndEngineeringOpts); } } return result; } // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/types.js var TYPE = function(TYPE2) { TYPE2[TYPE2["literal"] = 0] = "literal"; TYPE2[TYPE2["argument"] = 1] = "argument"; TYPE2[TYPE2["number"] = 2] = "number"; TYPE2[TYPE2["date"] = 3] = "date"; TYPE2[TYPE2["time"] = 4] = "time"; TYPE2[TYPE2["select"] = 5] = "select"; TYPE2[TYPE2["plural"] = 6] = "plural"; TYPE2[TYPE2["pound"] = 7] = "pound"; TYPE2[TYPE2["tag"] = 8] = "tag"; return TYPE2; }({}); var SKELETON_TYPE = function(SKELETON_TYPE2) { SKELETON_TYPE2[SKELETON_TYPE2["number"] = 0] = "number"; SKELETON_TYPE2[SKELETON_TYPE2["dateTime"] = 1] = "dateTime"; return SKELETON_TYPE2; }({}); function isLiteralElement(el) { return el.type === TYPE.literal; } function isArgumentElement(el) { return el.type === TYPE.argument; } function isNumberElement(el) { return el.type === TYPE.number; } function isDateElement(el) { return el.type === TYPE.date; } function isTimeElement(el) { return el.type === TYPE.time; } function isSelectElement(el) { return el.type === TYPE.select; } function isPluralElement(el) { return el.type === TYPE.plural; } function isPoundElement(el) { return el.type === TYPE.pound; } function isTagElement(el) { return el.type === TYPE.tag; } function isNumberSkeleton(el) { return !!(el && typeof el === "object" && el.type === SKELETON_TYPE.number); } function isDateTimeSkeleton(el) { return !!(el && typeof el === "object" && el.type === SKELETON_TYPE.dateTime); } // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/error.js var ErrorKind = function(ErrorKind2) { ErrorKind2[ErrorKind2["EXPECT_ARGUMENT_CLOSING_BRACE"] = 1] = "EXPECT_ARGUMENT_CLOSING_BRACE"; ErrorKind2[ErrorKind2["EMPTY_ARGUMENT"] = 2] = "EMPTY_ARGUMENT"; ErrorKind2[ErrorKind2["MALFORMED_ARGUMENT"] = 3] = "MALFORMED_ARGUMENT"; ErrorKind2[ErrorKind2["EXPECT_ARGUMENT_TYPE"] = 4] = "EXPECT_ARGUMENT_TYPE"; ErrorKind2[ErrorKind2["INVALID_ARGUMENT_TYPE"] = 5] = "INVALID_ARGUMENT_TYPE"; ErrorKind2[ErrorKind2["EXPECT_ARGUMENT_STYLE"] = 6] = "EXPECT_ARGUMENT_STYLE"; ErrorKind2[ErrorKind2["INVALID_NUMBER_SKELETON"] = 7] = "INVALID_NUMBER_SKELETON"; ErrorKind2[ErrorKind2["INVALID_DATE_TIME_SKELETON"] = 8] = "INVALID_DATE_TIME_SKELETON"; ErrorKind2[ErrorKind2["EXPECT_NUMBER_SKELETON"] = 9] = "EXPECT_NUMBER_SKELETON"; ErrorKind2[ErrorKind2["EXPECT_DATE_TIME_SKELETON"] = 10] = "EXPECT_DATE_TIME_SKELETON"; ErrorKind2[ErrorKind2["UNCLOSED_QUOTE_IN_ARGUMENT_STYLE"] = 11] = "UNCLOSED_QUOTE_IN_ARGUMENT_STYLE"; ErrorKind2[ErrorKind2["EXPECT_SELECT_ARGUMENT_OPTIONS"] = 12] = "EXPECT_SELECT_ARGUMENT_OPTIONS"; ErrorKind2[ErrorKind2["EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE"] = 13] = "EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE"; ErrorKind2[ErrorKind2["INVALID_PLURAL_ARGUMENT_OFFSET_VALUE"] = 14] = "INVALID_PLURAL_ARGUMENT_OFFSET_VALUE"; ErrorKind2[ErrorKind2["EXPECT_SELECT_ARGUMENT_SELECTOR"] = 15] = "EXPECT_SELECT_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["EXPECT_PLURAL_ARGUMENT_SELECTOR"] = 16] = "EXPECT_PLURAL_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT"] = 17] = "EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT"; ErrorKind2[ErrorKind2["EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT"] = 18] = "EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT"; ErrorKind2[ErrorKind2["INVALID_PLURAL_ARGUMENT_SELECTOR"] = 19] = "INVALID_PLURAL_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["DUPLICATE_PLURAL_ARGUMENT_SELECTOR"] = 20] = "DUPLICATE_PLURAL_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["DUPLICATE_SELECT_ARGUMENT_SELECTOR"] = 21] = "DUPLICATE_SELECT_ARGUMENT_SELECTOR"; ErrorKind2[ErrorKind2["MISSING_OTHER_CLAUSE"] = 22] = "MISSING_OTHER_CLAUSE"; ErrorKind2[ErrorKind2["INVALID_TAG"] = 23] = "INVALID_TAG"; ErrorKind2[ErrorKind2["INVALID_TAG_NAME"] = 25] = "INVALID_TAG_NAME"; ErrorKind2[ErrorKind2["UNMATCHED_CLOSING_TAG"] = 26] = "UNMATCHED_CLOSING_TAG"; ErrorKind2[ErrorKind2["UNCLOSED_TAG"] = 27] = "UNCLOSED_TAG"; return ErrorKind2; }({}); // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/regex.generated.js var SPACE_SEPARATOR_REGEX = /[ \xA0\u1680\u2000-\u200A\u202F\u205F\u3000]/; // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/time-data.generated.js var timeData = { "001": ["H", "h"], "419": [ "h", "H", "hB", "hb" ], "AC": [ "H", "h", "hb", "hB" ], "AD": ["H", "hB"], "AE": [ "h", "hB", "hb", "H" ], "AF": [ "H", "hb", "hB", "h" ], "AG": [ "h", "hb", "H", "hB" ], "AI": [ "H", "h", "hb", "hB" ], "AL": [ "h", "H", "hB" ], "AM": ["H", "hB"], "AO": ["H", "hB"], "AR": [ "h", "H", "hB", "hb" ], "AS": ["h", "H"], "AT": ["H", "hB"], "AU": [ "h", "hb", "H", "hB" ], "AW": ["H", "hB"], "AX": ["H"], "AZ": [ "H", "hB", "h" ], "BA": [ "H", "hB", "h" ], "BB": [ "h", "hb", "H", "hB" ], "BD": [ "h", "hB", "H" ], "BE": ["H", "hB"], "BF": ["H", "hB"], "BG": [ "H", "hB", "h" ], "BH": [ "h", "hB", "hb", "H" ], "BI": ["H", "h"], "BJ": ["H", "hB"], "BL": ["H", "hB"], "BM": [ "h", "hb", "H", "hB" ], "BN": [ "hb", "hB", "h", "H" ], "BO": [ "h", "H", "hB", "hb" ], "BQ": ["H"], "BR": ["H", "hB"], "BS": [ "h", "hb", "H", "hB" ], "BT": ["h", "H"], "BW": [ "H", "h", "hb", "hB" ], "BY": ["H", "h"], "BZ": [ "H", "h", "hb", "hB" ], "CA": [ "h", "hb", "H", "hB" ], "CC": [ "H", "h", "hb", "hB" ], "CD": ["hB", "H"], "CF": [ "H", "h", "hB" ], "CG": ["H", "hB"], "CH": [ "H", "hB", "h" ], "CI": ["H", "hB"], "CK": [ "H", "h", "hb", "hB" ], "CL": [ "h", "H", "hB", "hb" ], "CM": [ "H", "h", "hB" ], "CN": [ "H", "hB", "hb", "h" ], "CO": [ "h", "H", "hB", "hb" ], "CP": ["H"], "CR": [ "h", "H", "hB", "hb" ], "CU": [ "h", "H", "hB", "hb" ], "CV": ["H", "hB"], "CW": ["H", "hB"], "CX": [ "H", "h", "hb", "hB" ], "CY": [ "h", "H", "hb", "hB" ], "CZ": ["H"], "DE": ["H", "hB"], "DG": [ "H", "h", "hb", "hB" ], "DJ": ["h", "H"], "DK": ["H"], "DM": [ "h", "hb", "H", "hB" ], "DO": [ "h", "H", "hB", "hb" ], "DZ": [ "h", "hB", "hb", "H" ], "EA": [ "H", "h", "hB", "hb" ], "EC": [ "h", "H", "hB", "hb" ], "EE": ["H", "hB"], "EG": [ "h", "hB", "hb", "H" ], "EH": [ "h", "hB", "hb", "H" ], "ER": ["h", "H"], "ES": [ "H", "hB", "h", "hb" ], "ET": [ "hB", "hb", "h", "H" ], "FI": ["H"], "FJ": [ "h", "hb", "H", "hB" ], "FK": [ "H", "h", "hb", "hB" ], "FM": [ "h", "hb", "H", "hB" ], "FO": ["H", "h"], "FR": ["H", "hB"], "GA": ["H", "hB"], "GB": [ "H", "h", "hb", "hB" ], "GD": [ "h", "hb", "H", "hB" ], "GE": [ "H", "hB", "h" ], "GF": ["H", "hB"], "GG": [ "H", "h", "hb", "hB" ], "GH": ["h", "H"], "GI": [ "H", "h", "hb", "hB" ], "GL": ["H", "h"], "GM": [ "h", "hb", "H", "hB" ], "GN": ["H", "hB"], "GP": ["H", "hB"], "GQ": [ "H", "hB", "h", "hb" ], "GR": [ "h", "H", "hb", "hB" ], "GS": [ "H", "h", "hb", "hB" ], "GT": [ "h", "H", "hB", "hb" ], "GU": [ "h", "hb", "H", "hB" ], "GW": ["H", "hB"], "GY": [ "h", "hb", "H", "hB" ], "HK": [ "h", "hB", "hb", "H" ], "HN": [ "h", "H", "hB", "hb" ], "HR": ["H", "hB"], "HU": ["H", "h"], "IC": [ "H", "h", "hB", "hb" ], "ID": ["H"], "IE": [ "H", "h", "hb", "hB" ], "IL": ["H", "hB"], "IM": [ "H", "h", "hb", "hB" ], "IN": ["h", "H"], "IO": [ "H", "h", "hb", "hB" ], "IQ": [ "h", "hB", "hb", "H" ], "IR": ["hB", "H"], "IS": ["H"], "IT": ["H", "hB"], "JE": [ "H", "h", "hb", "hB" ], "JM": [ "h", "hb", "H", "hB" ], "JO": [ "h", "hB", "hb", "H" ], "JP": [ "H", "K", "h" ], "KE": [ "hB", "hb", "H", "h" ], "KG": [ "H", "h", "hB", "hb" ], "KH": [ "hB", "h", "H", "hb" ], "KI": [ "h", "hb", "H", "hB" ], "KM": [ "H", "h", "hB", "hb" ], "KN": [ "h", "hb", "H", "hB" ], "KP": [ "h", "H", "hB", "hb" ], "KR": [ "h", "H", "hB", "hb" ], "KW": [ "h", "hB", "hb", "H" ], "KY": [ "h", "hb", "H", "hB" ], "KZ": ["H", "hB"], "LA": [ "H", "hb", "hB", "h" ], "LB": [ "h", "hB", "hb", "H" ], "LC": [ "h", "hb", "H", "hB" ], "LI": [ "H", "hB", "h" ], "LK": [ "H", "h", "hB", "hb" ], "LR": [ "h", "hb", "H", "hB" ], "LS": ["h", "H"], "LT": [ "H", "h", "hb", "hB" ], "LU": [ "H", "h", "hB" ], "LV": [ "H", "hB", "hb", "h" ], "LY": [ "h", "hB", "hb", "H" ], "MA": [ "H", "h", "hB", "hb" ], "MC": ["H", "hB"], "MD": ["H", "hB"], "ME": [ "H", "hB", "h" ], "MF": ["H", "hB"], "MG": ["H", "h"], "MH": [ "h", "hb", "H", "hB" ], "MK": [ "H", "h", "hb", "hB" ], "ML": ["H"], "MM": [ "hB", "hb", "H", "h" ], "MN": [ "H", "h", "hb", "hB" ], "MO": [ "h", "hB", "hb", "H" ], "MP": [ "h", "hb", "H", "hB" ], "MQ": ["H", "hB"], "MR": [ "h", "hB", "hb", "H" ], "MS": [ "H", "h", "hb", "hB" ], "MT": ["H", "h"], "MU": ["H", "h"], "MV": ["H", "h"], "MW": [ "h", "hb", "H", "hB" ], "MX": [ "h", "H", "hB", "hb" ], "MY": [ "hb", "hB", "h", "H" ], "MZ": ["H", "hB"], "NA": [ "h", "H", "hB", "hb" ], "NC": ["H", "hB"], "NE": ["H"], "NF": [ "H", "h", "hb", "hB" ], "NG": [ "H", "h", "hb", "hB" ], "NI": [ "h", "H", "hB", "hb" ], "NL": ["H", "hB"], "NO": ["H", "h"], "NP": [ "H", "h", "hB" ], "NR": [ "H", "h", "hb", "hB" ], "NU": [ "H", "h", "hb", "hB" ], "NZ": [ "h", "hb", "H", "hB" ], "OM": [ "h", "hB", "hb", "H" ], "PA": [ "h", "H", "hB", "hb" ], "PE": [ "h", "H", "hB", "hb" ], "PF": [ "H", "h", "hB" ], "PG": ["h", "H"], "PH": [ "h", "hB", "hb", "H" ], "PK": [ "h", "hB", "H" ], "PL": ["H", "h"], "PM": ["H", "hB"], "PN": [ "H", "h", "hb", "hB" ], "PR": [ "h", "H", "hB", "hb" ], "PS": [ "h", "hB", "hb", "H" ], "PT": ["H", "hB"], "PW": ["h", "H"], "PY": [ "h", "H", "hB", "hb" ], "QA": [ "h", "hB", "hb", "H" ], "RE": ["H", "hB"], "RO": ["H", "hB"], "RS": [ "H", "hB", "h" ], "RU": ["H"], "RW": ["H", "h"], "SA": [ "h", "hB", "hb", "H" ], "SB": [ "h", "hb", "H", "hB" ], "SC": [ "H", "h", "hB" ], "SD": [ "h", "hB", "hb", "H" ], "SE": ["H"], "SG": [ "h", "hb", "H", "hB" ], "SH": [ "H", "h", "hb", "hB" ], "SI": ["H", "hB"], "SJ": ["H"], "SK": ["H"], "SL": [ "h", "hb", "H", "hB" ], "SM": [ "H", "h", "hB" ], "SN": [ "H", "h", "hB" ], "SO": ["h", "H"], "SR": ["H", "hB"], "SS": [ "h", "hb", "H", "hB" ], "ST": ["H", "hB"], "SV": [ "h", "H", "hB", "hb" ], "SX": [ "H", "h", "hb", "hB" ], "SY": [ "h", "hB", "hb", "H" ], "SZ": [ "h", "hb", "H", "hB" ], "TA": [ "H", "h", "hb", "hB" ], "TC": [ "h", "hb", "H", "hB" ], "TD": [ "h", "H", "hB" ], "TF": [ "H", "h", "hB" ], "TG": ["H", "hB"], "TH": ["H", "h"], "TJ": ["H", "h"], "TL": [ "H", "hB", "hb", "h" ], "TM": ["H", "h"], "TN": [ "h", "hB", "hb", "H" ], "TO": ["h", "H"], "TR": ["H", "hB"], "TT": [ "h", "hb", "H", "hB" ], "TW": [ "hB", "hb", "h", "H" ], "TZ": [ "hB", "hb", "H", "h" ], "UA": [ "H", "hB", "h" ], "UG": [ "hB", "hb", "H", "h" ], "UM": [ "h", "hb", "H", "hB" ], "US": [ "h", "hb", "H", "hB" ], "UY": [ "h", "H", "hB", "hb" ], "UZ": [ "H", "hB", "h" ], "VA": [ "H", "h", "hB" ], "VC": [ "h", "hb", "H", "hB" ], "VE": [ "h", "H", "hB", "hb" ], "VG": [ "h", "hb", "H", "hB" ], "VI": [ "h", "hb", "H", "hB" ], "VN": ["H", "h"], "VU": ["h", "H"], "WF": ["H", "hB"], "WS": ["h", "H"], "XK": [ "H", "hB", "h" ], "YE": [ "h", "hB", "hb", "H" ], "YT": ["H", "hB"], "ZA": [ "H", "h", "hb", "hB" ], "ZM": [ "h", "hb", "H", "hB" ], "ZW": ["H", "h"], "af-ZA": [ "H", "h", "hB", "hb" ], "ar-001": [ "h", "hB", "hb", "H" ], "ca-ES": [ "H", "h", "hB" ], "en-001": [ "h", "hb", "H", "hB" ], "en-HK": [ "h", "hb", "H", "hB" ], "en-IL": [ "H", "h", "hb", "hB" ], "en-MY": [ "h", "hb", "H", "hB" ], "es-BR": [ "H", "h", "hB", "hb" ], "es-ES": [ "H", "h", "hB", "hb" ], "es-GQ": [ "H", "h", "hB", "hb" ], "fr-CA": [ "H", "h", "hB" ], "gl-ES": [ "H", "h", "hB" ], "gu-IN": [ "hB", "hb", "h", "H" ], "hi-IN": [ "hB", "h", "H" ], "it-CH": [ "H", "h", "hB" ], "it-IT": [ "H", "h", "hB" ], "kn-IN": [ "hB", "h", "H" ], "ku-SY": ["H", "hB"], "ml-IN": [ "hB", "h", "H" ], "mr-IN": [ "hB", "hb", "h", "H" ], "pa-IN": [ "hB", "hb", "h", "H" ], "ta-IN": [ "hB", "h", "hb", "H" ], "te-IN": [ "hB", "h", "H" ], "zu-ZA": [ "H", "hB", "hb", "h" ] }; // node_modules/.aspect_rules_js/@formatjs+icu-messageformat-parser@0.0.0/node_modules/@formatjs/icu-messageformat-parser/date-time-pattern-generator.js function getBestPattern(skeleton, locale) { let skeletonCopy = ""; for (let patternPos = 0; patternPos < skeleton.length; patternPos++) { const patternChar = skeleton.charAt(patternPos); if (patternChar === "j") { let extraLength = 0; while (patternPos + 1 < skeleton.length && skeleton.charAt(patternPos + 1) === patternChar) { extraLength++; patternPos++; } let hourLen = 1 + (extraLength & 1); let dayPeriodLen = extraLength < 2 ? 1 : 3 + (extraLength >> 1); let dayPeriodChar = "a"; let hourChar = getDefaultHourSymbolFromLocale(locale); if (hourChar == "H" || hourChar == "k") { dayPeriodLen = 0; } while (dayPeriodLen-- > 0) { skeletonCopy += dayPeriodChar; } while (hourLen-- > 0) { skeletonCopy = hourChar + skeletonCopy; } } else if (patternChar === "J") { skeletonCopy += "H"; } else { skeletonCopy += patternChar; } } return skeletonCopy; } function getDefaultHourSymbolFromLocale(locale) { let hourCycle = locale.hourCycle; if (hourCycle === void 0 && locale.hourCycles && locale.hourCycles.length) { hourCycle = locale.hourCycles[0]; } if (hourCycle) { switch (hourCycle) { case "h24": return "k"; case "h23": return "H"; case "h12": return "h"; case "h11": return "K