@bigbinary/neeto-form-frontend 4.4.18 → 4.4.20

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 +173 -94
  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 +173 -94
  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 +26 -3
  52. package/dist/cjs/index.js.map +1 -1
  53. package/dist/index.js +26 -3
  54. package/dist/index.js.map +1 -1
  55. package/dist/{utils-QSMxxdQN.js → utils-C-U-wBCy.js} +2 -2
  56. package/dist/{utils-QSMxxdQN.js.map → utils-C-U-wBCy.js.map} +1 -1
  57. package/dist/{utils-H7u9B9Jq.js → utils-D-rs56Yi.js} +2 -2
  58. package/dist/{utils-H7u9B9Jq.js.map → utils-D-rs56Yi.js.map} +1 -1
  59. package/dist/{yup-DfKhsn0t.js → yup-DhAn6Gfl.js} +82 -58
  60. package/dist/yup-DhAn6Gfl.js.map +1 -0
  61. package/dist/{yup-B3JGBWm7.js → yup-bkiiTZT4.js} +83 -58
  62. package/dist/yup-bkiiTZT4.js.map +1 -0
  63. package/package.json +16 -16
  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-DhAn6Gfl.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,6 +23,7 @@ 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 Equals = require('@bigbinary/neeto-icons/Equals');
26
27
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
27
28
  var index = require('../index-Beo6ztaM.js');
28
29
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
@@ -60,6 +61,28 @@ var Slider = require('@bigbinary/neetoui/Slider');
60
61
  var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
61
62
  require('@bigbinary/neeto-commons-frontend/constants');
62
63
  require('axios');
64
+ require('@bigbinary/neeto-icons/Address');
65
+ require('@bigbinary/neeto-icons/Calendar');
66
+ require('@bigbinary/neeto-icons/Captcha');
67
+ require('@bigbinary/neeto-icons/Checkbox');
68
+ require('@bigbinary/neeto-icons/DropdownClosed');
69
+ require('@bigbinary/neeto-icons/Email');
70
+ require('@bigbinary/neeto-icons/FileUpload');
71
+ require('@bigbinary/neeto-icons/Group');
72
+ require('@bigbinary/neeto-icons/Hash');
73
+ require('@bigbinary/neeto-icons/Header');
74
+ require('@bigbinary/neeto-icons/Location');
75
+ require('@bigbinary/neeto-icons/LongText');
76
+ require('@bigbinary/neeto-icons/MessageSquare');
77
+ require('@bigbinary/neeto-icons/NeetoInvisible');
78
+ require('@bigbinary/neeto-icons/PhoneRing');
79
+ require('@bigbinary/neeto-icons/Radio');
80
+ require('@bigbinary/neeto-icons/Rating');
81
+ require('@bigbinary/neeto-icons/Scale');
82
+ require('@bigbinary/neeto-icons/Sms');
83
+ require('@bigbinary/neeto-icons/Terms');
84
+ require('@bigbinary/neeto-icons/TextLines');
85
+ require('@bigbinary/neeto-icons/UserRoundedRect');
63
86
  require('dompurify');
64
87
  require('@bigbinary/neeto-icons/Plus');
65
88
  require('zustand');
@@ -313,7 +336,8 @@ var Card = function Card(_ref) {
313
336
  allQuestionKinds: allQuestionKinds,
314
337
  item: question
315
338
  }),
316
- isSingular = _getActiveKindDetails.isSingular;
339
+ isSingular = _getActiveKindDetails.isSingular,
340
+ KindIcon = _getActiveKindDetails.icon;
317
341
  var questionLabel = yup.buildDisplayLabel(question);
