hs-uix 1.5.0 → 1.6.0
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/README.md +221 -0
- package/common-components.d.ts +127 -0
- package/dist/common-components.js +491 -16
- package/dist/common-components.mjs +465 -10
- package/dist/datatable.js +3 -3
- package/dist/datatable.mjs +5 -4
- package/dist/form.js +18 -1
- package/dist/form.mjs +18 -1
- package/dist/index.js +1745 -17
- package/dist/index.mjs +1760 -20
- package/dist/kanban.js +1410 -0
- package/dist/kanban.mjs +1408 -0
- package/dist/utils.js +60 -0
- package/dist/utils.mjs +58 -0
- package/form.d.ts +1 -0
- package/index.d.ts +65 -0
- package/kanban.d.ts +1 -0
- package/package.json +9 -1
package/dist/form.mjs
CHANGED
|
@@ -2018,6 +2018,7 @@ var FormBuilder = forwardRef(function FormBuilder2(props, ref) {
|
|
|
2018
2018
|
}
|
|
2019
2019
|
};
|
|
2020
2020
|
const getFieldColSpan = (field) => {
|
|
2021
|
+
if (field.colSpan === "full") return columns;
|
|
2021
2022
|
if (field.colSpan != null) return Math.min(field.colSpan, columns);
|
|
2022
2023
|
if (field.width === "full" && columns > 1) return columns;
|
|
2023
2024
|
if (columns > 1 && (field.type === "display" || field.type === "slot" || field.type === "crmPropertyList" || field.type === "crmAssociationPropertyList")) return columns;
|
|
@@ -2043,6 +2044,7 @@ var FormBuilder = forwardRef(function FormBuilder2(props, ref) {
|
|
|
2043
2044
|
let currentRowSpan = 0;
|
|
2044
2045
|
const gridColumnWidth = 200;
|
|
2045
2046
|
const colSpan = (field) => {
|
|
2047
|
+
if (field.colSpan === "full") return cols;
|
|
2046
2048
|
if (field.colSpan != null) return Math.min(field.colSpan, cols);
|
|
2047
2049
|
if (field.width === "full" && cols > 1) return cols;
|
|
2048
2050
|
if (cols > 1 && (field.type === "display" || field.type === "slot" || field.type === "crmPropertyList" || field.type === "crmAssociationPropertyList")) return cols;
|
|
@@ -2176,8 +2178,16 @@ var FormBuilder = forwardRef(function FormBuilder2(props, ref) {
|
|
|
2176
2178
|
}
|
|
2177
2179
|
batch = [];
|
|
2178
2180
|
};
|
|
2181
|
+
const isFullSpan = (f) => f.colSpan === "full" || typeof f.colSpan === "number" && f.colSpan > 1;
|
|
2179
2182
|
for (const field of fieldList) {
|
|
2180
2183
|
if (isDependent(field)) continue;
|
|
2184
|
+
if (isFullSpan(field)) {
|
|
2185
|
+
flushBatch();
|
|
2186
|
+
elements.push(
|
|
2187
|
+
/* @__PURE__ */ React.createElement(React.Fragment, { key: `full-${field.name}` }, renderField(field))
|
|
2188
|
+
);
|
|
2189
|
+
continue;
|
|
2190
|
+
}
|
|
2181
2191
|
batch.push(field);
|
|
2182
2192
|
const dependents = getDependents(field);
|
|
2183
2193
|
if (dependents.length > 0) {
|
|
@@ -2189,6 +2199,7 @@ var FormBuilder = forwardRef(function FormBuilder2(props, ref) {
|
|
|
2189
2199
|
return elements;
|
|
2190
2200
|
};
|
|
2191
2201
|
const wrapWithGroups = (fieldList, renderFn) => {
|
|
2202
|
+
const formatGroupLabel = (groupName) => String(groupName || "").replace(/[_-]+/g, " ").replace(/\s+/g, " ").trim().replace(/\b\w/g, (char) => char.toUpperCase());
|
|
2192
2203
|
const hasGroups = fieldList.some((f) => f.group);
|
|
2193
2204
|
if (!hasGroups) return renderFn(fieldList);
|
|
2194
2205
|
const chunks = [];
|
|
@@ -2210,6 +2221,7 @@ var FormBuilder = forwardRef(function FormBuilder2(props, ref) {
|
|
|
2210
2221
|
for (let i = 0; i < chunks.length; i++) {
|
|
2211
2222
|
const chunk = chunks[i];
|
|
2212
2223
|
const opts = chunk.group && groups && groups[chunk.group] || {};
|
|
2224
|
+
const resolvedGroupLabel = opts.label || formatGroupLabel(chunk.group);
|
|
2213
2225
|
const showDivider = opts.showDivider !== false;
|
|
2214
2226
|
const showLabel = opts.showLabel !== false;
|
|
2215
2227
|
if (i > 0 && showDivider) {
|
|
@@ -2223,8 +2235,13 @@ var FormBuilder = forwardRef(function FormBuilder2(props, ref) {
|
|
|
2223
2235
|
);
|
|
2224
2236
|
} else {
|
|
2225
2237
|
elements.push(
|
|
2226
|
-
/* @__PURE__ */ React.createElement(Text, { key: `group-label-${i}`, format: { fontWeight: "demibold" } },
|
|
2238
|
+
/* @__PURE__ */ React.createElement(Text, { key: `group-label-${i}`, format: { fontWeight: "demibold" } }, resolvedGroupLabel)
|
|
2227
2239
|
);
|
|
2240
|
+
if (opts.description) {
|
|
2241
|
+
elements.push(
|
|
2242
|
+
/* @__PURE__ */ React.createElement(Text, { key: `group-description-${i}`, variant: "microcopy" }, opts.description)
|
|
2243
|
+
);
|
|
2244
|
+
}
|
|
2228
2245
|
}
|
|
2229
2246
|
}
|
|
2230
2247
|
const chunkElements = renderFn(chunk.fields);
|