@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.
Files changed (116) hide show
  1. package/README.md +27 -1
  2. package/dist/components/checkbox.d.cts +2 -2
  3. package/dist/components/checkbox.d.ts +2 -2
  4. package/dist/components/column.d.ts +2 -2
  5. package/dist/components/context/context.d.cts +1 -1
  6. package/dist/components/context/context.d.ts +1 -1
  7. package/dist/components/context/form-context.d.cts +34 -5
  8. package/dist/components/context/form-context.d.ts +34 -5
  9. package/dist/components/context/index.d.cts +1 -1
  10. package/dist/components/context/index.d.ts +1 -1
  11. package/dist/components/date-picker.d.cts +3 -3
  12. package/dist/components/date-picker.d.ts +3 -3
  13. package/dist/components/file-upload/file-upload-inline.d.cts +8 -8
  14. package/dist/components/file-upload/file-upload-inline.d.ts +8 -8
  15. package/dist/components/file-upload/file-upload.d.cts +8 -8
  16. package/dist/components/file-upload/file-upload.d.ts +8 -8
  17. package/dist/components/form-grid.d.ts +2 -2
  18. package/dist/components/form-item/base-form-item.cjs +85 -0
  19. package/dist/components/form-item/base-form-item.d.cts +2 -0
  20. package/dist/components/form-item/base-form-item.d.ts +2 -0
  21. package/dist/components/form-item/base-form-item.js +80 -0
  22. package/dist/components/form-item/connected-form-item.cjs +47 -0
  23. package/dist/components/form-item/connected-form-item.d.cts +13 -0
  24. package/dist/components/form-item/connected-form-item.d.ts +13 -0
  25. package/dist/components/form-item/connected-form-item.js +44 -0
  26. package/dist/components/form-item/form-item-description-popover.cjs +42 -0
  27. package/dist/components/form-item/form-item-description-popover.js +37 -0
  28. package/dist/components/form-item/form-item-label.cjs +29 -0
  29. package/dist/components/form-item/form-item-label.js +25 -0
  30. package/dist/components/form-item/form-item-types.d.cts +23 -0
  31. package/dist/components/form-item/form-item-types.d.ts +23 -0
  32. package/dist/components/form-item/form-item.cjs +2 -0
  33. package/dist/components/form-item/form-item.d.cts +4 -0
  34. package/dist/components/form-item/form-item.d.ts +4 -0
  35. package/dist/components/form-item/form-item.js +2 -0
  36. package/dist/components/form-item/index.cjs +3 -0
  37. package/dist/components/form-item/index.d.cts +4 -0
  38. package/dist/components/form-item/index.d.ts +4 -0
  39. package/dist/components/form-item/index.js +3 -0
  40. package/dist/components/form-item/spacing-config.cjs +24 -0
  41. package/dist/components/form-item/spacing-config.js +23 -0
  42. package/dist/components/form-items-container.cjs +2 -1
  43. package/dist/components/form-items-container.js +2 -1
  44. package/dist/components/form.cjs +4 -11
  45. package/dist/components/form.d.cts +1 -3
  46. package/dist/components/form.d.ts +1 -3
  47. package/dist/components/form.js +4 -11
  48. package/dist/components/icon-picker.d.ts +3 -3
  49. package/dist/components/input.d.cts +2 -2
  50. package/dist/components/input.d.ts +2 -2
  51. package/dist/components/json-schema-form-renderer/index.cjs +4 -0
  52. package/dist/components/json-schema-form-renderer/index.d.cts +5 -0
  53. package/dist/components/json-schema-form-renderer/index.d.ts +5 -0
  54. package/dist/components/json-schema-form-renderer/index.js +4 -0
  55. package/dist/components/json-schema-form-renderer/json-schema-form-basic.cjs +35 -0
  56. package/dist/components/json-schema-form-renderer/json-schema-form-basic.d.cts +14 -0
  57. package/dist/components/json-schema-form-renderer/json-schema-form-basic.d.ts +14 -0
  58. package/dist/components/json-schema-form-renderer/json-schema-form-basic.js +32 -0
  59. package/dist/components/json-schema-form-renderer/json-schema-form-extended.cjs +35 -0
  60. package/dist/components/json-schema-form-renderer/json-schema-form-extended.d.cts +14 -0
  61. package/dist/components/json-schema-form-renderer/json-schema-form-extended.d.ts +14 -0
  62. package/dist/components/json-schema-form-renderer/json-schema-form-extended.js +32 -0
  63. package/dist/components/{json-schema-form-renderer.cjs → json-schema-form-renderer/json-schema-form-renderer.cjs} +16 -17
  64. package/dist/components/json-schema-form-renderer/json-schema-form-renderer.d.cts +7 -0
  65. package/dist/components/json-schema-form-renderer/json-schema-form-renderer.d.ts +7 -0
  66. package/dist/components/{json-schema-form-renderer.js → json-schema-form-renderer/json-schema-form-renderer.js} +14 -15
  67. package/dist/components/json-schema-form-renderer/json-schema-form.cjs +36 -0
  68. package/dist/components/json-schema-form-renderer/json-schema-form.d.cts +14 -0
  69. package/dist/components/json-schema-form-renderer/json-schema-form.d.ts +14 -0
  70. package/dist/components/json-schema-form-renderer/json-schema-form.js +33 -0
  71. package/dist/components/json-schema-form-renderer/types.d.cts +23 -0
  72. package/dist/components/json-schema-form-renderer/types.d.ts +23 -0
  73. package/dist/components/number-input.d.cts +2 -2
  74. package/dist/components/number-input.d.ts +2 -2
  75. package/dist/components/object-container.cjs +13 -6
  76. package/dist/components/object-container.js +13 -6
  77. package/dist/components/schema-field/index.d.cts +3 -3
  78. package/dist/components/schema-field/index.d.ts +3 -3
  79. package/dist/components/schema-field/index.js +3 -3
  80. package/dist/components/schema-field/schema-field-basics.cjs +66 -23
  81. package/dist/components/schema-field/schema-field-basics.d.cts +283 -198
  82. package/dist/components/schema-field/schema-field-basics.d.ts +294 -209
  83. package/dist/components/schema-field/schema-field-basics.js +65 -23
  84. package/dist/components/schema-field/schema-field-extended.cjs +23 -8
  85. package/dist/components/schema-field/schema-field-extended.d.cts +566 -431
  86. package/dist/components/schema-field/schema-field-extended.d.ts +566 -431
  87. package/dist/components/schema-field/schema-field-extended.js +23 -9
  88. package/dist/components/schema-field/schema-field.cjs +23 -8
  89. package/dist/components/schema-field/schema-field.d.cts +334 -233
  90. package/dist/components/schema-field/schema-field.d.ts +340 -239
  91. package/dist/components/schema-field/schema-field.js +23 -9
  92. package/dist/components/separator.d.cts +2 -2
  93. package/dist/components/separator.d.ts +2 -2
  94. package/dist/components/slider.d.cts +2 -2
  95. package/dist/components/slider.d.ts +2 -2
  96. package/dist/components/switch.d.cts +2 -2
  97. package/dist/components/switch.d.ts +2 -2
  98. package/dist/components/tags-input-inline.d.cts +2 -2
  99. package/dist/components/tags-input-inline.d.ts +2 -2
  100. package/dist/components/textarea.d.cts +2 -2
  101. package/dist/components/textarea.d.ts +2 -2
  102. package/dist/index.cjs +17 -6
  103. package/dist/index.d.cts +14 -6
  104. package/dist/index.d.ts +14 -6
  105. package/dist/index.js +11 -6
  106. package/dist/types/form-item.d.cts +5 -0
  107. package/dist/types/form-item.d.ts +5 -0
  108. package/dist/utils/extract-components.cjs +11 -0
  109. package/dist/utils/extract-components.js +10 -0
  110. package/package.json +7 -7
  111. package/dist/components/form-item.cjs +0 -118
  112. package/dist/components/form-item.d.cts +0 -22
  113. package/dist/components/form-item.d.ts +0 -22
  114. package/dist/components/form-item.js +0 -112
  115. package/dist/components/json-schema-form-renderer.d.cts +0 -20
  116. 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 { schemaFieldBasicComponents } from "./schema-field-basics.js";
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 schemaFieldComponents = {
10
- ...schemaFieldBasicComponents,
11
- Combobox: Combobox$1,
12
- TagsInput,
13
- TagsInputInLine,
14
- Slider: Slider$1
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 SchemaField = createSchemaField({ components: schemaFieldComponents });
29
+ const defaultComponents = extractComponents(defaultComponentRegistry);
30
+ const SchemaField = createSchemaField({ components: defaultComponents });
17
31
 
18
32
  //#endregion
19
- export { SchemaField, schemaFieldComponents };
33
+ export { SchemaField, defaultComponentRegistry, defaultComponents };
@@ -1,4 +1,4 @@
1
- import * as react16 from "react";
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: react16.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_separator0.SeparatorProps & react16.RefAttributes<HTMLDivElement>>, "ref"> & react16.RefAttributes<unknown>>;
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 react16 from "react";
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: react16.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_separator0.SeparatorProps & react16.RefAttributes<HTMLDivElement>>, "ref"> & react16.RefAttributes<unknown>>;
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 react14 from "react";
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: react14.ForwardRefExoticComponent<Omit<Partial<SliderProps>, "ref"> & react14.RefAttributes<unknown>>;
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 react14 from "react";
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: react14.ForwardRefExoticComponent<Omit<Partial<SliderProps>, "ref"> & react14.RefAttributes<unknown>>;
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 react25 from "react";
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: react25.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_switch0.SwitchProps & react25.RefAttributes<HTMLButtonElement>>, "ref"> & react25.RefAttributes<unknown>>;
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 react23 from "react";
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: react23.ForwardRefExoticComponent<Omit<Partial<_radix_ui_react_switch0.SwitchProps & react23.RefAttributes<HTMLButtonElement>>, "ref"> & react23.RefAttributes<unknown>>;
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 react19 from "react";
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: react19.ForwardRefExoticComponent<Partial<_pixpilot_shadcn_ui0.TagsInputProps> & react19.RefAttributes<unknown>>;
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 react26 from "react";
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: react26.ForwardRefExoticComponent<Partial<_pixpilot_shadcn_ui0.TagsInputProps> & react26.RefAttributes<unknown>>;
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 react21 from "react";
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: react21.ForwardRefExoticComponent<Omit<Partial<react21.ClassAttributes<HTMLTextAreaElement> & react21.TextareaHTMLAttributes<HTMLTextAreaElement>>, "ref"> & react21.RefAttributes<unknown>>;
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 react19 from "react";
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: react19.ForwardRefExoticComponent<Omit<Partial<react19.ClassAttributes<HTMLTextAreaElement> & react19.TextareaHTMLAttributes<HTMLTextAreaElement>>, "ref"> & react19.RefAttributes<unknown>>;
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 require_form_item = require('./components/form-item.cjs');
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 = require_form_item.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.schemaFieldBasicComponents = require_schema_field_basics.schemaFieldBasicComponents;
106
- exports.schemaFieldComponents = require_schema_field.schemaFieldComponents;
107
- exports.schemaFieldExtendedComponents = require_schema_field_extended.schemaFieldExtendedComponents;
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 { JsonSchemaFormRenderer, JsonSchemaFormRendererProps } from "./components/json-schema-form-renderer.cjs";
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, schemaFieldComponents } from "./components/schema-field/schema-field.cjs";
26
- import { SchemaFieldBasics, schemaFieldBasicComponents } from "./components/schema-field/schema-field-basics.cjs";
27
- import { SchemaFieldExtended, schemaFieldExtendedComponents } from "./components/schema-field/schema-field-extended.cjs";
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, schemaFieldBasicComponents, schemaFieldComponents, schemaFieldExtendedComponents };
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 { JsonSchemaFormRenderer, JsonSchemaFormRendererProps } from "./components/json-schema-form-renderer.js";
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, schemaFieldComponents } from "./components/schema-field/schema-field.js";
26
- import { SchemaFieldBasics, schemaFieldBasicComponents } from "./components/schema-field/schema-field-basics.js";
27
- import { SchemaFieldExtended, schemaFieldExtendedComponents } from "./components/schema-field/schema-field-extended.js";
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, schemaFieldBasicComponents, schemaFieldComponents, schemaFieldExtendedComponents };
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, schemaFieldBasicComponents } from "./components/schema-field/schema-field-basics.js";
29
- import { SchemaField, schemaFieldComponents } from "./components/schema-field/schema-field.js";
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, schemaFieldExtendedComponents } from "./components/schema-field/schema-field-extended.js";
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, schemaFieldBasicComponents, schemaFieldComponents, schemaFieldExtendedComponents };
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,5 @@
1
+ //#region src/types/form-item.d.ts
2
+ type DescriptionPlacement = 'top' | 'bottom' | 'popover';
3
+ type LabelPlacement = 'top' | 'bottom' | 'start' | 'end';
4
+ //#endregion
5
+ export { DescriptionPlacement, LabelPlacement };
@@ -0,0 +1,5 @@
1
+ //#region src/types/form-item.d.ts
2
+ type DescriptionPlacement = 'top' | 'bottom' | 'popover';
3
+ type LabelPlacement = 'top' | 'bottom' | 'start' | 'end';
4
+ //#endregion
5
+ export { DescriptionPlacement, LabelPlacement };
@@ -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.10.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.1",
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-ui": "0.5.1",
44
- "@pixpilot/shadcn": "0.4.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 };