@bigbinary/neeto-fields-frontend 1.3.24 → 1.3.25

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/dist/index.cjs.js CHANGED
@@ -26,6 +26,7 @@ var MenuBar = require('@bigbinary/neeto-molecules/MenuBar');
26
26
  var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
27
27
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
28
28
  var NeetoUIHeader = require('@bigbinary/neeto-molecules/Header');
29
+ var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
29
30
  var reactDom = require('react-dom');
30
31
  var NeetoUISubHeader = require('@bigbinary/neeto-molecules/SubHeader');
31
32
  var classnames = require('classnames');
@@ -59,6 +60,7 @@ var MenuBar__default = /*#__PURE__*/_interopDefaultLegacy(MenuBar);
59
60
  var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
60
61
  var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
61
62
  var NeetoUIHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUIHeader);
63
+ var HelpPopover__default = /*#__PURE__*/_interopDefaultLegacy(HelpPopover);
62
64
  var NeetoUISubHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoUISubHeader);
63
65
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
64
66
 
@@ -824,9 +826,9 @@ var getValueFromBool = function getValueFromBool(value) {
824
826
  return value === true ? i18next.t("neetoFields.common.yes") : i18next.t("neetoFields.common.no");
825
827
  };
826
828
 
827
- var _excluded$6 = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName", "isInline", "onBlur"];
828
- 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; }
829
- 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), !0).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; }
829
+ var _excluded$7 = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName", "isInline", "onBlur"];
830
+ 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; }
831
+ 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), !0).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; }
830
832
  var useFormikFields = function useFormikFields(_ref) {
831
833
  var name = _ref.name,
832
834
  fieldId = _ref.id,
@@ -842,7 +844,7 @@ var useFormikFields = function useFormikFields(_ref) {
842
844
  isInline = _ref$isInline === void 0 ? false : _ref$isInline,
843
845
  _ref$onBlur = _ref.onBlur,
844
846
  handleBlur = _ref$onBlur === void 0 ? neetoCist.noop : _ref$onBlur,
845
- props = _objectWithoutProperties(_ref, _excluded$6);
847
+ props = _objectWithoutProperties(_ref, _excluded$7);
846
848
  var formikContext = formik.useFormikContext();
847
849
  var submitForm = formikContext.submitForm,
848
850
  dirty = formikContext.dirty,
@@ -934,7 +936,7 @@ var useFormikFields = function useFormikFields(_ref) {
934
936
  return {
935
937
  dirty: dirty,
936
938
  handleSubmit: handleSubmit,
937
- fieldProps: _objectSpread$g(_objectSpread$g({}, formikFieldProps), {}, {
939
+ fieldProps: _objectSpread$h(_objectSpread$h({}, formikFieldProps), {}, {
938
940
  error: individualSubmit ? meta.error : meta.touched && meta.error,
939
941
  value: getValueForField(formikFieldProps.value),
940
942
  label: !isInline && neetoCist.capitalize(name),
@@ -964,28 +966,43 @@ var Checkbox = function Checkbox(props) {
964
966
  }));
965
967
  };
966
968
 
969
+ var _excluded$6 = ["onBlur"];
970
+ 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; }
971
+ 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), !0).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; }
967
972
  var DateOrTime = function DateOrTime(props) {
968
973
  var _useFormikFields = useFormikFields(props),
969
974
  handleSubmit = _useFormikFields.handleSubmit,
970
- fieldProps = _useFormikFields.fieldProps;
975
+ _useFormikFields$fiel = _useFormikFields.fieldProps,
976
+ onBlur = _useFormikFields$fiel.onBlur,
977
+ fieldProps = _objectWithoutProperties(_useFormikFields$fiel, _excluded$6);
971
978
  var handleChange = function handleChange(dateTime) {
972
979
  return handleSubmit(dateTimeToString(dateTime));
973
980
  };
981
+ var onOpenChange = function onOpenChange(open) {
982
+ if (open) return;
983
+ onBlur === null || onBlur === void 0 || onBlur();
984
+ };
974
985
  if (props.kind === KINDS.time) {
975
- return /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({}, fieldProps, {
986
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.TimePicker, _extends({}, _objectSpread$g(_objectSpread$g({}, fieldProps), {}, {
987
+ onOpenChange: onOpenChange
988
+ }), {
976
989
  use12Hours: true,
977
990
  format: "h:mm A",
978
991
  onChange: handleChange
979
992
  }));
980
993
  } else if (props.kind === KINDS.date) {
981
- return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, fieldProps, {
994
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, _objectSpread$g(_objectSpread$g({}, fieldProps), {}, {
995
+ onOpenChange: onOpenChange
996
+ }), {
982
997
  onChange: handleChange
983
998
  }));
984
999
  }
985
1000
  return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({
986
1001
  showTime: true,
987
1002
  timeFormat: "h:mm A"
988
- }, fieldProps, {
1003
+ }, _objectSpread$g(_objectSpread$g({}, fieldProps), {}, {
1004
+ onOpenChange: onOpenChange
1005
+ }), {
989
1006
  onChange: handleChange
990
1007
  }));
991
1008
  };
