react-survey-builder 1.0.8 → 1.0.9

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/lib/form.js CHANGED
@@ -62,7 +62,7 @@ var ReactSurvey = /*#__PURE__*/function (_React$Component) {
62
62
  return backButton || /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Button, {
63
63
  variant: "secondary",
64
64
  href: _this.props.backAction,
65
- className: "btn-cancel me-2"
65
+ className: "btn-cancel"
66
66
  }, backName);
67
67
  });
68
68
  _this.answerData = _this._convert(props.answerData);
@@ -595,8 +595,8 @@ var ReactSurvey = /*#__PURE__*/function (_React$Component) {
595
595
  type: "hidden",
596
596
  value: this.props.task_id
597
597
  })), items, /*#__PURE__*/_react["default"].createElement("div", {
598
- className: "btn-toolbar"
599
- }, !this.props.hideActions && this.props.backAction && this.handleRenderBack(), !this.props.hideActions && this.handleRenderSubmit()))));
598
+ className: this.props.buttonClassName ? this.props.buttonClassName : 'btn-toolbar'
599
+ }, !this.props.hideActions && this.handleRenderSubmit(), !this.props.hideActions && this.props.backAction && this.handleRenderBack()))));
600
600
  }
601
601
  }]);
602
602
  return ReactSurvey;
@@ -6,27 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = exports.AppLanguages = void 0;
8
8
  var _enUs = _interopRequireDefault(require("./entries/en-us"));
9
- var _itIt = _interopRequireDefault(require("./entries/it-it"));
10
- var _viVn = _interopRequireDefault(require("./entries/vi-vn"));
11
9
  var AppLanguages = exports.AppLanguages = [{
12
- languageId: 'vietnamese',
13
- locale: 'vi',
14
- name: 'Vietnamese',
15
- icon: 'vn'
16
- }, {
17
10
  languageId: 'english',
18
11
  locale: 'en',
19
12
  name: 'English',
20
13
  icon: 'us'
21
- }, {
22
- languageId: 'italian',
23
- locale: 'it',
24
- name: 'Italiano',
25
- icon: 'it'
26
14
  }];
27
15
  var AppLocale = {
28
- en: _enUs["default"],
29
- vi: _viVn["default"],
30
- it: _itIt["default"]
16
+ en: _enUs["default"]
31
17
  };
32
18
  var _default = exports["default"] = AppLocale;
@@ -2,6 +2,7 @@
2
2
  "display-label": "Display Label",
3
3
  "choose-file": "Choose file",
4
4
  "choose-file-type": "Choose file type",
5
+ "choose-label-location": "Choose Label Location",
5
6
  "select-file-type": "Select file type",
6
7
  "text-to-display": "Text to display",
7
8
  "link-to": "Link to",
@@ -212,6 +212,10 @@ var TextInput = /*#__PURE__*/function (_React$Component5) {
212
212
  props.defaultValue = this.props.defaultValue;
213
213
  props.ref = this.inputField;
214
214
  }
215
+ var labelLocation = 'ABOVE';
216
+ if (this.props.data.labelLocation) {
217
+ labelLocation = this.props.data.labelLocation;
218
+ }
215
219
  var baseClasses = 'SortableItem rfb-item';
216
220
  if (this.props.data.pageBreakBefore) {
217
221
  baseClasses += ' alwaysbreak';
@@ -224,12 +228,15 @@ var TextInput = /*#__PURE__*/function (_React$Component5) {
224
228
  className: baseClasses
225
229
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, {
226
230
  className: "form-group mb-3"
227
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
231
+ }, labelLocation === "FLOATING" ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
228
232
  id: props.name
229
233
  }, props)), /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
230
- name: props.name,
231
234
  htmlFor: props.name
232
- }))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
235
+ }))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
236
+ htmlFor: props.name
237
+ })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
238
+ id: props.name
239
+ }, props))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
233
240
  muted: true
234
241
  }, props.help) : null));
235
242
  }
@@ -260,6 +267,10 @@ var EmailInput = /*#__PURE__*/function (_React$Component6) {
260
267
  props.defaultValue = this.props.defaultValue;
261
268
  props.ref = this.inputField;
262
269
  }
270
+ var labelLocation = 'ABOVE';
271
+ if (this.props.data.labelLocation) {
272
+ labelLocation = this.props.data.labelLocation;
273
+ }
263
274
  var baseClasses = 'SortableItem rfb-item';
