1
+ "use strict" ;
2
+
3
+ var _interopRequireDefault = require ( "@babel/runtime/helpers/interopRequireDefault" ) ;
4
+ Object . defineProperty ( exports , "__esModule" , {
5
+ value : true
6
+ } ) ;
7
+ exports . FormGenerator = FormGenerator ;
8
+ exports . SchemaComponent = SchemaComponent ;
9
+ exports [ "default" ] = void 0 ;
10
+ var _extends2 = _interopRequireDefault ( require ( "@babel/runtime/helpers/extends" ) ) ;
11
+ var _react = require ( "react" ) ;
12
+ var _ComponentContext = _interopRequireDefault ( require ( "../contexts/ComponentContext" ) ) ;
13
+ var _createForm = require ( "../logic/createForm" ) ;
14
+ var _set = _interopRequireDefault ( require ( "../utils/set" ) ) ;
15
+ var _contexts = require ( "../contexts" ) ;
16
+ var _jsxRuntime = require ( "react/jsx-runtime" ) ;
17
+ /* eslint-disable react/jsx-no-useless-fragment */
18
+ /* eslint-disable no-use-before-define */
19
+ /* eslint-disable react/require-default-props */
20
+ /* eslint-disable consistent-return */
21
+ /* eslint-disable react/jsx-key */
22
+
23
+ var updateSchemaConfigName = function updateSchemaConfigName ( schema , key ) {
24
+ if ( ! key ) return schema ;
25
+ ( 0 , _set [ "default" ] ) ( schema , "config.name" , key ) ;
26
+ return schema ;
27
+ } ;
28
+ var updateSchemasAttributTitle = function updateSchemasAttributTitle ( schemas , index ) {
29
+ return schemas . map ( function ( schema ) {
30
+ var _overrideSchema$attri ;
31
+ var overrideSchema = ( 0 , _extends2 [ "default" ] ) ( { } , schema ) ;
32
+ if ( overrideSchema != null && ( _overrideSchema$attri = overrideSchema . attribute ) != null && _overrideSchema$attri . title ) {
33
+ overrideSchema . attribute = ( 0 , _extends2 [ "default" ] ) ( { } , overrideSchema . attribute , {
34
+ title : overrideSchema . attribute . title . replace ( "__ITEM__" , "" . concat ( + index + 1 ) )
35
+ } ) ;
36
+ }
37
+ return overrideSchema ;
38
+ } ) ;
39
+ } ;
40
+ function SchemaComponent ( _ref ) {
41
+ var schemas = _ref . schemas ,
42
+ schema = _ref . schema ,
43
+ parent = _ref . parent ,
44
+ fallback = _ref . fallback ,
45
+ fallbackVariantNotRegistered = _ref . fallbackVariantNotRegistered ,
46
+ fallbackComponentNotRegisterd = _ref . fallbackComponentNotRegisterd ;
47
+ var _useContext = ( 0 , _react . useContext ) ( _ComponentContext [ "default" ] ) ,
48
+ components = _useContext . components ;
49
+ var identity = ( 0 , _createForm . getSchemaName ) ( schema , parent ) ;
50
+ if ( schema . variant === "FIELD" ) {
51
+ var Component = components [ schema . variant ] [ schema . component ] ;
52
+ if ( ! Component ) return fallbackComponentNotRegisterd ;
53
+ return /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _react . Suspense , {
54
+ fallback : fallback ,
55
+ children : /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( Component , {
56
+ schema : updateSchemaConfigName ( schema , identity )
57
+ } )
58
+ } ) ;
59
+ }
60
+ if ( schema . variant === "VIEW" ) {
61
+ var _Component = components [ schema . variant ] [ schema . component ] ;
62
+ if ( ! _Component ) return fallbackComponentNotRegisterd ;
63
+ return /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _react . Suspense , {
64
+ fallback : fallback ,
65
+ children : /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _Component , {
66
+ schema : updateSchemaConfigName ( schema , identity )
67
+ } )
68
+ } ) ;
69
+ }
70
+ if ( schema . variant === "GROUP" ) {
71
+ var _Component2 = components [ schema . variant ] [ schema . component ] ;
72
+ if ( ! _Component2 ) return fallbackComponentNotRegisterd ;
73
+ return /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _react . Suspense , {
74
+ fallback : fallback ,
75
+ children : /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _Component2 , {
76
+ schema : schema ,
77
+ schemas : schemas ,
78
+ children : /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( FormGenerator , {
79
+ parent : parent ,
80
+ schemas : schemas ,
81
+ fallback : fallback ,
82
+ fallbackComponentNotRegisterd : fallbackComponentNotRegisterd ,
83
+ fallbackVariantNotRegistered : fallbackVariantNotRegistered
84
+ } )
85
+ } )
86
+ } ) ;
87
+ }
88
+ if ( schema . variant === "FIELD-ARRAY" ) {
89
+ var _Component3 = components [ schema . variant ] [ schema . component ] ;
90
+ if ( ! _Component3 ) return fallbackComponentNotRegisterd ;
91
+ return /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _react . Suspense , {
92
+ fallback : fallback ,
93
+ children : /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _Component3 , {
94
+ schema : schema ,
95
+ schemas : schemas ,
96
+ children : function children ( _ref2 ) {
97
+ var value = _ref2 . value ,
98
+ Container = _ref2 . container ;
99
+ return value . map ( function ( data , index ) {
100
+ return (
101
+ /*#__PURE__*/
102
+ // eslint-disable-next-line react/no-array-index-key
103
+ ( 0 , _jsxRuntime . jsx ) ( Container , {
104
+ data : data ,
105
+ children : /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( FormGenerator , {
106
+ parent : "" . concat ( identity , "." ) . concat ( index ) ,
107
+ schemas : updateSchemasAttributTitle ( schemas , index ) ,
108
+ fallback : fallback ,
109
+ fallbackComponentNotRegisterd : fallbackComponentNotRegisterd ,
110
+ fallbackVariantNotRegistered : fallbackVariantNotRegistered
111
+ } )
112
+ } , "" . concat ( identity , "-" ) . concat ( index ) )
113
+ ) ;
114
+ } ) ;
115
+ }
116
+ } )
117
+ } ) ;
118
+ }
119
+ if ( schema . variant === "FIELD-OBJECT" ) {
120
+ var _Component4 = components [ schema . variant ] [ schema . component ] ;
121
+ if ( ! _Component4 ) return fallbackComponentNotRegisterd ;
122
+ return /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _react . Suspense , {
123
+ fallback : fallback ,
124
+ children : /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _Component4 , {
125
+ schema : schema ,
126
+ schemas : schemas ,
127
+ children : function children ( _ref3 ) {
128
+ var value = _ref3 . value ,
129
+ Container = _ref3 . container ;
130
+ return /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( Container , {
131
+ data : value ,
132
+ children : /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( FormGenerator , {
133
+ parent : "" . concat ( identity ) ,
134
+ schemas : schemas ,
135
+ fallback : fallback ,
136
+ fallbackComponentNotRegisterd : fallbackComponentNotRegisterd ,
137
+ fallbackVariantNotRegistered : fallbackVariantNotRegistered
138
+ } )
139
+ } , "" . concat ( identity ) ) ;
140
+ }
141
+ } )
142
+ } ) ;
143
+ }
144
+ return fallbackVariantNotRegistered ;
145
+ }
146
+ function FormGenerator ( props ) {
147
+ var _useContext2 = ( 0 , _react . useContext ) ( _contexts . FormContext ) ,
148
+ context = _useContext2 . context ;
149
+ var _useContext3 = ( 0 , _react . useContext ) ( context ) ,
150
+ formContext = _useContext3 . form ;
151
+ var _props$schemas = props . schemas ,
152
+ schemas = _props$schemas === void 0 ? formContext . config . schemas : _props$schemas ,
153
+ _props$parent = props . parent ,
154
+ parent = _props$parent === void 0 ? "" : _props$parent ,
155
+ _props$fallback = props . fallback ,
156
+ fallback = _props$fallback === void 0 ? /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _jsxRuntime . Fragment , { } ) : _props$fallback ,
157
+ _props$fallbackVarian = props . fallbackVariantNotRegistered ,
158
+ fallbackVariantNotRegistered = _props$fallbackVarian === void 0 ? /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _jsxRuntime . Fragment , { } ) : _props$fallbackVarian ,
159
+ _props$fallbackCompon = props . fallbackComponentNotRegisterd ,
160
+ fallbackComponentNotRegisterd = _props$fallbackCompon === void 0 ? /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _jsxRuntime . Fragment , { } ) : _props$fallbackCompon ;
161
+ return /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( _jsxRuntime . Fragment , {
162
+ children : schemas . map ( function ( schema ) {
163
+ var identity = ( 0 , _createForm . getSchemaKey ) ( schema , parent ) ;
164
+ return /*#__PURE__*/ ( 0 , _jsxRuntime . jsx ) ( SchemaComponent , {
165
+ parent : parent ,
166
+ schema : schema ,
167
+ schemas : schemas ,
168
+ fallback : fallback ,
169
+ fallbackComponentNotRegisterd : fallbackComponentNotRegisterd ,
170
+ fallbackVariantNotRegistered : fallbackVariantNotRegistered
171
+ } , identity ) ;
172
+ } )
173
+ } ) ;
174
+ }
175
+ var _default = FormGenerator ;
176
+ exports [ "default" ] = _default ;
0 commit comments