{"version":3,"file":"index.umd.cjs","names":[],"sources":["../../../../../node_modules/.pnpm/@tmagic+form-schema@1.7.9_typescript@5.9.3/node_modules/@tmagic/form-schema/dist/es/index.js","../../../../../node_modules/.pnpm/@tmagic+vue-button@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-runtime-help@_a8bb8634c3e85a9b0f1399ed8e6b54c3/node_modules/@tmagic/vue-button/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+schema@1.7.9_typescript@5.9.3/node_modules/@tmagic/schema/dist/es/index.js","../../../../../node_modules/.pnpm/@tmagic+utils@1.7.9_@tmagic+schema@1.7.9_typescript@5.9.3__typescript@5.9.3/node_modules/@tmagic/utils/dist/es/dom.js","../../../../../node_modules/.pnpm/@tmagic+utils@1.7.9_@tmagic+schema@1.7.9_typescript@5.9.3__typescript@5.9.3/node_modules/@tmagic/utils/dist/es/index.js","../../../../../node_modules/.pnpm/@tmagic+vue-container@2.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-runtime-he_6d2cd864d4eadb33a0b7c401a1ffad08/node_modules/@tmagic/vue-container/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+vue-img@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-runtime-help@2.0_2bf3da347b8baafc0aa7b6a8364c2a4b/node_modules/@tmagic/vue-img/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+vue-iterator-container@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-r_23f3eb5318f8aab0279239040dec70f2/node_modules/@tmagic/vue-iterator-container/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+vue-overlay@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-runtime-help_533cc96542eba220c95e08fb6689a45e/node_modules/@tmagic/vue-overlay/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+vue-page@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-runtime-help@2._1ab91835190e75860e49664d1ea13de4/node_modules/@tmagic/vue-page/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+vue-page-fragment@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-runtim_8a2a67861a6d9f575beaf349c5faa398/node_modules/@tmagic/vue-page-fragment/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+vue-page-fragment-container@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+_f34b50aedf81744975c8086dc4786e42/node_modules/@tmagic/vue-page-fragment-container/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+vue-qrcode@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-runtime-help@_47714413f4d6dcc6616f0d88d2b8035a/node_modules/@tmagic/vue-qrcode/src/formConfig.ts","../../../../../node_modules/.pnpm/@tmagic+vue-text@1.0.0_@tmagic+core@1.7.9_typescript@5.9.3__@tmagic+vue-runtime-help@2._b5d8a983d271a6bbbc444be8a2dffd22/node_modules/@tmagic/vue-text/src/formConfig.ts","../../../.tmagic/config-entry.ts"],"sourcesContent":["//#region packages/form-schema/src/index.ts\nvar defineFormConfig = (config) => config;\nvar defineFormItem = (config) => config;\n//#endregion\nexport { defineFormConfig, defineFormItem };\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n name: 'className',\n type: 'data-source-input',\n text: 'class',\n },\n {\n text: '文本',\n name: 'text',\n type: 'data-source-input',\n },\n]);\n","//#region packages/schema/src/index.ts\nvar NodeType = /* @__PURE__ */ function(NodeType) {\n\t/** 容器 */\n\tNodeType[\"CONTAINER\"] = \"container\";\n\t/** 页面 */\n\tNodeType[\"PAGE\"] = \"page\";\n\t/** 根类型 */\n\tNodeType[\"ROOT\"] = \"app\";\n\t/** 页面片 */\n\tNodeType[\"PAGE_FRAGMENT\"] = \"page-fragment\";\n\treturn NodeType;\n}({});\nvar NODE_CONDS_KEY = \"displayConds\";\nvar NODE_CONDS_RESULT_KEY = \"displayCondsResultReverse\";\nvar NODE_DISABLE_DATA_SOURCE_KEY = \"_tmagic_node_disabled_data_source\";\nvar NODE_DISABLE_CODE_BLOCK_KEY = \"_tmagic_node_disabled_code_block\";\nvar ActionType = /* @__PURE__ */ function(ActionType) {\n\t/** 联动组件 */\n\tActionType[\"COMP\"] = \"comp\";\n\t/** 联动代码 */\n\tActionType[\"CODE\"] = \"code\";\n\t/** 数据源 */\n\tActionType[\"DATA_SOURCE\"] = \"data-source\";\n\treturn ActionType;\n}({});\nvar HookType = /* @__PURE__ */ function(HookType) {\n\t/** 代码块钩子标识 */\n\tHookType[\"CODE\"] = \"code\";\n\treturn HookType;\n}({});\nvar HookCodeType = /* @__PURE__ */ function(HookCodeType) {\n\t/** 代码块 */\n\tHookCodeType[\"CODE\"] = \"code\";\n\t/** 数据源方法 */\n\tHookCodeType[\"DATA_SOURCE_METHOD\"] = \"data-source-method\";\n\treturn HookCodeType;\n}({});\n//#endregion\nexport { ActionType, HookCodeType, HookType, NODE_CONDS_KEY, NODE_CONDS_RESULT_KEY, NODE_DISABLE_CODE_BLOCK_KEY, NODE_DISABLE_DATA_SOURCE_KEY, NodeType };\n","//#region packages/utils/src/dom.ts\nvar asyncLoadJs = (() => {\n\tconst documentMap = /* @__PURE__ */ new Map();\n\treturn (url, crossOrigin, document = globalThis.document) => {\n\t\tlet loaded = documentMap.get(document);\n\t\tif (!loaded) {\n\t\t\tloaded = /* @__PURE__ */ new Map();\n\t\t\tdocumentMap.set(document, loaded);\n\t\t}\n\t\tif (loaded.get(url)) return loaded.get(url);\n\t\tconst load = new Promise((resolve, reject) => {\n\t\t\tconst script = document.createElement(\"script\");\n\t\t\tscript.type = \"text/javascript\";\n\t\t\tif (crossOrigin) script.crossOrigin = crossOrigin;\n\t\t\tscript.src = url;\n\t\t\tdocument.body.appendChild(script);\n\t\t\tscript.onload = () => {\n\t\t\t\tresolve();\n\t\t\t};\n\t\t\tscript.onerror = () => {\n\t\t\t\treject(/* @__PURE__ */ new Error(\"加载失败\"));\n\t\t\t};\n\t\t\tsetTimeout(() => {\n\t\t\t\treject(/* @__PURE__ */ new Error(\"timeout\"));\n\t\t\t}, 60 * 1e3);\n\t\t}).catch((err) => {\n\t\t\tloaded.delete(url);\n\t\t\tthrow err;\n\t\t});\n\t\tloaded.set(url, load);\n\t\treturn loaded.get(url);\n\t};\n})();\nvar asyncLoadCss = (() => {\n\tconst documentMap = /* @__PURE__ */ new Map();\n\treturn (url, document = globalThis.document) => {\n\t\tlet loaded = documentMap.get(document);\n\t\tif (!loaded) {\n\t\t\tloaded = /* @__PURE__ */ new Map();\n\t\t\tdocumentMap.set(document, loaded);\n\t\t}\n\t\tif (loaded.get(url)) return loaded.get(url);\n\t\tconst load = new Promise((resolve, reject) => {\n\t\t\tconst node = document.createElement(\"link\");\n\t\t\tnode.rel = \"stylesheet\";\n\t\t\tnode.href = url;\n\t\t\tdocument.head.appendChild(node);\n\t\t\tnode.onload = () => {\n\t\t\t\tresolve();\n\t\t\t};\n\t\t\tnode.onerror = () => {\n\t\t\t\treject(/* @__PURE__ */ new Error(\"加载失败\"));\n\t\t\t};\n\t\t\tsetTimeout(() => {\n\t\t\t\treject(/* @__PURE__ */ new Error(\"timeout\"));\n\t\t\t}, 60 * 1e3);\n\t\t}).catch((err) => {\n\t\t\tloaded.delete(url);\n\t\t\tthrow err;\n\t\t});\n\t\tloaded.set(url, load);\n\t\treturn loaded.get(url);\n\t};\n})();\nvar addClassName = (el, doc, className) => {\n\tconst oldEl = doc.querySelector(`.${className}`);\n\tif (oldEl && oldEl !== el) removeClassName(oldEl, className);\n\tif (!el.classList.contains(className)) el.classList.add(className);\n};\nvar removeClassName = (el, ...className) => {\n\tel.classList.remove(...className);\n};\nvar removeClassNameByClassName = (doc, className) => {\n\tconst el = doc.querySelector(`.${className}`);\n\tel?.classList.remove(className);\n\treturn el;\n};\nvar injectStyle = (doc, style) => {\n\tconst styleEl = doc.createElement(\"style\");\n\tstyleEl.innerHTML = style;\n\tdoc.head.appendChild(styleEl);\n\treturn styleEl;\n};\nvar createDiv = ({ className, cssText }) => {\n\tconst el = globalThis.document.createElement(\"div\");\n\tel.className = className;\n\tel.style.cssText = cssText;\n\treturn el;\n};\nvar getDocument = () => globalThis.document;\nvar calcValueByFontsize = (doc, value) => {\n\tif (!doc) return value;\n\tconst { fontSize } = doc.documentElement.style;\n\tif (fontSize) {\n\t\tconst times = globalThis.parseFloat(fontSize) / 100;\n\t\treturn Number((value / times).toFixed(2));\n\t}\n\treturn value;\n};\nvar dslDomRelateConfig = {\n\tgetIdFromEl: (el) => el?.dataset?.tmagicId,\n\tgetElById: (doc, id) => doc?.querySelector(`[data-tmagic-id=\"${id}\"]`),\n\tsetIdToEl: (el, id) => {\n\t\tel.dataset.tmagicId = `${id}`;\n\t}\n};\nvar setDslDomRelateConfig = (name, value) => {\n\tdslDomRelateConfig[name] = value;\n};\nvar getIdFromEl = () => dslDomRelateConfig.getIdFromEl;\nvar getElById = () => dslDomRelateConfig.getElById;\nvar setIdToEl = () => dslDomRelateConfig.setIdToEl;\n//#endregion\nexport { addClassName, asyncLoadCss, asyncLoadJs, calcValueByFontsize, createDiv, getDocument, getElById, getIdFromEl, injectStyle, removeClassName, removeClassNameByClassName, setDslDomRelateConfig, setIdToEl };\n","import { addClassName, asyncLoadCss, asyncLoadJs, calcValueByFontsize, createDiv, getDocument, getElById, getIdFromEl, injectStyle, removeClassName, removeClassNameByClassName, setDslDomRelateConfig, setIdToEl } from \"./dom.js\";\nimport { cloneDeep, set } from \"lodash-es\";\nimport { NodeType } from \"@tmagic/schema\";\n//#region packages/utils/src/index.ts\nvar _globalThis;\nvar getGlobalThis = () => _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\nvar sleep = (ms) => new Promise((resolve) => {\n\tconst timer = setTimeout(() => {\n\t\tclearTimeout(timer);\n\t\tresolve();\n\t}, ms);\n});\nvar toLine = (name = \"\") => name.replace(/\\B([A-Z])/g, \"-$1\").toLowerCase();\nvar toHump = (name = \"\") => name.replace(/-(\\w)/g, (_all, letter) => letter.toUpperCase());\nvar emptyFn = () => void 0;\n/**\n* 通过id获取组件在应用的子孙路径\n* @param {number | string} id 组件id\n* @param {Array} data 要查找的根容器节点\n* @return {Array} 组件在data中的子孙路径\n*/\nvar getNodePath = (id, data = []) => {\n\tconst path = [];\n\tconst get = function(id, data) {\n\t\tif (!Array.isArray(data)) return null;\n\t\tfor (let i = 0, l = data.length; i < l; i++) {\n\t\t\tconst item = data[i];\n\t\t\tpath.push(item);\n\t\t\tif (`${item.id}` === `${id}`) return item;\n\t\t\tif (item.items) {\n\t\t\t\tconst node = get(id, item.items);\n\t\t\t\tif (node) return node;\n\t\t\t}\n\t\t\tpath.pop();\n\t\t}\n\t\treturn null;\n\t};\n\tget(id, data);\n\treturn path;\n};\nvar getNodeInfo = (id, root) => {\n\tconst info = {\n\t\tnode: null,\n\t\tparent: null,\n\t\tpage: null\n\t};\n\tif (!root) return info;\n\tif (id === root.id) {\n\t\tinfo.node = root;\n\t\treturn info;\n\t}\n\tconst path = getNodePath(id, root.items);\n\tif (!path.length) return info;\n\tpath.unshift(root);\n\tinfo.node = path[path.length - 1];\n\tinfo.parent = path[path.length - 2];\n\tpath.forEach((item) => {\n\t\tif (isPage(item) || isPageFragment(item)) {\n\t\t\tinfo.page = item;\n\t\t\treturn;\n\t\t}\n\t});\n\treturn info;\n};\nvar filterXSS = (str) => str.replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\nvar getUrlParam = (param, url) => {\n\tconst u = url || location.href;\n\tconst reg = new RegExp(`[?&#]${param}=([^&#]+)`, \"gi\");\n\tconst matches = u.match(reg);\n\tlet strArr;\n\tif (matches && matches.length > 0) {\n\t\tstrArr = matches[matches.length - 1].split(\"=\");\n\t\tif (strArr && strArr.length > 1) return filterXSS(strArr[1]);\n\t\treturn \"\";\n\t}\n\treturn \"\";\n};\n/**\n* 设置url中指定的参数\n*\n* @param {string}\n* name [参数名]\n* @param {string}\n* value [参数值]\n* @param {string}\n* url [发生替换的url地址|默认为location.href]\n* @return {string} [返回处理后的url]\n*/\nvar setUrlParam = (name, value, url = globalThis.location.href) => {\n\tconst reg = new RegExp(`[?&#]${name}=([^&#]*)`, \"gi\");\n\tconst matches = url.match(reg);\n\tconst key = `{key${(/* @__PURE__ */ new Date()).getTime()}}`;\n\tlet strArr;\n\tif (matches && matches.length > 0) strArr = matches[matches.length - 1];\n\telse strArr = \"\";\n\tconst extra = `${name}=${value}`;\n\tif (strArr) {\n\t\tconst first = strArr.charAt(0);\n\t\turl = url.replace(strArr, key);\n\t\turl = url.replace(key, value ? first + extra : \"\");\n\t} else if (value) if (url.indexOf(\"?\") > -1) url += `&${extra}`;\n\telse url += `?${extra}`;\n\treturn url;\n};\nvar getSearchObj = (search = globalThis.location.search ? globalThis.location.search.substring(1) : \"\") => {\n\treturn search.split(\"&\").reduce((obj, item) => {\n\t\tconst [a, b = \"\"] = item.split(\"=\");\n\t\treturn {\n\t\t\t...obj,\n\t\t\t[a]: b\n\t\t};\n\t}, {});\n};\nvar delQueStr = (url, ref) => {\n\tlet str = \"\";\n\tif (url.indexOf(\"?\") !== -1) str = url.substring(url.indexOf(\"?\") + 1);\n\telse return url;\n\tlet arr = [];\n\tlet returnurl = \"\";\n\tconst isHit = Array.isArray(ref) ? function(v) {\n\t\treturn ~ref.indexOf(v);\n\t} : function(v) {\n\t\treturn v === ref;\n\t};\n\tif (str.indexOf(\"&\") !== -1) {\n\t\tarr = str.split(\"&\");\n\t\tfor (let i = 0, len = arr.length; i < len; i++) if (!isHit(arr[i].split(\"=\")[0])) returnurl = `${returnurl + arr[i].split(\"=\")[0]}=${arr[i].split(\"=\")[1]}&`;\n\t\treturn returnurl ? `${url.substr(0, url.indexOf(\"?\"))}?${returnurl.substr(0, returnurl.length - 1)}` : url.substr(0, url.indexOf(\"?\"));\n\t}\n\tarr = str.split(\"=\");\n\tif (isHit(arr[0])) return url.substr(0, url.indexOf(\"?\"));\n\treturn url;\n};\nvar isObject = (obj) => Object.prototype.toString.call(obj) === \"[object Object]\";\nvar isPop = (node) => Boolean(node?.type?.toLowerCase().endsWith(\"pop\"));\nvar isPage = (node) => {\n\tif (!node) return false;\n\treturn Boolean(node.type?.toLowerCase() === NodeType.PAGE);\n};\nvar isPageFragment = (node) => {\n\tif (!node) return false;\n\treturn Boolean(node.type?.toLowerCase() === NodeType.PAGE_FRAGMENT);\n};\nvar isNumber = (value) => typeof value === \"number\" && !isNaN(value) || /^(-?\\d+)(\\.\\d+)?$/.test(`${value}`);\nvar getHost = (targetUrl) => targetUrl.match(/\\/\\/([^/]+)/)?.[1];\nvar isSameDomain = (targetUrl = \"\", source = globalThis.location.host) => {\n\tif (!/^(http[s]?:)?\\/\\//.test(targetUrl)) return true;\n\treturn getHost(targetUrl) === source;\n};\n/**\n* 生成指定位数的GUID,无【-】格式\n* @param digit 位数,默认值8\n* @returns\n*/\nvar guid = (digit = 8) => \"x\".repeat(digit).replace(/[xy]/g, (c) => {\n\tconst r = Math.random() * 16 | 0;\n\treturn (c === \"x\" ? r : r & 3 | 8).toString(16);\n});\nvar getKeysArray = (keys) => `${keys}`.replace(/\\[(\\d+)\\]/g, \".$1\").split(\".\");\nvar getValueByKeyPath = (keys = \"\", data = {}) => {\n\treturn (Array.isArray(keys) ? keys : getKeysArray(keys)).reduce((accumulator, currentValue) => {\n\t\tif (isObject(accumulator)) return accumulator[currentValue];\n\t\tif (Array.isArray(accumulator) && /^\\d*$/.test(`${currentValue}`)) return accumulator[currentValue];\n\t\tthrow new Error(`${data}中不存在${keys}`);\n\t}, data);\n};\nvar setValueByKeyPath = (keys, value, data = {}) => set(data, keys, value);\nvar getNodes = (ids, data = []) => {\n\tconst nodes = [];\n\tconst get = function(ids, data) {\n\t\tif (!Array.isArray(data)) return;\n\t\tfor (const item of data) {\n\t\t\tconst index = ids.findIndex((id) => `${id}` === `${item.id}`);\n\t\t\tif (index > -1) {\n\t\t\t\tids.splice(index, 1);\n\t\t\t\tnodes.push(item);\n\t\t\t}\n\t\t\tif (item.items) get(ids, item.items);\n\t\t}\n\t};\n\tget(ids, data);\n\treturn nodes;\n};\nvar getDepKeys = (dataSourceDeps = {}, nodeId) => Array.from(Object.values(dataSourceDeps).reduce((prev, cur) => {\n\t(cur[nodeId]?.keys || []).forEach((key) => prev.add(key));\n\treturn prev;\n}, /* @__PURE__ */ new Set()));\nvar getDepNodeIds = (dataSourceDeps = {}) => Array.from(Object.values(dataSourceDeps).reduce((prev, cur) => {\n\tObject.keys(cur).forEach((id) => {\n\t\tprev.add(id);\n\t});\n\treturn prev;\n}, /* @__PURE__ */ new Set()));\n/**\n* 将新节点更新到data或者parentId对应的节点的子节点中\n* @param newNode 新节点\n* @param data 需要修改的数据\n* @param parentId 父节点 id\n*/\nvar replaceChildNode = (newNode, data, parentId) => {\n\tconst path = getNodePath(newNode.id, data);\n\tconst node = path.pop();\n\tlet parent = path.pop();\n\tif (parentId) parent = getNodePath(parentId, data).pop();\n\tif (!node) {\n\t\tconsole.warn(`未找到目标节点(${newNode.id})`);\n\t\treturn;\n\t}\n\tif (!parent) {\n\t\tconsole.warn(`未找到父节点(${newNode.id})`);\n\t\treturn;\n\t}\n\tconst index = parent.items?.findIndex((child) => child.id === node.id);\n\tparent.items.splice(index, 1, newNode);\n};\nvar DSL_NODE_KEY_COPY_PREFIX = \"__tmagic__\";\nvar IS_DSL_NODE_KEY = \"__tmagic__dslNode\";\nvar PAGE_FRAGMENT_CONTAINER_ID_KEY = \"tmagic-page-fragment-container-id\";\nvar compiledNode = (compile, node, dataSourceDeps = {}, sourceId) => {\n\tlet keys = [];\n\tif (!sourceId) keys = getDepKeys(dataSourceDeps, node.id);\n\telse keys = dataSourceDeps[sourceId]?.[node.id].keys || [];\n\tkeys.forEach((key) => {\n\t\tconst keys = getKeysArray(key);\n\t\tconst cacheKey = keys.map((key, index) => {\n\t\t\tif (index < keys.length - 1) return key;\n\t\t\treturn `${DSL_NODE_KEY_COPY_PREFIX}${key}`;\n\t\t});\n\t\tlet templateValue = getValueByKeyPath(cacheKey, node);\n\t\tif (typeof templateValue === \"undefined\") try {\n\t\t\tconst value = getValueByKeyPath(key, node);\n\t\t\tsetValueByKeyPath(cacheKey.join(\".\"), value, node);\n\t\t\ttemplateValue = value;\n\t\t} catch (e) {\n\t\t\tconsole.warn(e);\n\t\t\treturn;\n\t\t}\n\t\tlet newValue;\n\t\ttry {\n\t\t\tnewValue = compile(templateValue);\n\t\t} catch (e) {\n\t\t\tconsole.error(e);\n\t\t\tnewValue = \"\";\n\t\t}\n\t\tsetValueByKeyPath(key, newValue, node);\n\t});\n\treturn node;\n};\nvar compiledCond = (op, fieldValue, inputValue, range = []) => {\n\tif (typeof fieldValue === \"string\" && typeof inputValue === \"undefined\") inputValue = \"\";\n\tswitch (op) {\n\t\tcase \"is\": return fieldValue === inputValue;\n\t\tcase \"not\": return fieldValue !== inputValue;\n\t\tcase \"=\": return fieldValue === inputValue;\n\t\tcase \"!=\": return fieldValue !== inputValue;\n\t\tcase \">\": return fieldValue > inputValue;\n\t\tcase \">=\": return fieldValue >= inputValue;\n\t\tcase \"<\": return fieldValue < inputValue;\n\t\tcase \"<=\": return fieldValue <= inputValue;\n\t\tcase \"between\": return range.length > 1 && fieldValue >= range[0] && fieldValue <= range[1];\n\t\tcase \"not_between\": return range.length < 2 || fieldValue < range[0] || fieldValue > range[1];\n\t\tcase \"include\": return fieldValue?.includes?.(inputValue);\n\t\tcase \"not_include\": return typeof fieldValue === \"undefined\" || !fieldValue.includes?.(inputValue);\n\t\tdefault: break;\n\t}\n\treturn false;\n};\nvar getDefaultValueFromFields = (fields) => {\n\tconst data = {};\n\tconst defaultValue = {\n\t\tstring: void 0,\n\t\tobject: {},\n\t\tarray: [],\n\t\tboolean: void 0,\n\t\tnumber: void 0,\n\t\tnull: null,\n\t\tany: void 0\n\t};\n\tfields.forEach((field) => {\n\t\tif (typeof field.defaultValue !== \"undefined\") {\n\t\t\tif (field.type === \"array\" && !Array.isArray(field.defaultValue)) {\n\t\t\t\tdata[field.name] = defaultValue.array;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (field.type === \"object\" && !isObject(field.defaultValue)) {\n\t\t\t\tif (typeof field.defaultValue === \"string\") {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tdata[field.name] = JSON.parse(field.defaultValue);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tdata[field.name] = defaultValue.object;\n\t\t\t\t\t\tconsole.warn(\"defaultValue 解析失败\", field.defaultValue, e);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdata[field.name] = defaultValue.object;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tdata[field.name] = cloneDeep(field.defaultValue);\n\t\t\treturn;\n\t\t}\n\t\tif (field.type === \"object\") {\n\t\t\tdata[field.name] = field.fields ? getDefaultValueFromFields(field.fields) : defaultValue.object;\n\t\t\treturn;\n\t\t}\n\t\tif (field.type) {\n\t\t\tdata[field.name] = defaultValue[field.type];\n\t\t\treturn;\n\t\t}\n\t\tdata[field.name] = void 0;\n\t});\n\treturn data;\n};\nvar DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX = \"ds-field::\";\nvar DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX = \"ds-field-changed\";\nvar getKeys = Object.keys;\nvar calculatePercentage = (value, percentageStr) => {\n\treturn value * (globalThis.parseFloat(percentageStr) / 100);\n};\nvar isPercentage = (value) => /^(\\d+)(\\.\\d+)?%$/.test(`${value}`);\nvar convertToNumber = (value, parentValue = 0) => {\n\tif (typeof value === \"number\") return value;\n\tif (typeof value === \"string\" && isPercentage(value)) return calculatePercentage(parentValue, value);\n\treturn parseFloat(value);\n};\n/**\n* 添加参数到URL\n* @param obj 参数对象\n* @param global window对象\n* @param needReload 是否需要刷新\n*/\nvar addParamToUrl = (obj, global = globalThis, needReload = true) => {\n\tconst url = new URL(global.location.href);\n\tconst { searchParams } = url;\n\tfor (const [k, v] of Object.entries(obj)) searchParams.set(k, v);\n\tconst newUrl = url.toString();\n\tif (needReload) global.location.href = newUrl;\n\telse global.history.pushState({}, \"\", url);\n};\nvar dataSourceTemplateRegExp = /\\$\\{([\\s\\S]+?)\\}/g;\nvar isDslNode = (config) => typeof config[\"__tmagic__dslNode\"] === \"undefined\" || config[\"__tmagic__dslNode\"] === true;\nvar traverseNode = (node, cb, parents = [], evalCbAfter = false) => {\n\tif (!evalCbAfter) cb(node, parents);\n\tif (Array.isArray(node.items) && node.items.length) {\n\t\tparents.push(node);\n\t\tnode.items.forEach((item) => {\n\t\t\ttraverseNode(item, cb, [...parents], evalCbAfter);\n\t\t});\n\t}\n\tif (evalCbAfter) cb(node, parents);\n};\nvar isValueIncludeDataSource = (value) => {\n\tif (typeof value === \"string\" && /\\$\\{([\\s\\S]+?)\\}/.test(value)) return true;\n\tif (Array.isArray(value) && `${value[0]}`.startsWith(\"ds-field::\")) return true;\n\tif (value?.isBindDataSource && value.dataSourceId) return true;\n\tif (value?.isBindDataSourceField && value.dataSourceId) return true;\n\treturn false;\n};\nvar removeDataSourceFieldPrefix = (id) => id?.replace(\"ds-field::\", \"\") || \"\";\n//#endregion\nexport { DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX, DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, DSL_NODE_KEY_COPY_PREFIX, IS_DSL_NODE_KEY, PAGE_FRAGMENT_CONTAINER_ID_KEY, addClassName, addParamToUrl, asyncLoadCss, asyncLoadJs, calcValueByFontsize, calculatePercentage, compiledCond, compiledNode, convertToNumber, createDiv, dataSourceTemplateRegExp, delQueStr, emptyFn, filterXSS, getDefaultValueFromFields, getDepKeys, getDepNodeIds, getDocument, getElById, getGlobalThis, getHost, getIdFromEl, getKeys, getKeysArray, getNodeInfo, getNodePath, getNodes, getSearchObj, getUrlParam, getValueByKeyPath, guid, injectStyle, isDslNode, isNumber, isObject, isPage, isPageFragment, isPercentage, isPop, isSameDomain, isValueIncludeDataSource, removeClassName, removeClassNameByClassName, removeDataSourceFieldPrefix, replaceChildNode, setDslDomRelateConfig, setIdToEl, setUrlParam, setValueByKeyPath, sleep, toHump, toLine, traverseNode };\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getElById } from '@tmagic/core';\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n name: 'className',\n type: 'data-source-input',\n text: 'class',\n },\n {\n name: 'layout',\n text: '容器布局',\n type: 'select',\n defaultValue: 'absolute',\n options: [\n { value: 'absolute', text: '绝对定位' },\n { value: 'relative', text: '流式布局' },\n ],\n onChange: (formState: any, v: string, { model, setModel }: any) => {\n if (!model.style) return v;\n if (v === 'relative') {\n setModel('style.height', 'auto');\n } else {\n const el = getElById()(formState.stage?.renderer?.contentWindow.document, model.id);\n if (el) {\n setModel('style.height', el.getBoundingClientRect().height);\n }\n }\n },\n },\n]);\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n name: 'className',\n type: 'data-source-input',\n text: 'class',\n },\n {\n type: 'data-source-field-select',\n name: 'src',\n text: '图片',\n checkStrictly: false,\n dataSourceFieldType: ['string'],\n fieldConfig: {\n type: 'img-upload',\n },\n },\n {\n text: '链接',\n name: 'url',\n type: 'data-source-input',\n },\n]);\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nimport { DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, NODE_CONDS_KEY } from '@tmagic/core';\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n name: 'className',\n type: 'data-source-input',\n text: 'class',\n },\n {\n name: 'iteratorData',\n text: '数据源数据',\n value: 'value',\n dataSourceFieldType: ['array'],\n checkStrictly: true,\n type: 'data-source-field-select',\n onChange: (_vm: any, v: string[] = [], { setModel }: any) => {\n if (Array.isArray(v) && v.length > 1) {\n const [dsId, ...keys] = v;\n setModel('dsField', [dsId.replace(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX, ''), ...keys]);\n } else {\n setModel('dsField', []);\n }\n },\n },\n {\n name: 'dsField',\n type: 'hidden',\n },\n {\n type: 'panel',\n title: '子项配置',\n name: 'itemConfig',\n items: [\n {\n type: 'display-conds',\n name: NODE_CONDS_KEY,\n titlePrefix: '条件组',\n defaultValue: [],\n },\n {\n name: 'layout',\n text: '容器布局',\n type: 'select',\n defaultValue: 'absolute',\n options: [\n { value: 'absolute', text: '绝对定位' },\n { value: 'relative', text: '流式布局', disabled: true },\n ],\n },\n {\n type: 'fieldset',\n legend: '样式',\n name: 'style',\n items: [\n {\n name: 'width',\n text: '宽度',\n },\n {\n name: 'height',\n text: '高度',\n },\n {\n text: 'overflow',\n name: 'overflow',\n type: 'select',\n options: [\n { text: 'visible', value: 'visible' },\n { text: 'hidden', value: 'hidden' },\n { text: 'clip', value: 'clip' },\n { text: 'scroll', value: 'scroll' },\n { text: 'auto', value: 'auto' },\n { text: 'overlay', value: 'overlay' },\n ],\n },\n {\n name: 'backgroundImage',\n text: '背景图',\n },\n {\n name: 'backgroundColor',\n text: '背景颜色',\n type: 'colorPicker',\n },\n {\n name: 'backgroundRepeat',\n text: '背景图重复',\n type: 'select',\n defaultValue: 'no-repeat',\n options: [\n { text: 'repeat', value: 'repeat' },\n { text: 'repeat-x', value: 'repeat-x' },\n { text: 'repeat-y', value: 'repeat-y' },\n { text: 'no-repeat', value: 'no-repeat' },\n { text: 'inherit', value: 'inherit' },\n ],\n },\n {\n name: 'backgroundSize',\n text: '背景图大小',\n defaultValue: '100% 100%',\n },\n ],\n },\n ],\n },\n]);\n","import { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([]);\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getElById } from '@tmagic/core';\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n text: '页面标识',\n name: 'name',\n disabled: true,\n extra: '在多页面的情况下用来指定要打开的页面',\n },\n {\n text: '页面标题',\n name: 'title',\n },\n {\n name: 'layout',\n text: '容器布局',\n type: 'select',\n defaultValue: 'absolute',\n options: [\n { value: 'absolute', text: '绝对定位' },\n { value: 'relative', text: '流式布局' },\n ],\n onChange: (formState: any, v: string, { model, setModel }: any) => {\n if (!model.style) return v;\n if (v === 'relative') {\n setModel('style.height', 'auto');\n } else {\n const el = getElById()(formState.stage?.renderer?.contentWindow.document, model.id);\n if (el) {\n setModel('style.height', el.getBoundingClientRect().height);\n }\n }\n },\n },\n {\n name: 'jsFiles',\n text: 'js',\n type: 'table',\n items: [\n {\n name: 'url',\n label: '链接',\n },\n ],\n },\n {\n name: 'cssFiles',\n text: 'css',\n type: 'table',\n items: [\n {\n name: 'url',\n label: '链接',\n },\n ],\n },\n {\n text: 'css',\n name: 'css',\n type: 'vs-code',\n language: 'css',\n autosize: {\n minRows: 3,\n maxRows: 20,\n },\n },\n]);\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getElById } from '@tmagic/core';\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n text: '页面片标识',\n name: 'name',\n disabled: true,\n },\n {\n text: '页面片标题',\n name: 'title',\n },\n {\n name: 'layout',\n text: '容器布局',\n type: 'select',\n defaultValue: 'absolute',\n options: [\n { value: 'absolute', text: '绝对定位' },\n { value: 'relative', text: '流式布局' },\n ],\n onChange: (formState: any, v: string, { model, setModel }: any) => {\n if (!model.style) return v;\n if (v === 'relative') {\n setModel('style.height', 'auto');\n } else {\n const el = getElById()(formState.stage?.renderer?.contentWindow.document, model.id);\n if (el) {\n setModel('style.height', el.getBoundingClientRect().height);\n }\n }\n },\n },\n]);\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n name: 'className',\n type: 'data-source-input',\n text: 'class',\n },\n {\n name: 'pageFragmentId',\n text: '页面片ID',\n type: 'page-fragment-select',\n },\n]);\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n name: 'className',\n type: 'data-source-input',\n text: 'class',\n },\n {\n text: '链接',\n name: 'url',\n type: 'data-source-input',\n },\n]);\n","/*\n * Tencent is pleased to support the open source community by making TMagicEditor available.\n *\n * Copyright (C) 2025 Tencent. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { defineFormConfig } from '@tmagic/form-schema';\n\nexport default defineFormConfig([\n {\n name: 'className',\n type: 'data-source-input',\n text: 'class',\n },\n {\n name: 'text',\n text: '文本',\n type: 'data-source-input',\n },\n {\n name: 'multiple',\n text: '多行文本',\n type: 'switch',\n },\n]);\n","import button from '@tmagic/vue-button/src/formConfig';\nimport container from '@tmagic/vue-container/src/formConfig';\nimport img from '@tmagic/vue-img/src/formConfig';\nimport iteratorContainer from '@tmagic/vue-iterator-container/src/formConfig';\nimport overlay from '@tmagic/vue-overlay/src/formConfig';\nimport page from '@tmagic/vue-page/src/formConfig';\nimport pageFragment from '@tmagic/vue-page-fragment/src/formConfig';\nimport pageFragmentContainer from '@tmagic/vue-page-fragment-container/src/formConfig';\nimport qrcode from '@tmagic/vue-qrcode/src/formConfig';\nimport text from '@tmagic/vue-text/src/formConfig';\n\nconst configs: Record = {\n 'button': button,\n 'container': container,\n 'img': img,\n 'iterator-container': iteratorContainer,\n 'overlay': overlay,\n 'page': page,\n 'page-fragment': pageFragment,\n 'page-fragment-container': pageFragmentContainer,\n 'qrcode': qrcode,\n 'text': text,\n};\n\nexport default configs;"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13],"mappings":"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"}