264
275
  if (this.props.data.pageBreakBefore) {
265
276
  baseClasses += ' alwaysbreak';
@@ -272,11 +283,15 @@ var EmailInput = /*#__PURE__*/function (_React$Component6) {
272
283
  className: baseClasses
273
284
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, {
274
285
  className: "form-group mb-3"
275
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
286
+ }, labelLocation === "FLOATING" ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
276
287
  id: props.name
277
288
  }, props)), /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
278
289
  htmlFor: props.name
279
- }))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
290
+ }))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
291
+ htmlFor: props.name
292
+ })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
293
+ id: props.name
294
+ }, props))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
280
295
  muted: true
281
296
  }, props.help) : null));
282
297
  }
@@ -317,6 +332,10 @@ var PhoneNumber = /*#__PURE__*/function (_React$Component7) {
317
332
  props.defaultValue = this.props.defaultValue;
318
333
  props.ref = this.inputField;
319
334
  }
335
+ var labelLocation = 'ABOVE';
336
+ if (this.props.data.labelLocation) {
337
+ labelLocation = this.props.data.labelLocation;
338
+ }
320
339
  var baseClasses = 'SortableItem rfb-item';
321
340
  if (this.props.data.pageBreakBefore) {
322
341
  baseClasses += ' alwaysbreak';
@@ -329,13 +348,22 @@ var PhoneNumber = /*#__PURE__*/function (_React$Component7) {
329
348
  className: baseClasses
330
349
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, {
331
350
  className: "form-group mb-3"
332
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
351
+ }, labelLocation === "FLOATING" ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
333
352
  id: props.name
334
353
  }, props, {
335
354
  onChange: this.handleChange,
336
355
  as: CustomPhoneInput
337
356
  })), /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
357
+ name: props.name,
338
358
  htmlFor: props.name
359
+ }))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
360
+ name: props.name,
361
+ htmlFor: props.name
362
+ })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
363
+ id: props.name
364
+ }, props, {
365
+ onChange: this.handleChange,
366
+ as: CustomPhoneInput
339
367
  }))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
340
368
  muted: true
341
369
  }, props.help) : null));
@@ -369,6 +397,10 @@ var NumberInput = /*#__PURE__*/function (_React$Component8) {
369
397
  props.min = this.props.data.minValue;
370
398
  props.max = this.props.data.maxValue;
371
399
  props.step = this.props.data.step;
400
+ var labelLocation = 'ABOVE';
401
+ if (this.props.data.labelLocation) {
402
+ labelLocation = this.props.data.labelLocation;
403
+ }
372
404
  if (this.props.readOnly) {
373
405
  props.disabled = 'disabled';
374
406
  }
@@ -381,11 +413,17 @@ var NumberInput = /*#__PURE__*/function (_React$Component8) {
381
413
  className: baseClasses
382
414
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, {
383
415
  className: "form-group mb-3"
384
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
416
+ }, labelLocation === "FLOATING" ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
385
417
  id: props.name
386
418
  }, props)), /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
419
+ name: props.name,
387
420
  htmlFor: props.name
388
- }))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
421
+ }))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
422
+ name: props.name,
423
+ htmlFor: props.name
424
+ })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
425
+ id: props.name
426
+ }, props))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
389
427
  muted: true
390
428
  }, props.help) : null));
391
429
  }
@@ -417,6 +455,10 @@ var TextArea = /*#__PURE__*/function (_React$Component9) {
417
455
  props.defaultValue = this.props.defaultValue;
418
456
  props.ref = this.inputField;
419
457
  }
458
+ var labelLocation = 'ABOVE';
459
+ if (this.props.data.labelLocation) {
460
+ labelLocation = this.props.data.labelLocation;
461
+ }
420
462
  var baseClasses = 'SortableItem rfb-item';
421
463
  if (this.props.data.pageBreakBefore) {
422
464
  baseClasses += ' alwaysbreak';
@@ -426,12 +468,19 @@ var TextArea = /*#__PURE__*/function (_React$Component9) {
426
468
  className: baseClasses
427
469
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, {
428
470
  className: "form-group mb-3"
429
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
471
+ }, labelLocation === "FLOATING" ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
430
472
  as: "textarea",
431
473
  id: props.name
432
474
  }, props)), /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
475
+ name: props.name,
433
476
  htmlFor: props.name
