@nocobase/flow-engine
Version:
A standalone flow engine for NocoBase, managing workflows, models, and actions.
148 lines (146 loc) • 5.15 kB
JavaScript
/**
* This file is part of the NocoBase (R) project.
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
* Authors: NocoBase Team.
*
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
* For more information, please refer to: https://www.nocobase.com/agreement.
*/
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var FormItem_exports = {};
__export(FormItem_exports, {
FormItem: () => FormItem
});
module.exports = __toCommonJS(FormItem_exports);
var import_react = __toESM(require("react"));
var import_antd = require("antd");
const formItemPropKeys = [
"colon",
"dependencies",
"extra",
"getValueFromEvent",
"getValueProps",
"hasFeedback",
"help",
"htmlFor",
"initialValue",
"label",
"labelAlign",
"labelCol",
"messageVariables",
"name",
"normalize",
"noStyle",
"preserve",
"rules",
"tooltip",
"trigger",
"validateStatus",
"validateTrigger",
"valuePropName",
"wrapperCol",
"labelWidth",
"labelWrap",
"layout",
"required",
"showLabel"
];
const FormItem = /* @__PURE__ */ __name(({
children,
showLabel = true,
labelWidth,
...rest
}) => {
const childProps = Object.fromEntries(
Object.entries(rest).filter(([key]) => !formItemPropKeys.includes(key))
);
const processedChildren = typeof children === "function" ? children : import_react.default.Children.map(children, (child) => {
if (import_react.default.isValidElement(child)) {
return import_react.default.cloneElement(child, { ...childProps });
}
return child;
});
const { label, labelWrap, colon = true, layout } = rest;
const effectiveLabelWrap = !layout || layout === "vertical" ? true : labelWrap;
const renderLabel = /* @__PURE__ */ __name(() => {
if (!showLabel) return null;
if (effectiveLabelWrap) {
return /* @__PURE__ */ import_react.default.createElement(
"div",
{
style: {
width: "100%",
whiteSpace: "normal",
wordBreak: "break-word",
display: "flex",
alignItems: "center",
justifyContent: "flex-start",
fontWeight: 600
}
},
/* @__PURE__ */ import_react.default.createElement("span", { style: { flex: 1 } }, label),
colon && /* @__PURE__ */ import_react.default.createElement("span", { style: { marginLeft: 4, flexShrink: 0 } }, ":")
);
}
return /* @__PURE__ */ import_react.default.createElement(import_antd.Tooltip, { title: label }, /* @__PURE__ */ import_react.default.createElement(
"div",
{
style: {
display: "inline-flex",
alignItems: "center",
maxWidth: (typeof labelWidth === "number" ? labelWidth : 120) - 20,
whiteSpace: "nowrap",
overflow: "hidden",
textOverflow: "ellipsis",
verticalAlign: "middle",
fontWeight: 600
}
},
/* @__PURE__ */ import_react.default.createElement("span", { style: { flexShrink: 1, overflow: "hidden", textOverflow: "ellipsis" } }, label),
colon && /* @__PURE__ */ import_react.default.createElement("span", { style: { marginLeft: 4, flexShrink: 0 } }, ":")
));
}, "renderLabel");
return /* @__PURE__ */ import_react.default.createElement(
import_antd.Form.Item,
{
...rest,
labelCol: { style: { width: labelWidth } },
layout,
label: renderLabel(),
colon: false,
extra: rest.extra && /* @__PURE__ */ import_react.default.createElement("span", { style: { whiteSpace: "pre-wrap" } }, rest.extra)
},
processedChildren
);
}, "FormItem");
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
FormItem
});