ywana-core8 0.0.986 → 0.0.988

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.umd.js CHANGED
@@ -175,18 +175,13 @@
175
175
  };
176
176
 
177
177
  function _extends() {
178
- _extends = Object.assign ? Object.assign.bind() : function (target) {
179
- for (var i = 1; i < arguments.length; i++) {
180
- var source = arguments[i];
181
- for (var key in source) {
182
- if (Object.prototype.hasOwnProperty.call(source, key)) {
183
- target[key] = source[key];
184
- }
185
- }
178
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
179
+ for (var e = 1; e < arguments.length; e++) {
180
+ var t = arguments[e];
181
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
186
182
  }
187
- return target;
188
- };
189
- return _extends.apply(this, arguments);
183
+ return n;
184
+ }, _extends.apply(null, arguments);
190
185
  }
191
186
 
192
187
  /**
@@ -3041,6 +3036,51 @@
3041
3036
  }, /*#__PURE__*/React__default["default"].createElement(Text, null, message)) : null));
3042
3037
  };
3043
3038
 
3039
+ function validatePassword(contraseña) {
3040
+ var error = "";
3041
+
3042
+ // Verificar longitud mínima y máxima
3043
+ if (contraseña.length < 15 || contraseña.length > 50) {
3044
+ error = 'La contraseña debe tener entre 15 y 50 caracteres.';
3045
+ return [false, error];
3046
+ }
3047
+
3048
+ // Verificar al menos una letra (mayúscula o minúscula)
3049
+ if (!/[A-Za-z]/.test(contraseña)) {
3050
+ error = 'La contraseña debe contener al menos una letra (A-Z o a-z).';
3051
+ return [false, error];
3052
+ }
3053
+
3054
+ // Verificar al menos un número
3055
+ if (!/[0-9]/.test(contraseña)) {
3056
+ error = 'La contraseña debe contener al menos un número (0-9).';
3057
+ return [false, error];
3058
+ }
3059
+
3060
+ // Verificar al menos una minúscula
3061
+ if (!/[a-z]/.test(contraseña)) {
3062
+ error = 'La contraseña debe contener al menos una letra en minúscula (a-z).';
3063
+ return [false, error];
3064
+ }
3065
+
3066
+ // Verificar al menos una mayúscula
3067
+ if (!/[A-Z]/.test(contraseña)) {
3068
+ error = 'La contraseña debe contener al menos una letra en mayúscula (A-Z).';
3069
+ return [false, error];
3070
+ }
3071
+
3072
+ // Verificar al menos un carácter especial
3073
+ if (!/[<>+&!?*\-_%\.:=]/.test(contraseña)) {
3074
+ error = 'La contraseña debe contener al menos un carácter especial (< > + & ! ? * - _ % . : =).';
3075
+ return [false, error];
3076
+ }
3077
+
3078
+ // Si todas las validaciones pasan
3079
+ return [true, error];
3080
+ }
3081
+
3082
+ //module.exports = { validatePassword }
3083
+
3044
3084
  /**
3045
3085
  * Reset Password
3046
3086
  */
@@ -3057,11 +3097,25 @@
3057
3097
  var _useState = React.useState({}),
3058
3098
  form = _useState[0],
3059
3099
  setForm = _useState[1];
3060
- var _useState2 = React.useState(),
3061
- error = _useState2[0],
3062
- setError = _useState2[1];
3063
- function canOK() {
3064
- return form.password1 && form.password2;
3100
+ var _useState2 = React.useState(false),
3101
+ isValid = _useState2[0],
3102
+ setIsValid = _useState2[1];
3103
+ var _useState3 = React.useState(),
3104
+ error = _useState3[0],
3105
+ setError = _useState3[1];
3106
+ React.useEffect(function () {
3107
+ setIsValid(validate());
3108
+ }, [form.password1, form.password2]);
3109
+ function validate() {
3110
+ var hasRequiredUser = userRequired ? form.user && form.user.length > 0 : true;
3111
+ var hasPassword1 = form.password1 && form.password1.length > 0;
3112
+ var _ref2 = hasPassword1 ? validatePassword(form.password1) : [false, "La contraseña es requerida."],
3113
+ isValid = _ref2[0],
3114
+ error = _ref2[1];
3115
+ setError(error);
3116
+ var areEqual = form.password1 === form.password2;
3117
+ if (isValid && !areEqual) setError("Las contraseñas no coinciden.");
3118
+ return hasRequiredUser && areEqual && isValid;
3065
3119
  }
3066
3120
  function changeField(id, value) {
3067
3121
  var _Object$assign;
@@ -3070,13 +3124,7 @@
3070
3124
  }
3071
3125
  function ok() {
3072
3126
  if (onOK && canOK()) {
3073
- if (form.password1 === form.password2) {
3074
- setError(null);
3075
- onOK(form);
3076
- } else {
3077
- var errorLabel = lang === "EN" ? "Passwords do not match" : "Las claves no coinciden";
3078
- setError(errorLabel);
3079
- }
3127
+ onOK(form);
3080
3128
  }
3081
3129
  }
3082
3130
  function close() {
@@ -3130,7 +3178,7 @@
3130
3178
  }), /*#__PURE__*/React__default["default"].createElement(Button, {
3131
3179
  label: okLabel,
3132
3180
  raised: true,
3133
- disabled: !canOK(),
3181
+ disabled: !isValid,
3134
3182
  action: ok
3135
3183
  })));