434
- }))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
477
+ }))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
478
+ name: props.name,
479
+ htmlFor: props.name
480
+ })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
481
+ as: "textarea",
482
+ id: props.name
483
+ }, props))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
435
484
  muted: true
436
485
  }, props.help) : null));
437
486
  }
@@ -460,6 +509,10 @@ var Dropdown = /*#__PURE__*/function (_React$Component10) {
460
509
  props.defaultValue = this.props.defaultValue;
461
510
  props.ref = this.inputField;
462
511
  }
512
+ var labelLocation = 'ABOVE';
513
+ if (this.props.data.labelLocation) {
514
+ labelLocation = this.props.data.labelLocation;
515
+ }
463
516
  if (this.props.readOnly) {
464
517
  props.disabled = 'disabled';
465
518
  }
@@ -472,7 +525,7 @@ var Dropdown = /*#__PURE__*/function (_React$Component10) {
472
525
  className: baseClasses
473
526
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, {
474
527
  className: "form-group mb-3"
475
- }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Select, (0, _extends2["default"])({
528
+ }, labelLocation === "FLOATING" ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Select, (0, _extends2["default"])({
476
529
  id: props.name
477
530
  }, props), props.placeholder ? /*#__PURE__*/_react["default"].createElement("option", {
478
531
  value: ""
@@ -483,7 +536,21 @@ var Dropdown = /*#__PURE__*/function (_React$Component10) {
483
536
  key: thisKey
484
537
  }, option.text);
485
538
  })), /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
539
+ name: props.name,
486
540
  htmlFor: props.name
541
+ }))) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
542
+ name: props.name,
543
+ htmlFor: props.name
544
+ })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Select, (0, _extends2["default"])({
545
+ id: props.name
546
+ }, props), props.placeholder ? /*#__PURE__*/_react["default"].createElement("option", {
547
+ value: ""
548
+ }, props.placeholder) : null, this.props.data.options.map(function (option) {
549
+ var thisKey = "preview_".concat(option.key);
550
+ return /*#__PURE__*/_react["default"].createElement("option", {
551
+ value: option.value,
552
+ key: thisKey
553
+ }, option.text);
487
554
  }))), props.help ? /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Text, {
488
555
  muted: true
489
556
  }, props.help) : null));
@@ -72,10 +72,10 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
72
72
  value: function onEditorStateChange(index, property, editorContent) {
73
73
  // const html = draftToHtml(convertToRaw(editorContent.getCurrentContent())).replace(/<p>/g, '<div>').replace(/<\/p>/g, '</div>');
74
74
  var html = (0, _draftjsToHtml["default"])((0, _draftJs.convertToRaw)(editorContent.getCurrentContent())).replace(/<p>/g, '').replace(/<\/p>/g, '').replace(/&nbsp;/g, ' ').replace(/(?:\r\n|\r|\n)/g, '');
75
- var this_element = this.state.element;
76
- this_element[property] = html;
75
+ var thisElement = this.state.element;
76
+ thisElement[property] = html;
77
77
  this.setState({
78
- element: this_element,
78
+ element: thisElement,
79
79
  dirty: true
80
80
  });
81
81
  }
@@ -130,19 +130,19 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
130
130
  if (this.state.dirty) {
131
131
  this.props.element.dirty = true;
132
132
  }
133
- var this_checked = this.props.element.hasOwnProperty('required') ? this.props.element.required : false;
134
- var this_default_checked = this.props.element.hasOwnProperty('defaultChecked') ? this.props.element.defaultChecked : false;
135
- var this_read_only = this.props.element.hasOwnProperty('readOnly') ? this.props.element.readOnly : false;
136
- var this_default_today = this.props.element.hasOwnProperty('defaultToday') ? this.props.element.defaultToday : false;
137
- var this_show_time_select = this.props.element.hasOwnProperty('showTimeSelect') ? this.props.element.showTimeSelect : false;
138
- var this_show_time_select_only = this.props.element.hasOwnProperty('showTimeSelectOnly') ? this.props.element.showTimeSelectOnly : false;
139
- var this_show_time_input = this.props.element.hasOwnProperty('showTimeInput') ? this.props.element.showTimeInput : false;
140
- var this_checked_inline = this.props.element.hasOwnProperty('inline') ? this.props.element.inline : false;
133
+ var thisChecked = this.props.element.hasOwnProperty('required') ? this.props.element.required : false;
134
+ var thisDefaultChecked = this.props.element.hasOwnProperty('defaultChecked') ? this.props.element.defaultChecked : false;
135
+ var thisReadOnly = this.props.element.hasOwnProperty('readOnly') ? this.props.element.readOnly : false;
136
+ var thisDefaultToday = this.props.element.hasOwnProperty('defaultToday') ? this.props.element.defaultToday : false;
137
+ var thisShowTimeSelect = this.props.element.hasOwnProperty('showTimeSelect') ? this.props.element.showTimeSelect : false;
138
+ var thisShowTimeSelectOnly = this.props.element.hasOwnProperty('showTimeSelectOnly') ? this.props.element.showTimeSelectOnly : false;
139
+ var thisShowTimeInput = this.props.element.hasOwnProperty('showTimeInput') ? this.props.element.showTimeInput : false;
140
+ var thisCheckedInline = this.props.element.hasOwnProperty('inline') ? this.props.element.inline : false;
141
141
  var this_checked_bold = this.props.element.hasOwnProperty('bold') ? this.props.element.bold : false;
