@goldenpine/react-form-builder2 0.20.3-build.2 → 0.20.3-build.21

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.
@@ -10,6 +10,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
10
10
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
11
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
12
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14
  var _react = _interopRequireDefault(require("react"));
14
15
  var _reactTextareaAutosize = _interopRequireDefault(require("react-textarea-autosize"));
15
16
  var _draftJs = require("draft-js");
@@ -34,6 +35,17 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
34
35
  var _this;
35
36
  (0, _classCallCheck2["default"])(this, FormElementsEdit);
36
37
  _this = _callSuper(this, FormElementsEdit, [props]);
38
+ // Instead of using editElementProp for the camera layout change, we have a separate handler to immediately update the element on change without waiting for blur, as it's a radio button and we want the change to be reflected immediately in the UI.
39
+ (0, _defineProperty2["default"])(_this, "handleUploadLayoutChange", function (e) {
40
+ var this_element = _this.state.element;
41
+ this_element["upload_layout"] = e.target["value"];
42
+ _this.setState({
43
+ element: this_element,
44
+ dirty: true
45
+ }, function () {
46
+ _this.updateElement();
47
+ });
48
+ });
37
49
  _this.state = {
38
50
  element: _this.props.element,
39
51
  data: _this.props.data,
@@ -125,6 +137,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
125
137
  }, {
126
138
  key: "render",
127
139
  value: function render() {
140
+ var _this$props$element$c;
128
141
  if (this.state.dirty) {
129
142
  this.props.element.dirty = true;
130
143
  }
@@ -164,12 +177,12 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
164
177
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
165
178
  className: "clearfix"
166
179
  }, /*#__PURE__*/_react["default"].createElement("h4", {
167
- className: "float-left"
180
+ className: "float-start"
168
181
  }, this.props.element.text), /*#__PURE__*/_react["default"].createElement("i", {
169
- className: "float-right fas fa-times dismiss-edit",
182
+ className: "float-end fas fa-times dismiss-edit",
170
183
  onClick: this.props.manualEditModeOff
171
184
  })), this.props.element.hasOwnProperty('content') && /*#__PURE__*/_react["default"].createElement("div", {
172
- className: "form-group"
185
+ className: "mb-3"
173
186
  }, /*#__PURE__*/_react["default"].createElement("label", {
174
187
  className: "control-label"
175
188
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
@@ -181,7 +194,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
181
194
  onEditorStateChange: this.onEditorStateChange.bind(this, 0, 'content'),
182
195
  stripPastedStyles: true
183
196
  })), this.props.element.hasOwnProperty('file_path') && /*#__PURE__*/_react["default"].createElement("div", {
184
- className: "form-group"
197
+ className: "mb-3"
185
198
  }, /*#__PURE__*/_react["default"].createElement("label", {
186
199
  className: "control-label",
187
200
  htmlFor: "fileSelect"
@@ -200,7 +213,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
200
213
  key: this_key
201
214
  }, file.file_name);
202
215
  }))), this.props.element.hasOwnProperty('href') && /*#__PURE__*/_react["default"].createElement("div", {
203
- className: "form-group"
216
+ className: "mb-3"
204
217
  }, /*#__PURE__*/_react["default"].createElement(_reactTextareaAutosize["default"], {
205
218
  type: "text",
206
219
  className: "form-control",
@@ -208,7 +221,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
208
221
  onBlur: this.updateElement.bind(this),
209
222
  onChange: this.editElementProp.bind(this, 'href', 'value')
210
223
  })), this.props.element.hasOwnProperty('label') && /*#__PURE__*/_react["default"].createElement("div", {
211
- className: "form-group"
224
+ className: "mb-3"
212
225
  }, /*#__PURE__*/_react["default"].createElement("label", null, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
213
226
  id: "display-label"
214
227
  })), /*#__PURE__*/_react["default"].createElement(_reactDraftWysiwyg.Editor, {
@@ -218,105 +231,123 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
218
231
  onEditorStateChange: this.onEditorStateChange.bind(this, 0, 'label'),
219
232
  stripPastedStyles: true
220
233
  }), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("div", {
221
- className: "custom-control custom-checkbox"
234
+ className: "form-check"
222
235
  }, /*#__PURE__*/_react["default"].createElement("input", {
223
236
  id: "is-required",
224
- className: "custom-control-input",
237
+ className: "form-check-input",
225
238
  type: "checkbox",
226
239
  checked: this_checked,
227
240
  value: true,
228
241
  onChange: this.editElementProp.bind(this, 'required', 'checked')
229
242
  }), /*#__PURE__*/_react["default"].createElement("label", {
230
- className: "custom-control-label",
243
+ className: "form-check-label",
231
244
  htmlFor: "is-required"
232
245
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
233
246
  id: "required"
234
- }))), this.props.element.hasOwnProperty('readOnly') && /*#__PURE__*/_react["default"].createElement("div", {
235
- className: "custom-control custom-checkbox"
247
+ }))), this_checked && this.state.element.element === 'Checkboxes' && /*#__PURE__*/_react["default"].createElement("div", {
248
+ className: "d-flex align-items-center gap-2"
249
+ }, /*#__PURE__*/_react["default"].createElement("label", {
250
+ className: "form-label mb-0",
251
+ htmlFor: "checkbox-required-checks"
252
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
253
+ id: "minimum-number-of-selections"
254
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
255
+ id: "checkbox-required-checks",
256
+ type: "number",
257
+ min: "1",
258
+ className: "form-control d-inline-block",
259
+ style: {
260
+ width: '8ch'
261
+ },
262
+ value: (_this$props$element$c = this.props.element.checkbox_required_checks) !== null && _this$props$element$c !== void 0 ? _this$props$element$c : '1',
263
+ onBlur: this.updateElement.bind(this),
264
+ onChange: this.editElementProp.bind(this, 'checkbox_required_checks', 'value')
265
+ })), this.props.element.hasOwnProperty('readOnly') && /*#__PURE__*/_react["default"].createElement("div", {
266
+ className: "form-check"
236
267
  }, /*#__PURE__*/_react["default"].createElement("input", {
237
268
  id: "is-read-only",
238
- className: "custom-control-input",
269
+ className: "form-check-input",
239
270
  type: "checkbox",
240
271
  checked: this_read_only,
241
272
  value: true,
242
273
  onChange: this.editElementProp.bind(this, 'readOnly', 'checked')
243
274
  }), /*#__PURE__*/_react["default"].createElement("label", {
244
- className: "custom-control-label",
275
+ className: "form-check-label",
245
276
  htmlFor: "is-read-only"
246
277
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
247
278
  id: "read-only"
248
279
  }))), this.props.element.hasOwnProperty('defaultToday') && /*#__PURE__*/_react["default"].createElement("div", {
249
- className: "custom-control custom-checkbox"
280
+ className: "form-check"
250
281
  }, /*#__PURE__*/_react["default"].createElement("input", {
251
282
  id: "is-default-to-today",
252
- className: "custom-control-input",
283
+ className: "form-check-input",
253
284
  type: "checkbox",
254
285
  checked: this_default_today,
255
286
  value: true,
256
287
  onChange: this.editElementProp.bind(this, 'defaultToday', 'checked')
257
288
  }), /*#__PURE__*/_react["default"].createElement("label", {
258
- className: "custom-control-label",
289
+ className: "form-check-label",
259
290
  htmlFor: "is-default-to-today"
260
291
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
261
292
  id: "default-to-today"
262
293
  }), "?")), this.props.element.hasOwnProperty('showTimeSelect') && /*#__PURE__*/_react["default"].createElement("div", {
263
- className: "custom-control custom-checkbox"
294
+ className: "form-check"
264
295
  }, /*#__PURE__*/_react["default"].createElement("input", {
265
296
  id: "show-time-select",
266
- className: "custom-control-input",
297
+ className: "form-check-input",
267
298
  type: "checkbox",
268
299
  checked: this_show_time_select,
269
300
  value: true,
270
301
  onChange: this.editElementProp.bind(this, 'showTimeSelect', 'checked')
271
302
  }), /*#__PURE__*/_react["default"].createElement("label", {
272
- className: "custom-control-label",
303
+ className: "form-check-label",
273
304
  htmlFor: "show-time-select"
274
305
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
275
306
  id: "show-time-select"
276
307
  }), "?")), this_show_time_select && this.props.element.hasOwnProperty('showTimeSelectOnly') && /*#__PURE__*/_react["default"].createElement("div", {
277
- className: "custom-control custom-checkbox"
308
+ className: "form-check"
278
309
  }, /*#__PURE__*/_react["default"].createElement("input", {
279
310
  id: "show-time-select-only",
280
- className: "custom-control-input",
311
+ className: "form-check-input",
281
312
  type: "checkbox",
282
313
  checked: this_show_time_select_only,
283
314
  value: true,
284
315
  onChange: this.editElementProp.bind(this, 'showTimeSelectOnly', 'checked')
285
316
  }), /*#__PURE__*/_react["default"].createElement("label", {
286
- className: "custom-control-label",
317
+ className: "form-check-label",
287
318
  htmlFor: "show-time-select-only"
288
319
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
289
320
  id: "show-time-select-only"
290
321
  }), "?")), this.props.element.hasOwnProperty('showTimeInput') && /*#__PURE__*/_react["default"].createElement("div", {
291
- className: "custom-control custom-checkbox"
322
+ className: "form-check"
292
323
  }, /*#__PURE__*/_react["default"].createElement("input", {
293
324
  id: "show-time-input",
294
- className: "custom-control-input",
325
+ className: "form-check-input",
295
326
  type: "checkbox",
296
327
  checked: this_show_time_input,
297
328
  value: true,
298
329
  onChange: this.editElementProp.bind(this, 'showTimeInput', 'checked')
299
330
  }), /*#__PURE__*/_react["default"].createElement("label", {
300
- className: "custom-control-label",
331
+ className: "form-check-label",
301
332
  htmlFor: "show-time-input"
302
333
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
303
334
  id: "show-time-input"
304
335
  }), "?")), (this.state.element.element === 'RadioButtons' || this.state.element.element === 'Checkboxes') && canHaveDisplayHorizontal && /*#__PURE__*/_react["default"].createElement("div", {
305
- className: "custom-control custom-checkbox"
336
+ className: "form-check"
306
337
  }, /*#__PURE__*/_react["default"].createElement("input", {
307
338
  id: "display-horizontal",
308
- className: "custom-control-input",
339
+ className: "form-check-input",
309
340
  type: "checkbox",
310
341
  checked: this_checked_inline,
311
342
  value: true,
312
343
  onChange: this.editElementProp.bind(this, 'inline', 'checked')
313
344
  }), /*#__PURE__*/_react["default"].createElement("label", {
314
- className: "custom-control-label",
345
+ className: "form-check-label",
315
346
  htmlFor: "display-horizontal"
316
347
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
317
348
  id: "display-horizontal"
318
349
  })))), this.props.element.hasOwnProperty('src') && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