3136
3184
  };
@@ -5473,6 +5521,7 @@
5473
5521
  listeners = _useState[0],
5474
5522
  setListeners = _useState[1];
5475
5523
  React.useEffect(function () {
5524
+ if (Object.keys(listeners).length === 0) return;
5476
5525
  var _interval = setInterval(function () {
5477
5526
  try {
5478
5527
  var taskIDs = Object.keys(listeners);
@@ -5493,12 +5542,12 @@
5493
5542
  };
5494
5543
  }, [listeners]);
5495
5544
  function addListener(taskID, listener) {
5496
- var next = Object.assign({}, listeners);
5497
- next[taskID] = listener;
5545
+ var _extends2;
5546
+ var next = _extends({}, listeners, (_extends2 = {}, _extends2[taskID] = listener, _extends2));
5498
5547
  setListeners(next);
5499
5548
  }
5500
5549
  function addListeners(newListeners) {
5501
- var next = Object.assign({}, listeners, newListeners);
5550
+ var next = _extends({}, listeners, newListeners);
5502
5551
  setListeners(next);
5503
5552
  }
5504
5553
  function removeListener(taskID) {
@@ -6062,7 +6111,7 @@
6062
6111
  site.closeDialog();
6063
6112
  }
6064
6113
  var openDialog = function openDialog() {
6065
- site.openDialog( /*#__PURE__*/React__default["default"].createElement(ChangePasswordDialog, {
6114
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(ChangePasswordDialog, {
6066
6115
  lang: lang,
6067
6116
  label: label,
6068
6117
  onOK: onOK,
@@ -6919,7 +6968,7 @@
6919
6968
  }
6920
6969
  });
6921
6970
  }) : [];
6922
- if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
6971
+ if (canDelete) item.actions.push(/*#__PURE__*/React__default["default"].createElement(Icon, {
6923
6972
  icon: "delete",
6924
6973
  size: "small",
6925
6974
  clickable: true,
@@ -7529,7 +7578,7 @@
7529
7578
  return Promise.reject(e);
7530
7579
  }
7531
7580
  };
7532
- site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
7581
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
7533
7582
  label: "" + name,
7534
7583
  type: schema,
7535
7584
  onOK: onOK,
@@ -8402,7 +8451,7 @@
8402
8451
  return Promise.reject(e);
8403
8452
  }
8404
8453
  };
8405
- site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
8454
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
8406
8455
  label: "Crear " + name,
8407
8456
  type: schema,
8408
8457
  onOK: onOK,
@@ -8425,7 +8474,7 @@
8425
8474
  return Promise.reject(e);
8426
8475
  }
8427
8476
  };
8428
- site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
8477
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
8429
8478
  label: "Nueva query",
8430
8479
  type: QUERY,
8431
8480
  onOK: onOK
@@ -8913,7 +8962,7 @@
8913
8962
  }
8914
8963
  });
8915
8964
  }) : [];
8916
- if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
8965
+ if (canDelete) item.actions.push(/*#__PURE__*/React__default["default"].createElement(Icon, {
8917
8966
  icon: "delete",
8918
8967
  size: "small",
8919
8968
  clickable: true,
@@ -9327,7 +9376,7 @@
9327
9376
  return Promise.reject(e);
9328
9377
  }
9329
9378
  };
9330
- site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
9379
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
9331
9380
  label: "Crear " + name,
9332
9381
  type: schema,
9333
9382
  onOK: onOK,
@@ -9349,7 +9398,7 @@
9349
9398
  return Promise.reject(e);
9350
9399
  }
9351
9400
  };
9352
- site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
9401
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
9353
9402
  label: "Nueva query",
9354
9403
  type: QUERY,
9355
9404
  onOK: onOK
@@ -9865,7 +9914,7 @@
9865
9914
  }
9866
9915
  });
9867
9916
  }) : [];
9868
- if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
9917
+ if (canDelete) item.actions.push(/*#__PURE__*/React__default["default"].createElement(Icon, {
9869
9918
  icon: "delete",
9870
9919
  size: "small",
9871
9920
  clickable: true,
@@ -10327,7 +10376,7 @@
10327
10376
  return Promise.reject(e);
10328
10377
  }
10329
10378
  };
10330
- site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
10379
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
10331
10380
  label: "Crear " + name,
10332
10381
  type: schema,
10333
10382
  onOK: onOK,
@@ -10349,7 +10398,7 @@
10349
10398
  return Promise.reject(e);
10350
10399
  }
10351
10400
  };
10352
- site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
10401
+ site.openDialog(/*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
10353
10402
  label: "Nueva query",
10354
10403
  type: QUERY,
10355
10404
  onOK: onOK
@@ -10849,7 +10898,7 @@
10849
10898
  }
10850
10899
  });
10851
10900
  }) : [];
10852
- if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
10901
+ if (canDelete) item.actions.push(/*#__PURE__*/React__default["default"].createElement(Icon, {
10853
10902
  icon: "delete",
10854
10903
  size: "small",
10855
10904
  clickable: true,