@archbase/core 4.0.41 → 4.0.42

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.
@@ -617,6 +617,20 @@ export declare const archbaseTranslationResources: {
617
617
  After: string;
618
618
  In: string;
619
619
  "Not in": string;
620
+ "M\u00EDnimo de {{min}} caracteres": string;
621
+ "M\u00E1ximo de {{min}} caracteres": string;
622
+ "Pelo menos {{min}} letra min\u00FAscula": string;
623
+ "Pelo menos {{min}} letra mai\u00FAscula": string;
624
+ "Pelo menos {{min}} n\u00FAmero": string;
625
+ "Pelo menos {{min}} s\u00EDmbolo": string;
626
+ "N\u00E3o pode conter espa\u00E7os": string;
627
+ "N\u00E3o pode repetir o mesmo caractere {{min}} vezes seguidas": string;
628
+ "N\u00E3o pode conter sequ\u00EAncias de {{min}} caracteres": string;
629
+ "N\u00E3o pode conter dados pessoais ou termos comuns": string;
630
+ "Senha fraca": string;
631
+ "Senha razo\u00E1vel": string;
632
+ "Senha boa": string;
633
+ "Senha forte": string;
620
634
  };
621
635
  };
622
636
  'pt-BR': {
@@ -1237,6 +1251,20 @@ export declare const archbaseTranslationResources: {
1237
1251
  After: string;
1238
1252
  In: string;
1239
1253
  "Not in": string;
1254
+ "M\u00EDnimo de {{min}} caracteres": string;
1255
+ "M\u00E1ximo de {{min}} caracteres": string;
1256
+ "Pelo menos {{min}} letra min\u00FAscula": string;
1257
+ "Pelo menos {{min}} letra mai\u00FAscula": string;
1258
+ "Pelo menos {{min}} n\u00FAmero": string;
1259
+ "Pelo menos {{min}} s\u00EDmbolo": string;
1260
+ "N\u00E3o pode conter espa\u00E7os": string;
1261
+ "N\u00E3o pode repetir o mesmo caractere {{min}} vezes seguidas": string;
1262
+ "N\u00E3o pode conter sequ\u00EAncias de {{min}} caracteres": string;
1263
+ "N\u00E3o pode conter dados pessoais ou termos comuns": string;
1264
+ "Senha fraca": string;
1265
+ "Senha razo\u00E1vel": string;
1266
+ "Senha boa": string;
1267
+ "Senha forte": string;
1240
1268
  };
1241
1269
  };
1242
1270
  es: {
@@ -1773,6 +1801,20 @@ export declare const archbaseTranslationResources: {
1773
1801
  closeRight: string;
1774
1802
  closeOthers: string;
1775
1803
  };
1804
+ "M\u00EDnimo de {{min}} caracteres": string;
1805
+ "M\u00E1ximo de {{min}} caracteres": string;
1806
+ "Pelo menos {{min}} letra min\u00FAscula": string;
1807
+ "Pelo menos {{min}} letra mai\u00FAscula": string;
1808
+ "Pelo menos {{min}} n\u00FAmero": string;
1809
+ "Pelo menos {{min}} s\u00EDmbolo": string;
1810
+ "N\u00E3o pode conter espa\u00E7os": string;
1811
+ "N\u00E3o pode repetir o mesmo caractere {{min}} vezes seguidas": string;
1812
+ "N\u00E3o pode conter sequ\u00EAncias de {{min}} caracteres": string;
1813
+ "N\u00E3o pode conter dados pessoais ou termos comuns": string;
1814
+ "Senha fraca": string;
1815
+ "Senha razo\u00E1vel": string;
1816
+ "Senha boa": string;
1817
+ "Senha forte": string;
1776
1818
  };
1777
1819
  };
1778
1820
  };
@@ -620,7 +620,21 @@ declare const _default: {
620
620
  "Before": "Before",
621
621
  "After": "After",
622
622
  "In": "In",
623
- "Not in": "Not in"
623
+ "Not in": "Not in",
624
+ "Mínimo de {{min}} caracteres": "Minimum of {{min}} characters",
625
+ "Máximo de {{min}} caracteres": "Maximum of {{min}} characters",
626
+ "Pelo menos {{min}} letra minúscula": "At least {{min}} lowercase letter",
627
+ "Pelo menos {{min}} letra maiúscula": "At least {{min}} uppercase letter",
628
+ "Pelo menos {{min}} número": "At least {{min}} number",
629
+ "Pelo menos {{min}} símbolo": "At least {{min}} symbol",
630
+ "Não pode conter espaços": "Cannot contain spaces",
631
+ "Não pode repetir o mesmo caractere {{min}} vezes seguidas": "Cannot repeat the same character {{min}} times in a row",
632
+ "Não pode conter sequências de {{min}} caracteres": "Cannot contain sequences of {{min}} characters",
633
+ "Não pode conter dados pessoais ou termos comuns": "Cannot contain personal data or common terms",
634
+ "Senha fraca": "Weak password",
635
+ "Senha razoável": "Fair password",
636
+ "Senha boa": "Good password",
637
+ "Senha forte": "Strong password"
624
638
  }
