react-survey-builder 1.0.4 → 1.0.6

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.
@@ -36,6 +36,16 @@ object-assign
36
36
 
37
37
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
38
38
 
39
+ /**
40
+ * @license React
41
+ * react-jsx-runtime.production.min.js
42
+ *
43
+ * Copyright (c) Facebook, Inc. and its affiliates.
44
+ *
45
+ * This source code is licensed under the MIT license found in the
46
+ * LICENSE file in the root directory of this source tree.
47
+ */
48
+
39
49
  /** @license React v16.13.1
40
50
  * react-is.production.min.js
41
51
  *
package/lib/form.js CHANGED
@@ -201,7 +201,8 @@ var ReactSurvey = /*#__PURE__*/function (_React$Component) {
201
201
  var itemData = {
202
202
  id: item.id,
203
203
  name: item.field_name,
204
- custom_name: item.custom_name || item.field_name
204
+ custom_name: item.custom_name || item.field_name,
205
+ help: item.help
205
206
  };
206
207
  if (!itemData.name) return null;
207
208
  var ref = this.inputs[item.field_name];
@@ -24,11 +24,14 @@
24
24
  "step": "Step",
25
25
  "min": "Min",
26
26
  "max": "Max",
27
+ "min_label": "Minimum Value Label",
28
+ "max_label": "Maximum Value Label",
27
29
  "default-selected": "Default Selected",
28
30
  "text-style": "Text Style",
29
31
  "bold": "Bold",
30
32
  "italic": "Italic",
31
33
  "description": "Description",
34
+ "help": "Help",
32
35
  "correct-answer": "Correct Answer",
33
36
  "populate-options-from-api": "Populate Options from API",
34
37
  "populate": "Populate",
@@ -14,13 +14,14 @@ var ComponentLabel = function ComponentLabel(props) {
14
14
  return null;
15
15
  }
16
16
  return /*#__PURE__*/_react["default"].createElement("label", {
17
+ htmlFor: props.name,
17
18
  className: props.className || 'form-label'
18
19
  }, /*#__PURE__*/_react["default"].createElement("span", {
19
20
  dangerouslySetInnerHTML: {
20
21
  __html: labelText
21
22
  }
22
23
  }), hasRequiredLabel && !props.hide_required_alert && /*#__PURE__*/_react["default"].createElement("span", {
23
- className: "label-required badge badge-danger"
24
+ className: "label-required badge bg-danger"
24
25
  }, "Required"));
25
26
  };
26
27
  var _default = exports["default"] = ComponentLabel;
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports["default"] = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -27,6 +27,7 @@ var _componentHeader = _interopRequireDefault(require("./component-header"));
27
27
  var _componentLabel = _interopRequireDefault(require("./component-label"));
28
28
  var _myxss = _interopRequireDefault(require("./myxss"));
29
29
  var _fa = require("react-icons/fa");
30
+ var _reactBootstrap = require("react-bootstrap");
30
31
  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; }
31
32
  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; }
32
33
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
@@ -191,7 +192,13 @@ var TextInput = /*#__PURE__*/function (_React$Component5) {
191
192
  className: baseClasses
192
193
  }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
193
194
  className: "form-group"
194
- }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)));
195
+ }, /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Floating, {
196
+ className: "mb-3"
197
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], (0, _extends2["default"])({}, this.props, {
198
+ name: props.name
199
+ })), /*#__PURE__*/_react["default"].createElement(_reactBootstrap.Form.Control, (0, _extends2["default"])({
200
+ id: props.name
201
+ }, props)))));
195
202
  }
196
203
  }]);
197
204
  return TextInput;
@@ -296,6 +303,9 @@ var NumberInput = /*#__PURE__*/function (_React$Component8) {
296
303
  props.defaultValue = this.props.defaultValue;
297
304
  props.ref = this.inputField;
298
305
  }
306
+ props.min = this.props.data.min_value;
307
+ props.max = this.props.data.max_value;
308
+ props.step = this.props.data.step;
299
309
  if (this.props.read_only) {
300
310
  props.disabled = 'disabled';
301
311
  }
@@ -435,7 +435,16 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
435
435
  defaultValue: this.props.element.min_value,
436
436
  onBlur: this.updateElement.bind(this),
437
437
  onChange: this.editElementProp.bind(this, 'min_value', 'value')
