openxiangda 1.0.2 → 1.0.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/package.json +1 -1
- package/packages/sdk/dist/build/index.cjs +68 -0
- package/packages/sdk/dist/build/index.cjs.map +1 -1
- package/packages/sdk/dist/build/index.d.mts +9 -1
- package/packages/sdk/dist/build/index.d.ts +9 -1
- package/packages/sdk/dist/build/index.mjs +68 -0
- package/packages/sdk/dist/build/index.mjs.map +1 -1
- package/packages/sdk/dist/components/index.cjs +36 -15
- package/packages/sdk/dist/components/index.cjs.map +1 -1
- package/packages/sdk/dist/components/index.mjs +36 -15
- package/packages/sdk/dist/components/index.mjs.map +1 -1
- package/packages/sdk/dist/runtime/index.cjs +64 -25
- package/packages/sdk/dist/runtime/index.cjs.map +1 -1
- package/packages/sdk/dist/runtime/index.mjs +65 -26
- package/packages/sdk/dist/runtime/index.mjs.map +1 -1
- package/packages/sdk/src/build-source/scripts/build-forms.mjs +60 -22
- package/packages/sdk/src/build-source/scripts/utils/namespace-css.mjs +21 -5
- package/packages/sdk/src/build-source/scripts/utils/namespace-css.test.ts +29 -0
- package/packages/sdk/src/build-source/scripts/utils/tailwind-config.mjs +51 -1
- package/packages/sdk/src/build-source/scripts/utils/tailwind-config.test.ts +31 -2
- package/templates/sy-lowcode-app-workspace/postcss.config.cjs +22 -4
|
@@ -1173,33 +1173,38 @@ var antdTheme = {
|
|
|
1173
1173
|
// packages/sdk/src/runtime/react/createReactPage.tsx
|
|
1174
1174
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
1175
1175
|
var NAMESPACE_ROOT_CLASS = "sy-app-workspace";
|
|
1176
|
+
var RUNTIME_PORTAL_ATTR = "data-sy-runtime-portal";
|
|
1176
1177
|
var PORTAL_CONTAINER_STACK_GLOBAL = "__OPENXIANGDA_PORTAL_CONTAINER_STACK__";
|
|
1177
1178
|
var PORTAL_CONTAINER_RESOLVER_GLOBAL = "__OPENXIANGDA_GET_PORTAL_CONTAINER__";
|
|
1178
1179
|
var createRuntimeRoot = (el) => {
|
|
1179
1180
|
return (0, import_client2.createRoot)(el);
|
|
1180
1181
|
};
|
|
1182
|
+
var isShadowRoot = (rootNode) => typeof ShadowRoot !== "undefined" && rootNode instanceof ShadowRoot;
|
|
1181
1183
|
var getStyleContainer = (el) => {
|
|
1182
1184
|
const rootNode = el.getRootNode?.();
|
|
1183
|
-
if (
|
|
1185
|
+
if (isShadowRoot(rootNode)) {
|
|
1184
1186
|
return rootNode;
|
|
1185
1187
|
}
|
|
1186
1188
|
return document.head;
|
|
1187
1189
|
};
|
|
1188
|
-
var
|
|
1190
|
+
var getRuntimeRoot = (el, triggerNode) => {
|
|
1189
1191
|
const rootNode = el.getRootNode?.();
|
|
1190
|
-
|
|
1191
|
-
const
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1192
|
+
if (isShadowRoot(rootNode)) return el;
|
|
1193
|
+
const triggerRoot = triggerNode?.closest?.(
|
|
1194
|
+
`.${NAMESPACE_ROOT_CLASS}`
|
|
1195
|
+
);
|
|
1196
|
+
return triggerRoot || el.closest(`.${NAMESPACE_ROOT_CLASS}`) || el.querySelector(`.${NAMESPACE_ROOT_CLASS}`) || el;
|
|
1197
|
+
};
|
|
1198
|
+
var getRuntimeOverlayContainer = (el, portalContainer) => {
|
|
1199
|
+
const getOverlayRoot = (triggerNode) => {
|
|
1200
|
+
if (portalContainer?.isConnected) return portalContainer;
|
|
1201
|
+
return getRuntimeRoot(el, triggerNode);
|
|
1197
1202
|
};
|
|
1198
1203
|
return {
|
|
1199
1204
|
getPopupContainer: (triggerNode) => {
|
|
1200
|
-
return
|
|
1205
|
+
return getOverlayRoot(triggerNode);
|
|
1201
1206
|
},
|
|
1202
|
-
getTargetContainer: () =>
|
|
1207
|
+
getTargetContainer: () => getRuntimeRoot(el)
|
|
1203
1208
|
};
|
|
1204
1209
|
};
|
|
1205
1210
|
var createAntdConfig = (overlayContainer) => ({
|
|
@@ -1210,56 +1215,89 @@ var createAntdConfig = (overlayContainer) => ({
|
|
|
1210
1215
|
getPopupContainer: overlayContainer.getPopupContainer,
|
|
1211
1216
|
getTargetContainer: overlayContainer.getTargetContainer
|
|
1212
1217
|
});
|
|
1218
|
+
var createPortalContainer = (el) => {
|
|
1219
|
+
const rootNode = el.getRootNode?.();
|
|
1220
|
+
const parent = isShadowRoot(rootNode) ? rootNode : el.ownerDocument?.body || document.body;
|
|
1221
|
+
const portalContainer = el.ownerDocument.createElement("div");
|
|
1222
|
+
portalContainer.setAttribute(RUNTIME_PORTAL_ATTR, "");
|
|
1223
|
+
portalContainer.classList.add(NAMESPACE_ROOT_CLASS);
|
|
1224
|
+
parent.appendChild(portalContainer);
|
|
1225
|
+
return portalContainer;
|
|
1226
|
+
};
|
|
1213
1227
|
var installRuntimePortalContainer = (el) => {
|
|
1214
1228
|
const globalScope = globalThis;
|
|
1229
|
+
const portalContainer = createPortalContainer(el);
|
|
1215
1230
|
const stack = Array.isArray(globalScope[PORTAL_CONTAINER_STACK_GLOBAL]) ? globalScope[PORTAL_CONTAINER_STACK_GLOBAL] : [];
|
|
1216
|
-
stack.push(
|
|
1231
|
+
stack.push(portalContainer);
|
|
1217
1232
|
globalScope[PORTAL_CONTAINER_STACK_GLOBAL] = stack;
|
|
1218
1233
|
globalScope[PORTAL_CONTAINER_RESOLVER_GLOBAL] = () => {
|
|
1219
1234
|
for (let index = stack.length - 1; index >= 0; index -= 1) {
|
|
1220
1235
|
const candidate = stack[index];
|
|
1221
1236
|
if (candidate?.isConnected) {
|
|
1222
|
-
return candidate
|
|
1237
|
+
return candidate;
|
|
1223
1238
|
}
|
|
1224
1239
|
}
|
|
1225
|
-
return document.querySelector(`.${NAMESPACE_ROOT_CLASS}`) || document.body;
|
|
1240
|
+
return document.querySelector(`[${RUNTIME_PORTAL_ATTR}]`) || document.querySelector(`.${NAMESPACE_ROOT_CLASS}`) || document.body;
|
|
1226
1241
|
};
|
|
1227
|
-
return
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
stack.
|
|
1242
|
+
return {
|
|
1243
|
+
container: portalContainer,
|
|
1244
|
+
release: () => {
|
|
1245
|
+
const position = stack.lastIndexOf(portalContainer);
|
|
1246
|
+
if (position >= 0) {
|
|
1247
|
+
stack.splice(position, 1);
|
|
1248
|
+
}
|
|
1249
|
+
portalContainer.remove();
|
|
1231
1250
|
}
|
|
1232
1251
|
};
|
|
1233
1252
|
};
|
|
1234
|
-
var installAntdStaticHolder = (el) => {
|
|
1253
|
+
var installAntdStaticHolder = (el, portalContainer) => {
|
|
1254
|
+
const getMessageContainer = () => {
|
|
1255
|
+
if (portalContainer?.isConnected) return portalContainer;
|
|
1256
|
+
return getRuntimeRoot(el);
|
|
1257
|
+
};
|
|
1235
1258
|
import_antd.ConfigProvider.config({
|
|
1236
1259
|
prefixCls: "sy-ant",
|
|
1237
1260
|
iconPrefixCls: "sy-anticon",
|
|
1238
1261
|
theme: antdTheme,
|
|
1239
1262
|
holderRender: (children) => {
|
|
1240
1263
|
if (!el.isConnected) {
|
|
1241
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
1264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
1265
|
+
import_antd.ConfigProvider,
|
|
1266
|
+
{
|
|
1267
|
+
prefixCls: "sy-ant",
|
|
1268
|
+
iconPrefixCls: "sy-anticon",
|
|
1269
|
+
theme: antdTheme,
|
|
1270
|
+
children
|
|
1271
|
+
}
|
|
1272
|
+
);
|
|
1242
1273
|
}
|
|
1243
|
-
const overlayContainer = getRuntimeOverlayContainer(el);
|
|
1274
|
+
const overlayContainer = getRuntimeOverlayContainer(el, portalContainer);
|
|
1244
1275
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_cssinjs.StyleProvider, { hashPriority: "high", container: getStyleContainer(el), children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_antd.ConfigProvider, { ...createAntdConfig(overlayContainer), children }) });
|
|
1245
1276
|
}
|
|
1246
1277
|
});
|
|
1278
|
+
import_antd.message.config({
|
|
1279
|
+
prefixCls: "sy-ant-message",
|
|
1280
|
+
getContainer: getMessageContainer
|
|
1281
|
+
});
|
|
1247
1282
|
};
|
|
1248
1283
|
var createReactPage = (AppComponent) => {
|
|
1249
1284
|
let root = null;
|
|
1250
1285
|
let currentContainer = null;
|
|
1251
1286
|
let releasePortalContainer = null;
|
|
1287
|
+
let portalContainer = null;
|
|
1252
1288
|
const render = (el, context) => {
|
|
1253
1289
|
el.classList.add(NAMESPACE_ROOT_CLASS);
|
|
1254
|
-
if (!root || currentContainer !== el) {
|
|
1290
|
+
if (!root || currentContainer !== el || !portalContainer?.isConnected) {
|
|
1255
1291
|
root?.unmount();
|
|
1256
1292
|
releasePortalContainer?.();
|
|
1257
1293
|
root = createRuntimeRoot(el);
|
|
1258
1294
|
currentContainer = el;
|
|
1259
|
-
|
|
1295
|
+
const portalHandle = installRuntimePortalContainer(el);
|
|
1296
|
+
portalContainer = portalHandle.container;
|
|
1297
|
+
releasePortalContainer = portalHandle.release;
|
|
1260
1298
|
}
|
|
1261
|
-
const overlayContainer = getRuntimeOverlayContainer(el);
|
|
1262
|
-
installAntdStaticHolder(el);
|
|
1299
|
+
const overlayContainer = getRuntimeOverlayContainer(el, portalContainer);
|
|
1300
|
+
installAntdStaticHolder(el, portalContainer);
|
|
1263
1301
|
const antdConfig = createAntdConfig(overlayContainer);
|
|
1264
1302
|
root.render(
|
|
1265
1303
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_cssinjs.StyleProvider, { hashPriority: "high", container: getStyleContainer(el), children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_antd.ConfigProvider, { ...antdConfig, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_antd.App, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PageProvider, { context, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(AppComponent, {}) }) }) }) })
|
|
@@ -1278,6 +1316,7 @@ var createReactPage = (AppComponent) => {
|
|
|
1278
1316
|
root = null;
|
|
1279
1317
|
currentContainer = null;
|
|
1280
1318
|
releasePortalContainer = null;
|
|
1319
|
+
portalContainer = null;
|
|
1281
1320
|
}
|
|
1282
1321
|
};
|
|
1283
1322
|
};
|