@nocobase/flow-engine 2.1.0-beta.9 → 2.2.0-alpha.1
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/lib/FlowContextProvider.d.ts +5 -1
- package/lib/FlowContextProvider.js +9 -2
- package/lib/components/FieldModelRenderer.js +2 -2
- package/lib/components/FlowModelRenderer.d.ts +3 -1
- package/lib/components/FlowModelRenderer.js +12 -6
- package/lib/components/FormItem.d.ts +6 -0
- package/lib/components/FormItem.js +11 -3
- package/lib/components/MobilePopup.js +6 -5
- package/lib/components/dnd/gridDragPlanner.d.ts +59 -2
- package/lib/components/dnd/gridDragPlanner.js +607 -19
- package/lib/components/dnd/index.d.ts +31 -2
- package/lib/components/dnd/index.js +244 -23
- package/lib/components/settings/wrappers/component/SelectWithTitle.d.ts +2 -1
- package/lib/components/settings/wrappers/component/SelectWithTitle.js +14 -12
- package/lib/components/settings/wrappers/contextual/DefaultSettingsIcon.d.ts +3 -0
- package/lib/components/settings/wrappers/contextual/DefaultSettingsIcon.js +152 -42
- package/lib/components/settings/wrappers/contextual/FlowsFloatContextMenu.d.ts +23 -43
- package/lib/components/settings/wrappers/contextual/FlowsFloatContextMenu.js +352 -295
- package/lib/components/settings/wrappers/contextual/useFloatToolbarPortal.d.ts +36 -0
- package/lib/components/settings/wrappers/contextual/useFloatToolbarPortal.js +274 -0
- package/lib/components/settings/wrappers/contextual/useFloatToolbarVisibility.d.ts +30 -0
- package/lib/components/settings/wrappers/contextual/useFloatToolbarVisibility.js +315 -0
- package/lib/components/subModel/AddSubModelButton.js +12 -1
- package/lib/components/subModel/LazyDropdown.js +301 -52
- package/lib/components/subModel/index.d.ts +1 -0
- package/lib/components/subModel/index.js +19 -0
- package/lib/components/subModel/utils.d.ts +2 -1
- package/lib/components/subModel/utils.js +15 -5
- package/lib/components/variables/VariableHybridInput.d.ts +27 -0
- package/lib/components/variables/VariableHybridInput.js +499 -0
- package/lib/components/variables/index.d.ts +2 -0
- package/lib/components/variables/index.js +3 -0
- package/lib/data-source/index.d.ts +84 -0
- package/lib/data-source/index.js +269 -7
- package/lib/executor/FlowExecutor.js +6 -3
- package/lib/flow-registry/DetachedFlowRegistry.d.ts +21 -0
- package/lib/flow-registry/DetachedFlowRegistry.js +80 -0
- package/lib/flow-registry/index.d.ts +1 -0
- package/lib/flow-registry/index.js +3 -1
- package/lib/flowContext.d.ts +9 -1
- package/lib/flowContext.js +77 -6
- package/lib/flowEngine.d.ts +136 -4
- package/lib/flowEngine.js +429 -51
- package/lib/flowI18n.js +2 -1
- package/lib/flowSettings.d.ts +14 -6
- package/lib/flowSettings.js +34 -6
- package/lib/index.d.ts +2 -0
- package/lib/index.js +7 -0
- package/lib/lazy-helper.d.ts +14 -0
- package/lib/lazy-helper.js +71 -0
- package/lib/locale/en-US.json +1 -0
- package/lib/locale/index.d.ts +2 -0
- package/lib/locale/zh-CN.json +1 -0
- package/lib/models/DisplayItemModel.d.ts +1 -1
- package/lib/models/EditableItemModel.d.ts +1 -1
- package/lib/models/FilterableItemModel.d.ts +1 -1
- package/lib/models/flowModel.d.ts +13 -10
- package/lib/models/flowModel.js +126 -34
- package/lib/provider.js +38 -23
- package/lib/reactive/observer.js +46 -16
- package/lib/runjs-context/contexts/FormJSFieldItemRunJSContext.js +4 -3
- package/lib/runjs-context/contexts/JSBlockRunJSContext.js +4 -15
- package/lib/runjs-context/contexts/JSColumnRunJSContext.js +5 -2
- package/lib/runjs-context/contexts/JSEditableFieldRunJSContext.js +5 -8
- package/lib/runjs-context/contexts/JSFieldRunJSContext.js +4 -3
- package/lib/runjs-context/contexts/JSItemRunJSContext.js +4 -3
- package/lib/runjs-context/contexts/base.js +464 -29
- package/lib/runjs-context/contexts/elementDoc.d.ts +11 -0
- package/lib/runjs-context/contexts/elementDoc.js +152 -0
- package/lib/runjs-context/setup.js +1 -0
- package/lib/runjs-context/snippets/index.js +13 -2
- package/lib/runjs-context/snippets/scene/detail/set-field-style.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/detail/set-field-style.snippet.js +50 -0
- package/lib/runjs-context/snippets/scene/table/set-cell-style.snippet.d.ts +11 -0
- package/lib/runjs-context/snippets/scene/table/set-cell-style.snippet.js +54 -0
- package/lib/types.d.ts +50 -2
- package/lib/types.js +1 -0
- package/lib/utils/createCollectionContextMeta.js +6 -2
- package/lib/utils/index.d.ts +3 -2
- package/lib/utils/index.js +7 -0
- package/lib/utils/loadedPageCache.d.ts +24 -0
- package/lib/utils/loadedPageCache.js +139 -0
- package/lib/utils/parsePathnameToViewParams.d.ts +5 -1
- package/lib/utils/parsePathnameToViewParams.js +28 -4
- package/lib/utils/randomId.d.ts +39 -0
- package/lib/utils/randomId.js +45 -0
- package/lib/utils/runjsTemplateCompat.js +1 -1
- package/lib/utils/runjsValue.js +41 -11
- package/lib/utils/schema-utils.d.ts +7 -1
- package/lib/utils/schema-utils.js +19 -0
- package/lib/views/FlowView.d.ts +7 -1
- package/lib/views/FlowView.js +11 -1
- package/lib/views/PageComponent.js +8 -6
- package/lib/views/ViewNavigation.d.ts +12 -2
- package/lib/views/ViewNavigation.js +28 -9
- package/lib/views/createViewMeta.js +114 -50
- package/lib/views/inheritLayoutContext.d.ts +10 -0
- package/lib/views/inheritLayoutContext.js +50 -0
- package/lib/views/runViewBeforeClose.d.ts +10 -0
- package/lib/views/runViewBeforeClose.js +45 -0
- package/lib/views/useDialog.d.ts +2 -1
- package/lib/views/useDialog.js +12 -3
- package/lib/views/useDrawer.d.ts +2 -1
- package/lib/views/useDrawer.js +12 -3
- package/lib/views/usePage.d.ts +5 -11
- package/lib/views/usePage.js +304 -144
- package/package.json +5 -4
- package/src/FlowContextProvider.tsx +9 -1
- package/src/__tests__/createViewMeta.popup.test.ts +115 -1
- package/src/__tests__/flow-engine.test.ts +166 -0
- package/src/__tests__/flowContext.test.ts +105 -1
- package/src/__tests__/flowEngine.modelLoaders.test.ts +245 -0
- package/src/__tests__/flowEngine.moveModel.test.ts +81 -1
- package/src/__tests__/flowEngine.removeModel.test.ts +47 -3
- package/src/__tests__/flowSettings.test.ts +94 -15
- package/src/__tests__/objectVariable.test.ts +24 -0
- package/src/__tests__/provider.test.tsx +24 -2
- package/src/__tests__/renderHiddenInConfig.test.tsx +6 -6
- package/src/__tests__/runjsContext.test.ts +21 -0
- package/src/__tests__/runjsContextImplementations.test.ts +9 -2
- package/src/__tests__/runjsContextRuntime.test.ts +2 -0
- package/src/__tests__/runjsLocales.test.ts +6 -5
- package/src/__tests__/runjsSnippets.test.ts +21 -0
- package/src/__tests__/viewScopedFlowEngine.test.ts +136 -3
- package/src/components/FieldModelRenderer.tsx +2 -1
- package/src/components/FlowModelRenderer.tsx +18 -6
- package/src/components/FormItem.tsx +7 -1
- package/src/components/MobilePopup.tsx +4 -2
- package/src/components/__tests__/FlowModelRenderer.test.tsx +65 -2
- package/src/components/__tests__/FormItem.test.tsx +25 -0
- package/src/components/__tests__/dnd.test.ts +44 -0
- package/src/components/__tests__/flow-model-render-error-fallback.test.tsx +20 -10
- package/src/components/__tests__/gridDragPlanner.test.ts +472 -5
- package/src/components/dnd/__tests__/DndProvider.test.tsx +98 -0
- package/src/components/dnd/gridDragPlanner.ts +750 -17
- package/src/components/dnd/index.tsx +305 -28
- package/src/components/settings/wrappers/component/SelectWithTitle.tsx +21 -9
- package/src/components/settings/wrappers/contextual/DefaultSettingsIcon.tsx +178 -48
- package/src/components/settings/wrappers/contextual/FlowsFloatContextMenu.tsx +487 -440
- package/src/components/settings/wrappers/contextual/__tests__/DefaultSettingsIcon.test.tsx +344 -8
- package/src/components/settings/wrappers/contextual/__tests__/FlowsFloatContextMenu.test.tsx +778 -0
- package/src/components/settings/wrappers/contextual/useFloatToolbarPortal.ts +360 -0
- package/src/components/settings/wrappers/contextual/useFloatToolbarVisibility.ts +361 -0
- package/src/components/subModel/AddSubModelButton.tsx +16 -2
- package/src/components/subModel/LazyDropdown.tsx +341 -56
- package/src/components/subModel/__tests__/AddSubModelButton.test.tsx +524 -38
- package/src/components/subModel/__tests__/utils.test.ts +24 -0
- package/src/components/subModel/index.ts +1 -0
- package/src/components/subModel/utils.ts +13 -2
- package/src/components/variables/VariableHybridInput.tsx +531 -0
- package/src/components/variables/index.ts +2 -0
- package/src/data-source/__tests__/collection.test.ts +41 -2
- package/src/data-source/__tests__/index.test.ts +69 -2
- package/src/data-source/index.ts +332 -8
- package/src/executor/FlowExecutor.ts +6 -3
- package/src/executor/__tests__/flowExecutor.test.ts +57 -0
- package/src/flow-registry/DetachedFlowRegistry.ts +46 -0
- package/src/flow-registry/__tests__/detachedFlowRegistry.test.ts +47 -0
- package/src/flow-registry/index.ts +1 -0
- package/src/flowContext.ts +85 -6
- package/src/flowEngine.ts +484 -45
- package/src/flowI18n.ts +2 -1
- package/src/flowSettings.ts +40 -6
- package/src/index.ts +2 -0
- package/src/lazy-helper.tsx +57 -0
- package/src/locale/en-US.json +1 -0
- package/src/locale/zh-CN.json +1 -0
- package/src/models/DisplayItemModel.tsx +1 -1
- package/src/models/EditableItemModel.tsx +1 -1
- package/src/models/FilterableItemModel.tsx +1 -1
- package/src/models/__tests__/flowEngine.resolveUse.test.ts +0 -15
- package/src/models/__tests__/flowModel.test.ts +65 -37
- package/src/models/flowModel.tsx +184 -65
- package/src/provider.tsx +41 -25
- package/src/reactive/__tests__/observer.test.tsx +82 -0
- package/src/reactive/observer.tsx +87 -25
- package/src/runjs-context/contexts/FormJSFieldItemRunJSContext.ts +4 -3
- package/src/runjs-context/contexts/JSBlockRunJSContext.ts +4 -15
- package/src/runjs-context/contexts/JSColumnRunJSContext.ts +4 -2
- package/src/runjs-context/contexts/JSEditableFieldRunJSContext.ts +5 -9
- package/src/runjs-context/contexts/JSFieldRunJSContext.ts +4 -3
- package/src/runjs-context/contexts/JSItemRunJSContext.ts +4 -3
- package/src/runjs-context/contexts/base.ts +467 -31
- package/src/runjs-context/contexts/elementDoc.ts +130 -0
- package/src/runjs-context/setup.ts +1 -0
- package/src/runjs-context/snippets/index.ts +12 -1
- package/src/runjs-context/snippets/scene/detail/set-field-style.snippet.ts +30 -0
- package/src/runjs-context/snippets/scene/table/set-cell-style.snippet.ts +34 -0
- package/src/types.ts +62 -0
- package/src/utils/__tests__/createCollectionContextMeta.test.ts +48 -0
- package/src/utils/__tests__/parsePathnameToViewParams.test.ts +21 -0
- package/src/utils/__tests__/runjsValue.test.ts +11 -0
- package/src/utils/__tests__/utils.test.ts +62 -0
- package/src/utils/createCollectionContextMeta.ts +6 -2
- package/src/utils/index.ts +5 -1
- package/src/utils/loadedPageCache.ts +147 -0
- package/src/utils/parsePathnameToViewParams.ts +45 -5
- package/src/utils/randomId.ts +48 -0
- package/src/utils/runjsTemplateCompat.ts +1 -1
- package/src/utils/runjsValue.ts +50 -11
- package/src/utils/schema-utils.ts +30 -1
- package/src/views/FlowView.tsx +22 -2
- package/src/views/PageComponent.tsx +7 -4
- package/src/views/ViewNavigation.ts +46 -9
- package/src/views/__tests__/FlowView.usePage.test.tsx +243 -3
- package/src/views/__tests__/ViewNavigation.test.ts +52 -0
- package/src/views/__tests__/inheritLayoutContext.test.ts +53 -0
- package/src/views/__tests__/runViewBeforeClose.test.ts +30 -0
- package/src/views/__tests__/useDialog.closeDestroy.test.tsx +12 -12
- package/src/views/createViewMeta.ts +106 -34
- package/src/views/inheritLayoutContext.ts +26 -0
- package/src/views/runViewBeforeClose.ts +19 -0
- package/src/views/useDialog.tsx +13 -3
- package/src/views/useDrawer.tsx +13 -3
- package/src/views/usePage.tsx +367 -180
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import { FlowContext, FlowEngineContext } from './flowContext';
|
|
11
|
-
import { FlowView } from './views/FlowView';
|
|
11
|
+
import { FlowView, FlowViewer } from './views/FlowView';
|
|
12
12
|
export declare const FlowReactContext: React.Context<FlowContext>;
|
|
13
13
|
export declare const FlowViewContext: React.Context<FlowContext>;
|
|
14
14
|
export declare function FlowContextProvider(props: {
|
|
@@ -22,3 +22,7 @@ export declare const FlowViewContextProvider: React.MemoExoticComponent<(props:
|
|
|
22
22
|
export declare function useFlowContext<T = FlowEngineContext>(): T;
|
|
23
23
|
export declare function useFlowViewContext<T = FlowEngineContext>(): T;
|
|
24
24
|
export declare function useFlowView(): FlowView;
|
|
25
|
+
/**
|
|
26
|
+
* Access the `FlowViewer` that opens new drawers / modals / pages (`viewer.drawer({...})`, `viewer.modal({...})`, etc.). This is the counterpart to `useFlowView()`: `useFlowView()` returns the *current* mounted view (use it to close yourself, render Header/Footer slots, etc.), while `useFlowViewer()` returns the surface that lets you open a *new* view from inside any flow-context subtree.
|
|
27
|
+
*/
|
|
28
|
+
export declare function useFlowViewer(): FlowViewer;
|
|
@@ -43,7 +43,8 @@ __export(FlowContextProvider_exports, {
|
|
|
43
43
|
FlowViewContextProvider: () => FlowViewContextProvider,
|
|
44
44
|
useFlowContext: () => useFlowContext,
|
|
45
45
|
useFlowView: () => useFlowView,
|
|
46
|
-
useFlowViewContext: () => useFlowViewContext
|
|
46
|
+
useFlowViewContext: () => useFlowViewContext,
|
|
47
|
+
useFlowViewer: () => useFlowViewer
|
|
47
48
|
});
|
|
48
49
|
module.exports = __toCommonJS(FlowContextProvider_exports);
|
|
49
50
|
var import_react = __toESM(require("react"));
|
|
@@ -70,6 +71,11 @@ function useFlowView() {
|
|
|
70
71
|
return ctx.view;
|
|
71
72
|
}
|
|
72
73
|
__name(useFlowView, "useFlowView");
|
|
74
|
+
function useFlowViewer() {
|
|
75
|
+
const ctx = useFlowContext();
|
|
76
|
+
return ctx.viewer;
|
|
77
|
+
}
|
|
78
|
+
__name(useFlowViewer, "useFlowViewer");
|
|
73
79
|
// Annotate the CommonJS export names for ESM import in node:
|
|
74
80
|
0 && (module.exports = {
|
|
75
81
|
FlowContextProvider,
|
|
@@ -78,5 +84,6 @@ __name(useFlowView, "useFlowView");
|
|
|
78
84
|
FlowViewContextProvider,
|
|
79
85
|
useFlowContext,
|
|
80
86
|
useFlowView,
|
|
81
|
-
useFlowViewContext
|
|
87
|
+
useFlowViewContext,
|
|
88
|
+
useFlowViewer
|
|
82
89
|
});
|
|
@@ -40,7 +40,7 @@ __export(FieldModelRenderer_exports, {
|
|
|
40
40
|
FieldModelRenderer: () => FieldModelRenderer
|
|
41
41
|
});
|
|
42
42
|
module.exports = __toCommonJS(FieldModelRenderer_exports);
|
|
43
|
-
var
|
|
43
|
+
var import_FlowModelRenderer = require("./FlowModelRenderer");
|
|
44
44
|
var import_lodash = __toESM(require("lodash"));
|
|
45
45
|
var import_react = __toESM(require("react"));
|
|
46
46
|
const flowModelRendererPropKeys = [
|
|
@@ -93,7 +93,7 @@ function FieldModelRenderer(props) {
|
|
|
93
93
|
(0, import_react.useEffect)(() => {
|
|
94
94
|
model && model.setProps(modelProps);
|
|
95
95
|
}, [modelProps]);
|
|
96
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
96
|
+
return /* @__PURE__ */ import_react.default.createElement(import_FlowModelRenderer.FlowModelRenderer, { model, ...rest });
|
|
97
97
|
}
|
|
98
98
|
__name(FieldModelRenderer, "FieldModelRenderer");
|
|
99
99
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -19,7 +19,9 @@ export interface FlowModelRendererProps {
|
|
|
19
19
|
showBackground?: boolean;
|
|
20
20
|
showBorder?: boolean;
|
|
21
21
|
showDragHandle?: boolean;
|
|
22
|
-
/**
|
|
22
|
+
/** 是否显示事件流入口,默认 true */
|
|
23
|
+
showDynamicFlowsEditor?: boolean;
|
|
24
|
+
/** 自定义工具栏样式,`top/left/right/bottom` 会作为 portal overlay 的 inset 使用 */
|
|
23
25
|
style?: React.CSSProperties;
|
|
24
26
|
/**
|
|
25
27
|
* @default 'inside'
|
|
@@ -61,11 +61,12 @@ const FlowModelRendererWithAutoFlows = (0, import_reactive.observer)(
|
|
|
61
61
|
showErrorFallback,
|
|
62
62
|
settingsMenuLevel,
|
|
63
63
|
extraToolbarItems,
|
|
64
|
-
fallback
|
|
64
|
+
fallback,
|
|
65
|
+
useCache
|
|
65
66
|
}) => {
|
|
66
67
|
const { loading: pending, error: autoFlowsError } = (0, import_hooks.useApplyAutoFlows)(model, inputArgs, {
|
|
67
68
|
throwOnError: false,
|
|
68
|
-
useCache
|
|
69
|
+
useCache
|
|
69
70
|
});
|
|
70
71
|
(0, import_utils.setAutoFlowError)(model, autoFlowsError || null);
|
|
71
72
|
if (pending) {
|
|
@@ -134,6 +135,7 @@ const FlowModelRendererCore = (0, import_reactive.observer)(
|
|
|
134
135
|
showBackground: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.showBackground : void 0,
|
|
135
136
|
showBorder: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.showBorder : void 0,
|
|
136
137
|
showDragHandle: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.showDragHandle : void 0,
|
|
138
|
+
showDynamicFlowsEditor: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.showDynamicFlowsEditor : void 0,
|
|
137
139
|
settingsMenuLevel,
|
|
138
140
|
extraToolbarItems,
|
|
139
141
|
toolbarStyle: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.style : void 0,
|
|
@@ -166,6 +168,7 @@ const FlowModelRendererCore = (0, import_reactive.observer)(
|
|
|
166
168
|
showBackground: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.showBackground : void 0,
|
|
167
169
|
showBorder: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.showBorder : void 0,
|
|
168
170
|
showDragHandle: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.showDragHandle : void 0,
|
|
171
|
+
showDynamicFlowsEditor: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.showDynamicFlowsEditor : void 0,
|
|
169
172
|
settingsMenuLevel,
|
|
170
173
|
extraToolbarItems,
|
|
171
174
|
toolbarStyle: import_lodash.default.isObject(showFlowSettings) ? showFlowSettings.style : void 0,
|
|
@@ -195,13 +198,15 @@ const FlowModelRenderer = (0, import_reactive.observer)(
|
|
|
195
198
|
extraToolbarItems,
|
|
196
199
|
useCache
|
|
197
200
|
}) => {
|
|
201
|
+
var _a;
|
|
202
|
+
const resolvedUseCache = typeof useCache === "boolean" ? useCache : (_a = model == null ? void 0 : model.context) == null ? void 0 : _a.useCache;
|
|
198
203
|
(0, import_react.useEffect)(() => {
|
|
199
|
-
if (model == null ? void 0 : model.context) {
|
|
204
|
+
if ((model == null ? void 0 : model.context) && typeof resolvedUseCache !== "undefined") {
|
|
200
205
|
model.context.defineProperty("useCache", {
|
|
201
|
-
value:
|
|
206
|
+
value: resolvedUseCache
|
|
202
207
|
});
|
|
203
208
|
}
|
|
204
|
-
}, [model == null ? void 0 : model.context,
|
|
209
|
+
}, [model == null ? void 0 : model.context, resolvedUseCache]);
|
|
205
210
|
if (!model || typeof model.render !== "function") {
|
|
206
211
|
console.warn("FlowModelRenderer: Invalid model or render method not found.", model);
|
|
207
212
|
return null;
|
|
@@ -218,7 +223,8 @@ const FlowModelRenderer = (0, import_reactive.observer)(
|
|
|
218
223
|
showErrorFallback,
|
|
219
224
|
settingsMenuLevel,
|
|
220
225
|
extraToolbarItems,
|
|
221
|
-
fallback
|
|
226
|
+
fallback,
|
|
227
|
+
useCache: resolvedUseCache
|
|
222
228
|
}
|
|
223
229
|
);
|
|
224
230
|
if (showErrorFallback) {
|
|
@@ -14,5 +14,11 @@ interface ExtendedFormItemProps extends FormItemProps {
|
|
|
14
14
|
labelWrap?: boolean;
|
|
15
15
|
showLabel?: boolean;
|
|
16
16
|
}
|
|
17
|
+
export declare const verticalFormItemLabelStyle: {
|
|
18
|
+
paddingBottom: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const formItemStyle: {
|
|
21
|
+
marginBottom: number;
|
|
22
|
+
};
|
|
17
23
|
export declare const FormItem: ({ children, showLabel, labelWidth, ...rest }: ExtendedFormItemProps & ChildExtraProps) => React.JSX.Element;
|
|
18
24
|
export {};
|
|
@@ -37,11 +37,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
37
37
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
38
38
|
var FormItem_exports = {};
|
|
39
39
|
__export(FormItem_exports, {
|
|
40
|
-
FormItem: () => FormItem
|
|
40
|
+
FormItem: () => FormItem,
|
|
41
|
+
formItemStyle: () => formItemStyle,
|
|
42
|
+
verticalFormItemLabelStyle: () => verticalFormItemLabelStyle
|
|
41
43
|
});
|
|
42
44
|
module.exports = __toCommonJS(FormItem_exports);
|
|
43
45
|
var import_react = __toESM(require("react"));
|
|
44
46
|
var import_antd = require("antd");
|
|
47
|
+
const verticalFormItemLabelStyle = { paddingBottom: 0 };
|
|
48
|
+
const formItemStyle = { marginBottom: 12 };
|
|
45
49
|
const formItemPropKeys = [
|
|
46
50
|
"colon",
|
|
47
51
|
"dependencies",
|
|
@@ -90,6 +94,7 @@ const FormItem = /* @__PURE__ */ __name(({
|
|
|
90
94
|
});
|
|
91
95
|
const { label, labelWrap, colon = true, layout } = rest;
|
|
92
96
|
const effectiveLabelWrap = !layout || layout === "vertical" ? true : labelWrap;
|
|
97
|
+
const labelColStyle = layout === "vertical" ? { width: labelWidth, ...verticalFormItemLabelStyle } : { width: labelWidth };
|
|
93
98
|
const renderLabel = /* @__PURE__ */ __name(() => {
|
|
94
99
|
if (!showLabel) return null;
|
|
95
100
|
if (effectiveLabelWrap) {
|
|
@@ -132,7 +137,8 @@ const FormItem = /* @__PURE__ */ __name(({
|
|
|
132
137
|
import_antd.Form.Item,
|
|
133
138
|
{
|
|
134
139
|
...rest,
|
|
135
|
-
|
|
140
|
+
style: { ...formItemStyle, ...rest.style },
|
|
141
|
+
labelCol: { style: labelColStyle },
|
|
136
142
|
layout,
|
|
137
143
|
label: renderLabel(),
|
|
138
144
|
colon: false,
|
|
@@ -147,5 +153,7 @@ const FormItem = /* @__PURE__ */ __name(({
|
|
|
147
153
|
}, "FormItem");
|
|
148
154
|
// Annotate the CommonJS export names for ESM import in node:
|
|
149
155
|
0 && (module.exports = {
|
|
150
|
-
FormItem
|
|
156
|
+
FormItem,
|
|
157
|
+
formItemStyle,
|
|
158
|
+
verticalFormItemLabelStyle
|
|
151
159
|
});
|
|
@@ -41,11 +41,12 @@ __export(MobilePopup_exports, {
|
|
|
41
41
|
});
|
|
42
42
|
module.exports = __toCommonJS(MobilePopup_exports);
|
|
43
43
|
var import_antd = require("antd");
|
|
44
|
-
var import_antd_mobile = require("antd-mobile");
|
|
45
44
|
var import_react = __toESM(require("react"));
|
|
46
|
-
var import_antd_mobile_icons = require("antd-mobile-icons");
|
|
47
45
|
var import_MobilePopup = require("./MobilePopup.style");
|
|
48
46
|
var import_react_i18next = require("react-i18next");
|
|
47
|
+
var import_lazy_helper = require("../lazy-helper");
|
|
48
|
+
const { Popup } = (0, import_lazy_helper.lazy)(() => import("antd-mobile"), "Popup");
|
|
49
|
+
const { CloseOutline } = (0, import_lazy_helper.lazy)(() => import("antd-mobile-icons"), "CloseOutline");
|
|
49
50
|
const MobilePopup = /* @__PURE__ */ __name((props) => {
|
|
50
51
|
const { title, visible, onClose: closePopup, children, minHeight, className, footer } = props;
|
|
51
52
|
const { t } = (0, import_react_i18next.useTranslation)();
|
|
@@ -67,7 +68,7 @@ const MobilePopup = /* @__PURE__ */ __name((props) => {
|
|
|
67
68
|
};
|
|
68
69
|
}, []);
|
|
69
70
|
return /* @__PURE__ */ import_react.default.createElement(import_antd.ConfigProvider, { theme }, /* @__PURE__ */ import_react.default.createElement(
|
|
70
|
-
|
|
71
|
+
Popup,
|
|
71
72
|
{
|
|
72
73
|
className: `${componentCls} ${hashId} ${className || ""}`,
|
|
73
74
|
visible,
|
|
@@ -81,7 +82,7 @@ const MobilePopup = /* @__PURE__ */ __name((props) => {
|
|
|
81
82
|
style,
|
|
82
83
|
destroyOnClose: true
|
|
83
84
|
},
|
|
84
|
-
/* @__PURE__ */ import_react.default.createElement("div", { className: "nb-mobile-action-drawer-header" }, /* @__PURE__ */ import_react.default.createElement("span", { className: "nb-mobile-action-drawer-placeholder" }, /* @__PURE__ */ import_react.default.createElement(
|
|
85
|
+
/* @__PURE__ */ import_react.default.createElement("div", { className: "nb-mobile-action-drawer-header" }, /* @__PURE__ */ import_react.default.createElement("span", { className: "nb-mobile-action-drawer-placeholder" }, /* @__PURE__ */ import_react.default.createElement(CloseOutline, null)), /* @__PURE__ */ import_react.default.createElement("span", null, title), /* @__PURE__ */ import_react.default.createElement(
|
|
85
86
|
"span",
|
|
86
87
|
{
|
|
87
88
|
className: "nb-mobile-action-drawer-close-icon",
|
|
@@ -90,7 +91,7 @@ const MobilePopup = /* @__PURE__ */ __name((props) => {
|
|
|
90
91
|
tabIndex: 0,
|
|
91
92
|
"aria-label": t("Close")
|
|
92
93
|
},
|
|
93
|
-
/* @__PURE__ */ import_react.default.createElement(
|
|
94
|
+
/* @__PURE__ */ import_react.default.createElement(CloseOutline, null)
|
|
94
95
|
)),
|
|
95
96
|
children,
|
|
96
97
|
footer && /* @__PURE__ */ import_react.default.createElement("div", { className: "nb-mobile-action-drawer-footer" }, footer)
|
|
@@ -32,6 +32,33 @@ export interface GridLayoutData {
|
|
|
32
32
|
rows: Record<string, string[][]>;
|
|
33
33
|
sizes: Record<string, number[]>;
|
|
34
34
|
rowOrder?: string[];
|
|
35
|
+
layout?: GridLayoutV2;
|
|
36
|
+
}
|
|
37
|
+
export interface GridLayoutV2 {
|
|
38
|
+
version: 2;
|
|
39
|
+
rows: GridRowV2[];
|
|
40
|
+
}
|
|
41
|
+
export interface GridRowV2 {
|
|
42
|
+
id: string;
|
|
43
|
+
cells: GridCellV2[];
|
|
44
|
+
sizes: number[];
|
|
45
|
+
}
|
|
46
|
+
export interface GridCellV2 {
|
|
47
|
+
id: string;
|
|
48
|
+
items?: string[];
|
|
49
|
+
rows?: GridRowV2[];
|
|
50
|
+
}
|
|
51
|
+
export interface GridLayoutPathEntry {
|
|
52
|
+
rowId: string;
|
|
53
|
+
cellId?: string;
|
|
54
|
+
}
|
|
55
|
+
export type GridLayoutPath = GridLayoutPathEntry[];
|
|
56
|
+
export interface GridLayoutPosition {
|
|
57
|
+
path: GridLayoutPath;
|
|
58
|
+
rowIndex: number;
|
|
59
|
+
cellIndex: number;
|
|
60
|
+
itemIndex: number;
|
|
61
|
+
itemUid: string;
|
|
35
62
|
}
|
|
36
63
|
export interface ColumnSlot {
|
|
37
64
|
type: 'column';
|
|
@@ -40,6 +67,7 @@ export interface ColumnSlot {
|
|
|
40
67
|
insertIndex: number;
|
|
41
68
|
position: 'before' | 'after';
|
|
42
69
|
rect: Rect;
|
|
70
|
+
path?: GridLayoutPath;
|
|
43
71
|
}
|
|
44
72
|
export interface ColumnEdgeSlot {
|
|
45
73
|
type: 'column-edge';
|
|
@@ -47,12 +75,14 @@ export interface ColumnEdgeSlot {
|
|
|
47
75
|
columnIndex: number;
|
|
48
76
|
direction: 'left' | 'right';
|
|
49
77
|
rect: Rect;
|
|
78
|
+
path?: GridLayoutPath;
|
|
50
79
|
}
|
|
51
80
|
export interface RowGapSlot {
|
|
52
81
|
type: 'row-gap';
|
|
53
82
|
targetRowId: string;
|
|
54
83
|
position: 'above' | 'below';
|
|
55
84
|
rect: Rect;
|
|
85
|
+
path?: GridLayoutPath;
|
|
56
86
|
}
|
|
57
87
|
export interface EmptyRowSlot {
|
|
58
88
|
type: 'empty-row';
|
|
@@ -63,8 +93,19 @@ export interface EmptyColumnSlot {
|
|
|
63
93
|
rowId: string;
|
|
64
94
|
columnIndex: number;
|
|
65
95
|
rect: Rect;
|
|
96
|
+
path?: GridLayoutPath;
|
|
66
97
|
}
|
|
67
|
-
export
|
|
98
|
+
export interface ItemEdgeSlot {
|
|
99
|
+
type: 'item-edge';
|
|
100
|
+
rowId: string;
|
|
101
|
+
columnIndex: number;
|
|
102
|
+
itemIndex: number;
|
|
103
|
+
itemUid: string;
|
|
104
|
+
direction: 'left' | 'right';
|
|
105
|
+
rect: Rect;
|
|
106
|
+
path?: GridLayoutPath;
|
|
107
|
+
}
|
|
108
|
+
export type LayoutSlot = ColumnSlot | ColumnEdgeSlot | RowGapSlot | EmptyRowSlot | EmptyColumnSlot | ItemEdgeSlot;
|
|
68
109
|
/**
|
|
69
110
|
* 列内插入的配置
|
|
70
111
|
*/
|
|
@@ -122,10 +163,26 @@ export interface BuildLayoutSnapshotOptions {
|
|
|
122
163
|
export declare const buildLayoutSnapshot: ({ container }: BuildLayoutSnapshotOptions) => LayoutSnapshot;
|
|
123
164
|
export declare const getSlotKey: (slot: LayoutSlot) => string;
|
|
124
165
|
export declare const resolveDropIntent: (point: Point, slots: LayoutSlot[]) => LayoutSlot | null;
|
|
166
|
+
export declare const projectLayoutToLegacyRows: (layout: GridLayoutV2) => GridLayoutData;
|
|
167
|
+
export declare const normalizeGridLayout: ({ layout, rows, sizes, rowOrder, itemUids, generateId, logger, gridUid, }: {
|
|
168
|
+
layout?: GridLayoutV2 | null;
|
|
169
|
+
rows?: Record<string, string[][]>;
|
|
170
|
+
sizes?: Record<string, number[]>;
|
|
171
|
+
rowOrder?: string[];
|
|
172
|
+
itemUids?: string[];
|
|
173
|
+
generateId?: () => string;
|
|
174
|
+
logger?: Pick<Console, 'warn'>;
|
|
175
|
+
gridUid?: string;
|
|
176
|
+
}) => GridLayoutV2;
|
|
177
|
+
export declare const replaceUidInGridLayout: (layout: GridLayoutV2, fromUid: string, toUid: string) => GridLayoutV2;
|
|
178
|
+
export declare const findModelUidLayoutPosition: (layout: GridLayoutV2, uidValue: string) => GridLayoutPosition | null;
|
|
179
|
+
export declare const isSameGridLayout: (a: GridLayoutV2, b: GridLayoutV2) => boolean;
|
|
125
180
|
export interface SimulateLayoutOptions {
|
|
126
181
|
slot: LayoutSlot;
|
|
127
182
|
sourceUid: string;
|
|
128
183
|
layout: GridLayoutData;
|
|
129
184
|
generateRowId?: () => string;
|
|
185
|
+
generatedIds?: Map<string, string>;
|
|
186
|
+
generateId?: (key: string) => string;
|
|
130
187
|
}
|
|
131
|
-
export declare const simulateLayoutForSlot: ({ slot, sourceUid, layout, generateRowId, }: SimulateLayoutOptions) => GridLayoutData;
|
|
188
|
+
export declare const simulateLayoutForSlot: ({ slot, sourceUid, layout, generateRowId, generatedIds, generateId, }: SimulateLayoutOptions) => GridLayoutData;
|