@mybricks/to-code-taro 1.1.0 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core/comlib/{index.js → Index.js} +6 -6
- package/dist/cjs/core/utils/PopupRenderer.js +1 -1
- package/dist/cjs/core/utils/hooks.js +102 -38
- package/dist/cjs/core/utils/slots.js +11 -4
- package/dist/cjs/core/utils/useContext.js +6 -4
- package/dist/cjs/core/utils/with.js +3 -3
- package/dist/cjs/generate/generateTaroProjectJson.js +36 -11
- package/dist/cjs/generate/utils/commonDir.js +14 -10
- package/dist/cjs/generate/utils/pageImages.d.ts +14 -0
- package/dist/cjs/generate/utils/pageImages.js +36 -0
- package/dist/cjs/handleCom.js +37 -14
- package/dist/cjs/handleDom.d.ts +2 -0
- package/dist/cjs/handleDom.js +5 -2
- package/dist/cjs/handleGlobal.js +4 -2
- package/dist/cjs/handleSlot.d.ts +3 -0
- package/dist/cjs/handleSlot.js +38 -10
- package/dist/cjs/processors/processScene.js +3 -1
- package/dist/cjs/taro-template.json +313 -13
- package/dist/cjs/toCodeTaro.d.ts +4 -1
- package/dist/cjs/toCodeTaro.js +80 -1
- package/dist/cjs/utils/builder/buildResult.js +3 -16
- package/dist/cjs/utils/config/content/converter.js +2 -2
- package/dist/cjs/utils/config/content/pageConfig.js +4 -1
- package/dist/cjs/utils/config/content/saveBase64Image.d.ts +10 -0
- package/dist/cjs/utils/config/content/saveBase64Image.js +44 -3
- package/dist/cjs/utils/config/content/tabBarConfig.js +8 -2
- package/dist/cjs/utils/config/handlePageConfig.js +5 -3
- package/dist/cjs/utils/context/collectJSModules.d.ts +4 -0
- package/dist/cjs/utils/context/collectJSModules.js +4 -2
- package/dist/cjs/utils/logic/genJSModules.d.ts +8 -4
- package/dist/cjs/utils/logic/genJSModules.js +31 -33
- package/dist/cjs/utils/logic/handleProcess.js +4 -4
- package/dist/cjs/utils/logic/processChildren.d.ts +14 -1
- package/dist/cjs/utils/logic/processChildren.js +30 -6
- package/dist/cjs/utils/style/converter.js +34 -72
- package/dist/cjs/utils/templates/index.d.ts +1 -0
- package/dist/cjs/utils/templates/index.js +11 -2
- package/dist/cjs/utils/templates/renderManager.d.ts +4 -0
- package/dist/cjs/utils/templates/renderManager.js +10 -3
- package/dist/cjs/utils/templates/scene.js +13 -1
- package/dist/esm/core/comlib/{index.js → Index.js} +1 -1
- package/dist/esm/core/utils/PopupRenderer.js +1 -1
- package/dist/esm/core/utils/hooks.js +137 -53
- package/dist/esm/core/utils/popupRouter.js +2 -1
- package/dist/esm/core/utils/slots.js +24 -22
- package/dist/esm/core/utils/useContext.js +8 -10
- package/dist/esm/core/utils/with.js +3 -3
- package/dist/esm/generate/generateTaroProjectJson.js +28 -8
- package/dist/esm/generate/utils/commonDir.js +18 -14
- package/dist/esm/generate/utils/pageImages.d.ts +14 -0
- package/dist/esm/generate/utils/pageImages.d.ts.map +1 -0
- package/dist/esm/generate/utils/pageImages.js +15 -0
- package/dist/esm/handleCom.js +44 -17
- package/dist/esm/handleDom.d.ts +2 -0
- package/dist/esm/handleDom.js +6 -4
- package/dist/esm/handleGlobal.js +4 -2
- package/dist/esm/handleSlot.d.ts +3 -0
- package/dist/esm/handleSlot.js +57 -12
- package/dist/esm/processors/processComEvents.d.ts.map +1 -0
- package/dist/esm/processors/processScene.d.ts.map +1 -1
- package/dist/esm/processors/processScene.js +13 -3
- package/dist/esm/processors/processSceneLogic.d.ts.map +1 -0
- package/dist/esm/taro-template.json +313 -13
- package/dist/esm/toCodeTaro.d.ts +4 -1
- package/dist/esm/toCodeTaro.d.ts.map +1 -1
- package/dist/esm/toCodeTaro.js +89 -4
- package/dist/esm/utils/builder/buildResult.d.ts.map +1 -1
- package/dist/esm/utils/builder/buildResult.js +5 -14
- package/dist/esm/utils/common/helper.d.ts.map +1 -0
- package/dist/esm/utils/config/content/converter.js +2 -2
- package/dist/esm/utils/config/content/pageConfig.js +4 -1
- package/dist/esm/utils/config/content/saveBase64Image.d.ts +10 -0
- package/dist/esm/utils/config/content/saveBase64Image.js +42 -1
- package/dist/esm/utils/config/content/tabBarConfig.js +7 -2
- package/dist/esm/utils/config/handlePageConfig.d.ts.map +1 -1
- package/dist/esm/utils/config/handlePageConfig.js +5 -3
- package/dist/esm/utils/context/collectJSModules.d.ts +4 -0
- package/dist/esm/utils/context/collectJSModules.d.ts.map +1 -1
- package/dist/esm/utils/context/collectJSModules.js +1 -1
- package/dist/esm/utils/logic/genJSModules.d.ts +8 -4
- package/dist/esm/utils/logic/genJSModules.d.ts.map +1 -1
- package/dist/esm/utils/logic/genJSModules.js +16 -27
- package/dist/esm/utils/logic/handleProcess.js +4 -4
- package/dist/esm/utils/logic/processChildren.d.ts +14 -1
- package/dist/esm/utils/logic/processChildren.js +45 -8
- package/dist/esm/utils/style/converter.js +57 -106
- package/dist/esm/utils/templates/index.d.ts +1 -0
- package/dist/esm/utils/templates/index.js +9 -2
- package/dist/esm/utils/templates/renderManager.d.ts +4 -0
- package/dist/esm/utils/templates/renderManager.js +17 -4
- package/dist/esm/utils/templates/scene.js +8 -2
- package/package.json +1 -1
- package/dist/esm/generate/generateTaroProjectJson.d.ts.map +0 -1
- package/dist/esm/generate/utils/commonDir.d.ts.map +0 -1
- package/dist/esm/handleDom.d.ts.map +0 -1
- package/dist/esm/handleGlobal.d.ts.map +0 -1
- package/dist/esm/utils/config/content/converter.d.ts.map +0 -1
- package/dist/esm/utils/config/content/pageConfig.d.ts.map +0 -1
- package/dist/esm/utils/config/content/saveBase64Image.d.ts.map +0 -1
- package/dist/esm/utils/config/content/tabBarConfig.d.ts.map +0 -1
- package/dist/esm/utils/logic/processChildren.d.ts.map +0 -1
package/dist/cjs/handleCom.js
CHANGED
|
@@ -38,6 +38,7 @@ var import_templates = require("./utils/templates/index");
|
|
|
38
38
|
var import_component = require("./utils/templates/component");
|
|
39
39
|
var import_renderManager = require("./utils/templates/renderManager");
|
|
40
40
|
var import_handleSlot = __toESM(require("./handleSlot"));
|
|
41
|
+
var import_handleDom = __toESM(require("./handleDom"));
|
|
41
42
|
var import_processComEvents = require("./processors/processComEvents");
|
|
42
43
|
var import_handleProcess = require("./utils/logic/handleProcess");
|
|
43
44
|
var COM_PROTOCOL = {
|
|
@@ -56,16 +57,31 @@ var handleCom = (com, config) => {
|
|
|
56
57
|
const { componentName, eventHandlers, comEventCode } = prepareComponent(com, config);
|
|
57
58
|
const { cssContent, rootStyle } = prepareStyles(com);
|
|
58
59
|
let accumulatedCssContent = cssContent;
|
|
60
|
+
if (com.child) {
|
|
61
|
+
rootStyle.position = "relative";
|
|
62
|
+
}
|
|
59
63
|
const { slotsCode, accumulatedCssContent: slotCss, eventCode, childrenResults } = processComSlots(com, config, accumulatedCssContent);
|
|
60
64
|
accumulatedCssContent = slotCss;
|
|
61
|
-
|
|
65
|
+
let childrenUi = "";
|
|
66
|
+
if (com.child) {
|
|
67
|
+
const childResult = (0, import_handleDom.default)(com.child, {
|
|
68
|
+
...config,
|
|
69
|
+
depth: config.depth + 1
|
|
70
|
+
});
|
|
71
|
+
childrenUi = childResult.ui;
|
|
72
|
+
if (childResult.cssContent) {
|
|
73
|
+
accumulatedCssContent += (accumulatedCssContent ? "\n" : "") + childResult.cssContent;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const ui = generateUiCode(com, config, componentName, rootStyle, comEventCode, slotsCode, eventHandlers, childrenUi);
|
|
77
|
+
const hasEvents = Object.keys(eventHandlers).length > 0;
|
|
62
78
|
return {
|
|
63
79
|
slots: [],
|
|
64
80
|
scopeSlots: [],
|
|
65
81
|
ui,
|
|
66
82
|
js: eventCode,
|
|
67
83
|
cssContent: accumulatedCssContent,
|
|
68
|
-
outputsConfig:
|
|
84
|
+
outputsConfig: hasEvents ? { [meta.id]: eventHandlers } : void 0,
|
|
69
85
|
childrenResults,
|
|
70
86
|
name: meta.name,
|
|
71
87
|
// 返回解析后的稳定名称
|
|
@@ -117,7 +133,13 @@ var processComSlots = (com, config, initialCss) => {
|
|
|
117
133
|
slotEntries.forEach(([slotId, slot], index) => {
|
|
118
134
|
var _a, _b, _c, _d;
|
|
119
135
|
const children = slot.comAry || slot.children || [];
|
|
136
|
+
const isLast = index === slotEntries.length - 1;
|
|
137
|
+
const slotIndent = (0, import_templates.indentation)(config.codeStyle.indent * (config.depth + 2));
|
|
120
138
|
if (children.length === 0) {
|
|
139
|
+
slotsCode += `${slotIndent}${slotId}: {
|
|
140
|
+
${slotIndent} render: () => null
|
|
141
|
+
${slotIndent}}${isLast ? "" : ","}
|
|
142
|
+
`;
|
|
121
143
|
return;
|
|
122
144
|
}
|
|
123
145
|
const slotLayout = (_a = com.props.data) == null ? void 0 : _a.layout;
|
|
@@ -127,6 +149,8 @@ var processComSlots = (com, config, initialCss) => {
|
|
|
127
149
|
depth: 1,
|
|
128
150
|
renderManager,
|
|
129
151
|
slotKey: slotId,
|
|
152
|
+
// 给 slot 根容器打标用(slot wrapper className)
|
|
153
|
+
parentComId: meta.id,
|
|
130
154
|
// 鸿蒙化:传递父容器的布局配置给插槽
|
|
131
155
|
layout: slotLayout
|
|
132
156
|
});
|
|
@@ -135,12 +159,10 @@ var processComSlots = (com, config, initialCss) => {
|
|
|
135
159
|
accumulatedCssContent += (accumulatedCssContent ? "\n" : "") + result.cssContent;
|
|
136
160
|
}
|
|
137
161
|
const renderId = `${meta.id}_${slotId}`;
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
const formattedContent = (0, import_templates.formatSlotContent)(result.ui, baseIndentSize, renderBodyIndent);
|
|
141
|
-
if (meta.def.namespace === "mybricks.taro.formContainer" && Array.isArray((_b = props.data) == null ? void 0 : _b.items) && result.childrenResults) {
|
|
162
|
+
const rawContent = result.ui;
|
|
163
|
+
if (meta.def.namespace === "mybricks.taro.formContainer" && Array.isArray((_b = props.data) == null ? void 0 : _b.items) && result.directChildren) {
|
|
142
164
|
const items = (_c = props.data) == null ? void 0 : _c.items;
|
|
143
|
-
result.
|
|
165
|
+
result.directChildren.forEach((childRes) => {
|
|
144
166
|
const itemConfig = items.find((it) => it.id === childRes.id);
|
|
145
167
|
if (itemConfig == null ? void 0 : itemConfig.comName) {
|
|
146
168
|
childRes.name = itemConfig.comName;
|
|
@@ -150,14 +172,15 @@ var processComSlots = (com, config, initialCss) => {
|
|
|
150
172
|
const logicCode = buildSlotLogicCode({
|
|
151
173
|
parentComId: meta.id,
|
|
152
174
|
slotKey: slotId,
|
|
153
|
-
children: result.
|
|
175
|
+
children: result.directChildren,
|
|
154
176
|
config
|
|
155
177
|
});
|
|
156
178
|
const description = `${meta.title || meta.id}的${slot.title || slotId}插槽`;
|
|
157
179
|
renderManager.register(
|
|
158
180
|
renderId,
|
|
159
|
-
|
|
160
|
-
result.
|
|
181
|
+
rawContent,
|
|
182
|
+
result.directChildren,
|
|
183
|
+
// 仅传入直接子组件,避免递归替换导致的结构破坏
|
|
161
184
|
logicCode,
|
|
162
185
|
slot.type,
|
|
163
186
|
slot.wrap || slot.itemWrap || ((_d = COM_PROTOCOL[meta.def.namespace]) == null ? void 0 : _d.useWrap),
|
|
@@ -166,12 +189,11 @@ var processComSlots = (com, config, initialCss) => {
|
|
|
166
189
|
if (result.childrenResults) {
|
|
167
190
|
allChildrenResults = allChildrenResults.concat(result.childrenResults);
|
|
168
191
|
}
|
|
169
|
-
const slotIndent = (0, import_templates.indentation)(config.codeStyle.indent * (config.depth + 2));
|
|
170
192
|
slotsCode += (0, import_component.genSlotRenderRef)({
|
|
171
193
|
slotId,
|
|
172
194
|
renderId,
|
|
173
195
|
indent: slotIndent,
|
|
174
|
-
isLast
|
|
196
|
+
isLast
|
|
175
197
|
});
|
|
176
198
|
});
|
|
177
199
|
return { slotsCode, accumulatedCssContent, eventCode, childrenResults: allChildrenResults };
|
|
@@ -210,7 +232,7 @@ var buildSlotLogicCode = (args) => {
|
|
|
210
232
|
`;
|
|
211
233
|
return code;
|
|
212
234
|
};
|
|
213
|
-
var generateUiCode = (com, config, componentName, rootStyle, comEventCode, slotsCode, eventHandlers) => {
|
|
235
|
+
var generateUiCode = (com, config, componentName, rootStyle, comEventCode, slotsCode, eventHandlers, childrenUi) => {
|
|
214
236
|
var _a, _b, _c, _d;
|
|
215
237
|
const { meta, props } = com;
|
|
216
238
|
const scene = config.getCurrentScene();
|
|
@@ -225,7 +247,8 @@ var generateUiCode = (com, config, componentName, rootStyle, comEventCode, slots
|
|
|
225
247
|
componentOutputs: (((_c = sceneCom == null ? void 0 : sceneCom.outputs) == null ? void 0 : _c.length) || 0) > 0 ? sceneCom.outputs : (((_d = meta.outputs) == null ? void 0 : _d.length) || 0) > 0 ? meta.outputs : void 0,
|
|
226
248
|
comEventCode,
|
|
227
249
|
slotsCode,
|
|
228
|
-
eventHandlers
|
|
250
|
+
eventHandlers,
|
|
251
|
+
childrenUi
|
|
229
252
|
},
|
|
230
253
|
{
|
|
231
254
|
codeStyle: config.codeStyle,
|
package/dist/cjs/handleDom.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ type HandleDomResult = {
|
|
|
14
14
|
slots: string[];
|
|
15
15
|
scopeSlots: string[];
|
|
16
16
|
cssContent: string;
|
|
17
|
+
directChildren?: any[];
|
|
18
|
+
childrenResults?: any[];
|
|
17
19
|
};
|
|
18
20
|
declare const handleDom: (dom: Dom, config: HandleDomConfig) => HandleDomResult;
|
|
19
21
|
export default handleDom;
|
package/dist/cjs/handleDom.js
CHANGED
|
@@ -26,8 +26,9 @@ var import_utils = require("./utils");
|
|
|
26
26
|
var import_processChildren = require("./utils/logic/processChildren");
|
|
27
27
|
var handleDom = (dom, config) => {
|
|
28
28
|
var _a;
|
|
29
|
-
const { props
|
|
29
|
+
const { props } = dom;
|
|
30
30
|
const domProps = props;
|
|
31
|
+
const children = (0, import_processChildren.normalizeChildren)(dom);
|
|
31
32
|
const childResults = (0, import_processChildren.processChildren)(children, {
|
|
32
33
|
...config,
|
|
33
34
|
depth: config.depth + 1
|
|
@@ -43,7 +44,9 @@ ${indent}</View>`;
|
|
|
43
44
|
js: childResults.js,
|
|
44
45
|
slots: childResults.slots,
|
|
45
46
|
scopeSlots: childResults.scopeSlots,
|
|
46
|
-
cssContent
|
|
47
|
+
cssContent,
|
|
48
|
+
directChildren: childResults.directChildren,
|
|
49
|
+
childrenResults: childResults.childrenResults
|
|
47
50
|
};
|
|
48
51
|
};
|
|
49
52
|
var handleDom_default = handleDom;
|
package/dist/cjs/handleGlobal.js
CHANGED
|
@@ -24,6 +24,7 @@ __export(handleGlobal_exports, {
|
|
|
24
24
|
module.exports = __toCommonJS(handleGlobal_exports);
|
|
25
25
|
var import_utils = require("./utils");
|
|
26
26
|
var import_handleProcess = require("./utils/logic/handleProcess");
|
|
27
|
+
var import_string = require("./utils/common/string");
|
|
27
28
|
var handleGlobal = (params, config) => {
|
|
28
29
|
const { tojson, globalFxs, globalVars } = params;
|
|
29
30
|
const globalImportManager = new import_utils.ImportManager(config);
|
|
@@ -64,11 +65,12 @@ var handleGlobal = (params, config) => {
|
|
|
64
65
|
return tojson.global;
|
|
65
66
|
}
|
|
66
67
|
});
|
|
68
|
+
const varKey = (0, import_string.getSafeVarName)(com);
|
|
67
69
|
globalVarsRegisterChangeCode += `
|
|
68
|
-
${indent2}this.${
|
|
70
|
+
${indent2}this.${varKey}.registerChange((value: any) => {
|
|
69
71
|
${res}
|
|
70
72
|
${indent2}})`;
|
|
71
|
-
globalVarsInitCode += `${indent}${
|
|
73
|
+
globalVarsInitCode += `${indent}${varKey}: any = createVariable(${JSON.stringify(com.model.data.initValue || {})})
|
|
72
74
|
`;
|
|
73
75
|
});
|
|
74
76
|
let globalFxsInitCode = "";
|
package/dist/cjs/handleSlot.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ interface HandleSlotConfig extends BaseConfig {
|
|
|
12
12
|
hasPopups?: boolean;
|
|
13
13
|
/** handleCom 处理 slots 时的 slot key(如 item/content),用于识别 scope 入参 */
|
|
14
14
|
slotKey?: string;
|
|
15
|
+
/** 父组件 id(用于给插槽根容器打标 className) */
|
|
16
|
+
parentComId?: string;
|
|
15
17
|
}
|
|
16
18
|
declare const handleSlot: (ui: UI, config: HandleSlotConfig) => {
|
|
17
19
|
js: string;
|
|
@@ -20,6 +22,7 @@ declare const handleSlot: (ui: UI, config: HandleSlotConfig) => {
|
|
|
20
22
|
cssContent: string;
|
|
21
23
|
slots: any[];
|
|
22
24
|
scopeSlots: any[];
|
|
25
|
+
directChildren: any[];
|
|
23
26
|
childrenResults: any[];
|
|
24
27
|
};
|
|
25
28
|
export default handleSlot;
|
package/dist/cjs/handleSlot.js
CHANGED
|
@@ -31,7 +31,7 @@ var handleSlot = (ui, config) => {
|
|
|
31
31
|
var _a, _b;
|
|
32
32
|
const importManager = new import_utils.ImportManager(config);
|
|
33
33
|
const { props = {} } = ui;
|
|
34
|
-
const children =
|
|
34
|
+
const children = (0, import_processChildren.normalizeChildren)(ui);
|
|
35
35
|
const isRoot = config.checkIsRoot();
|
|
36
36
|
const slotId = ((_a = ui.meta) == null ? void 0 : _a.id) || ui.id;
|
|
37
37
|
const addDependencyImport = config.addParentDependencyImport || importManager.addImport.bind(importManager);
|
|
@@ -40,7 +40,7 @@ var handleSlot = (ui, config) => {
|
|
|
40
40
|
const utilsPkg = config.getUtilsPackageName({ isRoot, isPopup: config.isPopup });
|
|
41
41
|
addDependencyImport({
|
|
42
42
|
packageName: utilsPkg,
|
|
43
|
-
dependencyNames: ["useAppContext"
|
|
43
|
+
dependencyNames: ["useAppContext"],
|
|
44
44
|
importType: "named"
|
|
45
45
|
});
|
|
46
46
|
addDependencyImport({
|
|
@@ -63,7 +63,7 @@ var handleSlot = (ui, config) => {
|
|
|
63
63
|
const { initCode, effectCode } = (0, import_processSceneLogic.processSceneLogic)(ui, config, addDependencyImport);
|
|
64
64
|
let cssContent = ((0, import_utils.convertStyleAryToCss)((_b = props.style) == null ? void 0 : _b.styleAry, slotId) || "") + (childResults.cssContent ? "\n" + childResults.cssContent : "");
|
|
65
65
|
const combinedJsCode = `${envDefineCode}${childResults.js}${initCode}${(0, import_scene.wrapInEffect)(indent2, effectCode)}`;
|
|
66
|
-
const uiResult = generateSlotUi(ui, props, childResults.ui, config);
|
|
66
|
+
const uiResult = generateSlotUi(ui, props, childResults.ui, childResults.childrenResults, config);
|
|
67
67
|
if (isRoot) {
|
|
68
68
|
const renderDefinitions = renderManager ? renderManager.toCode("") : "";
|
|
69
69
|
finalizeRootComponent(ui, config, importManager, combinedJsCode, renderDefinitions, uiResult, cssContent);
|
|
@@ -75,6 +75,7 @@ var handleSlot = (ui, config) => {
|
|
|
75
75
|
cssContent,
|
|
76
76
|
slots: [],
|
|
77
77
|
scopeSlots: [],
|
|
78
|
+
directChildren: childResults.directChildren,
|
|
78
79
|
childrenResults: childResults.childrenResults
|
|
79
80
|
};
|
|
80
81
|
};
|
|
@@ -82,28 +83,40 @@ var setupImports = (addImport, config, isRoot) => {
|
|
|
82
83
|
const importParams = { isPopup: config.isPopup };
|
|
83
84
|
const utilsPkg = config.getUtilsPackageName(importParams);
|
|
84
85
|
const comPkg = config.getComponentPackageName(importParams);
|
|
85
|
-
addImport({
|
|
86
|
+
addImport({
|
|
87
|
+
packageName: "react",
|
|
88
|
+
dependencyNames: ["useRef", "useEffect", "useState", "createContext", "useContext"],
|
|
89
|
+
importType: "named"
|
|
90
|
+
});
|
|
86
91
|
addImport({ packageName: "@tarojs/components", dependencyNames: ["View"], importType: "named" });
|
|
87
|
-
const dependencyNames = ["WithCom", "WithWrapper"
|
|
92
|
+
const dependencyNames = ["WithCom", "WithWrapper"];
|
|
88
93
|
if (isRoot && config.hasPopups) {
|
|
89
94
|
dependencyNames.push("PopupRenderer");
|
|
90
95
|
}
|
|
91
96
|
addImport({ packageName: utilsPkg, dependencyNames, importType: "named" });
|
|
92
97
|
addImport({ packageName: comPkg, dependencyNames: ["useAppContext"], importType: "named" });
|
|
93
98
|
if (isRoot) {
|
|
99
|
+
addImport({ packageName: "@/common/pageLife", dependencyNames: ["usePageLife"], importType: "named" });
|
|
94
100
|
if (config.hasPopups) {
|
|
95
|
-
addImport({ packageName: "
|
|
101
|
+
addImport({ packageName: "@/common/popup", dependencyNames: ["POPUP_MAP", "POPUP_IDS"], importType: "named" });
|
|
96
102
|
}
|
|
97
103
|
addImport({ packageName: "./index.global.less", dependencyNames: [], importType: "module" });
|
|
98
104
|
}
|
|
99
105
|
};
|
|
100
|
-
var generateSlotUi = (ui, props, childrenUi, config) => {
|
|
106
|
+
var generateSlotUi = (ui, props, childrenUi, childrenResults, config) => {
|
|
101
107
|
const indent = (0, import_utils.indentation)(config.codeStyle.indent * config.depth);
|
|
102
|
-
const
|
|
108
|
+
const slotStyle = ui.style || {};
|
|
109
|
+
const propsStyle = props.style || {};
|
|
110
|
+
const mergedStyle = { width: "100%", height: "100%", ...slotStyle, ...propsStyle };
|
|
103
111
|
const layout = config.layout || ui.layout || mergedStyle.layout;
|
|
104
|
-
const
|
|
112
|
+
const smart = isSmartLayout(layout);
|
|
113
|
+
const layoutAdjustment = smart ? { position: isHasInSmartLayout(childrenResults) ? "fixed" : "relative" } : hasFixedChildren(childrenResults) ? { transform: "translateX(0)" } : {};
|
|
114
|
+
const styleCode = JSON.stringify((0, import_utils.convertRootStyle)({ ...mergedStyle, layout, ...layoutAdjustment }));
|
|
105
115
|
const rootClassName = (0, import_utils.getRootComponentClassName)(config.getCurrentScene(), config.checkIsRoot());
|
|
106
|
-
const
|
|
116
|
+
const parentComId = config == null ? void 0 : config.parentComId;
|
|
117
|
+
const slotMarkClass = parentComId ? `slot-${parentComId}` : "";
|
|
118
|
+
const classNameStr = [rootClassName, slotMarkClass].filter(Boolean).join(" ");
|
|
119
|
+
const classNameAttr = classNameStr ? ` className='${classNameStr}'` : "";
|
|
107
120
|
return `${indent}<View${classNameAttr} style={${styleCode}}>
|
|
108
121
|
${childrenUi}
|
|
109
122
|
${indent}</View>`;
|
|
@@ -124,4 +137,19 @@ var finalizeRootComponent = (ui, config, importManager, combinedJsCode, renderDe
|
|
|
124
137
|
});
|
|
125
138
|
config.add({ importManager, content: componentCode, cssContent, name: fileName });
|
|
126
139
|
};
|
|
140
|
+
var hasFixedChildren = (childrenResults) => {
|
|
141
|
+
return childrenResults.some((item) => {
|
|
142
|
+
var _a;
|
|
143
|
+
return ((_a = item == null ? void 0 : item.rootStyle) == null ? void 0 : _a.position) === "fixed";
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
var isSmartLayout = (layout) => {
|
|
147
|
+
return layout === "smart" || (layout == null ? void 0 : layout.position) === "smart";
|
|
148
|
+
};
|
|
149
|
+
var isHasInSmartLayout = (childrenResults) => {
|
|
150
|
+
return childrenResults.some((item) => {
|
|
151
|
+
var _a;
|
|
152
|
+
return ((_a = item == null ? void 0 : item.rootStyle) == null ? void 0 : _a.inSmartLayout) === true;
|
|
153
|
+
});
|
|
154
|
+
};
|
|
127
155
|
var handleSlot_default = handleSlot;
|
|
@@ -53,6 +53,7 @@ var processScene = (params) => {
|
|
|
53
53
|
pageConfigHandler
|
|
54
54
|
} = params;
|
|
55
55
|
(0, import_collectJSModules.collectJSModulesFromScene)(scene, jsModulesMap);
|
|
56
|
+
const localJsModules = Object.entries(scene.coms || {}).map(([comId, comInfo]) => (0, import_collectJSModules.extractJSModuleFromCom)(comId, comInfo)).filter(Boolean);
|
|
56
57
|
const fileName = (_a = config.getFileName) == null ? void 0 : _a.call(config, ui.meta.slotId);
|
|
57
58
|
const currentProvider = (0, import_createProvider.createProvider)(fileName, true);
|
|
58
59
|
const providerMap = (0, import_createProvider.createProviderMap)(currentProvider);
|
|
@@ -134,7 +135,8 @@ var processScene = (params) => {
|
|
|
134
135
|
...value,
|
|
135
136
|
type: isPopup ? "popup" : (originalScene == null ? void 0 : originalScene.type) ? originalScene.type : "normal",
|
|
136
137
|
meta: scene,
|
|
137
|
-
pageConfigContent
|
|
138
|
+
pageConfigContent,
|
|
139
|
+
jsModules: localJsModules
|
|
138
140
|
});
|
|
139
141
|
},
|
|
140
142
|
addJSModule: (module2) => {
|