impaktapps-ui-builder 0.0.275 → 0.0.277

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 (52) hide show
  1. package/dist/impaktapps-ui-builder.es.js +2641 -2247
  2. package/dist/impaktapps-ui-builder.es.js.map +1 -1
  3. package/dist/impaktapps-ui-builder.umd.js +14 -14
  4. package/dist/impaktapps-ui-builder.umd.js.map +1 -1
  5. package/dist/src/impaktapps-ui-builder/builder/build/buildButton.d.ts +1 -0
  6. package/dist/src/impaktapps-ui-builder/builder/build/buildConfig.d.ts +1 -0
  7. package/dist/src/impaktapps-ui-builder/builder/build/buildEmptyBox.d.ts +1 -0
  8. package/dist/src/impaktapps-ui-builder/builder/build/buildLineGraph.d.ts +1 -0
  9. package/dist/src/impaktapps-ui-builder/builder/build/buildRadio.d.ts +1 -0
  10. package/dist/src/impaktapps-ui-builder/builder/build/buildSchema.d.ts +6 -0
  11. package/dist/src/impaktapps-ui-builder/builder/build/buildUiSchema.d.ts +5 -4
  12. package/dist/src/impaktapps-ui-builder/builder/build/uischema/apiSection.d.ts +3 -0
  13. package/dist/src/impaktapps-ui-builder/builder/build/uischema/button.d.ts +1 -0
  14. package/dist/src/impaktapps-ui-builder/builder/build/uischema/cardSlider.d.ts +1 -6
  15. package/dist/src/impaktapps-ui-builder/builder/build/uischema/coreSection.d.ts +6 -20
  16. package/dist/src/impaktapps-ui-builder/builder/build/uischema/graph.d.ts +1 -0
  17. package/dist/src/impaktapps-ui-builder/builder/build/uischema/leaderBoard.d.ts +8 -1
  18. package/dist/src/impaktapps-ui-builder/builder/build/uischema/speedoMeter.d.ts +9 -3
  19. package/dist/src/impaktapps-ui-builder/builder/build/uischema/validationSections.d.ts +54 -0
  20. package/dist/src/impaktapps-ui-builder/lib/index.d.ts +2 -0
  21. package/dist/src/impaktapps-ui-builder/runtime/services/events.d.ts +4 -1
  22. package/package.json +1 -1
  23. package/src/impaktapps-ui-builder/builder/build/buildButton.ts +6 -1
  24. package/src/impaktapps-ui-builder/builder/build/buildCard.ts +14 -7
  25. package/src/impaktapps-ui-builder/builder/build/buildConfig.ts +10 -0
  26. package/src/impaktapps-ui-builder/builder/build/buildEmptyBox.ts +11 -0
  27. package/src/impaktapps-ui-builder/builder/build/buildHorizontalBarGraph.ts +4 -2
  28. package/src/impaktapps-ui-builder/builder/build/buildLineGraph.ts +28 -21
  29. package/src/impaktapps-ui-builder/builder/build/buildPieGraph.ts +12 -16
  30. package/src/impaktapps-ui-builder/builder/build/buildRadio.ts +35 -0
  31. package/src/impaktapps-ui-builder/builder/build/buildSchema.ts +32 -0
  32. package/src/impaktapps-ui-builder/builder/build/buildSpeedoMeter.ts +21 -8
  33. package/src/impaktapps-ui-builder/builder/build/buildStackBarGraph.ts +2 -1
  34. package/src/impaktapps-ui-builder/builder/build/buildTimer.ts +2 -1
  35. package/src/impaktapps-ui-builder/builder/build/buildUiSchema.ts +60 -44
  36. package/src/impaktapps-ui-builder/builder/build/uischema/apiSection.ts +2 -0
  37. package/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.ts +79 -45
  38. package/src/impaktapps-ui-builder/builder/build/uischema/button.ts +2 -1
  39. package/src/impaktapps-ui-builder/builder/build/uischema/cardSlider.ts +1 -1
  40. package/src/impaktapps-ui-builder/builder/build/uischema/coreSection.ts +11 -2
  41. package/src/impaktapps-ui-builder/builder/build/uischema/graph.ts +1 -0
  42. package/src/impaktapps-ui-builder/builder/build/uischema/leaderBoard.ts +4 -1
  43. package/src/impaktapps-ui-builder/builder/build/uischema/speedoMeter.ts +5 -4
  44. package/src/impaktapps-ui-builder/builder/build/uischema/validationSections.ts +88 -0
  45. package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/schema.ts +41 -0
  46. package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/uiSchema.ts +9 -2
  47. package/src/impaktapps-ui-builder/builder/elements/UiSchema/event/uiSchema.ts +1 -0
  48. package/src/impaktapps-ui-builder/builder/services/component.ts +27 -24
  49. package/src/impaktapps-ui-builder/builder/services/pageMaster.ts +2 -0
  50. package/src/impaktapps-ui-builder/lib/index.ts +2 -0
  51. package/src/impaktapps-ui-builder/runtime/services/events.ts +37 -8
  52. package/src/impaktapps-ui-builder/runtime/services/service.ts +18 -10
