@pixpilot/formily-shadcn 0.8.0 → 0.8.2
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/dist/_virtual/rolldown_runtime.cjs +25 -1
- package/dist/_virtual/rolldown_runtime.js +24 -1
- package/dist/components/array-base/array-base.cjs +59 -1
- package/dist/components/array-base/array-base.js +55 -1
- package/dist/components/array-base/array-context.cjs +28 -1
- package/dist/components/array-base/array-context.js +22 -1
- package/dist/components/array-base/component-context.cjs +28 -1
- package/dist/components/array-base/component-context.js +22 -1
- package/dist/components/array-base/components/addition.cjs +51 -1
- package/dist/components/array-base/components/addition.js +45 -1
- package/dist/components/array-base/components/array-copy.cjs +49 -1
- package/dist/components/array-base/components/array-copy.js +42 -1
- package/dist/components/array-base/components/array-index.cjs +15 -1
- package/dist/components/array-base/components/array-index.js +13 -1
- package/dist/components/array-base/components/array-item-label.cjs +22 -1
- package/dist/components/array-base/components/array-item-label.js +19 -1
- package/dist/components/array-base/components/components.cjs +30 -1
- package/dist/components/array-base/components/components.js +29 -1
- package/dist/components/array-base/components/edit.cjs +42 -1
- package/dist/components/array-base/components/edit.js +36 -1
- package/dist/components/array-base/components/empty.cjs +19 -1
- package/dist/components/array-base/components/empty.js +16 -1
- package/dist/components/array-base/components/get-array-components.cjs +88 -1
- package/dist/components/array-base/components/get-array-components.js +84 -1
- package/dist/components/array-base/components/move-down.cjs +47 -1
- package/dist/components/array-base/components/move-down.js +41 -1
- package/dist/components/array-base/components/move-up.cjs +47 -1
- package/dist/components/array-base/components/move-up.js +41 -1
- package/dist/components/array-base/components/remove.cjs +46 -1
- package/dist/components/array-base/components/remove.js +40 -1
- package/dist/components/array-base/components/title.cjs +17 -1
- package/dist/components/array-base/components/title.js +14 -1
- package/dist/components/array-base/components/use-array-components-registry.cjs +56 -1
- package/dist/components/array-base/components/use-array-components-registry.js +52 -1
- package/dist/components/array-base/constants/index.cjs +17 -1
- package/dist/components/array-base/constants/index.js +15 -1
- package/dist/components/array-base/index.cjs +2 -1
- package/dist/components/array-base/index.js +2 -1
- package/dist/components/array-base/utils/filter-and-sort-components.cjs +34 -1
- package/dist/components/array-base/utils/filter-and-sort-components.js +34 -1
- package/dist/components/array-base/utils/is-array-component.cjs +65 -1
- package/dist/components/array-base/utils/is-array-component.js +56 -1
- package/dist/components/array-cards/array-cards.cjs +64 -1
- package/dist/components/array-cards/array-cards.js +60 -1
- package/dist/components/array-cards/index.cjs +1 -1
- package/dist/components/array-cards/index.js +1 -1
- package/dist/components/array-cards/item.cjs +64 -1
- package/dist/components/array-cards/item.js +60 -1
- package/dist/components/array-collapse/array-collapse.cjs +96 -1
- package/dist/components/array-collapse/array-collapse.js +92 -1
- package/dist/components/array-collapse/index.cjs +1 -1
- package/dist/components/array-collapse/index.js +1 -1
- package/dist/components/array-collapse/item.cjs +84 -1
- package/dist/components/array-collapse/item.js +78 -1
- package/dist/components/array-common/array-items-list.cjs +43 -1
- package/dist/components/array-common/array-items-list.js +39 -1
- package/dist/components/array-common/create-active-item-manager.cjs +29 -1
- package/dist/components/array-common/create-active-item-manager.js +27 -1
- package/dist/components/array-common/index.cjs +5 -1
- package/dist/components/array-common/index.js +5 -1
- package/dist/components/array-common/item-wrapper.cjs +26 -1
- package/dist/components/array-common/item-wrapper.js +21 -1
- package/dist/components/array-common/list-item.cjs +53 -1
- package/dist/components/array-common/list-item.js +48 -1
- package/dist/components/array-common/use-array-editor.cjs +47 -1
- package/dist/components/array-common/use-array-editor.js +44 -1
- package/dist/components/array-dialog/array-dialog.cjs +66 -1
- package/dist/components/array-dialog/array-dialog.js +62 -1
- package/dist/components/array-dialog/edit-dialog.cjs +61 -1
- package/dist/components/array-dialog/edit-dialog.js +57 -1
- package/dist/components/array-dialog/index.cjs +1 -1
- package/dist/components/array-dialog/index.js +1 -1
- package/dist/components/array-popover/array-popover.cjs +58 -1
- package/dist/components/array-popover/array-popover.js +53 -1
- package/dist/components/array-popover/index.cjs +1 -1
- package/dist/components/array-popover/index.js +1 -1
- package/dist/components/array-popover/popover.cjs +75 -1
- package/dist/components/array-popover/popover.js +71 -1
- package/dist/components/checkbox.cjs +26 -1
- package/dist/components/checkbox.js +23 -1
- package/dist/components/column.cjs +39 -1
- package/dist/components/column.js +35 -1
- package/dist/components/combobox.cjs +14 -1
- package/dist/components/combobox.js +11 -1
- package/dist/components/context/context.cjs +7 -1
- package/dist/components/context/context.js +7 -1
- package/dist/components/context/form-context.cjs +9 -1
- package/dist/components/context/form-context.js +7 -1
- package/dist/components/context/index.cjs +2 -1
- package/dist/components/context/index.js +2 -1
- package/dist/components/date-picker.cjs +23 -1
- package/dist/components/date-picker.js +19 -1
- package/dist/components/file-upload/file-upload-inline.cjs +35 -1
- package/dist/components/file-upload/file-upload-inline.d.cts +8 -8
- package/dist/components/file-upload/file-upload-inline.js +30 -1
- package/dist/components/file-upload/file-upload.cjs +35 -1
- package/dist/components/file-upload/file-upload.d.cts +8 -8
- package/dist/components/file-upload/file-upload.js +30 -1
- package/dist/components/file-upload/index.cjs +2 -1
- package/dist/components/file-upload/index.js +2 -1
- package/dist/components/file-upload/use-file-upload-feedback.cjs +59 -3
- package/dist/components/file-upload/use-file-upload-feedback.js +53 -3
- package/dist/components/form-grid.cjs +19 -1
- package/dist/components/form-grid.js +15 -1
- package/dist/components/form-item.cjs +118 -3
- package/dist/components/form-item.js +112 -3
- package/dist/components/form-items-container.cjs +28 -1
- package/dist/components/form-items-container.js +24 -1
- package/dist/components/form.cjs +56 -1
- package/dist/components/form.js +51 -1
- package/dist/components/hidden.cjs +26 -1
- package/dist/components/hidden.js +23 -1
- package/dist/components/icon-picker.cjs +37 -1
- package/dist/components/icon-picker.js +33 -1
- package/dist/components/input.cjs +20 -1
- package/dist/components/input.js +17 -1
- package/dist/components/json-schema-form-renderer.cjs +30 -1
- package/dist/components/json-schema-form-renderer.js +26 -1
- package/dist/components/number-input.cjs +19 -1
- package/dist/components/number-input.d.ts +2 -2
- package/dist/components/number-input.js +16 -1
- package/dist/components/object-container.cjs +35 -1
- package/dist/components/object-container.js +32 -1
- package/dist/components/radio.cjs +40 -1
- package/dist/components/radio.js +35 -1
- package/dist/components/rich-text-editor.cjs +27 -1
- package/dist/components/rich-text-editor.js +23 -1
- package/dist/components/row.cjs +39 -1
- package/dist/components/row.js +35 -1
- package/dist/components/schema-field-extended.cjs +25 -1
- package/dist/components/schema-field-extended.d.cts +9 -9
- package/dist/components/schema-field-extended.d.ts +262 -262
- package/dist/components/schema-field-extended.js +23 -1
- package/dist/components/schema-field.cjs +61 -1
- package/dist/components/schema-field.d.cts +9 -9
- package/dist/components/schema-field.d.ts +220 -220
- package/dist/components/schema-field.js +57 -1
- package/dist/components/select.cjs +11 -1
- package/dist/components/select.js +8 -1
- package/dist/components/separator.cjs +15 -1
- package/dist/components/separator.d.ts +2 -2
- package/dist/components/separator.js +12 -1
- package/dist/components/slider.cjs +33 -1
- package/dist/components/slider.d.ts +2 -2
- package/dist/components/slider.js +29 -1
- package/dist/components/switch.cjs +21 -1
- package/dist/components/switch.js +18 -1
- package/dist/components/tags-input-inline.cjs +26 -1
- package/dist/components/tags-input-inline.js +23 -1
- package/dist/components/textarea.cjs +19 -1
- package/dist/components/textarea.js +16 -1
- package/dist/hooks/index.cjs +3 -1
- package/dist/hooks/index.js +3 -1
- package/dist/hooks/use-description.cjs +14 -1
- package/dist/hooks/use-description.js +12 -1
- package/dist/hooks/use-form-context.cjs +13 -1
- package/dist/hooks/use-form-context.js +11 -1
- package/dist/hooks/use-label.cjs +19 -1
- package/dist/hooks/use-label.js +16 -1
- package/dist/index.cjs +102 -1
- package/dist/index.js +35 -1
- package/dist/utils/create-panel-state-manager.cjs +40 -1
- package/dist/utils/create-panel-state-manager.js +38 -1
- package/dist/utils/for-each-schema.cjs +27 -1
- package/dist/utils/for-each-schema.js +26 -1
- package/dist/utils/get-array-item-info.cjs +20 -1
- package/dist/utils/get-array-item-info.js +19 -1
- package/dist/utils/get-default-value.cjs +22 -1
- package/dist/utils/get-default-value.js +20 -1
- package/dist/utils/has-array-item-errors.cjs +15 -1
- package/dist/utils/has-array-item-errors.js +14 -1
- package/dist/utils/has-error.cjs +12 -1
- package/dist/utils/has-error.js +10 -1
- package/dist/utils/index.cjs +10 -1
- package/dist/utils/index.js +10 -1
- package/dist/utils/resolve-responsive-space.cjs +131 -1
- package/dist/utils/resolve-responsive-space.js +123 -1
- package/dist/utils/transform-schema.cjs +45 -1
- package/dist/utils/transform-schema.js +43 -1
- package/dist/utils/use-array-item-editor.cjs +3 -1
- package/dist/utils/use-array-item-editor.js +1 -1
- package/dist/utils/validate-array-item-fields.cjs +22 -1
- package/dist/utils/validate-array-item-fields.js +22 -1
- package/package.json +3 -3
|
@@ -1 +1,56 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_filter_and_sort_components = require('../utils/filter-and-sort-components.cjs');
|
|
3
|
+
const require_get_array_components = require('./get-array-components.cjs');
|
|
4
|
+
let react = require("react");
|
|
5
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
8
|
+
let __pixpilot_shadcn = require("@pixpilot/shadcn");
|
|
9
|
+
__pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
|
|
10
|
+
|
|
11
|
+
//#region src/components/array-base/components/use-array-components-registry.tsx
|
|
12
|
+
function useArrayComponentRegistry(rootSchema, operations) {
|
|
13
|
+
return react.default.useMemo(() => {
|
|
14
|
+
const schemaComponents = require_get_array_components.getArrayComponents(rootSchema);
|
|
15
|
+
const componentToRender = require_filter_and_sort_components.filterAndSortComponents(schemaComponents, operations);
|
|
16
|
+
const EmptyArray = schemaComponents.get("Empty")?.Component;
|
|
17
|
+
const AddButton = schemaComponents.get("Addition")?.Component;
|
|
18
|
+
return {
|
|
19
|
+
OperationComponents: react.default.memo((props) => {
|
|
20
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: componentToRender.map(([key, { Component }]) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react.default.Fragment, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Component, { ...props }) }, key)) });
|
|
21
|
+
}),
|
|
22
|
+
AddButton: (props) => {
|
|
23
|
+
if (!AddButton) return null;
|
|
24
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AddButton, { ...props });
|
|
25
|
+
},
|
|
26
|
+
EmptyArray: (props) => {
|
|
27
|
+
if (!EmptyArray) return null;
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EmptyArray, { ...props }) });
|
|
29
|
+
},
|
|
30
|
+
ItemIndex: (props) => {
|
|
31
|
+
const compInfo = schemaComponents.get("Index");
|
|
32
|
+
if (!compInfo) return null;
|
|
33
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(compInfo.Component, { ...props }) });
|
|
34
|
+
},
|
|
35
|
+
ArrayItemsContainer: (props) => {
|
|
36
|
+
const { className, schema, children, hasItems, basePath,...otherProps } = props;
|
|
37
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
38
|
+
...otherProps,
|
|
39
|
+
className: (0, __pixpilot_shadcn.cn)("space-y-3", className),
|
|
40
|
+
children: [!hasItems && EmptyArray && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EmptyArray, {
|
|
41
|
+
basePath,
|
|
42
|
+
schema
|
|
43
|
+
}), children]
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
ItemLabel: (props) => {
|
|
47
|
+
const compInfo = schemaComponents.get("Label");
|
|
48
|
+
if (!compInfo) return null;
|
|
49
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(compInfo.Component, { ...props }) });
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}, [operations, rootSchema]);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
exports.useArrayComponentRegistry = useArrayComponentRegistry;
|
|
@@ -1 +1,52 @@
|
|
|
1
|
-
import{filterAndSortComponents
|
|
1
|
+
import { filterAndSortComponents } from "../utils/filter-and-sort-components.js";
|
|
2
|
+
import { getArrayComponents } from "./get-array-components.js";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { cn } from "@pixpilot/shadcn";
|
|
6
|
+
|
|
7
|
+
//#region src/components/array-base/components/use-array-components-registry.tsx
|
|
8
|
+
function useArrayComponentRegistry(rootSchema, operations) {
|
|
9
|
+
return React.useMemo(() => {
|
|
10
|
+
const schemaComponents = getArrayComponents(rootSchema);
|
|
11
|
+
const componentToRender = filterAndSortComponents(schemaComponents, operations);
|
|
12
|
+
const EmptyArray = schemaComponents.get("Empty")?.Component;
|
|
13
|
+
const AddButton = schemaComponents.get("Addition")?.Component;
|
|
14
|
+
return {
|
|
15
|
+
OperationComponents: React.memo((props) => {
|
|
16
|
+
return /* @__PURE__ */ jsx(Fragment, { children: componentToRender.map(([key, { Component }]) => /* @__PURE__ */ jsx(React.Fragment, { children: /* @__PURE__ */ jsx(Component, { ...props }) }, key)) });
|
|
17
|
+
}),
|
|
18
|
+
AddButton: (props) => {
|
|
19
|
+
if (!AddButton) return null;
|
|
20
|
+
return /* @__PURE__ */ jsx(AddButton, { ...props });
|
|
21
|
+
},
|
|
22
|
+
EmptyArray: (props) => {
|
|
23
|
+
if (!EmptyArray) return null;
|
|
24
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(EmptyArray, { ...props }) });
|
|
25
|
+
},
|
|
26
|
+
ItemIndex: (props) => {
|
|
27
|
+
const compInfo = schemaComponents.get("Index");
|
|
28
|
+
if (!compInfo) return null;
|
|
29
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(compInfo.Component, { ...props }) });
|
|
30
|
+
},
|
|
31
|
+
ArrayItemsContainer: (props) => {
|
|
32
|
+
const { className, schema, children, hasItems, basePath,...otherProps } = props;
|
|
33
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
34
|
+
...otherProps,
|
|
35
|
+
className: cn("space-y-3", className),
|
|
36
|
+
children: [!hasItems && EmptyArray && /* @__PURE__ */ jsx(EmptyArray, {
|
|
37
|
+
basePath,
|
|
38
|
+
schema
|
|
39
|
+
}), children]
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
ItemLabel: (props) => {
|
|
43
|
+
const compInfo = schemaComponents.get("Label");
|
|
44
|
+
if (!compInfo) return null;
|
|
45
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(compInfo.Component, { ...props }) });
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}, [operations, rootSchema]);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//#endregion
|
|
52
|
+
export { useArrayComponentRegistry };
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
//#region src/components/array-base/constants/index.ts
|
|
3
|
+
const DEFAULT_OPERATIONS = [
|
|
4
|
+
"MoveDown",
|
|
5
|
+
"MoveUp",
|
|
6
|
+
"Remove"
|
|
7
|
+
];
|
|
8
|
+
const DEFAULT_EDITABLE_OPERATIONS = [
|
|
9
|
+
"MoveDown",
|
|
10
|
+
"MoveUp",
|
|
11
|
+
"Edit",
|
|
12
|
+
"Remove"
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
exports.DEFAULT_EDITABLE_OPERATIONS = DEFAULT_EDITABLE_OPERATIONS;
|
|
17
|
+
exports.DEFAULT_OPERATIONS = DEFAULT_OPERATIONS;
|
|
@@ -1 +1,15 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/components/array-base/constants/index.ts
|
|
2
|
+
const DEFAULT_OPERATIONS = [
|
|
3
|
+
"MoveDown",
|
|
4
|
+
"MoveUp",
|
|
5
|
+
"Remove"
|
|
6
|
+
];
|
|
7
|
+
const DEFAULT_EDITABLE_OPERATIONS = [
|
|
8
|
+
"MoveDown",
|
|
9
|
+
"MoveUp",
|
|
10
|
+
"Edit",
|
|
11
|
+
"Remove"
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { DEFAULT_EDITABLE_OPERATIONS, DEFAULT_OPERATIONS };
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_array_base = require('./array-base.cjs');
|
|
2
|
+
const require_component_context = require('./component-context.cjs');
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import{ArrayBase
|
|
1
|
+
import { ArrayBase } from "./array-base.js";
|
|
2
|
+
import { ArrayComponentProvider, Provider, useArrayComponents } from "./component-context.js";
|
|
@@ -1 +1,34 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_components = require('../components/components.cjs');
|
|
2
|
+
|
|
3
|
+
//#region src/components/array-base/utils/filter-and-sort-components.ts
|
|
4
|
+
/**
|
|
5
|
+
* Filters and sorts array components based on the operations array.
|
|
6
|
+
* - Filters components that are in defaultOperations and either in the operations array or are user fields
|
|
7
|
+
* - Sorts components according to the order specified in the operations array
|
|
8
|
+
* - User fields come after explicitly ordered operations
|
|
9
|
+
*
|
|
10
|
+
* @param schemaComponents - Map of component keys to component info
|
|
11
|
+
* @param operations - Array of operations to include, or false/undefined for all user fields
|
|
12
|
+
* @returns Sorted array of [key, component info] tuples
|
|
13
|
+
*/
|
|
14
|
+
function filterAndSortComponents(schemaComponents, operations) {
|
|
15
|
+
const filtered = Array.from(schemaComponents.entries()).filter(([key, info]) => {
|
|
16
|
+
if (!(key in require_components.defaultOperationComponents)) return false;
|
|
17
|
+
if (Array.isArray(operations)) return operations.includes(key) || info.isUserField === true;
|
|
18
|
+
return info.isUserField === true;
|
|
19
|
+
});
|
|
20
|
+
if (!Array.isArray(operations)) return filtered;
|
|
21
|
+
return filtered.sort(([keyA], [keyB]) => {
|
|
22
|
+
const indexA = operations.indexOf(keyA);
|
|
23
|
+
const indexB = operations.indexOf(keyB);
|
|
24
|
+
const aIsOrdered = indexA !== -1;
|
|
25
|
+
const bIsOrdered = indexB !== -1;
|
|
26
|
+
if (aIsOrdered && bIsOrdered) return indexA - indexB;
|
|
27
|
+
if (aIsOrdered) return -1;
|
|
28
|
+
if (bIsOrdered) return 1;
|
|
29
|
+
return 0;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.filterAndSortComponents = filterAndSortComponents;
|
|
@@ -1 +1,34 @@
|
|
|
1
|
-
import{defaultOperationComponents
|
|
1
|
+
import { defaultOperationComponents } from "../components/components.js";
|
|
2
|
+
|
|
3
|
+
//#region src/components/array-base/utils/filter-and-sort-components.ts
|
|
4
|
+
/**
|
|
5
|
+
* Filters and sorts array components based on the operations array.
|
|
6
|
+
* - Filters components that are in defaultOperations and either in the operations array or are user fields
|
|
7
|
+
* - Sorts components according to the order specified in the operations array
|
|
8
|
+
* - User fields come after explicitly ordered operations
|
|
9
|
+
*
|
|
10
|
+
* @param schemaComponents - Map of component keys to component info
|
|
11
|
+
* @param operations - Array of operations to include, or false/undefined for all user fields
|
|
12
|
+
* @returns Sorted array of [key, component info] tuples
|
|
13
|
+
*/
|
|
14
|
+
function filterAndSortComponents(schemaComponents, operations) {
|
|
15
|
+
const filtered = Array.from(schemaComponents.entries()).filter(([key, info]) => {
|
|
16
|
+
if (!(key in defaultOperationComponents)) return false;
|
|
17
|
+
if (Array.isArray(operations)) return operations.includes(key) || info.isUserField === true;
|
|
18
|
+
return info.isUserField === true;
|
|
19
|
+
});
|
|
20
|
+
if (!Array.isArray(operations)) return filtered;
|
|
21
|
+
return filtered.sort(([keyA], [keyB]) => {
|
|
22
|
+
const indexA = operations.indexOf(keyA);
|
|
23
|
+
const indexB = operations.indexOf(keyB);
|
|
24
|
+
const aIsOrdered = indexA !== -1;
|
|
25
|
+
const bIsOrdered = indexB !== -1;
|
|
26
|
+
if (aIsOrdered && bIsOrdered) return indexA - indexB;
|
|
27
|
+
if (aIsOrdered) return -1;
|
|
28
|
+
if (bIsOrdered) return 1;
|
|
29
|
+
return 0;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { filterAndSortComponents };
|
|
@@ -1 +1,65 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
|
+
//#region src/components/array-base/utils/is-array-component.ts
|
|
3
|
+
function isComponent(schema, compName) {
|
|
4
|
+
const comp = schema["x-component"];
|
|
5
|
+
if (comp == null) return false;
|
|
6
|
+
if (typeof comp !== "string") return false;
|
|
7
|
+
if (comp.endsWith(compName)) return true;
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Check if schema represents an Addition component
|
|
12
|
+
*/
|
|
13
|
+
function isAdditionComponent(schema) {
|
|
14
|
+
return isComponent(schema, ".Addition");
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Check if schema represents an Index component
|
|
18
|
+
*/
|
|
19
|
+
function isIndexComponent(schema) {
|
|
20
|
+
return isComponent(schema, ".Index");
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Check if schema represents a Remove component
|
|
24
|
+
*/
|
|
25
|
+
function isRemoveComponent(schema) {
|
|
26
|
+
return isComponent(schema, ".Remove");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Check if schema represents a MoveUp component
|
|
30
|
+
*/
|
|
31
|
+
function isMoveUpComponent(schema) {
|
|
32
|
+
return isComponent(schema, ".MoveUp");
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Check if schema represents a MoveDown component
|
|
36
|
+
*/
|
|
37
|
+
function isMoveDownComponent(schema) {
|
|
38
|
+
return isComponent(schema, ".MoveDown");
|
|
39
|
+
}
|
|
40
|
+
function isEmptyComponent(schema) {
|
|
41
|
+
return isComponent(schema, ".Empty");
|
|
42
|
+
}
|
|
43
|
+
function isCopyComponent(schema) {
|
|
44
|
+
return isComponent(schema, ".Copy");
|
|
45
|
+
}
|
|
46
|
+
function isLabelComponent(schema) {
|
|
47
|
+
return isComponent(schema, ".Label");
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if schema represents any operation component (Addition, Remove, MoveUp, MoveDown)
|
|
51
|
+
*/
|
|
52
|
+
function isOperationComponent(schema) {
|
|
53
|
+
return isAdditionComponent(schema) || isRemoveComponent(schema) || isMoveDownComponent(schema) || isMoveUpComponent(schema) || isCopyComponent(schema) || isIndexComponent(schema);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
//#endregion
|
|
57
|
+
exports.isAdditionComponent = isAdditionComponent;
|
|
58
|
+
exports.isCopyComponent = isCopyComponent;
|
|
59
|
+
exports.isEmptyComponent = isEmptyComponent;
|
|
60
|
+
exports.isIndexComponent = isIndexComponent;
|
|
61
|
+
exports.isLabelComponent = isLabelComponent;
|
|
62
|
+
exports.isMoveDownComponent = isMoveDownComponent;
|
|
63
|
+
exports.isMoveUpComponent = isMoveUpComponent;
|
|
64
|
+
exports.isOperationComponent = isOperationComponent;
|
|
65
|
+
exports.isRemoveComponent = isRemoveComponent;
|
|
@@ -1 +1,56 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/components/array-base/utils/is-array-component.ts
|
|
2
|
+
function isComponent(schema, compName) {
|
|
3
|
+
const comp = schema["x-component"];
|
|
4
|
+
if (comp == null) return false;
|
|
5
|
+
if (typeof comp !== "string") return false;
|
|
6
|
+
if (comp.endsWith(compName)) return true;
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Check if schema represents an Addition component
|
|
11
|
+
*/
|
|
12
|
+
function isAdditionComponent(schema) {
|
|
13
|
+
return isComponent(schema, ".Addition");
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Check if schema represents an Index component
|
|
17
|
+
*/
|
|
18
|
+
function isIndexComponent(schema) {
|
|
19
|
+
return isComponent(schema, ".Index");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Check if schema represents a Remove component
|
|
23
|
+
*/
|
|
24
|
+
function isRemoveComponent(schema) {
|
|
25
|
+
return isComponent(schema, ".Remove");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Check if schema represents a MoveUp component
|
|
29
|
+
*/
|
|
30
|
+
function isMoveUpComponent(schema) {
|
|
31
|
+
return isComponent(schema, ".MoveUp");
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Check if schema represents a MoveDown component
|
|
35
|
+
*/
|
|
36
|
+
function isMoveDownComponent(schema) {
|
|
37
|
+
return isComponent(schema, ".MoveDown");
|
|
38
|
+
}
|
|
39
|
+
function isEmptyComponent(schema) {
|
|
40
|
+
return isComponent(schema, ".Empty");
|
|
41
|
+
}
|
|
42
|
+
function isCopyComponent(schema) {
|
|
43
|
+
return isComponent(schema, ".Copy");
|
|
44
|
+
}
|
|
45
|
+
function isLabelComponent(schema) {
|
|
46
|
+
return isComponent(schema, ".Label");
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Check if schema represents any operation component (Addition, Remove, MoveUp, MoveDown)
|
|
50
|
+
*/
|
|
51
|
+
function isOperationComponent(schema) {
|
|
52
|
+
return isAdditionComponent(schema) || isRemoveComponent(schema) || isMoveDownComponent(schema) || isMoveUpComponent(schema) || isCopyComponent(schema) || isIndexComponent(schema);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
//#endregion
|
|
56
|
+
export { isAdditionComponent, isCopyComponent, isEmptyComponent, isIndexComponent, isLabelComponent, isMoveDownComponent, isMoveUpComponent, isOperationComponent, isRemoveComponent };
|
|
@@ -1 +1,64 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_get_array_item_info = require('../../utils/get-array-item-info.cjs');
|
|
3
|
+
require('../../utils/index.cjs');
|
|
4
|
+
const require_array_base = require('../array-base/array-base.cjs');
|
|
5
|
+
const require_component_context = require('../array-base/component-context.cjs');
|
|
6
|
+
require('../array-base/index.cjs');
|
|
7
|
+
const require_index$2 = require('../array-base/constants/index.cjs');
|
|
8
|
+
const require_item = require('./item.cjs');
|
|
9
|
+
let __formily_react = require("@formily/react");
|
|
10
|
+
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
11
|
+
let react = require("react");
|
|
12
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
13
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
14
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
15
|
+
|
|
16
|
+
//#region src/components/array-cards/array-cards.tsx
|
|
17
|
+
const ArrayCardsBase = (0, __formily_react.observer)((props) => {
|
|
18
|
+
const field = (0, __formily_react.useField)();
|
|
19
|
+
const schema = (0, __formily_react.useFieldSchema)();
|
|
20
|
+
const { onAdd, onCopy, onRemove, onMoveDown, onMoveUp, className, title: titleProp, children, operations,...otherProps } = props;
|
|
21
|
+
const dataSource = Array.isArray(field.value) ? field.value : [];
|
|
22
|
+
const { ArrayItemsContainer, AddButton } = require_component_context.useArrayComponents();
|
|
23
|
+
const renderItems = () => {
|
|
24
|
+
return dataSource.map((_item, index) => {
|
|
25
|
+
const { itemKey, record } = require_get_array_item_info.getArrayItemInfo(field, index);
|
|
26
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_item.default, {
|
|
27
|
+
index,
|
|
28
|
+
title: titleProp,
|
|
29
|
+
record
|
|
30
|
+
}, itemKey);
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
const fieldAddress = field.address.toString();
|
|
34
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase, {
|
|
35
|
+
onAdd,
|
|
36
|
+
onCopy,
|
|
37
|
+
onRemove,
|
|
38
|
+
onMoveUp,
|
|
39
|
+
onMoveDown,
|
|
40
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(ArrayItemsContainer, {
|
|
41
|
+
...otherProps,
|
|
42
|
+
basePath: fieldAddress,
|
|
43
|
+
schema,
|
|
44
|
+
hasItems: dataSource.length > 0,
|
|
45
|
+
children: [renderItems(), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AddButton, {
|
|
46
|
+
schema,
|
|
47
|
+
basePath: fieldAddress
|
|
48
|
+
})]
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
function ArrayCardsComponent(props) {
|
|
53
|
+
const { operations: allowDefaultOperations = require_index$2.DEFAULT_OPERATIONS } = props;
|
|
54
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_component_context.ArrayComponentProvider, {
|
|
55
|
+
allowedOperationsComponentNames: allowDefaultOperations,
|
|
56
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ArrayCardsBase, { ...props })
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
ArrayCardsComponent.displayName = "ArrayCards";
|
|
60
|
+
const ArrayCards = ArrayCardsComponent;
|
|
61
|
+
require_array_base.ArrayBase.mixin(ArrayCards);
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
exports.ArrayCards = ArrayCards;
|
|
@@ -1 +1,60 @@
|
|
|
1
|
-
import{getArrayItemInfo
|
|
1
|
+
import { getArrayItemInfo } from "../../utils/get-array-item-info.js";
|
|
2
|
+
import "../../utils/index.js";
|
|
3
|
+
import { ArrayBase } from "../array-base/array-base.js";
|
|
4
|
+
import { ArrayComponentProvider, useArrayComponents } from "../array-base/component-context.js";
|
|
5
|
+
import "../array-base/index.js";
|
|
6
|
+
import { DEFAULT_OPERATIONS } from "../array-base/constants/index.js";
|
|
7
|
+
import item_default from "./item.js";
|
|
8
|
+
import { observer, useField, useFieldSchema } from "@formily/react";
|
|
9
|
+
import React from "react";
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
|
|
12
|
+
//#region src/components/array-cards/array-cards.tsx
|
|
13
|
+
const ArrayCardsBase = observer((props) => {
|
|
14
|
+
const field = useField();
|
|
15
|
+
const schema = useFieldSchema();
|
|
16
|
+
const { onAdd, onCopy, onRemove, onMoveDown, onMoveUp, className, title: titleProp, children, operations,...otherProps } = props;
|
|
17
|
+
const dataSource = Array.isArray(field.value) ? field.value : [];
|
|
18
|
+
const { ArrayItemsContainer, AddButton } = useArrayComponents();
|
|
19
|
+
const renderItems = () => {
|
|
20
|
+
return dataSource.map((_item, index) => {
|
|
21
|
+
const { itemKey, record } = getArrayItemInfo(field, index);
|
|
22
|
+
return /* @__PURE__ */ jsx(item_default, {
|
|
23
|
+
index,
|
|
24
|
+
title: titleProp,
|
|
25
|
+
record
|
|
26
|
+
}, itemKey);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const fieldAddress = field.address.toString();
|
|
30
|
+
return /* @__PURE__ */ jsx(ArrayBase, {
|
|
31
|
+
onAdd,
|
|
32
|
+
onCopy,
|
|
33
|
+
onRemove,
|
|
34
|
+
onMoveUp,
|
|
35
|
+
onMoveDown,
|
|
36
|
+
children: /* @__PURE__ */ jsxs(ArrayItemsContainer, {
|
|
37
|
+
...otherProps,
|
|
38
|
+
basePath: fieldAddress,
|
|
39
|
+
schema,
|
|
40
|
+
hasItems: dataSource.length > 0,
|
|
41
|
+
children: [renderItems(), /* @__PURE__ */ jsx(AddButton, {
|
|
42
|
+
schema,
|
|
43
|
+
basePath: fieldAddress
|
|
44
|
+
})]
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
function ArrayCardsComponent(props) {
|
|
49
|
+
const { operations: allowDefaultOperations = DEFAULT_OPERATIONS } = props;
|
|
50
|
+
return /* @__PURE__ */ jsx(ArrayComponentProvider, {
|
|
51
|
+
allowedOperationsComponentNames: allowDefaultOperations,
|
|
52
|
+
children: /* @__PURE__ */ jsx(ArrayCardsBase, { ...props })
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
ArrayCardsComponent.displayName = "ArrayCards";
|
|
56
|
+
const ArrayCards = ArrayCardsComponent;
|
|
57
|
+
ArrayBase.mixin(ArrayCards);
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { ArrayCards };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_array_cards = require('./array-cards.cjs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ArrayCards
|
|
1
|
+
import { ArrayCards } from "./array-cards.js";
|
|
@@ -1 +1,64 @@
|
|
|
1
|
-
const
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_array_base = require('../array-base/array-base.cjs');
|
|
3
|
+
const require_is_array_component = require('../array-base/utils/is-array-component.cjs');
|
|
4
|
+
const require_component_context = require('../array-base/component-context.cjs');
|
|
5
|
+
require('../array-base/index.cjs');
|
|
6
|
+
const require_title = require('../array-base/components/title.cjs');
|
|
7
|
+
let __formily_react = require("@formily/react");
|
|
8
|
+
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
9
|
+
let react = require("react");
|
|
10
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
11
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
12
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
13
|
+
|
|
14
|
+
//#region src/components/array-cards/item.tsx
|
|
15
|
+
const ArrayItem = react.default.memo(({ index, title, record }) => {
|
|
16
|
+
const field = (0, __formily_react.useField)();
|
|
17
|
+
const schema = (0, __formily_react.useFieldSchema)();
|
|
18
|
+
const Components = require_component_context.useArrayComponents();
|
|
19
|
+
const items = schema?.items;
|
|
20
|
+
const fieldAddress = field.address.concat(index).toString();
|
|
21
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_array_base.ArrayBase.Item, {
|
|
22
|
+
index,
|
|
23
|
+
record: record ?? {},
|
|
24
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
25
|
+
className: " border rounded-lg p-4 space-y-2",
|
|
26
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
27
|
+
className: "flex",
|
|
28
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
29
|
+
className: "flex-1",
|
|
30
|
+
children: [
|
|
31
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Components.ItemLabel, {
|
|
32
|
+
basePath: fieldAddress,
|
|
33
|
+
index,
|
|
34
|
+
schema: schema.items
|
|
35
|
+
}),
|
|
36
|
+
" ",
|
|
37
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_title.ArrayTitle, { title: title ?? field.title })
|
|
38
|
+
]
|
|
39
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Components.OperationComponents, {
|
|
40
|
+
basePath: fieldAddress,
|
|
41
|
+
index,
|
|
42
|
+
schema: schema.items
|
|
43
|
+
}) })]
|
|
44
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
45
|
+
className: "space-y-4",
|
|
46
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__formily_react.RecursionField, {
|
|
47
|
+
basePath: fieldAddress,
|
|
48
|
+
schema: items,
|
|
49
|
+
name: index,
|
|
50
|
+
filterProperties: (s) => {
|
|
51
|
+
if (require_is_array_component.isOperationComponent(s)) return false;
|
|
52
|
+
return true;
|
|
53
|
+
},
|
|
54
|
+
onlyRenderProperties: true
|
|
55
|
+
})
|
|
56
|
+
})]
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
ArrayItem.displayName = "ArrayItemContent";
|
|
61
|
+
var item_default = ArrayItem;
|
|
62
|
+
|
|
63
|
+
//#endregion
|
|
64
|
+
exports.default = item_default;
|
|
@@ -1 +1,60 @@
|
|
|
1
|
-
import{ArrayBase
|
|
1
|
+
import { ArrayBase } from "../array-base/array-base.js";
|
|
2
|
+
import { isOperationComponent } from "../array-base/utils/is-array-component.js";
|
|
3
|
+
import { useArrayComponents } from "../array-base/component-context.js";
|
|
4
|
+
import "../array-base/index.js";
|
|
5
|
+
import { ArrayTitle } from "../array-base/components/title.js";
|
|
6
|
+
import { RecursionField, useField, useFieldSchema } from "@formily/react";
|
|
7
|
+
import React from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
|
|
10
|
+
//#region src/components/array-cards/item.tsx
|
|
11
|
+
const ArrayItem = React.memo(({ index, title, record }) => {
|
|
12
|
+
const field = useField();
|
|
13
|
+
const schema = useFieldSchema();
|
|
14
|
+
const Components = useArrayComponents();
|
|
15
|
+
const items = schema?.items;
|
|
16
|
+
const fieldAddress = field.address.concat(index).toString();
|
|
17
|
+
return /* @__PURE__ */ jsx(ArrayBase.Item, {
|
|
18
|
+
index,
|
|
19
|
+
record: record ?? {},
|
|
20
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
21
|
+
className: " border rounded-lg p-4 space-y-2",
|
|
22
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
23
|
+
className: "flex",
|
|
24
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
25
|
+
className: "flex-1",
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ jsx(Components.ItemLabel, {
|
|
28
|
+
basePath: fieldAddress,
|
|
29
|
+
index,
|
|
30
|
+
schema: schema.items
|
|
31
|
+
}),
|
|
32
|
+
" ",
|
|
33
|
+
/* @__PURE__ */ jsx(ArrayTitle, { title: title ?? field.title })
|
|
34
|
+
]
|
|
35
|
+
}), /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Components.OperationComponents, {
|
|
36
|
+
basePath: fieldAddress,
|
|
37
|
+
index,
|
|
38
|
+
schema: schema.items
|
|
39
|
+
}) })]
|
|
40
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
41
|
+
className: "space-y-4",
|
|
42
|
+
children: /* @__PURE__ */ jsx(RecursionField, {
|
|
43
|
+
basePath: fieldAddress,
|
|
44
|
+
schema: items,
|
|
45
|
+
name: index,
|
|
46
|
+
filterProperties: (s) => {
|
|
47
|
+
if (isOperationComponent(s)) return false;
|
|
48
|
+
return true;
|
|
49
|
+
},
|
|
50
|
+
onlyRenderProperties: true
|
|
51
|
+
})
|
|
52
|
+
})]
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
ArrayItem.displayName = "ArrayItemContent";
|
|
57
|
+
var item_default = ArrayItem;
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { item_default as default };
|