@bigbinary/neeto-form-frontend 4.4.17 → 4.4.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +1 -1
  2. package/app/javascript/src/translations/ar.json +8 -2
  3. package/app/javascript/src/translations/bg.json +8 -2
  4. package/app/javascript/src/translations/ca.json +8 -2
  5. package/app/javascript/src/translations/cs.json +8 -2
  6. package/app/javascript/src/translations/da.json +8 -2
  7. package/app/javascript/src/translations/de.json +8 -2
  8. package/app/javascript/src/translations/en.json +7 -1
  9. package/app/javascript/src/translations/es-MX.json +8 -2
  10. package/app/javascript/src/translations/es.json +8 -2
  11. package/app/javascript/src/translations/et.json +8 -2
  12. package/app/javascript/src/translations/fi.json +8 -2
  13. package/app/javascript/src/translations/fil.json +8 -2
  14. package/app/javascript/src/translations/fr.json +8 -2
  15. package/app/javascript/src/translations/he.json +8 -2
  16. package/app/javascript/src/translations/hi.json +8 -2
  17. package/app/javascript/src/translations/hr.json +8 -2
  18. package/app/javascript/src/translations/hu.json +8 -2
  19. package/app/javascript/src/translations/id.json +8 -2
  20. package/app/javascript/src/translations/it.json +8 -2
  21. package/app/javascript/src/translations/ja.json +8 -2
  22. package/app/javascript/src/translations/ko.json +8 -2
  23. package/app/javascript/src/translations/nl.json +8 -2
  24. package/app/javascript/src/translations/pl.json +8 -2
  25. package/app/javascript/src/translations/pt-BR.json +8 -2
  26. package/app/javascript/src/translations/pt.json +8 -2
  27. package/app/javascript/src/translations/ro.json +8 -2
  28. package/app/javascript/src/translations/ru.json +8 -2
  29. package/app/javascript/src/translations/sk.json +8 -2
  30. package/app/javascript/src/translations/sl.json +8 -2
  31. package/app/javascript/src/translations/sv.json +8 -2
  32. package/app/javascript/src/translations/th.json +8 -2
  33. package/app/javascript/src/translations/tr.json +8 -2
  34. package/app/javascript/src/translations/uk.json +8 -2
  35. package/app/javascript/src/translations/vi.json +8 -2
  36. package/app/javascript/src/translations/zh-CN.json +8 -2
  37. package/app/javascript/src/translations/zh-TW.json +8 -2
  38. package/dist/.ready +1 -1
  39. package/dist/BuildForm.js +111 -33
  40. package/dist/BuildForm.js.map +1 -1
  41. package/dist/ExternalForm.js +24 -2
  42. package/dist/ExternalForm.js.map +1 -1
  43. package/dist/UrlBuilder.js +24 -2
  44. package/dist/UrlBuilder.js.map +1 -1
  45. package/dist/cjs/BuildForm.js +111 -33
  46. package/dist/cjs/BuildForm.js.map +1 -1
  47. package/dist/cjs/ExternalForm.js +24 -2
  48. package/dist/cjs/ExternalForm.js.map +1 -1
  49. package/dist/cjs/UrlBuilder.js +24 -2
  50. package/dist/cjs/UrlBuilder.js.map +1 -1
  51. package/dist/cjs/index.js +25 -3
  52. package/dist/cjs/index.js.map +1 -1
  53. package/dist/index.js +25 -3
  54. package/dist/index.js.map +1 -1
  55. package/dist/{utils-H7u9B9Jq.js → utils-NwGbGewW.js} +2 -2
  56. package/dist/{utils-H7u9B9Jq.js.map → utils-NwGbGewW.js.map} +1 -1
  57. package/dist/{utils-QSMxxdQN.js → utils-rfqUlBlT.js} +2 -2
  58. package/dist/{utils-QSMxxdQN.js.map → utils-rfqUlBlT.js.map} +1 -1
  59. package/dist/{yup-B3JGBWm7.js → yup-CBPWSDXh.js} +67 -8
  60. package/dist/yup-CBPWSDXh.js.map +1 -0
  61. package/dist/{yup-DfKhsn0t.js → yup-COZendlM.js} +67 -8
  62. package/dist/yup-COZendlM.js.map +1 -0
  63. package/package.json +18 -18
  64. package/dist/yup-B3JGBWm7.js.map +0 -1
  65. package/dist/yup-DfKhsn0t.js.map +0 -1
