react-survey-builder 1.0.76 → 1.0.77

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-steps.js CHANGED
@@ -357,9 +357,10 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
357
357
  });
358
358
  };
359
359
  var getContainerElement = function getContainerElement(item, Element) {
360
- var controls = item === null || item === void 0 ? void 0 : item.childItems.map(function (childItem) {
361
- return childItem ? getInputElement(getDataItemById(childItem)) : /*#__PURE__*/React.createElement("div", null, "\xA0");
362
- });
360
+ var _item$childItems;
361
+ var controls = isObjectNotEmpty(item) && isListNotEmpty(item.childItems) ? item === null || item === void 0 || (_item$childItems = item.childItems) === null || _item$childItems === void 0 ? void 0 : _item$childItems.map(function (childItem) {
362
+ return childItem ? getFieldElement(getDataItemById(childItem)) : /*#__PURE__*/React.createElement("div", null, "\xA0");
363
+ }) : [];
363
364
  return /*#__PURE__*/React.createElement(Element, {
364
365
  mutable: true,
365
366
  key: "form_".concat(item.id),
@@ -453,106 +454,14 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
453
454
  className: "btn-cancel"
454
455
  }, backName);
455
456
  };
456
-
457
- //#endregion
458
-
459
- var onBackStep = /*#__PURE__*/function () {
460
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
461
- var oldStep, previousIndex;
462
- return _regeneratorRuntime().wrap(function _callee$(_context) {
463
- while (1) switch (_context.prev = _context.next) {
464
- case 0:
465
- oldStep = steps.find(function (i) {
466
- return i.id === id;
467
- });
468
- previousIndex = oldStep.index - 1;
469
- setActiveStep(previousIndex > 0 ? steps[previousIndex] : null);
470
- case 3:
471
- case "end":
472
- return _context.stop();
473
- }
474
- }, _callee);
475
- }));
476
- return function onBackStep() {
477
- return _ref7.apply(this, arguments);
478
- };
479
- }();
480
- var onNextStep = /*#__PURE__*/function () {
481
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
482
- var oldStep, clean, updatedSteps, nextStep;
483
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
484
- while (1) switch (_context2.prev = _context2.next) {
485
- case 0:
486
- oldStep = isObjectNotEmpty(activeStep) ? _objectSpread({}, activeStep) : null;
487
- if (!oldStep) {
488
- _context2.next = 15;
489
- break;
490
- }
491
- console.log(oldStep);
492
- // validate childItems of step
493
- _context2.next = 5;
494
- return methods.trigger(oldStep.childQuestions.map(function (i) {
495
- return i.name;
496
- }), true);
497
- case 5:
498
- clean = _context2.sent;
499
- console.log(clean);
500
- if (!clean) {
501
- _context2.next = 14;
502
- break;
503
- }
504
- updatedSteps = updateRecord('id', _objectSpread(_objectSpread({}, oldStep), {}, {
505
- completed: true,
506
- answers: _collectFormData(oldStep.childQuestions, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || [])
507
- }), _toConsumableArray(steps));
508
- setSteps(updatedSteps);
509
-
510
- // get next incomplete survey
511
- nextStep = steps.find(function (i) {
512
- return i.completed === false;
513
- });
514
- if (nextStep !== undefined) {
515
- setActiveStep(nextStep);
516
- } else {
517
- if (onFinishedSurveys) {
518
- onFinishedSurveys();
519
- }
520
- }
521
- _context2.next = 15;
522
- break;
523
- case 14:
524
- return _context2.abrupt("return");
525
- case 15:
526
- case "end":
527
- return _context2.stop();
528
- }
529
- }, _callee2);
530
- }));
531
- return function onNextStep() {
532
- return _ref8.apply(this, arguments);
533
- };
534
- }();
535
- var dataItems = items ? _toConsumableArray(items) : [];
536
- if (displayShort) {
537
- dataItems = items ? _toConsumableArray(items).filter(function (i) {
538
- return i.alternateForm === true;
539
- }) : [];
540
- }
541
- dataItems.forEach(function (item) {
542
- if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {
543
- answerData.current[item.fieldName] = variables[item.variableKey];
544
- }
545
- });
546
- var stepItems = dataItems.filter(function (x) {
547
- return !x.parentId && x.element === 'Step';
548
- }).map(function (item) {
549
- var _ref9, _ref10, _ref11;
457
+ var getFieldElement = function getFieldElement(item) {
458
+ var _ref7, _ref8, _ref9;
550
459
  if (!item) return null;
551
460
  item.fieldRules = getFieldRules(item);
552
461
  item.print = print !== null && print !== void 0 ? print : false;
553
- item.readOnly = (_ref9 = readOnly || item.readOnly) !== null && _ref9 !== void 0 ? _ref9 : false;
554
- item.hideLabel = (_ref10 = hideLabels || item.hideLabel) !== null && _ref10 !== void 0 ? _ref10 : false;
555
- item.disabled = (_ref11 = readOnly || item.readOnly) !== null && _ref11 !== void 0 ? _ref11 : false;
462
+ item.readOnly = (_ref7 = readOnly || item.readOnly) !== null && _ref7 !== void 0 ? _ref7 : false;
463
+ item.hideLabel = (_ref8 = hideLabels || item.hideLabel) !== null && _ref8 !== void 0 ? _ref8 : false;
464
+ item.disabled = (_ref9 = readOnly || item.readOnly) !== null && _ref9 !== void 0 ? _ref9 : false;
556
465
  item.mutable = true;
557
466
  switch (item.element) {
558
467
  case 'RadioButtons':
@@ -590,19 +499,19 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
590
499
  defaultValue: _getDefaultValue(item),
591
500
  disabled: item.disabled,
592
501
  required: item.required,
593
- render: function render(_ref12) {
594
- var _ref12$field = _ref12.field,
595
- _onChange3 = _ref12$field.onChange,
596
- onBlur = _ref12$field.onBlur,
597
- value = _ref12$field.value,
598
- name = _ref12$field.name,
599
- ref = _ref12$field.ref,
600
- _ref12$fieldState = _ref12.fieldState,
601
- invalid = _ref12$fieldState.invalid,
602
- isTouched = _ref12$fieldState.isTouched,
603
- isDirty = _ref12$fieldState.isDirty,
604
- error = _ref12$fieldState.error,
605
- formState = _ref12.formState;
502
+ render: function render(_ref10) {
503
+ var _ref10$field = _ref10.field,
504
+ _onChange3 = _ref10$field.onChange,
505
+ onBlur = _ref10$field.onBlur,
506
+ value = _ref10$field.value,
507
+ name = _ref10$field.name,
508
+ ref = _ref10$field.ref,
509
+ _ref10$fieldState = _ref10.fieldState,
510
+ invalid = _ref10$fieldState.invalid,
511
+ isTouched = _ref10$fieldState.isTouched,
512
+ isDirty = _ref10$fieldState.isDirty,
513
+ error = _ref10$fieldState.error,
514
+ formState = _ref10.formState;
606
515
  return /*#__PURE__*/React.createElement(Signature, {
607
516
  methods: methods,
608
517
  onBlur: onBlur,
@@ -628,19 +537,19 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
628
537
  defaultValue: _optionsDefaultValue(item),
629
538
  disabled: item.disabled,
630
539
  required: item.required,
631
- render: function render(_ref13) {
632
- var _ref13$field = _ref13.field,
633
- _onChange4 = _ref13$field.onChange,
634
- onBlur = _ref13$field.onBlur,
635
- value = _ref13$field.value,
636
- name = _ref13$field.name,
637
- ref = _ref13$field.ref,
638
- _ref13$fieldState = _ref13.fieldState,
639
- invalid = _ref13$fieldState.invalid,
640
- isTouched = _ref13$fieldState.isTouched,
641
- isDirty = _ref13$fieldState.isDirty,
642
- error = _ref13$fieldState.error,
643
- formState = _ref13.formState;
540
+ render: function render(_ref11) {
541
+ var _ref11$field = _ref11.field,
542
+ _onChange4 = _ref11$field.onChange,
543
+ onBlur = _ref11$field.onBlur,
544
+ value = _ref11$field.value,
545
+ name = _ref11$field.name,
546
+ ref = _ref11$field.ref,
547
+ _ref11$fieldState = _ref11.fieldState,
548
+ invalid = _ref11$fieldState.invalid,
549
+ isTouched = _ref11$fieldState.isTouched,
550
+ isDirty = _ref11$fieldState.isDirty,
551
+ error = _ref11$fieldState.error,
552
+ formState = _ref11.formState;
644
553
  return /*#__PURE__*/React.createElement(Checkboxes, {
645
554
  onBlur: onBlur,
646
555
  onChange: function onChange(e) {
@@ -682,19 +591,19 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
682
591
  defaultValue: _getDefaultValue(item),
683
592
  disabled: item.disabled,
684
593
  required: item.required,
685
- render: function render(_ref14) {
686
- var _ref14$field = _ref14.field,
687
- _onChange5 = _ref14$field.onChange,
688
- onBlur = _ref14$field.onBlur,
689
- value = _ref14$field.value,
690
- name = _ref14$field.name,
691
- ref = _ref14$field.ref,
692
- _ref14$fieldState = _ref14.fieldState,
693
- invalid = _ref14$fieldState.invalid,
694
- isTouched = _ref14$fieldState.isTouched,
695
- isDirty = _ref14$fieldState.isDirty,
696
- error = _ref14$fieldState.error,
697
- formState = _ref14.formState;
594
+ render: function render(_ref12) {
595
+ var _ref12$field = _ref12.field,
596
+ _onChange5 = _ref12$field.onChange,
597
+ onBlur = _ref12$field.onBlur,
598
+ value = _ref12$field.value,
599
+ name = _ref12$field.name,
600
+ ref = _ref12$field.ref,
601
+ _ref12$fieldState = _ref12.fieldState,
602
+ invalid = _ref12$fieldState.invalid,
603
+ isTouched = _ref12$fieldState.isTouched,
604
+ isDirty = _ref12$fieldState.isDirty,
605
+ error = _ref12$fieldState.error,
606
+ formState = _ref12.formState;
698
607
  return /*#__PURE__*/React.createElement(Camera, {
699
608
  onBlur: onBlur,
700
609
  onChange: function onChange(e) {
@@ -720,19 +629,19 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
720
629
  defaultValue: _getDefaultValue(item),
721
630
  disabled: item.disabled,
722
631
  required: item.required,
723
- render: function render(_ref15) {
724
- var _ref15$field = _ref15.field,
725
- _onChange6 = _ref15$field.onChange,
726
- onBlur = _ref15$field.onBlur,
727
- value = _ref15$field.value,
728
- name = _ref15$field.name,
729
- ref = _ref15$field.ref,
730
- _ref15$fieldState = _ref15.fieldState,
731
- invalid = _ref15$fieldState.invalid,
732
- isTouched = _ref15$fieldState.isTouched,
733
- isDirty = _ref15$fieldState.isDirty,
734
- error = _ref15$fieldState.error,
735
- formState = _ref15.formState;
632
+ render: function render(_ref13) {
633
+ var _ref13$field = _ref13.field,
634
+ _onChange6 = _ref13$field.onChange,
635
+ onBlur = _ref13$field.onBlur,
636
+ value = _ref13$field.value,
637
+ name = _ref13$field.name,
638
+ ref = _ref13$field.ref,
639
+ _ref13$fieldState = _ref13.fieldState,
640
+ invalid = _ref13$fieldState.invalid,
641
+ isTouched = _ref13$fieldState.isTouched,
642
+ isDirty = _ref13$fieldState.isDirty,
643
+ error = _ref13$fieldState.error,
644
+ formState = _ref13.formState;
736
645
  return /*#__PURE__*/React.createElement(FileUpload, {
737
646
  onBlur: onBlur,
738
647
  onChange: function onChange(e) {
@@ -752,6 +661,101 @@ var ReactSurveyFormSteps = function ReactSurveyFormSteps(_ref) {
752
661
  default:
753
662
  return getSimpleElement(item);
754
663
  }
664
+ };
665
+
666
+ //#endregion
667
+
668
+ var onBackStep = /*#__PURE__*/function () {
669
+ var _ref14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
670
+ var oldStep, previousIndex;
671
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
672
+ while (1) switch (_context.prev = _context.next) {
673
+ case 0:
674
+ oldStep = steps.find(function (i) {
675
+ return i.id === id;
676
+ });
677
+ previousIndex = oldStep.index - 1;
678
+ setActiveStep(previousIndex > 0 ? steps[previousIndex] : null);
679
+ case 3:
680
+ case "end":
681
+ return _context.stop();
682
+ }
683
+ }, _callee);
684
+ }));
685
+ return function onBackStep() {
686
+ return _ref14.apply(this, arguments);
687
+ };
688
+ }();
689
+ var onNextStep = /*#__PURE__*/function () {
690
+ var _ref15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
691
+ var oldStep, clean, updatedSteps, nextStep;
692
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
693
+ while (1) switch (_context2.prev = _context2.next) {
694
+ case 0:
695
+ oldStep = isObjectNotEmpty(activeStep) ? _objectSpread({}, activeStep) : null;
696
+ if (!oldStep) {
697
+ _context2.next = 15;
698
+ break;
699
+ }
700
+ console.log(oldStep);
701
+ // validate childItems of step
702
+ _context2.next = 5;
703
+ return methods.trigger(oldStep.childQuestions.map(function (i) {
704
+ return i.name;
705
+ }), true);
706
+ case 5:
707
+ clean = _context2.sent;
708
+ console.log(clean);
709
+ if (!clean) {
710
+ _context2.next = 14;
711
+ break;
712
+ }
713
+ updatedSteps = updateRecord('id', _objectSpread(_objectSpread({}, oldStep), {}, {
714
+ completed: true,
715
+ answers: _collectFormData(oldStep.childQuestions, (methods === null || methods === void 0 ? void 0 : methods.getValues()) || [])
716
+ }), _toConsumableArray(steps));
717
+ setSteps(updatedSteps);
718
+
719
+ // get next incomplete survey
720
+ nextStep = steps.find(function (i) {
721
+ return i.completed === false;
722
+ });
723
+ if (nextStep !== undefined) {
724
+ setActiveStep(nextStep);
725
+ } else {
726
+ if (onFinishedSurveys) {
727
+ onFinishedSurveys();
728
+ }
729
+ }
730
+ _context2.next = 15;
731
+ break;
732
+ case 14:
733
+ return _context2.abrupt("return");
734
+ case 15:
735
+ case "end":
736
+ return _context2.stop();
737
+ }
738
+ }, _callee2);
739
+ }));
740
+ return function onNextStep() {
741
+ return _ref15.apply(this, arguments);
742
+ };
743
+ }();
744
+ var dataItems = items ? _toConsumableArray(items) : [];
745
+ if (displayShort) {
746
+ dataItems = items ? _toConsumableArray(items).filter(function (i) {
747
+ return i.alternateForm === true;
748
+ }) : [];
749
+ }
750
+ dataItems.forEach(function (item) {
751
+ if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {
752
+ answerData.current[item.fieldName] = variables[item.variableKey];
753
+ }
754
+ });
755
+ var stepItems = dataItems.filter(function (x) {
756
+ return !x.parentId && x.element === 'Step';
757
+ }).map(function (item) {
758
+ return getFieldElement(item);
755
759
  });
756
760
  React.useMemo(function () {
757
761
  if (isListNotEmpty(stepItems)) {
package/lib/form.js CHANGED
@@ -25,6 +25,7 @@ import CustomElement from './survey-elements/custom-element';
25
25
  import Registry from './stores/registry';
26
26
  import { Button, Form } from 'react-bootstrap';
27
27
  import { Controller, FormProvider, useForm } from "react-hook-form";
28
+ import { isListNotEmpty, isObjectNotEmpty } from './utils/objectUtils';
28
29
  var ReactSurvey = function ReactSurvey(_ref) {
29
30
  var _ref$validateForCorre = _ref.validateForCorrectness,
30
31
  validateForCorrectness = _ref$validateForCorre === void 0 ? false : _ref$validateForCorre,
@@ -356,9 +357,10 @@ var ReactSurvey = function ReactSurvey(_ref) {
356
357
  });
357
358
  };
358
359
  var getContainerElement = function getContainerElement(item, Element) {
359
- var controls = item === null || item === void 0 ? void 0 : item.childItems.map(function (childItem) {
360
- return childItem ? getInputElement(getDataItemById(childItem)) : /*#__PURE__*/React.createElement("div", null, "\xA0");
361
- });
360
+ var _item$childItems;
361
+ var controls = isObjectNotEmpty(item) && isListNotEmpty(item.childItems) ? item === null || item === void 0 || (_item$childItems = item.childItems) === null || _item$childItems === void 0 ? void 0 : _item$childItems.map(function (childItem) {
362
+ return childItem ? getFieldElement(getDataItemById(childItem)) : /*#__PURE__*/React.createElement("div", null, "\xA0");
363
+ }) : [];
362
364
  return /*#__PURE__*/React.createElement(Element, {
363
365
  mutable: true,
364
366
  key: "form_".concat(item.id),
@@ -452,23 +454,7 @@ var ReactSurvey = function ReactSurvey(_ref) {
452
454
  className: "btn-cancel"
453
455
  }, backName);
454
456
  };
455
-
456
- //#endregion
457
-
458
- var dataItems = items ? _toConsumableArray(items) : [];
459
- if (displayShort) {
460
- dataItems = items ? _toConsumableArray(items).filter(function (i) {
461
- return i.alternateForm === true;
462
- }) : [];
463
- }
464
- dataItems.forEach(function (item) {
465
- if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {
466
- answerData.current[item.fieldName] = variables[item.variableKey];
467
- }
468
- });
469
- var fieldItems = dataItems.filter(function (x) {
470
- return !x.parentId;
471
- }).map(function (item) {
457
+ var getFieldElement = function getFieldElement(item) {
472
458
  var _ref7, _ref8, _ref9;
473
459
  if (!item) return null;
474
460
  item.fieldRules = getFieldRules(item);
@@ -675,6 +661,25 @@ var ReactSurvey = function ReactSurvey(_ref) {
675
661
  default:
676
662
  return getSimpleElement(item);
677
663
  }
664
+ };
665
+
666
+ //#endregion
667
+
668
+ var dataItems = items ? _toConsumableArray(items) : [];
669
+ if (displayShort) {
670
+ dataItems = items ? _toConsumableArray(items).filter(function (i) {
671
+ return i.alternateForm === true;
672
+ }) : [];
673
+ }
674
+ dataItems.forEach(function (item) {
675
+ if (item && item.readOnly && item.variableKey && variables[item.variableKey]) {
676
+ answerData.current[item.fieldName] = variables[item.variableKey];
677
+ }
678
+ });
679
+ var fieldItems = dataItems.filter(function (x) {
680
+ return !x.parentId;
681
+ }).map(function (item) {
682
+ return getFieldElement(item);
678
683
  });
679
684
  var formProps = {};
680
685
  if (formId) {
package/lib/index.js CHANGED
@@ -89,11 +89,11 @@ var ReactSurveyBuilder = function ReactSurveyBuilder(_ref) {
89
89
  }, /*#__PURE__*/React.createElement(Toolbar, {
90
90
  toolbarTop: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", null, surveyName !== null && surveyName !== void 0 ? surveyName : 'Preview')), /*#__PURE__*/React.createElement("div", {
91
91
  className: "d-grid gap-3 mb-3"
92
- }, !!!saveAlways && /*#__PURE__*/React.createElement(Button, {
92
+ }, !!!saveAlways ? /*#__PURE__*/React.createElement(Button, {
93
93
  onClick: function onClick() {
94
94
  saveFormData();
95
95
  }
96
- }, saveSurveyName || 'Save Survey'), previewSurveyBlock ? previewSurveyBlock : null)),
96
+ }, saveSurveyName || 'Save Survey') : null, previewSurveyBlock ? previewSurveyBlock : null)),
97
97
  showDescription: showDescription,
98
98
  items: toolbarItems,
99
99
  customItems: customToolbarItems
@@ -250,4 +250,4 @@ SurveyBuilders.ElementStore = store;
250
250
  SurveyBuilders.Registry = Registry;
251
251
  SurveyBuilders.cleanUpSurveyItems = cleanUpSurveyItems;
252
252
  export default SurveyBuilders;
253
- export { cleanUpSurveyItems, ReactSurveyBuilder, ReactSurveyGenerator, ReactSurveyFieldGenerator, store as ElementStore, Registry };
253
+ export { cleanUpSurveyItems, ReactSurveyBuilder, ReactSurveyGenerator, ReactSurveyFieldGenerator, ReactSurveyStepGenerator, store as ElementStore, Registry };
@@ -15,6 +15,7 @@ import ItemTypes from '../ItemTypes';
15
15
  import CustomElement from '../survey-elements/custom-element';
16
16
  import Registry from '../stores/registry';
17
17
  import store from '../stores/store';
18
+ import { isListNotEmpty } from '../utils/objectUtils';
18
19
  function getCustomElement(item, props) {
19
20
  var _item$fieldName;
20
21
  if (!item.component || typeof item.component !== 'function') {
@@ -93,7 +94,7 @@ var Dustbin = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
93
94
  col = _ref.col,
94
95
  getItemById = _ref.getItemById,
95
96
  otherProps = _objectWithoutProperties(_ref, _excluded);
96
- var item = getItemById(items[col]);
97
+ var item = isListNotEmpty(items) ? getItemById(items[col]) : null;
97
98
  React.useImperativeHandle(ref, function () {
98
99
  return {
99
100
  onDrop: function onDrop(dropped) {
package/lib/step/Step.js CHANGED
@@ -27,7 +27,6 @@ import { Col, Container, Row } from "react-bootstrap";
27
27
  import { isListNotEmpty, isObjectNotEmpty } from "../utils/objectUtils";
28
28
  var accepts = [ItemTypes.BOX, ItemTypes.CARD];
29
29
  var StepBase = function StepBase(_ref) {
30
- var _item$conditional;
31
30
  var item = _ref.item,
32
31
  controls = _ref.controls,
33
32
  items = _ref.items,
@@ -45,14 +44,12 @@ var StepBase = function StepBase(_ref) {
45
44
  if (pageBreakBefore) {
46
45
  baseClasses += " alwaysbreak";
47
46
  }
48
- var _React$useState = React.useState((_item$conditional = item === null || item === void 0 ? void 0 : item.conditional) !== null && _item$conditional !== void 0 ? _item$conditional : false),
47
+
48
+ // const [hidden, setHidden] = React.useState(item?.conditional ?? false);
49
+ var _React$useState = React.useState(isObjectNotEmpty(item) && isListNotEmpty(item === null || item === void 0 ? void 0 : item.childItems) ? _toConsumableArray(item === null || item === void 0 ? void 0 : item.childItems) : [null]),
49
50
  _React$useState2 = _slicedToArray(_React$useState, 2),
50
- hidden = _React$useState2[0],
51
- setHidden = _React$useState2[1];
52
- var _React$useState3 = React.useState(isObjectNotEmpty(item) && isListNotEmpty(item === null || item === void 0 ? void 0 : item.childItems) ? _toConsumableArray(item === null || item === void 0 ? void 0 : item.childItems) : [null]),
53
- _React$useState4 = _slicedToArray(_React$useState3, 2),
54
- childItemIds = _React$useState4[0],
55
- setChildItemIds = _React$useState4[1];
51
+ childItemIds = _React$useState2[0],
52
+ setChildItemIds = _React$useState2[1];
56
53
  var _onDropSuccess = function onDropSuccess(droppedIndex) {
57
54
  // let updatedItem = isObjectNotEmpty(item) ? { ...item } : {};
58
55
  // let existingChildItemIds = isListNotEmpty(updatedItem.childItems) ? [...updatedItem.childItems] : [null];
@@ -71,42 +68,42 @@ var StepBase = function StepBase(_ref) {
71
68
  setChildItemIds([null]);
72
69
  }
73
70
  }, [item]);
74
- React.useEffect(function () {
75
- // console.log('all items', items);
76
- var hideStep = false;
77
- if ((item === null || item === void 0 ? void 0 : item.conditional) === true) {
78
- hideStep = true;
79
- if (item.conditionalFieldName && item.conditionalFieldValue && answers !== undefined && answers !== null && answers.length > 0) {
80
- var answerField = answers.find(function (i) {
81
- return i.name === item.conditionalFieldName;
82
- });
83
- if (answerField !== undefined && (answerField === null || answerField === void 0 ? void 0 : answerField.value) !== undefined) {
84
- if (Array.isArray(item.conditionalFieldValue)) {
85
- if (Array.isArray(answerField === null || answerField === void 0 ? void 0 : answerField.value)) {
86
- var match = item.conditionalFieldValue.some(function (i) {
87
- return answerField.value.includes(i);
88
- });
89
- if (match) {
90
- hideStep = false;
91
- }
92
- } else if (item.conditionalFieldValue.includes(answerField.value)) {
93
- hideStep = false;
94
- }
95
- } else {
96
- if (Array.isArray(answerField === null || answerField === void 0 ? void 0 : answerField.value)) {
97
- var _match = answerField.value.includes(item.conditionalFieldValue);
98
- if (_match) {
99
- hideStep = false;
100
- }
101
- } else if (item.conditionalFieldValue === answerField.value) {
102
- hideStep = false;
103
- }
104
- }
105
- }
106
- }
107
- }
108
- setHidden(hideStep);
109
- }, [item, answers]);
71
+
72
+ // React.useEffect(() => {
73
+ // // console.log('all items', items);
74
+ // let hideStep = false;
75
+ // if (item?.conditional === true) {
76
+ // hideStep = true;
77
+ // if (item.conditionalFieldName && item.conditionalFieldValue && answers !== undefined && answers !== null && answers.length > 0) {
78
+ // const answerField = answers.find(i => i.name === item.conditionalFieldName);
79
+ // if (answerField !== undefined && answerField?.value !== undefined) {
80
+ // if (Array.isArray(item.conditionalFieldValue)) {
81
+ // if (Array.isArray(answerField?.value)) {
82
+ // let match = item.conditionalFieldValue.some(i => answerField.value.includes(i));
83
+ // if (match) {
84
+ // hideStep = false;
85
+ // }
86
+ // } else if (item.conditionalFieldValue.includes(answerField.value)) {
87
+ // hideStep = false;
88
+ // }
89
+ // } else {
90
+ // if (Array.isArray(answerField?.value)) {
91
+ // let match = answerField.value.includes(item.conditionalFieldValue);
92
+ // if (match) {
93
+ // hideStep = false;
94
+ // }
95
+ // } else if (item.conditionalFieldValue === answerField.value) {
96
+ // hideStep = false;
97
+ // }
98
+ // }
99
+ // }
100
+ // }
101
+ // }
102
+
103
+ // setHidden(hideStep);
104
+ // }, [item, answers]);
105
+
106
+ console.log('controls', controls);
110
107
  return /*#__PURE__*/React.createElement("div", {
111
108
  style: _objectSpread({}, style),
112
109
  className: baseClasses
@@ -114,9 +111,10 @@ var StepBase = function StepBase(_ref) {
114
111
  item: item,
115
112
  index: index,
116
113
  editModeOn: editModeOn,
117
- setAsChild: setAsChild
118
- }, otherProps)), /*#__PURE__*/React.createElement("fieldset", {
119
- className: hidden ? 'w-100 d-none' : 'w-100'
114
+ setAsChild: setAsChild,
115
+ isStep: true
116
+ }, otherProps)), /*#__PURE__*/React.createElement("div", {
117
+ className: 'd-grid w-100'
120
118
  }, childItemIds === null || childItemIds === void 0 ? void 0 : childItemIds.map(function (childItemId, childItemIndex) {
121
119
  return /*#__PURE__*/React.createElement("div", {
122
120
  key: "".concat(childItemIndex, "_").concat(childItemId || "_")
@@ -2,7 +2,10 @@ import React from 'react';
2
2
  import HeaderBar from './header-bar';
3
3
  var ComponentHeader = function ComponentHeader(_ref) {
4
4
  var item = _ref.item,
5
- isFieldSet = _ref.isFieldSet,
5
+ _ref$isFieldSet = _ref.isFieldSet,
6
+ isFieldSet = _ref$isFieldSet === void 0 ? false : _ref$isFieldSet,
7
+ _ref$isStep = _ref.isStep,
8
+ isStep = _ref$isStep === void 0 ? false : _ref$isStep,
6
9
  index = _ref.index,
7
10
  editModeOn = _ref.editModeOn,
8
11
  setAsChild = _ref.setAsChild,
@@ -15,6 +18,7 @@ var ComponentHeader = function ComponentHeader(_ref) {
15
18
  className: "preview-page-break"
16
19
  }, "Page Break"), /*#__PURE__*/React.createElement(HeaderBar, {
17
20
  isFieldSet: isFieldSet,
21
+ isStep: isStep,
18
22
  editModeOn: editModeOn,
19
23
  item: item,
20
24
  index: index,
@@ -7,12 +7,14 @@ var HeaderBar = function HeaderBar(_ref) {
7
7
  editModeOn = _ref.editModeOn,
8
8
  onDestroy = _ref.onDestroy,
9
9
  setAsChild = _ref.setAsChild,
10
- index = _ref.index;
10
+ index = _ref.index,
11
+ _ref$isStep = _ref.isStep,
12
+ isStep = _ref$isStep === void 0 ? false : _ref$isStep;
11
13
  return /*#__PURE__*/React.createElement(ButtonToolbar, {
12
14
  className: "d-flex toolbar-header align-items-center justify-content-between p-2"
13
15
  }, /*#__PURE__*/React.createElement(Badge, {
14
16
  bg: "secondary"
15
- }, item.text), /*#__PURE__*/React.createElement("div", {
17
+ }, item.text, isStep ? ' ' + (Number(index) + 1) : '', isStep && (item === null || item === void 0 ? void 0 : item.conditional) === true ? ' (Conditional)' : ''), /*#__PURE__*/React.createElement("div", {
16
18
  className: "toolbar-header-buttons"
17
19
  }, item.element !== 'LineBreak' && /*#__PURE__*/React.createElement(Button, {
18
20
  variant: "default",
@@ -595,6 +595,7 @@ var SurveyElementsEdit = function SurveyElementsEdit(_ref2) {
595
595
  type: "checkbox",
596
596
  checked: thisCheckedConditional,
597
597
  value: true,
598
+ onBlur: onUpdateElement,
598
599
  onChange: function onChange(e) {
599
600
  editElementProp('conditional', 'checked', e);
600
601
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-survey-builder",
3
- "version": "1.0.76",
3
+ "version": "1.0.77",
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
@@ -141,6 +141,9 @@ export interface SurveyBuilderProps {
141
141
  saveAlways?: boolean;
142
142
  editMode?: boolean;
143
143
  renderEditForm?: (props: BaseElement) => React.ReactNode;
144
+ checkboxButtonClassName?: string;
145
+ headerClassName?: string;
146
+ labelClassName?: string;
144
147
  }
145
148
 
146
149
  export class ReactSurveyBuilder extends React.Component<SurveyBuilderProps> {}