@bigbinary/neeto-form-frontend 4.2.4 → 4.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/app/javascript/src/translations/ar.json +2 -1
  2. package/app/javascript/src/translations/bg.json +2 -1
  3. package/app/javascript/src/translations/ca.json +2 -1
  4. package/app/javascript/src/translations/cs.json +2 -1
  5. package/app/javascript/src/translations/da.json +2 -1
  6. package/app/javascript/src/translations/de.json +2 -1
  7. package/app/javascript/src/translations/es-MX.json +2 -1
  8. package/app/javascript/src/translations/es.json +2 -1
  9. package/app/javascript/src/translations/et.json +2 -1
  10. package/app/javascript/src/translations/fi.json +2 -1
  11. package/app/javascript/src/translations/fil.json +2 -1
  12. package/app/javascript/src/translations/fr.json +2 -1
  13. package/app/javascript/src/translations/he.json +2 -1
  14. package/app/javascript/src/translations/hi.json +2 -1
  15. package/app/javascript/src/translations/hr.json +2 -1
  16. package/app/javascript/src/translations/id.json +2 -1
  17. package/app/javascript/src/translations/it.json +2 -1
  18. package/app/javascript/src/translations/ja.json +2 -1
  19. package/app/javascript/src/translations/ko.json +2 -1
  20. package/app/javascript/src/translations/nl.json +2 -1
  21. package/app/javascript/src/translations/pl.json +2 -1
  22. package/app/javascript/src/translations/pt-BR.json +2 -1
  23. package/app/javascript/src/translations/pt.json +2 -1
  24. package/app/javascript/src/translations/ro.json +2 -1
  25. package/app/javascript/src/translations/ru.json +2 -1
  26. package/app/javascript/src/translations/sk.json +2 -1
  27. package/app/javascript/src/translations/sl.json +2 -1
  28. package/app/javascript/src/translations/sv.json +2 -1
  29. package/app/javascript/src/translations/th.json +2 -1
  30. package/app/javascript/src/translations/tr.json +2 -1
  31. package/app/javascript/src/translations/uk.json +2 -1
  32. package/app/javascript/src/translations/vi.json +2 -1
  33. package/app/javascript/src/translations/zh-CN.json +2 -1
  34. package/app/javascript/src/translations/zh-TW.json +2 -1
  35. package/dist/BuildForm.js +57 -69
  36. package/dist/BuildForm.js.map +1 -1
  37. package/dist/cjs/BuildForm.js +57 -69
  38. package/dist/cjs/BuildForm.js.map +1 -1
  39. package/dist/cjs/index.js +1 -1
  40. package/dist/index.js +1 -1
  41. package/package.json +13 -13
package/dist/BuildForm.js CHANGED
@@ -42,7 +42,6 @@ import { isEditorEmpty } from '@bigbinary/neeto-editor/utils';
42
42
  import * as yup from 'yup';
43
43
  import Radio from '@bigbinary/neetoui/formik/Radio';
44
44
  import Label from '@bigbinary/neetoui/Label';
45
- import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
46
45
  import CreatableSelect from 'react-select/creatable';
47
46
  import _toArray from '@babel/runtime/helpers/toArray';
48
47
  import Close from '@bigbinary/neeto-icons/Close';
@@ -54,6 +53,7 @@ import Checkbox$1 from '@bigbinary/neetoui/formik/Checkbox';
54
53
  import Checkbox from '@bigbinary/neetoui/Checkbox';
55
54
  import OptionFields from '@bigbinary/neeto-molecules/OptionFields';
56
55
  import Slider from '@bigbinary/neetoui/Slider';
56
+ import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
57
57
  import '@bigbinary/neeto-commons-frontend/constants';
58
58
  import 'axios';
59
59
  import 'dompurify';
