@mybricks/to-code-taro 1.1.2 → 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.
Files changed (82) hide show
  1. package/dist/cjs/core/utils/PopupRenderer.js +1 -1
  2. package/dist/cjs/core/utils/hooks.js +102 -38
  3. package/dist/cjs/core/utils/slots.js +11 -4
  4. package/dist/cjs/core/utils/useContext.js +6 -4
  5. package/dist/cjs/core/utils/with.js +3 -3
  6. package/dist/cjs/generate/generateTaroProjectJson.js +7 -4
  7. package/dist/cjs/generate/utils/commonDir.js +12 -1
  8. package/dist/cjs/generate/utils/pageImages.d.ts +14 -0
  9. package/dist/cjs/generate/utils/pageImages.js +36 -0
  10. package/dist/cjs/handleCom.js +37 -14
  11. package/dist/cjs/handleDom.d.ts +2 -0
  12. package/dist/cjs/handleDom.js +5 -2
  13. package/dist/cjs/handleGlobal.js +4 -2
  14. package/dist/cjs/handleSlot.d.ts +3 -0
  15. package/dist/cjs/handleSlot.js +31 -7
  16. package/dist/cjs/taro-template.json +1250 -946
  17. package/dist/cjs/toCodeTaro.d.ts +1 -0
  18. package/dist/cjs/toCodeTaro.js +80 -1
  19. package/dist/cjs/utils/config/content/converter.js +2 -2
  20. package/dist/cjs/utils/config/content/pageConfig.js +4 -1
  21. package/dist/cjs/utils/config/content/saveBase64Image.d.ts +10 -0
  22. package/dist/cjs/utils/config/content/saveBase64Image.js +44 -3
  23. package/dist/cjs/utils/config/content/tabBarConfig.js +8 -2
  24. package/dist/cjs/utils/logic/handleProcess.js +3 -3
  25. package/dist/cjs/utils/logic/processChildren.d.ts +14 -1
  26. package/dist/cjs/utils/logic/processChildren.js +30 -6
  27. package/dist/cjs/utils/style/converter.js +34 -72
  28. package/dist/cjs/utils/templates/index.d.ts +1 -0
  29. package/dist/cjs/utils/templates/index.js +11 -2
  30. package/dist/cjs/utils/templates/renderManager.d.ts +4 -0
  31. package/dist/cjs/utils/templates/renderManager.js +10 -3
  32. package/dist/cjs/utils/templates/scene.js +2 -0
  33. package/dist/esm/core/utils/PopupRenderer.js +1 -1
  34. package/dist/esm/core/utils/hooks.js +137 -53
  35. package/dist/esm/core/utils/popupRouter.js +2 -1
  36. package/dist/esm/core/utils/slots.js +24 -22
  37. package/dist/esm/core/utils/useContext.js +8 -10
  38. package/dist/esm/core/utils/with.js +3 -3
  39. package/dist/esm/generate/generateTaroProjectJson.js +7 -2
  40. package/dist/esm/generate/utils/commonDir.js +15 -0
  41. package/dist/esm/generate/utils/pageImages.d.ts +14 -0
  42. package/dist/esm/generate/utils/pageImages.d.ts.map +1 -0
  43. package/dist/esm/generate/utils/pageImages.js +15 -0
  44. package/dist/esm/handleCom.js +44 -17
  45. package/dist/esm/handleDom.d.ts +2 -0
  46. package/dist/esm/handleDom.js +6 -4
  47. package/dist/esm/handleGlobal.js +4 -2
  48. package/dist/esm/handleSlot.d.ts +3 -0
  49. package/dist/esm/handleSlot.js +52 -10
  50. package/dist/esm/taro-template.json +1250 -946
  51. package/dist/esm/toCodeTaro.d.ts +1 -0
  52. package/dist/esm/toCodeTaro.d.ts.map +1 -1
  53. package/dist/esm/toCodeTaro.js +89 -4
  54. package/dist/esm/utils/config/content/converter.js +2 -2
  55. package/dist/esm/utils/config/content/pageConfig.js +4 -1
  56. package/dist/esm/utils/config/content/saveBase64Image.d.ts +10 -0
  57. package/dist/esm/utils/config/content/saveBase64Image.js +42 -1
  58. package/dist/esm/utils/config/content/tabBarConfig.js +7 -2
  59. package/dist/esm/utils/config/handlePageConfig.d.ts.map +1 -0
  60. package/dist/esm/utils/logic/genJSModules.d.ts.map +1 -0
  61. package/dist/esm/utils/logic/handleProcess.js +3 -3
  62. package/dist/esm/utils/logic/processChildren.d.ts +14 -1
  63. package/dist/esm/utils/logic/processChildren.js +45 -8
  64. package/dist/esm/utils/style/converter.js +57 -106
  65. package/dist/esm/utils/templates/index.d.ts +1 -0
  66. package/dist/esm/utils/templates/index.js +9 -2
  67. package/dist/esm/utils/templates/renderManager.d.ts +4 -0
  68. package/dist/esm/utils/templates/renderManager.js +17 -4
  69. package/dist/esm/utils/templates/scene.js +1 -0
  70. package/package.json +1 -1
  71. package/dist/esm/generate/utils/commonDir.d.ts.map +0 -1
  72. package/dist/esm/handleCom.d.ts.map +0 -1
  73. package/dist/esm/handleDom.d.ts.map +0 -1
  74. package/dist/esm/handleGlobal.d.ts.map +0 -1
  75. package/dist/esm/utils/config/content/converter.d.ts.map +0 -1
  76. package/dist/esm/utils/config/content/pageConfig.d.ts.map +0 -1
  77. package/dist/esm/utils/config/content/saveBase64Image.d.ts.map +0 -1
  78. package/dist/esm/utils/config/content/tabBarConfig.d.ts.map +0 -1
  79. package/dist/esm/utils/logic/handleProcess.d.ts.map +0 -1
  80. package/dist/esm/utils/logic/processChildren.d.ts.map +0 -1
  81. package/dist/esm/utils/templates/index.d.ts.map +0 -1
  82. package/dist/esm/utils/templates/renderManager.d.ts.map +0 -1