142
- var this_checked_italic = this.props.element.hasOwnProperty('italic') ? this.props.element.italic : false;
143
- var this_checked_center = this.props.element.hasOwnProperty('center') ? this.props.element.center : false;
144
- var this_checked_page_break = this.props.element.hasOwnProperty('pageBreakBefore') ? this.props.element.pageBreakBefore : false;
145
- var this_checked_alternate_form = this.props.element.hasOwnProperty('alternateForm') ? this.props.element.alternateForm : false;
142
+ var thisCheckedItalic = this.props.element.hasOwnProperty('italic') ? this.props.element.italic : false;
143
+ var thisCheckedCenter = this.props.element.hasOwnProperty('center') ? this.props.element.center : false;
144
+ var thisCheckedPageBreak = this.props.element.hasOwnProperty('pageBreakBefore') ? this.props.element.pageBreakBefore : false;
145
+ var thisCheckedAlternateForm = this.props.element.hasOwnProperty('alternateForm') ? this.props.element.alternateForm : false;
146
146
  var _this$props$element = this.props.element,
147
147
  canHavePageBreakBefore = _this$props$element.canHavePageBreakBefore,
148
148
  canHaveAlternateForm = _this$props$element.canHaveAlternateForm,
@@ -150,9 +150,9 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
150
150
  canHaveOptionCorrect = _this$props$element.canHaveOptionCorrect,
151
151
  canHaveOptionValue = _this$props$element.canHaveOptionValue;
152
152
  var canHaveImageSize = this.state.element.element === 'Image' || this.state.element.element === 'Camera';
153
- var this_files = this.props.files.length ? this.props.files : [];
154
- if (this_files.length < 1 || this_files.length > 0 && this_files[0].id !== '') {
155
- this_files.unshift({
153
+ var thisFiles = this.props.files.length ? this.props.files : [];
154
+ if (thisFiles.length < 1 || thisFiles.length > 0 && thisFiles[0].id !== '') {
155
+ thisFiles.unshift({
156
156
  id: '',
157
157
  file_name: ''
158
158
  });
@@ -192,11 +192,11 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
192
192
  defaultValue: this.props.element.filePath,
193
193
  onBlur: this.updateElement.bind(this),
194
194
  onChange: this.editElementProp.bind(this, 'filePath', 'value')
195
- }, this_files.map(function (file) {
196
- var this_key = "file_".concat(file.id);
195
+ }, thisFiles.map(function (file) {
196
+ var thisKey = "file_".concat(file.id);
197
197
  return /*#__PURE__*/_react["default"].createElement("option", {
198
198
  value: file.id,
199
- key: this_key
199
+ key: thisKey
200
200
  }, file.file_name);
201
201
  }))), this.props.element.hasOwnProperty('href') && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react["default"].createElement(_reactTextareaAutosize["default"], {
202
202
  type: "text",
@@ -218,7 +218,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
218
218
  id: "required"
219
219
  }),
220
220
  type: "checkbox",
221
- checked: this_checked,
221
+ checked: thisChecked,
222
222
  value: true,
223
223
  onChange: this.editElementProp.bind(this, 'required', 'checked')
224
224
  }), this.props.element.hasOwnProperty('readOnly') && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Check, {
@@ -227,7 +227,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
227
227
  id: "read-only"
228
228
  }),
229
229
  type: "checkbox",