@@ -793,7 +793,7 @@ var Block = function Block(_ref) {
793
793
  children = _ref.children,
794
794
  dataTestid = _ref.dataTestid;
795
795
  return /*#__PURE__*/jsxs("div", {
796
- className: "mt-4 space-y-4",
796
+ className: "mt-4 space-y-3",
797
797
  "data-testid": dataTestid,
798
798
  children: [/*#__PURE__*/jsx("div", {
799
799
  className: "flex items-center justify-between",
@@ -1022,7 +1022,8 @@ var Form$1 = function Form(_ref) {
1022
1022
  var shouldShowHideSwitch = isFieldCodeEnabled && !usesCustomSubmissionComponent && !includes(kind, NON_HIDEABLE_FIELDS);
1023
1023
  var canRestrictResponseVisibilityToHost = restrictResponseVisibilityToHost && !includes(kind, NON_HIDEABLE_FIELDS);
1024
1024
  var canMarkResponsesAsReadOnly = markResponsesAsReadOnly && !includes(kind, NON_READ_ONLY_FIELDS);
1025
- var isSettingsBlockVisible = !isRequired && (!isImmutable || shouldShowHideSwitch);
1025
+ var isBasicSettingsVisible = !isRequired && (!isImmutable || shouldShowHideSwitch);
1026
+ var isSettingsBlockVisible = isBasicSettingsVisible || canMarkResponsesAsReadOnly;
1026
1027
  var handleKindChange = function handleKindChange(option) {
1027
1028
  var data = buildQuestionData(option);
1028
1029
  updateFormState(data);
@@ -1087,29 +1088,31 @@ var Form$1 = function Form(_ref) {
1087
1088
  }), isSettingsBlockVisible && /*#__PURE__*/jsxs(Block, {
1088
1089
  dataTestid: "settings-card",
1089
1090
  title: t("neetoForm.common.settings"),
1090
- children: [!isImmutable && /*#__PURE__*/jsx(RequiredSwitch, {}), shouldShowHideSwitch && /*#__PURE__*/jsx(Switch, {
1091
- label: t("neetoForm.common.hideQuestion"),
1092
- labelProps: hideSwitchLabelProps(hideQuestionHelpDocUrl),
1093
- name: "isHidden"
1094
- }), canRestrictResponseVisibilityToHost && /*#__PURE__*/jsx(Switch, {
1095
- label: t("neetoForm.common.responseVisibleOnlyToHost"),
1096
- name: "isResponseVisibleOnlyToHost",
1097
- labelProps: responseVisibleOnlyToHostSwitchLabelProps(responseVisibleOnlyToHostHelpDocUrl)
1091
+ children: [isBasicSettingsVisible && /*#__PURE__*/jsxs(Fragment, {
1092
+ children: [!isImmutable && /*#__PURE__*/jsx(RequiredSwitch, {}), shouldShowHideSwitch && /*#__PURE__*/jsx(Switch, {
1093
+ label: t("neetoForm.common.hideQuestion"),
1094
+ name: "isHidden",
1095
+ labelProps: hideSwitchLabelProps(hideQuestionHelpDocUrl)
1096
+ }), canRestrictResponseVisibilityToHost && /*#__PURE__*/jsx(Switch, {
1097
+ label: t("neetoForm.common.responseVisibleOnlyToHost"),
1098
+ name: "isResponseVisibleOnlyToHost",
1099
+ labelProps: responseVisibleOnlyToHostSwitchLabelProps(responseVisibleOnlyToHostHelpDocUrl)
1100
+ })]
1101
+ }), canMarkResponsesAsReadOnly && /*#__PURE__*/jsx(Switch, {
1102
+ label: t("neetoForm.common.readOnly"),
1103
+ labelProps: readOnlySwitchLabelProps(readOnlyHelpDocUrl),
1104
+ name: "isReadOnly"
1098
1105
  })]
1099
- }), (shouldShowFieldCode || canMarkResponsesAsReadOnly) && /*#__PURE__*/jsx(Accordion, {
1106
+ }), shouldShowFieldCode && /*#__PURE__*/jsx(Accordion, {
1100
1107
  className: "neeto-form-nano-advanced-properties-accordion",
1101
1108
  "data-testid": "advanced-properties-card",
1102
1109
  defaultActiveKey: isFieldCodeInvalid ? 0 : null // This is to open the accordion when field code is invalid
1103
1110
  ,
1104
1111
  children: /*#__PURE__*/jsx(Accordion.Item, {
1105
1112
  title: t("neetoForm.common.advancedProperties"),
1106
- children: /*#__PURE__*/jsxs("div", {
1113
+ children: /*#__PURE__*/jsx("div", {
1107
1114
  className: "flex flex-col space-y-4",
1108
- children: [shouldShowFieldCode && /*#__PURE__*/jsx(FieldCode, {}), canMarkResponsesAsReadOnly && /*#__PURE__*/jsx(Switch, {
1109
- label: t("neetoForm.common.readOnly"),
1110
- name: "isReadOnly",
1111
- labelProps: readOnlySwitchLabelProps(readOnlyHelpDocUrl)
1112
- })]
1115
+ children: shouldShowFieldCode && /*#__PURE__*/jsx(FieldCode, {})
1113
1116
  })
1114
1117
  })
1115
1118
  })]
@@ -1382,27 +1385,6 @@ var SwitchBlock = function SwitchBlock(_ref) {
1382
1385
  });
1383
1386
  };
1384
1387
 
1385
- function ownKeys$5(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; }
1386
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1387
- var TitleWithHelpPopover = function TitleWithHelpPopover(_ref) {
1388
- var title = _ref.title,
1389
- description = _ref.description,
1390
- helpLink = _ref.helpLink;
1391
- return /*#__PURE__*/jsxs("div", {
1392
- className: "flex gap-2",
1393
- children: [title, /*#__PURE__*/jsx(HelpPopover, _objectSpread$5({
1394
- description: description,
1395
- popoverProps: {
1396
- position: "top"
1397
- }
1398
- }, helpLink && {
1399
- helpLinkProps: {
1400
- href: helpLink
1401
- }
1402
- }))]
1403
- });
1404
- };
1405
-
1406
1388
  var DOMAIN_RESTRICTION_TRANSLATIONS = {
1407
1389
  whitelistedDomains: {
1408
1390
  title: t("neetoForm.domainRestriction.whitelistedDomains.label"),
@@ -1421,8 +1403,8 @@ var EMAIL_VERIFICATION_TRANSLATIONS = {
1421
1403
  };
1422
1404
 
1423
1405
  var _excluded$2 = ["children"];
1424
- function ownKeys$4(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; }
1425
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1406
+ function ownKeys$5(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; }
1407
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1426
1408
  var STYLES = {
1427
1409
  border: {
1428
1410
  "default": "1px solid rgb(var(--neeto-ui-gray-400))",
@@ -1434,8 +1416,8 @@ var STYLES = {
1434
1416
  }
1435
1417
  };
1436
1418
  var MultiValueRemove = function MultiValueRemove(props) {
1437
- return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$4(_objectSpread$4({}, props), {}, {
1438
- innerProps: _objectSpread$4(_objectSpread$4({}, props.innerProps), {}, _defineProperty({}, "data-testid", "".concat(hyphenize(props.data.label), "-remove-icon"))),
1419
+ return /*#__PURE__*/jsx(components.MultiValueRemove, _objectSpread$5(_objectSpread$5({}, props), {}, {
1420
+ innerProps: _objectSpread$5(_objectSpread$5({}, props.innerProps), {}, _defineProperty({}, "data-testid", "".concat(hyphenize(props.data.label), "-remove-icon"))),
1439
1421
  children: /*#__PURE__*/jsx(Close, {
1440
1422
  size: 16
1441
1423
  })
@@ -1455,8 +1437,8 @@ var ValueContainer = function ValueContainer(_ref) {
1455
1437
  firstChild = _children[0],
1456
1438
  rest = _children.slice(1);
1457
1439
  var shouldCollapse = !isFocused && value.length > visibleDomainsCount;
1458
- return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$4(_objectSpread$4({}, props), {}, {
1459
- innerProps: _objectSpread$4(_objectSpread$4({}, props.innerProps), {}, _defineProperty({}, "data-testid", "multi-domain-input-container")),
1440
+ return /*#__PURE__*/jsxs(components.ValueContainer, _objectSpread$5(_objectSpread$5({}, props), {}, {
1441
+ innerProps: _objectSpread$5(_objectSpread$5({}, props.innerProps), {}, _defineProperty({}, "data-testid", "multi-domain-input-container")),
1460
1442
  children: [shouldCollapse ? firstChild.slice(0, visibleDomainsCount) : firstChild, shouldCollapse && /*#__PURE__*/jsx(Tag, {
1461
1443
  style: "secondary",
1462
1444
  label: t("neetoForm.common.remainingItemsCount", {
@@ -1466,8 +1448,8 @@ var ValueContainer = function ValueContainer(_ref) {
1466
1448
  }));
1467
1449
  };
1468
1450
  var ClearIndicator = function ClearIndicator(props) {
1469
- return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$4(_objectSpread$4({}, props), {}, {
1470
- innerProps: _objectSpread$4(_objectSpread$4({}, props.innerProps), {}, _defineProperty({}, "data-testid", "clear-all-button")),
1451
+ return /*#__PURE__*/jsx(components.ClearIndicator, _objectSpread$5(_objectSpread$5({}, props), {}, {
1452
+ innerProps: _objectSpread$5(_objectSpread$5({}, props.innerProps), {}, _defineProperty({}, "data-testid", "clear-all-button")),
1471
1453
  children: /*#__PURE__*/jsx(Close, {
1472
1454
  className: "cursor-pointer",
1473
1455
  size: 16
@@ -1488,7 +1470,7 @@ var CUSTOM_STYLES = {
1488
1470
  input: assoc("overflow", "hidden"),
1489
1471
  multiValue: function multiValue(styles, _ref2) {
1490
1472
  var valid = _ref2.data.valid;
1491
- return _objectSpread$4(_objectSpread$4({}, styles), {}, {
1473
+ return _objectSpread$5(_objectSpread$5({}, styles), {}, {
1492
1474
  border: valid ? STYLES.border["default"] : STYLES.border.error,
1493
1475
  color: valid ? STYLES.color["default"] : STYLES.color.error
1494
1476
  });
@@ -1531,8 +1513,8 @@ var formatErrorMessage = function formatErrorMessage(error) {
1531
1513
  };
1532
1514
 
1533
1515
  var _excluded$1 = ["label", "value", "onChange", "error", "onBlur"];
1534
- function ownKeys$3(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; }
1535
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1516
+ function ownKeys$4(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; }
1517
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1536
1518
  var MultiDomainInput = function MultiDomainInput(_ref) {
1537
1519
  var _ref$label = _ref.label,
1538
1520
  label = _ref$label === void 0 ? "" : _ref$label,
@@ -1591,7 +1573,7 @@ var MultiDomainInput = function MultiDomainInput(_ref) {
1591
1573
  "data-testid": "".concat(hyphenize(label), "-input-label"),
1592
1574
  children: label
1593
1575
  })
1594
- }), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$3({
1576
+ }), /*#__PURE__*/jsx(CreatableSelect, _objectSpread$4({
1595
1577
  isMulti: true,
1596
1578
  required: true,
1597
1579
  classNamePrefix: "neeto-ui-react-select",
@@ -1601,7 +1583,7 @@ var MultiDomainInput = function MultiDomainInput(_ref) {
1601
1583
  className: classnames("neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select", {
1602
1584
  "neeto-ui-react-select__container--error": !!error
1603
1585
  }),
1604
- styles: _objectSpread$3(_objectSpread$3({}, CUSTOM_STYLES), {}, {
1586
+ styles: _objectSpread$4(_objectSpread$4({}, CUSTOM_STYLES), {}, {
1605
1587
  control: mergeLeft({
1606
1588
  maxHeight: "200px",
1607
1589
  overflowY: "auto"
@@ -1613,7 +1595,7 @@ var MultiDomainInput = function MultiDomainInput(_ref) {
1613
1595
  },
1614
1596
  onInputChange: setInputValue,
1615
1597
  onKeyDown: handleKeyDown
1616
- }, _objectSpread$3({
1598
+ }, _objectSpread$4({
1617
1599
  inputValue: inputValue,
1618
1600
  isFocused: isFocused,
1619
1601
  onChange: onChange,
@@ -1635,6 +1617,8 @@ var MultiDomainInput = function MultiDomainInput(_ref) {
1635
1617
  });
1636
1618
  };
1637
1619
 
1620
+ function ownKeys$3(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; }
1621
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1638
1622
  var validateDomains = function validateDomains(value) {
1639
1623
  var schema = yup.array().of(yup.string().test("verify domains", t("neetoForm.error.invalidDomain"), function (domain) {
1640
1624
  return VALID_DOMAIN_REGEX.test(domain);
@@ -1670,6 +1654,20 @@ var validateDomains = function validateDomains(value) {
1670
1654
  };
1671
1655
  }());
1672
1656
  };
1657
+ var buildHelpPopoverLabelProps = function buildHelpPopoverLabelProps(popoverDescription, helpLink) {
1658
+ return {
1659
+ helpIconProps: {
1660
+ popoverProps: _objectSpread$3({
1661
+ description: popoverDescription
1662
+ }, helpLink && {
1663
+ helpLinkProps: {
1664
+ href: helpLink,
1665
+ label: t("neetoForm.common.viewHelpArticle")
1666
+ }
1667
+ })
1668
+ }
1669
+ };
1670
+ };
1673
1671
 
1674
1672
  var EmailDomains = function EmailDomains(_ref) {
1675
1673
  var name = _ref.name,
@@ -1722,12 +1720,9 @@ var RestrictDomainsBlock = function RestrictDomainsBlock(_ref) {
1722
1720
  className: "flex flex-col space-y-4",
1723
1721
  "data-testid": "".concat(hyphenate(switchName), "-container"),
1724
1722
  children: [/*#__PURE__*/jsx(SwitchBlock, {
1725
- name: switchName,
1726
- title: /*#__PURE__*/jsx(TitleWithHelpPopover, {
1727
- helpLink: helpLink,
1728
- title: title,
1729
- description: popoverDescription
1730
- })
1723
+ label: title,
1724
+ labelProps: buildHelpPopoverLabelProps(popoverDescription, helpLink),
1725
+ name: switchName
1731
1726
  }), isDomainRestrictionEnabled && /*#__PURE__*/jsx(EmailDomains, {
1732
1727
  label: description,
1733
1728
  name: domainName
@@ -1746,16 +1741,9 @@ var VerifyEmails = function VerifyEmails() {
1746
1741
  return /*#__PURE__*/jsx("div", {
1747
1742
  "data-testid": "email-verification-switch-container",
1748
1743
  children: /*#__PURE__*/jsx(Switch, {
1749
- name: "isVerificationEnabled",
1750
- label: /*#__PURE__*/jsx(Typography, {
1751
- component: "span",
1752
- style: "body1",
1753
- children: /*#__PURE__*/jsx(TitleWithHelpPopover, {
1754
- helpLink: helpLink,
1755
- title: title,
1756
- description: popoverDescription
1757
- })
1758
- })
1744
+ label: title,
1745
+ labelProps: buildHelpPopoverLabelProps(popoverDescription, helpLink),
1746
+ name: "isVerificationEnabled"
1759
1747
  })
1760
1748
  });
1761
1749
  };