@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
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
import { Combobox as Combobox$1 } from "../combobox.js";
|
|
2
|
+
import { extractComponents } from "../../utils/extract-components.js";
|
|
2
3
|
import { Slider as Slider$1 } from "../slider.js";
|
|
3
4
|
import { TagsInputInLine } from "../tags-input-inline.js";
|
|
4
|
-
import {
|
|
5
|
+
import { basicComponentRegistry } from "./schema-field-basics.js";
|
|
5
6
|
import { createSchemaField } from "@formily/react";
|
|
6
7
|
import { TagsInput } from "@pixpilot/shadcn-ui";
|
|
7
8
|
|
|
8
9
|
//#region src/components/schema-field/schema-field.tsx
|
|
9
|
-
const
|
|
10
|
-
...
|
|
11
|
-
Combobox:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
const defaultComponentRegistry = {
|
|
11
|
+
...basicComponentRegistry,
|
|
12
|
+
Combobox: {
|
|
13
|
+
component: Combobox$1,
|
|
14
|
+
decorator: "FormItem"
|
|
15
|
+
},
|
|
16
|
+
TagsInput: {
|
|
17
|
+
component: TagsInput,
|
|
18
|
+
decorator: "FormItem"
|
|
19
|
+
},
|
|
20
|
+
TagsInputInLine: {
|
|
21
|
+
component: TagsInputInLine,
|
|
22
|
+
decorator: "FormItem"
|
|
23
|
+
},
|
|
24
|
+
Slider: {
|
|
25
|
+
component: Slider$1,
|
|
26
|
+
decorator: "FormItem"
|
|
27
|
+
}
|
|
15
28
|
};
|
|
16
|
-
const
|
|
29
|
+
const defaultComponents = extractComponents(defaultComponentRegistry);
|
|
30
|
+
const SchemaField = createSchemaField({ components: defaultComponents });
|
|
17
31
|
|
|
18
32
|
//#endregion
|
|
19
|
-
export { SchemaField,
|
|
33
|
+
export { SchemaField, defaultComponentRegistry, defaultComponents };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react14 from "react";
|
|
2
2
|
import * as _radix_ui_react_separator0 from "@radix-ui/react-separator";
|
|
3
3
|
|
|
4
4
|
//#region src/components/separator.d.ts
|
|
@@ -6,6 +6,6 @@ import * as _radix_ui_react_separator0 from "@radix-ui/react-separator";
|
|
|
6
6
|
* Formily-connected Separator component
|
|
7
7
|
* A visual divider for content sections
|
|
8
8
|
*/
|
|
9
|
-
declare const Separator:
|
|
9
|
+
declare const Separator: react14.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_separator0.SeparatorProps & react14.RefAttributes<HTMLDivElement>>, "ref"> & react14.RefAttributes<unknown>>;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { Separator };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react18 from "react";
|
|
2
2
|
import * as _radix_ui_react_separator0 from "@radix-ui/react-separator";
|
|
3
3
|
|
|
4
4
|
//#region src/components/separator.d.ts
|
|
@@ -6,6 +6,6 @@ import * as _radix_ui_react_separator0 from "@radix-ui/react-separator";
|
|
|
6
6
|
* Formily-connected Separator component
|
|
7
7
|
* A visual divider for content sections
|
|
8
8
|
*/
|
|
9
|
-
declare const Separator:
|
|
9
|
+
declare const Separator: react18.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_separator0.SeparatorProps & react18.RefAttributes<HTMLDivElement>>, "ref"> & react18.RefAttributes<unknown>>;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { Separator };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react17 from "react";
|
|
2
2
|
import { SliderProps } from "@pixpilot/shadcn-ui";
|
|
3
3
|
|
|
4
4
|
//#region src/components/slider.d.ts
|
|
@@ -7,6 +7,6 @@ import { SliderProps } from "@pixpilot/shadcn-ui";
|
|
|
7
7
|
* Formily-connected Slider component
|
|
8
8
|
* Range input for selecting numeric values
|
|
9
9
|
*/
|
|
10
|
-
declare const Slider:
|
|
10
|
+
declare const Slider: react17.ForwardRefExoticComponent<Omit<Partial<SliderProps>, "ref"> & react17.RefAttributes<unknown>>;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { Slider };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react21 from "react";
|
|
2
2
|
import { SliderProps } from "@pixpilot/shadcn-ui";
|
|
3
3
|
|
|
4
4
|
//#region src/components/slider.d.ts
|
|
@@ -7,6 +7,6 @@ import { SliderProps } from "@pixpilot/shadcn-ui";
|
|
|
7
7
|
* Formily-connected Slider component
|
|
8
8
|
* Range input for selecting numeric values
|
|
9
9
|
*/
|
|
10
|
-
declare const Slider$1:
|
|
10
|
+
declare const Slider$1: react21.ForwardRefExoticComponent<Omit<Partial<SliderProps>, "ref"> & react21.RefAttributes<unknown>>;
|
|
11
11
|
//#endregion
|
|
12
12
|
export { Slider$1 as Slider };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react19 from "react";
|
|
2
2
|
import * as _radix_ui_react_switch0 from "@radix-ui/react-switch";
|
|
3
3
|
|
|
4
4
|
//#region src/components/switch.d.ts
|
|
@@ -6,6 +6,6 @@ import * as _radix_ui_react_switch0 from "@radix-ui/react-switch";
|
|
|
6
6
|
* Formily-connected Switch component
|
|
7
7
|
* Toggle switch for boolean values
|
|
8
8
|
*/
|
|
9
|
-
declare const Switch:
|
|
9
|
+
declare const Switch: react19.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_switch0.SwitchProps & react19.RefAttributes<HTMLButtonElement>>, "ref"> & react19.RefAttributes<unknown>>;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { Switch };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react25 from "react";
|
|
2
2
|
import * as _radix_ui_react_switch0 from "@radix-ui/react-switch";
|
|
3
3
|
|
|
4
4
|
//#region src/components/switch.d.ts
|
|
@@ -6,6 +6,6 @@ import * as _radix_ui_react_switch0 from "@radix-ui/react-switch";
|
|
|
6
6
|
* Formily-connected Switch component
|
|
7
7
|
* Toggle switch for boolean values
|
|
8
8
|
*/
|
|
9
|
-
declare const Switch:
|
|
9
|
+
declare const Switch: react25.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_switch0.SwitchProps & react25.RefAttributes<HTMLButtonElement>>, "ref"> & react25.RefAttributes<unknown>>;
|
|
10
10
|
//#endregion
|
|
11
11
|
export { Switch };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react22 from "react";
|
|
2
2
|
import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
|
|
3
3
|
|
|
4
4
|
//#region src/components/tags-input-inline.d.ts
|
|
@@ -10,6 +10,6 @@ import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
|
|
|
10
10
|
* Based on DiceUI's tags-input for inline tag editing with keyboard navigation
|
|
11
11
|
* and validation support.
|
|
12
12
|
*/
|
|
13
|
-
declare const TagsInputInLine:
|
|
13
|
+
declare const TagsInputInLine: react22.ForwardRefExoticComponent<Partial<_pixpilot_shadcn_ui0.TagsInputProps> & react22.RefAttributes<unknown>>;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { TagsInputInLine };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react23 from "react";
|
|
2
2
|
import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
|
|
3
3
|
|
|
4
4
|
//#region src/components/tags-input-inline.d.ts
|
|
@@ -10,6 +10,6 @@ import * as _pixpilot_shadcn_ui0 from "@pixpilot/shadcn-ui";
|
|
|
10
10
|
* Based on DiceUI's tags-input for inline tag editing with keyboard navigation
|
|
11
11
|
* and validation support.
|
|
12
12
|
*/
|
|
13
|
-
declare const TagsInputInLine:
|
|
13
|
+
declare const TagsInputInLine: react23.ForwardRefExoticComponent<Partial<_pixpilot_shadcn_ui0.TagsInputProps> & react23.RefAttributes<unknown>>;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { TagsInputInLine };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react24 from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/components/textarea.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Formily-connected Textarea component
|
|
6
6
|
*/
|
|
7
|
-
declare const Textarea:
|
|
7
|
+
declare const Textarea: react24.ForwardRefExoticComponent<Omit<Partial<react24.ClassAttributes<HTMLTextAreaElement> & react24.TextareaHTMLAttributes<HTMLTextAreaElement>>, "ref"> & react24.RefAttributes<unknown>>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { Textarea };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react0 from "react";
|
|
2
2
|
|
|
3
3
|
//#region src/components/textarea.d.ts
|
|
4
4
|
/**
|
|
5
5
|
* Formily-connected Textarea component
|
|
6
6
|
*/
|
|
7
|
-
declare const Textarea:
|
|
7
|
+
declare const Textarea: react0.ForwardRefExoticComponent<Omit<Partial<react0.ClassAttributes<HTMLTextAreaElement> & react0.TextareaHTMLAttributes<HTMLTextAreaElement>>, "ref"> & react0.RefAttributes<unknown>>;
|
|
8
8
|
//#endregion
|
|
9
9
|
export { Textarea };
|
package/dist/index.cjs
CHANGED
|
@@ -14,7 +14,8 @@ const require_file_upload_inline = require('./components/file-upload/file-upload
|
|
|
14
14
|
require('./components/file-upload/index.cjs');
|
|
15
15
|
const require_form = require('./components/form.cjs');
|
|
16
16
|
const require_form_grid = require('./components/form-grid.cjs');
|
|
17
|
-
const
|
|
17
|
+
const require_connected_form_item = require('./components/form-item/connected-form-item.cjs');
|
|
18
|
+
require('./components/form-item/index.cjs');
|
|
18
19
|
const require_icon_picker = require('./components/icon-picker.cjs');
|
|
19
20
|
const require_input = require('./components/input.cjs');
|
|
20
21
|
const require_slider = require('./components/slider.cjs');
|
|
@@ -31,7 +32,11 @@ const require_schema_field = require('./components/schema-field/schema-field.cjs
|
|
|
31
32
|
const require_rich_text_editor = require('./components/rich-text-editor.cjs');
|
|
32
33
|
const require_schema_field_extended = require('./components/schema-field/schema-field-extended.cjs');
|
|
33
34
|
require('./components/schema-field/index.cjs');
|
|
34
|
-
const require_json_schema_form_renderer = require('./components/json-schema-form-renderer.cjs');
|
|
35
|
+
const require_json_schema_form_renderer = require('./components/json-schema-form-renderer/json-schema-form-renderer.cjs');
|
|
36
|
+
const require_json_schema_form = require('./components/json-schema-form-renderer/json-schema-form.cjs');
|
|
37
|
+
const require_json_schema_form_basic = require('./components/json-schema-form-renderer/json-schema-form-basic.cjs');
|
|
38
|
+
const require_json_schema_form_extended = require('./components/json-schema-form-renderer/json-schema-form-extended.cjs');
|
|
39
|
+
require('./components/json-schema-form-renderer/index.cjs');
|
|
35
40
|
let __formily_react = require("@formily/react");
|
|
36
41
|
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
37
42
|
let __formily_core = require("@formily/core");
|
|
@@ -61,7 +66,7 @@ Object.defineProperty(exports, 'FormConsumer', {
|
|
|
61
66
|
}
|
|
62
67
|
});
|
|
63
68
|
exports.FormGrid = require_form_grid.FormGrid;
|
|
64
|
-
exports.FormItem =
|
|
69
|
+
exports.FormItem = require_connected_form_item.FormItem;
|
|
65
70
|
Object.defineProperty(exports, 'FormProvider', {
|
|
66
71
|
enumerable: true,
|
|
67
72
|
get: function () {
|
|
@@ -70,6 +75,9 @@ Object.defineProperty(exports, 'FormProvider', {
|
|
|
70
75
|
});
|
|
71
76
|
exports.IconPicker = require_icon_picker.IconPicker;
|
|
72
77
|
exports.Input = require_input.Input;
|
|
78
|
+
exports.JsonSchemaForm = require_json_schema_form.JsonSchemaForm;
|
|
79
|
+
exports.JsonSchemaFormBasic = require_json_schema_form_basic.JsonSchemaFormBasic;
|
|
80
|
+
exports.JsonSchemaFormExtended = require_json_schema_form_extended.JsonSchemaFormExtended;
|
|
73
81
|
exports.JsonSchemaFormRenderer = require_json_schema_form_renderer.JsonSchemaFormRenderer;
|
|
74
82
|
exports.NumberInput = require_number_input.NumberInput;
|
|
75
83
|
Object.defineProperty(exports, 'ObjectField', {
|
|
@@ -96,12 +104,15 @@ Object.defineProperty(exports, 'VoidField', {
|
|
|
96
104
|
return __formily_react.VoidField;
|
|
97
105
|
}
|
|
98
106
|
});
|
|
107
|
+
exports.basicComponentRegistry = require_schema_field_basics.basicComponentRegistry;
|
|
108
|
+
exports.basicComponents = require_schema_field_basics.basicComponents;
|
|
99
109
|
Object.defineProperty(exports, 'createForm', {
|
|
100
110
|
enumerable: true,
|
|
101
111
|
get: function () {
|
|
102
112
|
return __formily_core.createForm;
|
|
103
113
|
}
|
|
104
114
|
});
|
|
105
|
-
exports.
|
|
106
|
-
exports.
|
|
107
|
-
exports.
|
|
115
|
+
exports.defaultComponentRegistry = require_schema_field.defaultComponentRegistry;
|
|
116
|
+
exports.defaultComponents = require_schema_field.defaultComponents;
|
|
117
|
+
exports.extendedComponentRegistry = require_schema_field_extended.extendedComponentRegistry;
|
|
118
|
+
exports.extendedComponents = require_schema_field_extended.extendedComponents;
|
package/dist/index.d.cts
CHANGED
|
@@ -8,23 +8,31 @@ import "./components/array-collapse/index.cjs";
|
|
|
8
8
|
import { Checkbox } from "./components/checkbox.cjs";
|
|
9
9
|
import { Column } from "./components/column.cjs";
|
|
10
10
|
import { Combobox } from "./components/combobox.cjs";
|
|
11
|
+
import { FormLayoutOptions } from "./components/context/form-context.cjs";
|
|
12
|
+
import "./components/context/index.cjs";
|
|
11
13
|
import { DatePicker } from "./components/date-picker.cjs";
|
|
12
14
|
import { FileUpload } from "./components/file-upload/file-upload.cjs";
|
|
13
15
|
import { FileUploadInline } from "./components/file-upload/file-upload-inline.cjs";
|
|
14
16
|
import "./components/file-upload/index.cjs";
|
|
15
17
|
import { Form } from "./components/form.cjs";
|
|
16
18
|
import { FormGrid } from "./components/form-grid.cjs";
|
|
17
|
-
import { FormItem } from "./components/form-item.cjs";
|
|
19
|
+
import { FormItem } from "./components/form-item/connected-form-item.cjs";
|
|
20
|
+
import "./components/form-item/index.cjs";
|
|
18
21
|
import { IconPicker } from "./components/icon-picker.cjs";
|
|
19
22
|
import { Input } from "./components/input.cjs";
|
|
20
|
-
import {
|
|
23
|
+
import { JsonSchemaFormComponent, JsonSchemaFormComponents, JsonSchemaFormProps, JsonSchemaFormRendererProps } from "./components/json-schema-form-renderer/types.cjs";
|
|
24
|
+
import { JsonSchemaForm } from "./components/json-schema-form-renderer/json-schema-form.cjs";
|
|
25
|
+
import { JsonSchemaFormBasic } from "./components/json-schema-form-renderer/json-schema-form-basic.cjs";
|
|
26
|
+
import { JsonSchemaFormExtended } from "./components/json-schema-form-renderer/json-schema-form-extended.cjs";
|
|
27
|
+
import { JsonSchemaFormRenderer } from "./components/json-schema-form-renderer/json-schema-form-renderer.cjs";
|
|
28
|
+
import "./components/json-schema-form-renderer/index.cjs";
|
|
21
29
|
import { NumberInput } from "./components/number-input.cjs";
|
|
22
30
|
import { ConnectedRadio, Radio } from "./components/radio.cjs";
|
|
23
31
|
import { RichTextEditor } from "./components/rich-text-editor.cjs";
|
|
24
32
|
import { Row } from "./components/row.cjs";
|
|
25
|
-
import { SchemaField,
|
|
26
|
-
import { SchemaFieldBasics,
|
|
27
|
-
import { SchemaFieldExtended,
|
|
33
|
+
import { SchemaField, defaultComponentRegistry, defaultComponents } from "./components/schema-field/schema-field.cjs";
|
|
34
|
+
import { SchemaFieldBasics, basicComponentRegistry, basicComponents } from "./components/schema-field/schema-field-basics.cjs";
|
|
35
|
+
import { SchemaFieldExtended, extendedComponentRegistry, extendedComponents } from "./components/schema-field/schema-field-extended.cjs";
|
|
28
36
|
import "./components/schema-field/index.cjs";
|
|
29
37
|
import { Select } from "./components/select.cjs";
|
|
30
38
|
import { Separator } from "./components/separator.cjs";
|
|
@@ -34,4 +42,4 @@ import { TagsInputInLine } from "./components/tags-input-inline.cjs";
|
|
|
34
42
|
import { Textarea } from "./components/textarea.cjs";
|
|
35
43
|
import { Field, FormConsumer, FormProvider, ISchema, ObjectField, VoidField } from "@formily/react";
|
|
36
44
|
import { Form as IForm, createForm } from "@formily/core";
|
|
37
|
-
export { ArrayBase, type ArrayBaseMixins, ArrayCards, ArrayCollapse, Checkbox, Column, Combobox, ConnectedRadio, DatePicker, Field, FileUpload, FileUploadInline, Form, FormConsumer, FormGrid, FormItem, FormProvider, type IArrayBaseOperationProps, type IArrayBaseProps, type IForm, type ISchema, IconPicker, Input, JsonSchemaFormRenderer, JsonSchemaFormRendererProps, NumberInput, ObjectField, Radio, RichTextEditor, Row, SchemaField, SchemaFieldBasics, SchemaFieldExtended, Select, Separator, Slider, Switch, TagsInputInLine, Textarea, VoidField, createForm,
|
|
45
|
+
export { ArrayBase, type ArrayBaseMixins, ArrayCards, ArrayCollapse, Checkbox, Column, Combobox, ConnectedRadio, DatePicker, Field, FileUpload, FileUploadInline, Form, FormConsumer, FormGrid, FormItem, type FormLayoutOptions, FormProvider, type IArrayBaseOperationProps, type IArrayBaseProps, type IForm, type ISchema, IconPicker, Input, JsonSchemaForm, JsonSchemaFormBasic, JsonSchemaFormComponent, JsonSchemaFormComponents, JsonSchemaFormExtended, JsonSchemaFormProps, JsonSchemaFormRenderer, JsonSchemaFormRendererProps, NumberInput, ObjectField, Radio, RichTextEditor, Row, SchemaField, SchemaFieldBasics, SchemaFieldExtended, Select, Separator, Slider, Switch, TagsInputInLine, Textarea, VoidField, basicComponentRegistry, basicComponents, createForm, defaultComponentRegistry, defaultComponents, extendedComponentRegistry, extendedComponents };
|
package/dist/index.d.ts
CHANGED
|
@@ -8,23 +8,31 @@ import "./components/array-collapse/index.js";
|
|
|
8
8
|
import { Checkbox } from "./components/checkbox.js";
|
|
9
9
|
import { Column } from "./components/column.js";
|
|
10
10
|
import { Combobox } from "./components/combobox.js";
|
|
11
|
+
import { FormLayoutOptions } from "./components/context/form-context.js";
|
|
12
|
+
import "./components/context/index.js";
|
|
11
13
|
import { DatePicker } from "./components/date-picker.js";
|
|
12
14
|
import { FileUpload } from "./components/file-upload/file-upload.js";
|
|
13
15
|
import { FileUploadInline } from "./components/file-upload/file-upload-inline.js";
|
|
14
16
|
import "./components/file-upload/index.js";
|
|
15
17
|
import { Form } from "./components/form.js";
|
|
16
18
|
import { FormGrid } from "./components/form-grid.js";
|
|
17
|
-
import { FormItem } from "./components/form-item.js";
|
|
19
|
+
import { FormItem } from "./components/form-item/connected-form-item.js";
|
|
20
|
+
import "./components/form-item/index.js";
|
|
18
21
|
import { IconPicker } from "./components/icon-picker.js";
|
|
19
22
|
import { Input } from "./components/input.js";
|
|
20
|
-
import {
|
|
23
|
+
import { JsonSchemaFormComponent, JsonSchemaFormComponents, JsonSchemaFormProps, JsonSchemaFormRendererProps } from "./components/json-schema-form-renderer/types.js";
|
|
24
|
+
import { JsonSchemaForm } from "./components/json-schema-form-renderer/json-schema-form.js";
|
|
25
|
+
import { JsonSchemaFormBasic } from "./components/json-schema-form-renderer/json-schema-form-basic.js";
|
|
26
|
+
import { JsonSchemaFormExtended } from "./components/json-schema-form-renderer/json-schema-form-extended.js";
|
|
27
|
+
import { JsonSchemaFormRenderer } from "./components/json-schema-form-renderer/json-schema-form-renderer.js";
|
|
28
|
+
import "./components/json-schema-form-renderer/index.js";
|
|
21
29
|
import { NumberInput } from "./components/number-input.js";
|
|
22
30
|
import { ConnectedRadio, Radio } from "./components/radio.js";
|
|
23
31
|
import { RichTextEditor } from "./components/rich-text-editor.js";
|
|
24
32
|
import { Row } from "./components/row.js";
|
|
25
|
-
import { SchemaField,
|
|
26
|
-
import { SchemaFieldBasics,
|
|
27
|
-
import { SchemaFieldExtended,
|
|
33
|
+
import { SchemaField, defaultComponentRegistry, defaultComponents } from "./components/schema-field/schema-field.js";
|
|
34
|
+
import { SchemaFieldBasics, basicComponentRegistry, basicComponents } from "./components/schema-field/schema-field-basics.js";
|
|
35
|
+
import { SchemaFieldExtended, extendedComponentRegistry, extendedComponents } from "./components/schema-field/schema-field-extended.js";
|
|
28
36
|
import "./components/schema-field/index.js";
|
|
29
37
|
import { Select } from "./components/select.js";
|
|
30
38
|
import { Separator } from "./components/separator.js";
|
|
@@ -34,4 +42,4 @@ import { TagsInputInLine } from "./components/tags-input-inline.js";
|
|
|
34
42
|
import { Textarea } from "./components/textarea.js";
|
|
35
43
|
import { Field, FormConsumer, FormProvider, ISchema, ObjectField, VoidField } from "@formily/react";
|
|
36
44
|
import { Form as IForm, createForm } from "@formily/core";
|
|
37
|
-
export { ArrayBase, type ArrayBaseMixins, ArrayCards, ArrayCollapse, Checkbox, Column, Combobox, ConnectedRadio, DatePicker, Field, FileUpload, FileUploadInline, Form, FormConsumer, FormGrid, FormItem, FormProvider, type IArrayBaseOperationProps, type IArrayBaseProps, type IForm, type ISchema, IconPicker, Input, JsonSchemaFormRenderer, JsonSchemaFormRendererProps, NumberInput, ObjectField, Radio, RichTextEditor, Row, SchemaField, SchemaFieldBasics, SchemaFieldExtended, Select, Separator, Slider, Switch, TagsInputInLine, Textarea, VoidField, createForm,
|
|
45
|
+
export { ArrayBase, type ArrayBaseMixins, ArrayCards, ArrayCollapse, Checkbox, Column, Combobox, ConnectedRadio, DatePicker, Field, FileUpload, FileUploadInline, Form, FormConsumer, FormGrid, FormItem, type FormLayoutOptions, FormProvider, type IArrayBaseOperationProps, type IArrayBaseProps, type IForm, type ISchema, IconPicker, Input, JsonSchemaForm, JsonSchemaFormBasic, JsonSchemaFormComponent, JsonSchemaFormComponents, JsonSchemaFormExtended, JsonSchemaFormProps, JsonSchemaFormRenderer, JsonSchemaFormRendererProps, NumberInput, ObjectField, Radio, RichTextEditor, Row, SchemaField, SchemaFieldBasics, SchemaFieldExtended, Select, Separator, Slider, Switch, TagsInputInLine, Textarea, VoidField, basicComponentRegistry, basicComponents, createForm, defaultComponentRegistry, defaultComponents, extendedComponentRegistry, extendedComponents };
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,8 @@ import { FileUploadInline } from "./components/file-upload/file-upload-inline.js
|
|
|
13
13
|
import "./components/file-upload/index.js";
|
|
14
14
|
import { Form } from "./components/form.js";
|
|
15
15
|
import { FormGrid } from "./components/form-grid.js";
|
|
16
|
-
import { FormItem } from "./components/form-item.js";
|
|
16
|
+
import { FormItem } from "./components/form-item/connected-form-item.js";
|
|
17
|
+
import "./components/form-item/index.js";
|
|
17
18
|
import { IconPicker } from "./components/icon-picker.js";
|
|
18
19
|
import { Input } from "./components/input.js";
|
|
19
20
|
import { Slider } from "./components/slider.js";
|
|
@@ -25,13 +26,17 @@ import { Select } from "./components/select.js";
|
|
|
25
26
|
import { Separator } from "./components/separator.js";
|
|
26
27
|
import { Switch } from "./components/switch.js";
|
|
27
28
|
import { Textarea } from "./components/textarea.js";
|
|
28
|
-
import { SchemaFieldBasics,
|
|
29
|
-
import { SchemaField,
|
|
29
|
+
import { SchemaFieldBasics, basicComponentRegistry, basicComponents } from "./components/schema-field/schema-field-basics.js";
|
|
30
|
+
import { SchemaField, defaultComponentRegistry, defaultComponents } from "./components/schema-field/schema-field.js";
|
|
30
31
|
import { RichTextEditor } from "./components/rich-text-editor.js";
|
|
31
|
-
import { SchemaFieldExtended,
|
|
32
|
+
import { SchemaFieldExtended, extendedComponentRegistry, extendedComponents } from "./components/schema-field/schema-field-extended.js";
|
|
32
33
|
import "./components/schema-field/index.js";
|
|
33
|
-
import { JsonSchemaFormRenderer } from "./components/json-schema-form-renderer.js";
|
|
34
|
+
import { JsonSchemaFormRenderer } from "./components/json-schema-form-renderer/json-schema-form-renderer.js";
|
|
35
|
+
import { JsonSchemaForm } from "./components/json-schema-form-renderer/json-schema-form.js";
|
|
36
|
+
import { JsonSchemaFormBasic } from "./components/json-schema-form-renderer/json-schema-form-basic.js";
|
|
37
|
+
import { JsonSchemaFormExtended } from "./components/json-schema-form-renderer/json-schema-form-extended.js";
|
|
38
|
+
import "./components/json-schema-form-renderer/index.js";
|
|
34
39
|
import { Field, FormConsumer, FormProvider, ObjectField, VoidField } from "@formily/react";
|
|
35
40
|
import { createForm } from "@formily/core";
|
|
36
41
|
|
|
37
|
-
export { ArrayBase, ArrayCards, ArrayCollapse, Checkbox, Column, Combobox, ConnectedRadio, DatePicker, Field, FileUpload, FileUploadInline, Form, FormConsumer, FormGrid, FormItem, FormProvider, IconPicker, Input, JsonSchemaFormRenderer, NumberInput, ObjectField, Radio, RichTextEditor, Row, SchemaField, SchemaFieldBasics, SchemaFieldExtended, Select, Separator, Slider, Switch, TagsInputInLine, Textarea, VoidField, createForm,
|
|
42
|
+
export { ArrayBase, ArrayCards, ArrayCollapse, Checkbox, Column, Combobox, ConnectedRadio, DatePicker, Field, FileUpload, FileUploadInline, Form, FormConsumer, FormGrid, FormItem, FormProvider, IconPicker, Input, JsonSchemaForm, JsonSchemaFormBasic, JsonSchemaFormExtended, JsonSchemaFormRenderer, NumberInput, ObjectField, Radio, RichTextEditor, Row, SchemaField, SchemaFieldBasics, SchemaFieldExtended, Select, Separator, Slider, Switch, TagsInputInLine, Textarea, VoidField, basicComponentRegistry, basicComponents, createForm, defaultComponentRegistry, defaultComponents, extendedComponentRegistry, extendedComponents };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/utils/extract-components.ts
|
|
3
|
+
/**
|
|
4
|
+
* Extracts React components from FormComponentConfig records
|
|
5
|
+
*/
|
|
6
|
+
function extractComponents(configs) {
|
|
7
|
+
return Object.fromEntries(Object.entries(configs).map(([key, config]) => [key, config.component]));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
exports.extractComponents = extractComponents;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/utils/extract-components.ts
|
|
2
|
+
/**
|
|
3
|
+
* Extracts React components from FormComponentConfig records
|
|
4
|
+
*/
|
|
5
|
+
function extractComponents(configs) {
|
|
6
|
+
return Object.fromEntries(Object.entries(configs).map(([key, config]) => [key, config.component]));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { extractComponents };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixpilot/formily-shadcn",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.11.1",
|
|
5
5
|
"description": "Formily integration for shadcn/ui components",
|
|
6
6
|
"author": "m.doaie <m.doaie@hotmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
"@iconify-json/fa": "^1.2.2",
|
|
36
36
|
"@iconify-json/mdi": "^1.2.3",
|
|
37
37
|
"@iconify/react": "^6.0.2",
|
|
38
|
-
"@pixpilot/env": "^0.2.
|
|
38
|
+
"@pixpilot/env": "^0.2.2",
|
|
39
39
|
"@pixpilot/string": "^2.3.0",
|
|
40
40
|
"json-schema-traverse": "^1.0.0",
|
|
41
41
|
"lucide-react": "^0.554.0",
|
|
42
42
|
"pretty-bytes": "^7.1.0",
|
|
43
|
-
"@pixpilot/shadcn
|
|
44
|
-
"@pixpilot/shadcn": "0.
|
|
43
|
+
"@pixpilot/shadcn": "0.4.0",
|
|
44
|
+
"@pixpilot/shadcn-ui": "0.5.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@storybook/react": "^10.1.8",
|
|
@@ -54,11 +54,11 @@
|
|
|
54
54
|
"react-dom": "19.2.0",
|
|
55
55
|
"tsdown": "^0.15.12",
|
|
56
56
|
"typescript": "^5.9.3",
|
|
57
|
-
"@internal/eslint-config": "0.3.0",
|
|
58
|
-
"@internal/prettier-config": "0.0.1",
|
|
59
57
|
"@internal/tsconfig": "0.1.0",
|
|
60
58
|
"@internal/tsdown-config": "0.1.0",
|
|
61
|
-
"@internal/vitest-config": "0.1.0"
|
|
59
|
+
"@internal/vitest-config": "0.1.0",
|
|
60
|
+
"@internal/eslint-config": "0.3.0",
|
|
61
|
+
"@internal/prettier-config": "0.0.1"
|
|
62
62
|
},
|
|
63
63
|
"prettier": "@internal/prettier-config",
|
|
64
64
|
"scripts": {
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_use_form_context = require('../hooks/use-form-context.cjs');
|
|
3
|
-
const require_use_label = require('../hooks/use-label.cjs');
|
|
4
|
-
require('../hooks/index.cjs');
|
|
5
|
-
let __formily_react = require("@formily/react");
|
|
6
|
-
__formily_react = require_rolldown_runtime.__toESM(__formily_react);
|
|
7
|
-
let react = require("react");
|
|
8
|
-
react = require_rolldown_runtime.__toESM(react);
|
|
9
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
10
|
-
react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
|
|
11
|
-
let __pixpilot_shadcn = require("@pixpilot/shadcn");
|
|
12
|
-
__pixpilot_shadcn = require_rolldown_runtime.__toESM(__pixpilot_shadcn);
|
|
13
|
-
let __formily_core = require("@formily/core");
|
|
14
|
-
__formily_core = require_rolldown_runtime.__toESM(__formily_core);
|
|
15
|
-
|
|
16
|
-
//#region src/components/form-item.tsx
|
|
17
|
-
const BaseFormItem = ({ className, children, label, description, asterisk, feedbackStatus, feedbackText, labelPlacement = "top",...props }) => {
|
|
18
|
-
const field = (0, __formily_react.useField)();
|
|
19
|
-
const fieldProps = field?.componentProps ?? {};
|
|
20
|
-
const effectiveLabel = require_use_label.useLabel(label);
|
|
21
|
-
const { itemProps } = require_use_form_context.useFormContext();
|
|
22
|
-
const { className: itemPropsClassName } = itemProps || {};
|
|
23
|
-
const effectiveLabelPlacement = fieldProps.labelPlacement ?? labelPlacement;
|
|
24
|
-
const id = field?.componentProps?.id ?? `form-${field?.address?.toString()?.replace(/\./gu, "-")}`;
|
|
25
|
-
const descriptionId = react.default.useId();
|
|
26
|
-
const feedbackId = react.default.useId();
|
|
27
|
-
const ariaDescribedBy = [description != null ? descriptionId : void 0, feedbackText != null ? feedbackId : void 0].filter(Boolean).join(" ");
|
|
28
|
-
const labelElement = effectiveLabel != null && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
29
|
-
htmlFor: id,
|
|
30
|
-
"data-slot": "form-label",
|
|
31
|
-
"data-error": Boolean(feedbackStatus === "error"),
|
|
32
|
-
className: (0, __pixpilot_shadcn.cn)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70", feedbackStatus === "error" && "text-destructive", (effectiveLabelPlacement === "end" || effectiveLabelPlacement === "start") && "shrink-0"),
|
|
33
|
-
children: [effectiveLabel, asterisk && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
34
|
-
className: "text-destructive ml-1",
|
|
35
|
-
"aria-label": "required",
|
|
36
|
-
children: "*"
|
|
37
|
-
})]
|
|
38
|
-
});
|
|
39
|
-
const inputElement = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
40
|
-
className: "relative",
|
|
41
|
-
children: react.default.isValidElement(children) ? react.default.cloneElement(children, {
|
|
42
|
-
id,
|
|
43
|
-
"aria-describedby": ariaDescribedBy || void 0,
|
|
44
|
-
"aria-invalid": feedbackStatus === "error" ? "true" : void 0
|
|
45
|
-
}) : children
|
|
46
|
-
});
|
|
47
|
-
const contentElement = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
|
|
48
|
-
effectiveLabelPlacement === "top" && labelElement,
|
|
49
|
-
description != null && effectiveLabelPlacement === "top" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
50
|
-
id: descriptionId,
|
|
51
|
-
className: "text-muted-foreground text-[0.8rem]",
|
|
52
|
-
children: description
|
|
53
|
-
}),
|
|
54
|
-
(effectiveLabelPlacement === "start" || effectiveLabelPlacement === "end") && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
55
|
-
className: (0, __pixpilot_shadcn.cn)("flex items-center gap-2", effectiveLabelPlacement === "start" && "flex-row"),
|
|
56
|
-
children: [
|
|
57
|
-
effectiveLabelPlacement === "start" && labelElement,
|
|
58
|
-
inputElement,
|
|
59
|
-
effectiveLabelPlacement === "end" && labelElement
|
|
60
|
-
]
|
|
61
|
-
}),
|
|
62
|
-
effectiveLabelPlacement === "top" && inputElement,
|
|
63
|
-
description != null && (effectiveLabelPlacement === "start" || effectiveLabelPlacement === "end") && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
64
|
-
id: descriptionId,
|
|
65
|
-
className: "text-muted-foreground text-[0.8rem]",
|
|
66
|
-
children: description
|
|
67
|
-
})
|
|
68
|
-
] });
|
|
69
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
70
|
-
"data-slot": "form-item",
|
|
71
|
-
className: (0, __pixpilot_shadcn.cn)("flex flex-col gap-2", itemPropsClassName, className),
|
|
72
|
-
...props,
|
|
73
|
-
children: [contentElement, Boolean(feedbackText) && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
74
|
-
id: feedbackId,
|
|
75
|
-
className: (0, __pixpilot_shadcn.cn)("text-[0.8rem]", feedbackStatus === "error" && "text-destructive font-medium", feedbackStatus === "warning" && "text-amber-600", feedbackStatus === "success" && "text-green-600"),
|
|
76
|
-
children: typeof feedbackText === "string" ? feedbackText.split("\n").map((line, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react.default.Fragment, { children: [line, index < feedbackText.split("\n").length - 1 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("br", {})] }, index)) : feedbackText
|
|
77
|
-
})]
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
/**
|
|
81
|
-
* FormItem component connected to Formily field state
|
|
82
|
-
* Automatically maps field validation state to component props
|
|
83
|
-
*/
|
|
84
|
-
const FormItem = (0, __formily_react.connect)(BaseFormItem, (0, __formily_react.mapProps)((props, field) => {
|
|
85
|
-
if ((0, __formily_core.isVoidField)(field)) return {
|
|
86
|
-
label: field.title ?? props.label,
|
|
87
|
-
description: props.description ?? field.description,
|
|
88
|
-
asterisk: props.asterisk
|
|
89
|
-
};
|
|
90
|
-
const takeFeedbackStatus = () => {
|
|
91
|
-
if (field.validating) return void 0;
|
|
92
|
-
if (field.selfErrors?.length) return "error";
|
|
93
|
-
if (field.selfWarnings?.length) return "warning";
|
|
94
|
-
if (field.selfSuccesses?.length) return "success";
|
|
95
|
-
};
|
|
96
|
-
const takeFeedbackText = () => {
|
|
97
|
-
if (field.validating) return void 0;
|
|
98
|
-
if (props.feedbackText != null) return props.feedbackText;
|
|
99
|
-
if (field.selfErrors?.length) return field.selfErrors.join(", ");
|
|
100
|
-
if (field.selfWarnings?.length) return field.selfWarnings.join(", ");
|
|
101
|
-
if (field.selfSuccesses?.length) return field.selfSuccesses.join(", ");
|
|
102
|
-
};
|
|
103
|
-
const takeAsterisk = () => {
|
|
104
|
-
if (field.required && field.pattern !== "readPretty") return true;
|
|
105
|
-
if ("asterisk" in props) return Boolean(props.asterisk);
|
|
106
|
-
return false;
|
|
107
|
-
};
|
|
108
|
-
return {
|
|
109
|
-
label: props.label ?? field.title,
|
|
110
|
-
description: props.description ?? field.description,
|
|
111
|
-
feedbackStatus: takeFeedbackStatus(),
|
|
112
|
-
feedbackText: takeFeedbackText(),
|
|
113
|
-
asterisk: takeAsterisk()
|
|
114
|
-
};
|
|
115
|
-
}));
|
|
116
|
-
|
|
117
|
-
//#endregion
|
|
118
|
-
exports.FormItem = FormItem;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { SyncReactNode } from "../types/react.cjs";
|
|
2
|
-
import React from "react";
|
|
3
|
-
|
|
4
|
-
//#region src/components/form-item.d.ts
|
|
5
|
-
type LabelPlacement = 'top' | 'bottom' | 'start' | 'end';
|
|
6
|
-
interface FormItemProps extends React.ComponentProps<'div'> {
|
|
7
|
-
label?: SyncReactNode;
|
|
8
|
-
description?: SyncReactNode;
|
|
9
|
-
asterisk?: boolean;
|
|
10
|
-
feedbackStatus?: 'error' | 'warning' | 'success';
|
|
11
|
-
feedbackText?: SyncReactNode;
|
|
12
|
-
labelPlacement?: LabelPlacement;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* FormItem component connected to Formily field state
|
|
16
|
-
* Automatically maps field validation state to component props
|
|
17
|
-
*/
|
|
18
|
-
declare const FormItem: React.ForwardRefExoticComponent<Omit<Partial<FormItemProps & {
|
|
19
|
-
children?: React.ReactNode | undefined;
|
|
20
|
-
}>, "ref"> & React.RefAttributes<unknown>>;
|
|
21
|
-
//#endregion
|
|
22
|
-
export { FormItem, FormItemProps };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { SyncReactNode } from "../types/react.js";
|
|
2
|
-
import React from "react";
|
|
3
|
-
|
|
4
|
-
//#region src/components/form-item.d.ts
|
|
5
|
-
type LabelPlacement = 'top' | 'bottom' | 'start' | 'end';
|
|
6
|
-
interface FormItemProps extends React.ComponentProps<'div'> {
|
|
7
|
-
label?: SyncReactNode;
|
|
8
|
-
description?: SyncReactNode;
|
|
9
|
-
asterisk?: boolean;
|
|
10
|
-
feedbackStatus?: 'error' | 'warning' | 'success';
|
|
11
|
-
feedbackText?: SyncReactNode;
|
|
12
|
-
labelPlacement?: LabelPlacement;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* FormItem component connected to Formily field state
|
|
16
|
-
* Automatically maps field validation state to component props
|
|
17
|
-
*/
|
|
18
|
-
declare const FormItem: React.ForwardRefExoticComponent<Omit<Partial<FormItemProps & {
|
|
19
|
-
children?: React.ReactNode | undefined;
|
|
20
|
-
}>, "ref"> & React.RefAttributes<unknown>>;
|
|
21
|
-
//#endregion
|
|
22
|
-
export { FormItem, FormItemProps };
|