230
- checked: this_read_only,
230
+ checked: thisReadOnly,
231
231
  value: true,
232
232
  onChange: this.editElementProp.bind(this, 'readOnly', 'checked')
233
233
  }), this.props.element.hasOwnProperty('defaultToday') && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Check, {
@@ -236,7 +236,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
236
236
  id: "default-to-today"
237
237
  }),
238
238
  type: "checkbox",
239
- checked: this_default_today,
239
+ checked: thisDefaultToday,
240
240
  value: true,
241
241
  onChange: this.editElementProp.bind(this, 'defaultToday', 'checked')
242
242
  }), ['Checkboxes', 'Checkbox'].indexOf(this.state.element.element) !== -1 && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Check, {
@@ -245,7 +245,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
245
245
  id: "default-checked"
246
246
  }),
247
247
  type: "checkbox",
248
- checked: this_default_checked,
248
+ checked: thisDefaultChecked,
249
249
  value: true,
250
250
  onChange: this.editElementProp.bind(this, 'defaultChecked', 'checked')
251
251
  }), (this.state.element.element === 'RadioButtons' || this.state.element.element === 'Checkboxes') && canHaveDisplayHorizontal && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Check, {
@@ -254,7 +254,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
254
254
  id: "display-horizontal"
255
255
  }),
256
256
  type: "checkbox",
257
- checked: this_checked_inline,
257
+ checked: thisCheckedInline,
258
258
  value: true,
259
259
  onChange: this.editElementProp.bind(this, 'inline', 'checked')
260
260
  })), this.state.element.element === 'Checkbox' && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Label, null, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
@@ -281,7 +281,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
281
281
  id: "center"
282
282
  }),
283
283
  type: "checkbox",
284
- checked: this_checked_center,
284
+ checked: thisCheckedCenter,
285
285
  value: true,
286
286
  onChange: this.editElementProp.bind(this, 'center', 'checked')
287
287
  })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Row, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Col, {
@@ -351,7 +351,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
351
351
  id: "page-break-before-element"
352
352
  }),
353
353
  type: "checkbox",
354
- checked: this_checked_page_break,
354
+ checked: thisCheckedPageBreak,
355
355
  value: true,
356
356
  onChange: this.editElementProp.bind(this, 'pageBreakBefore', 'checked')
357
357
  })), canHaveAlternateForm && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Label, null, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
@@ -362,7 +362,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
362
362
  id: "display-on-alternate-signature-page"
363
363
  }),
364
364
  type: "checkbox",
365
- checked: this_checked_alternate_form,
365
+ checked: thisCheckedAlternateForm,
366
366
  value: true,
367
367
  onChange: this.editElementProp.bind(this, 'alternateForm', 'checked')
368
368
  })), this.props.element.hasOwnProperty('step') && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react["default"].createElement("div", {
@@ -452,7 +452,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
452
452
  id: "italic"
453
453
  }),
454
454
  type: "checkbox",
455
- checked: this_checked_italic,
455
+ checked: thisCheckedItalic,
456
456
  value: true,
457
457
  onChange: this.editElementProp.bind(this, 'italic', 'checked')