625
639
  ;
626
640
 
@@ -530,7 +530,22 @@ declare const _default: {
530
530
  "closeLeft": "Cerrar a la izquierda",
531
531
  "closeRight": "Cerrar a la derecha",
532
532
  "closeOthers": "Cerrar otras"
533
- }
534
- };
533
+ },
534
+ "Mínimo de {{min}} caracteres": "Mínimo de {{min}} caracteres",
535
+ "Máximo de {{min}} caracteres": "Máximo de {{min}} caracteres",
536
+ "Pelo menos {{min}} letra minúscula": "Al menos {{min}} letra minúscula",
537
+ "Pelo menos {{min}} letra maiúscula": "Al menos {{min}} letra mayúscula",
538
+ "Pelo menos {{min}} número": "Al menos {{min}} número",
539
+ "Pelo menos {{min}} símbolo": "Al menos {{min}} símbolo",
540
+ "Não pode conter espaços": "No puede contener espacios",
541
+ "Não pode repetir o mesmo caractere {{min}} vezes seguidas": "No puede repetir el mismo carácter {{min}} veces seguidas",
542
+ "Não pode conter sequências de {{min}} caracteres": "No puede contener secuencias de {{min}} caracteres",
543
+ "Não pode conter dados pessoais ou termos comuns": "No puede contener datos personales o términos comunes",
544
+ "Senha fraca": "Contraseña débil",
545
+ "Senha razoável": "Contraseña aceptable",
546
+ "Senha boa": "Contraseña buena",
547
+ "Senha forte": "Contraseña fuerte"
548
+ }
549
+ ;
535
550
 
536
551
  export default _default;
@@ -621,7 +621,21 @@ declare const _default: {
621
621
  "Before": "Antes de",
622
622
  "After": "Depois de",
623
623
  "In": "Em",
624
- "Not in": "Não está em"
624
+ "Not in": "Não está em",
625
+ "Mínimo de {{min}} caracteres": "Mínimo de {{min}} caracteres",
626
+ "Máximo de {{min}} caracteres": "Máximo de {{min}} caracteres",
627
+ "Pelo menos {{min}} letra minúscula": "Pelo menos {{min}} letra minúscula",
628
+ "Pelo menos {{min}} letra maiúscula": "Pelo menos {{min}} letra maiúscula",
629
+ "Pelo menos {{min}} número": "Pelo menos {{min}} número",
630
+ "Pelo menos {{min}} símbolo": "Pelo menos {{min}} símbolo",
631
+ "Não pode conter espaços": "Não pode conter espaços",
632
+ "Não pode repetir o mesmo caractere {{min}} vezes seguidas": "Não pode repetir o mesmo caractere {{min}} vezes seguidas",
633
+ "Não pode conter sequências de {{min}} caracteres": "Não pode conter sequências de {{min}} caracteres",
634
+ "Não pode conter dados pessoais ou termos comuns": "Não pode conter dados pessoais ou termos comuns",
635
+ "Senha fraca": "Senha fraca",
636
+ "Senha razoável": "Senha razoável",
637
+ "Senha boa": "Senha boa",
638
+ "Senha forte": "Senha forte"
625
639
  }
626
640
  ;
627
641
 
@@ -20,5 +20,7 @@ export { isLastElementOfArray } from './array';
20
20
  export { getNestedObjectValue, setNestedObjectValue, getPathDepthLevel } from './nestedObject';
21
21
  export type { SetNestedObjectValueOperation } from './nestedObject';
22
22
  export { removeNonWord, replaceAccents, ltrim, rtrim, trim, lowerCase, upperCase, camelCase, unCamelCase, properCase, pascalCase, sentenceCase, slugify, hyphenate, unhyphenate, underscore, normalizeLineBreaks, contains as stringContains, crop, escapeRegExp, escapeHtml, unescapeHtml, escapeUnicode, stripHtmlTags, removeNonASCII, isEmpty as stringIsEmpty, interpolate, rpad, lpad, repeat, truncate, abbreviate, convertDateToISOString, convertISOStringToDate, formatStr, compressString, decompressString, } from './string-utils';
23
+ export { ARCHBASE_DEFAULT_PASSWORD_POLICY, validateArchbasePassword, isArchbasePasswordValid, getArchbasePasswordStrengthLabel, resolveArchbasePasswordPolicy, } from './passwordPolicy';
24
+ export type { ArchbasePasswordPolicy, ArchbasePasswordStrength, ArchbasePasswordRequirement, ArchbasePasswordRequirementKey, ArchbasePasswordValidationResult, } from './passwordPolicy';
23
25
  export { getKeyByEnumValue } from './enum-utils';