318
342
  React.useEffect(function () {
319
343
  var element = questionLabelRef.current;
@@ -321,68 +345,66 @@ var Card = function Card(_ref) {
321
345
  setIsTooltipEnabled(yup.isElementOverflowing(element));
322
346
  }, [questionLabel]);
323
347
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
324
- className: "flex items-center gap-0.5",
325
- children: [canManageQuestions && /*#__PURE__*/jsxRuntime.jsx(yup.Drag, {
326
- className: "neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 transition-all ease-in-out duration-300 shrink-0 cursor-grab -ml-1",
327
- size: 16
328
- }), /*#__PURE__*/jsxRuntime.jsxs("div", {
329
- "data-testid": "neeto-form-engine-".concat(neetoCist.slugify(questionLabel)),
330
- className: classnames("neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-white neeto-form-nano-form__card flex h-10 grow items-center justify-between gap-1 border p-2 overflow-hidden", {
331
- "neeto-ui-border-primary-500 neeto-form-nano-form__card--active": isActive
332
- }),
333
- onClick: function onClick() {
334
- return onSelect(question);
335
- },
336
- children: [/*#__PURE__*/jsxRuntime.jsx("div", {
337
- className: "flex min-w-0 grow items-center gap-1",
338
- children: /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
339
- content: questionLabel,
340
- disabled: !isTooltipEnabled,
341
- position: "top",
342
- children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
343
- className: "line-clamp-2 min-w-0 grow truncate break-words",
344
- "data-testid": "".concat(neetoCist.slugify(questionLabel), "-question-card-label"),
345
- lineHeight: "snug",
346
- ref: questionLabelRef,
347
- style: "body2",
348
- weight: "medium",
349
- children: questionLabel
350
- })
348
+ "data-testid": "neeto-form-engine-".concat(neetoCist.slugify(questionLabel)),
349
+ className: classnames("neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-white neeto-form-nano-form__card flex h-10 w-full items-center justify-between gap-2 overflow-hidden border p-2", {
350
+ "neeto-ui-border-primary-500 neeto-form-nano-form__card--active": isActive
351
+ }),
352
+ onClick: function onClick() {
353
+ return onSelect(question);
354
+ },
355
+ children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
356
+ className: "flex min-w-0 grow items-center gap-2",
357
+ children: [KindIcon && /*#__PURE__*/jsxRuntime.jsx(KindIcon, {
358
+ className: "neeto-ui-text-gray-600 shrink-0",
359
+ "data-testid": "question-card-kind-icon",
360
+ size: 16
361
+ }), /*#__PURE__*/jsxRuntime.jsx(Tooltip, {
362
+ content: questionLabel,
363
+ disabled: !isTooltipEnabled,
364
+ position: "top",
365
+ children: /*#__PURE__*/jsxRuntime.jsx(Typography, {
366
+ className: "min-w-0 grow truncate",
367
+ "data-testid": "".concat(neetoCist.slugify(questionLabel), "-question-card-label"),
368
+ lineHeight: "snug",
369
+ ref: questionLabelRef,
370
+ style: "body2",
371
+ weight: "medium",
372
+ children: questionLabel
351
373
  })
352
- }), canManageQuestions && /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
353
- dropdownButtonProps: {
354
- className: "shrink-0"
355
- },
356
- dropdownProps: {
357
- strategy: "fixed"
358
- },
359
- menuItems: [{
360
- "data-testid": "edit-question",
361
- key: "edit",
362
- label: t("neetoForm.common.edit"),
363
- onClick: onEdit
364
- }, {
365
- "data-testid": "clone-question",
366
- key: "clone",
367
- label: t("neetoForm.common.clone"),
368
- isVisible: !isSingular && index.isFunction(onClone),
369
- onClick: onClone
370
- }].concat(_toConsumableArray(extraMenuItems), [{
371
- "data-testid": "delete-question",
372
- key: "delete",
373
- label: t("neetoForm.common.delete"),
374
- isVisible: index.isFunction(onDelete),
375
- onClick: function onClick() {
376
- return onDelete(question);
377
- }
378
- }])
379
374
  })]
375
+ }), canManageQuestions && /*#__PURE__*/jsxRuntime.jsx(MoreDropdown, {
376
+ dropdownButtonProps: {
377
+ className: "shrink-0"
378
+ },
379
+ dropdownProps: {
380
+ strategy: "fixed"
381
+ },
382
+ menuItems: [{
383
+ "data-testid": "edit-question",
384
+ key: "edit",
385
+ label: t("neetoForm.common.edit"),
386
+ onClick: onEdit
387
+ }, {
388
+ "data-testid": "clone-question",
389
+ key: "clone",
390
+ label: t("neetoForm.common.clone"),
391
+ isVisible: !isSingular && index.isFunction(onClone),
392
+ onClick: onClone
393
+ }].concat(_toConsumableArray(extraMenuItems), [{
394
+ "data-testid": "delete-question",
395
+ key: "delete",
396
+ label: t("neetoForm.common.delete"),
397
+ isVisible: index.isFunction(onDelete),
398
+ onClick: function onClick() {
399
+ return onDelete(question);
400
+ }
401
+ }])
380
402
  })]