@@ -6,7 +6,7 @@ var neetoCist = require('@bigbinary/neeto-cist');
6
6
  var Spinner = require('@bigbinary/neetoui/Spinner');
7
7
  var ramda = require('ramda');
8
8
  var constants = require('../constants-D5JlvWws.js');
9
- var yup = require('../yup-DfKhsn0t.js');
9
+ var yup = require('../yup-COZendlM.js');
10
10
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
11
11
  var React = require('react');
12
12
  var dnd = require('@hello-pangea/dnd');
@@ -23,9 +23,9 @@ var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
23
23
  var Dropdown = require('@bigbinary/neetoui/Dropdown');
24
24
  var Tooltip = require('@bigbinary/neetoui/Tooltip');
25
25
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
26
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
26
27
  var index = require('../index-Beo6ztaM.js');
27
28
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
28
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
29
29
  var i18next = require('i18next');
30
30
  var uuid = require('uuid');
31
31
  var NoData = require('@bigbinary/neetoui/NoData');
@@ -60,6 +60,28 @@ var Slider = require('@bigbinary/neetoui/Slider');
60
60
  var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
61
61
  require('@bigbinary/neeto-commons-frontend/constants');
62
62
  require('axios');
63
+ require('@bigbinary/neeto-icons/Address');
64
+ require('@bigbinary/neeto-icons/Calendar');
65
+ require('@bigbinary/neeto-icons/Captcha');
66
+ require('@bigbinary/neeto-icons/Checkbox');
67
+ require('@bigbinary/neeto-icons/DropdownClosed');
68
+ require('@bigbinary/neeto-icons/Email');
69
+ require('@bigbinary/neeto-icons/FileUpload');
70
+ require('@bigbinary/neeto-icons/Group');
71
+ require('@bigbinary/neeto-icons/Hash');
72
+ require('@bigbinary/neeto-icons/Header');
73
+ require('@bigbinary/neeto-icons/Location');
74
+ require('@bigbinary/neeto-icons/LongText');
75
+ require('@bigbinary/neeto-icons/MessageSquare');
76
+ require('@bigbinary/neeto-icons/NeetoInvisible');
77
+ require('@bigbinary/neeto-icons/PhoneRing');
78
+ require('@bigbinary/neeto-icons/Radio');
79
+ require('@bigbinary/neeto-icons/Rating');
80
+ require('@bigbinary/neeto-icons/Scale');
81
+ require('@bigbinary/neeto-icons/Sms');
82
+ require('@bigbinary/neeto-icons/Terms');
83
+ require('@bigbinary/neeto-icons/TextLines');
84
+ require('@bigbinary/neeto-icons/UserRoundedRect');
63
85
  require('dompurify');
64
86
  require('@bigbinary/neeto-icons/Plus');
65
87
  require('zustand');
@@ -299,7 +321,9 @@ var Card = function Card(_ref) {
299
321
  onEdit = _ref.onEdit,
300
322
  onClone = _ref.onClone,
301
323
  onDelete = _ref.onDelete,
302
- canManageQuestions = _ref.canManageQuestions;
324
+ canManageQuestions = _ref.canManageQuestions,
325
+ _ref$extraMenuItems = _ref.extraMenuItems,
326
+ extraMenuItems = _ref$extraMenuItems === void 0 ? [] : _ref$extraMenuItems;
303
327
  var _useState = React.useState(false),
304
328
  _useState2 = _slicedToArray(_useState, 2),
305
329
  isTooltipEnabled = _useState2[0],
@@ -365,7 +389,7 @@ var Card = function Card(_ref) {
365
389
  label: t("neetoForm.common.clone"),
366
390
  isVisible: !isSingular && index.isFunction(onClone),
367
391
  onClick: onClone
368
- }, {
392
+ }].concat(_toConsumableArray(extraMenuItems), [{
369
393
  "data-testid": "delete-question",
370
394
  key: "delete",
371
395
  label: t("neetoForm.common.delete"),
@@ -373,19 +397,20 @@ var Card = function Card(_ref) {
373
397
  onClick: function onClick() {
374
398
  return onDelete(question);
375
399
  }
376
- }]
400
+ }])
377
401
  })]
378
402
  })]
379
403
  });
380
404
  };
381
405
 