438
- }), /*#__PURE__*/_react["default"].createElement("input", {
438
+ }))), this.props.element.hasOwnProperty('min_label') && /*#__PURE__*/_react["default"].createElement("div", {
439
+ className: "form-group"
440
+ }, /*#__PURE__*/_react["default"].createElement("div", {
441
+ className: "form-group-range"
442
+ }, /*#__PURE__*/_react["default"].createElement("label", {
443
+ className: "control-label",
444
+ htmlFor: "rangeMin"
445
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
446
+ id: "min_label"
447
+ })), /*#__PURE__*/_react["default"].createElement("input", {
439
448
  type: "text",
440
449
  className: "form-control",
441
450
  defaultValue: this.props.element.min_label,
@@ -457,7 +466,16 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
457
466
  defaultValue: this.props.element.max_value,
458
467
  onBlur: this.updateElement.bind(this),
459
468
  onChange: this.editElementProp.bind(this, 'max_value', 'value')
460
- }), /*#__PURE__*/_react["default"].createElement("input", {
469
+ }))), this.props.element.hasOwnProperty('max_label') && /*#__PURE__*/_react["default"].createElement("div", {
470
+ className: "form-group"
471
+ }, /*#__PURE__*/_react["default"].createElement("div", {
472
+ className: "form-group-range"
473
+ }, /*#__PURE__*/_react["default"].createElement("label", {
474
+ className: "control-label",
475
+ htmlFor: "rangeMax"
476
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
477
+ id: "max_label"
478
+ })), /*#__PURE__*/_react["default"].createElement("input", {
461
479
  type: "text",
462
480
  className: "form-control",
463
481
  defaultValue: this.props.element.max_label,
@@ -527,7 +545,7 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
527
545
  defaultValue: this.props.element.placeholder,
528
546
  onBlur: this.updateElement.bind(this),
529
547
  onChange: this.editElementProp.bind(this, 'placeholder', 'value')
530
- })), this.props.element.show_custom_name && /*#__PURE__*/_react["default"].createElement("div", {
548
+ })), this.props.element.showCustomName && /*#__PURE__*/_react["default"].createElement("div", {
531
549
  className: "form-group"
532
550
  }, /*#__PURE__*/_react["default"].createElement("label", {
533
551
  className: "control-label",
@@ -541,6 +559,20 @@ var SurveyElementsEdit = exports["default"] = /*#__PURE__*/function (_React$Comp
541
559
  defaultValue: this.props.element.custom_name,
542
560
  onBlur: this.updateElement.bind(this),
543
561
  onChange: this.editElementProp.bind(this, 'custom_name', 'value')
562
+ })), this.props.element.showHelp && /*#__PURE__*/_react["default"].createElement("div", {
563
+ className: "form-group"
564
+ }, /*#__PURE__*/_react["default"].createElement("label", {
565
+ className: "control-label",
566
+ htmlFor: "help"
567
+ }, /*#__PURE__*/_react["default"].createElement(_IntlMessages["default"], {
568
+ id: "help-label"
569
+ })), /*#__PURE__*/_react["default"].createElement(_reactTextareaAutosize["default"], {
570
+ type: "text",
571
+ className: "form-control",
572
+ id: "help",
573
+ defaultValue: this.props.element.help,
574
+ onBlur: this.updateElement.bind(this),
575
+ onChange: this.editElementProp.bind(this, 'help', 'value')
544
576
  })), this.props.element.showDescription && /*#__PURE__*/_react["default"].createElement("div", {
545
577
  className: "form-group"
546
578
  }, /*#__PURE__*/_react["default"].createElement("label", {
package/lib/toolbar.js CHANGED
@@ -159,6 +159,9 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
159
159
  id: 'place-holder-label'
160
160
  }),
161
161
  field_name: 'dropdown_',
162
+ showCustomName: true,
163
+ showDescription: true,
164
+ showHelp: true,
162
165
  options: []
163
166
  }, {
164
167
  key: 'Tags',
@@ -171,6 +174,9 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
171
174
  id: 'place-holder-label'
172
175
  }),
173
176
  field_name: 'tags_',
177
+ showCustomName: true,
178
+ showDescription: true,
179
+ showHelp: true,
174
180
  options: []
175
181
  }, {
176
182
  key: 'Checkboxes',
@@ -183,6 +189,9 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
183
189
  id: 'place-holder-label'
184
190
  }),
185
191
  field_name: 'checkboxes_',
192
+ showCustomName: true,
193
+ showDescription: true,
194
+ showHelp: true,
186
195
  options: []
187
196
  }, {
188
197
  key: 'Checkbox',
@@ -195,6 +204,9 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
195
204
  id: 'place-holder-label'
196
205
  }),
197
206
  field_name: 'checkbox_',
207
+ showCustomName: true,
208
+ showDescription: true,
209
+ showHelp: true,
198
210
  boxLabel: 'Agree To Rules & Regs'
199
211
  }, {
200
212
  key: 'RadioButtons',
@@ -207,6 +219,9 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
207
219
  id: 'place-holder-label'
208
220
  }),
209
221
  field_name: 'radiobuttons_',
222
+ showCustomName: true,
223
+ showDescription: true,
224
+ showHelp: true,
210
225
  options: []