381
403
  });
382
404
  };
383
405
 
384
- 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; }
385
- 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; }
386
408
  var Questions = function Questions(_ref) {
387
409
  var questions = _ref.questions,
388
410
  isDeletable = _ref.isDeletable,
@@ -402,7 +424,7 @@ var Questions = function Questions(_ref) {
402
424
  var droppableProps = _ref2.droppableProps,
403
425
  placeholder = _ref2.placeholder,
404
426
  innerRef = _ref2.innerRef;
405
- return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$i(_objectSpread$i({}, droppableProps), {}, {
427
+ return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$j(_objectSpread$j({}, droppableProps), {}, {
406
428
  className: "space-y-2",
407
429
  ref: innerRef,
408
430
  children: [questions.map(function (question, index) {
@@ -417,20 +439,30 @@ var Questions = function Questions(_ref) {
417
439
  var draggableProps = _ref3.draggableProps,
418
440
  dragHandleProps = _ref3.dragHandleProps,
419
441
  innerRef = _ref3.innerRef;
420
- return /*#__PURE__*/jsxRuntime.jsx("div", _objectSpread$i(_objectSpread$i(_objectSpread$i({}, draggableProps), dragHandleProps), {}, {
442
+ return /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread$j(_objectSpread$j({}, draggableProps), {}, {
443
+ className: "flex items-center gap-1",
421
444
  ref: innerRef,
422
- children: /*#__PURE__*/jsxRuntime.jsx(Card, {
423
- allQuestionKinds: allQuestionKinds,
424
- canManageQuestions: canManageQuestions,
425
- getActiveKindDetails: getActiveKindDetails,
426
- onClone: onClone,
427
- onEdit: onEdit,
428
- onSelect: onSelect,
429
- question: question,
430
- extraMenuItems: (_getQuestionMenuExtra = getQuestionMenuExtras === null || getQuestionMenuExtras === void 0 ? void 0 : getQuestionMenuExtras(question)) !== null && _getQuestionMenuExtra !== void 0 ? _getQuestionMenuExtra : [],
431
- isActive: ramda.equals(selectedQuestion, question),
432
- onDelete: isDeletable(question) && onDelete
433
- })
445
+ children: [canManageQuestions && /*#__PURE__*/jsxRuntime.jsx("span", _objectSpread$j(_objectSpread$j({}, dragHandleProps), {}, {
446
+ className: "neeto-ui-text-gray-400 hover:neeto-ui-text-gray-500 shrink-0 cursor-grab transition-all duration-300 ease-in-out",
447
+ "data-testid": "question-card-drag-handle",
448
+ children: /*#__PURE__*/jsxRuntime.jsx(Equals, {
449
+ size: 16
450
+ })
451
+ })), /*#__PURE__*/jsxRuntime.jsx("div", {
452
+ className: "min-w-0 grow",
453
+ children: /*#__PURE__*/jsxRuntime.jsx(Card, {
454
+ allQuestionKinds: allQuestionKinds,
455
+ canManageQuestions: canManageQuestions,
456
+ getActiveKindDetails: getActiveKindDetails,
457
+ onClone: onClone,
458
+ onEdit: onEdit,
459
+ onSelect: onSelect,
460
+ question: question,
461
+ extraMenuItems: (_getQuestionMenuExtra = getQuestionMenuExtras === null || getQuestionMenuExtras === void 0 ? void 0 : getQuestionMenuExtras(question)) !== null && _getQuestionMenuExtra !== void 0 ? _getQuestionMenuExtra : [],
462
+ isActive: ramda.equals(selectedQuestion, question),
463
+ onDelete: isDeletable(question) && onDelete
464
+ })
465
+ })]
434
466
  }));
435
467
  });
436
468
  }), placeholder]
@@ -452,8 +484,8 @@ var arrayHelpers = {
452
484
  };
453
485
 
454
486
  var _excluded$b = ["fields"];
455
- 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; }
456
- 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; }
487
+ 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; }
488
+ 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; }
457
489
  var isChoiceQuestion = function isChoiceQuestion(question) {
458
490
  return ramda.includes(question === null || question === void 0 ? void 0 : question.kind, yup.SELECTABLE_KINDS);
459
491
  };
@@ -538,7 +570,7 @@ var handleFieldDragEnd = function handleFieldDragEnd(_ref4) {
538
570
  var nextItems = _toConsumableArray(items);
539
571
  arrayHelpers.moveItem(nextItems, source.index, destination.index);
540
572
  var orderedItems = nextItems.map(function (item, index) {
541
- return _objectSpread$h(_objectSpread$h({}, item), {}, {
573
+ return _objectSpread$i(_objectSpread$i({}, item), {}, {
542
574
  displayOrder: index
543
575
  });
544
576
  });
@@ -560,7 +592,7 @@ var createFieldData = function createFieldData(_ref5) {
560
592
  selectedLanguage: selectedLanguage,
561
593
  isUsingDefaultQuestionKinds: isUsingDefaultQuestionKinds
562
594
  });
563
- return _objectSpread$h(_objectSpread$h(_objectSpread$h({}, modifiedDefaultValues), {}, {
595
+ return _objectSpread$i(_objectSpread$i(_objectSpread$i({}, modifiedDefaultValues), {}, {
564
596
  metadata: metadata
565
597
  }, typeof isRequired === "boolean" && {
566
598
  isRequired: isRequired
@@ -592,7 +624,7 @@ var duplicateFieldData = function duplicateFieldData(_ref6) {
592
624
  var newQuestionLabel = yup.isRichTextQuestion(kind) ? label : i18next.t("neetoForm.common.clonedElementLabel", {
593
625
  label: label
594
626
  });
595
- return _objectSpread$h(_objectSpread$h({}, defaultAttributes), {}, {
627
+ return _objectSpread$i(_objectSpread$i({}, defaultAttributes), {}, {
596
628
  isRequired: isRequired,
597
629
  kind: kind,
598
630
  label: newQuestionLabel,
@@ -705,9 +737,34 @@ var useHelpDoc = function useHelpDoc(key) {
705
737
  return buildForm.useBuildFormStore(ramda.path(["formState", "helpDocUrls", key]));
706
738
  };
707
739
 
740
+ var KindOption = function KindOption(_ref) {
741
+ var label = _ref.label,
742
+ description = _ref.description,
743
+ Icon = _ref.icon;
744
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
745
+ className: "flex items-start gap-2",
746
+ children: [Icon && /*#__PURE__*/jsxRuntime.jsx(Icon, {
747
+ className: "neeto-ui-text-gray-700 mt-0.5 shrink-0",
748
+ "data-testid": "kind-option-icon",
749
+ size: 16
750
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
751
+ className: "flex min-w-0 flex-col",
752
+ children: [/*#__PURE__*/jsxRuntime.jsx(Typography, {
753
+ style: "body2",
754
+ children: label
755
+ }), description && /*#__PURE__*/jsxRuntime.jsx(Typography, {
756
+ className: "neeto-ui-text-gray-600 mt-0.5",
757
+ "data-testid": "kind-option-description",
758
+ style: "body3",
759
+ children: description
760
+ })]
761
+ })]
762
+ });
763
+ };
764
+
708
765
  var _excluded$a = ["label", "name"];
709
- 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; }
710
- 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; }
766
+ 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; }
767
+ 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; }
711
768
  var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
712
769
  var label = _ref.label,
713
770
  name = _ref.name,
@@ -726,7 +783,7 @@ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
726
783
  var end = element.value.length;
727
784
  element.setSelectionRange(end, end);
728
785
  };
729
- return /*#__PURE__*/jsxRuntime.jsx(Textarea$1, _objectSpread$g({
786
+ return /*#__PURE__*/jsxRuntime.jsx(Textarea$1, _objectSpread$h({
730
787
  label: label,
731
788
  name: name,
732
789
  className: "neeto-form-nano-adaptive-input",
@@ -740,8 +797,8 @@ var FormikAdaptiveInput = function FormikAdaptiveInput(_ref) {
740
797
  }, otherProps));
741
798
  };
742
799
 
743
- 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; }
744
- 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; }
800
+ 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; }
801
+ 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; }
745
802
  var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
746
803
  var kind = _ref.kind,
747
804
  isLabelDisabled = _ref.isLabelDisabled,
@@ -755,14 +812,14 @@ var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
755
812
  var shouldShowPlaceholder = ramda.includes(kind, QUESTIONS_WITH_PLACEHOLDERS);
756
813
  return /*#__PURE__*/jsxRuntime.jsxs("div", {
757
814
  className: "space-y-4",
758
- children: [/*#__PURE__*/jsxRuntime.jsx(FormikAdaptiveInput, _objectSpread$f({
815
+ children: [/*#__PURE__*/jsxRuntime.jsx(FormikAdaptiveInput, _objectSpread$g({
759
816
  required: true,
760
817
  disabled: isLabelDisabled,
761
818
  label: t("neetoForm.questions.common.questionFields.field.question"),
762
819
  name: "label",
763
820
  placeholder: DEFAULT_PLACEHOLDERS[kind],
764
821
  onChange: utils.withEventTargetValue(handleLabelChange)
765
- }, labelProps)), shouldShowPlaceholder && /*#__PURE__*/jsxRuntime.jsx(FormikAdaptiveInput, _objectSpread$f({
822
+ }, labelProps)), shouldShowPlaceholder && /*#__PURE__*/jsxRuntime.jsx(FormikAdaptiveInput, _objectSpread$g({
766
823
  className: "neeto-form-nano-placeholder-input neeto-form-nano-placeholder-input-".concat(kind),
767
824
  name: "placeholder",
768
825
  label: t("neetoForm.questions.common.questionFields.field.placeholder")
@@ -770,8 +827,8 @@ var LabelWithPlaceholder = function LabelWithPlaceholder(_ref) {
770
827
  });
771
828
  };
772
829
 
773
- 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; }
774
- 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; }
830
+ 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; }
831
+ 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; }
775
832
  var Name = function Name(_ref) {
776
833
  var isLabelDisabled = _ref.isLabelDisabled,
777
834
  _handleLabelChange = _ref.handleLabelChange;
@@ -791,7 +848,7 @@ var Name = function Name(_ref) {
791
848
  label: t("neetoForm.common.splitAsFirstAndLastNames"),
792
849
  name: "isSplitMode"
793
850
  }), isSplitMode && !usesCustomSubmissionComponent ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
794
- children: [/*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$e(_objectSpread$e({}, commonProps), {}, {
851
+ children: [/*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$f(_objectSpread$f({}, commonProps), {}, {
795
852
  handleLabelChange: function handleLabelChange(value) {
796
853
  return _handleLabelChange(value, yup.LABEL_FIELDS.FIRST_NAME);
797
854
  },
@@ -803,7 +860,7 @@ var Name = function Name(_ref) {
803
860
  label: t("neetoForm.questions.common.questionFields.field.firstNamePlaceholder"),
804
861
  name: "firstNamePlaceholder"
805
862
  }
806
- })), /*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$e(_objectSpread$e({}, commonProps), {}, {
863
+ })), /*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$f(_objectSpread$f({}, commonProps), {}, {
807
864
  handleLabelChange: function handleLabelChange(value) {
808
865
  return _handleLabelChange(value, yup.LABEL_FIELDS.LAST_NAME);
809
866
  },
@@ -816,7 +873,7 @@ var Name = function Name(_ref) {
816
873
  name: "lastNamePlaceholder"
817
874
  }
818
875
  }))]
819
- }) : /*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$e(_objectSpread$e({}, commonProps), {}, {
876
+ }) : /*#__PURE__*/jsxRuntime.jsx(LabelWithPlaceholder, _objectSpread$f(_objectSpread$f({}, commonProps), {}, {
820
877
  labelProps: {
821
878
  name: yup.LABEL_FIELDS.FULL_NAME
822
879
  },
@@ -961,8 +1018,8 @@ var RequiredSwitch = reactUtils.withT(function (_ref) {
961
1018
  });
962
1019
 
963
1020
  var _excluded$9 = ["maxLength"];
964
- 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; }
965
- 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; }
1021
+ 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; }
1022
+ 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; }
966
1023
  var InputWithMaxLength = function InputWithMaxLength(_ref) {
967
1024
  var maxLength = _ref.maxLength,
968
1025
  props = _objectWithoutProperties(_ref, _excluded$9);
@@ -976,7 +1033,7 @@ var InputWithMaxLength = function InputWithMaxLength(_ref) {
976
1033
  }
977
1034
  }, [value, maxLength, setValue]);
978
1035
  var shouldShowMaxLength = value && value.length > maxLength - 10;
979
- return /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$d(_objectSpread$d({}, props), shouldShowMaxLength && {
1036
+ return /*#__PURE__*/jsxRuntime.jsx(Input, _objectSpread$e(_objectSpread$e({}, props), shouldShowMaxLength && {
980
1037
  maxLength: maxLength
981
1038
  }));
982
1039
  };
@@ -1036,6 +1093,8 @@ var Textarea = function Textarea() {
1036
1093
  });
1037
1094
  };
1038
1095
 
1096
+ 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; }
1097
+ 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; }
1039
1098
  var Form$1 = function Form(_ref) {
1040
1099
  var questions = _ref.questions,
1041
1100
  initialFocusRef = _ref.initialFocusRef,
@@ -1157,10 +1216,15 @@ var Form$1 = function Form(_ref) {
1157
1216
  isClearable: true,
1158
1217
  isSearchable: true,
1159
1218
  defaultValue: buildDefaultValueForKind(questionKind),
1219
+ filterOption: filterKindOption,
1160
1220
  innerRef: initialFocusRef,
1161
1221
  isDisabled: isEdit,
1162
1222
  name: "kind",
1163
1223
  options: buildKindOptions(questionKinds),
1224
+ formatOptionLabel: function formatOptionLabel(option, _ref3) {
1225
+ var context = _ref3.context;
1226
+ return context === "menu" ? /*#__PURE__*/jsxRuntime.jsx(KindOption, _objectSpread$d({}, option)) : option.label;
1227
+ },
1164
1228
  label: t("neetoForm.questions.common.questionFields.field.questionType"),
1165
1229
  onChange: handleKindChange
1166
1230
  }), yup.isRichTextQuestion(kind) ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
@@ -2665,16 +2729,31 @@ var getQuestionKind = function getQuestionKind(questionKinds, pattern) {
2665
2729
  var buildKindOptions = function buildKindOptions(kinds) {
2666
2730
  return kinds.map(function (_ref3) {
2667
2731
  var label = _ref3.label,
2668
- type = _ref3.type;
2732
+ type = _ref3.type,
2733
+ icon = _ref3.icon,
2734
+ description = _ref3.description,
2735
+ searchTerms = _ref3.searchTerms;
2669
2736
  return {
2670
2737
  label: label,
2671
2738
  value: transformValueForOption({
2672
2739
  label: label,
2673
2740
  type: type
2674
- })
2741
+ }),
2742
+ icon: icon,
2743
+ description: description,
2744
+ searchTerms: searchTerms
2675
2745
  };
2676
2746
  });
2677
2747
  };
2748
+ var filterKindOption = function filterKindOption(option, rawInput) {
2749
+ var _option$data$searchTe, _option$data;
2750
+ var query = rawInput === null || rawInput === void 0 ? void 0 : rawInput.trim().toLowerCase();
2751
+ if (!query) return true;
2752
+ 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 : [];
2753
+ return searchTerms.some(function (term) {
2754
+ return term.includes(query);
2755
+ });
2756
+ };
2678
2757
  var extractKindFromOption = ramda.pipe(ramda.split("-"), ramda.last);
2679
2758
  var buildDefaultValueForKind = function buildDefaultValueForKind(questionKind) {
2680
2759
  return neetoCist.isPresent(questionKind) ? {