@@ -1,6 +1,6 @@
1
1
  import _ from "lodash";
2
2
  import emptyBox from "./uischema/emptyBox";
3
- import cardSlider from "./uischema/cardSlider";
3
+ import cardSlider from "./uischema/cardSlider";
4
4
  import { buildLeaderBoard } from "./buildLeaderboard";
5
5
  import { buildProgressBarCard } from "./buildProgressBarCard";
6
6
  import { buildProgressBar } from "./buildProgressBar";
@@ -31,15 +31,41 @@ import { getTextArea } from "./uischema/buildPropertiesSection";
31
31
  import { buildTextArea } from "./buildTextArea";
32
32
  import { buildSlider } from "./buildSlider";
33
33
  import { buildCheckbox } from "./buildCheckbox";
34
+ import { buildLineGraph } from "./buildLineGraph";
35
+ import { buildRadio } from "./buildRadio";
36
+ import { buildEmptyBox } from "./buildEmptyBox";
37
+ export let schema = {
38
+ type: "object",
39
+ properties: {},
40
+ required: []
41
+ };
42
+ function buildRule(configObj: any) {
43
+ if (configObj.validation) {
44
+ configObj.validation.forEach((rule: any) => {
45
+ if (!schema.properties[configObj.name]) {
46
+ schema.properties[configObj.name] = {};
47
+ }
48
+ if (rule.validationType === "required") {
49
+ schema.required.push(configObj.name)
50
+ } else {
51
+ schema.properties[configObj.name]["type"] = "string"
52
+ schema.properties[configObj.name][rule.validationType] =
53
+ isNaN(rule.validationValue) ?
54
+ rule.validationValue : Number(rule.validationValue)
55
+ }
56
+ });
57
+ }
34
58
 
59
+ }
35
60
 
36
61
 