211
226
  }, {
212
227
  key: 'TextInput',
@@ -218,7 +233,10 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
218
233
  id: 'place-holder-label'
219
234
  }),
220
235
  icon: _fa.FaFont,
221
- field_name: 'text_input_'
236
+ field_name: 'text_input_',
237
+ showCustomName: true,
238
+ showDescription: true,
239
+ showHelp: true
222
240
  }, {
223
241
  key: 'EmailInput',
224
242
  canHaveAnswer: true,
@@ -230,6 +248,9 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
230
248
  }),
231
249
  icon: _fa.FaEnvelope,
232
250
  field_name: 'email_input_',
251
+ showCustomName: true,
252
+ showDescription: true,
253
+ showHelp: true,
233
254
  placeholder: ''
234
255
  }, {
235
256
  key: 'NumberInput',
@@ -241,7 +262,13 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
241
262
  id: 'place-holder-label'
242
263
  }),
243
264
  icon: _fa.FaPlus,
244
- field_name: 'number_input_'
265
+ field_name: 'number_input_',
266
+ showCustomName: true,
267
+ showDescription: true,
268
+ showHelp: true,
269
+ step: 1,
270
+ min_value: 0,
271
+ max_value: 5
245
272
  }, {
246
273
  key: 'PhoneNumber',
247
274
  canHaveAnswer: true,
@@ -252,7 +279,10 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
252
279
  id: 'place-holder-phone-number'
253
280
  }),
254
281
  icon: _fa.FaPhone,
255
- field_name: 'phone_input_'
282
+ field_name: 'phone_input_',
283
+ showCustomName: true,
284
+ showDescription: true,
285
+ showHelp: true
256
286
  }, {
257
287
  key: 'TextArea',
258
288
  canHaveAnswer: true,
@@ -263,7 +293,10 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
263
293
  id: 'place-holder-label'
264
294
  }),
265
295
  icon: _fa.FaTextHeight,
266
- field_name: 'text_area_'
296
+ field_name: 'text_area_',
297
+ showCustomName: true,
298
+ showDescription: true,
299
+ showHelp: true
267
300
  }, {
268
301
  key: 'FieldSet',
269
302
  canHaveAnswer: false,
@@ -348,7 +381,10 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
348
381
  id: 'place-holder-label'
349
382
  }),
350
383
  icon: _fa.FaStar,
351
- field_name: 'rating_'
384
+ field_name: 'rating_',
385
+ showCustomName: true,
386
+ showDescription: true,
387
+ showHelp: true
352
388
  }, {
353
389
  key: 'DatePicker',
354
390
  canDefaultToday: true,
@@ -365,7 +401,10 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
365
401
  label: intl.formatMessage({
366
402
  id: 'place-holder-label'
367
403
  }),
368
- field_name: 'date_picker_'
404
+ field_name: 'date_picker_',
405
+ showCustomName: true,
406
+ showDescription: true,
407
+ showHelp: true
369
408
  }, {
370
409
  key: 'Signature',
371
410
  canReadOnly: true,
@@ -420,7 +459,10 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
420
459
  }),
421
460
  max_label: intl.formatMessage({
422
461
  id: 'difficult'
423
- })
462
+ }),
463
+ showCustomName: true,
464
+ showDescription: true,
465
+ showHelp: true
424
466
  }, {
425
467
  key: 'Camera',
426
468
  name: intl.formatMessage({
@@ -490,8 +532,10 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
490
532
  elementOptions.bold = false;
491
533
  elementOptions.italic = false;
492
534
  }
493
- elementOptions.show_custom_name = item.show_custom_name;
535
+ elementOptions.showCustomName = item.showCustomName;
494
536
  elementOptions.custom_name = item.custom_name;
537
+ elementOptions.showHelp = item.showHelp;
538
+ elementOptions.help = item.help;
495
539
  if (item.canHaveAnswer) {
496
540
  elementOptions.canHaveAnswer = item.canHaveAnswer;
497
541
  }
@@ -536,6 +580,11 @@ var Toolbar = /*#__PURE__*/function (_React$Component) {
536
580
  elementOptions._href = item._href;
537
581
  elementOptions.file_path = item.file_path;
538
582
  }
583
+ if (element === 'NumberInput') {
584
+ elementOptions.step = item.step;
585
+ elementOptions.min_value = item.min_value;
586
+ elementOptions.max_value = item.max_value;
587
+ }
539
588
  if (element === 'Range') {
540
589
  elementOptions.step = item.step;
541
590
  elementOptions.default_value = item.default_value;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-survey-builder",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
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
@@ -138,6 +138,7 @@ export interface SurveyGeneratorOnSubmitParams {
138
138
  id: number;
139
139
  name: string;
140
140
  custom_name: string;
141
+ help: string;
141
142
  value: string | string[];
142
143
  }
143
144