458
458
  })), this.props.element.showPlaceholder && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Label, {
@@ -475,7 +475,20 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
475
475
  defaultValue: this.props.element.customName,
476
476
  onBlur: this.updateElement.bind(this),
477
477
  onChange: this.editElementProp.bind(this, 'customName', 'value')
478
- })), this.props.element.showHelp && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Label, {
478
+ })), this.props.element.showLabelLocationPicker && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Label, {
479
+ htmlFor: "labelLocation"
480
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
481
+ id: "choose-label-location"
482
+ }), ":"), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Select, {
483
+ id: "labelLocation",
484
+ defaultValue: this.props.element.labelLocation,
485
+ onBlur: this.updateElement.bind(this),
486
+ onChange: this.editElementProp.bind(this, 'labelLocation', 'value')
487
+ }, /*#__PURE__*/_react["default"].createElement("option", {
488
+ value: "ABOVE"
489
+ }, "Above Form Field"), /*#__PURE__*/_react["default"].createElement("option", {
490
+ value: "FLOATING"
491
+ }, "Floating Inside Form Field"))), this.props.element.showHelp && /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Label, {
479
492
  htmlFor: "help"
480
493
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
481
494
  id: "help-label"
package/lib/toolbar.js CHANGED
@@ -165,7 +165,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
165
165
  showHelp: true,
166
166
  options: [],
167
167
  placeholder: 'Select One',
168
- hideRequiredAlert: true
168
+ hideRequiredAlert: true,
169
+ showLabelLocationPicker: true
169
170
  }, {
170
171
  key: 'Tags',
171
172
  canHaveAnswer: true,
@@ -247,7 +248,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
247
248
  placeholder: intl.formatMessage({
248
249
  id: 'place-holder-label'
249
250
  }),
250
- hideRequiredAlert: true
251
+ hideRequiredAlert: true,
252
+ showLabelLocationPicker: true
251
253
  }, {
252
254
  key: 'EmailInput',
253
255
  canHaveAnswer: true,
@@ -265,7 +267,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
265
267
  placeholder: intl.formatMessage({
266
268
  id: 'place-holder-email'
267
269
  }),
268
- hideRequiredAlert: true
270
+ hideRequiredAlert: true,
271
+ showLabelLocationPicker: true
269
272
  }, {
270
273
  key: 'NumberInput',
271
274
  canHaveAnswer: true,
@@ -283,7 +286,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
283
286
  step: 1,
284
287
  minValue: 0,
285
288
  maxValue: 5,
286
- hideRequiredAlert: true
289
+ hideRequiredAlert: true,
290
+ showLabelLocationPicker: true
287
291
  }, {
288
292
  key: 'PhoneNumber',
289
293
  canHaveAnswer: true,
@@ -298,7 +302,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
298
302
  showCustomName: true,
299
303
  showDescription: true,
300
304
  showHelp: true,
301
- hideRequiredAlert: true
305
+ hideRequiredAlert: true,
306
+ showLabelLocationPicker: true
302
307
  }, {
303
308
  key: 'TextArea',
304
309
  canHaveAnswer: true,
@@ -313,7 +318,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
313
318
  showCustomName: true,
314
319
  showDescription: true,
315
320
  showHelp: true,
316
- hideRequiredAlert: true
321
+ hideRequiredAlert: true,
322
+ showLabelLocationPicker: true
317
323
  }, {
318
324
  key: 'FieldSet',
319
325
  canHaveAnswer: false,
@@ -555,6 +561,8 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
555
561
  }
556
562
  elementOptions.showCustomName = item.showCustomName;
557
563
  elementOptions.customName = item.customName;
564
+ elementOptions.showLabelLocationPicker = item.showLabelLocationPicker;
565
+ elementOptions.labelLocation = item.labelLocation;
558
566
  elementOptions.showHelp = item.showHelp;
559
567
  elementOptions.help = item.help;
560
568
  elementOptions.hideRequiredAlert = item.hideRequiredAlert;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-survey-builder",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "A complete survey builder for react.",
5
5
  "main": "lib/index.js",
6
6
  "types": "types/index.d.ts",
package/types/index.d.ts CHANGED
@@ -28,6 +28,9 @@ type BaseElement = {
28
28
  | "Range"
29
29
  | "Camera";
30
30
  showDescription?: boolean;
31
+ showLabelLocationPicker?: boolean;
32
+ showHelp?: boolean;
33
+ hideRequiredAlert?: boolean;
31
34
  required: boolean;
32
35
  canHaveAlternateForm: boolean;
33
36
  canHaveDisplayHorizontal: boolean;
@@ -164,6 +167,9 @@ export interface SurveyGeneratorProps {
164
167
  // eslint-disable-next-line no-undef
165
168
  variables?: Record<any, any>;
166
169
  submitButton?: JSX.Element;
170
+ backButton?: JSX.Element;
171
+ buttons?: JSX.Element;
172
+ buttonClassName?: string;
167
173
  }
168
174
 
169
175
  export class ReactSurveyGenerator extends React.Component<SurveyGeneratorProps> {}
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _itIt = _interopRequireDefault(require("../locales/it-it.json"));
10
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
- var ItLang = {
13
- messages: _objectSpread({}, _itIt["default"]),
14
- locale: 'it-IT'
15
- };
16
- var _default = exports["default"] = ItLang;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _viVn = _interopRequireDefault(require("../locales/vi-vn.json"));
10
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
- var VnLang = {
13
- messages: _objectSpread({}, _viVn["default"]),
14
- locale: 'vi-VN'
15
- };
16
- var _default = exports["default"] = VnLang;