// node_modules/@intlify/shared/dist/shared.mjs function warn(msg, err) { if (typeof console !== "undefined") { console.warn(`[intlify] ` + msg); if (err) { console.warn(err.stack); } } } var hasWarned = {}; function warnOnce(msg) { if (!hasWarned[msg]) { hasWarned[msg] = true; warn(msg); } } var inBrowser = typeof window !== "undefined"; var mark; var measure; if (true) { const perf = inBrowser && window.performance; if (perf && perf.mark && perf.measure && perf.clearMarks && // @ts-ignore browser compat perf.clearMeasures) { mark = (tag) => { perf.mark(tag); }; measure = (name, startTag, endTag) => { perf.measure(name, startTag, endTag); perf.clearMarks(startTag); perf.clearMarks(endTag); }; } } var RE_ARGS = /\{([0-9a-zA-Z]+)\}/g; function format(message, ...args) { if (args.length === 1 && isObject(args[0])) { args = args[0]; } if (!args || !args.hasOwnProperty) { args = {}; } return message.replace(RE_ARGS, (match, identifier) => { return args.hasOwnProperty(identifier) ? args[identifier] : ""; }); } var makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name); var generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source }); var friendlyJSONstringify = (json) => JSON.stringify(json).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027"); var isNumber = (val) => typeof val === "number" && isFinite(val); var isDate = (val) => toTypeString(val) === "[object Date]"; var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; var isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0; var assign = Object.assign; var _create = Object.create; var create = (obj = null) => _create(obj); var _globalThis; var getGlobalThis = () => { return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : create()); }; function escapeHtml(rawText) { return rawText.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'").replace(/\//g, "/").replace(/=/g, "="); } function escapeAttributeValue(value) { return value.replace(/&(?![a-zA-Z0-9#]{2,6};)/g, "&").replace(/"/g, """).replace(/'/g, "'").replace(//g, ">"); } function sanitizeTranslatedHtml(html) { html = html.replace(/(\w+)\s*=\s*"([^"]*)"/g, (_, attrName, attrValue) => `${attrName}="${escapeAttributeValue(attrValue)}"`); html = html.replace(/(\w+)\s*=\s*'([^']*)'/g, (_, attrName, attrValue) => `${attrName}='${escapeAttributeValue(attrValue)}'`); const eventHandlerPattern = /\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi; if (eventHandlerPattern.test(html)) { if (true) { warn("Potentially dangerous event handlers detected in translation. Consider removing onclick, onerror, etc. from your translation messages."); } html = html.replace(/(\s+)(on)(\w+\s*=)/gi, "$1on$3"); } const javascriptUrlPattern = [ // In href, src, action, formaction attributes /(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi, // In style attributes within url() /(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi ]; javascriptUrlPattern.forEach((pattern) => { html = html.replace(pattern, "$1javascript:"); }); return html; } var hasOwnProperty = Object.prototype.hasOwnProperty; function hasOwn(obj, key) { return hasOwnProperty.call(obj, key); } var isArray = Array.isArray; var isFunction = (val) => typeof val === "function"; var isString = (val) => typeof val === "string"; var isBoolean = (val) => typeof val === "boolean"; var isSymbol = (val) => typeof val === "symbol"; var isObject = (val) => val !== null && typeof val === "object"; var isPromise = (val) => { return isObject(val) && isFunction(val.then) && isFunction(val.catch); }; var objectToString = Object.prototype.toString; var toTypeString = (value) => objectToString.call(value); var isPlainObject = (val) => { if (!isObject(val)) return false; const proto = Object.getPrototypeOf(val); return proto === null || proto.constructor === Object; }; var toDisplayString = (val) => { return val == null ? "" : isArray(val) || isPlainObject(val) && val.toString === objectToString ? JSON.stringify(val, null, 2) : String(val); }; function join(items, separator = "") { return items.reduce((str, item, index) => index === 0 ? str + item : str + separator + item, ""); } var RANGE = 2; function generateCodeFrame(source, start = 0, end = source.length) { const lines = source.split(/\r?\n/); let count = 0; const res = []; for (let i = 0; i < lines.length; i++) { count += lines[i].length + 1; if (count >= start) { for (let j = i - RANGE; j <= i + RANGE || end > count; j++) { if (j < 0 || j >= lines.length) continue; const line = j + 1; res.push(`${line}${" ".repeat(3 - String(line).length)}| ${lines[j]}`); const lineLength = lines[j].length; if (j === i) { const pad = start - (count - lineLength) + 1; const length = Math.max(1, end > count ? lineLength - pad : end - start); res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); } else if (j > i) { if (end > count) { const length = Math.max(Math.min(end - count, lineLength), 1); res.push(` | ` + "^".repeat(length)); } count += lineLength + 1; } } break; } } return res.join("\n"); } function incrementer(code) { let current = code; return () => ++current; } function createEmitter() { const events = /* @__PURE__ */ new Map(); const emitter = { events, on(event, handler) { const handlers = events.get(event); const added = handlers && handlers.push(handler); if (!added) { events.set(event, [handler]); } }, off(event, handler) { const handlers = events.get(event); if (handlers) { handlers.splice(handlers.indexOf(handler) >>> 0, 1); } }, emit(event, payload) { (events.get(event) || []).slice().map((handler) => handler(payload)); (events.get("*") || []).slice().map((handler) => handler(event, payload)); } }; return emitter; } var isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val); function deepCopy(src, des) { if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) { throw new Error("Invalid value"); } const stack = [{ src, des }]; while (stack.length) { const { src: src2, des: des2 } = stack.pop(); Object.keys(src2).forEach((key) => { if (key === "__proto__") { return; } if (isObject(src2[key]) && !isObject(des2[key])) { des2[key] = Array.isArray(src2[key]) ? [] : create(); } if (isNotObjectOrIsArray(des2[key]) || isNotObjectOrIsArray(src2[key])) { des2[key] = src2[key]; } else { stack.push({ src: src2[key], des: des2[key] }); } }); } } export { warn, warnOnce, inBrowser, mark, measure, format, makeSymbol, generateFormatCacheKey, friendlyJSONstringify, isNumber, isDate, isRegExp, isEmptyObject, assign, create, getGlobalThis, escapeHtml, sanitizeTranslatedHtml, hasOwn, isArray, isFunction, isString, isBoolean, isSymbol, isObject, isPromise, objectToString, toTypeString, isPlainObject, toDisplayString, join, generateCodeFrame, incrementer, createEmitter, deepCopy }; /*! Bundled license information: @intlify/shared/dist/shared.mjs: (*! * shared v9.14.5 * (c) 2025 kazuya kawaguchi * Released under the MIT License. *) */ //# sourceMappingURL=chunk-2442ZW7J.js.map