@@ -1012,8 +1029,13 @@ var Number$1 = function Number(props) {
1012
1029
  dirty = _useFormikFields.dirty;
1013
1030
  var individualSubmit = props.individualSubmit,
1014
1031
  isInline = props.isInline;
1015
- var showSubmitButton = !isInline && individualSubmit && dirty;
1016
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, {
1032
+ var isNotInline = !isInline;
1033
+ var showSubmitButton = isNotInline && individualSubmit && dirty;
1034
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, isNotInline && {
1035
+ onBlur: function onBlur() {
1036
+ return dirty && handleSubmit();
1037
+ }
1038
+ }, {
1017
1039
  type: "number",
1018
1040
  suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
1019
1041
  "data-cy": utils.joinHyphenCase(fieldProps.label, "check-button"),
@@ -1099,8 +1121,13 @@ var Text = function Text(props) {
1099
1121
  dirty = _useFormikFields.dirty;
1100
1122
  var individualSubmit = props.individualSubmit,
1101
1123
  isInline = props.isInline;
1102
- var showSubmitButton = !isInline && individualSubmit && dirty;
1103
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, {
1124
+ var isNotInline = !isInline;
1125
+ var showSubmitButton = isNotInline && individualSubmit && dirty;
1126
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, isNotInline && {
1127
+ onBlur: function onBlur() {
1128
+ return dirty && handleSubmit();
1129
+ }
1130
+ }, {
1104
1131
  suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
1105
1132
  "data-cy": utils.joinHyphenCase(fieldProps.label, "check-button"),
1106
1133
  icon: neetoIcons.Check,
@@ -1286,7 +1313,6 @@ var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
1286
1313
  var DEPENDENCIES_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId/dependencies");
1287
1314
  var FIELDS_REORDER_URL = "".concat(FIELDS_URL, "/reorder");
1288
1315
  var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
1289
- var INFO_ICON_SIZE = 16;
1290
1316
 
1291
1317
  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; }
1292
1318
  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), !0).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; }
@@ -3007,20 +3033,6 @@ var FieldsTable = function FieldsTable(_ref) {
3007
3033
  }));
3008
3034
  };
3009
3035
 
3010
- var TitleWithHelpLink = function TitleWithHelpLink(_ref) {
3011
- var title = _ref.title,
3012
- helpUrl = _ref.helpUrl;
3013
- return /*#__PURE__*/React__default["default"].createElement("div", {
3014
- className: "flex items-center gap-x-1"
3015
- }, title, helpUrl && /*#__PURE__*/React__default["default"].createElement("a", {
3016
- href: helpUrl,
3017
- rel: "noreferrer",
3018
- target: "_blank"
3019
- }, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Info, {
3020
- size: INFO_ICON_SIZE
3021
- })));
3022
- };
3023
-
3024
3036
  // eslint-disable-next-line @bigbinary/neeto/no-dumb-components-with-use-translation