@@ -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 = ui.children || ui.comAry || [];
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);
@@ -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
  };
@@ -95,19 +96,27 @@ var setupImports = (addImport, config, isRoot) => {
95
96
  addImport({ packageName: utilsPkg, dependencyNames, importType: "named" });
96
97
  addImport({ packageName: comPkg, dependencyNames: ["useAppContext"], importType: "named" });
97
98
  if (isRoot) {
99
+ addImport({ packageName: "@/common/pageLife", dependencyNames: ["usePageLife"], importType: "named" });
98
100
  if (config.hasPopups) {
99
- addImport({ packageName: "../../common/popup", dependencyNames: ["POPUP_MAP", "POPUP_IDS"], importType: "named" });
101
+ addImport({ packageName: "@/common/popup", dependencyNames: ["POPUP_MAP", "POPUP_IDS"], importType: "named" });
100
102
  }
101
103
  addImport({ packageName: "./index.global.less", dependencyNames: [], importType: "module" });
102
104
  }
103
105
  };
104
- var generateSlotUi = (ui, props, childrenUi, config) => {
106
+ var generateSlotUi = (ui, props, childrenUi, childrenResults, config) => {
105
107
  const indent = (0, import_utils.indentation)(config.codeStyle.indent * config.depth);
106
- const mergedStyle = { width: "100%", height: "100%", ...ui.style || {}, ...props.style || {} };
108
+ const slotStyle = ui.style || {};
109
+ const propsStyle = props.style || {};
110
+ const mergedStyle = { width: "100%", height: "100%", ...slotStyle, ...propsStyle };
107
111
  const layout = config.layout || ui.layout || mergedStyle.layout;
108
- const styleCode = JSON.stringify((0, import_utils.convertRootStyle)({ ...mergedStyle, layout }));
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 }));
109
115
  const rootClassName = (0, import_utils.getRootComponentClassName)(config.getCurrentScene(), config.checkIsRoot());
110
- const classNameAttr = rootClassName ? ` className='${rootClassName}'` : "";
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}'` : "";
111
120
  return `${indent}<View${classNameAttr} style={${styleCode}}>
112
121
  ${childrenUi}
113
122
  ${indent}</View>`;
@@ -128,4 +137,19 @@ var finalizeRootComponent = (ui, config, importManager, combinedJsCode, renderDe
128
137
  });
129
138
  config.add({ importManager, content: componentCode, cssContent, name: fileName });
130
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
+ };
131
155
  var handleSlot_default = handleSlot;