@opentiny/tiny-engine-toolbar-upload 2.11.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../meta.js","../src/assetImport.ts","../src/blockImport.ts","../src/schemaImport.ts","../src/OverwriteDialog.vue","../src/ImportNoticeDialog.vue","../index.ts"],"sourcesContent":["export default {\n id: 'engine.toolbars.upload',\n type: 'toolbars',\n title: 'upload',\n options: {\n icon: {\n default: 'upload'\n },\n renderType: 'button'\n }\n}\n","const replaceStringByMap = (value: string, replacements: Map<string, string>) => {\n let nextValue = String(value ?? '')\n\n replacements.forEach((targetValue, sourceValue) => {\n if (!sourceValue) return\n nextValue = nextValue.split(sourceValue).join(targetValue)\n })\n\n return nextValue\n}\n\nconst hashString = (value: string) => {\n let hash = 0\n\n for (let index = 0; index < value.length; index += 1) {\n hash = (hash * 31 + value.charCodeAt(index)) >>> 0\n }\n\n return hash.toString(36)\n}\n\nconst getAssetExtension = (fileName = '') => {\n const match = String(fileName).match(/(\\.[^.]+)$/)\n return match ? match[1].toLowerCase() : ''\n}\n\nconst normalizeResourceAssetExtension = (extension = '') => {\n const normalized = String(extension || '').toLowerCase()\n if (['.png', '.jpg', '.jpeg', '.svg'].includes(normalized)) {\n return normalized\n }\n\n return '.png'\n}\n\nconst getAssetBaseName = (filePath = '') => {\n const normalized = String(filePath || '').replace(/\\\\/g, '/')\n const fileName = normalized.split('/').pop() || normalized\n return fileName.replace(/\\.[^.]+$/, '')\n}\n\nconst sanitizeAssetSegment = (value = '') =>\n String(value || '')\n .replace(/[^a-zA-Z0-9_=+(){}[\\]\\u4e00-\\u9fa5-]+/g, '_')\n .replace(/_+/g, '_')\n .replace(/^_+|_+$/g, '')\n\nexport const getImportedAssets = (appSchema: any) =>\n Array.isArray(appSchema?.assets)\n ? appSchema.assets.filter((item: any) => item?.placeholder && item?.resourceData)\n : []\n\nexport const buildImportedAssetResourceName = (asset: any) => {\n const extension = normalizeResourceAssetExtension(getAssetExtension(asset?.name || asset?.filePath || '') || '.png')\n const baseName =\n sanitizeAssetSegment(getAssetBaseName(asset?.filePath || asset?.name || 'imported_asset')) || 'imported_asset'\n const fingerprint = hashString(`${asset?.filePath || ''}:${asset?.resourceData || ''}`).slice(0, 8)\n\n return `${baseName}_${fingerprint}${extension}`\n}\n\nexport const buildImportedAssetCreatePayload = (\n asset: any,\n resourceGroupId: number | string,\n requestMeta: { appId?: number | string; platformId?: number | string } = {}\n) => ({\n name: buildImportedAssetResourceName(asset),\n description: asset?.filePath || '',\n resourceGroupId,\n resourceData: asset?.resourceData || '',\n resourceUrl: '',\n category: 'image',\n ...(requestMeta?.appId ? { appId: requestMeta.appId } : {}),\n ...(requestMeta?.platformId ? { platformId: requestMeta.platformId } : {})\n})\n\nconst estimateImportedAssetPayloadSize = (payload: any) => JSON.stringify(payload || {}).length\n\nexport const splitImportedAssetCreatePayloads = (\n payloads: any[] = [],\n options: { maxBatchSize?: number; maxPayloadSize?: number } = {}\n) => {\n const maxBatchSize = Math.max(1, Number(options.maxBatchSize || 5))\n const maxPayloadSize = Math.max(1, Number(options.maxPayloadSize || 1_500_000))\n const batches: any[][] = []\n let currentBatch: any[] = []\n let currentPayloadSize = 2\n\n payloads.forEach((payload) => {\n const payloadSize = estimateImportedAssetPayloadSize(payload)\n const nextBatchSize = currentBatch.length + 1\n const nextPayloadSize = currentPayloadSize + payloadSize + (currentBatch.length ? 1 : 0)\n const shouldStartNewBatch =\n currentBatch.length > 0 && (nextBatchSize > maxBatchSize || nextPayloadSize > maxPayloadSize)\n\n if (shouldStartNewBatch) {\n batches.push(currentBatch)\n currentBatch = []\n currentPayloadSize = 2\n }\n\n currentBatch.push(payload)\n currentPayloadSize += payloadSize + (currentBatch.length > 1 ? 1 : 0)\n })\n\n if (currentBatch.length) {\n batches.push(currentBatch)\n }\n\n return batches\n}\n\nexport const replaceImportedAssetPlaceholders = (target: any, replacements: Map<string, string>) => {\n if (!target || replacements.size === 0) return target\n\n const walk = (value: any): any => {\n if (Array.isArray(value)) {\n return value.map((item) => walk(item))\n }\n\n if (typeof value === 'string') {\n return replaceStringByMap(value, replacements)\n }\n\n if (!value || typeof value !== 'object') {\n return value\n }\n\n Object.keys(value).forEach((key) => {\n value[key] = walk(value[key])\n })\n\n return value\n }\n\n return walk(target)\n}\n\nexport const getImportedAssetResourceUrl = (resource: any) =>\n resource?.resourceUrl ||\n resource?.thumbnailUrl ||\n resource?.thumbnail_url ||\n resource?.url ||\n resource?.downloadUrl ||\n resource?.download_url ||\n resource?.resource_url ||\n ''\n\nexport const findImportedAssetResource = (resources: any[] = [], target: any) => {\n const normalizedName = String(target?.name || '')\n const normalizedDescription = String(target?.description || '')\n\n return (\n resources.find((item: any) => String(item?.name || '') === normalizedName) ||\n resources.find((item: any) => normalizedDescription && String(item?.description || '') === normalizedDescription) ||\n null\n )\n}\n\nexport const normalizeImportedAssetResourceList = (response: any) => {\n if (Array.isArray(response)) return response\n\n const candidates = [response?.data, response?.data?.list, response?.data?.records, response?.list, response?.records]\n\n for (const candidate of candidates) {\n if (Array.isArray(candidate)) {\n return candidate\n }\n }\n\n return []\n}\n","const BLOCK_EVENT_KEY_PREFIX = 'on'\nconst BLOCK_EVENT_KEY_PATTERN = /^on(?:[A-Z]|Update:)/\n\nfunction toPascalCase(input = '') {\n return String(input)\n .split(/[-_\\s]+/)\n .filter(Boolean)\n .map((item) => item.charAt(0).toUpperCase() + item.slice(1))\n .join('')\n}\n\nfunction isImportedBlockEventBindingKey(key = '') {\n return BLOCK_EVENT_KEY_PATTERN.test(String(key))\n}\n\nfunction toCamelCase(input = '') {\n return String(input).replace(/-([a-zA-Z0-9])/g, (_match, segment) => String(segment).toUpperCase())\n}\n\nexport function normalizeImportedBlockPropName(propName = '') {\n const raw = String(propName || '').trim()\n if (!raw) return ''\n return toCamelCase(raw)\n}\n\nexport function toImportedBlockEventKey(eventName = '') {\n const raw = String(eventName || '').trim()\n if (!raw) return ''\n if (isImportedBlockEventBindingKey(raw)) return raw\n\n if (raw.startsWith('update:')) {\n const [head, ...rest] = raw.split(':')\n return `${BLOCK_EVENT_KEY_PREFIX}${toPascalCase(head)}:${rest.join(':')}`\n }\n\n return `${BLOCK_EVENT_KEY_PREFIX}${toPascalCase(raw)}`\n}\n\nexport function splitImportedBlockBindings(bindings: Record<string, any> = {}) {\n const props: Record<string, any> = {}\n const events: Record<string, any> = {}\n\n Object.entries(bindings || {}).forEach(([key, value]) => {\n if (!key || key === 'key' || key === 'ref') return\n if (isImportedBlockEventBindingKey(key)) {\n events[key] = value\n return\n }\n\n const normalizedKey = normalizeImportedBlockPropName(key)\n if (!normalizedKey) return\n props[normalizedKey] = value\n })\n\n return { props, events }\n}\n\nexport function buildImportedBlockEvents(emits: string[] = [], boundEvents: Record<string, any> = {}) {\n const events: Record<string, any> = {}\n const eventKeys = new Set<string>()\n\n ;(Array.isArray(emits) ? emits : []).forEach((eventName) => {\n const normalizedKey = toImportedBlockEventKey(eventName)\n if (normalizedKey) eventKeys.add(normalizedKey)\n })\n\n Object.keys(boundEvents || {}).forEach((key) => {\n if (isImportedBlockEventBindingKey(key)) eventKeys.add(key)\n })\n\n eventKeys.forEach((key) => {\n events[key] = {\n name: key,\n label: {\n zh_CN: key\n },\n description: {\n zh_CN: key\n }\n }\n })\n\n return events\n}\n\nexport function normalizeImportedBlockDefaultValue(value: any) {\n if (value === null || value === undefined) return ''\n if (typeof value === 'object' && value.type === 'JSExpression') {\n return { ...value }\n }\n return value\n}\n\nfunction getImportedBlockEmptyDefaultValueByType(type = '') {\n switch (String(type || '').toLowerCase()) {\n case 'number':\n return 0\n case 'boolean':\n return false\n case 'array':\n return []\n case 'object':\n return {}\n case 'function':\n return {\n type: 'JSFunction',\n value: 'function() {}'\n }\n case 'string':\n default:\n return ''\n }\n}\n\nfunction isImportedBlockLiteralExpression(value = '') {\n const raw = String(value || '').trim()\n if (!raw) return false\n\n if (/^['\"`].*['\"`]$/.test(raw)) return true\n if (/^-?\\d+(\\.\\d+)?$/.test(raw)) return true\n if (raw === 'true' || raw === 'false' || raw === 'null') return true\n if ((raw.startsWith('[') && raw.endsWith(']')) || (raw.startsWith('{') && raw.endsWith('}'))) return true\n\n return false\n}\n\nfunction isImportedBlockDynamicBindingValue(value: any) {\n return (\n value?.type === 'JSExpression' && typeof value?.value === 'string' && !isImportedBlockLiteralExpression(value.value)\n )\n}\n\nfunction isStringLiteralType(raw = '') {\n return /^['\"`].*['\"`]$/.test(String(raw).trim())\n}\n\nfunction isNumericLiteralType(raw = '') {\n return /^-?\\d+(\\.\\d+)?$/.test(String(raw).trim())\n}\n\nfunction normalizeImportedSingleBlockPropType(raw = '') {\n if (!raw) return ''\n\n const lowerType = raw.toLowerCase()\n\n if (['string', 'number', 'boolean', 'array', 'object', 'function'].includes(lowerType)) {\n return lowerType\n }\n\n if (lowerType === 'any' || lowerType === 'unknown' || lowerType === 'void' || lowerType === 'never') {\n return 'string'\n }\n\n if (\n lowerType.startsWith('array<') ||\n lowerType.startsWith('readonlyarray<') ||\n lowerType.endsWith('[]') ||\n lowerType.startsWith('tuple')\n ) {\n return 'array'\n }\n\n if (\n lowerType === 'record' ||\n lowerType.startsWith('record<') ||\n lowerType.startsWith('map<') ||\n lowerType.startsWith('{') ||\n lowerType === 'date'\n ) {\n return 'object'\n }\n\n if (lowerType.includes('=>') || lowerType.startsWith('(') || lowerType === 'fn') {\n return 'function'\n }\n\n if (isStringLiteralType(raw)) return 'string'\n if (isNumericLiteralType(raw)) return 'number'\n if (raw === 'true' || raw === 'false') return 'boolean'\n\n if (/^[A-Z]/.test(raw)) return 'object'\n\n return 'string'\n}\n\nfunction normalizeImportedUnionType(type = '') {\n const segments = String(type)\n .split('|')\n .map((item) => item.trim())\n .filter((item) => item && item !== 'undefined' && item !== 'null')\n\n if (!segments.length) return ''\n if (segments.every((item) => item === 'string' || isStringLiteralType(item))) return 'string'\n if (segments.every((item) => item === 'number' || isNumericLiteralType(item))) return 'number'\n if (segments.every((item) => item === 'boolean' || item === 'true' || item === 'false')) return 'boolean'\n\n const normalizedSegments = segments.map((item) => normalizeImportedSingleBlockPropType(item)).filter(Boolean)\n return normalizedSegments.length === 1 || new Set(normalizedSegments).size === 1 ? normalizedSegments[0] : 'string'\n}\n\nexport function normalizeImportedBlockPropType(type: any) {\n const raw = String(type || '').trim()\n if (!raw) return ''\n\n if (raw.toLowerCase().includes('|')) {\n return normalizeImportedUnionType(raw)\n }\n\n return normalizeImportedSingleBlockPropType(raw)\n}\n\nexport function inferImportedBlockPropTypeFromValue(value: any) {\n if (value === null || value === undefined) return 'string'\n if (Array.isArray(value)) return 'array'\n if (typeof value === 'object') {\n if (value.type === 'JSExpression') return 'string'\n if (value.type === 'JSFunction') return 'function'\n return 'object'\n }\n\n if (['string', 'number', 'boolean', 'function'].includes(typeof value)) {\n return typeof value\n }\n\n return 'string'\n}\n\nexport function resolveImportedBlockPropType(declaredType: any, value: any) {\n const normalizedDeclaredType = normalizeImportedBlockPropType(declaredType)\n if (normalizedDeclaredType) return normalizedDeclaredType\n return inferImportedBlockPropTypeFromValue(value)\n}\n\nexport function resolveImportedBlockDefaultValue(declaredDefault: any, value: any, propType?: string) {\n const normalizedDeclaredDefault = normalizeImportedBlockDefaultValue(declaredDefault)\n const normalizedValue = normalizeImportedBlockDefaultValue(value)\n const resolvedType = String(propType || resolveImportedBlockPropType(undefined, value) || 'string')\n\n if (isImportedBlockDynamicBindingValue(value)) {\n if (declaredDefault !== undefined) {\n return normalizedDeclaredDefault\n }\n\n return getImportedBlockEmptyDefaultValueByType(resolvedType)\n }\n\n if (value !== undefined) return normalizedValue\n if (declaredDefault !== undefined) return normalizedDeclaredDefault\n\n return getImportedBlockEmptyDefaultValueByType(resolvedType)\n}\n","const ROUTER_SCHEMA_COMPONENTS = new Set(['RouterLink', 'RouterView'])\n\nfunction normalizeImportedRouterComponents(schema: any) {\n const walk = (value: any) => {\n if (!value || typeof value !== 'object') return\n\n if (Array.isArray(value)) {\n value.forEach((item) => walk(item))\n return\n }\n\n if (ROUTER_SCHEMA_COMPONENTS.has(String(value.componentName || '')) && value.componentType === 'Block') {\n delete value.componentType\n }\n\n Object.values(value).forEach((item) => {\n if (item && typeof item === 'object') {\n walk(item)\n }\n })\n }\n\n walk(schema)\n return schema\n}\n\nfunction isEscaped(code: string, index: number) {\n let slashCount = 0\n\n for (let cursor = index - 1; cursor >= 0 && code[cursor] === '\\\\'; cursor -= 1) {\n slashCount += 1\n }\n\n return slashCount % 2 === 1\n}\n\nfunction stripOuterParens(code: string) {\n let text = String(code || '').trim()\n\n while (text.startsWith('(') && text.endsWith(')')) {\n let depth = 0\n let isBalanced = true\n\n for (let index = 0; index < text.length; index += 1) {\n const char = text[index]\n if (char === '(') depth += 1\n if (char === ')') depth -= 1\n\n if (depth === 0 && index < text.length - 1) {\n isBalanced = false\n break\n }\n }\n\n if (!isBalanced) break\n text = text.slice(1, -1).trim()\n }\n\n return text\n}\n\nfunction findMatchingBracket(code: string, startIndex: number, openChar: string, closeChar: string) {\n let depth = 0\n let quote = ''\n let isTemplate = false\n\n for (let index = startIndex; index < code.length; index += 1) {\n const char = code[index]\n\n if (quote) {\n if (char === quote && !isEscaped(code, index)) {\n quote = ''\n }\n continue\n }\n\n if (isTemplate) {\n if (char === '`' && !isEscaped(code, index)) {\n isTemplate = false\n }\n continue\n }\n\n if (char === \"'\" || char === '\"') {\n quote = char\n continue\n }\n\n if (char === '`') {\n isTemplate = true\n continue\n }\n\n if (char === openChar) {\n depth += 1\n continue\n }\n\n if (char === closeChar) {\n depth -= 1\n if (depth === 0) return index\n }\n }\n\n return -1\n}\n\nfunction findTopLevelOperator(code: string, operators: string[]) {\n let parenDepth = 0\n let braceDepth = 0\n let bracketDepth = 0\n let quote = ''\n let isTemplate = false\n\n for (let index = 0; index < code.length; index += 1) {\n const char = code[index]\n\n if (quote) {\n if (char === quote && !isEscaped(code, index)) {\n quote = ''\n }\n continue\n }\n\n if (isTemplate) {\n if (char === '`' && !isEscaped(code, index)) {\n isTemplate = false\n }\n continue\n }\n\n if (char === \"'\" || char === '\"') {\n quote = char\n continue\n }\n\n if (char === '`') {\n isTemplate = true\n continue\n }\n\n if (char === '(') parenDepth += 1\n if (char === ')') parenDepth -= 1\n if (char === '{') braceDepth += 1\n if (char === '}') braceDepth -= 1\n if (char === '[') bracketDepth += 1\n if (char === ']') bracketDepth -= 1\n\n if (parenDepth !== 0 || braceDepth !== 0 || bracketDepth !== 0) {\n continue\n }\n\n const matched = operators.find((operator) => code.startsWith(operator, index))\n if (matched) {\n return { index, operator: matched }\n }\n }\n\n return null\n}\n\nfunction splitTopLevelConditional(code: string) {\n const text = String(code || '')\n let parenDepth = 0\n let braceDepth = 0\n let bracketDepth = 0\n let quote = ''\n let isTemplate = false\n let questionIndex = -1\n let ternaryDepth = 0\n\n for (let index = 0; index < text.length; index += 1) {\n const char = text[index]\n\n if (quote) {\n if (char === quote && !isEscaped(text, index)) {\n quote = ''\n }\n continue\n }\n\n if (isTemplate) {\n if (char === '`' && !isEscaped(text, index)) {\n isTemplate = false\n }\n continue\n }\n\n if (char === \"'\" || char === '\"') {\n quote = char\n continue\n }\n\n if (char === '`') {\n isTemplate = true\n continue\n }\n\n if (char === '(') parenDepth += 1\n if (char === ')') parenDepth -= 1\n if (char === '{') braceDepth += 1\n if (char === '}') braceDepth -= 1\n if (char === '[') bracketDepth += 1\n if (char === ']') bracketDepth -= 1\n\n if (parenDepth !== 0 || braceDepth !== 0 || bracketDepth !== 0) {\n continue\n }\n\n if (char === '?') {\n if (questionIndex === -1) questionIndex = index\n ternaryDepth += 1\n continue\n }\n\n if (char === ':' && ternaryDepth > 0) {\n ternaryDepth -= 1\n if (ternaryDepth === 0 && questionIndex !== -1) {\n return {\n test: text.slice(0, questionIndex).trim(),\n consequent: text.slice(questionIndex + 1, index).trim(),\n alternate: text.slice(index + 1).trim()\n }\n }\n }\n }\n\n return null\n}\n\nfunction getFunctionShape(functionCode: string) {\n const code = stripOuterParens(functionCode)\n if (!code) return null\n\n const arrowInfo = findTopLevelOperator(code, ['=>'])\n if (arrowInfo) {\n const body = code.slice(arrowInfo.index + arrowInfo.operator.length).trim()\n if (body.startsWith('{')) {\n const bodyEnd = findMatchingBracket(body, 0, '{', '}')\n if (bodyEnd > 0) {\n return {\n type: 'block',\n body: body.slice(1, bodyEnd).trim()\n }\n }\n }\n\n return {\n type: 'expression',\n body: stripOuterParens(body)\n }\n }\n\n const functionIndex = code.indexOf('function')\n if (functionIndex !== -1) {\n const bodyStart = code.indexOf('{', functionIndex)\n if (bodyStart !== -1) {\n const bodyEnd = findMatchingBracket(code, bodyStart, '{', '}')\n if (bodyEnd > bodyStart) {\n return {\n type: 'block',\n body: code.slice(bodyStart + 1, bodyEnd).trim()\n }\n }\n }\n }\n\n return null\n}\n\nfunction findTopLevelKeywordPositions(code: string, keyword: string) {\n const positions: number[] = []\n let parenDepth = 0\n let braceDepth = 0\n let bracketDepth = 0\n let quote = ''\n let isTemplate = false\n\n for (let index = 0; index < code.length; index += 1) {\n const char = code[index]\n\n if (quote) {\n if (char === quote && !isEscaped(code, index)) {\n quote = ''\n }\n continue\n }\n\n if (isTemplate) {\n if (char === '`' && !isEscaped(code, index)) {\n isTemplate = false\n }\n continue\n }\n\n if (char === \"'\" || char === '\"') {\n quote = char\n continue\n }\n\n if (char === '`') {\n isTemplate = true\n continue\n }\n\n if (char === '(') parenDepth += 1\n if (char === ')') parenDepth -= 1\n if (char === '{') braceDepth += 1\n if (char === '}') braceDepth -= 1\n if (char === '[') bracketDepth += 1\n if (char === ']') bracketDepth -= 1\n\n if (parenDepth !== 0 || braceDepth !== 0 || bracketDepth !== 0) {\n continue\n }\n\n if (!code.startsWith(keyword, index)) {\n continue\n }\n\n const before = code[index - 1] || ''\n const after = code[index + keyword.length] || ''\n const isWordBoundaryBefore = !before || !/[A-Za-z0-9_$]/.test(before)\n const isWordBoundaryAfter = !after || !/[A-Za-z0-9_$]/.test(after)\n\n if (isWordBoundaryBefore && isWordBoundaryAfter) {\n positions.push(index)\n index += keyword.length - 1\n }\n }\n\n return positions\n}\n\nfunction extractTopLevelReturnExpression(body: string) {\n const returnPositions = findTopLevelKeywordPositions(body, 'return')\n if (returnPositions.length !== 1) return null\n\n const start = returnPositions[0]\n const expressionStart = start + 'return'.length\n let parenDepth = 0\n let braceDepth = 0\n let bracketDepth = 0\n let quote = ''\n let isTemplate = false\n let end = body.length\n\n for (let index = expressionStart; index < body.length; index += 1) {\n const char = body[index]\n\n if (quote) {\n if (char === quote && !isEscaped(body, index)) {\n quote = ''\n }\n continue\n }\n\n if (isTemplate) {\n if (char === '`' && !isEscaped(body, index)) {\n isTemplate = false\n }\n continue\n }\n\n if (char === \"'\" || char === '\"') {\n quote = char\n continue\n }\n\n if (char === '`') {\n isTemplate = true\n continue\n }\n\n if (char === '(') parenDepth += 1\n if (char === ')') parenDepth -= 1\n if (char === '{') braceDepth += 1\n if (char === '}') braceDepth -= 1\n if (char === '[') bracketDepth += 1\n if (char === ']') bracketDepth -= 1\n\n if (parenDepth === 0 && braceDepth === 0 && bracketDepth === 0 && char === ';') {\n end = index\n break\n }\n }\n\n return {\n start,\n end,\n expression: body.slice(expressionStart, end).trim()\n }\n}\n\nfunction getStateReferenceName(expression = '') {\n const match = String(expression || '')\n .trim()\n .match(/^(?:this\\.)?state\\.([A-Za-z_$][\\w$]*)$/)\n return match ? match[1] : ''\n}\n\nfunction inferDefaultValueFromExpression(expression: string, knownDefaults: Map<string, any>): any {\n const text = stripOuterParens(expression)\n if (!text) return undefined\n\n if (text.startsWith('[') && findMatchingBracket(text, 0, '[', ']') === text.length - 1) return []\n if (text.startsWith('{') && findMatchingBracket(text, 0, '{', '}') === text.length - 1) return {}\n\n if (/^(['\"]).*\\1$/.test(text)) {\n return text.slice(1, -1)\n }\n\n if (text.startsWith('`') && text.endsWith('`')) {\n return text.includes('${') ? '' : text.slice(1, -1)\n }\n\n if (/^-?\\d+(\\.\\d+)?$/.test(text)) {\n return Number(text)\n }\n\n if (text === 'true') return true\n if (text === 'false') return false\n if (text === 'null') return null\n\n if (/^!\\s*/.test(text)) return false\n\n if (/^-\\s*\\d+(\\.\\d+)?$/.test(text)) {\n return Number(text.replace(/\\s+/g, ''))\n }\n\n if (/\\.\\s*length$/.test(text)) return 0\n\n const stateKey = getStateReferenceName(text)\n if (stateKey && knownDefaults.has(stateKey)) {\n return knownDefaults.get(stateKey)\n }\n\n if (/\\.\\s*(filter|map|slice|concat|flat|flatMap)\\s*\\(/.test(text)) return []\n if (/\\.\\s*(trim|toLowerCase|toUpperCase|substring|substr)\\s*\\(/.test(text)) return ''\n if (/\\.\\s*(includes|startsWith|endsWith|some|every)\\s*\\(/.test(text)) return false\n\n const conditional = splitTopLevelConditional(text)\n if (conditional) {\n const consequent = inferDefaultValueFromExpression(conditional.consequent, knownDefaults)\n const alternate = inferDefaultValueFromExpression(conditional.alternate, knownDefaults)\n\n if (Array.isArray(consequent) && Array.isArray(alternate)) return []\n if (\n consequent &&\n alternate &&\n typeof consequent === 'object' &&\n typeof alternate === 'object' &&\n !Array.isArray(consequent) &&\n !Array.isArray(alternate)\n ) {\n return {}\n }\n if (typeof consequent === 'number' && typeof alternate === 'number') return 0\n if (typeof consequent === 'string' && typeof alternate === 'string') return ''\n if (typeof consequent === 'boolean' && typeof alternate === 'boolean') return false\n return consequent !== undefined ? consequent : alternate\n }\n\n const logicalOperator = findTopLevelOperator(text, ['||', '&&'])\n if (logicalOperator) {\n const left = inferDefaultValueFromExpression(text.slice(0, logicalOperator.index), knownDefaults)\n const right = inferDefaultValueFromExpression(\n text.slice(logicalOperator.index + logicalOperator.operator.length),\n knownDefaults\n )\n\n if (logicalOperator.operator === '||') return left !== undefined ? left : right\n if (logicalOperator.operator === '&&') return right !== undefined ? right : left\n }\n\n const comparisonOperator = findTopLevelOperator(text, ['===', '!==', '==', '!=', '>=', '<=', '>', '<'])\n if (comparisonOperator) return false\n\n const arithmeticOperator = findTopLevelOperator(text, ['+', '-', '*', '/', '%'])\n if (arithmeticOperator) return 0\n\n return undefined\n}\n\nfunction inferComputedDefaultValue(functionCode: string, knownDefaults: Map<string, any>) {\n const shape = getFunctionShape(functionCode)\n if (!shape) return undefined\n\n if (shape.type === 'expression') {\n return inferDefaultValueFromExpression(shape.body, knownDefaults)\n }\n\n const returnInfo = extractTopLevelReturnExpression(shape.body)\n return returnInfo ? inferDefaultValueFromExpression(returnInfo.expression, knownDefaults) : undefined\n}\n\nfunction stabilizeComputedGetterCode(code: string) {\n if (!code) return code\n\n return code.replace(\n /\\b(this\\.state\\.([A-Za-z_$][\\w$]*))\\.(reduce|filter|map|slice|concat|flat|flatMap|some|every|find|findIndex)\\(/g,\n '($1 || []).$3('\n )\n}\n\nfunction normalizeImportedRuntimeHelpers(code: string) {\n if (!code || typeof code !== 'string') return code\n\n return code\n .replace(/\\bthis\\.\\$router\\b/g, 'this.router')\n .replace(/\\bthis\\.\\$route\\b/g, 'this.route')\n .replace(/\\bawait\\s+(?:this\\.)?(?:\\$?nextTick)\\s*\\(\\s*\\)/g, 'await Promise.resolve()')\n .replace(\n /\\b(?:this\\.)?(?:\\$?nextTick)\\s*\\(\\s*([^()]+|\\([^)]*\\)\\s*=>[\\s\\S]*?|function[\\s\\S]*?)\\s*\\)/g,\n (_match, callback) => {\n return `Promise.resolve().then(${String(callback).trim()})`\n }\n )\n}\n\nfunction buildComputedGetterValue(key: string, computedValue: string) {\n const shape = getFunctionShape(computedValue)\n const safeComputedValue = normalizeImportedRuntimeHelpers(stabilizeComputedGetterCode(computedValue))\n const fallbackValue = `function getter() { this.state.${key} = (${safeComputedValue}).call(this) }`\n\n if (!shape) {\n return fallbackValue\n }\n\n if (shape.type === 'expression') {\n const body = normalizeImportedRuntimeHelpers(stabilizeComputedGetterCode(shape.body))\n return body ? `function getter() { this.state.${key} = ${body} }` : fallbackValue\n }\n\n const returnInfo = extractTopLevelReturnExpression(shape.body)\n if (!returnInfo?.expression) {\n return fallbackValue\n }\n\n const beforeReturn = shape.body.slice(0, returnInfo.start).trim()\n const getterStatements = [beforeReturn, `this.state.${key} = ${returnInfo.expression}`].filter(Boolean)\n\n return getterStatements.length\n ? `function getter() { ${normalizeImportedRuntimeHelpers(\n stabilizeComputedGetterCode(getterStatements.join('\\n'))\n )} }`\n : fallbackValue\n}\n\nfunction normalizeImportedRuntimeCodeEntries(target: any) {\n if (!target || typeof target !== 'object') return\n\n Object.values(target).forEach((entry: any) => {\n if (!entry || typeof entry !== 'object') return\n\n if (typeof entry.value === 'string') {\n entry.value = normalizeImportedRuntimeHelpers(entry.value)\n }\n\n if (entry.accessor?.getter?.value) {\n entry.accessor.getter.value = normalizeImportedRuntimeHelpers(entry.accessor.getter.value)\n }\n\n if (entry.accessor?.setter?.value) {\n entry.accessor.setter.value = normalizeImportedRuntimeHelpers(entry.accessor.setter.value)\n }\n })\n}\n\nfunction collectImportedTemplateRefNames(nodes: any, collector = new Set<string>()) {\n if (!nodes) return collector\n\n if (Array.isArray(nodes)) {\n nodes.forEach((item) => collectImportedTemplateRefNames(item, collector))\n return collector\n }\n\n if (typeof nodes !== 'object') return collector\n\n const refName = nodes?.props?.ref\n if (typeof refName === 'string' && refName.trim()) {\n collector.add(refName.trim())\n }\n\n Object.values(nodes).forEach((item) => {\n if (item && typeof item === 'object') {\n collectImportedTemplateRefNames(item, collector)\n }\n })\n\n return collector\n}\n\nfunction replaceImportedTemplateRefCode(code: string, refNames: Set<string>) {\n if (!code || !refNames.size) return code\n\n let nextCode = String(code)\n refNames.forEach((refName) => {\n const pattern = new RegExp(`\\\\bthis\\\\.state\\\\.${refName}\\\\b`, 'g')\n nextCode = nextCode.replace(pattern, `this.$('${refName}')`)\n })\n\n return nextCode\n}\n\nfunction normalizeImportedTemplateRefs(schema: any) {\n if (!schema || typeof schema !== 'object') return schema\n\n const refNames = collectImportedTemplateRefNames(schema.children)\n if (!refNames.size) return schema\n\n const walk = (value: any) => {\n if (!value || typeof value !== 'object') return\n\n if (Array.isArray(value)) {\n value.forEach(walk)\n return\n }\n\n if ((value.type === 'JSExpression' || value.type === 'JSFunction') && typeof value.value === 'string') {\n value.value = replaceImportedTemplateRefCode(value.value, refNames)\n return\n }\n\n if (value.accessor?.getter?.value) {\n value.accessor.getter.value = replaceImportedTemplateRefCode(value.accessor.getter.value, refNames)\n }\n\n if (value.accessor?.setter?.value) {\n value.accessor.setter.value = replaceImportedTemplateRefCode(value.accessor.setter.value, refNames)\n }\n\n Object.values(value).forEach((item) => walk(item))\n }\n\n walk(schema.methods)\n walk(schema.computed)\n walk(schema.lifeCycles)\n walk(schema.state)\n\n refNames.forEach((refName) => {\n if (schema.state && Object.prototype.hasOwnProperty.call(schema.state, refName)) {\n delete schema.state[refName]\n }\n })\n\n return schema\n}\n\nfunction normalizeSchemaComputedDefaults(schema: any) {\n if (!schema || typeof schema !== 'object' || !schema.state || !schema.computed) return schema\n\n const defaults = new Map<string, any>()\n Object.entries(schema.state || {}).forEach(([key, value]: [string, any]) => {\n if (value && typeof value === 'object' && Object.prototype.hasOwnProperty.call(value, 'defaultValue')) {\n defaults.set(key, value.defaultValue)\n }\n })\n\n Object.keys(schema.computed || {}).forEach((key) => {\n const stateEntry = schema.state?.[key]\n const computedEntry = schema.computed?.[key]\n if (!stateEntry?.accessor?.getter?.value || stateEntry.defaultValue !== undefined || !computedEntry?.value) return\n\n const inferredDefaultValue = inferComputedDefaultValue(computedEntry.value, defaults)\n if (inferredDefaultValue === undefined) return\n\n stateEntry.defaultValue = inferredDefaultValue\n defaults.set(key, inferredDefaultValue)\n })\n\n Object.keys(schema.computed || {}).forEach((key) => {\n const stateEntry = schema.state?.[key]\n const computedEntry = schema.computed?.[key]\n\n if (!stateEntry?.accessor?.getter || !computedEntry?.value) return\n\n stateEntry.accessor.getter.value = buildComputedGetterValue(key, computedEntry.value)\n })\n\n return schema\n}\n\nfunction getIconNameFromStateKey(stateKey: string) {\n if (!/^TinyIcon[A-Z0-9]/.test(stateKey || '')) return ''\n return `Icon${String(stateKey).slice('TinyIcon'.length)}`\n}\n\nfunction isImportedIconStateEntry(entry: any) {\n return (\n entry?.type === 'JSExpression' &&\n typeof entry?.value === 'string' &&\n /^icon[A-Z0-9].*\\(\\)$/.test(entry.value.trim())\n )\n}\n\nfunction createImportedIconSchema(iconName: string) {\n return {\n componentName: 'Icon',\n props: {\n name: iconName\n }\n }\n}\n\nfunction normalizeImportedIconStates(schema: any) {\n if (!schema || typeof schema !== 'object' || !schema.state) return schema\n\n const iconStateMap = new Map<string, string>()\n Object.entries(schema.state || {}).forEach(([key, value]: [string, any]) => {\n if (!isImportedIconStateEntry(value)) return\n\n const iconName = getIconNameFromStateKey(key)\n if (!iconName) return\n\n iconStateMap.set(key, iconName)\n })\n\n if (!iconStateMap.size) return schema\n\n const replaceIconExpression = (value: any) => {\n if (value?.type !== 'JSExpression' || typeof value?.value !== 'string') return value\n\n const expression = value.value.trim()\n for (const [stateKey, iconName] of iconStateMap.entries()) {\n if (expression === `this.state.${stateKey}` || expression === `state.${stateKey}` || expression === stateKey) {\n return createImportedIconSchema(iconName)\n }\n }\n\n return value\n }\n\n const walk = (node: any) => {\n if (!node || typeof node !== 'object') return\n\n if (Array.isArray(node)) {\n node.forEach(walk)\n return\n }\n\n if (node.props && typeof node.props === 'object') {\n Object.keys(node.props).forEach((key) => {\n node.props[key] = replaceIconExpression(node.props[key])\n })\n }\n\n Object.values(node).forEach((item) => {\n if (item && typeof item === 'object') {\n walk(item)\n }\n })\n }\n\n walk(schema.children)\n\n const hasStateReference = (value: any, stateKey: string): boolean => {\n if (!value || typeof value !== 'object') return false\n\n if (Array.isArray(value)) {\n return value.some((item) => hasStateReference(item, stateKey))\n }\n\n if (\n (value.type === 'JSExpression' || value.type === 'JSFunction') &&\n typeof value.value === 'string' &&\n (value.value.includes(`this.state.${stateKey}`) || value.value.includes(`state.${stateKey}`))\n ) {\n return true\n }\n\n return Object.values(value).some((item) => hasStateReference(item, stateKey))\n }\n\n iconStateMap.forEach((_iconName, stateKey) => {\n const stillReferenced =\n hasStateReference(schema.children, stateKey) ||\n hasStateReference(schema.methods, stateKey) ||\n hasStateReference(schema.computed, stateKey) ||\n hasStateReference(schema.lifeCycles, stateKey) ||\n hasStateReference(schema.schema, stateKey)\n\n if (!stillReferenced) {\n delete schema.state[stateKey]\n }\n })\n\n return schema\n}\n\nfunction normalizeImportedMultiRootSlots(schema: any) {\n const wrapSlotRoots = (value: any) => {\n if (!value || typeof value !== 'object') return value\n\n if (Array.isArray(value)) {\n value.forEach((item) => wrapSlotRoots(item))\n return value\n }\n\n if (value.type === 'JSSlot' && Array.isArray(value.value)) {\n value.value.forEach((item: any) => wrapSlotRoots(item))\n\n if (value.value.length > 1) {\n value.value = [\n {\n componentName: 'div',\n props: {},\n children: value.value\n }\n ]\n }\n\n return value\n }\n\n Object.values(value).forEach((item) => {\n if (item && typeof item === 'object') {\n wrapSlotRoots(item)\n }\n })\n\n return value\n }\n\n wrapSlotRoots(schema?.children)\n wrapSlotRoots(schema?.methods)\n wrapSlotRoots(schema?.computed)\n wrapSlotRoots(schema?.lifeCycles)\n wrapSlotRoots(schema?.schema)\n\n return schema\n}\n\nexport function normalizeImportedSchema(schema: any) {\n normalizeImportedRouterComponents(schema)\n normalizeSchemaComputedDefaults(schema)\n normalizeImportedRuntimeCodeEntries(schema?.methods)\n normalizeImportedRuntimeCodeEntries(schema?.computed)\n normalizeImportedRuntimeCodeEntries(schema?.lifeCycles)\n normalizeImportedRuntimeCodeEntries(schema?.state)\n normalizeImportedTemplateRefs(schema)\n normalizeImportedIconStates(schema)\n normalizeImportedMultiRootSlots(schema)\n return schema\n}\n\nexport function normalizeImportedAppSchema(appSchema: any) {\n if (!appSchema || typeof appSchema !== 'object') return appSchema\n ;(appSchema.pageSchema || []).forEach((schema: any) => normalizeImportedSchema(schema))\n ;(appSchema.blockSchemas || []).forEach((schema: any) => normalizeImportedSchema(schema))\n\n return appSchema\n}\n\nfunction cloneImportedRuntimeValue(value: any): any {\n if (Array.isArray(value)) {\n return value.map((item) => cloneImportedRuntimeValue(item))\n }\n\n if (!value || typeof value !== 'object') {\n return value\n }\n\n if (value.type === 'JSExpression' || value.type === 'JSFunction' || value.type === 'JSSlot') {\n return undefined\n }\n\n if (Object.prototype.hasOwnProperty.call(value, 'defaultValue')) {\n return cloneImportedRuntimeValue(value.defaultValue)\n }\n\n return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneImportedRuntimeValue(item)]))\n}\n\nfunction buildImportedRuntimeState(schemaState: Record<string, any> = {}) {\n return Object.fromEntries(Object.entries(schemaState).map(([key, value]) => [key, cloneImportedRuntimeValue(value)]))\n}\n\nfunction applyHydratedStateBackToSchema(schemaState: Record<string, any> = {}, runtimeState: Record<string, any> = {}) {\n Object.keys(schemaState || {}).forEach((key) => {\n const original = schemaState[key]\n const nextValue = runtimeState[key]\n\n if (original && typeof original === 'object' && Object.prototype.hasOwnProperty.call(original, 'defaultValue')) {\n original.defaultValue = nextValue\n return\n }\n\n schemaState[key] = nextValue\n })\n}\n\nasync function hydrateImportedSchemaState(schema: any) {\n if (!schema || typeof schema !== 'object' || !schema.state || !schema.lifeCycles) return schema\n\n const mountCode =\n schema.lifeCycles?.onMounted?.value || schema.lifeCycles?.mounted?.value || schema.lifeCycles?.created?.value\n if (!mountCode || typeof mountCode !== 'string') return schema\n\n const runtimeState = buildImportedRuntimeState(schema.state)\n const globalWindow = (globalThis as any).window\n const originalSetTimeout = globalWindow?.setTimeout\n const instance: Record<string, any> = {\n state: runtimeState,\n props: {},\n utils: {},\n emit: () => undefined,\n Modal: { message: () => undefined }\n }\n\n if (typeof runtimeState.appItems === 'undefined') {\n runtimeState.appItems = []\n }\n\n instance.wait = async () => undefined\n\n const pendingMethods = new Map<string, string>()\n Object.entries(schema.methods || {}).forEach(([key, value]: [string, any]) => {\n const code = value?.value\n if (typeof code === 'string' && code.trim()) {\n pendingMethods.set(key, code)\n }\n })\n\n let changed = true\n while (pendingMethods.size > 0 && changed) {\n changed = false\n\n for (const [key, code] of Array.from(pendingMethods.entries())) {\n try {\n const fn = new Function(`return (${code})`)()\n if (typeof fn !== 'function') continue\n\n instance[key] = fn.bind(instance)\n pendingMethods.delete(key)\n changed = true\n } catch {\n // ignore unresolved helper methods\n }\n }\n }\n\n try {\n if (globalWindow && typeof globalWindow.setTimeout !== 'function') {\n globalWindow.setTimeout = (handler: any) => {\n handler?.()\n return 0\n }\n }\n\n const lifecycle = new Function(`return (${mountCode})`)()\n if (typeof lifecycle === 'function') {\n const result = lifecycle.call(instance)\n if (result && typeof result.then === 'function') {\n await result\n }\n\n await Promise.resolve()\n await Promise.resolve()\n }\n } catch {\n return schema\n } finally {\n if (globalWindow) {\n globalWindow.setTimeout = originalSetTimeout\n }\n }\n\n applyHydratedStateBackToSchema(schema.state, runtimeState)\n return schema\n}\n\nexport async function hydrateImportedAppSchemaState(appSchema: any) {\n if (!appSchema || typeof appSchema !== 'object') return appSchema\n\n for (const schema of appSchema.pageSchema || []) {\n // only hydrate imported pages to avoid executing block-side logic unexpectedly\n await hydrateImportedSchemaState(schema)\n }\n\n return appSchema\n}\n","<template>\n <tiny-dialog-box\n class=\"overwrite-dialog\"\n :visible=\"visible\"\n :append-to-body=\"true\"\n :modal=\"true\"\n :lock-scroll=\"true\"\n width=\"520px\"\n title=\"选择要覆盖的页面\"\n @update:visible=\"onUpdateVisible\"\n >\n <div class=\"tip\">检测到以下同名页面,请勾选需要覆盖的项:</div>\n <div class=\"actions\">\n <tiny-switch :modelValue=\"allSelected\" @update:modelValue=\"onToggleAll\" />\n <span class=\"switch-label\">全选</span>\n </div>\n <div class=\"list\">\n <label class=\"row\" v-for=\"item in nameList\" :key=\"item\">\n <tiny-checkbox :modelValue=\"state.selected.has(item)\" @update:modelValue=\"(v:any)=>toggle(item, v)\">\n {{ item }}\n </tiny-checkbox>\n </label>\n </div>\n <template #footer>\n <div class=\"dialog-footer\">\n <tiny-button type=\"primary\" @click=\"emitConfirm\">确定</tiny-button>\n <tiny-button @click=\"emitCancel\">取消</tiny-button>\n </div>\n </template>\n </tiny-dialog-box>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, watch, computed } from 'vue'\nimport type { PropType } from 'vue'\nimport { DialogBox, Button, Checkbox, Switch } from '@opentiny/vue'\n\nexport default defineComponent({\n name: 'OverwriteDialog',\n components: {\n TinyDialogBox: DialogBox as any,\n TinyButton: Button as any,\n TinyCheckbox: Checkbox as any,\n TinySwitch: Switch as any\n },\n props: {\n visible: { type: Boolean, default: false },\n // 仅用到 name 字段,保持向后扩展空间\n duplicates: { type: Array as PropType<Array<{ name: string }>>, default: () => [] }\n },\n emits: ['confirm', 'cancel', 'update:visible'],\n setup(props, { emit }) {\n const state = reactive({\n selected: new Set<string>()\n })\n\n const nameList = computed(() => (props.duplicates || []).map((d) => d.name))\n\n watch(\n () => props.visible,\n (v) => {\n if (v) {\n // 打开时默认全选(替换为新 Set 以触发响应式)\n state.selected = new Set(nameList.value) as any\n } else {\n state.selected = new Set() as any\n }\n }\n )\n\n const toggle = (name: string, checked: boolean) => {\n const next = new Set(state.selected)\n if (checked) next.add(name)\n else next.delete(name)\n state.selected = next as any\n }\n\n const selectAll = () => {\n state.selected = new Set(nameList.value) as any\n }\n\n const clearAll = () => {\n state.selected = new Set() as any\n }\n\n const allSelected = computed(() => nameList.value.length > 0 && state.selected.size === nameList.value.length)\n\n const onToggleAll = (v: boolean) => {\n if (v) selectAll()\n else clearAll()\n }\n\n const emitCancel = () => {\n emit('update:visible', false)\n emit('cancel')\n }\n\n const emitConfirm = () => {\n emit('update:visible', false)\n emit('confirm', Array.from(state.selected))\n }\n\n const onUpdateVisible = (v: boolean) => emit('update:visible', v)\n\n return {\n state,\n nameList,\n toggle,\n selectAll,\n clearAll,\n allSelected,\n onToggleAll,\n emitCancel,\n emitConfirm,\n onUpdateVisible\n }\n }\n})\n</script>\n\n<style lang=\"less\" scoped>\n.overwrite-dialog {\n .tip {\n font-size: 12px;\n color: var(--te-toolbars-upload-text-color-primary);\n margin-bottom: 8px;\n }\n .actions {\n margin-bottom: 8px;\n display: flex;\n gap: 8px;\n align-items: center;\n }\n .switch-label {\n font-size: 12px;\n color: var(--te-toolbars-upload-text-color-primary);\n }\n .list {\n max-height: 320px;\n overflow: auto;\n padding: 6px 4px;\n border: 1px solid var(--te-toolbars-upload-bg-color);\n border-radius: 4px;\n }\n .row {\n display: block;\n padding: 4px 6px;\n margin: 2px 0;\n }\n}\n\n.dialog-footer {\n display: flex;\n justify-content: flex-end;\n gap: 6px;\n}\n</style>\n","<template>\n <tiny-dialog-box\n class=\"import-notice-dialog\"\n :visible=\"visible\"\n :append-to-body=\"true\"\n :modal=\"true\"\n :lock-scroll=\"true\"\n width=\"560px\"\n :title=\"dialogTitle\"\n @update:visible=\"onUpdateVisible\"\n >\n <div class=\"summary\">{{ summaryText }}</div>\n <div class=\"section\">\n <div class=\"section-title\">重点说明</div>\n <ul class=\"notice-list\">\n <li class=\"notice-item\" v-for=\"item in noticeItems\" :key=\"item\">\n {{ item }}\n </li>\n </ul>\n </div>\n <template #footer>\n <tiny-button type=\"primary\" @click=\"emitConfirm\">继续导入</tiny-button>\n <tiny-button @click=\"emitCancel\">取消</tiny-button>\n </template>\n </tiny-dialog-box>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { DialogBox, Button } from '@opentiny/vue'\n\nexport default defineComponent({\n name: 'ImportNoticeDialog',\n components: {\n TinyDialogBox: DialogBox as any,\n TinyButton: Button as any\n },\n props: {\n visible: { type: Boolean, default: false },\n uploadType: { type: String, default: 'directory' }\n },\n emits: ['confirm', 'cancel', 'update:visible'],\n setup(props, { emit }) {\n const importModeLabel = computed(() => (props.uploadType === 'zip' ? '项目压缩包' : '项目目录'))\n const dialogTitle = computed(() => `导入${importModeLabel.value}提醒`)\n const summaryText = computed(() =>\n props.uploadType === 'zip'\n ? '导入项目压缩包前,请确认压缩包内直接包含项目根结构,而不是只压缩 src 目录。若目录结构不符合约定,部分页面或配置会被跳过。'\n : '导入项目目录前,请确认你选择的是项目根目录,而不是 src 或其他子目录。若目录结构不符合约定,部分页面或配置会被跳过。'\n )\n const noticeItems = computed(() => {\n const modeSpecificItems =\n props.uploadType === 'zip'\n ? [\n '压缩包内应直接包含 src、public、package.json 等项目根文件,不建议只打包 src 目录。',\n '若压缩包里额外套了多层无关目录,固定路径可能匹配失败,导致页面、路由或资源识别不完整。'\n ]\n : [\n '请选择项目根目录,不要只选 src、views 或其他子目录。',\n '目录上传会按所选目录作为根路径解析;如果根目录选错,固定路径文件可能全部识别不到。'\n ]\n\n return [\n ...modeSpecificItems,\n '页面只会读取 src/views/**/*.vue,其他目录下的页面文件不会直接导入。',\n '页面里实际使用到的本地 .vue 子组件会转成区块,未使用的组件不会导入。',\n '路由、国际化、数据源、全局状态仅识别固定路径,如 src/router/index.js、src/i18n、src/lowcodeConfig/dataSource.json、src/stores/*.js。',\n '本地图片仅支持静态本地路径引用,远程地址和运行时拼接路径不会自动导入。',\n '若未识别到 src/views 页面,将不会创建页面,只会尽量导入全局配置、资源或区块。'\n ]\n })\n\n const emitConfirm = () => {\n emit('update:visible', false)\n emit('confirm')\n }\n\n const emitCancel = () => {\n emit('update:visible', false)\n emit('cancel')\n }\n\n const onUpdateVisible = (value: boolean) => emit('update:visible', value)\n\n return {\n importModeLabel,\n dialogTitle,\n summaryText,\n noticeItems,\n emitConfirm,\n emitCancel,\n onUpdateVisible\n }\n }\n})\n</script>\n\n<style lang=\"less\" scoped>\n.import-notice-dialog {\n .summary {\n font-size: 12px;\n line-height: 20px;\n color: var(--te-toolbars-upload-text-color-primary);\n margin-bottom: 12px;\n }\n\n .section {\n padding: 12px;\n border-radius: 8px;\n background: var(--te-toolbars-upload-bg-color);\n }\n\n .section-title {\n margin-bottom: 8px;\n font-size: 12px;\n font-weight: 600;\n color: var(--te-toolbars-upload-text-color-primary);\n }\n\n .notice-list {\n margin: 0;\n padding: 0;\n list-style: none;\n color: var(--te-toolbars-upload-text-color-secondary);\n font-size: 12px;\n line-height: 20px;\n }\n\n .notice-item {\n position: relative;\n padding-left: 16px;\n display: flex;\n align-items: center;\n }\n\n .notice-item + .notice-item {\n margin-top: 8px;\n padding-top: 8px;\n }\n\n .notice-item::before {\n content: '';\n position: absolute;\n left: 0;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--te-toolbars-upload-icon-color-primary);\n }\n\n code {\n padding: 0 4px;\n border-radius: 4px;\n color: var(--te-toolbars-upload-text-color-primary);\n background: var(--te-toolbars-upload-bg-color-primary);\n }\n}\n</style>\n","/**\n * Copyright (c) 2023 - present TinyEngine Authors.\n * Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.\n *\n * Use of this source code is governed by an MIT-style license.\n *\n * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,\n * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR\n * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.\n *\n */\n\nimport entry from './src/Main.vue'\nimport metaData from './meta'\nimport './src/styles/vars.less'\n\nexport default {\n ...metaData,\n entry\n}\n"],"names":["metaData","replaceStringByMap","value","replacements","nextValue","targetValue","sourceValue","hashString","hash","index","getAssetExtension","fileName","match","normalizeResourceAssetExtension","extension","normalized","getAssetBaseName","filePath","sanitizeAssetSegment","getImportedAssets","appSchema","item","buildImportedAssetResourceName","asset","baseName","fingerprint","buildImportedAssetCreatePayload","resourceGroupId","requestMeta","estimateImportedAssetPayloadSize","payload","splitImportedAssetCreatePayloads","payloads","options","maxBatchSize","maxPayloadSize","batches","currentBatch","currentPayloadSize","payloadSize","nextBatchSize","nextPayloadSize","replaceImportedAssetPlaceholders","target","walk","key","getImportedAssetResourceUrl","resource","findImportedAssetResource","resources","normalizedName","normalizedDescription","normalizeImportedAssetResourceList","response","candidates","_a","_b","candidate","BLOCK_EVENT_KEY_PREFIX","BLOCK_EVENT_KEY_PATTERN","toPascalCase","input","isImportedBlockEventBindingKey","toCamelCase","_match","segment","normalizeImportedBlockPropName","propName","raw","toImportedBlockEventKey","eventName","head","rest","splitImportedBlockBindings","bindings","props","events","normalizedKey","buildImportedBlockEvents","emits","boundEvents","eventKeys","normalizeImportedBlockDefaultValue","getImportedBlockEmptyDefaultValueByType","type","isImportedBlockLiteralExpression","isImportedBlockDynamicBindingValue","isStringLiteralType","isNumericLiteralType","normalizeImportedSingleBlockPropType","lowerType","normalizeImportedUnionType","segments","normalizedSegments","normalizeImportedBlockPropType","inferImportedBlockPropTypeFromValue","resolveImportedBlockPropType","declaredType","normalizedDeclaredType","resolveImportedBlockDefaultValue","declaredDefault","propType","normalizedDeclaredDefault","normalizedValue","resolvedType","ROUTER_SCHEMA_COMPONENTS","normalizeImportedRouterComponents","schema","isEscaped","code","slashCount","cursor","stripOuterParens","text","depth","isBalanced","char","findMatchingBracket","startIndex","openChar","closeChar","quote","isTemplate","findTopLevelOperator","operators","parenDepth","braceDepth","bracketDepth","matched","operator","splitTopLevelConditional","questionIndex","ternaryDepth","getFunctionShape","functionCode","arrowInfo","body","bodyEnd","functionIndex","bodyStart","findTopLevelKeywordPositions","keyword","positions","before","after","isWordBoundaryBefore","isWordBoundaryAfter","extractTopLevelReturnExpression","returnPositions","start","expressionStart","end","getStateReferenceName","expression","inferDefaultValueFromExpression","knownDefaults","stateKey","conditional","consequent","alternate","logicalOperator","left","right","inferComputedDefaultValue","shape","returnInfo","stabilizeComputedGetterCode","normalizeImportedRuntimeHelpers","callback","buildComputedGetterValue","computedValue","safeComputedValue","fallbackValue","getterStatements","normalizeImportedRuntimeCodeEntries","entry","_d","_c","collectImportedTemplateRefNames","nodes","collector","refName","replaceImportedTemplateRefCode","refNames","nextCode","pattern","normalizeImportedTemplateRefs","normalizeSchemaComputedDefaults","defaults","stateEntry","computedEntry","inferredDefaultValue","getIconNameFromStateKey","isImportedIconStateEntry","createImportedIconSchema","iconName","normalizeImportedIconStates","iconStateMap","replaceIconExpression","node","hasStateReference","_iconName","normalizeImportedMultiRootSlots","wrapSlotRoots","normalizeImportedSchema","normalizeImportedAppSchema","cloneImportedRuntimeValue","buildImportedRuntimeState","schemaState","applyHydratedStateBackToSchema","runtimeState","original","hydrateImportedSchemaState","mountCode","_f","_e","globalWindow","originalSetTimeout","instance","pendingMethods","changed","fn","handler","lifecycle","result","hydrateImportedAppSchemaState","_sfc_main$2","defineComponent","DialogBox","Button","Checkbox","Switch","emit","state","reactive","nameList","computed","d","watch","v","toggle","name","checked","next","selectAll","clearAll","allSelected","_hoisted_1","_hoisted_2","_hoisted_3","_createBlock","_component_tiny_dialog_box","_ctx","_withCtx","_createElementVNode","_createVNode","_component_tiny_button","_cache","_createTextVNode","_component_tiny_switch","_openBlock","_createElementBlock","_Fragment","_renderList","_component_tiny_checkbox","_toDisplayString","_sfc_main$1","importModeLabel","dialogTitle","summaryText","noticeItems"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFCAjBZ,KAAe;AAAA,EACb,GAAGT;AAAA,EACH,OAAA+K;AACF;"}
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .overwrite-dialog .tip[data-v-6a4ea9ee]{font-size:12px;color:var(--te-toolbars-upload-text-color-primary);margin-bottom:8px}.overwrite-dialog .actions[data-v-6a4ea9ee]{margin-bottom:8px;display:flex;gap:8px;align-items:center}.overwrite-dialog .switch-label[data-v-6a4ea9ee]{font-size:12px;color:var(--te-toolbars-upload-text-color-primary)}.overwrite-dialog .list[data-v-6a4ea9ee]{max-height:320px;overflow:auto;padding:6px 4px;border:1px solid var(--te-toolbars-upload-bg-color);border-radius:4px}.overwrite-dialog .row[data-v-6a4ea9ee]{display:block;padding:4px 6px;margin:2px 0}.dialog-footer[data-v-6a4ea9ee]{display:flex;justify-content:flex-end;gap:6px}.import-notice-dialog .summary[data-v-e728b435]{font-size:12px;line-height:20px;color:var(--te-toolbars-upload-text-color-primary);margin-bottom:12px}.import-notice-dialog .section[data-v-e728b435]{padding:12px;border-radius:8px;background:var(--te-toolbars-upload-bg-color)}.import-notice-dialog .section-title[data-v-e728b435]{margin-bottom:8px;font-size:12px;font-weight:600;color:var(--te-toolbars-upload-text-color-primary)}.import-notice-dialog .notice-list[data-v-e728b435]{margin:0;padding:0;list-style:none;color:var(--te-toolbars-upload-text-color-secondary);font-size:12px;line-height:20px}.import-notice-dialog .notice-item[data-v-e728b435]{position:relative;padding-left:16px;display:flex;align-items:center}.import-notice-dialog .notice-item+.notice-item[data-v-e728b435]{margin-top:8px;padding-top:8px}.import-notice-dialog .notice-item[data-v-e728b435]:before{content:"";position:absolute;left:0;width:6px;height:6px;border-radius:50%;background:var(--te-toolbars-upload-icon-color-primary)}.import-notice-dialog code[data-v-e728b435]{padding:0 4px;border-radius:4px;color:var(--te-toolbars-upload-text-color-primary);background:var(--te-toolbars-upload-bg-color-primary)}.toolbar-upload-option[data-v-5e60c20f]{display:flex;justify-content:center;flex-direction:column}.toolbar-upload-option .toolbar-upload-item[data-v-5e60c20f]{cursor:pointer;line-height:28px;margin:0 -16px;padding:0 16px}.toolbar-upload-option .toolbar-upload-item[data-v-5e60c20f]:hover{background-color:var(--te-toolbars-upload-bg-color-hover)}:root{--te-toolbars-upload-button-bg-color: var(--te-common-bg-prompt);--te-toolbars-upload-text-color-primary: var(--te-common-text-primary);--te-toolbars-upload-text-color-secondary: var(--te-common-text-secondary);--te-toolbars-upload-icon-color: var(--te-common-icon-secondary);--te-toolbars-upload-icon-color-primary: var(--te-common-icon-primary);--te-toolbars-upload-bg-color-primary: var(--te-common-bg-primary);--te-toolbars-upload-bg-color: var(--te-common-bg-default);--te-toolbars-upload-bg-color-hover: var(--te-common-bg-container);--te-toolbars-upload-border-color-checked: var(--te-common-border-checked);--te-toolbars-upload-border-color-divider: var(--te-common-border-divider)}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@opentiny/tiny-engine-toolbar-upload",
3
+ "version": "2.11.0-alpha.1",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "scripts": {
8
+ "build": "vite build"
9
+ },
10
+ "type": "module",
11
+ "main": "dist/index.js",
12
+ "module": "dist/index.js",
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/opentiny/tiny-engine",
19
+ "directory": "packages/toolbars/upload"
20
+ },
21
+ "bugs": {
22
+ "url": "https://github.com/opentiny/tiny-engine/issues"
23
+ },
24
+ "author": "OpenTiny Team",
25
+ "license": "MIT",
26
+ "homepage": "https://opentiny.design/tiny-engine",
27
+ "dependencies": {
28
+ "@babel/parser": "^7.23.0",
29
+ "@opentiny/tiny-engine-common": "2.11.0-alpha.1",
30
+ "@opentiny/tiny-engine-meta-register": "2.11.0-alpha.1",
31
+ "@opentiny/tiny-engine-utils": "2.11.0-alpha.1",
32
+ "@opentiny/tiny-engine-vue-to-dsl": "2.11.0-alpha.1"
33
+ },
34
+ "devDependencies": {
35
+ "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.11.0-alpha.1",
36
+ "@vitejs/plugin-vue": "^5.1.2",
37
+ "@vitejs/plugin-vue-jsx": "^4.0.1",
38
+ "vite": "^5.4.2"
39
+ },
40
+ "peerDependencies": {
41
+ "@opentiny/vue": "^3.20.0",
42
+ "@opentiny/vue-icon": "^3.20.0",
43
+ "vue": "^3.4.15"
44
+ },
45
+ "gitHead": "c823335a2e52399ec4d4e7a9ee486bca0dddb0e9"
46
+ }