319
- className: "form-group"
350
+ className: "mb-3"
320
351
  }, /*#__PURE__*/_react["default"].createElement("label", {
321
352
  className: "control-label",
322
353
  htmlFor: "srcInput"
@@ -329,54 +360,46 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
329
360
  defaultValue: this.props.element.src,
330
361
  onBlur: this.updateElement.bind(this),
331
362
  onChange: this.editElementProp.bind(this, 'src', 'value')
332
- }))), canHaveImageSize && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
333
- className: "form-group"
363
+ }))), this.state.element.element === 'Camera' && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
364
+ className: "mb-3"
365
+ }, /*#__PURE__*/_react["default"].createElement("label", {
366
+ className: "control-label bold"
367
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
368
+ id: "upload-layout"
369
+ }), ":"), /*#__PURE__*/_react["default"].createElement("div", {
370
+ className: "d-flex align-items-center gap-3"
334
371
  }, /*#__PURE__*/_react["default"].createElement("div", {
335
- className: "custom-control custom-checkbox"
372
+ className: "form-check d-flex align-items-center"
336
373
  }, /*#__PURE__*/_react["default"].createElement("input", {
337
- id: "do-center",
338
- className: "custom-control-input",
339
- type: "checkbox",
340
- checked: this_checked_center,
341
- value: true,
342
- onChange: this.editElementProp.bind(this, 'center', 'checked')
374
+ className: "form-check-input",
375
+ type: "radio",
376
+ name: "uploadLayout",
377
+ id: "uploadLayoutStandard",
378
+ value: "standard",
379
+ checked: this.props.element.upload_layout === "standard",
380
+ onChange: this.handleUploadLayoutChange
343
381
  }), /*#__PURE__*/_react["default"].createElement("label", {
344
- className: "custom-control-label",
345
- htmlFor: "do-center"
382
+ className: "form-check-label ms-2",
383
+ htmlFor: "uploadLayoutStandard"
346
384
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
347
- id: "center"
348
- }), "?"))), /*#__PURE__*/_react["default"].createElement("div", {
349
- className: "row"
350
- }, /*#__PURE__*/_react["default"].createElement("div", {
351
- className: "col-sm-3"
352
- }, /*#__PURE__*/_react["default"].createElement("label", {
353
- className: "control-label",
354
- htmlFor: "elementWidth"
385
+ id: "upload-layout-standard"
386
+ }))), /*#__PURE__*/_react["default"].createElement("div", {
387
+ className: "form-check d-flex align-items-center"
388
+ }, /*#__PURE__*/_react["default"].createElement("input", {
389
+ className: "form-check-input",
390
+ type: "radio",
391
+ name: "uploadLayout",
392
+ id: "uploadLayoutDropZone",
393
+ value: "dropzone",
394
+ checked: this.props.element.upload_layout === "dropzone",
395
+ onChange: this.handleUploadLayoutChange
396
+ }), /*#__PURE__*/_react["default"].createElement("label", {
397
+ className: "form-check-label ms-2",
398
+ htmlFor: "uploadLayoutDropZone"
355
399
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
356
- id: "width"
357
- }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
358
- id: "elementWidth",
359
- type: "text",
360
- className: "form-control",
361
- defaultValue: this.props.element.width,
362
- onBlur: this.updateElement.bind(this),
363
- onChange: this.editElementProp.bind(this, 'width', 'value')
364
- })), /*#__PURE__*/_react["default"].createElement("div", {
365
- className: "col-sm-3"
366
- }, /*#__PURE__*/_react["default"].createElement("label", {
367
- className: "control-label",
368
- htmlFor: "elementHeight"
369
- }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
370
- id: "height"
371
- }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
372
- id: "elementHeight",
373
- type: "text",
374
- className: "form-control",
375
- defaultValue: this.props.element.height,
376
- onBlur: this.updateElement.bind(this),
377
- onChange: this.editElementProp.bind(this, 'height', 'value')
378
- })))), this.state.element.element === 'Camera' && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
379
- className: "form-group"
400
+ id: "upload-layout-dropzone"
401
+ }))))), /*#__PURE__*/_react["default"].createElement("div", {
402
+ className: "mb-3"
380
403
  }, /*#__PURE__*/_react["default"].createElement("label", {
381
404
  className: "control-label",
382
405
  htmlFor: "LabelAfterCameraIcon"
@@ -390,7 +413,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
390
413
  onBlur: this.updateElement.bind(this),
391
414
  onChange: this.editElementProp.bind(this, 'label_after_camera_icon', 'value')
392
415
  })), /*#__PURE__*/_react["default"].createElement("div", {
393
- className: "form-group"
416
+ className: "mb-3"
394
417
  }, /*#__PURE__*/_react["default"].createElement("label", {
395
418
  className: "control-label",
396
419
  htmlFor: "MessageUnderCameraIcon"
@@ -404,7 +427,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
404
427
  onBlur: this.updateElement.bind(this),
405
428
  onChange: this.editElementProp.bind(this, 'message_under_camera_icon', 'value')
406
429
  })), /*#__PURE__*/_react["default"].createElement("div", {
407
- className: "form-group"
430
+ className: "mb-3"
408
431
  }, /*#__PURE__*/_react["default"].createElement("label", {
409
432
  className: "control-label",
410
433
  htmlFor: "LabelAfterPhotoClearIcon"
@@ -417,8 +440,60 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
417
440
  defaultValue: this.props.element.label_after_photo_clear_icon,
418
441
  onBlur: this.updateElement.bind(this),
419
442
  onChange: this.editElementProp.bind(this, 'label_after_photo_clear_icon', 'value')
420
- }))), this.state.element.element === 'FileUpload' && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
421
- className: "form-group"
443
+ }))), canHaveImageSize && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
444
+ className: "mb-3"
445
+ }, /*#__PURE__*/_react["default"].createElement("label", {
446
+ className: "control-label bold"
447
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
448
+ id: "image-layout"
449
+ }), ":"), /*#__PURE__*/_react["default"].createElement("div", {
450
+ className: "form-check"
451
+ }, /*#__PURE__*/_react["default"].createElement("input", {
452
+ id: "do-center",
453
+ className: "form-check-input",
454
+ type: "checkbox",
455
+ checked: this_checked_center,
456
+ value: true,
457
+ onChange: this.editElementProp.bind(this, 'center', 'checked')
458
+ }), /*#__PURE__*/_react["default"].createElement("label", {
459
+ className: "form-check-label",
460
+ htmlFor: "do-center"
461
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
462
+ id: "center"
463
+ }), "?"))), /*#__PURE__*/_react["default"].createElement("div", {
464
+ className: "row mb-3"
465
+ }, /*#__PURE__*/_react["default"].createElement("div", {
466
+ className: "col-sm-3"
467
+ }, /*#__PURE__*/_react["default"].createElement("label", {
468
+ className: "control-label",
469
+ htmlFor: "elementWidth"
470
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
471
+ id: "width"
472
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
473
+ id: "elementWidth",
474
+ type: "text",
475
+ className: "form-control",
476
+ defaultValue: this.props.element.width,
477
+ onBlur: this.updateElement.bind(this),
478
+ onChange: this.editElementProp.bind(this, 'width', 'value')
479
+ })), /*#__PURE__*/_react["default"].createElement("div", {
480
+ className: "col-sm-3"
481
+ }, /*#__PURE__*/_react["default"].createElement("label", {
482
+ className: "control-label",
483
+ htmlFor: "elementHeight"
484
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
485
+ id: "height"
486
+ }), ":"), /*#__PURE__*/_react["default"].createElement("input", {
487
+ id: "elementHeight",
488
+ type: "text",
489
+ className: "form-control",
490
+ defaultValue: this.props.element.height,
491
+ onBlur: this.updateElement.bind(this),
492
+ onChange: this.editElementProp.bind(this, 'height', 'value')
493
+ })), /*#__PURE__*/_react["default"].createElement("small", {
494
+ className: "form-text text-muted"
495
+ }, "Use ", /*#__PURE__*/_react["default"].createElement("code", null, "px"), " or ", /*#__PURE__*/_react["default"].createElement("code", null, "%"), " (e.g. 200px, 100%)."))), this.state.element.element === 'FileUpload' && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
496
+ className: "mb-3"
422
497
  }, /*#__PURE__*/_react["default"].createElement("label", {
423
498
  className: "control-label",
424
499
  htmlFor: "LabelAfterFileIcon"
@@ -432,7 +507,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
432
507
  onBlur: this.updateElement.bind(this),
433
508
  onChange: this.editElementProp.bind(this, 'label_after_file_icon', 'value')
434
509
  })), /*#__PURE__*/_react["default"].createElement("div", {
435
- className: "form-group"
510
+ className: "mb-3"
436
511
  }, /*#__PURE__*/_react["default"].createElement("label", {
437
512
  className: "control-label",
438
513
  htmlFor: "MessageUnderFileIcon"
@@ -446,7 +521,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
446
521
  onBlur: this.updateElement.bind(this),
447
522
  onChange: this.editElementProp.bind(this, 'message_under_file_icon', 'value')
448
523
  })), /*#__PURE__*/_react["default"].createElement("div", {
449
- className: "form-group"
524
+ className: "mb-3"
450
525
  }, /*#__PURE__*/_react["default"].createElement("label", {
451
526
  className: "control-label",
452
527
  htmlFor: "LabelAfterFileClearIcon"
@@ -460,7 +535,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
460
535
  onBlur: this.updateElement.bind(this),
461
536
  onChange: this.editElementProp.bind(this, 'label_after_file_clear_icon', 'value')
462
537
  })), /*#__PURE__*/_react["default"].createElement("div", {
463
- className: "form-group"
538
+ className: "mb-3"
464
539
  }, /*#__PURE__*/_react["default"].createElement("label", {
465
540
  className: "control-label",
466
541
  htmlFor: "fileType"
@@ -498,7 +573,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
498
573
  key: index
499
574
  }, file.typeName);
500
575
  })))), this.state.element.element === 'Signature' && this.props.element.readOnly ? /*#__PURE__*/_react["default"].createElement("div", {
501
- className: "form-group"
576
+ className: "mb-3"
502
577
  }, /*#__PURE__*/_react["default"].createElement("label", {
503
578
  className: "control-label",
504
579
  htmlFor: "variableKey"
@@ -516,47 +591,47 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
516
591
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
517
592
  id: "variable-key-desc"
518
593
  }), ".")) : /*#__PURE__*/_react["default"].createElement("div", null), canHavePageBreakBefore && /*#__PURE__*/_react["default"].createElement("div", {
519
- className: "form-group"
594
+ className: "mb-3"
520
595
  }, /*#__PURE__*/_react["default"].createElement("label", {
521
596
  className: "control-label"
522
597
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
523
598
  id: "print-options"
524
599
  })), /*#__PURE__*/_react["default"].createElement("div", {
525
- className: "custom-control custom-checkbox"
600
+ className: "form-check"
526
601
  }, /*#__PURE__*/_react["default"].createElement("input", {
527
602
  id: "page-break-before-element",
528
- className: "custom-control-input",
603
+ className: "form-check-input",
529
604
  type: "checkbox",
530
605
  checked: this_checked_page_break,
531
606
  value: true,
532
607
  onChange: this.editElementProp.bind(this, 'pageBreakBefore', 'checked')
533
608
  }), /*#__PURE__*/_react["default"].createElement("label", {
534
- className: "custom-control-label",
609
+ className: "form-check-label",
535
610
  htmlFor: "page-break-before-element"
536
611
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
537
612
  id: "page-break-before-elements"
538
613
  }), "?"))), canHaveAlternateForm && /*#__PURE__*/_react["default"].createElement("div", {
539
- className: "form-group"
614
+ className: "mb-3"
540
615
  }, /*#__PURE__*/_react["default"].createElement("label", {
541
616
  className: "control-label"
542
617
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
543
618
  id: "alternate-signature-page"
544
619
  })), /*#__PURE__*/_react["default"].createElement("div", {
545
- className: "custom-control custom-checkbox"
620
+ className: "form-check"
546
621
  }, /*#__PURE__*/_react["default"].createElement("input", {
547
622
  id: "display-on-alternate",
548
- className: "custom-control-input",
623
+ className: "form-check-input",
549
624
  type: "checkbox",
550
625
  checked: this_checked_alternate_form,
551
626
  value: true,
552
627
  onChange: this.editElementProp.bind(this, 'alternateForm', 'checked')
553
628
  }), /*#__PURE__*/_react["default"].createElement("label", {
554
- className: "custom-control-label",
629
+ className: "form-check-label",
555
630
  htmlFor: "display-on-alternate"
556
631
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
557
632
  id: "display-on-alternate-signature-page"
558
633
  }), "?"))), this.props.element.hasOwnProperty('step') && /*#__PURE__*/_react["default"].createElement("div", {
559
- className: "form-group"
634
+ className: "mb-3"
560
635
  }, /*#__PURE__*/_react["default"].createElement("div", {
561
636
  className: "form-group-range"
562
637
  }, /*#__PURE__*/_react["default"].createElement("label", {
@@ -572,7 +647,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
572
647
  onBlur: this.updateElement.bind(this),
573
648
  onChange: this.editElementProp.bind(this, 'step', 'value')
574
649
  }))), this.props.element.hasOwnProperty('min_value') && /*#__PURE__*/_react["default"].createElement("div", {
575
- className: "form-group"
650
+ className: "mb-3"
576
651
  }, /*#__PURE__*/_react["default"].createElement("div", {
577
652
  className: "form-group-range"
578
653
  }, /*#__PURE__*/_react["default"].createElement("label", {
@@ -594,7 +669,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
594
669
  onBlur: this.updateElement.bind(this),
595
670
  onChange: this.editElementProp.bind(this, 'min_label', 'value')
596
671
  }))), this.props.element.hasOwnProperty('max_value') && /*#__PURE__*/_react["default"].createElement("div", {
597
- className: "form-group"
672
+ className: "mb-3"
598
673
  }, /*#__PURE__*/_react["default"].createElement("div", {
599
674
  className: "form-group-range"
600
675
  }, /*#__PURE__*/_react["default"].createElement("label", {
@@ -616,7 +691,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
616
691
  onBlur: this.updateElement.bind(this),
617
692
  onChange: this.editElementProp.bind(this, 'max_label', 'value')
618
693
  }))), this.props.element.hasOwnProperty('default_value') && /*#__PURE__*/_react["default"].createElement("div", {
619
- className: "form-group"
694
+ className: "mb-3"
620
695
  }, /*#__PURE__*/_react["default"].createElement("div", {
621
696
  className: "form-group-range"
622
697
  }, /*#__PURE__*/_react["default"].createElement("label", {
@@ -632,41 +707,41 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
632
707
  onBlur: this.updateElement.bind(this),
633
708
  onChange: this.editElementProp.bind(this, 'default_value', 'value')
634
709
  }))), this.props.element.hasOwnProperty('static') && this.props.element["static"] && /*#__PURE__*/_react["default"].createElement("div", {
635
- className: "form-group"
710
+ className: "mb-3"
636
711
  }, /*#__PURE__*/_react["default"].createElement("label", {
637
712
  className: "control-label"
638
713
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
639
714
  id: "text-style"
640
715
  })), /*#__PURE__*/_react["default"].createElement("div", {
641
- className: "custom-control custom-checkbox"
716
+ className: "form-check"
642
717
  }, /*#__PURE__*/_react["default"].createElement("input", {
643
718
  id: "do-bold",
644
- className: "custom-control-input",
719
+ className: "form-check-input",
645
720
  type: "checkbox",
646
721
  checked: this_checked_bold,
647
722
  value: true,
648
723
  onChange: this.editElementProp.bind(this, 'bold', 'checked')
649
724
  }), /*#__PURE__*/_react["default"].createElement("label", {
650
- className: "custom-control-label",
725
+ className: "form-check-label",
651
726
  htmlFor: "do-bold"
652
727
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
653
728
  id: "bold"
654
729
  }))), /*#__PURE__*/_react["default"].createElement("div", {
655
- className: "custom-control custom-checkbox"
730
+ className: "form-check"
656
731
  }, /*#__PURE__*/_react["default"].createElement("input", {
657
732
  id: "do-italic",
658
- className: "custom-control-input",
733
+ className: "form-check-input",
659
734
  type: "checkbox",
660
735
  checked: this_checked_italic,
661
736
  value: true,
662
737
  onChange: this.editElementProp.bind(this, 'italic', 'checked')
663
738
  }), /*#__PURE__*/_react["default"].createElement("label", {
664
- className: "custom-control-label",
739
+ className: "form-check-label",
665
740
  htmlFor: "do-italic"
666
741
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
667
742
  id: "italic"
668
743
  })))), this.props.element.showDescription && /*#__PURE__*/_react["default"].createElement("div", {
669
- className: "form-group"
744
+ className: "mb-3"
670
745
  }, /*#__PURE__*/_react["default"].createElement("label", {
671
746
  className: "control-label",
672
747
  htmlFor: "questionDescription"
@@ -680,7 +755,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
680
755
  onBlur: this.updateElement.bind(this),
681
756
  onChange: this.editElementProp.bind(this, 'description', 'value')
682
757
  })), this.props.showCorrectColumn && this.props.element.canHaveAnswer && !this.props.element.hasOwnProperty('options') && /*#__PURE__*/_react["default"].createElement("div", {
683
- className: "form-group"
758
+ className: "mb-3"
684
759
  }, /*#__PURE__*/_react["default"].createElement("label", {
685
760
  className: "control-label",
686
761
  htmlFor: "correctAnswer"
@@ -694,7 +769,7 @@ var FormElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Compon
694
769
  onBlur: this.updateElement.bind(this),
695
770
  onChange: this.editElementProp.bind(this, 'correct', 'value')
696
771
  })), this.props.element.canPopulateFromApi && this.props.element.hasOwnProperty('options') && /*#__PURE__*/_react["default"].createElement("div", {
697
- className: "form-group"
772
+ className: "mb-3"
698
773
  }, /*#__PURE__*/_react["default"].createElement("label", {
699
774
  className: "control-label",
700
775
  htmlFor: "optionsApiUrl"
@@ -85,13 +85,13 @@ var FormValidator = exports["default"] = /*#__PURE__*/function (_React$Component
85
85
  }, /*#__PURE__*/_react["default"].createElement("div", {
86
86
  className: "clearfix"
87
87
  }, /*#__PURE__*/_react["default"].createElement("i", {
88
- className: "fas fa-exclamation-triangle float-left"
88
+ className: "fas fa-exclamation-triangle float-start"
89
89
  }), /*#__PURE__*/_react["default"].createElement("ul", {
90
- className: "float-left"
90
+ className: "float-start"
91
91
  }, errors)), /*#__PURE__*/_react["default"].createElement("div", {
92
92
  className: "clearfix"
93
93
  }, /*#__PURE__*/_react["default"].createElement("a", {
94
- className: "float-right btn btn-default btn-sm btn-danger",
94
+ className: "float-end btn btn-secondary btn-sm btn-danger",
95
95
  onClick: this.dismissModal.bind(this)
96
96
  }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
97
97
  id: "dismiss"
package/lib/form.js CHANGED
@@ -60,7 +60,7 @@ var ReactForm = /*#__PURE__*/function (_React$Component) {
60
60
  backButton = _this$props$backButto === void 0 ? false : _this$props$backButto;
61
61
  return backButton || /*#__PURE__*/_react["default"].createElement("a", {
62
62
  href: _this.props.back_action,
63
- className: "btn btn-default btn-cancel btn-big"
63
+ className: "btn btn-secondary btn-cancel btn-big"
64
64
  }, backName);
65
65
  });
66
66
  _this.answerData = _this._convert(props.answer_data);