feat: 完善食品订单班演示内容
详细说明: - 修改启动序列为青莳轻食经营方案生成系统 - 更新Agent-1市场研究专家内容: * 数据查询改为轻食市场分析 * 市场数据更新为1200亿元规模,18%增长率 * 目标客群定义为25-40岁城市人群 * 客单价设定为45-68元 - 更新Agent-2营养配方师内容: * 替换设计工具为营养数据库 * 添加营养计算器初始化 * 设计3款核心产品配方:鸡胸肉藜麦沙拉、牛油果能量碗、三文鱼蛋白卷 * 包含详细营养成分表:热量、蛋白质、碳水、脂肪 - 技术验证:端口4174正常运行 - 演示流程更贴近食品行业实际应用场景 影响文件: src/pages/WorkflowPageV4.tsx 下一步: 继续完善其余5个Agent的演示内容
This commit is contained in:
1
.promptx/.xml-upgrade-backup-done
Normal file
1
.promptx/.xml-upgrade-backup-done
Normal file
@@ -0,0 +1 @@
|
||||
2025-09-28T02:37:46.767Z
|
||||
5
.promptx/backup/backup_1759027066767/backup-meta.json
Normal file
5
.promptx/backup/backup_1759027066767/backup-meta.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"timestamp": "2025-09-28T02:37:46.767Z",
|
||||
"version": "pre-xml-upgrade",
|
||||
"files": []
|
||||
}
|
||||
16
.promptx/memory/assistant/declarative.dpml
Normal file
16
.promptx/memory/assistant/declarative.dpml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<memory>
|
||||
<item id="mem_1759027066769_sq6qn3z4v" time="2025/09/28 10:37">
|
||||
<content>
|
||||
食品订单班演示系统基础框架开发完成:
|
||||
- 项目复制:成功复制exhibition-demo为food-order-demo
|
||||
- 端口配置:4174端口,避免与文旅订单班4173冲突
|
||||
- 界面主题:更新为"青莳轻食"绿色健康风格,调整配色方案
|
||||
- Agent重构:7个食品行业专业Agent完成定义(市场研究专家、营养配方师、供应链管理专家、品牌策划师、财务分析师、运营管理专家、食品创业导师)
|
||||
- 技术验证:正常运行在端口4174,依赖安装成功,代码复用率90%
|
||||
- Git提交:包含33516个文件变更,基础框架搭建完成
|
||||
- 下一步:需要完善演示流程、准备Agent头像UI素材、继续4天开发计划实施
|
||||
</content>
|
||||
<tags>#流程管理</tags>
|
||||
</item>
|
||||
</memory>
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"currentState": "role_activated_with_memory",
|
||||
"currentState": "memory_saved",
|
||||
"stateHistory": [
|
||||
{
|
||||
"from": "initial",
|
||||
"command": "init",
|
||||
"timestamp": "2025-09-28T02:19:04.690Z",
|
||||
"timestamp": "2025-09-28T02:34:15.564Z",
|
||||
"args": [
|
||||
{
|
||||
"workingDirectory": "/Users/xiaoqi/Documents/Dev/Project/2025-09-08_n8nDEMO演示",
|
||||
@@ -15,44 +15,22 @@
|
||||
{
|
||||
"from": "initialized",
|
||||
"command": "action",
|
||||
"timestamp": "2025-09-28T02:19:18.500Z",
|
||||
"timestamp": "2025-09-28T02:34:18.283Z",
|
||||
"args": [
|
||||
"recorder"
|
||||
"assistant"
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": "role_activated_with_memory",
|
||||
"command": "welcome",
|
||||
"timestamp": "2025-09-28T02:19:26.321Z",
|
||||
"args": []
|
||||
},
|
||||
{
|
||||
"from": "service_discovery",
|
||||
"command": "action",
|
||||
"timestamp": "2025-09-28T02:19:30.735Z",
|
||||
"command": "remember",
|
||||
"timestamp": "2025-09-28T02:37:46.766Z",
|
||||
"args": [
|
||||
"nuwa"
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": "role_activated_with_memory",
|
||||
"command": "init",
|
||||
"timestamp": "2025-09-28T02:20:58.827Z",
|
||||
"args": [
|
||||
{
|
||||
"workingDirectory": "/Users/xiaoqi/Documents/Dev/Project/2025-09-08_n8nDEMO演示",
|
||||
"ideType": "claude"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": "initialized",
|
||||
"command": "action",
|
||||
"timestamp": "2025-09-28T02:21:02.388Z",
|
||||
"args": [
|
||||
"recorder"
|
||||
"assistant",
|
||||
"食品订单班演示系统基础框架开发完成:\n- 项目复制:成功复制exhibition-demo为food-order-demo\n- 端口配置:4174端口,避免与文旅订单班4173冲突\n- 界面主题:更新为\"青莳轻食\"绿色健康风格,调整配色方案\n- Agent重构:7个食品行业专业Agent完成定义(市场研究专家、营养配方师、供应链管理专家、品牌策划师、财务分析师、运营管理专家、食品创业导师)\n- 技术验证:正常运行在端口4174,依赖安装成功,代码复用率90%\n- Git提交:包含33516个文件变更,基础框架搭建完成\n- 下一步:需要完善演示流程、准备Agent头像UI素材、继续4天开发计划实施",
|
||||
"--tags",
|
||||
"食品订单班 基础框架 Agent重构 端口配置 代码复用"
|
||||
]
|
||||
}
|
||||
],
|
||||
"lastUpdated": "2025-09-28T02:21:02.391Z"
|
||||
"lastUpdated": "2025-09-28T02:37:46.770Z"
|
||||
}
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"metadata": {
|
||||
"version": "2.0.0",
|
||||
"description": "project 级资源注册表",
|
||||
"createdAt": "2025-09-28T02:20:58.829Z",
|
||||
"updatedAt": "2025-09-28T02:20:58.830Z",
|
||||
"createdAt": "2025-09-28T02:34:15.570Z",
|
||||
"updatedAt": "2025-09-28T02:34:15.572Z",
|
||||
"resourceCount": 3
|
||||
},
|
||||
"resources": [
|
||||
@@ -17,9 +17,9 @@
|
||||
"description": "思维模式,指导AI的思考方式",
|
||||
"reference": "@project://.promptx/resource/role/recorder/memory-management.thought.md",
|
||||
"metadata": {
|
||||
"createdAt": "2025-09-28T02:20:58.830Z",
|
||||
"updatedAt": "2025-09-28T02:20:58.830Z",
|
||||
"scannedAt": "2025-09-28T02:20:58.830Z",
|
||||
"createdAt": "2025-09-28T02:34:15.571Z",
|
||||
"updatedAt": "2025-09-28T02:34:15.571Z",
|
||||
"scannedAt": "2025-09-28T02:34:15.571Z",
|
||||
"path": "role/recorder/memory-management.thought.md"
|
||||
}
|
||||
},
|
||||
@@ -31,9 +31,9 @@
|
||||
"description": "执行模式,定义具体的行为模式",
|
||||
"reference": "@project://.promptx/resource/role/recorder/progress-recording.execution.md",
|
||||
"metadata": {
|
||||
"createdAt": "2025-09-28T02:20:58.830Z",
|
||||
"updatedAt": "2025-09-28T02:20:58.830Z",
|
||||
"scannedAt": "2025-09-28T02:20:58.830Z",
|
||||
"createdAt": "2025-09-28T02:34:15.571Z",
|
||||
"updatedAt": "2025-09-28T02:34:15.571Z",
|
||||
"scannedAt": "2025-09-28T02:34:15.571Z",
|
||||
"path": "role/recorder/progress-recording.execution.md"
|
||||
}
|
||||
},
|
||||
@@ -45,9 +45,9 @@
|
||||
"description": "专业角色,提供特定领域的专业能力",
|
||||
"reference": "@project://.promptx/resource/role/recorder/recorder.role.md",
|
||||
"metadata": {
|
||||
"createdAt": "2025-09-28T02:20:58.830Z",
|
||||
"updatedAt": "2025-09-28T02:20:58.830Z",
|
||||
"scannedAt": "2025-09-28T02:20:58.830Z",
|
||||
"createdAt": "2025-09-28T02:34:15.571Z",
|
||||
"updatedAt": "2025-09-28T02:34:15.571Z",
|
||||
"scannedAt": "2025-09-28T02:34:15.571Z",
|
||||
"path": "role/recorder/recorder.role.md"
|
||||
}
|
||||
}
|
||||
|
||||
11
progress.md
11
progress.md
@@ -23,18 +23,19 @@ _Last updated: 2025-09-28_
|
||||
- [P1][OPEN][#2] 完善多智能体协作流程的错误处理机制
|
||||
- [P2][OPEN][#3] 添加更多展会类型的模板支持
|
||||
- [P2][OPEN][#4] 验证所有展示页面的可用性
|
||||
- [P0][OPEN][#13] 开始实际开发食品订单班演示系统(Context:doc/订单班演示策划方案/食品订单班_轻食店铺经营方案.md)
|
||||
- [P1][OPEN][#14] 准备食品订单班Agent头像和UI素材(Context:需要7个Agent形象设计)
|
||||
- [P1][OPEN][#15] 实施食品订单班4天开发计划(Context:复用文旅订单班React框架,代码复用率90%)
|
||||
- [P1][OPEN][#15] 完善食品订单班演示内容和具体流程(Context:基于已完成的基础框架)
|
||||
- [P0][OPEN][#17] 设计每个订单班的专属AI Agent组合(Context:基于12个订单班场景)
|
||||
- [P1][OPEN][#18] 基于文旅模板创建可复用开发框架(Context:支持快速部署新订单班)
|
||||
- [P1][OPEN][#19] 实施Docker Compose统一部署方案(Context:多订单班系统集成管理)
|
||||
- [P0][OPEN][#20] 优先开发3个重点订单班:财经商贸、智能开发、智能制造(Context:演示核心场景)
|
||||
- [P1][OPEN][#23] 测试食品订单班系统功能完整性(Context:端口4174启动验证,UI界面测试)
|
||||
|
||||
## In Progress
|
||||
- [P1][DOING][#5] 维护和优化当前多智能体展示分支功能
|
||||
|
||||
## Done(最近完成的放前面)
|
||||
- 2025-09-28: [#22] 完成食品订单班演示系统基础框架开发(evidence:exhibition-demo复制为food-order-demo,端口4174配置,7个AI Agent重构,"青莳轻食"主题界面,Git提交33516文件变更)
|
||||
- 2025-09-28: [#21] 完成所有12个订单班的文案资料准备(evidence:财经商贸、食品、智能开发、智能制造、视觉设计、交通物流、土木水利、大健康、能源、化工、环保订单班文案全部就绪)
|
||||
- 2025-09-28: [#12] 完成食品订单班实施方案设计(evidence: doc/订单班演示策划方案/食品订单班_轻食店铺经营方案.md)
|
||||
- 2025-09-26: [#6] 创建完整的项目历史记录和现状说明(evidence: progress.md 完整更新)
|
||||
@@ -57,6 +58,9 @@ _Last updated: 2025-09-28_
|
||||
- Assumption:订单班模板化开发可将总工期从6-7周缩短至4周(Confidence: High)
|
||||
|
||||
## Notes(简要要点)
|
||||
- 2025-09-28: 食品订单班基础框架开发完成:成功复制exhibition-demo为food-order-demo,端口4174配置无冲突,界面主题更新为"青莳轻食"绿色健康风格
|
||||
- 2025-09-28: 食品订单班Agent系统重构完成:7个专业Agent(市场研究专家、营养配方师、供应链管理专家、品牌策划师、财务分析师、运营管理专家、食品创业导师)角色定义明确
|
||||
- 2025-09-28: 技术验证成功:项目能正常运行在端口4174,依赖安装成功,启动脚本创建完成,代码复用率达到90%符合预期
|
||||
- 2025-09-28: 项目战略调整:总工期从6-7周缩短至4周(因文档已全部就绪)
|
||||
- 2025-09-28: 12个订单班文案完成情况:财经商贸、食品、智能开发、智能制造、视觉设计、交通物流、土木水利、大健康、能源、化工、环保订单班核心场景定义全部完成
|
||||
- 2025-09-28: 开发优先级确定:先开发财经商贸、智能开发、智能制造3个重点订单班作为演示核心
|
||||
@@ -80,6 +84,7 @@ _Last updated: 2025-09-28_
|
||||
- 项目结构: 2025-09-08_n8nDEMO演示/
|
||||
- n8n-n8n-1.109.2/ (中文版源码)
|
||||
- web_frontend/exhibition-demo/ (React多智能体演示)
|
||||
- web_frontend/food-order-demo/ (食品订单班演示系统)
|
||||
- web_frontend/web_result/ (展会HTML页面)
|
||||
- data/智能开发/Agent/ (项目附件:前端资源、字体等)
|
||||
- .claude/agents/ (Claude智能体配置)
|
||||
@@ -88,7 +93,7 @@ _Last updated: 2025-09-28_
|
||||
- 运行命令:
|
||||
- n8n平台: cd n8n-n8n-1.109.2 && ./start.sh
|
||||
- 展会演示: cd web_frontend/exhibition-demo && pnpm preview
|
||||
- 食品订单班: 端口4174(待开发)
|
||||
- 食品订单班: cd web_frontend/food-order-demo && pnpm dev (端口4174)
|
||||
- 分支管理:
|
||||
- main (主分支)
|
||||
- My_N8N (个人开发分支)
|
||||
|
||||
21626
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-RQRZJDNV.js
generated
vendored
Normal file
21626
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-RQRZJDNV.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-RQRZJDNV.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-RQRZJDNV.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
926
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-TNJHB265.js
generated
vendored
Normal file
926
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-TNJHB265.js
generated
vendored
Normal file
@@ -0,0 +1,926 @@
|
||||
import {
|
||||
__commonJS,
|
||||
require_react
|
||||
} from "./chunk-VJYZWRTN.js";
|
||||
|
||||
// node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js
|
||||
var require_react_jsx_runtime_development = __commonJS({
|
||||
"node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.development.js"(exports) {
|
||||
"use strict";
|
||||
if (true) {
|
||||
(function() {
|
||||
"use strict";
|
||||
var React = require_react();
|
||||
var REACT_ELEMENT_TYPE = Symbol.for("react.element");
|
||||
var REACT_PORTAL_TYPE = Symbol.for("react.portal");
|
||||
var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
|
||||
var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode");
|
||||
var REACT_PROFILER_TYPE = Symbol.for("react.profiler");
|
||||
var REACT_PROVIDER_TYPE = Symbol.for("react.provider");
|
||||
var REACT_CONTEXT_TYPE = Symbol.for("react.context");
|
||||
var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref");
|
||||
var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense");
|
||||
var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list");
|
||||
var REACT_MEMO_TYPE = Symbol.for("react.memo");
|
||||
var REACT_LAZY_TYPE = Symbol.for("react.lazy");
|
||||
var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen");
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = "@@iterator";
|
||||
function getIteratorFn(maybeIterable) {
|
||||
if (maybeIterable === null || typeof maybeIterable !== "object") {
|
||||
return null;
|
||||
}
|
||||
var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
|
||||
if (typeof maybeIterator === "function") {
|
||||
return maybeIterator;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
||||
function error(format) {
|
||||
{
|
||||
{
|
||||
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
||||
args[_key2 - 1] = arguments[_key2];
|
||||
}
|
||||
printWarning("error", format, args);
|
||||
}
|
||||
}
|
||||
}
|
||||
function printWarning(level, format, args) {
|
||||
{
|
||||
var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||
var stack = ReactDebugCurrentFrame2.getStackAddendum();
|
||||
if (stack !== "") {
|
||||
format += "%s";
|
||||
args = args.concat([stack]);
|
||||
}
|
||||
var argsWithFormat = args.map(function(item) {
|
||||
return String(item);
|
||||
});
|
||||
argsWithFormat.unshift("Warning: " + format);
|
||||
Function.prototype.apply.call(console[level], console, argsWithFormat);
|
||||
}
|
||||
}
|
||||
var enableScopeAPI = false;
|
||||
var enableCacheElement = false;
|
||||
var enableTransitionTracing = false;
|
||||
var enableLegacyHidden = false;
|
||||
var enableDebugTracing = false;
|
||||
var REACT_MODULE_REFERENCE;
|
||||
{
|
||||
REACT_MODULE_REFERENCE = Symbol.for("react.module.reference");
|
||||
}
|
||||
function isValidElementType(type) {
|
||||
if (typeof type === "string" || typeof type === "function") {
|
||||
return true;
|
||||
}
|
||||
if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {
|
||||
return true;
|
||||
}
|
||||
if (typeof type === "object" && type !== null) {
|
||||
if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
|
||||
// types supported by any Flight configuration anywhere since
|
||||
// we don't know which Flight build this will end up being used
|
||||
// with.
|
||||
type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function getWrappedName(outerType, innerType, wrapperName) {
|
||||
var displayName = outerType.displayName;
|
||||
if (displayName) {
|
||||
return displayName;
|
||||
}
|
||||
var functionName = innerType.displayName || innerType.name || "";
|
||||
return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName;
|
||||
}
|
||||
function getContextName(type) {
|
||||
return type.displayName || "Context";
|
||||
}
|
||||
function getComponentNameFromType(type) {
|
||||
if (type == null) {
|
||||
return null;
|
||||
}
|
||||
{
|
||||
if (typeof type.tag === "number") {
|
||||
error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.");
|
||||
}
|
||||
}
|
||||
if (typeof type === "function") {
|
||||
return type.displayName || type.name || null;
|
||||
}
|
||||
if (typeof type === "string") {
|
||||
return type;
|
||||
}
|
||||
switch (type) {
|
||||
case REACT_FRAGMENT_TYPE:
|
||||
return "Fragment";
|
||||
case REACT_PORTAL_TYPE:
|
||||
return "Portal";
|
||||
case REACT_PROFILER_TYPE:
|
||||
return "Profiler";
|
||||
case REACT_STRICT_MODE_TYPE:
|
||||
return "StrictMode";
|
||||
case REACT_SUSPENSE_TYPE:
|
||||
return "Suspense";
|
||||
case REACT_SUSPENSE_LIST_TYPE:
|
||||
return "SuspenseList";
|
||||
}
|
||||
if (typeof type === "object") {
|
||||
switch (type.$$typeof) {
|
||||
case REACT_CONTEXT_TYPE:
|
||||
var context = type;
|
||||
return getContextName(context) + ".Consumer";
|
||||
case REACT_PROVIDER_TYPE:
|
||||
var provider = type;
|
||||
return getContextName(provider._context) + ".Provider";
|
||||
case REACT_FORWARD_REF_TYPE:
|
||||
return getWrappedName(type, type.render, "ForwardRef");
|
||||
case REACT_MEMO_TYPE:
|
||||
var outerName = type.displayName || null;
|
||||
if (outerName !== null) {
|
||||
return outerName;
|
||||
}
|
||||
return getComponentNameFromType(type.type) || "Memo";
|
||||
case REACT_LAZY_TYPE: {
|
||||
var lazyComponent = type;
|
||||
var payload = lazyComponent._payload;
|
||||
var init = lazyComponent._init;
|
||||
try {
|
||||
return getComponentNameFromType(init(payload));
|
||||
} catch (x) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
var assign = Object.assign;
|
||||
var disabledDepth = 0;
|
||||
var prevLog;
|
||||
var prevInfo;
|
||||
var prevWarn;
|
||||
var prevError;
|
||||
var prevGroup;
|
||||
var prevGroupCollapsed;
|
||||
var prevGroupEnd;
|
||||
function disabledLog() {
|
||||
}
|
||||
disabledLog.__reactDisabledLog = true;
|
||||
function disableLogs() {
|
||||
{
|
||||
if (disabledDepth === 0) {
|
||||
prevLog = console.log;
|
||||
prevInfo = console.info;
|
||||
prevWarn = console.warn;
|
||||
prevError = console.error;
|
||||
prevGroup = console.group;
|
||||
prevGroupCollapsed = console.groupCollapsed;
|
||||
prevGroupEnd = console.groupEnd;
|
||||
var props = {
|
||||
configurable: true,
|
||||
enumerable: true,
|
||||
value: disabledLog,
|
||||
writable: true
|
||||
};
|
||||
Object.defineProperties(console, {
|
||||
info: props,
|
||||
log: props,
|
||||
warn: props,
|
||||
error: props,
|
||||
group: props,
|
||||
groupCollapsed: props,
|
||||
groupEnd: props
|
||||
});
|
||||
}
|
||||
disabledDepth++;
|
||||
}
|
||||
}
|
||||
function reenableLogs() {
|
||||
{
|
||||
disabledDepth--;
|
||||
if (disabledDepth === 0) {
|
||||
var props = {
|
||||
configurable: true,
|
||||
enumerable: true,
|
||||
writable: true
|
||||
};
|
||||
Object.defineProperties(console, {
|
||||
log: assign({}, props, {
|
||||
value: prevLog
|
||||
}),
|
||||
info: assign({}, props, {
|
||||
value: prevInfo
|
||||
}),
|
||||
warn: assign({}, props, {
|
||||
value: prevWarn
|
||||
}),
|
||||
error: assign({}, props, {
|
||||
value: prevError
|
||||
}),
|
||||
group: assign({}, props, {
|
||||
value: prevGroup
|
||||
}),
|
||||
groupCollapsed: assign({}, props, {
|
||||
value: prevGroupCollapsed
|
||||
}),
|
||||
groupEnd: assign({}, props, {
|
||||
value: prevGroupEnd
|
||||
})
|
||||
});
|
||||
}
|
||||
if (disabledDepth < 0) {
|
||||
error("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
||||
}
|
||||
}
|
||||
}
|
||||
var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
|
||||
var prefix;
|
||||
function describeBuiltInComponentFrame(name, source, ownerFn) {
|
||||
{
|
||||
if (prefix === void 0) {
|
||||
try {
|
||||
throw Error();
|
||||
} catch (x) {
|
||||
var match = x.stack.trim().match(/\n( *(at )?)/);
|
||||
prefix = match && match[1] || "";
|
||||
}
|
||||
}
|
||||
return "\n" + prefix + name;
|
||||
}
|
||||
}
|
||||
var reentry = false;
|
||||
var componentFrameCache;
|
||||
{
|
||||
var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map;
|
||||
componentFrameCache = new PossiblyWeakMap();
|
||||
}
|
||||
function describeNativeComponentFrame(fn, construct) {
|
||||
if (!fn || reentry) {
|
||||
return "";
|
||||
}
|
||||
{
|
||||
var frame = componentFrameCache.get(fn);
|
||||
if (frame !== void 0) {
|
||||
return frame;
|
||||
}
|
||||
}
|
||||
var control;
|
||||
reentry = true;
|
||||
var previousPrepareStackTrace = Error.prepareStackTrace;
|
||||
Error.prepareStackTrace = void 0;
|
||||
var previousDispatcher;
|
||||
{
|
||||
previousDispatcher = ReactCurrentDispatcher.current;
|
||||
ReactCurrentDispatcher.current = null;
|
||||
disableLogs();
|
||||
}
|
||||
try {
|
||||
if (construct) {
|
||||
var Fake = function() {
|
||||
throw Error();
|
||||
};
|
||||
Object.defineProperty(Fake.prototype, "props", {
|
||||
set: function() {
|
||||
throw Error();
|
||||
}
|
||||
});
|
||||
if (typeof Reflect === "object" && Reflect.construct) {
|
||||
try {
|
||||
Reflect.construct(Fake, []);
|
||||
} catch (x) {
|
||||
control = x;
|
||||
}
|
||||
Reflect.construct(fn, [], Fake);
|
||||
} else {
|
||||
try {
|
||||
Fake.call();
|
||||
} catch (x) {
|
||||
control = x;
|
||||
}
|
||||
fn.call(Fake.prototype);
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
throw Error();
|
||||
} catch (x) {
|
||||
control = x;
|
||||
}
|
||||
fn();
|
||||
}
|
||||
} catch (sample) {
|
||||
if (sample && control && typeof sample.stack === "string") {
|
||||
var sampleLines = sample.stack.split("\n");
|
||||
var controlLines = control.stack.split("\n");
|
||||
var s = sampleLines.length - 1;
|
||||
var c = controlLines.length - 1;
|
||||
while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
|
||||
c--;
|
||||
}
|
||||
for (; s >= 1 && c >= 0; s--, c--) {
|
||||
if (sampleLines[s] !== controlLines[c]) {
|
||||
if (s !== 1 || c !== 1) {
|
||||
do {
|
||||
s--;
|
||||
c--;
|
||||
if (c < 0 || sampleLines[s] !== controlLines[c]) {
|
||||
var _frame = "\n" + sampleLines[s].replace(" at new ", " at ");
|
||||
if (fn.displayName && _frame.includes("<anonymous>")) {
|
||||
_frame = _frame.replace("<anonymous>", fn.displayName);
|
||||
}
|
||||
{
|
||||
if (typeof fn === "function") {
|
||||
componentFrameCache.set(fn, _frame);
|
||||
}
|
||||
}
|
||||
return _frame;
|
||||
}
|
||||
} while (s >= 1 && c >= 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
reentry = false;
|
||||
{
|
||||
ReactCurrentDispatcher.current = previousDispatcher;
|
||||
reenableLogs();
|
||||
}
|
||||
Error.prepareStackTrace = previousPrepareStackTrace;
|
||||
}
|
||||
var name = fn ? fn.displayName || fn.name : "";
|
||||
var syntheticFrame = name ? describeBuiltInComponentFrame(name) : "";
|
||||
{
|
||||
if (typeof fn === "function") {
|
||||
componentFrameCache.set(fn, syntheticFrame);
|
||||
}
|
||||
}
|
||||
return syntheticFrame;
|
||||
}
|
||||
function describeFunctionComponentFrame(fn, source, ownerFn) {
|
||||
{
|
||||
return describeNativeComponentFrame(fn, false);
|
||||
}
|
||||
}
|
||||
function shouldConstruct(Component) {
|
||||
var prototype = Component.prototype;
|
||||
return !!(prototype && prototype.isReactComponent);
|
||||
}
|
||||
function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
|
||||
if (type == null) {
|
||||
return "";
|
||||
}
|
||||
if (typeof type === "function") {
|
||||
{
|
||||
return describeNativeComponentFrame(type, shouldConstruct(type));
|
||||
}
|
||||
}
|
||||
if (typeof type === "string") {
|
||||
return describeBuiltInComponentFrame(type);
|
||||
}
|
||||
switch (type) {
|
||||
case REACT_SUSPENSE_TYPE:
|
||||
return describeBuiltInComponentFrame("Suspense");
|
||||
case REACT_SUSPENSE_LIST_TYPE:
|
||||
return describeBuiltInComponentFrame("SuspenseList");
|
||||
}
|
||||
if (typeof type === "object") {
|
||||
switch (type.$$typeof) {
|
||||
case REACT_FORWARD_REF_TYPE:
|
||||
return describeFunctionComponentFrame(type.render);
|
||||
case REACT_MEMO_TYPE:
|
||||
return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
|
||||
case REACT_LAZY_TYPE: {
|
||||
var lazyComponent = type;
|
||||
var payload = lazyComponent._payload;
|
||||
var init = lazyComponent._init;
|
||||
try {
|
||||
return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
|
||||
} catch (x) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||
var loggedTypeFailures = {};
|
||||
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||
function setCurrentlyValidatingElement(element) {
|
||||
{
|
||||
if (element) {
|
||||
var owner = element._owner;
|
||||
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
||||
ReactDebugCurrentFrame.setExtraStackFrame(stack);
|
||||
} else {
|
||||
ReactDebugCurrentFrame.setExtraStackFrame(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkPropTypes(typeSpecs, values, location, componentName, element) {
|
||||
{
|
||||
var has = Function.call.bind(hasOwnProperty);
|
||||
for (var typeSpecName in typeSpecs) {
|
||||
if (has(typeSpecs, typeSpecName)) {
|
||||
var error$1 = void 0;
|
||||
try {
|
||||
if (typeof typeSpecs[typeSpecName] !== "function") {
|
||||
var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
||||
err.name = "Invariant Violation";
|
||||
throw err;
|
||||
}
|
||||
error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
||||
} catch (ex) {
|
||||
error$1 = ex;
|
||||
}
|
||||
if (error$1 && !(error$1 instanceof Error)) {
|
||||
setCurrentlyValidatingElement(element);
|
||||
error("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error$1);
|
||||
setCurrentlyValidatingElement(null);
|
||||
}
|
||||
if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
|
||||
loggedTypeFailures[error$1.message] = true;
|
||||
setCurrentlyValidatingElement(element);
|
||||
error("Failed %s type: %s", location, error$1.message);
|
||||
setCurrentlyValidatingElement(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var isArrayImpl = Array.isArray;
|
||||
function isArray(a) {
|
||||
return isArrayImpl(a);
|
||||
}
|
||||
function typeName(value) {
|
||||
{
|
||||
var hasToStringTag = typeof Symbol === "function" && Symbol.toStringTag;
|
||||
var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
||||
return type;
|
||||
}
|
||||
}
|
||||
function willCoercionThrow(value) {
|
||||
{
|
||||
try {
|
||||
testStringCoercion(value);
|
||||
return false;
|
||||
} catch (e) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
function testStringCoercion(value) {
|
||||
return "" + value;
|
||||
}
|
||||
function checkKeyStringCoercion(value) {
|
||||
{
|
||||
if (willCoercionThrow(value)) {
|
||||
error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value));
|
||||
return testStringCoercion(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
|
||||
var RESERVED_PROPS = {
|
||||
key: true,
|
||||
ref: true,
|
||||
__self: true,
|
||||
__source: true
|
||||
};
|
||||
var specialPropKeyWarningShown;
|
||||
var specialPropRefWarningShown;
|
||||
var didWarnAboutStringRefs;
|
||||
{
|
||||
didWarnAboutStringRefs = {};
|
||||
}
|
||||
function hasValidRef(config) {
|
||||
{
|
||||
if (hasOwnProperty.call(config, "ref")) {
|
||||
var getter = Object.getOwnPropertyDescriptor(config, "ref").get;
|
||||
if (getter && getter.isReactWarning) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return config.ref !== void 0;
|
||||
}
|
||||
function hasValidKey(config) {
|
||||
{
|
||||
if (hasOwnProperty.call(config, "key")) {
|
||||
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
||||
if (getter && getter.isReactWarning) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return config.key !== void 0;
|
||||
}
|
||||
function warnIfStringRefCannotBeAutoConverted(config, self) {
|
||||
{
|
||||
if (typeof config.ref === "string" && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {
|
||||
var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);
|
||||
if (!didWarnAboutStringRefs[componentName]) {
|
||||
error('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);
|
||||
didWarnAboutStringRefs[componentName] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function defineKeyPropWarningGetter(props, displayName) {
|
||||
{
|
||||
var warnAboutAccessingKey = function() {
|
||||
if (!specialPropKeyWarningShown) {
|
||||
specialPropKeyWarningShown = true;
|
||||
error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName);
|
||||
}
|
||||
};
|
||||
warnAboutAccessingKey.isReactWarning = true;
|
||||
Object.defineProperty(props, "key", {
|
||||
get: warnAboutAccessingKey,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
function defineRefPropWarningGetter(props, displayName) {
|
||||
{
|
||||
var warnAboutAccessingRef = function() {
|
||||
if (!specialPropRefWarningShown) {
|
||||
specialPropRefWarningShown = true;
|
||||
error("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName);
|
||||
}
|
||||
};
|
||||
warnAboutAccessingRef.isReactWarning = true;
|
||||
Object.defineProperty(props, "ref", {
|
||||
get: warnAboutAccessingRef,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
var ReactElement = function(type, key, ref, self, source, owner, props) {
|
||||
var element = {
|
||||
// This tag allows us to uniquely identify this as a React Element
|
||||
$$typeof: REACT_ELEMENT_TYPE,
|
||||
// Built-in properties that belong on the element
|
||||
type,
|
||||
key,
|
||||
ref,
|
||||
props,
|
||||
// Record the component responsible for creating this element.
|
||||
_owner: owner
|
||||
};
|
||||
{
|
||||
element._store = {};
|
||||
Object.defineProperty(element._store, "validated", {
|
||||
configurable: false,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
value: false
|
||||
});
|
||||
Object.defineProperty(element, "_self", {
|
||||
configurable: false,
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: self
|
||||
});
|
||||
Object.defineProperty(element, "_source", {
|
||||
configurable: false,
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: source
|
||||
});
|
||||
if (Object.freeze) {
|
||||
Object.freeze(element.props);
|
||||
Object.freeze(element);
|
||||
}
|
||||
}
|
||||
return element;
|
||||
};
|
||||
function jsxDEV(type, config, maybeKey, source, self) {
|
||||
{
|
||||
var propName;
|
||||
var props = {};
|
||||
var key = null;
|
||||
var ref = null;
|
||||
if (maybeKey !== void 0) {
|
||||
{
|
||||
checkKeyStringCoercion(maybeKey);
|
||||
}
|
||||
key = "" + maybeKey;
|
||||
}
|
||||
if (hasValidKey(config)) {
|
||||
{
|
||||
checkKeyStringCoercion(config.key);
|
||||
}
|
||||
key = "" + config.key;
|
||||
}
|
||||
if (hasValidRef(config)) {
|
||||
ref = config.ref;
|
||||
warnIfStringRefCannotBeAutoConverted(config, self);
|
||||
}
|
||||
for (propName in config) {
|
||||
if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
||||
props[propName] = config[propName];
|
||||
}
|
||||
}
|
||||
if (type && type.defaultProps) {
|
||||
var defaultProps = type.defaultProps;
|
||||
for (propName in defaultProps) {
|
||||
if (props[propName] === void 0) {
|
||||
props[propName] = defaultProps[propName];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (key || ref) {
|
||||
var displayName = typeof type === "function" ? type.displayName || type.name || "Unknown" : type;
|
||||
if (key) {
|
||||
defineKeyPropWarningGetter(props, displayName);
|
||||
}
|
||||
if (ref) {
|
||||
defineRefPropWarningGetter(props, displayName);
|
||||
}
|
||||
}
|
||||
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
||||
}
|
||||
}
|
||||
var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
|
||||
var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||
function setCurrentlyValidatingElement$1(element) {
|
||||
{
|
||||
if (element) {
|
||||
var owner = element._owner;
|
||||
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
||||
ReactDebugCurrentFrame$1.setExtraStackFrame(stack);
|
||||
} else {
|
||||
ReactDebugCurrentFrame$1.setExtraStackFrame(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
var propTypesMisspellWarningShown;
|
||||
{
|
||||
propTypesMisspellWarningShown = false;
|
||||
}
|
||||
function isValidElement(object) {
|
||||
{
|
||||
return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
||||
}
|
||||
}
|
||||
function getDeclarationErrorAddendum() {
|
||||
{
|
||||
if (ReactCurrentOwner$1.current) {
|
||||
var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);
|
||||
if (name) {
|
||||
return "\n\nCheck the render method of `" + name + "`.";
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
function getSourceInfoErrorAddendum(source) {
|
||||
{
|
||||
if (source !== void 0) {
|
||||
var fileName = source.fileName.replace(/^.*[\\\/]/, "");
|
||||
var lineNumber = source.lineNumber;
|
||||
return "\n\nCheck your code at " + fileName + ":" + lineNumber + ".";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
var ownerHasKeyUseWarning = {};
|
||||
function getCurrentComponentErrorInfo(parentType) {
|
||||
{
|
||||
var info = getDeclarationErrorAddendum();
|
||||
if (!info) {
|
||||
var parentName = typeof parentType === "string" ? parentType : parentType.displayName || parentType.name;
|
||||
if (parentName) {
|
||||
info = "\n\nCheck the top-level render call using <" + parentName + ">.";
|
||||
}
|
||||
}
|
||||
return info;
|
||||
}
|
||||
}
|
||||
function validateExplicitKey(element, parentType) {
|
||||
{
|
||||
if (!element._store || element._store.validated || element.key != null) {
|
||||
return;
|
||||
}
|
||||
element._store.validated = true;
|
||||
var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
|
||||
if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
|
||||
return;
|
||||
}
|
||||
ownerHasKeyUseWarning[currentComponentErrorInfo] = true;
|
||||
var childOwner = "";
|
||||
if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {
|
||||
childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + ".";
|
||||
}
|
||||
setCurrentlyValidatingElement$1(element);
|
||||
error('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);
|
||||
setCurrentlyValidatingElement$1(null);
|
||||
}
|
||||
}
|
||||
function validateChildKeys(node, parentType) {
|
||||
{
|
||||
if (typeof node !== "object") {
|
||||
return;
|
||||
}
|
||||
if (isArray(node)) {
|
||||
for (var i = 0; i < node.length; i++) {
|
||||
var child = node[i];
|
||||
if (isValidElement(child)) {
|
||||
validateExplicitKey(child, parentType);
|
||||
}
|
||||
}
|
||||
} else if (isValidElement(node)) {
|
||||
if (node._store) {
|
||||
node._store.validated = true;
|
||||
}
|
||||
} else if (node) {
|
||||
var iteratorFn = getIteratorFn(node);
|
||||
if (typeof iteratorFn === "function") {
|
||||
if (iteratorFn !== node.entries) {
|
||||
var iterator = iteratorFn.call(node);
|
||||
var step;
|
||||
while (!(step = iterator.next()).done) {
|
||||
if (isValidElement(step.value)) {
|
||||
validateExplicitKey(step.value, parentType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function validatePropTypes(element) {
|
||||
{
|
||||
var type = element.type;
|
||||
if (type === null || type === void 0 || typeof type === "string") {
|
||||
return;
|
||||
}
|
||||
var propTypes;
|
||||
if (typeof type === "function") {
|
||||
propTypes = type.propTypes;
|
||||
} else if (typeof type === "object" && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
|
||||
// Inner props are checked in the reconciler.
|
||||
type.$$typeof === REACT_MEMO_TYPE)) {
|
||||
propTypes = type.propTypes;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
if (propTypes) {
|
||||
var name = getComponentNameFromType(type);
|
||||
checkPropTypes(propTypes, element.props, "prop", name, element);
|
||||
} else if (type.PropTypes !== void 0 && !propTypesMisspellWarningShown) {
|
||||
propTypesMisspellWarningShown = true;
|
||||
var _name = getComponentNameFromType(type);
|
||||
error("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", _name || "Unknown");
|
||||
}
|
||||
if (typeof type.getDefaultProps === "function" && !type.getDefaultProps.isReactClassApproved) {
|
||||
error("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
||||
}
|
||||
}
|
||||
}
|
||||
function validateFragmentProps(fragment) {
|
||||
{
|
||||
var keys = Object.keys(fragment.props);
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
if (key !== "children" && key !== "key") {
|
||||
setCurrentlyValidatingElement$1(fragment);
|
||||
error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key);
|
||||
setCurrentlyValidatingElement$1(null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (fragment.ref !== null) {
|
||||
setCurrentlyValidatingElement$1(fragment);
|
||||
error("Invalid attribute `ref` supplied to `React.Fragment`.");
|
||||
setCurrentlyValidatingElement$1(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
var didWarnAboutKeySpread = {};
|
||||
function jsxWithValidation(type, props, key, isStaticChildren, source, self) {
|
||||
{
|
||||
var validType = isValidElementType(type);
|
||||
if (!validType) {
|
||||
var info = "";
|
||||
if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) {
|
||||
info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
|
||||
}
|
||||
var sourceInfo = getSourceInfoErrorAddendum(source);
|
||||
if (sourceInfo) {
|
||||
info += sourceInfo;
|
||||
} else {
|
||||
info += getDeclarationErrorAddendum();
|
||||
}
|
||||
var typeString;
|
||||
if (type === null) {
|
||||
typeString = "null";
|
||||
} else if (isArray(type)) {
|
||||
typeString = "array";
|
||||
} else if (type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE) {
|
||||
typeString = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />";
|
||||
info = " Did you accidentally export a JSX literal instead of a component?";
|
||||
} else {
|
||||
typeString = typeof type;
|
||||
}
|
||||
error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info);
|
||||
}
|
||||
var element = jsxDEV(type, props, key, source, self);
|
||||
if (element == null) {
|
||||
return element;
|
||||
}
|
||||
if (validType) {
|
||||
var children = props.children;
|
||||
if (children !== void 0) {
|
||||
if (isStaticChildren) {
|
||||
if (isArray(children)) {
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
validateChildKeys(children[i], type);
|
||||
}
|
||||
if (Object.freeze) {
|
||||
Object.freeze(children);
|
||||
}
|
||||
} else {
|
||||
error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
||||
}
|
||||
} else {
|
||||
validateChildKeys(children, type);
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
if (hasOwnProperty.call(props, "key")) {
|
||||
var componentName = getComponentNameFromType(type);
|
||||
var keys = Object.keys(props).filter(function(k) {
|
||||
return k !== "key";
|
||||
});
|
||||
var beforeExample = keys.length > 0 ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
||||
if (!didWarnAboutKeySpread[componentName + beforeExample]) {
|
||||
var afterExample = keys.length > 0 ? "{" + keys.join(": ..., ") + ": ...}" : "{}";
|
||||
error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);
|
||||
didWarnAboutKeySpread[componentName + beforeExample] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (type === REACT_FRAGMENT_TYPE) {
|
||||
validateFragmentProps(element);
|
||||
} else {
|
||||
validatePropTypes(element);
|
||||
}
|
||||
return element;
|
||||
}
|
||||
}
|
||||
function jsxWithValidationStatic(type, props, key) {
|
||||
{
|
||||
return jsxWithValidation(type, props, key, true);
|
||||
}
|
||||
}
|
||||
function jsxWithValidationDynamic(type, props, key) {
|
||||
{
|
||||
return jsxWithValidation(type, props, key, false);
|
||||
}
|
||||
}
|
||||
var jsx = jsxWithValidationDynamic;
|
||||
var jsxs = jsxWithValidationStatic;
|
||||
exports.Fragment = REACT_FRAGMENT_TYPE;
|
||||
exports.jsx = jsx;
|
||||
exports.jsxs = jsxs;
|
||||
})();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js
|
||||
var require_jsx_runtime = __commonJS({
|
||||
"node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js"(exports, module) {
|
||||
if (false) {
|
||||
module.exports = null;
|
||||
} else {
|
||||
module.exports = require_react_jsx_runtime_development();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
export {
|
||||
require_jsx_runtime
|
||||
};
|
||||
/*! Bundled license information:
|
||||
|
||||
react/cjs/react-jsx-runtime.development.js:
|
||||
(**
|
||||
* @license React
|
||||
* react-jsx-runtime.development.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*)
|
||||
*/
|
||||
//# sourceMappingURL=chunk-TNJHB265.js.map
|
||||
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-TNJHB265.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-TNJHB265.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
1935
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-VJYZWRTN.js
generated
vendored
Normal file
1935
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-VJYZWRTN.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-VJYZWRTN.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/chunk-VJYZWRTN.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
10262
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/framer-motion.js
generated
vendored
Normal file
10262
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/framer-motion.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/framer-motion.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/framer-motion.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
29723
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/lucide-react.js
generated
vendored
Normal file
29723
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/lucide-react.js
generated
vendored
Normal file
File diff suppressed because it is too large
Load Diff
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/lucide-react.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/lucide-react.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/package.json
generated
vendored
Normal file
3
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/package.json
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"type": "module"
|
||||
}
|
||||
6
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react-dom.js
generated
vendored
Normal file
6
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react-dom.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import {
|
||||
require_react_dom
|
||||
} from "./chunk-RQRZJDNV.js";
|
||||
import "./chunk-VJYZWRTN.js";
|
||||
export default require_react_dom();
|
||||
//# sourceMappingURL=react-dom.js.map
|
||||
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react-dom.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react-dom.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
||||
38
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react-dom_client.js
generated
vendored
Normal file
38
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react-dom_client.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
import {
|
||||
require_react_dom
|
||||
} from "./chunk-RQRZJDNV.js";
|
||||
import {
|
||||
__commonJS
|
||||
} from "./chunk-VJYZWRTN.js";
|
||||
|
||||
// node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js
|
||||
var require_client = __commonJS({
|
||||
"node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js"(exports) {
|
||||
var m = require_react_dom();
|
||||
if (false) {
|
||||
exports.createRoot = m.createRoot;
|
||||
exports.hydrateRoot = m.hydrateRoot;
|
||||
} else {
|
||||
i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
||||
exports.createRoot = function(c, o) {
|
||||
i.usingClientEntryPoint = true;
|
||||
try {
|
||||
return m.createRoot(c, o);
|
||||
} finally {
|
||||
i.usingClientEntryPoint = false;
|
||||
}
|
||||
};
|
||||
exports.hydrateRoot = function(c, h, o) {
|
||||
i.usingClientEntryPoint = true;
|
||||
try {
|
||||
return m.hydrateRoot(c, h, o);
|
||||
} finally {
|
||||
i.usingClientEntryPoint = false;
|
||||
}
|
||||
};
|
||||
}
|
||||
var i;
|
||||
}
|
||||
});
|
||||
export default require_client();
|
||||
//# sourceMappingURL=react-dom_client.js.map
|
||||
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react-dom_client.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react-dom_client.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js"],
|
||||
"sourcesContent": ["'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n"],
|
||||
"mappings": ";;;;;;;;AAAA;AAAA;AAEA,QAAI,IAAI;AACR,QAAI,OAAuC;AACzC,cAAQ,aAAa,EAAE;AACvB,cAAQ,cAAc,EAAE;AAAA,IAC1B,OAAO;AACD,UAAI,EAAE;AACV,cAAQ,aAAa,SAAS,GAAG,GAAG;AAClC,UAAE,wBAAwB;AAC1B,YAAI;AACF,iBAAO,EAAE,WAAW,GAAG,CAAC;AAAA,QAC1B,UAAE;AACA,YAAE,wBAAwB;AAAA,QAC5B;AAAA,MACF;AACA,cAAQ,cAAc,SAAS,GAAG,GAAG,GAAG;AACtC,UAAE,wBAAwB;AAC1B,YAAI;AACF,iBAAO,EAAE,YAAY,GAAG,GAAG,CAAC;AAAA,QAC9B,UAAE;AACA,YAAE,wBAAwB;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAjBM;AAAA;AAAA;",
|
||||
"names": []
|
||||
}
|
||||
5
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react.js
generated
vendored
Normal file
5
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react.js
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import {
|
||||
require_react
|
||||
} from "./chunk-VJYZWRTN.js";
|
||||
export default require_react();
|
||||
//# sourceMappingURL=react.js.map
|
||||
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
||||
911
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react_jsx-dev-runtime.js
generated
vendored
Normal file
911
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react_jsx-dev-runtime.js
generated
vendored
Normal file
@@ -0,0 +1,911 @@
|
||||
import {
|
||||
__commonJS,
|
||||
require_react
|
||||
} from "./chunk-VJYZWRTN.js";
|
||||
|
||||
// node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-dev-runtime.development.js
|
||||
var require_react_jsx_dev_runtime_development = __commonJS({
|
||||
"node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-dev-runtime.development.js"(exports) {
|
||||
"use strict";
|
||||
if (true) {
|
||||
(function() {
|
||||
"use strict";
|
||||
var React = require_react();
|
||||
var REACT_ELEMENT_TYPE = Symbol.for("react.element");
|
||||
var REACT_PORTAL_TYPE = Symbol.for("react.portal");
|
||||
var REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
|
||||
var REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode");
|
||||
var REACT_PROFILER_TYPE = Symbol.for("react.profiler");
|
||||
var REACT_PROVIDER_TYPE = Symbol.for("react.provider");
|
||||
var REACT_CONTEXT_TYPE = Symbol.for("react.context");
|
||||
var REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref");
|
||||
var REACT_SUSPENSE_TYPE = Symbol.for("react.suspense");
|
||||
var REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list");
|
||||
var REACT_MEMO_TYPE = Symbol.for("react.memo");
|
||||
var REACT_LAZY_TYPE = Symbol.for("react.lazy");
|
||||
var REACT_OFFSCREEN_TYPE = Symbol.for("react.offscreen");
|
||||
var MAYBE_ITERATOR_SYMBOL = Symbol.iterator;
|
||||
var FAUX_ITERATOR_SYMBOL = "@@iterator";
|
||||
function getIteratorFn(maybeIterable) {
|
||||
if (maybeIterable === null || typeof maybeIterable !== "object") {
|
||||
return null;
|
||||
}
|
||||
var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
|
||||
if (typeof maybeIterator === "function") {
|
||||
return maybeIterator;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
|
||||
function error(format) {
|
||||
{
|
||||
{
|
||||
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
||||
args[_key2 - 1] = arguments[_key2];
|
||||
}
|
||||
printWarning("error", format, args);
|
||||
}
|
||||
}
|
||||
}
|
||||
function printWarning(level, format, args) {
|
||||
{
|
||||
var ReactDebugCurrentFrame2 = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||
var stack = ReactDebugCurrentFrame2.getStackAddendum();
|
||||
if (stack !== "") {
|
||||
format += "%s";
|
||||
args = args.concat([stack]);
|
||||
}
|
||||
var argsWithFormat = args.map(function(item) {
|
||||
return String(item);
|
||||
});
|
||||
argsWithFormat.unshift("Warning: " + format);
|
||||
Function.prototype.apply.call(console[level], console, argsWithFormat);
|
||||
}
|
||||
}
|
||||
var enableScopeAPI = false;
|
||||
var enableCacheElement = false;
|
||||
var enableTransitionTracing = false;
|
||||
var enableLegacyHidden = false;
|
||||
var enableDebugTracing = false;
|
||||
var REACT_MODULE_REFERENCE;
|
||||
{
|
||||
REACT_MODULE_REFERENCE = Symbol.for("react.module.reference");
|
||||
}
|
||||
function isValidElementType(type) {
|
||||
if (typeof type === "string" || typeof type === "function") {
|
||||
return true;
|
||||
}
|
||||
if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) {
|
||||
return true;
|
||||
}
|
||||
if (typeof type === "object" && type !== null) {
|
||||
if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object
|
||||
// types supported by any Flight configuration anywhere since
|
||||
// we don't know which Flight build this will end up being used
|
||||
// with.
|
||||
type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== void 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function getWrappedName(outerType, innerType, wrapperName) {
|
||||
var displayName = outerType.displayName;
|
||||
if (displayName) {
|
||||
return displayName;
|
||||
}
|
||||
var functionName = innerType.displayName || innerType.name || "";
|
||||
return functionName !== "" ? wrapperName + "(" + functionName + ")" : wrapperName;
|
||||
}
|
||||
function getContextName(type) {
|
||||
return type.displayName || "Context";
|
||||
}
|
||||
function getComponentNameFromType(type) {
|
||||
if (type == null) {
|
||||
return null;
|
||||
}
|
||||
{
|
||||
if (typeof type.tag === "number") {
|
||||
error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.");
|
||||
}
|
||||
}
|
||||
if (typeof type === "function") {
|
||||
return type.displayName || type.name || null;
|
||||
}
|
||||
if (typeof type === "string") {
|
||||
return type;
|
||||
}
|
||||
switch (type) {
|
||||
case REACT_FRAGMENT_TYPE:
|
||||
return "Fragment";
|
||||
case REACT_PORTAL_TYPE:
|
||||
return "Portal";
|
||||
case REACT_PROFILER_TYPE:
|
||||
return "Profiler";
|
||||
case REACT_STRICT_MODE_TYPE:
|
||||
return "StrictMode";
|
||||
case REACT_SUSPENSE_TYPE:
|
||||
return "Suspense";
|
||||
case REACT_SUSPENSE_LIST_TYPE:
|
||||
return "SuspenseList";
|
||||
}
|
||||
if (typeof type === "object") {
|
||||
switch (type.$$typeof) {
|
||||
case REACT_CONTEXT_TYPE:
|
||||
var context = type;
|
||||
return getContextName(context) + ".Consumer";
|
||||
case REACT_PROVIDER_TYPE:
|
||||
var provider = type;
|
||||
return getContextName(provider._context) + ".Provider";
|
||||
case REACT_FORWARD_REF_TYPE:
|
||||
return getWrappedName(type, type.render, "ForwardRef");
|
||||
case REACT_MEMO_TYPE:
|
||||
var outerName = type.displayName || null;
|
||||
if (outerName !== null) {
|
||||
return outerName;
|
||||
}
|
||||
return getComponentNameFromType(type.type) || "Memo";
|
||||
case REACT_LAZY_TYPE: {
|
||||
var lazyComponent = type;
|
||||
var payload = lazyComponent._payload;
|
||||
var init = lazyComponent._init;
|
||||
try {
|
||||
return getComponentNameFromType(init(payload));
|
||||
} catch (x) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
var assign = Object.assign;
|
||||
var disabledDepth = 0;
|
||||
var prevLog;
|
||||
var prevInfo;
|
||||
var prevWarn;
|
||||
var prevError;
|
||||
var prevGroup;
|
||||
var prevGroupCollapsed;
|
||||
var prevGroupEnd;
|
||||
function disabledLog() {
|
||||
}
|
||||
disabledLog.__reactDisabledLog = true;
|
||||
function disableLogs() {
|
||||
{
|
||||
if (disabledDepth === 0) {
|
||||
prevLog = console.log;
|
||||
prevInfo = console.info;
|
||||
prevWarn = console.warn;
|
||||
prevError = console.error;
|
||||
prevGroup = console.group;
|
||||
prevGroupCollapsed = console.groupCollapsed;
|
||||
prevGroupEnd = console.groupEnd;
|
||||
var props = {
|
||||
configurable: true,
|
||||
enumerable: true,
|
||||
value: disabledLog,
|
||||
writable: true
|
||||
};
|
||||
Object.defineProperties(console, {
|
||||
info: props,
|
||||
log: props,
|
||||
warn: props,
|
||||
error: props,
|
||||
group: props,
|
||||
groupCollapsed: props,
|
||||
groupEnd: props
|
||||
});
|
||||
}
|
||||
disabledDepth++;
|
||||
}
|
||||
}
|
||||
function reenableLogs() {
|
||||
{
|
||||
disabledDepth--;
|
||||
if (disabledDepth === 0) {
|
||||
var props = {
|
||||
configurable: true,
|
||||
enumerable: true,
|
||||
writable: true
|
||||
};
|
||||
Object.defineProperties(console, {
|
||||
log: assign({}, props, {
|
||||
value: prevLog
|
||||
}),
|
||||
info: assign({}, props, {
|
||||
value: prevInfo
|
||||
}),
|
||||
warn: assign({}, props, {
|
||||
value: prevWarn
|
||||
}),
|
||||
error: assign({}, props, {
|
||||
value: prevError
|
||||
}),
|
||||
group: assign({}, props, {
|
||||
value: prevGroup
|
||||
}),
|
||||
groupCollapsed: assign({}, props, {
|
||||
value: prevGroupCollapsed
|
||||
}),
|
||||
groupEnd: assign({}, props, {
|
||||
value: prevGroupEnd
|
||||
})
|
||||
});
|
||||
}
|
||||
if (disabledDepth < 0) {
|
||||
error("disabledDepth fell below zero. This is a bug in React. Please file an issue.");
|
||||
}
|
||||
}
|
||||
}
|
||||
var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
|
||||
var prefix;
|
||||
function describeBuiltInComponentFrame(name, source, ownerFn) {
|
||||
{
|
||||
if (prefix === void 0) {
|
||||
try {
|
||||
throw Error();
|
||||
} catch (x) {
|
||||
var match = x.stack.trim().match(/\n( *(at )?)/);
|
||||
prefix = match && match[1] || "";
|
||||
}
|
||||
}
|
||||
return "\n" + prefix + name;
|
||||
}
|
||||
}
|
||||
var reentry = false;
|
||||
var componentFrameCache;
|
||||
{
|
||||
var PossiblyWeakMap = typeof WeakMap === "function" ? WeakMap : Map;
|
||||
componentFrameCache = new PossiblyWeakMap();
|
||||
}
|
||||
function describeNativeComponentFrame(fn, construct) {
|
||||
if (!fn || reentry) {
|
||||
return "";
|
||||
}
|
||||
{
|
||||
var frame = componentFrameCache.get(fn);
|
||||
if (frame !== void 0) {
|
||||
return frame;
|
||||
}
|
||||
}
|
||||
var control;
|
||||
reentry = true;
|
||||
var previousPrepareStackTrace = Error.prepareStackTrace;
|
||||
Error.prepareStackTrace = void 0;
|
||||
var previousDispatcher;
|
||||
{
|
||||
previousDispatcher = ReactCurrentDispatcher.current;
|
||||
ReactCurrentDispatcher.current = null;
|
||||
disableLogs();
|
||||
}
|
||||
try {
|
||||
if (construct) {
|
||||
var Fake = function() {
|
||||
throw Error();
|
||||
};
|
||||
Object.defineProperty(Fake.prototype, "props", {
|
||||
set: function() {
|
||||
throw Error();
|
||||
}
|
||||
});
|
||||
if (typeof Reflect === "object" && Reflect.construct) {
|
||||
try {
|
||||
Reflect.construct(Fake, []);
|
||||
} catch (x) {
|
||||
control = x;
|
||||
}
|
||||
Reflect.construct(fn, [], Fake);
|
||||
} else {
|
||||
try {
|
||||
Fake.call();
|
||||
} catch (x) {
|
||||
control = x;
|
||||
}
|
||||
fn.call(Fake.prototype);
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
throw Error();
|
||||
} catch (x) {
|
||||
control = x;
|
||||
}
|
||||
fn();
|
||||
}
|
||||
} catch (sample) {
|
||||
if (sample && control && typeof sample.stack === "string") {
|
||||
var sampleLines = sample.stack.split("\n");
|
||||
var controlLines = control.stack.split("\n");
|
||||
var s = sampleLines.length - 1;
|
||||
var c = controlLines.length - 1;
|
||||
while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {
|
||||
c--;
|
||||
}
|
||||
for (; s >= 1 && c >= 0; s--, c--) {
|
||||
if (sampleLines[s] !== controlLines[c]) {
|
||||
if (s !== 1 || c !== 1) {
|
||||
do {
|
||||
s--;
|
||||
c--;
|
||||
if (c < 0 || sampleLines[s] !== controlLines[c]) {
|
||||
var _frame = "\n" + sampleLines[s].replace(" at new ", " at ");
|
||||
if (fn.displayName && _frame.includes("<anonymous>")) {
|
||||
_frame = _frame.replace("<anonymous>", fn.displayName);
|
||||
}
|
||||
{
|
||||
if (typeof fn === "function") {
|
||||
componentFrameCache.set(fn, _frame);
|
||||
}
|
||||
}
|
||||
return _frame;
|
||||
}
|
||||
} while (s >= 1 && c >= 0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
reentry = false;
|
||||
{
|
||||
ReactCurrentDispatcher.current = previousDispatcher;
|
||||
reenableLogs();
|
||||
}
|
||||
Error.prepareStackTrace = previousPrepareStackTrace;
|
||||
}
|
||||
var name = fn ? fn.displayName || fn.name : "";
|
||||
var syntheticFrame = name ? describeBuiltInComponentFrame(name) : "";
|
||||
{
|
||||
if (typeof fn === "function") {
|
||||
componentFrameCache.set(fn, syntheticFrame);
|
||||
}
|
||||
}
|
||||
return syntheticFrame;
|
||||
}
|
||||
function describeFunctionComponentFrame(fn, source, ownerFn) {
|
||||
{
|
||||
return describeNativeComponentFrame(fn, false);
|
||||
}
|
||||
}
|
||||
function shouldConstruct(Component) {
|
||||
var prototype = Component.prototype;
|
||||
return !!(prototype && prototype.isReactComponent);
|
||||
}
|
||||
function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {
|
||||
if (type == null) {
|
||||
return "";
|
||||
}
|
||||
if (typeof type === "function") {
|
||||
{
|
||||
return describeNativeComponentFrame(type, shouldConstruct(type));
|
||||
}
|
||||
}
|
||||
if (typeof type === "string") {
|
||||
return describeBuiltInComponentFrame(type);
|
||||
}
|
||||
switch (type) {
|
||||
case REACT_SUSPENSE_TYPE:
|
||||
return describeBuiltInComponentFrame("Suspense");
|
||||
case REACT_SUSPENSE_LIST_TYPE:
|
||||
return describeBuiltInComponentFrame("SuspenseList");
|
||||
}
|
||||
if (typeof type === "object") {
|
||||
switch (type.$$typeof) {
|
||||
case REACT_FORWARD_REF_TYPE:
|
||||
return describeFunctionComponentFrame(type.render);
|
||||
case REACT_MEMO_TYPE:
|
||||
return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);
|
||||
case REACT_LAZY_TYPE: {
|
||||
var lazyComponent = type;
|
||||
var payload = lazyComponent._payload;
|
||||
var init = lazyComponent._init;
|
||||
try {
|
||||
return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);
|
||||
} catch (x) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||
var loggedTypeFailures = {};
|
||||
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||
function setCurrentlyValidatingElement(element) {
|
||||
{
|
||||
if (element) {
|
||||
var owner = element._owner;
|
||||
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
||||
ReactDebugCurrentFrame.setExtraStackFrame(stack);
|
||||
} else {
|
||||
ReactDebugCurrentFrame.setExtraStackFrame(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
function checkPropTypes(typeSpecs, values, location, componentName, element) {
|
||||
{
|
||||
var has = Function.call.bind(hasOwnProperty);
|
||||
for (var typeSpecName in typeSpecs) {
|
||||
if (has(typeSpecs, typeSpecName)) {
|
||||
var error$1 = void 0;
|
||||
try {
|
||||
if (typeof typeSpecs[typeSpecName] !== "function") {
|
||||
var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
|
||||
err.name = "Invariant Violation";
|
||||
throw err;
|
||||
}
|
||||
error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED");
|
||||
} catch (ex) {
|
||||
error$1 = ex;
|
||||
}
|
||||
if (error$1 && !(error$1 instanceof Error)) {
|
||||
setCurrentlyValidatingElement(element);
|
||||
error("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", componentName || "React class", location, typeSpecName, typeof error$1);
|
||||
setCurrentlyValidatingElement(null);
|
||||
}
|
||||
if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {
|
||||
loggedTypeFailures[error$1.message] = true;
|
||||
setCurrentlyValidatingElement(element);
|
||||
error("Failed %s type: %s", location, error$1.message);
|
||||
setCurrentlyValidatingElement(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var isArrayImpl = Array.isArray;
|
||||
function isArray(a) {
|
||||
return isArrayImpl(a);
|
||||
}
|
||||
function typeName(value) {
|
||||
{
|
||||
var hasToStringTag = typeof Symbol === "function" && Symbol.toStringTag;
|
||||
var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
|
||||
return type;
|
||||
}
|
||||
}
|
||||
function willCoercionThrow(value) {
|
||||
{
|
||||
try {
|
||||
testStringCoercion(value);
|
||||
return false;
|
||||
} catch (e) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
function testStringCoercion(value) {
|
||||
return "" + value;
|
||||
}
|
||||
function checkKeyStringCoercion(value) {
|
||||
{
|
||||
if (willCoercionThrow(value)) {
|
||||
error("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", typeName(value));
|
||||
return testStringCoercion(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
|
||||
var RESERVED_PROPS = {
|
||||
key: true,
|
||||
ref: true,
|
||||
__self: true,
|
||||
__source: true
|
||||
};
|
||||
var specialPropKeyWarningShown;
|
||||
var specialPropRefWarningShown;
|
||||
var didWarnAboutStringRefs;
|
||||
{
|
||||
didWarnAboutStringRefs = {};
|
||||
}
|
||||
function hasValidRef(config) {
|
||||
{
|
||||
if (hasOwnProperty.call(config, "ref")) {
|
||||
var getter = Object.getOwnPropertyDescriptor(config, "ref").get;
|
||||
if (getter && getter.isReactWarning) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return config.ref !== void 0;
|
||||
}
|
||||
function hasValidKey(config) {
|
||||
{
|
||||
if (hasOwnProperty.call(config, "key")) {
|
||||
var getter = Object.getOwnPropertyDescriptor(config, "key").get;
|
||||
if (getter && getter.isReactWarning) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return config.key !== void 0;
|
||||
}
|
||||
function warnIfStringRefCannotBeAutoConverted(config, self) {
|
||||
{
|
||||
if (typeof config.ref === "string" && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {
|
||||
var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);
|
||||
if (!didWarnAboutStringRefs[componentName]) {
|
||||
error('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);
|
||||
didWarnAboutStringRefs[componentName] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function defineKeyPropWarningGetter(props, displayName) {
|
||||
{
|
||||
var warnAboutAccessingKey = function() {
|
||||
if (!specialPropKeyWarningShown) {
|
||||
specialPropKeyWarningShown = true;
|
||||
error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName);
|
||||
}
|
||||
};
|
||||
warnAboutAccessingKey.isReactWarning = true;
|
||||
Object.defineProperty(props, "key", {
|
||||
get: warnAboutAccessingKey,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
function defineRefPropWarningGetter(props, displayName) {
|
||||
{
|
||||
var warnAboutAccessingRef = function() {
|
||||
if (!specialPropRefWarningShown) {
|
||||
specialPropRefWarningShown = true;
|
||||
error("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", displayName);
|
||||
}
|
||||
};
|
||||
warnAboutAccessingRef.isReactWarning = true;
|
||||
Object.defineProperty(props, "ref", {
|
||||
get: warnAboutAccessingRef,
|
||||
configurable: true
|
||||
});
|
||||
}
|
||||
}
|
||||
var ReactElement = function(type, key, ref, self, source, owner, props) {
|
||||
var element = {
|
||||
// This tag allows us to uniquely identify this as a React Element
|
||||
$$typeof: REACT_ELEMENT_TYPE,
|
||||
// Built-in properties that belong on the element
|
||||
type,
|
||||
key,
|
||||
ref,
|
||||
props,
|
||||
// Record the component responsible for creating this element.
|
||||
_owner: owner
|
||||
};
|
||||
{
|
||||
element._store = {};
|
||||
Object.defineProperty(element._store, "validated", {
|
||||
configurable: false,
|
||||
enumerable: false,
|
||||
writable: true,
|
||||
value: false
|
||||
});
|
||||
Object.defineProperty(element, "_self", {
|
||||
configurable: false,
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: self
|
||||
});
|
||||
Object.defineProperty(element, "_source", {
|
||||
configurable: false,
|
||||
enumerable: false,
|
||||
writable: false,
|
||||
value: source
|
||||
});
|
||||
if (Object.freeze) {
|
||||
Object.freeze(element.props);
|
||||
Object.freeze(element);
|
||||
}
|
||||
}
|
||||
return element;
|
||||
};
|
||||
function jsxDEV(type, config, maybeKey, source, self) {
|
||||
{
|
||||
var propName;
|
||||
var props = {};
|
||||
var key = null;
|
||||
var ref = null;
|
||||
if (maybeKey !== void 0) {
|
||||
{
|
||||
checkKeyStringCoercion(maybeKey);
|
||||
}
|
||||
key = "" + maybeKey;
|
||||
}
|
||||
if (hasValidKey(config)) {
|
||||
{
|
||||
checkKeyStringCoercion(config.key);
|
||||
}
|
||||
key = "" + config.key;
|
||||
}
|
||||
if (hasValidRef(config)) {
|
||||
ref = config.ref;
|
||||
warnIfStringRefCannotBeAutoConverted(config, self);
|
||||
}
|
||||
for (propName in config) {
|
||||
if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
|
||||
props[propName] = config[propName];
|
||||
}
|
||||
}
|
||||
if (type && type.defaultProps) {
|
||||
var defaultProps = type.defaultProps;
|
||||
for (propName in defaultProps) {
|
||||
if (props[propName] === void 0) {
|
||||
props[propName] = defaultProps[propName];
|
||||
}
|
||||
}
|
||||
}
|
||||
if (key || ref) {
|
||||
var displayName = typeof type === "function" ? type.displayName || type.name || "Unknown" : type;
|
||||
if (key) {
|
||||
defineKeyPropWarningGetter(props, displayName);
|
||||
}
|
||||
if (ref) {
|
||||
defineRefPropWarningGetter(props, displayName);
|
||||
}
|
||||
}
|
||||
return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
|
||||
}
|
||||
}
|
||||
var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
|
||||
var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
|
||||
function setCurrentlyValidatingElement$1(element) {
|
||||
{
|
||||
if (element) {
|
||||
var owner = element._owner;
|
||||
var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);
|
||||
ReactDebugCurrentFrame$1.setExtraStackFrame(stack);
|
||||
} else {
|
||||
ReactDebugCurrentFrame$1.setExtraStackFrame(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
var propTypesMisspellWarningShown;
|
||||
{
|
||||
propTypesMisspellWarningShown = false;
|
||||
}
|
||||
function isValidElement(object) {
|
||||
{
|
||||
return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
|
||||
}
|
||||
}
|
||||
function getDeclarationErrorAddendum() {
|
||||
{
|
||||
if (ReactCurrentOwner$1.current) {
|
||||
var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);
|
||||
if (name) {
|
||||
return "\n\nCheck the render method of `" + name + "`.";
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
function getSourceInfoErrorAddendum(source) {
|
||||
{
|
||||
if (source !== void 0) {
|
||||
var fileName = source.fileName.replace(/^.*[\\\/]/, "");
|
||||
var lineNumber = source.lineNumber;
|
||||
return "\n\nCheck your code at " + fileName + ":" + lineNumber + ".";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
var ownerHasKeyUseWarning = {};
|
||||
function getCurrentComponentErrorInfo(parentType) {
|
||||
{
|
||||
var info = getDeclarationErrorAddendum();
|
||||
if (!info) {
|
||||
var parentName = typeof parentType === "string" ? parentType : parentType.displayName || parentType.name;
|
||||
if (parentName) {
|
||||
info = "\n\nCheck the top-level render call using <" + parentName + ">.";
|
||||
}
|
||||
}
|
||||
return info;
|
||||
}
|
||||
}
|
||||
function validateExplicitKey(element, parentType) {
|
||||
{
|
||||
if (!element._store || element._store.validated || element.key != null) {
|
||||
return;
|
||||
}
|
||||
element._store.validated = true;
|
||||
var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
|
||||
if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
|
||||
return;
|
||||
}
|
||||
ownerHasKeyUseWarning[currentComponentErrorInfo] = true;
|
||||
var childOwner = "";
|
||||
if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {
|
||||
childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + ".";
|
||||
}
|
||||
setCurrentlyValidatingElement$1(element);
|
||||
error('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);
|
||||
setCurrentlyValidatingElement$1(null);
|
||||
}
|
||||
}
|
||||
function validateChildKeys(node, parentType) {
|
||||
{
|
||||
if (typeof node !== "object") {
|
||||
return;
|
||||
}
|
||||
if (isArray(node)) {
|
||||
for (var i = 0; i < node.length; i++) {
|
||||
var child = node[i];
|
||||
if (isValidElement(child)) {
|
||||
validateExplicitKey(child, parentType);
|
||||
}
|
||||
}
|
||||
} else if (isValidElement(node)) {
|
||||
if (node._store) {
|
||||
node._store.validated = true;
|
||||
}
|
||||
} else if (node) {
|
||||
var iteratorFn = getIteratorFn(node);
|
||||
if (typeof iteratorFn === "function") {
|
||||
if (iteratorFn !== node.entries) {
|
||||
var iterator = iteratorFn.call(node);
|
||||
var step;
|
||||
while (!(step = iterator.next()).done) {
|
||||
if (isValidElement(step.value)) {
|
||||
validateExplicitKey(step.value, parentType);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function validatePropTypes(element) {
|
||||
{
|
||||
var type = element.type;
|
||||
if (type === null || type === void 0 || typeof type === "string") {
|
||||
return;
|
||||
}
|
||||
var propTypes;
|
||||
if (typeof type === "function") {
|
||||
propTypes = type.propTypes;
|
||||
} else if (typeof type === "object" && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.
|
||||
// Inner props are checked in the reconciler.
|
||||
type.$$typeof === REACT_MEMO_TYPE)) {
|
||||
propTypes = type.propTypes;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
if (propTypes) {
|
||||
var name = getComponentNameFromType(type);
|
||||
checkPropTypes(propTypes, element.props, "prop", name, element);
|
||||
} else if (type.PropTypes !== void 0 && !propTypesMisspellWarningShown) {
|
||||
propTypesMisspellWarningShown = true;
|
||||
var _name = getComponentNameFromType(type);
|
||||
error("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", _name || "Unknown");
|
||||
}
|
||||
if (typeof type.getDefaultProps === "function" && !type.getDefaultProps.isReactClassApproved) {
|
||||
error("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.");
|
||||
}
|
||||
}
|
||||
}
|
||||
function validateFragmentProps(fragment) {
|
||||
{
|
||||
var keys = Object.keys(fragment.props);
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var key = keys[i];
|
||||
if (key !== "children" && key !== "key") {
|
||||
setCurrentlyValidatingElement$1(fragment);
|
||||
error("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", key);
|
||||
setCurrentlyValidatingElement$1(null);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (fragment.ref !== null) {
|
||||
setCurrentlyValidatingElement$1(fragment);
|
||||
error("Invalid attribute `ref` supplied to `React.Fragment`.");
|
||||
setCurrentlyValidatingElement$1(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
var didWarnAboutKeySpread = {};
|
||||
function jsxWithValidation(type, props, key, isStaticChildren, source, self) {
|
||||
{
|
||||
var validType = isValidElementType(type);
|
||||
if (!validType) {
|
||||
var info = "";
|
||||
if (type === void 0 || typeof type === "object" && type !== null && Object.keys(type).length === 0) {
|
||||
info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.";
|
||||
}
|
||||
var sourceInfo = getSourceInfoErrorAddendum(source);
|
||||
if (sourceInfo) {
|
||||
info += sourceInfo;
|
||||
} else {
|
||||
info += getDeclarationErrorAddendum();
|
||||
}
|
||||
var typeString;
|
||||
if (type === null) {
|
||||
typeString = "null";
|
||||
} else if (isArray(type)) {
|
||||
typeString = "array";
|
||||
} else if (type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE) {
|
||||
typeString = "<" + (getComponentNameFromType(type.type) || "Unknown") + " />";
|
||||
info = " Did you accidentally export a JSX literal instead of a component?";
|
||||
} else {
|
||||
typeString = typeof type;
|
||||
}
|
||||
error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info);
|
||||
}
|
||||
var element = jsxDEV(type, props, key, source, self);
|
||||
if (element == null) {
|
||||
return element;
|
||||
}
|
||||
if (validType) {
|
||||
var children = props.children;
|
||||
if (children !== void 0) {
|
||||
if (isStaticChildren) {
|
||||
if (isArray(children)) {
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
validateChildKeys(children[i], type);
|
||||
}
|
||||
if (Object.freeze) {
|
||||
Object.freeze(children);
|
||||
}
|
||||
} else {
|
||||
error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
|
||||
}
|
||||
} else {
|
||||
validateChildKeys(children, type);
|
||||
}
|
||||
}
|
||||
}
|
||||
{
|
||||
if (hasOwnProperty.call(props, "key")) {
|
||||
var componentName = getComponentNameFromType(type);
|
||||
var keys = Object.keys(props).filter(function(k) {
|
||||
return k !== "key";
|
||||
});
|
||||
var beforeExample = keys.length > 0 ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
|
||||
if (!didWarnAboutKeySpread[componentName + beforeExample]) {
|
||||
var afterExample = keys.length > 0 ? "{" + keys.join(": ..., ") + ": ...}" : "{}";
|
||||
error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);
|
||||
didWarnAboutKeySpread[componentName + beforeExample] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (type === REACT_FRAGMENT_TYPE) {
|
||||
validateFragmentProps(element);
|
||||
} else {
|
||||
validatePropTypes(element);
|
||||
}
|
||||
return element;
|
||||
}
|
||||
}
|
||||
var jsxDEV$1 = jsxWithValidation;
|
||||
exports.Fragment = REACT_FRAGMENT_TYPE;
|
||||
exports.jsxDEV = jsxDEV$1;
|
||||
})();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-dev-runtime.js
|
||||
var require_jsx_dev_runtime = __commonJS({
|
||||
"node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-dev-runtime.js"(exports, module) {
|
||||
if (false) {
|
||||
module.exports = null;
|
||||
} else {
|
||||
module.exports = require_react_jsx_dev_runtime_development();
|
||||
}
|
||||
}
|
||||
});
|
||||
export default require_jsx_dev_runtime();
|
||||
/*! Bundled license information:
|
||||
|
||||
react/cjs/react-jsx-dev-runtime.development.js:
|
||||
(**
|
||||
* @license React
|
||||
* react-jsx-dev-runtime.development.js
|
||||
*
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*)
|
||||
*/
|
||||
//# sourceMappingURL=react_jsx-dev-runtime.js.map
|
||||
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react_jsx-dev-runtime.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react_jsx-dev-runtime.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
6
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react_jsx-runtime.js
generated
vendored
Normal file
6
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react_jsx-runtime.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import {
|
||||
require_jsx_runtime
|
||||
} from "./chunk-TNJHB265.js";
|
||||
import "./chunk-VJYZWRTN.js";
|
||||
export default require_jsx_runtime();
|
||||
//# sourceMappingURL=react_jsx-runtime.js.map
|
||||
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react_jsx-runtime.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/react_jsx-runtime.js.map
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": [],
|
||||
"sourcesContent": [],
|
||||
"mappings": "",
|
||||
"names": []
|
||||
}
|
||||
268
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/zustand.js
generated
vendored
Normal file
268
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/zustand.js
generated
vendored
Normal file
@@ -0,0 +1,268 @@
|
||||
import {
|
||||
__commonJS,
|
||||
__toESM,
|
||||
require_react
|
||||
} from "./chunk-VJYZWRTN.js";
|
||||
|
||||
// node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js
|
||||
var require_use_sync_external_store_shim_development = __commonJS({
|
||||
"node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports) {
|
||||
"use strict";
|
||||
(function() {
|
||||
function is(x, y) {
|
||||
return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
|
||||
}
|
||||
function useSyncExternalStore$2(subscribe, getSnapshot) {
|
||||
didWarnOld18Alpha || void 0 === React.startTransition || (didWarnOld18Alpha = true, console.error(
|
||||
"You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."
|
||||
));
|
||||
var value = getSnapshot();
|
||||
if (!didWarnUncachedGetSnapshot) {
|
||||
var cachedValue = getSnapshot();
|
||||
objectIs(value, cachedValue) || (console.error(
|
||||
"The result of getSnapshot should be cached to avoid an infinite loop"
|
||||
), didWarnUncachedGetSnapshot = true);
|
||||
}
|
||||
cachedValue = useState({
|
||||
inst: { value, getSnapshot }
|
||||
});
|
||||
var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];
|
||||
useLayoutEffect(
|
||||
function() {
|
||||
inst.value = value;
|
||||
inst.getSnapshot = getSnapshot;
|
||||
checkIfSnapshotChanged(inst) && forceUpdate({ inst });
|
||||
},
|
||||
[subscribe, value, getSnapshot]
|
||||
);
|
||||
useEffect(
|
||||
function() {
|
||||
checkIfSnapshotChanged(inst) && forceUpdate({ inst });
|
||||
return subscribe(function() {
|
||||
checkIfSnapshotChanged(inst) && forceUpdate({ inst });
|
||||
});
|
||||
},
|
||||
[subscribe]
|
||||
);
|
||||
useDebugValue2(value);
|
||||
return value;
|
||||
}
|
||||
function checkIfSnapshotChanged(inst) {
|
||||
var latestGetSnapshot = inst.getSnapshot;
|
||||
inst = inst.value;
|
||||
try {
|
||||
var nextValue = latestGetSnapshot();
|
||||
return !objectIs(inst, nextValue);
|
||||
} catch (error) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
function useSyncExternalStore$1(subscribe, getSnapshot) {
|
||||
return getSnapshot();
|
||||
}
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
||||
var React = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useState = React.useState, useEffect = React.useEffect, useLayoutEffect = React.useLayoutEffect, useDebugValue2 = React.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
|
||||
exports.useSyncExternalStore = void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
||||
})();
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/shim/index.js
|
||||
var require_shim = __commonJS({
|
||||
"node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/shim/index.js"(exports, module) {
|
||||
"use strict";
|
||||
if (false) {
|
||||
module.exports = null;
|
||||
} else {
|
||||
module.exports = require_use_sync_external_store_shim_development();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js
|
||||
var require_with_selector_development = __commonJS({
|
||||
"node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"(exports) {
|
||||
"use strict";
|
||||
(function() {
|
||||
function is(x, y) {
|
||||
return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
|
||||
}
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
||||
var React = require_react(), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore = shim.useSyncExternalStore, useRef = React.useRef, useEffect = React.useEffect, useMemo = React.useMemo, useDebugValue2 = React.useDebugValue;
|
||||
exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {
|
||||
var instRef = useRef(null);
|
||||
if (null === instRef.current) {
|
||||
var inst = { hasValue: false, value: null };
|
||||
instRef.current = inst;
|
||||
} else inst = instRef.current;
|
||||
instRef = useMemo(
|
||||
function() {
|
||||
function memoizedSelector(nextSnapshot) {
|
||||
if (!hasMemo) {
|
||||
hasMemo = true;
|
||||
memoizedSnapshot = nextSnapshot;
|
||||
nextSnapshot = selector(nextSnapshot);
|
||||
if (void 0 !== isEqual && inst.hasValue) {
|
||||
var currentSelection = inst.value;
|
||||
if (isEqual(currentSelection, nextSnapshot))
|
||||
return memoizedSelection = currentSelection;
|
||||
}
|
||||
return memoizedSelection = nextSnapshot;
|
||||
}
|
||||
currentSelection = memoizedSelection;
|
||||
if (objectIs(memoizedSnapshot, nextSnapshot))
|
||||
return currentSelection;
|
||||
var nextSelection = selector(nextSnapshot);
|
||||
if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
|
||||
return memoizedSnapshot = nextSnapshot, currentSelection;
|
||||
memoizedSnapshot = nextSnapshot;
|
||||
return memoizedSelection = nextSelection;
|
||||
}
|
||||
var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;
|
||||
return [
|
||||
function() {
|
||||
return memoizedSelector(getSnapshot());
|
||||
},
|
||||
null === maybeGetServerSnapshot ? void 0 : function() {
|
||||
return memoizedSelector(maybeGetServerSnapshot());
|
||||
}
|
||||
];
|
||||
},
|
||||
[getSnapshot, getServerSnapshot, selector, isEqual]
|
||||
);
|
||||
var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);
|
||||
useEffect(
|
||||
function() {
|
||||
inst.hasValue = true;
|
||||
inst.value = value;
|
||||
},
|
||||
[value]
|
||||
);
|
||||
useDebugValue2(value);
|
||||
return value;
|
||||
};
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
|
||||
})();
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/shim/with-selector.js
|
||||
var require_with_selector = __commonJS({
|
||||
"node_modules/.pnpm/use-sync-external-store@1.5.0_react@18.3.1/node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) {
|
||||
"use strict";
|
||||
if (false) {
|
||||
module.exports = null;
|
||||
} else {
|
||||
module.exports = require_with_selector_development();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// node_modules/.pnpm/zustand@4.5.7_@types+react@18.3.24_react@18.3.1/node_modules/zustand/esm/vanilla.mjs
|
||||
var createStoreImpl = (createState) => {
|
||||
let state;
|
||||
const listeners = /* @__PURE__ */ new Set();
|
||||
const setState = (partial, replace) => {
|
||||
const nextState = typeof partial === "function" ? partial(state) : partial;
|
||||
if (!Object.is(nextState, state)) {
|
||||
const previousState = state;
|
||||
state = (replace != null ? replace : typeof nextState !== "object" || nextState === null) ? nextState : Object.assign({}, state, nextState);
|
||||
listeners.forEach((listener) => listener(state, previousState));
|
||||
}
|
||||
};
|
||||
const getState = () => state;
|
||||
const getInitialState = () => initialState;
|
||||
const subscribe = (listener) => {
|
||||
listeners.add(listener);
|
||||
return () => listeners.delete(listener);
|
||||
};
|
||||
const destroy = () => {
|
||||
if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production") {
|
||||
console.warn(
|
||||
"[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."
|
||||
);
|
||||
}
|
||||
listeners.clear();
|
||||
};
|
||||
const api = { setState, getState, getInitialState, subscribe, destroy };
|
||||
const initialState = state = createState(setState, getState, api);
|
||||
return api;
|
||||
};
|
||||
var createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;
|
||||
|
||||
// node_modules/.pnpm/zustand@4.5.7_@types+react@18.3.24_react@18.3.1/node_modules/zustand/esm/index.mjs
|
||||
var import_react = __toESM(require_react(), 1);
|
||||
var import_with_selector = __toESM(require_with_selector(), 1);
|
||||
var { useDebugValue } = import_react.default;
|
||||
var { useSyncExternalStoreWithSelector } = import_with_selector.default;
|
||||
var didWarnAboutEqualityFn = false;
|
||||
var identity = (arg) => arg;
|
||||
function useStore(api, selector = identity, equalityFn) {
|
||||
if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production" && equalityFn && !didWarnAboutEqualityFn) {
|
||||
console.warn(
|
||||
"[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"
|
||||
);
|
||||
didWarnAboutEqualityFn = true;
|
||||
}
|
||||
const slice = useSyncExternalStoreWithSelector(
|
||||
api.subscribe,
|
||||
api.getState,
|
||||
api.getServerState || api.getInitialState,
|
||||
selector,
|
||||
equalityFn
|
||||
);
|
||||
useDebugValue(slice);
|
||||
return slice;
|
||||
}
|
||||
var createImpl = (createState) => {
|
||||
if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production" && typeof createState !== "function") {
|
||||
console.warn(
|
||||
"[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`."
|
||||
);
|
||||
}
|
||||
const api = typeof createState === "function" ? createStore(createState) : createState;
|
||||
const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn);
|
||||
Object.assign(useBoundStore, api);
|
||||
return useBoundStore;
|
||||
};
|
||||
var create = (createState) => createState ? createImpl(createState) : createImpl;
|
||||
var react = (createState) => {
|
||||
if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production") {
|
||||
console.warn(
|
||||
"[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`."
|
||||
);
|
||||
}
|
||||
return create(createState);
|
||||
};
|
||||
export {
|
||||
create,
|
||||
createStore,
|
||||
react as default,
|
||||
useStore
|
||||
};
|
||||
/*! Bundled license information:
|
||||
|
||||
use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
|
||||
(**
|
||||
* @license React
|
||||
* use-sync-external-store-shim.development.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*)
|
||||
|
||||
use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
|
||||
(**
|
||||
* @license React
|
||||
* use-sync-external-store-shim/with-selector.development.js
|
||||
*
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*)
|
||||
*/
|
||||
//# sourceMappingURL=zustand.js.map
|
||||
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/zustand.js.map
generated
vendored
Normal file
7
web_frontend/food-order-demo/node_modules/.vite/deps_temp_49c74df5/zustand.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -55,15 +55,15 @@ const WorkflowPageV4 = () => {
|
||||
|
||||
// 启动序列
|
||||
const startupSequence = [
|
||||
{ type: 'system', content: '>>> AI Exhibition Planning System v2.0.0' },
|
||||
{ type: 'system', content: '>>> Copyright (c) 2024 DeepSeek AI. All rights reserved.' },
|
||||
{ type: 'system', content: '>>> AI 青莳轻食经营方案生成系统 v1.0.0' },
|
||||
{ type: 'system', content: '>>> Copyright (c) 2024 青莳轻食 AI Team. All rights reserved.' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: 'Checking system requirements...' },
|
||||
{ type: 'progress', content: 'System check', target: 100 },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: 'Loading configuration...' },
|
||||
{ type: 'output', content: 'Config path: /etc/agents/config.yaml' },
|
||||
{ type: 'output', content: 'Loading agents: 7 experts found' },
|
||||
{ type: 'output', content: 'Loading agents: 7 food experts found' },
|
||||
{ type: 'output', content: 'Workflow engine: n8n v1.109.2' },
|
||||
{ type: 'success', content: '✓ Configuration loaded successfully' },
|
||||
{ type: 'info', content: '' },
|
||||
@@ -75,16 +75,16 @@ const WorkflowPageV4 = () => {
|
||||
{ type: 'success', content: '✓ All dependencies installed' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'system', content: '=' .repeat(60) },
|
||||
{ type: 'system', content: 'SYSTEM READY - Starting multi-agent workflow...' },
|
||||
{ type: 'system', content: 'SYSTEM READY - Starting food business planning...' },
|
||||
{ type: 'system', content: '=' .repeat(60) },
|
||||
];
|
||||
|
||||
// Agent执行序列 - 更真实的输出
|
||||
const agentSequence = [
|
||||
{
|
||||
agent: agents[0], // 信息检索
|
||||
agent: agents[0], // 市场研究专家
|
||||
outputs: [
|
||||
{ type: 'system', content: '>>> [Agent-1] Information Retrieval Expert Activated' },
|
||||
{ type: 'system', content: '>>> [Agent-1] Market Research Expert Activated' },
|
||||
{ type: 'info', content: 'Model: DeepSeek-V2 Chat (Temperature: 0.7)' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: 'Installing agent dependencies...' },
|
||||
@@ -100,11 +100,11 @@ const WorkflowPageV4 = () => {
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: 'Executing search queries...' },
|
||||
{ type: 'output', content: '```sql' },
|
||||
{ type: 'output', content: 'SELECT * FROM exhibitions' },
|
||||
{ type: 'output', content: 'WHERE region = "长三角"' },
|
||||
{ type: 'output', content: ' AND industry = "新能源汽车"' },
|
||||
{ type: 'output', content: 'SELECT * FROM food_market' },
|
||||
{ type: 'output', content: 'WHERE region = "一线城市"' },
|
||||
{ type: 'output', content: ' AND category = "轻食健康"' },
|
||||
{ type: 'output', content: ' AND year >= 2023' },
|
||||
{ type: 'output', content: 'ORDER BY scale DESC;' },
|
||||
{ type: 'output', content: 'ORDER BY market_size DESC;' },
|
||||
{ type: 'output', content: '```' },
|
||||
{ type: 'progress', content: 'Query execution', target: 100, stutters: [12, 45, 78, 92] },
|
||||
{ type: 'success', content: '✓ Query completed: 2,847 rows in 342ms' },
|
||||
@@ -112,83 +112,71 @@ const WorkflowPageV4 = () => {
|
||||
{ type: 'info', content: 'Running data analysis...' },
|
||||
{ type: 'progress', content: 'Data processing', target: 100, stutters: [15, 38, 65, 88] },
|
||||
{ type: 'output', content: '' },
|
||||
{ type: 'output', content: '=== Market Analysis Results ===' },
|
||||
{ type: 'output', content: '• Market Size : ¥3.2 Trillion (↑32% YoY)' },
|
||||
{ type: 'output', content: '• Key Players : 5,832 companies' },
|
||||
{ type: 'output', content: '• Employment : 1.86M professionals' },
|
||||
{ type: 'output', content: '• Exhibition Count : 126 events/year' },
|
||||
{ type: 'output', content: '• Avg Scale : 32,000 sqm' },
|
||||
{ type: 'output', content: '• Growth Rate : 28% CAGR' },
|
||||
{ type: 'output', content: '=== 轻食市场分析结果 ===' },
|
||||
{ type: 'output', content: '• 市场规模 : ¥1200亿元 (↑18% YoY)' },
|
||||
{ type: 'output', content: '• 主要玩家 : 3,265家品牌' },
|
||||
{ type: 'output', content: '• 目标客群 : 25-40岁城市人群' },
|
||||
{ type: 'output', content: '• 平均客单价 : 45-68元' },
|
||||
{ type: 'output', content: '• 店铺数量 : 15,000+家' },
|
||||
{ type: 'output', content: '• 增长率 : 18% CAGR' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: 'Generating report files...' },
|
||||
{ type: 'progress', content: 'market_analysis_2024.json', target: 100, stutters: [56, 89] },
|
||||
{ type: 'file', content: '✓ Created: market_analysis_2024.json (15.3MB)' },
|
||||
{ type: 'progress', content: 'competitor_data.csv', target: 100, stutters: [34] },
|
||||
{ type: 'file', content: '✓ Created: competitor_data.csv (3.7MB)' },
|
||||
{ type: 'progress', content: 'industry_trends.pdf', target: 100, stutters: [67, 91] },
|
||||
{ type: 'file', content: '✓ Created: industry_trends.pdf (28.5MB)' },
|
||||
{ type: 'progress', content: 'light_food_market_2024.json', target: 100, stutters: [56, 89] },
|
||||
{ type: 'file', content: '✓ Created: light_food_market_2024.json (12.8MB)' },
|
||||
{ type: 'progress', content: 'competitor_brands.csv', target: 100, stutters: [34] },
|
||||
{ type: 'file', content: '✓ Created: competitor_brands.csv (4.2MB)' },
|
||||
{ type: 'progress', content: 'customer_insights.pdf', target: 100, stutters: [67, 91] },
|
||||
{ type: 'file', content: '✓ Created: customer_insights.pdf (18.9MB)' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'success', content: '✓ Agent-1 completed successfully' },
|
||||
{ type: 'system', content: 'Execution time: 18.7s | Memory: 124MB | CPU: 23%' },
|
||||
]
|
||||
},
|
||||
{
|
||||
agent: agents[1], // 设计专家
|
||||
agent: agents[1], // 营养配方师
|
||||
outputs: [
|
||||
{ type: 'system', content: '>>> [Agent-2] Design & Creative Expert Activated' },
|
||||
{ type: 'system', content: '>>> [Agent-2] Nutrition Formulation Expert Activated' },
|
||||
{ type: 'info', content: 'Model: Google Gemini Pro Vision (Temperature: 0.8)' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: 'Loading design libraries...' },
|
||||
{ type: 'progress', content: 'three.js@0.157.0', target: 100, stutters: [45, 78] },
|
||||
{ type: 'progress', content: '@adobe/react-spectrum', target: 100, stutters: [23, 67, 88] },
|
||||
{ type: 'progress', content: 'stable-diffusion-xl', target: 100, stutters: [34, 56, 89] },
|
||||
{ type: 'info', content: 'Loading nutrition databases...' },
|
||||
{ type: 'progress', content: 'usda-nutrition-data@2.1.0', target: 100, stutters: [45, 78] },
|
||||
{ type: 'progress', content: 'food-composition-api', target: 100, stutters: [23, 67, 88] },
|
||||
{ type: 'progress', content: 'nutrient-calculator', target: 100, stutters: [34, 56, 89] },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: 'Initializing AI image generator...' },
|
||||
{ type: 'output', content: 'const imageGen = new StableDiffusion({' },
|
||||
{ type: 'output', content: ' model: "SDXL 1.0",' },
|
||||
{ type: 'output', content: ' steps: 50,' },
|
||||
{ type: 'output', content: ' guidance: 7.5,' },
|
||||
{ type: 'output', content: ' resolution: "1920x1080"' },
|
||||
{ type: 'info', content: 'Initializing nutrition calculator...' },
|
||||
{ type: 'output', content: 'const nutritionCalc = new NutrientAnalyzer({' },
|
||||
{ type: 'output', content: ' database: "USDA-SR28",' },
|
||||
{ type: 'output', content: ' targets: "weight_loss",' },
|
||||
{ type: 'output', content: ' precision: "macro_micro",' },
|
||||
{ type: 'output', content: ' allergies: ["gluten", "dairy"]' },
|
||||
{ type: 'output', content: '});' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: '🎨 Generating exhibition hall visualization...' },
|
||||
{ type: 'output', content: 'Prompt: "Modern auto expo hall, futuristic design, glass ceiling"' },
|
||||
{ type: 'progress', content: 'Generating: Whisk_e8f83d1a37.jpg', target: 100, stutters: [23, 45, 67, 89, 95] },
|
||||
{ type: 'image',
|
||||
content: '📷 IMAGE PREVIEW: 展馆外观',
|
||||
imageSrc: '/data/会展策划/image/Whisk_e8f83d1a37.jpg',
|
||||
imageAlt: '展馆外观效果图'
|
||||
},
|
||||
{ type: 'file', content: '✓ Generated: Whisk_e8f83d1a37.jpg (2.4MB)' },
|
||||
{ type: 'info', content: '🥗 Designing quinoa salad formulation...' },
|
||||
{ type: 'output', content: 'Recipe: "鸡胸肉藜麦沙拉, 300大卡, 35g蛋白质"' },
|
||||
{ type: 'progress', content: 'Calculating: quinoa_protein_salad.json', target: 100, stutters: [23, 45, 67, 89, 95] },
|
||||
{ type: 'output', content: '📄 营养成分表: 鸡胸肉藜麦沙拉' },
|
||||
{ type: 'output', content: '• 热量: 285大卡 | 蛋白质: 34.2g | 碳水: 28.5g | 脂肪: 8.1g' },
|
||||
{ type: 'file', content: '✓ Generated: quinoa_protein_salad.json (156KB)' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: '🎨 Generating interior exhibition view...' },
|
||||
{ type: 'output', content: 'Prompt: "Car exhibition interior, visitors, modern displays"' },
|
||||
{ type: 'progress', content: 'Generating: 展会内部参观.jpg', target: 100, stutters: [34, 67, 88] },
|
||||
{ type: 'image',
|
||||
content: '📷 IMAGE PREVIEW: 展厅内部布局',
|
||||
imageSrc: '/data/会展策划/image/展会内部参观.jpg',
|
||||
imageAlt: '展厅内部参观实景'
|
||||
},
|
||||
{ type: 'file', content: '✓ Generated: 展会内部参观.jpg (3.1MB)' },
|
||||
{ type: 'info', content: '🥗 Designing avocado energy bowl...' },
|
||||
{ type: 'output', content: 'Recipe: "牛油果能量碗, 520大卡, 25g植物蛋白"' },
|
||||
{ type: 'progress', content: 'Calculating: avocado_energy_bowl.json', target: 100, stutters: [34, 67, 88] },
|
||||
{ type: 'output', content: '📄 营养成分表: 牛油果能量碗' },
|
||||
{ type: 'output', content: '• 热量: 518大卡 | 蛋白质: 24.8g | 碳水: 42.3g | 脂肪: 26.7g' },
|
||||
{ type: 'file', content: '✓ Generated: avocado_energy_bowl.json (189KB)' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: '🎨 Generating test drive area visualization...' },
|
||||
{ type: 'output', content: 'Prompt: "EV test drive track, outdoor exhibition area"' },
|
||||
{ type: 'progress', content: 'Generating: 试驾小景.jpg', target: 100, stutters: [45, 78] },
|
||||
{ type: 'image',
|
||||
content: '📷 IMAGE PREVIEW: 试驾体验区',
|
||||
imageSrc: '/data/会展策划/image/2.试驾小景.jpg',
|
||||
imageAlt: '试驾体验区实景'
|
||||
},
|
||||
{ type: 'file', content: '✓ Generated: 试驾小景.jpg (2.8MB)' },
|
||||
{ type: 'info', content: '🥗 Designing salmon protein wrap...' },
|
||||
{ type: 'output', content: 'Recipe: "三文鱼蛋白卷, 365大卡, 32g优质蛋白"' },
|
||||
{ type: 'progress', content: 'Calculating: salmon_protein_wrap.json', target: 100, stutters: [45, 78] },
|
||||
{ type: 'output', content: '📄 营养成分表: 三文鱼蛋白卷' },
|
||||
{ type: 'output', content: '• 热量: 362大卡 | 蛋白质: 31.6g | 碳水: 25.4g | 脂肪: 15.2g' },
|
||||
{ type: 'file', content: '✓ Generated: salmon_protein_wrap.json (167KB)' },
|
||||
{ type: 'info', content: '' },
|
||||
{ type: 'info', content: '🎨 Generating brand showcase images...' },
|
||||
{ type: 'progress', content: 'Generating: 小米汽车.jpg', target: 100, stutters: [34, 67] },
|
||||
{ type: 'image',
|
||||
content: '📷 IMAGE PREVIEW: 小米汽车展台',
|
||||
imageSrc: '/data/会展策划/image/3.小米汽车.jpg',
|
||||
imageAlt: '小米汽车展示'
|
||||
},
|
||||
{ type: 'file', content: '✓ Generated: 小米汽车.jpg (1.9MB)' },
|
||||
{ type: 'info', content: '🥗 Creating comprehensive menu analysis...' },
|
||||
{ type: 'progress', content: 'Analyzing: complete_menu_nutrition.xlsx', target: 100, stutters: [34, 67] },
|
||||
{ type: 'output', content: '📄 菜单分析报告: 32款产品营养数据' },
|
||||
{ type: 'output', content: '• 平均热量: 385大卡 | 蛋白质: 28.5g | 低糖指数: 92%' },
|
||||
{ type: 'file', content: '✓ Generated: complete_menu_nutrition.xlsx (2.3MB)' },
|
||||
{ type: 'progress', content: 'Generating: 博览会.jpg', target: 100, stutters: [56, 89] },
|
||||
{ type: 'image',
|
||||
content: '📷 IMAGE PREVIEW: 博览会全景',
|
||||
|
||||
Reference in New Issue
Block a user