24
26
  export { ArchbaseFilterDSL } from './ArchbaseFilterDSL';
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Critérios que definem o que é uma senha forte.
3
+ * Todos os campos são opcionais: um critério ausente (ou zero) simplesmente não é avaliado.
4
+ */
5
+ export interface ArchbasePasswordPolicy {
6
+ /** Quantidade mínima de caracteres */
7
+ minLength?: number;
8
+ /** Quantidade máxima de caracteres */
9
+ maxLength?: number;
10
+ /** Quantidade mínima de letras minúsculas */
11
+ minLowercase?: number;
12
+ /** Quantidade mínima de letras maiúsculas */
13
+ minUppercase?: number;
14
+ /** Quantidade mínima de dígitos */
15
+ minNumbers?: number;
16
+ /** Quantidade mínima de símbolos (caracteres não alfanuméricos) */
17
+ minSymbols?: number;
18
+ /** Proíbe espaços em branco na senha */
19
+ forbidWhitespace?: boolean;
20
+ /** Proíbe N ou mais caracteres iguais em sequência. Ex: 3 rejeita "aaa" */
21
+ forbidRepeated?: number;
22
+ /** Proíbe N ou mais caracteres em sequência crescente/decrescente. Ex: 4 rejeita "1234" e "dcba" */
23
+ forbidSequential?: number;
24
+ /**
25
+ * Termos proibidos dentro da senha (comparação sem diferenciar maiúsculas).
26
+ * Use para impedir que a senha contenha o login, o e-mail ou o nome do usuário.
27
+ */
28
+ blocklist?: string[];
29
+ }
30
+ export type ArchbasePasswordStrength = 'empty' | 'weak' | 'fair' | 'good' | 'strong';
31
+ /** Identificador estável de cada critério, útil para customizar rótulos ou testes */
32
+ export type ArchbasePasswordRequirementKey = 'minLength' | 'maxLength' | 'minLowercase' | 'minUppercase' | 'minNumbers' | 'minSymbols' | 'forbidWhitespace' | 'forbidRepeated' | 'forbidSequential' | 'blocklist';
33
+ export interface ArchbasePasswordRequirement {
34
+ /** Identificador do critério */
35
+ key: ArchbasePasswordRequirementKey;
36
+ /** Descrição do critério já traduzida */
37
+ label: string;
38
+ /** Indicador se o critério foi atendido pela senha informada */
39
+ satisfied: boolean;
40
+ }
41
+ export interface ArchbasePasswordValidationResult {
42
+ /** Indicador se a senha atende a todos os critérios da política */
43
+ valid: boolean;
44
+ /** Pontuação de 0 a 100 combinando critérios atendidos e comprimento */
45
+ score: number;
46
+ /** Classificação da força derivada da pontuação */
47
+ strength: ArchbasePasswordStrength;
48
+ /** Todos os critérios avaliados, atendidos ou não */
49
+ requirements: ArchbasePasswordRequirement[];
50
+ /** Somente os critérios não atendidos */
51
+ unmetRequirements: ArchbasePasswordRequirement[];
52
+ /** Mensagem do primeiro critério não atendido, pronta para exibir no campo */
53
+ error?: string;
54
+ }
55
+ /**
56
+ * Política padrão: 8 caracteres com ao menos uma minúscula, uma maiúscula,
57
+ * um dígito e um símbolo, sem espaços em branco.
58
+ */
59
+ export declare const ARCHBASE_DEFAULT_PASSWORD_POLICY: ArchbasePasswordPolicy;
60
+ /**
61
+ * Avalia uma senha contra uma política e devolve o resultado detalhado, critério a critério.
62
+ * Para obter apenas a lista de critérios (sem senha digitada), chame com uma string vazia.
63
+ */
64
+ export declare function validateArchbasePassword(value: string | undefined | null, policy?: ArchbasePasswordPolicy): ArchbasePasswordValidationResult;
65
+ /** Atalho para quando só interessa saber se a senha atende à política */
66
+ export declare function isArchbasePasswordValid(value: string | undefined | null, policy?: ArchbasePasswordPolicy): boolean;
67
+ /** Rótulo traduzido da classificação de força, para exibir junto ao medidor */
68
+ export declare function getArchbasePasswordStrengthLabel(strength: ArchbasePasswordStrength): string;
69
+ /**
70
+ * Normaliza o atalho `passwordPolicy={true}` usado pelos componentes:
71
+ * `true` aplica a política padrão, `false`/`undefined` desativa a validação.
72
+ */
73
+ export declare function resolveArchbasePasswordPolicy(policy?: ArchbasePasswordPolicy | boolean): ArchbasePasswordPolicy | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archbase/core",
3
- "version": "4.0.41",
3
+ "version": "4.0.42",
4
4
  "description": "Core utilities and foundation for Archbase React v3",
5
5
  "author": "Edson Martins <edsonmartins2005@gmail.com>",
6
6
  "license": "MIT",
Binary file