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
|
@@ -1058,7 +1058,7 @@ var createPageSdk = (context) => {
|
|
|
1058
1058
|
|
|
1059
1059
|
// packages/sdk/src/runtime/react/createReactPage.tsx
|
|
1060
1060
|
import { StyleProvider } from "@ant-design/cssinjs";
|
|
1061
|
-
import { App as AntdApp, ConfigProvider } from "antd";
|
|
1061
|
+
import { App as AntdApp, ConfigProvider, message } from "antd";
|
|
1062
1062
|
import zhCN from "antd/locale/zh_CN.js";
|
|
1063
1063
|
import { createRoot } from "react-dom/client";
|
|
1064
1064
|
|
|
@@ -1125,33 +1125,38 @@ var antdTheme = {
|
|
|
1125
1125
|
// packages/sdk/src/runtime/react/createReactPage.tsx
|
|
1126
1126
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
1127
1127
|
var NAMESPACE_ROOT_CLASS = "sy-app-workspace";
|
|
1128
|
+
var RUNTIME_PORTAL_ATTR = "data-sy-runtime-portal";
|
|
1128
1129
|
var PORTAL_CONTAINER_STACK_GLOBAL = "__OPENXIANGDA_PORTAL_CONTAINER_STACK__";
|
|
1129
1130
|
var PORTAL_CONTAINER_RESOLVER_GLOBAL = "__OPENXIANGDA_GET_PORTAL_CONTAINER__";
|
|
1130
1131
|
var createRuntimeRoot = (el) => {
|
|
1131
1132
|
return createRoot(el);
|
|
1132
1133
|
};
|
|
1134
|
+
var isShadowRoot = (rootNode) => typeof ShadowRoot !== "undefined" && rootNode instanceof ShadowRoot;
|
|
1133
1135
|
var getStyleContainer = (el) => {
|
|
1134
1136
|
const rootNode = el.getRootNode?.();
|
|
1135
|
-
if (
|
|
1137
|
+
if (isShadowRoot(rootNode)) {
|
|
1136
1138
|
return rootNode;
|
|
1137
1139
|
}
|
|
1138
1140
|
return document.head;
|
|
1139
1141
|
};
|
|
1140
|
-
var
|
|
1142
|
+
var getRuntimeRoot = (el, triggerNode) => {
|
|
1141
1143
|
const rootNode = el.getRootNode?.();
|
|
1142
|
-
|
|
1143
|
-
const
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1144
|
+
if (isShadowRoot(rootNode)) return el;
|
|
1145
|
+
const triggerRoot = triggerNode?.closest?.(
|
|
1146
|
+
`.${NAMESPACE_ROOT_CLASS}`
|
|
1147
|
+
);
|
|
1148
|
+
return triggerRoot || el.closest(`.${NAMESPACE_ROOT_CLASS}`) || el.querySelector(`.${NAMESPACE_ROOT_CLASS}`) || el;
|
|
1149
|
+
};
|
|
1150
|
+
var getRuntimeOverlayContainer = (el, portalContainer) => {
|
|
1151
|
+
const getOverlayRoot = (triggerNode) => {
|
|
1152
|
+
if (portalContainer?.isConnected) return portalContainer;
|
|
1153
|
+
return getRuntimeRoot(el, triggerNode);
|
|
1149
1154
|
};
|
|
1150
1155
|
return {
|
|
1151
1156
|
getPopupContainer: (triggerNode) => {
|
|
1152
|
-
return
|
|
1157
|
+
return getOverlayRoot(triggerNode);
|
|
1153
1158
|
},
|
|
1154
|
-
getTargetContainer: () =>
|
|
1159
|
+
getTargetContainer: () => getRuntimeRoot(el)
|
|
1155
1160
|
};
|
|
1156
1161
|
};
|
|
1157
1162
|
var createAntdConfig = (overlayContainer) => ({
|
|
@@ -1162,56 +1167,89 @@ var createAntdConfig = (overlayContainer) => ({
|
|
|
1162
1167
|
getPopupContainer: overlayContainer.getPopupContainer,
|
|
1163
1168
|
getTargetContainer: overlayContainer.getTargetContainer
|
|
1164
1169
|
});
|
|
1170
|
+
var createPortalContainer = (el) => {
|
|
1171
|
+
const rootNode = el.getRootNode?.();
|
|
1172
|
+
const parent = isShadowRoot(rootNode) ? rootNode : el.ownerDocument?.body || document.body;
|
|
1173
|
+
const portalContainer = el.ownerDocument.createElement("div");
|
|
1174
|
+
portalContainer.setAttribute(RUNTIME_PORTAL_ATTR, "");
|
|
1175
|
+
portalContainer.classList.add(NAMESPACE_ROOT_CLASS);
|
|
1176
|
+
parent.appendChild(portalContainer);
|
|
1177
|
+
return portalContainer;
|
|
1178
|
+
};
|
|
1165
1179
|
var installRuntimePortalContainer = (el) => {
|
|
1166
1180
|
const globalScope = globalThis;
|
|
1181
|
+
const portalContainer = createPortalContainer(el);
|
|
1167
1182
|
const stack = Array.isArray(globalScope[PORTAL_CONTAINER_STACK_GLOBAL]) ? globalScope[PORTAL_CONTAINER_STACK_GLOBAL] : [];
|
|
1168
|
-
stack.push(
|
|
1183
|
+
stack.push(portalContainer);
|
|
1169
1184
|
globalScope[PORTAL_CONTAINER_STACK_GLOBAL] = stack;
|
|
1170
1185
|
globalScope[PORTAL_CONTAINER_RESOLVER_GLOBAL] = () => {
|
|
1171
1186
|
for (let index = stack.length - 1; index >= 0; index -= 1) {
|
|
1172
1187
|
const candidate = stack[index];
|
|
1173
1188
|
if (candidate?.isConnected) {
|
|
1174
|
-
return candidate
|
|
1189
|
+
return candidate;
|
|
1175
1190
|
}
|
|
1176
1191
|
}
|
|
1177
|
-
return document.querySelector(`.${NAMESPACE_ROOT_CLASS}`) || document.body;
|
|
1192
|
+
return document.querySelector(`[${RUNTIME_PORTAL_ATTR}]`) || document.querySelector(`.${NAMESPACE_ROOT_CLASS}`) || document.body;
|
|
1178
1193
|
};
|
|
1179
|
-
return
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
stack.
|
|
1194
|
+
return {
|
|
1195
|
+
container: portalContainer,
|
|
1196
|
+
release: () => {
|
|
1197
|
+
const position = stack.lastIndexOf(portalContainer);
|
|
1198
|
+
if (position >= 0) {
|
|
1199
|
+
stack.splice(position, 1);
|
|
1200
|
+
}
|
|
1201
|
+
portalContainer.remove();
|
|
1183
1202
|
}
|
|
1184
1203
|
};
|
|
1185
1204
|
};
|
|
1186
|
-
var installAntdStaticHolder = (el) => {
|
|
1205
|
+
var installAntdStaticHolder = (el, portalContainer) => {
|
|
1206
|
+
const getMessageContainer = () => {
|
|
1207
|
+
if (portalContainer?.isConnected) return portalContainer;
|
|
1208
|
+
return getRuntimeRoot(el);
|
|
1209
|
+
};
|
|
1187
1210
|
ConfigProvider.config({
|
|
1188
1211
|
prefixCls: "sy-ant",
|
|
1189
1212
|
iconPrefixCls: "sy-anticon",
|
|
1190
1213
|
theme: antdTheme,
|
|
1191
1214
|
holderRender: (children) => {
|
|
1192
1215
|
if (!el.isConnected) {
|
|
1193
|
-
return /* @__PURE__ */ jsx2(
|
|
1216
|
+
return /* @__PURE__ */ jsx2(
|
|
1217
|
+
ConfigProvider,
|
|
1218
|
+
{
|
|
1219
|
+
prefixCls: "sy-ant",
|
|
1220
|
+
iconPrefixCls: "sy-anticon",
|
|
1221
|
+
theme: antdTheme,
|
|
1222
|
+
children
|
|
1223
|
+
}
|
|
1224
|
+
);
|
|
1194
1225
|
}
|
|
1195
|
-
const overlayContainer = getRuntimeOverlayContainer(el);
|
|
1226
|
+
const overlayContainer = getRuntimeOverlayContainer(el, portalContainer);
|
|
1196
1227
|
return /* @__PURE__ */ jsx2(StyleProvider, { hashPriority: "high", container: getStyleContainer(el), children: /* @__PURE__ */ jsx2(ConfigProvider, { ...createAntdConfig(overlayContainer), children }) });
|
|
1197
1228
|
}
|
|
1198
1229
|
});
|
|
1230
|
+
message.config({
|
|
1231
|
+
prefixCls: "sy-ant-message",
|
|
1232
|
+
getContainer: getMessageContainer
|
|
1233
|
+
});
|
|
1199
1234
|
};
|
|
1200
1235
|
var createReactPage = (AppComponent) => {
|
|
1201
1236
|
let root = null;
|
|
1202
1237
|
let currentContainer = null;
|
|
1203
1238
|
let releasePortalContainer = null;
|
|
1239
|
+
let portalContainer = null;
|
|
1204
1240
|
const render = (el, context) => {
|
|
1205
1241
|
el.classList.add(NAMESPACE_ROOT_CLASS);
|
|
1206
|
-
if (!root || currentContainer !== el) {
|
|
1242
|
+
if (!root || currentContainer !== el || !portalContainer?.isConnected) {
|
|
1207
1243
|
root?.unmount();
|
|
1208
1244
|
releasePortalContainer?.();
|
|
1209
1245
|
root = createRuntimeRoot(el);
|
|
1210
1246
|
currentContainer = el;
|
|
1211
|
-
|
|
1247
|
+
const portalHandle = installRuntimePortalContainer(el);
|
|
1248
|
+
portalContainer = portalHandle.container;
|
|
1249
|
+
releasePortalContainer = portalHandle.release;
|
|
1212
1250
|
}
|
|
1213
|
-
const overlayContainer = getRuntimeOverlayContainer(el);
|
|
1214
|
-
installAntdStaticHolder(el);
|
|
1251
|
+
const overlayContainer = getRuntimeOverlayContainer(el, portalContainer);
|
|
1252
|
+
installAntdStaticHolder(el, portalContainer);
|
|
1215
1253
|
const antdConfig = createAntdConfig(overlayContainer);
|
|
1216
1254
|
root.render(
|
|
1217
1255
|
/* @__PURE__ */ jsx2(StyleProvider, { hashPriority: "high", container: getStyleContainer(el), children: /* @__PURE__ */ jsx2(ConfigProvider, { ...antdConfig, children: /* @__PURE__ */ jsx2(AntdApp, { children: /* @__PURE__ */ jsx2(PageProvider, { context, children: /* @__PURE__ */ jsx2(AppComponent, {}) }) }) }) })
|
|
@@ -1230,6 +1268,7 @@ var createReactPage = (AppComponent) => {
|
|
|
1230
1268
|
root = null;
|
|
1231
1269
|
currentContainer = null;
|
|
1232
1270
|
releasePortalContainer = null;
|
|
1271
|
+
portalContainer = null;
|
|
1233
1272
|
}
|
|
1234
1273
|
};
|
|
1235
1274
|
};
|