37
- const buildUiSchema = (config: any) => {
62
+ const buildUiSchema = (config: any) => {
38
63
  let elements: any = {};
39
64
  const componentScope = `#/properties/${config.name}`;
40
65
  switch (config.type) {
41
66
  case "RunnerBoyProgressBar":
42
67
  elements = RunnerBoyProgressbar(config, componentScope);
68
+
43
69
  break;
44
70
  case "TabSection":
45
71
  elements = buildTabSection(config, componentScope);
@@ -49,42 +75,51 @@ import { buildCheckbox } from "./buildCheckbox";
49
75
  break;
50
76
  case "Text":
51
77
  elements = buildTextField(config, componentScope);
78
+ buildRule(config);
79
+ break;
80
+ case "TextArea":
81
+ elements = buildTextArea(config, componentScope)
82
+ buildRule(config);
52
83
  break;
53
- case "TextArea":
54
- elements = buildTextArea(config,componentScope)
55
- break;
56
84
  case "Date":
57
85
  elements = buildDate(config, componentScope);
86
+ buildRule(config);
58
87
  break;
59
88
  case "Select":
60
89
  elements = buildSelect(config, componentScope);
90
+ buildRule(config);
91
+ break;
92
+ case "Radio":
93
+ elements = buildRadio(config, componentScope);
94
+ buildRule(config);
61
95
  break;
62
96
  case "Button":
63
97
 
64
98
  elements = buildButton(config, componentScope);
99
+ buildRule(config);
65
100
  break;
66
101
  case "Table":
67
102
  elements = buildTable(config, componentScope);
68
- //return
103
+ buildRule(config);
69
104
  break;
70
105
  case "Box":
71
106
  elements = buildLabel(config, componentScope);
107
+ buildRule(config);
72
108
  break;
73
109
  case "CheckBox":
74
- elements = buildCheckbox(config, componentScope);
75
- break;
110
+ elements = buildCheckbox(config, componentScope);
111
+ buildRule(config);
112
+ break;
76
113
  case "UploadFile":
77
114
  elements = buildUploadFile(config, componentScope);
115
+ buildRule(config);
78
116
  break;
79
117
  case "DownloadFile":
80
118
  elements = buildDownloadFile(config, componentScope);
119
+ buildRule(config);
81
120
  break;
82
121
  case "EmptyBox":
83
- const EmptyBox: any = _.cloneDeep(emptyBox);
84
- if (config.layout) {
85
- EmptyBox.config.layout = config.layout;
86
- }
87
- elements = EmptyBox;
122
+ elements = buildEmptyBox(config, componentScope);
88
123
  break;
89
124
  case "card":
90
125
  elements = buildCard(config, componentScope);
@@ -96,7 +131,7 @@ import { buildCheckbox } from "./buildCheckbox";
96
131
  elements = buildStackbarGraph(config, componentScope);
97
132
  break;
98
133
  case "LineGraph":
99
- elements = buildPieGraph(config, componentScope);
134
+ elements = buildLineGraph(config, componentScope);
100
135
  break;
101
136
  case "PieGraph":
102
137
  elements = buildPieGraph(config, componentScope);
@@ -122,7 +157,7 @@ import { buildCheckbox } from "./buildCheckbox";
122
157
  elements = buildRollAndDice(config, componentScope);
123
158
  break;
124
159
  case "Slider":
125
- elements = buildSlider(config,componentScope);
160
+ elements = buildSlider(config, componentScope);
126
161
  break;
127
162
  case "Timer":
128
163
  elements = buildTimer(config, componentScope);
@@ -130,16 +165,22 @@ import { buildCheckbox } from "./buildCheckbox";
130
165
 
131
166
  case "MultipleSelect":
132
167
  elements = buildMultiSelect(config, componentScope);
168
+ buildRule(config);
133
169
  break;
134
170
  case "LeaderBoard":
135
171
  elements = buildLeaderBoard(config);
136
172
  break;
137
173
  default:
174
+ schema = {
175
+ type: "object",
176
+ properties: {},
177
+ required: []
178
+ };
138
179
  elements = buildBasicUiSchema(config)
139
180
  }
140
181
 
141
182
  if (config?.elements) {
142
- if(config?.type === "LeaderBoard"){
183
+ if (config?.type === "LeaderBoard") {
143
184
  return elements;
144
185
  }
145
186
  else if (config.type == "Table") {
@@ -156,45 +197,20 @@ import { buildCheckbox } from "./buildCheckbox";
156
197
  header: e.label || e.name
157
198
  }
158
199
  })
159
- }
200
+ }
160
201
  else {
161
- elements.elements = config.elements.map((e:any, elemInd:number) => {
202
+ elements.elements = config.elements.map((e: any, elemInd: number) => {
162
203
  return buildUiSchema(e)
163
204
  });
164
205
  }
165
206
  }
207
+ localStorage.setItem("libSchema", JSON.stringify(schema || {}))
166
208
  return elements;
167
209
  }
168
210
 
169
211
 
170
212
  export default buildUiSchema;
171
213
 
