@bigbinary/neetoui 5.0.1 → 5.0.3

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/index.d.ts CHANGED
@@ -260,6 +260,7 @@ export interface MultiEmailInputProps {
260
260
  filterInvalidEmails?: { label: string };
261
261
  counter?: boolean | { label: string; startFrom: number };
262
262
  disabled?: boolean;
263
+ required?: boolean;
263
264
  maxHeight?: number;
264
265
  labelProps?: LabelProps;
265
266
  [key: string]: any;
package/index.js CHANGED
@@ -27271,14 +27271,14 @@ var renderValidEmails = function renderValidEmails(values) {
27271
27271
  return email.valid && email;
27272
27272
  });
27273
27273
  };
27274
- var getEmailsCount = function getEmailsCount(values) {
27274
+ var getValidEmailsCount = function getValidEmailsCount(values) {
27275
27275
  return renderValidEmails(values).length;
27276
27276
  };
27277
27277
  var renderDefaultText = function renderDefaultText(count) {
27278
27278
  return count === 1 ? "email" : "emails";
27279
27279
  };
27280
27280
 
27281
- var _excluded$i = ["label", "placeholder", "helpText", "value", "onChange", "error", "onBlur", "filterInvalidEmails", "counter", "disabled", "maxHeight", "labelProps"];
27281
+ var _excluded$i = ["label", "placeholder", "helpText", "value", "onChange", "error", "onBlur", "filterInvalidEmails", "counter", "disabled", "maxHeight", "required", "labelProps"];
27282
27282
  function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27283
27283
  function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty$7(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27284
27284
  var MultiEmailInput = /*#__PURE__*/forwardRef$1(function (_ref, ref) {
@@ -27302,13 +27302,15 @@ var MultiEmailInput = /*#__PURE__*/forwardRef$1(function (_ref, ref) {
27302
27302
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
27303
27303
  _ref$maxHeight = _ref.maxHeight,
27304
27304
  maxHeight = _ref$maxHeight === void 0 ? 200 : _ref$maxHeight,
27305
+ _ref$required = _ref.required,
27306
+ required = _ref$required === void 0 ? false : _ref$required,
27305
27307
  labelProps = _ref.labelProps,
27306
27308
  otherProps = _objectWithoutProperties$1(_ref, _excluded$i);
27307
27309
  var _useState = useState(""),
27308
27310
  _useState2 = _slicedToArray$2(_useState, 2),
27309
27311
  inputValue = _useState2[0],
27310
27312
  setInputValue = _useState2[1];
27311
- var isCounterVisible = !!counter && (!counter.startsFrom || getEmailsCount(value) >= counter.startsFrom);
27313
+ var isCounterVisible = !!counter && (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);
27312
27314
  var isOptionsPresent = !!otherProps.options;
27313
27315
  var handleFilterEmails = function handleFilterEmails() {
27314
27316
  return onChange(renderValidEmails(value));
@@ -27366,19 +27368,22 @@ var MultiEmailInput = /*#__PURE__*/forwardRef$1(function (_ref, ref) {
27366
27368
  isValidNewOption: isValidNewOption
27367
27369
  };
27368
27370
  }
27371
+ var isFilterEmailsLinkVisible = !!filterInvalidEmails && value.length > getValidEmailsCount(value);
27369
27372
  return /*#__PURE__*/React__default.createElement("div", {
27370
27373
  className: "neeto-ui-flex neeto-ui-flex-col neeto-ui-email-input"
27371
27374
  }, /*#__PURE__*/React__default.createElement("div", {
27372
27375
  className: "neeto-ui-flex neeto-ui-justify-between neeto-ui-email-input__title-row"
27373
27376
  }, label && /*#__PURE__*/React__default.createElement(Label, _extends$4({
27374
27377
  className: "neeto-ui-email-input__label",
27375
- "data-cy": "".concat(hyphenize(label), "-input-label")
27378
+ "data-cy": "".concat(hyphenize(label), "-input-label"),
27379
+ required: required
27376
27380
  }, labelProps), label), isCounterVisible && /*#__PURE__*/React__default.createElement(Typography, {
27377
27381
  className: "neeto-ui-email-input__counter",
27378
27382
  "data-cy": "".concat(hyphenize(label), "-email-counter"),
27379
27383
  style: "body2"
27380
- }, getEmailsCount(value), " ", counter.label ? counter.label : renderDefaultText(getEmailsCount(value)))), /*#__PURE__*/React__default.createElement(CreatableSelect, _extends$4({
27384
+ }, getValidEmailsCount(value), " ", counter.label ? counter.label : renderDefaultText(getValidEmailsCount(value)))), /*#__PURE__*/React__default.createElement(CreatableSelect, _extends$4({
27381
27385
  isMulti: true,
27386
+ required: true,
27382
27387
  classNamePrefix: "neeto-ui-react-select",
27383
27388
  components: CUSTOM_COMPONENTS,
27384
27389
  inputValue: inputValue,
@@ -27409,7 +27414,7 @@ var MultiEmailInput = /*#__PURE__*/forwardRef$1(function (_ref, ref) {
27409
27414
  className: "neeto-ui-input__error",
27410
27415
  "data-cy": "".concat(hyphenize(label), "-input-error"),
27411
27416
  style: "body3"
27412
- }, error, !!filterInvalidEmails && !isEmpty(value) && /*#__PURE__*/React__default.createElement("span", {
27417
+ }, error, isFilterEmailsLinkVisible && /*#__PURE__*/React__default.createElement("span", {
27413
27418
  className: "neeto-ui-typography neeto-ui-text-body3 neeto-ui-font-semibold cursor-pointer",
27414
27419
  onClick: handleFilterEmails
27415
27420
  }, "\xA0", filterInvalidEmails.label ? filterInvalidEmails.label : "Click here to remove invalid emails.")), !!helpText && /*#__PURE__*/React__default.createElement(Typography, {