3025
3037
  var ActionBlock = function ActionBlock(_ref) {
3026
3038
  var reorderable = _ref.reorderable,
@@ -3047,24 +3059,29 @@ var ActionBlock = function ActionBlock(_ref) {
3047
3059
  }));
3048
3060
  };
3049
3061
 
3050
- var _excluded = ["searchInputProps", "breadcrumbs", "title", "helpDocUrl"];
3051
- var Header = function Header(_ref) {
3062
+ var _excluded = ["searchInputProps", "breadcrumbs", "title", "helpDocUrl", "helpDescription"];
3063
+ var Header = reactUtils.withT(function (_ref) {
3052
3064
  var searchInputProps = _ref.searchInputProps,
3053
3065
  breadcrumbs = _ref.breadcrumbs,
3054
3066
  title = _ref.title,
3055
3067
  helpDocUrl = _ref.helpDocUrl,
3068
+ helpDescription = _ref.helpDescription,
3056
3069
  actionBlockProps = _objectWithoutProperties(_ref, _excluded);
3057
3070
  return /*#__PURE__*/React__default["default"].createElement(NeetoUIHeader__default["default"], {
3058
3071
  breadcrumbs: breadcrumbs,
3059
3072
  actionBlock: /*#__PURE__*/React__default["default"].createElement(ActionBlock, actionBlockProps),
3060
3073
  searchProps: searchInputProps,
3061
3074
  size: "small",
3062
- title: /*#__PURE__*/React__default["default"].createElement(TitleWithHelpLink, {
3075
+ title: /*#__PURE__*/React__default["default"].createElement("span", null, title, /*#__PURE__*/React__default["default"].createElement(HelpPopover__default["default"], {
3063
3076
  title: title,
3064
- helpUrl: helpDocUrl
3065
- })
3077
+ className: "ml-2 self-center",
3078
+ description: helpDescription,
3079
+ helpLinkProps: {
3080
+ href: helpDocUrl
3081
+ }
3082
+ }))
3066
3083
  });
3067
- };
3084
+ });
3068
3085
 
3069
3086
  var Menubar = function Menubar(_ref) {
3070
3087
  var menuBarItems = _ref.menuBarItems,
@@ -7493,6 +7510,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
7493
7510
  _ref$fieldStatesTaxon = _ref.fieldStatesTaxonomy,
7494
7511
  fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon,
7495
7512
  helpDocUrl = _ref.helpDocUrl,
7513
+ helpDescription = _ref.helpDescription,
7496
7514
  _ref$nameAliases = _ref.nameAliases,
7497
7515
  nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases,
7498
7516
  headerTitle = _ref.headerTitle,
@@ -7542,6 +7560,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
7542
7560
  reorderable: reorderable,
7543
7561
  breadcrumbs: breadcrumbs,
7544
7562
  helpDocUrl: helpDocUrl,
7563
+ helpDescription: helpDescription,
7545
7564
  searchInputProps: searchInputProps,
7546
7565
  setIsPaneOpen: setIsPaneOpen,
7547
7566
  setIsReorderPaneOpen: setIsReorderPaneOpen,
@@ -7558,6 +7577,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
7558
7577
  className: "flex h-screen w-full flex-grow items-center justify-center"
7559
7578
  }, /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null)) : /*#__PURE__*/React__default["default"].createElement(FieldsTable, {
7560
7579
  columnData: columnData,
7580
+ helpDescription: helpDescription,
7561
7581
  helpDocUrl: helpDocUrl,
7562
7582
  pageProps: pageProps,
7563
7583
  setIsPaneOpen: setIsPaneOpen,