/** * @vue/compiler-dom v3.6.0-rc.10 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ import { TO_DISPLAY_STRING, baseCompile, baseParse, checkCompatEnabled, createCallExpression, createCompilerError, createCompoundExpression, createObjectProperty, createSimpleExpression, findDir, findProp, getConstantType, hasDynamicKeyVBind, isCommentOrWhitespace, isStaticArgOf, isStaticExp, noopDirectiveTransform, registerRuntimeHelpers, transformModel, transformOn } from "@vue/compiler-core"; import { capitalize, extend, isHTMLTag, isMathMLTag, isSVGTag, isString, isVoidTag, makeMap, parseStringStyle } from "@vue/shared"; export * from "@vue/compiler-core"; //#region packages/compiler-dom/src/runtimeHelpers.ts const V_MODEL_RADIO = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelRadio` : ``); const V_MODEL_CHECKBOX = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelCheckbox` : ``); const V_MODEL_TEXT = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelText` : ``); const V_MODEL_SELECT = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelSelect` : ``); const V_MODEL_DYNAMIC = Symbol(!!(process.env.NODE_ENV !== "production") ? `vModelDynamic` : ``); const V_ON_WITH_MODIFIERS = Symbol(!!(process.env.NODE_ENV !== "production") ? `vOnModifiersGuard` : ``); const V_ON_WITH_KEYS = Symbol(!!(process.env.NODE_ENV !== "production") ? `vOnKeysGuard` : ``); const V_SHOW = Symbol(!!(process.env.NODE_ENV !== "production") ? `vShow` : ``); const TRANSITION = Symbol(!!(process.env.NODE_ENV !== "production") ? `Transition` : ``); const TRANSITION_GROUP = Symbol(!!(process.env.NODE_ENV !== "production") ? `TransitionGroup` : ``); registerRuntimeHelpers({ [V_MODEL_RADIO]: `vModelRadio`, [V_MODEL_CHECKBOX]: `vModelCheckbox`, [V_MODEL_TEXT]: `vModelText`, [V_MODEL_SELECT]: `vModelSelect`, [V_MODEL_DYNAMIC]: `vModelDynamic`, [V_ON_WITH_MODIFIERS]: `withModifiers`, [V_ON_WITH_KEYS]: `withKeys`, [V_SHOW]: `vShow`, [TRANSITION]: `Transition`, [TRANSITION_GROUP]: `TransitionGroup` }); //#endregion //#region packages/compiler-dom/src/decodeHtmlBrowser.ts let decoder; function decodeHtmlBrowser(raw, asAttr = false) { if (!decoder) decoder = document.createElement("div"); if (asAttr) { decoder.innerHTML = `
`; return decoder.children[0].getAttribute("foo"); } else { decoder.innerHTML = raw; return decoder.textContent; } } //#endregion //#region packages/compiler-dom/src/parserOptions.ts const parserOptions = { parseMode: "html", isVoidTag, isNativeTag: (tag) => isHTMLTag(tag) || isSVGTag(tag) || isMathMLTag(tag), isPreTag: (tag) => tag === "pre", isIgnoreNewlineTag: (tag) => tag === "pre" || tag === "textarea", decodeEntities: decodeHtmlBrowser, isBuiltInComponent: (tag) => { if (tag === "Transition" || tag === "transition") return TRANSITION; else if (tag === "TransitionGroup" || tag === "transition-group") return TRANSITION_GROUP; }, getNamespace(tag, parent, rootNamespace) { let ns = parent ? parent.ns : rootNamespace; if (parent && ns === 2) { if (parent.tag === "annotation-xml") { if (isSVGTag(tag)) return 1; if (parent.props.some((a) => a.type === 6 && a.name === "encoding" && a.value != null && (a.value.content === "text/html" || a.value.content === "application/xhtml+xml"))) ns = 0; } else if (/^m(?:[ions]|text)$/.test(parent.tag) && tag !== "mglyph" && tag !== "malignmark") ns = 0; } else if (parent && ns === 1) { if (parent.tag === "foreignObject" || parent.tag === "desc" || parent.tag === "title") ns = 0; } if (ns === 0) { if (isSVGTag(tag)) return 1; if (isMathMLTag(tag)) return 2; } return ns; } }; //#endregion //#region packages/compiler-dom/src/transforms/transformStyle.ts const transformStyle = (node) => { if (node.type === 1) node.props.forEach((p, i) => { if (p.type === 6 && p.name === "style" && p.value) node.props[i] = { type: 7, name: `bind`, arg: createSimpleExpression(`style`, true, p.loc), exp: parseInlineCSS(p.value.content, p.loc), modifiers: [], loc: p.loc }; }); }; const parseInlineCSS = (cssText, loc) => { const normalized = parseStringStyle(cssText); return createSimpleExpression(JSON.stringify(normalized), false, loc, 3); }; //#endregion //#region packages/compiler-dom/src/errors.ts function createDOMCompilerError(code, loc) { return createCompilerError(code, loc, !!(process.env.NODE_ENV !== "production") || false ? DOMErrorMessages : void 0); } const DOMErrorCodes = { "X_V_HTML_NO_EXPRESSION": 54, "54": "X_V_HTML_NO_EXPRESSION", "X_V_HTML_WITH_CHILDREN": 55, "55": "X_V_HTML_WITH_CHILDREN", "X_V_TEXT_NO_EXPRESSION": 56, "56": "X_V_TEXT_NO_EXPRESSION", "X_V_TEXT_WITH_CHILDREN": 57, "57": "X_V_TEXT_WITH_CHILDREN", "X_V_MODEL_ON_INVALID_ELEMENT": 58, "58": "X_V_MODEL_ON_INVALID_ELEMENT", "X_V_MODEL_ARG_ON_ELEMENT": 59, "59": "X_V_MODEL_ARG_ON_ELEMENT", "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 60, "60": "X_V_MODEL_ON_FILE_INPUT_ELEMENT", "X_V_MODEL_UNNECESSARY_VALUE": 61, "61": "X_V_MODEL_UNNECESSARY_VALUE", "X_V_SHOW_NO_EXPRESSION": 62, "62": "X_V_SHOW_NO_EXPRESSION", "X_TRANSITION_INVALID_CHILDREN": 63, "63": "X_TRANSITION_INVALID_CHILDREN", "X_IGNORED_SIDE_EFFECT_TAG": 64, "64": "X_IGNORED_SIDE_EFFECT_TAG", "__EXTEND_POINT__": 65, "65": "__EXTEND_POINT__" }; const DOMErrorMessages = { [54]: `v-html is missing expression.`, [55]: `v-html will override element children.`, [56]: `v-text is missing expression.`, [57]: `v-text will override element children.`, [58]: `v-model can only be used on ,