@pixpilot/formily-shadcn 0.10.0 → 0.11.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/README.md +27 -1
- package/dist/components/checkbox.d.cts +2 -2
- package/dist/components/checkbox.d.ts +2 -2
- package/dist/components/column.d.ts +2 -2
- package/dist/components/context/context.d.cts +1 -1
- package/dist/components/context/context.d.ts +1 -1
- package/dist/components/context/form-context.d.cts +34 -5
- package/dist/components/context/form-context.d.ts +34 -5
- package/dist/components/context/index.d.cts +1 -1
- package/dist/components/context/index.d.ts +1 -1
- package/dist/components/date-picker.d.cts +3 -3
- package/dist/components/date-picker.d.ts +3 -3
- package/dist/components/file-upload/file-upload-inline.d.cts +8 -8
- package/dist/components/file-upload/file-upload-inline.d.ts +8 -8
- package/dist/components/file-upload/file-upload.d.cts +8 -8
- package/dist/components/file-upload/file-upload.d.ts +8 -8
- package/dist/components/form-grid.d.ts +2 -2
- package/dist/components/form-item/base-form-item.cjs +85 -0
- package/dist/components/form-item/base-form-item.d.cts +2 -0
- package/dist/components/form-item/base-form-item.d.ts +2 -0
- package/dist/components/form-item/base-form-item.js +80 -0
- package/dist/components/form-item/connected-form-item.cjs +47 -0
- package/dist/components/form-item/connected-form-item.d.cts +13 -0
- package/dist/components/form-item/connected-form-item.d.ts +13 -0
- package/dist/components/form-item/connected-form-item.js +44 -0
- package/dist/components/form-item/form-item-description-popover.cjs +42 -0
- package/dist/components/form-item/form-item-description-popover.js +37 -0
- package/dist/components/form-item/form-item-label.cjs +29 -0
- package/dist/components/form-item/form-item-label.js +25 -0
- package/dist/components/form-item/form-item-types.d.cts +23 -0
- package/dist/components/form-item/form-item-types.d.ts +23 -0
- package/dist/components/form-item/form-item.cjs +2 -0
- package/dist/components/form-item/form-item.d.cts +4 -0
- package/dist/components/form-item/form-item.d.ts +4 -0
- package/dist/components/form-item/form-item.js +2 -0
- package/dist/components/form-item/index.cjs +3 -0
- package/dist/components/form-item/index.d.cts +4 -0
- package/dist/components/form-item/index.d.ts +4 -0
- package/dist/components/form-item/index.js +3 -0
- package/dist/components/form-item/spacing-config.cjs +24 -0
- package/dist/components/form-item/spacing-config.js +23 -0
- package/dist/components/form-items-container.cjs +2 -1
- package/dist/components/form-items-container.js +2 -1
- package/dist/components/form.cjs +4 -11
- package/dist/components/form.d.cts +1 -3
- package/dist/components/form.d.ts +1 -3
- package/dist/components/form.js +4 -11
- package/dist/components/icon-picker.d.ts +3 -3
- package/dist/components/input.d.cts +2 -2
- package/dist/components/input.d.ts +2 -2
- package/dist/components/json-schema-form-renderer/index.cjs +4 -0
- package/dist/components/json-schema-form-renderer/index.d.cts +5 -0
- package/dist/components/json-schema-form-renderer/index.d.ts +5 -0
- package/dist/components/json-schema-form-renderer/index.js +4 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-basic.cjs +35 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-basic.d.cts +14 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-basic.d.ts +14 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-basic.js +32 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-extended.cjs +35 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-extended.d.cts +14 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-extended.d.ts +14 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-extended.js +32 -0
- package/dist/components/{json-schema-form-renderer.cjs → json-schema-form-renderer/json-schema-form-renderer.cjs} +16 -17
- package/dist/components/json-schema-form-renderer/json-schema-form-renderer.d.cts +7 -0
- package/dist/components/json-schema-form-renderer/json-schema-form-renderer.d.ts +7 -0
- package/dist/components/{json-schema-form-renderer.js → json-schema-form-renderer/json-schema-form-renderer.js} +14 -15
- package/dist/components/json-schema-form-renderer/json-schema-form.cjs +36 -0
- package/dist/components/json-schema-form-renderer/json-schema-form.d.cts +14 -0
- package/dist/components/json-schema-form-renderer/json-schema-form.d.ts +14 -0
- package/dist/components/json-schema-form-renderer/json-schema-form.js +33 -0
- package/dist/components/json-schema-form-renderer/types.d.cts +23 -0
- package/dist/components/json-schema-form-renderer/types.d.ts +23 -0
- package/dist/components/number-input.d.cts +2 -2
- package/dist/components/number-input.d.ts +2 -2
- package/dist/components/object-container.cjs +13 -6
- package/dist/components/object-container.js +13 -6
- package/dist/components/schema-field/index.d.cts +3 -3
- package/dist/components/schema-field/index.d.ts +3 -3
- package/dist/components/schema-field/index.js +3 -3
- package/dist/components/schema-field/schema-field-basics.cjs +66 -23
- package/dist/components/schema-field/schema-field-basics.d.cts +283 -198
- package/dist/components/schema-field/schema-field-basics.d.ts +294 -209
- package/dist/components/schema-field/schema-field-basics.js +65 -23
- package/dist/components/schema-field/schema-field-extended.cjs +23 -8
- package/dist/components/schema-field/schema-field-extended.d.cts +566 -431
- package/dist/components/schema-field/schema-field-extended.d.ts +566 -431
- package/dist/components/schema-field/schema-field-extended.js +23 -9
- package/dist/components/schema-field/schema-field.cjs +23 -8
- package/dist/components/schema-field/schema-field.d.cts +334 -233
- package/dist/components/schema-field/schema-field.d.ts +340 -239
- package/dist/components/schema-field/schema-field.js +23 -9
- package/dist/components/separator.d.cts +2 -2
- package/dist/components/separator.d.ts +2 -2
- package/dist/components/slider.d.cts +2 -2
- package/dist/components/slider.d.ts +2 -2
- package/dist/components/switch.d.cts +2 -2
- package/dist/components/switch.d.ts +2 -2
- package/dist/components/tags-input-inline.d.cts +2 -2
- package/dist/components/tags-input-inline.d.ts +2 -2
- package/dist/components/textarea.d.cts +2 -2
- package/dist/components/textarea.d.ts +2 -2
- package/dist/index.cjs +17 -6
- package/dist/index.d.cts +14 -6
- package/dist/index.d.ts +14 -6
- package/dist/index.js +11 -6
- package/dist/types/form-item.d.cts +5 -0
- package/dist/types/form-item.d.ts +5 -0
- package/dist/utils/extract-components.cjs +11 -0
- package/dist/utils/extract-components.js +10 -0
- package/package.json +7 -7
- package/dist/components/form-item.cjs +0 -118
- package/dist/components/form-item.d.cts +0 -22
- package/dist/components/form-item.d.ts +0 -22
- package/dist/components/form-item.js +0 -112
- package/dist/components/json-schema-form-renderer.d.cts +0 -20
- package/dist/components/json-schema-form-renderer.d.ts +0 -20
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_schema_field_extended = require('../schema-field/schema-field-extended.cjs');
|
|
3
|
+
const require_json_schema_form_renderer = require('./json-schema-form-renderer.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
|
+
|
|
9
|
+
//#region src/components/json-schema-form-renderer/json-schema-form-extended.tsx
|
|
10
|
+
/**
|
|
11
|
+
* JsonSchemaFormExtended is the extended version that provides all components
|
|
12
|
+
* from the extendedComponentRegistry (including FileUpload, RichTextEditor, etc.).
|
|
13
|
+
*
|
|
14
|
+
* User-provided components are merged with extended defaults, with user components taking precedence.
|
|
15
|
+
*/
|
|
16
|
+
const JsonSchemaFormExtended = (props) => {
|
|
17
|
+
const { components,...rest } = props;
|
|
18
|
+
const mergedComponents = react.default.useMemo(() => {
|
|
19
|
+
return {
|
|
20
|
+
fields: {
|
|
21
|
+
...require_schema_field_extended.extendedComponentRegistry,
|
|
22
|
+
...components?.fields || {}
|
|
23
|
+
},
|
|
24
|
+
decorators: components?.decorators
|
|
25
|
+
};
|
|
26
|
+
}, [components?.decorators, components?.fields]);
|
|
27
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_json_schema_form_renderer.JsonSchemaFormRenderer, {
|
|
28
|
+
...rest,
|
|
29
|
+
components: mergedComponents
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
JsonSchemaFormExtended.displayName = "JsonSchemaFormExtended";
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
exports.JsonSchemaFormExtended = JsonSchemaFormExtended;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JsonSchemaFormProps } from "./types.cjs";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/json-schema-form-renderer/json-schema-form-extended.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* JsonSchemaFormExtended is the extended version that provides all components
|
|
8
|
+
* from the extendedComponentRegistry (including FileUpload, RichTextEditor, etc.).
|
|
9
|
+
*
|
|
10
|
+
* User-provided components are merged with extended defaults, with user components taking precedence.
|
|
11
|
+
*/
|
|
12
|
+
declare const JsonSchemaFormExtended: React.FC<JsonSchemaFormProps>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { JsonSchemaFormExtended };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JsonSchemaFormProps } from "./types.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/json-schema-form-renderer/json-schema-form-extended.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* JsonSchemaFormExtended is the extended version that provides all components
|
|
8
|
+
* from the extendedComponentRegistry (including FileUpload, RichTextEditor, etc.).
|
|
9
|
+
*
|
|
10
|
+
* User-provided components are merged with extended defaults, with user components taking precedence.
|
|
11
|
+
*/
|
|
12
|
+
declare const JsonSchemaFormExtended: React.FC<JsonSchemaFormProps>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { JsonSchemaFormExtended };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { extendedComponentRegistry } from "../schema-field/schema-field-extended.js";
|
|
2
|
+
import { JsonSchemaFormRenderer } from "./json-schema-form-renderer.js";
|
|
3
|
+
import React from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/json-schema-form-renderer/json-schema-form-extended.tsx
|
|
7
|
+
/**
|
|
8
|
+
* JsonSchemaFormExtended is the extended version that provides all components
|
|
9
|
+
* from the extendedComponentRegistry (including FileUpload, RichTextEditor, etc.).
|
|
10
|
+
*
|
|
11
|
+
* User-provided components are merged with extended defaults, with user components taking precedence.
|
|
12
|
+
*/
|
|
13
|
+
const JsonSchemaFormExtended = (props) => {
|
|
14
|
+
const { components,...rest } = props;
|
|
15
|
+
const mergedComponents = React.useMemo(() => {
|
|
16
|
+
return {
|
|
17
|
+
fields: {
|
|
18
|
+
...extendedComponentRegistry,
|
|
19
|
+
...components?.fields || {}
|
|
20
|
+
},
|
|
21
|
+
decorators: components?.decorators
|
|
22
|
+
};
|
|
23
|
+
}, [components?.decorators, components?.fields]);
|
|
24
|
+
return /* @__PURE__ */ jsx(JsonSchemaFormRenderer, {
|
|
25
|
+
...rest,
|
|
26
|
+
components: mergedComponents
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
JsonSchemaFormExtended.displayName = "JsonSchemaFormExtended";
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { JsonSchemaFormExtended };
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('
|
|
2
|
-
const require_extract_fields_decorators = require('
|
|
3
|
-
const require_transform_schema = require('
|
|
4
|
-
const require_validate_schema_components = require('
|
|
5
|
-
require('
|
|
6
|
-
const require_form = require('
|
|
7
|
-
const
|
|
8
|
-
require('./schema-field/index.cjs');
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_extract_fields_decorators = require('../../utils/extract-fields-decorators.cjs');
|
|
3
|
+
const require_transform_schema = require('../../utils/transform-schema.cjs');
|
|
4
|
+
const require_validate_schema_components = require('../../utils/validate-schema-components.cjs');
|
|
5
|
+
require('../../utils/index.cjs');
|
|
6
|
+
const require_form = require('../form.cjs');
|
|
7
|
+
const require_extract_components = require('../../utils/extract-components.cjs');
|
|
9
8
|
let __formily_react = require("@formily/react");
|
|
10
9
|
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
11
10
|
let react = require("react");
|
|
@@ -14,10 +13,10 @@ let react_jsx_runtime = require("react/jsx-runtime");
|
|
|
14
13
|
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
15
14
|
let __formily_core = require("@formily/core");
|
|
16
15
|
__formily_core = require_rolldown_runtime.__toESM(__formily_core);
|
|
17
|
-
let
|
|
18
|
-
|
|
16
|
+
let __pixpilot_env_is_dev = require("@pixpilot/env/is-dev");
|
|
17
|
+
__pixpilot_env_is_dev = require_rolldown_runtime.__toESM(__pixpilot_env_is_dev);
|
|
19
18
|
|
|
20
|
-
//#region src/components/json-schema-form-renderer.tsx
|
|
19
|
+
//#region src/components/json-schema-form-renderer/json-schema-form-renderer.tsx
|
|
21
20
|
const JsonSchemaFormRenderer = (props) => {
|
|
22
21
|
const { schema, children, settings: configProp, components: componentsProp, values,...rest } = props;
|
|
23
22
|
const form = (0, react.useMemo)(() => (0, __formily_core.createForm)({ values: values || {} }), [values]);
|
|
@@ -25,14 +24,14 @@ const JsonSchemaFormRenderer = (props) => {
|
|
|
25
24
|
return require_transform_schema.transformSchema(schema, require_extract_fields_decorators.extractFieldsDecorators(componentsProp?.fields));
|
|
26
25
|
}, [schema, componentsProp]);
|
|
27
26
|
const SchemaField = react.default.useMemo(() => {
|
|
28
|
-
const
|
|
29
|
-
if (componentsProp?.
|
|
30
|
-
|
|
27
|
+
const componentConfigs = { ...componentsProp?.fields };
|
|
28
|
+
if (componentsProp?.decorators) Object.entries(componentsProp.decorators).forEach(([key, decorator]) => {
|
|
29
|
+
componentConfigs[key] = { component: decorator };
|
|
31
30
|
});
|
|
32
|
-
|
|
33
|
-
if ((0,
|
|
31
|
+
const components = require_extract_components.extractComponents(componentConfigs);
|
|
32
|
+
if ((0, __pixpilot_env_is_dev.isDevelopment)()) require_validate_schema_components.validateSchemaComponents(formSchema, components);
|
|
34
33
|
return (0, __formily_react.createSchemaField)({
|
|
35
|
-
components
|
|
34
|
+
components,
|
|
36
35
|
scope: {}
|
|
37
36
|
});
|
|
38
37
|
}, [formSchema, componentsProp]);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JsonSchemaFormRendererProps } from "./types.cjs";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/json-schema-form-renderer/json-schema-form-renderer.d.ts
|
|
5
|
+
declare const JsonSchemaFormRenderer: React.FC<JsonSchemaFormRendererProps>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { JsonSchemaFormRenderer };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JsonSchemaFormRendererProps } from "./types.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/json-schema-form-renderer/json-schema-form-renderer.d.ts
|
|
5
|
+
declare const JsonSchemaFormRenderer: React.FC<JsonSchemaFormRendererProps>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { JsonSchemaFormRenderer };
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { extractFieldsDecorators } from "
|
|
2
|
-
import { transformSchema } from "
|
|
3
|
-
import { validateSchemaComponents } from "
|
|
4
|
-
import "
|
|
5
|
-
import { Form as Form$1 } from "
|
|
6
|
-
import {
|
|
7
|
-
import "./schema-field/index.js";
|
|
1
|
+
import { extractFieldsDecorators } from "../../utils/extract-fields-decorators.js";
|
|
2
|
+
import { transformSchema } from "../../utils/transform-schema.js";
|
|
3
|
+
import { validateSchemaComponents } from "../../utils/validate-schema-components.js";
|
|
4
|
+
import "../../utils/index.js";
|
|
5
|
+
import { Form as Form$1 } from "../form.js";
|
|
6
|
+
import { extractComponents } from "../../utils/extract-components.js";
|
|
8
7
|
import { createSchemaField } from "@formily/react";
|
|
9
8
|
import React, { useMemo } from "react";
|
|
10
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
10
|
import { createForm } from "@formily/core";
|
|
12
|
-
import { isDevelopment } from "@pixpilot/env";
|
|
11
|
+
import { isDevelopment } from "@pixpilot/env/is-dev";
|
|
13
12
|
|
|
14
|
-
//#region src/components/json-schema-form-renderer.tsx
|
|
13
|
+
//#region src/components/json-schema-form-renderer/json-schema-form-renderer.tsx
|
|
15
14
|
const JsonSchemaFormRenderer = (props) => {
|
|
16
15
|
const { schema, children, settings: configProp, components: componentsProp, values,...rest } = props;
|
|
17
16
|
const form = useMemo(() => createForm({ values: values || {} }), [values]);
|
|
@@ -19,14 +18,14 @@ const JsonSchemaFormRenderer = (props) => {
|
|
|
19
18
|
return transformSchema(schema, extractFieldsDecorators(componentsProp?.fields));
|
|
20
19
|
}, [schema, componentsProp]);
|
|
21
20
|
const SchemaField = React.useMemo(() => {
|
|
22
|
-
const
|
|
23
|
-
if (componentsProp?.
|
|
24
|
-
|
|
21
|
+
const componentConfigs = { ...componentsProp?.fields };
|
|
22
|
+
if (componentsProp?.decorators) Object.entries(componentsProp.decorators).forEach(([key, decorator]) => {
|
|
23
|
+
componentConfigs[key] = { component: decorator };
|
|
25
24
|
});
|
|
26
|
-
|
|
27
|
-
if (isDevelopment()) validateSchemaComponents(formSchema,
|
|
25
|
+
const components = extractComponents(componentConfigs);
|
|
26
|
+
if (isDevelopment()) validateSchemaComponents(formSchema, components);
|
|
28
27
|
return createSchemaField({
|
|
29
|
-
components
|
|
28
|
+
components,
|
|
30
29
|
scope: {}
|
|
31
30
|
});
|
|
32
31
|
}, [formSchema, componentsProp]);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_schema_field = require('../schema-field/schema-field.cjs');
|
|
3
|
+
require('../schema-field/index.cjs');
|
|
4
|
+
const require_json_schema_form_renderer = require('./json-schema-form-renderer.cjs');
|
|
5
|
+
let react = require("react");
|
|
6
|
+
react = require_rolldown_runtime.__toESM(react);
|
|
7
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
|
+
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
9
|
+
|
|
10
|
+
//#region src/components/json-schema-form-renderer/json-schema-form.tsx
|
|
11
|
+
/**
|
|
12
|
+
* JsonSchemaForm is the "batteries-included" version that automatically provides
|
|
13
|
+
* all default components (Slider, Combobox, TagsInput, etc.) from the defaultComponentRegistry.
|
|
14
|
+
*
|
|
15
|
+
* User-provided components are merged with defaults, with user components taking precedence.
|
|
16
|
+
*/
|
|
17
|
+
const JsonSchemaForm = (props) => {
|
|
18
|
+
const { components,...rest } = props;
|
|
19
|
+
const mergedComponents = react.default.useMemo(() => {
|
|
20
|
+
return {
|
|
21
|
+
fields: {
|
|
22
|
+
...require_schema_field.defaultComponentRegistry,
|
|
23
|
+
...components?.fields || {}
|
|
24
|
+
},
|
|
25
|
+
decorators: components?.decorators
|
|
26
|
+
};
|
|
27
|
+
}, [components?.decorators, components?.fields]);
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_json_schema_form_renderer.JsonSchemaFormRenderer, {
|
|
29
|
+
...rest,
|
|
30
|
+
components: mergedComponents
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
JsonSchemaForm.displayName = "JsonSchemaForm";
|
|
34
|
+
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.JsonSchemaForm = JsonSchemaForm;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JsonSchemaFormProps } from "./types.cjs";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/json-schema-form-renderer/json-schema-form.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* JsonSchemaForm is the "batteries-included" version that automatically provides
|
|
8
|
+
* all default components (Slider, Combobox, TagsInput, etc.) from the defaultComponentRegistry.
|
|
9
|
+
*
|
|
10
|
+
* User-provided components are merged with defaults, with user components taking precedence.
|
|
11
|
+
*/
|
|
12
|
+
declare const JsonSchemaForm: React.FC<JsonSchemaFormProps>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { JsonSchemaForm };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JsonSchemaFormProps } from "./types.js";
|
|
2
|
+
import React from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/json-schema-form-renderer/json-schema-form.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* JsonSchemaForm is the "batteries-included" version that automatically provides
|
|
8
|
+
* all default components (Slider, Combobox, TagsInput, etc.) from the defaultComponentRegistry.
|
|
9
|
+
*
|
|
10
|
+
* User-provided components are merged with defaults, with user components taking precedence.
|
|
11
|
+
*/
|
|
12
|
+
declare const JsonSchemaForm: React.FC<JsonSchemaFormProps>;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { JsonSchemaForm };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { defaultComponentRegistry } from "../schema-field/schema-field.js";
|
|
2
|
+
import "../schema-field/index.js";
|
|
3
|
+
import { JsonSchemaFormRenderer } from "./json-schema-form-renderer.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/json-schema-form-renderer/json-schema-form.tsx
|
|
8
|
+
/**
|
|
9
|
+
* JsonSchemaForm is the "batteries-included" version that automatically provides
|
|
10
|
+
* all default components (Slider, Combobox, TagsInput, etc.) from the defaultComponentRegistry.
|
|
11
|
+
*
|
|
12
|
+
* User-provided components are merged with defaults, with user components taking precedence.
|
|
13
|
+
*/
|
|
14
|
+
const JsonSchemaForm = (props) => {
|
|
15
|
+
const { components,...rest } = props;
|
|
16
|
+
const mergedComponents = React.useMemo(() => {
|
|
17
|
+
return {
|
|
18
|
+
fields: {
|
|
19
|
+
...defaultComponentRegistry,
|
|
20
|
+
...components?.fields || {}
|
|
21
|
+
},
|
|
22
|
+
decorators: components?.decorators
|
|
23
|
+
};
|
|
24
|
+
}, [components?.decorators, components?.fields]);
|
|
25
|
+
return /* @__PURE__ */ jsx(JsonSchemaFormRenderer, {
|
|
26
|
+
...rest,
|
|
27
|
+
components: mergedComponents
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
JsonSchemaForm.displayName = "JsonSchemaForm";
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { JsonSchemaForm };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Form } from "../form.cjs";
|
|
2
|
+
import { ISchema } from "@formily/react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/json-schema-form-renderer/types.d.ts
|
|
5
|
+
interface JsonSchemaFormComponent {
|
|
6
|
+
component: React.ComponentType<any>;
|
|
7
|
+
decorator?: string;
|
|
8
|
+
}
|
|
9
|
+
interface JsonSchemaFormComponents {
|
|
10
|
+
fields?: Record<string, JsonSchemaFormComponent>;
|
|
11
|
+
decorators?: Record<string, React.ComponentType<any>>;
|
|
12
|
+
}
|
|
13
|
+
interface JsonSchemaFormRendererProps extends Omit<React.ComponentProps<typeof Form>, 'form'> {
|
|
14
|
+
schema: ISchema;
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
values?: Record<string, any>;
|
|
17
|
+
components: Partial<JsonSchemaFormComponents>;
|
|
18
|
+
}
|
|
19
|
+
interface JsonSchemaFormProps extends Omit<JsonSchemaFormRendererProps, 'components'> {
|
|
20
|
+
components?: JsonSchemaFormComponents;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { JsonSchemaFormComponent, JsonSchemaFormComponents, JsonSchemaFormProps, JsonSchemaFormRendererProps };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Form } from "../form.js";
|
|
2
|
+
import { ISchema } from "@formily/react";
|
|
3
|
+
|
|
4
|
+
//#region src/components/json-schema-form-renderer/types.d.ts
|
|
5
|
+
interface JsonSchemaFormComponent {
|
|
6
|
+
component: React.ComponentType<any>;
|
|
7
|
+
decorator?: string;
|
|
8
|
+
}
|
|
9
|
+
interface JsonSchemaFormComponents {
|
|
10
|
+
fields?: Record<string, JsonSchemaFormComponent>;
|
|
11
|
+
decorators?: Record<string, React.ComponentType<any>>;
|
|
12
|
+
}
|
|
13
|
+
interface JsonSchemaFormRendererProps extends Omit<React.ComponentProps<typeof Form>, 'form'> {
|
|
14
|
+
schema: ISchema;
|
|
15
|
+
children?: React.ReactNode;
|
|
16
|
+
values?: Record<string, any>;
|
|
17
|
+
components: Partial<JsonSchemaFormComponents>;
|
|
18
|
+
}
|
|
19
|
+
interface JsonSchemaFormProps extends Omit<JsonSchemaFormRendererProps, 'components'> {
|
|
20
|
+
components?: JsonSchemaFormComponents;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { JsonSchemaFormComponent, JsonSchemaFormComponents, JsonSchemaFormProps, JsonSchemaFormRendererProps };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react10 from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/components/number-input.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Formily-connected Number Input component
|
|
6
6
|
*/
|
|
7
|
-
declare const NumberInput:
|
|
7
|
+
declare const NumberInput: react10.ForwardRefExoticComponent<Omit<Partial<react10.ClassAttributes<HTMLInputElement> & react10.InputHTMLAttributes<HTMLInputElement>>, "ref"> & react10.RefAttributes<unknown>>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { NumberInput };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react12 from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/components/number-input.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Formily-connected Number Input component
|
|
6
6
|
*/
|
|
7
|
-
declare const NumberInput:
|
|
7
|
+
declare const NumberInput: react12.ForwardRefExoticComponent<Omit<Partial<react12.ClassAttributes<HTMLInputElement> & react12.InputHTMLAttributes<HTMLInputElement>>, "ref"> & react12.RefAttributes<unknown>>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { NumberInput };
|
|
@@ -38,20 +38,27 @@ const cardPaddingConfig = {
|
|
|
38
38
|
const ObjectContainer = ({ className, children, label, description,...rest }) => {
|
|
39
39
|
const effectiveLabel = require_use_label.useLabel(label);
|
|
40
40
|
const desc = require_use_description.useDescription(description);
|
|
41
|
-
const {
|
|
41
|
+
const { layout } = require_use_form_context.useFormContext();
|
|
42
|
+
const { objectContainer, density } = layout || {};
|
|
42
43
|
const gapClass = require_resolve_responsive_space.resolveResponsiveGapClass({ density });
|
|
43
44
|
const headerGapClass = require_resolve_responsive_space.resolveSpacingClass(density, headerConfig);
|
|
44
45
|
const cardPaddingClass = require_resolve_responsive_space.resolveSpacingClass(density, cardPaddingConfig);
|
|
45
|
-
const {
|
|
46
|
+
const { classes } = objectContainer || {};
|
|
46
47
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.Card, {
|
|
47
48
|
...rest,
|
|
48
|
-
className: (0, __pixpilot_shadcn.cn)("bg-transparent", gapClass, cardPaddingClass, className),
|
|
49
|
+
className: (0, __pixpilot_shadcn.cn)("bg-transparent", gapClass, cardPaddingClass, className, classes?.card),
|
|
49
50
|
children: [(effectiveLabel != null || desc != null) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__pixpilot_shadcn.CardHeader, {
|
|
50
|
-
className: headerGapClass,
|
|
51
|
-
children: [effectiveLabel != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.CardTitle, {
|
|
51
|
+
className: (0, __pixpilot_shadcn.cn)(headerGapClass, classes?.header),
|
|
52
|
+
children: [effectiveLabel != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.CardTitle, {
|
|
53
|
+
className: classes?.title,
|
|
54
|
+
children: effectiveLabel
|
|
55
|
+
}), desc != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__pixpilot_shadcn.CardDescription, {
|
|
56
|
+
className: classes?.description,
|
|
57
|
+
children: desc
|
|
58
|
+
})]
|
|
52
59
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_form_items_container.FormItemContainer, {
|
|
53
60
|
as: __pixpilot_shadcn.CardContent,
|
|
54
|
-
className:
|
|
61
|
+
className: classes?.content,
|
|
55
62
|
children
|
|
56
63
|
})]
|
|
57
64
|
});
|
|
@@ -35,20 +35,27 @@ const cardPaddingConfig = {
|
|
|
35
35
|
const ObjectContainer = ({ className, children, label, description,...rest }) => {
|
|
36
36
|
const effectiveLabel = useLabel(label);
|
|
37
37
|
const desc = useDescription(description);
|
|
38
|
-
const {
|
|
38
|
+
const { layout } = useFormContext();
|
|
39
|
+
const { objectContainer, density } = layout || {};
|
|
39
40
|
const gapClass = resolveResponsiveGapClass({ density });
|
|
40
41
|
const headerGapClass = resolveSpacingClass(density, headerConfig);
|
|
41
42
|
const cardPaddingClass = resolveSpacingClass(density, cardPaddingConfig);
|
|
42
|
-
const {
|
|
43
|
+
const { classes } = objectContainer || {};
|
|
43
44
|
return /* @__PURE__ */ jsxs(Card, {
|
|
44
45
|
...rest,
|
|
45
|
-
className: cn("bg-transparent", gapClass, cardPaddingClass, className),
|
|
46
|
+
className: cn("bg-transparent", gapClass, cardPaddingClass, className, classes?.card),
|
|
46
47
|
children: [(effectiveLabel != null || desc != null) && /* @__PURE__ */ jsxs(CardHeader, {
|
|
47
|
-
className: headerGapClass,
|
|
48
|
-
children: [effectiveLabel != null && /* @__PURE__ */ jsx(CardTitle, {
|
|
48
|
+
className: cn(headerGapClass, classes?.header),
|
|
49
|
+
children: [effectiveLabel != null && /* @__PURE__ */ jsx(CardTitle, {
|
|
50
|
+
className: classes?.title,
|
|
51
|
+
children: effectiveLabel
|
|
52
|
+
}), desc != null && /* @__PURE__ */ jsx(CardDescription, {
|
|
53
|
+
className: classes?.description,
|
|
54
|
+
children: desc
|
|
55
|
+
})]
|
|
49
56
|
}), /* @__PURE__ */ jsx(FormItemContainer, {
|
|
50
57
|
as: CardContent,
|
|
51
|
-
className:
|
|
58
|
+
className: classes?.content,
|
|
52
59
|
children
|
|
53
60
|
})]
|
|
54
61
|
});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { SchemaField,
|
|
2
|
-
import { SchemaFieldBasics,
|
|
3
|
-
import { SchemaFieldExtended,
|
|
1
|
+
import { SchemaField, defaultComponentRegistry, defaultComponents } from "./schema-field.cjs";
|
|
2
|
+
import { SchemaFieldBasics, basicComponentRegistry, basicComponents } from "./schema-field-basics.cjs";
|
|
3
|
+
import { SchemaFieldExtended, extendedComponentRegistry, extendedComponents } from "./schema-field-extended.cjs";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { SchemaField,
|
|
2
|
-
import { SchemaFieldBasics,
|
|
3
|
-
import { SchemaFieldExtended,
|
|
1
|
+
import { SchemaField, defaultComponentRegistry, defaultComponents } from "./schema-field.js";
|
|
2
|
+
import { SchemaFieldBasics, basicComponentRegistry, basicComponents } from "./schema-field-basics.js";
|
|
3
|
+
import { SchemaFieldExtended, extendedComponentRegistry, extendedComponents } from "./schema-field-extended.js";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { SchemaFieldBasics,
|
|
2
|
-
import { SchemaField,
|
|
3
|
-
import { SchemaFieldExtended,
|
|
1
|
+
import { SchemaFieldBasics, basicComponentRegistry, basicComponents } from "./schema-field-basics.js";
|
|
2
|
+
import { SchemaField, defaultComponentRegistry, defaultComponents } from "./schema-field.js";
|
|
3
|
+
import { SchemaFieldExtended, extendedComponentRegistry, extendedComponents } from "./schema-field-extended.js";
|
|
@@ -7,8 +7,10 @@ const require_checkbox = require('../checkbox.cjs');
|
|
|
7
7
|
const require_column = require('../column.cjs');
|
|
8
8
|
const require_date_picker = require('../date-picker.cjs');
|
|
9
9
|
const require_form_grid = require('../form-grid.cjs');
|
|
10
|
-
const
|
|
10
|
+
const require_connected_form_item = require('../form-item/connected-form-item.cjs');
|
|
11
|
+
require('../form-item/index.cjs');
|
|
11
12
|
const require_input = require('../input.cjs');
|
|
13
|
+
const require_extract_components = require('../../utils/extract-components.cjs');
|
|
12
14
|
const require_array_dialog = require('../array-dialog/array-dialog.cjs');
|
|
13
15
|
require('../array-dialog/index.cjs');
|
|
14
16
|
const require_array_popover = require('../array-popover/array-popover.cjs');
|
|
@@ -26,29 +28,70 @@ let __formily_react = require("@formily/react");
|
|
|
26
28
|
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
27
29
|
|
|
28
30
|
//#region src/components/schema-field/schema-field-basics.tsx
|
|
29
|
-
const
|
|
30
|
-
FormItem:
|
|
31
|
-
Hidden: require_hidden.Hidden,
|
|
32
|
-
Input:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
31
|
+
const basicComponentRegistry = {
|
|
32
|
+
FormItem: { component: require_connected_form_item.FormItem },
|
|
33
|
+
Hidden: { component: require_hidden.Hidden },
|
|
34
|
+
Input: {
|
|
35
|
+
component: require_input.Input,
|
|
36
|
+
decorator: "FormItem"
|
|
37
|
+
},
|
|
38
|
+
Textarea: {
|
|
39
|
+
component: require_textarea.Textarea,
|
|
40
|
+
decorator: "FormItem"
|
|
41
|
+
},
|
|
42
|
+
NumberInput: {
|
|
43
|
+
component: require_number_input.NumberInput,
|
|
44
|
+
decorator: "FormItem"
|
|
45
|
+
},
|
|
46
|
+
Checkbox: {
|
|
47
|
+
component: require_checkbox.Checkbox,
|
|
48
|
+
decorator: "FormItem"
|
|
49
|
+
},
|
|
50
|
+
Radio: {
|
|
51
|
+
component: require_radio.ConnectedRadio,
|
|
52
|
+
decorator: "FormItem"
|
|
53
|
+
},
|
|
54
|
+
Select: {
|
|
55
|
+
component: require_select.Select,
|
|
56
|
+
decorator: "FormItem"
|
|
57
|
+
},
|
|
58
|
+
Switch: {
|
|
59
|
+
component: require_switch.Switch,
|
|
60
|
+
decorator: "FormItem"
|
|
61
|
+
},
|
|
62
|
+
DatePicker: {
|
|
63
|
+
component: require_date_picker.DatePicker,
|
|
64
|
+
decorator: "FormItem"
|
|
65
|
+
},
|
|
66
|
+
Row: { component: require_row.Row },
|
|
67
|
+
Column: { component: require_column.Column },
|
|
68
|
+
FormGrid: { component: require_form_grid.FormGrid },
|
|
69
|
+
Separator: { component: require_separator.Separator },
|
|
70
|
+
ArrayCards: {
|
|
71
|
+
component: require_array_cards.ArrayCards,
|
|
72
|
+
decorator: "FormItem"
|
|
73
|
+
},
|
|
74
|
+
ArrayDialog: {
|
|
75
|
+
component: require_array_dialog.ArrayDialog,
|
|
76
|
+
decorator: "FormItem"
|
|
77
|
+
},
|
|
78
|
+
ArrayCollapse: {
|
|
79
|
+
component: require_array_collapse.ArrayCollapse,
|
|
80
|
+
decorator: "FormItem"
|
|
81
|
+
},
|
|
82
|
+
ArrayPopover: {
|
|
83
|
+
component: require_array_popover.ArrayPopover,
|
|
84
|
+
decorator: "FormItem"
|
|
85
|
+
},
|
|
86
|
+
ObjectContainer: {
|
|
87
|
+
component: require_object_container.ObjectContainer,
|
|
88
|
+
decorator: "FormItem"
|
|
89
|
+
}
|
|
49
90
|
};
|
|
50
|
-
const
|
|
91
|
+
const basicComponents = require_extract_components.extractComponents(basicComponentRegistry);
|
|
92
|
+
const SchemaFieldBasics = (0, __formily_react.createSchemaField)({ components: basicComponents });
|
|
51
93
|
|
|
52
94
|
//#endregion
|
|
53
95
|
exports.SchemaFieldBasics = SchemaFieldBasics;
|
|
54
|
-
exports.
|
|
96
|
+
exports.basicComponentRegistry = basicComponentRegistry;
|
|
97
|
+
exports.basicComponents = basicComponents;
|