382
- function ownKeys$i(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; }
383
- function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
406
+ function ownKeys$j(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; }
407
+ function _objectSpread$j(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$j(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
384
408
  var Questions = function Questions(_ref) {
385
409
  var questions = _ref.questions,
386
410
  isDeletable = _ref.isDeletable,
387
411
  allQuestionKinds = _ref.allQuestionKinds,
388
412
  getActiveKindDetails = _ref.getActiveKindDetails,
413
+ getQuestionMenuExtras = _ref.getQuestionMenuExtras,
389
414
  selectedQuestion = _ref.selectedQuestion,
390
415
  onEdit = _ref.onEdit,
391
416
  onClone = _ref.onClone,
@@ -399,7 +424,7 @@ var Questions = function Questions(_ref) {
399
424
  var droppableProps = _ref2.droppableProps,
400
425
  placeholder = _ref2.placeholder,
401
426
  innerRef = _ref2.innerRef;
402
- return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$i(_objectSpread$i({}, droppableProps), {}, {
427
+ return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$j(_objectSpread$j({}, droppableProps), {}, {
403
428
  className: "space-y-2",
404
429
  ref: innerRef,
405
430
  children: [questions.map(function (question, index) {
@@ -410,10 +435,11 @@ var Questions = function Questions(_ref) {
410
435
  isDragDisabled: !canManageQuestions,
411
436
  key: "question-".concat((_question$id2 = question.id) !== null && _question$id2 !== void 0 ? _question$id2 : question.nodeId)
412
437
  }, function (_ref3) {
438
+ var _getQuestionMenuExtra;
413
439
  var draggableProps = _ref3.draggableProps,
414
440
  dragHandleProps = _ref3.dragHandleProps,
415
441
  innerRef = _ref3.innerRef;
416
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$i(_objectSpread$i(_objectSpread$i({}, draggableProps), dragHandleProps), {}, {
442
+ return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$j(_objectSpread$j(_objectSpread$j({}, draggableProps), dragHandleProps), {}, {
417
443
  ref: innerRef,
418
444
  children: /*#__PURE__*/jsxRuntime.jsx(Card, {
419
445
  allQuestionKinds: allQuestionKinds,
@@ -423,6 +449,7 @@ var Questions = function Questions(_ref) {
423
449
  onEdit: onEdit,
424
450
  onSelect: onSelect,
425
451
  question: question,
452
+ extraMenuItems: (_getQuestionMenuExtra = getQuestionMenuExtras === null || getQuestionMenuExtras === void 0 ? void 0 : getQuestionMenuExtras(question)) !== null && _getQuestionMenuExtra !== void 0 ? _getQuestionMenuExtra : [],
426
453
  isActive: ramda.equals(selectedQuestion, question),
427
454
  onDelete: isDeletable(question) && onDelete
428
455
  })
@@ -447,8 +474,8 @@ var arrayHelpers = {
447
474
  };
448
475
 
449
476
  var _excluded$b = ["fields"];
450
- function ownKeys$h(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; }
451
- function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
477
+ function ownKeys$i(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; }
478
+ function _objectSpread$i(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$i(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
452
479
  var isChoiceQuestion = function isChoiceQuestion(question) {
453
480
  return ramda.includes(question === null || question === void 0 ? void 0 : question.kind, yup.SELECTABLE_KINDS);
454
481
  };
@@ -533,7 +560,7 @@ var handleFieldDragEnd = function handleFieldDragEnd(_ref4) {
533
560
  var nextItems = _toConsumableArray(items);
534
561
  arrayHelpers.moveItem(nextItems, source.index, destination.index);
535
562
  var orderedItems = nextItems.map(function (item, index) {
536
- return _objectSpread$h(_objectSpread$h({}, item), {}, {
563
+ return _objectSpread$i(_objectSpread$i({}, item), {}, {
537
564
  displayOrder: index
538
565
  });
539
566
  });
@@ -555,7 +582,7 @@ var createFieldData = function createFieldData(_ref5) {
555
582
  selectedLanguage: selectedLanguage,
556
583
  isUsingDefaultQuestionKinds: isUsingDefaultQuestionKinds
557
584
  });
558
- return _objectSpread$h(_objectSpread$h(_objectSpread$h({}, modifiedDefaultValues), {}, {
585
+ return _objectSpread$i(_objectSpread$i(_objectSpread$i({}, modifiedDefaultValues), {}, {
559
586
  metadata: metadata
560
587
  }, typeof isRequired === "boolean" && {
561
588
  isRequired: isRequired
@@ -587,7 +614,7 @@ var duplicateFieldData = function duplicateFieldData(_ref6) {
587
614
  var newQuestionLabel = yup.isRichTextQuestion(kind) ? label : i18next.t("neetoForm.common.clonedElementLabel", {
588
615
  label: label
589
616
  });
590
- return _objectSpread$h(_objectSpread$h({}, defaultAttributes), {}, {
617
+ return _objectSpread$i(_objectSpread$i({}, defaultAttributes), {}, {
591
618
  isRequired: isRequired,
592
619
  kind: kind,
593
620
  label: newQuestionLabel,
@@ -700,9 +727,34 @@ var useHelpDoc = function useHelpDoc(key) {
700
727
  return buildForm.useBuildFormStore(ramda.path(["formState", "helpDocUrls", key]));
701
728
  };
702
729
 
730
+ var KindOption = function KindOption(_ref) {
731
+ var label = _ref.label,
732
+ description = _ref.description,
733
+ Icon = _ref.icon;
734
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
735
+ className: "flex items-start gap-2",
736
+ children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
737
+ className: "neeto-ui-text-gray-700 mt-0.5 shrink-0",
738
+ "data-testid": "kind-option-icon",
739
+ size: 16
740
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
741
+ className: "flex min-w-0 flex-col",
742
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
743
+ style: "body2",
744
+ children: label
745
+ }), description && /*#__PURE__*/jsxRuntime.jsx(Typography, {
746
+ className: "neeto-ui-text-gray-600 mt-0.5",
747
+ "data-testid": "kind-option-description",
748
+ style: "body3",
749
+ children: description
750
+ })]
751
+ })]
752
+ });
753
+ };
754
+
703
755
  var _excluded$a = ["label", "name"];
704
- function ownKeys$g(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; }
705
- function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
756
+ function ownKeys$h(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; }
757
+ function _objectSpread$h(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$h(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
706
758
  var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
707
759
  var label = _ref.label,
708
760
  name = _ref.name,
@@ -721,7 +773,7 @@ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
721
773
  var end = element.value.length;
722
774
  element.setSelectionRange(end, end);
723
775
  };
724
- return /*#__PURE__*/jsxRuntime.jsx(Textarea$1, _objectSpread$g({
776
+ return /*#__PURE__*/jsxRuntime.jsx(Textarea$1, _objectSpread$h({
725
777
  label: label,
726
778
  name: name,
727
779
  className: "neeto-form-nano-adaptive-input",
@@ -735,8 +787,8 @@ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
735
787
  }, otherProps));
736
788
  };
737
789
 
738
- function ownKeys$f(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; }
739
- function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
790
+ function ownKeys$g(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; }
791
+ function _objectSpread$g(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$g(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
740
792
  var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
741
793
  var kind = _ref.kind,
742
794
  isLabelDisabled = _ref.isLabelDisabled,
@@ -750,14 +802,14 @@ var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
750
802
  var shouldShowPlaceholder = ramda.includes(kind, QUESTIONS_WITH_PLACEHOLDERS);
751
803
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
752
804
  className: "space-y-4",
753
- children: [/*#__PURE__*/jsxRuntime.jsx(FormikAdaptiveInput, _objectSpread$f({
805
+ children: [/*#__PURE__*/jsxRuntime.jsx(FormikAdaptiveInput, _objectSpread$g({
754
806
  required: true,
755
807
  disabled: isLabelDisabled,
756
808
  label: t("neetoForm.questions.common.questionFields.field.question"),
757
809
  name: "label",
758
810
  placeholder: DEFAULT_PLACEHOLDERS[kind],
759
811
  onChange: utils.withEventTargetValue(handleLabelChange)
760
- }, labelProps)), shouldShowPlaceholder && /*#__PURE__*/jsxRuntime.jsx(FormikAdaptiveInput, _objectSpread$f({
812
+ }, labelProps)), shouldShowPlaceholder && /*#__PURE__*/jsxRuntime.jsx(FormikAdaptiveInput, _objectSpread$g({
761
813
  className: "neeto-form-nano-placeholder-input neeto-form-nano-placeholder-input-".concat(kind),
762
814
  name: "placeholder",
763
815
  label: t("neetoForm.questions.common.questionFields.field.placeholder")
@@ -765,8 +817,8 @@ var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
765
817
  });
766
818
  };
767
819
 
768
- function ownKeys$e(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; }
769
- function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
820
+ function ownKeys$f(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; }
821
+ function _objectSpread$f(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$f(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
770
822
  var Name = function Name(_ref) {
771
823
  var isLabelDisabled = _ref.isLabelDisabled,
772
824
  _handleLabelChange = _ref.handleLabelChange;
@@ -786,7 +838,7 @@ var Name = function Name(_ref) {
786
838
  label: t("neetoForm.common.splitAsFirstAndLastNames"),
787
839
  name: "isSplitMode"
788
840
  }), isSplitMode && !usesCustomSubmissionComponent ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
789
- children: [/*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$e(_objectSpread$e({}, commonProps), {}, {
841
+ children: [/*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$f(_objectSpread$f({}, commonProps), {}, {
790
842
  handleLabelChange: function handleLabelChange(value) {
791
843
  return _handleLabelChange(value, yup.LABEL_FIELDS.FIRST_NAME);
792
844
  },
@@ -798,7 +850,7 @@ var Name = function Name(_ref) {
798
850
  label: t("neetoForm.questions.common.questionFields.field.firstNamePlaceholder"),
799
851
  name: "firstNamePlaceholder"
800
852
  }
801
- })), /*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$e(_objectSpread$e({}, commonProps), {}, {
853
+ })), /*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$f(_objectSpread$f({}, commonProps), {}, {
802
854
  handleLabelChange: function handleLabelChange(value) {
803
855
  return _handleLabelChange(value, yup.LABEL_FIELDS.LAST_NAME);
804
856
  },
@@ -811,7 +863,7 @@ var Name = function Name(_ref) {
811
863
  name: "lastNamePlaceholder"
812
864
  }
813
865
  }))]
814
- }) : /*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$e(_objectSpread$e({}, commonProps), {}, {
866
+ }) : /*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$f(_objectSpread$f({}, commonProps), {}, {
815
867
  labelProps: {
816
868
  name: yup.LABEL_FIELDS.FULL_NAME
817
869
  },
@@ -956,8 +1008,8 @@ var RequiredSwitch = reactUtils.withT(function (_ref) {
956
1008
  });
957
1009
 
958
1010
  var _excluded$9 = ["maxLength"];
959
- function ownKeys$d(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; }
960
- function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1011
+ function ownKeys$e(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; }
1012
+ function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$e(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
961
1013
  var InputWithMaxLength = function InputWithMaxLength(_ref) {
962
1014
  var maxLength = _ref.maxLength,
963
1015
  props = _objectWithoutProperties(_ref, _excluded$9);
@@ -971,7 +1023,7 @@ var InputWithMaxLength = function InputWithMaxLength(_ref) {
971
1023
  }
972
1024
  }, [value, maxLength, setValue]);
973
1025
  var shouldShowMaxLength = value && value.length > maxLength - 10;
974
- return /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$d(_objectSpread$d({}, props), shouldShowMaxLength && {
1026
+ return /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$e(_objectSpread$e({}, props), shouldShowMaxLength && {
975
1027
  maxLength: maxLength
976
1028
  }));
977
1029
  };
@@ -1031,6 +1083,8 @@ var Textarea = function Textarea() {
1031
1083
  });
1032
1084
  };
1033
1085
 
1086
+ function ownKeys$d(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; }
1087
+ function _objectSpread$d(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$d(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1034
1088
  var Form$1 = function Form(_ref) {
1035
1089
  var questions = _ref.questions,
1036
1090
  initialFocusRef = _ref.initialFocusRef,
@@ -1152,10 +1206,15 @@ var Form$1 = function Form(_ref) {
1152
1206
  isClearable: true,
1153
1207
  isSearchable: true,
1154
1208
  defaultValue: buildDefaultValueForKind(questionKind),
1209
+ filterOption: filterKindOption,
1155
1210
  innerRef: initialFocusRef,
1156
1211
  isDisabled: isEdit,
1157
1212
  name: "kind",
1158
1213
  options: buildKindOptions(questionKinds),
1214
+ formatOptionLabel: function formatOptionLabel(option, _ref3) {
1215
+ var context = _ref3.context;
1216
+ return context === "menu" ? /*#__PURE__*/jsxRuntime.jsx(KindOption, _objectSpread$d({}, option)) : option.label;
1217
+ },
1159
1218
  label: t("neetoForm.questions.common.questionFields.field.questionType"),
1160
1219
  onChange: handleKindChange
1161
1220
  }), yup.isRichTextQuestion(kind) ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -2660,16 +2719,31 @@ var getQuestionKind = function getQuestionKind(questionKinds, pattern) {
2660
2719
  var buildKindOptions = function buildKindOptions(kinds) {
2661
2720
  return kinds.map(function (_ref3) {
2662
2721
  var label = _ref3.label,
2663
- type = _ref3.type;
2722
+ type = _ref3.type,
2723
+ icon = _ref3.icon,
2724
+ description = _ref3.description,
2725
+ searchTerms = _ref3.searchTerms;
2664
2726
  return {
2665
2727
  label: label,
2666
2728
  value: transformValueForOption({
2667
2729
  label: label,
2668
2730
  type: type
2669
- })
2731
+ }),
2732
+ icon: icon,
2733
+ description: description,
2734
+ searchTerms: searchTerms
2670
2735
  };
2671
2736
  });
2672
2737
  };
2738
+ var filterKindOption = function filterKindOption(option, rawInput) {
2739
+ var _option$data$searchTe, _option$data;
2740
+ var query = rawInput === null || rawInput === void 0 ? void 0 : rawInput.trim().toLowerCase();
2741
+ if (!query) return true;
2742
+ var searchTerms = (_option$data$searchTe = (_option$data = option.data) === null || _option$data === void 0 ? void 0 : _option$data.searchTerms) !== null && _option$data$searchTe !== void 0 ? _option$data$searchTe : [];
2743
+ return searchTerms.some(function (term) {
2744
+ return term.includes(query);
2745
+ });
2746
+ };
2673
2747
  var extractKindFromOption = ramda.pipe(ramda.split("-"), ramda.last);
2674
2748
  var buildDefaultValueForKind = function buildDefaultValueForKind(questionKind) {
2675
2749
  return neetoCist.isPresent(questionKind) ? {
@@ -2811,7 +2885,8 @@ var Form = function Form(_ref) {
2811
2885
  questionsFromCache = _ref.questionsFromCache,
2812
2886
  onMutateSuccess = _ref.onMutateSuccess,
2813
2887
  advancedFeatures = _ref.advancedFeatures,
2814
- isPictureChoiceEnabled = _ref.isPictureChoiceEnabled;
2888
+ isPictureChoiceEnabled = _ref.isPictureChoiceEnabled,
2889
+ getQuestionMenuExtras = _ref.getQuestionMenuExtras;
2815
2890
  var containerRef = React.useRef();
2816
2891
  var _useStateWithDependen = reactUtils.useStateWithDependency(questionsFromCache),
2817
2892
  _useStateWithDependen2 = _slicedToArray(_useStateWithDependen, 2),
@@ -3000,6 +3075,7 @@ var Form = function Form(_ref) {
3000
3075
  children: /*#__PURE__*/jsxRuntime.jsx(Questions, {
3001
3076
  canManageQuestions: canManageQuestions,
3002
3077
  getActiveKindDetails: getActiveKindDetails,
3078
+ getQuestionMenuExtras: getQuestionMenuExtras,
3003
3079
  isDeletable: isDeletable,
3004
3080
  questions: questions,
3005
3081
  selectedQuestion: selectedQuestion,
@@ -3085,7 +3161,8 @@ var BuildForm = function BuildForm(_ref) {
3085
3161
  _ref$canManageQuestio = _ref.canManageQuestions,
3086
3162
  canManageQuestions = _ref$canManageQuestio === void 0 ? false : _ref$canManageQuestio,
3087
3163
  _ref$isPictureChoiceE = _ref.isPictureChoiceEnabled,
3088
- isPictureChoiceEnabled = _ref$isPictureChoiceE === void 0 ? false : _ref$isPictureChoiceE;
3164
+ isPictureChoiceEnabled = _ref$isPictureChoiceE === void 0 ? false : _ref$isPictureChoiceE,
3165
+ getQuestionMenuExtras = _ref.getQuestionMenuExtras;
3089
3166
  var queryClient = reactQuery.useQueryClient();
3090
3167
  var _useForm = constants.useForm({
3091
3168
  formId: id,
@@ -3132,6 +3209,7 @@ var BuildForm = function BuildForm(_ref) {
3132
3209
  formDescription: formDescription,
3133
3210
  formTitle: formTitle,
3134
3211
  getActiveKindDetails: getActiveKindDetails,
3212
+ getQuestionMenuExtras: getQuestionMenuExtras,
3135
3213
  helpDocUrls: helpDocUrls,
3136
3214
  hostSpecificData: hostSpecificData,
3137
3215
  isDisabledFieldLabel: isDisabledFieldLabel,