172
- export const buildSchema = (config:any)=>{
173
- const properties = buildProperties(config)
174
- return {properties}
175
- }
176
- export const buildProperties = (config: any) => {
177
- let properties = {}
178
- switch (config.type) {
179
- case "Array":
180
- properties[config.name] = buildArraySchema(config);
181
- if (config?.elements) {
182
- config.elements.map((e:any, elemInd:number) => {
183
- properties[config.name].items.properties[e.name] = buildProperties(e)
184
- });
185
- }
186
- break;
187
- default:
188
- properties = {"type":"string"}
189
- }
190
- if(config.elements && config.type !== "Array"){
191
- config.elements.map((e)=>{
192
- properties = buildProperties(e)
193
- })
194
- }
195
- return properties
196
- }
197
-
198
214
 
199
215
 
200
216
 
@@ -46,6 +46,7 @@ export const APISection = {
46
46
  scope: "#/properties/headers",
47
47
  layout: 11.5,
48
48
  options: {
49
+ "elementLabelProp": "key",
49
50
  detail: {
50
51
  type: "HorizontalLayout",
51
52
  elements: [
@@ -95,6 +96,7 @@ export const APISection = {
95
96
  scope: "#/properties/body",
96
97
  layout: 11.5,
97
98
  options: {
99
+ "elementLabelProp": "key",
98
100
  detail: {
99
101
  type: "HorizontalLayout",
100
102
  elements: [
@@ -1,5 +1,58 @@
1
+
1
2
  import _ from "lodash";
3
+ const EmptyBox = {
4
+ type: "Control",
5
+ scope: `#/properties/empty`,
2
6
 
7
+ options: {
8
+ widget: "EmptyBox",
9
+ },
10
+ config: {
11
+ layout: {
12
+ xs: 11,
13
+ sm: 11,
14
+ md: 5.5,
15
+ lg: 5.5,
16
+ },
17
+ main: {
18
+
19
+ },
20
+ },
21
+ };
22
+ const getArrayControl = (parentScope:string,childScope:string,childLabel?:string,) =>{
23
+ return {
24
+ type: "Control",
25
+ scope: `#/properties/${parentScope}`,
26
+ layout: 11.5,
27
+ options: {
28
+ "elementLabelProp": childScope,
29
+ detail: {
30
+ type: "HorizontalLayout",
31
+ elements: [
32
+ {
33
+ type: "Control",
34
+ scope: `#/properties/${childScope}`,
35
+
36
+ options: {
37
+ widget: "InputField",
38
+ },
39
+ config: {
40
+ layout: {
41
+ xs: 11,
42
+ sm: 11,
43
+ md: 5.5,
44
+ lg: 5.5,
45
+ },
46
+ main: {
47
+ label: childLabel||"Labels for Tab",
48
+ },
49
+ },
50
+ },
51
+ ],
52
+ },
53
+ },
54
+ }
55
+ }
3
56
  const getInputField = (scope: String, label: String) => {
4
57
  return {
5
58
  type: "Control",
@@ -97,16 +150,6 @@ export const getSelectField = (scope: string, label: string, options: { label: s
97
150
  }
98
151
  }
99
152
 
100
- const emptyBox = {
101
- type: "Control",
102
- scope: "#/properties/proc",
103
- config: {
104
- layout: { xs: 11, sm: 11, md: 5.5, lg: 5.5 },
105
- },
106
- options: {
107
- widget: "EmptyBox",
108
- },
109
- };
110
153
 
111
154
  const GraphSection = {
112
155
  type: "HorizontalLayout",
@@ -115,9 +158,16 @@ const GraphSection = {
115
158
 
116
159
  export const buildPropertiesSection = function (type: String) {
117
160
  let uiSchema = _.cloneDeep(GraphSection);
118
-
119
- if (type === "SpeedoMeter" || type === "RankCard" || type === "Timer") {
120
-
161
+ if(type === "SpeedoMeter" ){
162
+ uiSchema.elements = [
163
+ getInputField("segments", "Segments Count"),
164
+ getInputField("heading", "Container Heading"),
165
+ getInputField("heading", "Container Heading"),
166
+ getInputField("speedoCaption", "Speedometer Caption"),
167
+ getInputField("width","Speedometer Width")
168
+ ]
169
+ }
170
+ else if ( type === "RankCard") {
121
171
  uiSchema.elements = [
122
172
  getInputField("rank", "Rank"),
123
173
  getInputField("image", "Image Url"),
@@ -158,7 +208,12 @@ export const buildPropertiesSection = function (type: String) {
158
208
  { label: "Button With Text", value: "Button" },
159
209
  { label: "Button With Icon", value: "IconButton" },
160
210
  { label: "Button With Icon and Text", value: "ButtonWithIconAndText" },
161
- ]), iconName,size,caption
211
+ ]), iconName,size,caption,
212
+ getSelectField("defaultStyle","Default Style",[
213
+ { label: "Apply Default Style", value: "true" },
214
+ { label: "No Style", value: "false" },
215
+ ]),
216
+ JSON.parse(JSON.stringify(EmptyBox))
162
217
  ];
163
218
  } else if (type === "Graph") {
164
219
  const height = getInputField("height", "Height");
@@ -166,57 +221,36 @@ export const buildPropertiesSection = function (type: String) {
166
221
  const leftLabel = getInputField("leftLabel", "Left Label");
167
222
  const bottomLabel = getInputField("bottomLabel", "Bottom Label");
168
223
  const legendAvailabe = getRadioInputField("legendHide","Legend Hide",["YES","No"])
224
+
169
225
  uiSchema.elements = [
170
226
  heading,
171
227
  height,
172
228
  getSelectField("graphType","Graph Type",[
173
229
  { label: "Bar Graph", value: "BarGraph" },
174
230
  { label: "Stack Bar Graph", value: "StackBarGraph" },
231
+ { label: "Line Graph", value: "LineGraph" },
175
232
  { label: "Pie Graph", value: "PieGraph" },
176
233
  { label: "Horizontal Bar Graph", value: "HorizontalBarGraph" },
177
234
  ]),
178
235
  leftLabel,
179
236
  bottomLabel,
180
237
  legendAvailabe,
238
+ getArrayControl("legendLabels","label"),
239
+ getArrayControl("pieArcColors","color"),
181
240
  ];
182
241
  }else if(type === "WrapperSection"){
183
242
  uiSchema.elements = [getRadioInputField("divider","Divider",["YES","No"]),getRadioInputField("heading","Page Heading",["YES","No"])]
184
243
  }
185
244
  else if(type === "TabSection"){
186
245
  uiSchema.elements =[
187
- {
188
- type: "Control",
189
- scope: "#/properties/sectionLabels",
190
- layout: 11.5,
191
- options: {
192
- detail: {
193
- type: "HorizontalLayout",
194
- elements: [
195
- {
196
- type: "Control",
197
- scope: "#/properties/label",
198
-
199
- options: {
200
- widget: "InputField",
201
- },
202
- config: {
203
- layout: {
204
- xs: 11,
205
- sm: 11,
206
- md: 5.5,
207
- lg: 5.5,
208
- },
209
- main: {
210
- label: "Labels for Tab",
211
- },
212
- },
213
- },
214
- ],
215
- },
216
- },
217
- }
246
+ getArrayControl("sectionLabels","label"),
218
247
  ]
219
248
  }
249
+ else if(type === "Radio"){
250
+ uiSchema.elements =[
251
+ getArrayControl("sectionLabels","label","Options Of Radio"),
252
+ ]
253
+ }
220
254
 
221
255
  return uiSchema;
222
256
  };
@@ -17,9 +17,10 @@ export default {
17
17
  color: "info",
18
18
  type: "text",
19
19
  startIcon:"",
20
+ styleDefault:false,
20
21
  icon:"",
21
22
  onClick: "onClick",
22
- size: "large",
23
+ size: "small",
23
24
  },
24
25
  style: {
25
26
  },
@@ -7,7 +7,7 @@ export default {
7
7
  },
8
8
  elements:[],
9
9
  config: {
10
- layout: { xs: 11, sm: 11, md: 5.5, lg: 5.5 },
10
+ layout: 12,
11
11
  main: {
12
12
  },
13
13
  },
@@ -25,6 +25,7 @@ export const CoreSection = {
25
25
  { label: "Text Area", value: "TextArea" },
26
26
  { label: "Button", value: "Button" },
27
27
  { label: "Card", value: "card" },
28
+ { label: "Radio", value: "Radio" },
28
29
  { label: "Rank", value: "Rank" },
29
30
  { label: "SpeedoMeter", value: "SpeedoMeter" },
30
31
  { label: "ProgressBar", value: "ProgressBar" },
@@ -96,14 +97,16 @@ export const CoreSection = {
96
97
  scope: "#/properties/layout",
97
98
  layout: 11.5,
98
99
  options: {
100
+ "elementLabelProp": "key",
99
101
  detail: {
100
102
  type: "HorizontalLayout",
103
+
101
104
  elements: [
102
105
  {
103
106
  type: "Control",
104
107
  scope: "#/properties/key",
105
108
  options: {
106
- widget: "InputField",
109
+ widget: "SelectInputField",
107
110
  },
108
111
  config: {
109
112
  layout: {
@@ -128,7 +131,7 @@ export const CoreSection = {
128
131
  scope: "#/properties/value",
129
132
 
130
133
  options: {
131
- widget: "InputField",
134
+ widget: "MultipleSelect",
132
135
  },
133
136
  config: {
134
137
  layout: {
@@ -139,6 +142,12 @@ export const CoreSection = {
139
142
  },
140
143
  main: {
141
144
  label: "Value",
145
+ options: [
146
+ { label: "3", value: "3" },
147
+ { label: "5.5", value: "5.5" },
148
+ { label: "8", value: "8" },
149
+ { label: "12", value: "12" },
150
+ ],
142
151
  },
143
152
  },
144
153
  },
@@ -126,6 +126,7 @@ export const LineGraph = {
126
126
  widget: "Graph",
127
127
  },
128
128
  config: {
129
+ layout:12,
129
130
  main: {
130
131
  type: "LineGraph",
131
132
  header: "Quartely Incentive in Thousand",
@@ -7,10 +7,13 @@ export default {
7
7
  label: "LeaderBoard",
8
8
  divider: true,
9
9
  },
10
+ style:{wrapperStyle:{
11
+ height: {xs:850,sm:1000}
12
+ }},
10
13
  wrapperStyle: {
11
14
  position: "relative",
12
15
  width: "100%",
13
- height: 1000
16
+ // height: {xs:800,sm:1000}
14
17
  }
15
18
  },
16
19
  elements: [
@@ -5,10 +5,12 @@ export default {
5
5
  widget: "SpeedoMeter",
6
6
  },
7
7
  config:{
8
- layout:12,
8
+ layout:{xs:12,sm:12,md:11.7,lg:11.7},
9
+ width:350,
10
+ segments:"5",
9
11
  main:{
10
- currentValueText:"",
11
- customSegmentLabels:{},
12
+ currentValueText:"Your Score",
13
+ customSegmentLabels:[],
12
14
  data:{
13
15
  maxValue:100000,
14
16
  value:50000,
@@ -23,7 +25,6 @@ export default {
23
25
  needleColor:"#3f51b5",
24
26
  startColor:"red",
25
27
  textColor:"black",
26
- segments:5,
27
28
  endColor:"green",
28
29
 
29
30
  containerStyle:{
@@ -0,0 +1,88 @@
1
+ export const ValidationSection = {
2
+ type: "HorizontalLayout",
3
+ elements: [
4
+ // {
5
+ // type: "Control",
6
+ // scope: "#/properties/validationType",
7
+
8
+ // options: {
9
+ // widget: "SelectInputField",
10
+ // },
11
+ // config: {
12
+ // layout: {
13
+ // xs: 11,
14
+ // sm: 11,
15
+ // md: 5.5,
16
+ // lg: 5.5,
17
+ // },
18
+ // main: {
19
+ // label: "Validation Type",
20
+ // options: [
21
+ // { value: "String", label: "string" },
22
+ // { value: "minLength", label: "Minimum Length" },
23
+ // { value: "maxLength", label: "Maximum Length" },
24
+ // { value: "pattern", label: "Pattern" },
25
+ // ]
26
+ // },
27
+ // },
28
+ // },
29
+ {
30
+ type: "Control",
31
+ scope: "#/properties/validation",
32
+ layout: 11.5,
33
+ options: {
34
+ "elementLabelProp": "validationType",
35
+ detail: {
36
+ type: "HorizontalLayout",
37
+ elements: [
38
+ {
39
+ type: "Control",
40
+ scope: "#/properties/validationType",
41
+
42
+ options: {
43
+ widget: "SelectInputField",
44
+ },
45
+ config: {
46
+ layout: {
47
+ xs: 11,
48
+ sm: 11,
49
+ md: 5.5,
50
+ lg: 5.5,
51
+ },
52
+ main: {
53
+ label: "Validation Type",
54
+ options: [
55
+ { value: "required", label: "Required" },
56
+ { value: "minLength", label: "Minimum Length" },
57
+ { value: "maxLength", label: "Maximum Length" },
58
+ { value: "pattern", label: "Pattern" },
59
+ ]
60
+ },
61
+ },
62
+ },
63
+ {
64
+ type: "Control",
65
+ scope: "#/properties/validationValue",
66
+
67
+ options: {
68
+ widget: "InputField",
69
+ },
70
+ config: {
71
+ layout: {
72
+ xs: 11,
73
+ sm: 11,
74
+ md: 5.5,
75
+ lg: 5.5,
76
+ },
77
+ main: {
78
+ label: "Validation Value",
79
+ },
80
+ },
81
+ }
82
+ ],
83
+ },
84
+ },
85
+
86
+ },
87
+ ]
88
+ };
@@ -72,6 +72,47 @@ export const ComponentSchema:any = {
72
72
  },
73
73
  },
74
74
  },
75
+ legendLabels: {
76
+ type: "array",
77
+ items: {
78
+ type: "object",
79
+ properties: {
80
+ label: {
81
+ type: "string",
82
+ },
83
+
84
+ },
85
+ },
86
+ },
87
+ pieArcColors: {
88
+ type: "array",
89
+ items: {
90
+ type: "object",
91
+ properties: {
92
+ label: {
93
+ type: "string",
94
+ },
95
+
96
+ },
97
+ },
98
+ },
99
+ validation: {
100
+ type: "array",
101
+ items: {
102
+ type: "object",
103
+ properties: {
104
+ componentName: {
105
+ type: "string",
106
+ },
107
+ validationType:{
108
+ type: "string",
109
+ },
110
+ validationValue: {
111
+ type: "string",
112
+ },
113
+ },
114
+ },
115
+ }
75
116
  },
76
117
 
77
118
  };
@@ -82,7 +82,7 @@ export const componentBasicUiSchema: any = {
82
82
  main: {
83
83
  tabLabels: ["Core"],
84
84
  defaultStyle: true,
85
- id:"component"
85
+ id:`component`
86
86
  },
87
87
  },
88
88
 
@@ -110,6 +110,7 @@ export const componentBasicUiSchema: any = {
110
110
  { label: "Container", value: "WrapperSection" },
111
111
  { label: "Tabs", value: "TabSection" },
112
112
  { label: "Text", value: "Text" },
113
+ { label: "Radio", value: "Radio" },
113
114
  { label: "Text Area", value: "TextArea" },
114
115
  { label: "Button", value: "Button" },
115
116
  { label: "Card", value: "card" },
@@ -224,7 +225,7 @@ export const componentBasicUiSchema: any = {
224
225
  scope: "#/properties/value",
225
226
 
226
227
  options: {
227
- widget: "InputField",
228
+ widget: "MultipleSelect",
228
229
  },
229
230
  config: {
230
231
  layout: {
@@ -235,6 +236,12 @@ export const componentBasicUiSchema: any = {
235
236
  },
236
237
  main: {
237
238
  label: "Value",
239
+ options: [
240
+ { label: "3", value: "3" },
241
+ { label: "5.5", value: "5.5" },
242
+ { label: "8", value: "8" },
243
+ { label: "12", value: "12" },
244
+ ],
238
245
  },
239
246
  },
240
247
  },