@designliquido/foles 0.7.0 → 0.7.2

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 (53) hide show
  1. package/fontes/avaliador-sintatico/avaliador-sintatico.d.ts +2 -1
  2. package/fontes/avaliador-sintatico/avaliador-sintatico.js +62 -14
  3. package/fontes/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  4. package/fontes/foles.js +1 -0
  5. package/fontes/foles.js.map +1 -1
  6. package/fontes/lexador/palavras-reservadas/foles.d.ts +118 -113
  7. package/fontes/lexador/palavras-reservadas/foles.js +118 -116
  8. package/fontes/lexador/palavras-reservadas/foles.js.map +1 -1
  9. package/fontes/modificadores/animacao.js +1 -1
  10. package/fontes/modificadores/atributos/gerais.js +167 -165
  11. package/fontes/modificadores/atributos/gerais.js.map +1 -1
  12. package/fontes/modificadores/atributos/quantificadores.js +1 -0
  13. package/fontes/modificadores/atributos/quantificadores.js.map +1 -1
  14. package/fontes/modificadores/estilo-borda.d.ts +3 -0
  15. package/fontes/modificadores/estilo-borda.js +3 -2
  16. package/fontes/modificadores/estilo-borda.js.map +1 -1
  17. package/fontes/serializadores/serializador.js +5 -1
  18. package/fontes/serializadores/serializador.js.map +1 -1
  19. package/fontes/valores/metodos/gradiente-linear.js +1 -0
  20. package/fontes/valores/metodos/gradiente-linear.js.map +1 -1
  21. package/fontes/valores/metodos/inclinar-horizontal.js +1 -0
  22. package/fontes/valores/metodos/inclinar-horizontal.js.map +1 -1
  23. package/fontes/valores/metodos/inclinar-vertical.js +1 -0
  24. package/fontes/valores/metodos/inclinar-vertical.js.map +1 -1
  25. package/fontes/valores/metodos/inclinar.js +3 -0
  26. package/fontes/valores/metodos/inclinar.js.map +1 -1
  27. package/fontes/valores/metodos/raio.js +1 -0
  28. package/fontes/valores/metodos/raio.js.map +1 -1
  29. package/fontes/valores/metodos/rotacionar-eixo-z.js +1 -0
  30. package/fontes/valores/metodos/rotacionar-eixo-z.js.map +1 -1
  31. package/fontes/valores/metodos/rotacionar-horizontal.js +1 -0
  32. package/fontes/valores/metodos/rotacionar-horizontal.js.map +1 -1
  33. package/fontes/valores/metodos/rotacionar-matiz.js +1 -0
  34. package/fontes/valores/metodos/rotacionar-matiz.js.map +1 -1
  35. package/fontes/valores/metodos/rotacionar-vertical.js +1 -0
  36. package/fontes/valores/metodos/rotacionar-vertical.js.map +1 -1
  37. package/fontes/valores/metodos/rotacionar.js +1 -0
  38. package/fontes/valores/metodos/rotacionar.js.map +1 -1
  39. package/fontes/valores/metodos/translacao.js +3 -0
  40. package/fontes/valores/metodos/translacao.js.map +1 -1
  41. package/package.json +1 -1
  42. package/testes/listas/atribuicao-abreviada.d.ts +3 -1
  43. package/testes/listas/atribuicao-abreviada.js +95 -49
  44. package/testes/listas/atribuicao-abreviada.js.map +1 -1
  45. package/testes/listas/valor-numerico.d.ts +1 -0
  46. package/testes/listas/valor-numerico.js +19 -1
  47. package/testes/listas/valor-numerico.js.map +1 -1
  48. package/testes/modificadores/atribuicao-abreviada.test.js +113 -8
  49. package/testes/modificadores/atribuicao-abreviada.test.js.map +1 -1
  50. package/testes/modificadores/metodos.test.js +97 -27
  51. package/testes/modificadores/metodos.test.js.map +1 -1
  52. package/testes/modificadores/valor-numerico.test.js +16 -7
  53. package/testes/modificadores/valor-numerico.test.js.map +1 -1
@@ -11,6 +11,7 @@ class RotacionarMatiz extends metodo_1.Metodo {
11
11
  }
12
12
  paraTexto() {
13
13
  if (this.quantificador) {
14
+ this.quantificador === 'graus' ? this.quantificador = 'deg' : null;
14
15
  return `hue-rotate(${this.valor}${this.quantificador})`;
15
16
  }
16
17
  return `hue-rotate(${this.valor})`;
@@ -1 +1 @@
1
- {"version":3,"file":"rotacionar-matiz.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/rotacionar-matiz.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAElC,MAAa,eAAgB,SAAQ,eAAM;IAKvC,YAAY,KAAc,EAAE,aAAsB;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;IACjC,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,OAAO,cAAc,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA;SAC1D;QAED,OAAO,cAAc,IAAI,CAAC,KAAK,GAAG,CAAA;IACtC,CAAC;CACJ;AAnBD,0CAmBC"}
1
+ {"version":3,"file":"rotacionar-matiz.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/rotacionar-matiz.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAElC,MAAa,eAAgB,SAAQ,eAAM;IAKvC,YAAY,KAAc,EAAE,aAAsB;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;IACjC,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,OAAO,cAAc,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA;SAC1D;QAED,OAAO,cAAc,IAAI,CAAC,KAAK,GAAG,CAAA;IACtC,CAAC;CACJ;AApBD,0CAoBC"}
@@ -11,6 +11,7 @@ class RotacionarVertical extends metodo_1.Metodo {
11
11
  }
12
12
  paraTexto() {
13
13
  if (this.quantificador) {
14
+ this.quantificador === 'graus' ? this.quantificador = 'deg' : null;
14
15
  return `rotateY(${this.valor}${this.quantificador})`;
15
16
  }
16
17
  return `rotateY(${this.valor})`;
@@ -1 +1 @@
1
- {"version":3,"file":"rotacionar-vertical.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/rotacionar-vertical.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAElC,MAAa,kBAAmB,SAAQ,eAAM;IAK1C,YAAY,KAAc,EAAE,aAAsB;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,OAAO,WAAW,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA;SACvD;QAED,OAAO,WAAW,IAAI,CAAC,KAAK,GAAG,CAAA;IACnC,CAAC;CACJ;AAnBD,gDAmBC"}
1
+ {"version":3,"file":"rotacionar-vertical.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/rotacionar-vertical.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAElC,MAAa,kBAAmB,SAAQ,eAAM;IAK1C,YAAY,KAAc,EAAE,aAAsB;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,OAAO,WAAW,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA;SACvD;QAED,OAAO,WAAW,IAAI,CAAC,KAAK,GAAG,CAAA;IACnC,CAAC;CACJ;AApBD,gDAoBC"}
@@ -11,6 +11,7 @@ class Rotacionar extends metodo_1.Metodo {
11
11
  }
12
12
  paraTexto() {
13
13
  if (this.quantificador) {
14
+ this.quantificador === 'graus' ? this.quantificador = 'deg' : null;
14
15
  return `rotate(${this.valor}${this.quantificador})`;
15
16
  }
16
17
  return `rotate(${this.valor})`;
@@ -1 +1 @@
1
- {"version":3,"file":"rotacionar.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/rotacionar.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAElC,MAAa,UAAW,SAAQ,eAAM;IAKlC,YAAY,KAAc,EAAE,aAAsB;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,OAAO,UAAU,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA;SACtD;QAED,OAAO,UAAU,IAAI,CAAC,KAAK,GAAG,CAAA;IAClC,CAAC;CACJ;AAnBD,gCAmBC"}
1
+ {"version":3,"file":"rotacionar.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/rotacionar.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAElC,MAAa,UAAW,SAAQ,eAAM;IAKlC,YAAY,KAAc,EAAE,aAAsB;QAC9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,SAAS;QACL,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACnE,OAAO,UAAU,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,CAAA;SACtD;QAED,OAAO,UAAU,IAAI,CAAC,KAAK,GAAG,CAAA;IAClC,CAAC;CACJ;AApBD,gCAoBC"}
@@ -16,8 +16,11 @@ class Translacao extends metodo_1.Metodo {
16
16
  return `translate(${this.valor1})`;
17
17
  }
18
18
  if (!this.valor2 && !this.quantificador2) {
19
+ this.quantificador1 === 'graus' ? this.quantificador1 = 'deg' : null;
19
20
  return `translate(${this.valor1}${this.quantificador1})`;
20
21
  }
22
+ this.quantificador1 === 'graus' ? this.quantificador1 = 'deg' : null;
23
+ this.quantificador2 === 'graus' ? this.quantificador2 = 'deg' : null;
21
24
  return `translate(${this.valor1}${this.quantificador1}, ${this.valor2}${this.quantificador2})`;
22
25
  }
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"translacao.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/translacao.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAElC,MAAa,UAAW,SAAQ,eAAM;IAOlC,YAAY,MAAe,EAAE,cAAuB,EAAE,MAAe,EAAE,cAAuB;QAC1F,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC9D,OAAO,aAAa,IAAI,CAAC,MAAM,GAAG,CAAA;SACrC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtC,OAAO,aAAa,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,CAAA;SAC3D;QAED,OAAO,aAAa,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,CAAA;IAClG,CAAC;CACJ;AA3BD,gCA2BC"}
1
+ {"version":3,"file":"translacao.js","sourceRoot":"","sources":["../../../../fontes/valores/metodos/translacao.ts"],"names":[],"mappings":";;;AACA,qCAAkC;AAElC,MAAa,UAAW,SAAQ,eAAM;IAOlC,YAAY,MAAe,EAAE,cAAuB,EAAE,MAAe,EAAE,cAAuB;QAC1F,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;IAChC,CAAC;IAED,SAAS;QACL,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC9D,OAAO,aAAa,IAAI,CAAC,MAAM,GAAG,CAAA;SACrC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtC,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,OAAO,aAAa,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,CAAA;SAC3D;QAED,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IAAI,CAAC,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAErE,OAAO,aAAa,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,GAAG,CAAA;IAClG,CAAC;CACJ;AA/BD,gCA+BC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/foles",
3
- "version": "0.7.0",
3
+ "version": "0.7.2",
4
4
  "description": "Linguagem de folhas de estilo para documentos em geral em português",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1 +1,3 @@
1
- export declare const AtribuiçãoAbreviada: Array<string>;
1
+ export declare const AtribuicaoAbreviadaVQePR: Array<object>;
2
+ export declare const AtribuicaoAbreviadaPR: Array<string>;
3
+ export declare const AtribuicaoAbreviadaVQ: Array<string>;
@@ -1,70 +1,116 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AtribuiçãoAbreviada = void 0;
4
- exports.AtribuiçãoAbreviada = [
5
- 'animacao',
6
- 'animação',
7
- 'borda',
8
- 'borda-em-bloco',
9
- 'fim-borda-em-bloco',
10
- 'inicio-borda-em-bloco',
11
- 'início-borda-em-bloco',
12
- 'borda-inferior',
13
- 'cor-borda',
14
- 'borda-em-linha',
15
- 'fim-borda-em-linha',
16
- 'inicio-borda-em-linha',
17
- 'início-borda-em-linha',
18
- 'borda-esquerda',
3
+ exports.AtribuicaoAbreviadaVQ = exports.AtribuicaoAbreviadaPR = exports.AtribuicaoAbreviadaVQePR = void 0;
4
+ exports.AtribuicaoAbreviadaVQePR = [
5
+ {
6
+ modificador: 'animacao',
7
+ valor: '3s alternar 1s deslizar',
8
+ },
9
+ {
10
+ modificador: 'animação',
11
+ valor: '3s alternar 1s deslizar',
12
+ },
13
+ {
14
+ modificador: 'borda',
15
+ valor: '2px pontilhado',
16
+ },
17
+ {
18
+ modificador: 'borda-direita',
19
+ valor: '2px pontilhado',
20
+ },
21
+ {
22
+ modificador: 'borda-em-bloco',
23
+ valor: '2px pontilhado',
24
+ },
25
+ {
26
+ modificador: 'borda-em-linha',
27
+ valor: '2px pontilhado',
28
+ },
29
+ {
30
+ modificador: 'borda-esquerda',
31
+ valor: '2px pontilhado',
32
+ },
33
+ {
34
+ modificador: 'borda-inferior',
35
+ valor: '2px pontilhado',
36
+ },
37
+ {
38
+ modificador: 'borda-superior',
39
+ valor: '2px pontilhado',
40
+ },
41
+ {
42
+ modificador: 'colunas',
43
+ valor: '6rem auto',
44
+ },
45
+ {
46
+ modificador: 'contorno',
47
+ valor: '1rem grossa',
48
+ },
49
+ {
50
+ modificador: 'fim-borda-em-bloco',
51
+ valor: '2px pontilhado',
52
+ },
53
+ {
54
+ modificador: 'fim-borda-em-linha',
55
+ valor: '2px pontilhado',
56
+ },
57
+ {
58
+ modificador: 'inicio-borda-em-bloco',
59
+ valor: '2px pontilhado',
60
+ },
61
+ {
62
+ modificador: 'início-borda-em-bloco',
63
+ valor: '2px pontilhado',
64
+ },
65
+ {
66
+ modificador: 'inicio-borda-em-linha',
67
+ valor: '2px pontilhado',
68
+ },
69
+ {
70
+ modificador: 'início-borda-em-linha',
71
+ valor: '2px pontilhado',
72
+ },
73
+ ];
74
+ exports.AtribuicaoAbreviadaPR = [
75
+ 'contorno',
19
76
  'borda-direita',
77
+ 'borda-esquerda',
78
+ 'borda-inferior',
79
+ 'decoracao-texto',
80
+ 'decoração-texto',
20
81
  'estilo-borda',
21
- 'borda-superior',
22
- 'sombra-caixa',
82
+ 'regras-coluna',
83
+ 'posicionar-conteudo',
84
+ 'posicionar-itens',
85
+ ];
86
+ exports.AtribuicaoAbreviadaVQ = [
23
87
  'colunas',
88
+ 'deslocamento',
24
89
  'flex',
25
- 'fonte',
26
90
  'insercao',
27
91
  'inserção',
28
- 'estilo-lista',
29
- 'margem',
30
- 'mascara',
31
- 'máscara',
32
- 'borda-mascara',
33
- 'borda-máscara',
34
- 'contorno',
35
- 'recuo',
36
- 'recuo-em-linha',
37
- 'posicionar-itens',
38
- 'margem-rolagem-mouse',
39
- 'decoracao-texto',
40
- 'decoração-texto',
41
- 'transicao',
42
- 'transição',
43
- 'regras-coluna',
44
- 'posicionar-conteudo',
45
- 'posicionar-se',
46
- 'raio-borda',
47
92
  'inserção-em-bloco',
48
93
  'insercao-em-linha',
94
+ 'margem',
49
95
  'margem-em-bloco',
50
- 'margem-em-linha',
51
- 'recuo-em-bloco',
52
- 'margem-rolagem-mouse',
53
96
  'margem-em-bloco-rolagem-mouse',
97
+ 'margem-em-linha',
54
98
  'margem-em-linha-rolagem-mouse',
55
- 'recuo-rolagem-mouse',
99
+ 'margem-rolagem-mouse',
100
+ 'raio-borda',
101
+ 'recuo',
102
+ 'recuo-em-bloco',
56
103
  'recuo-em-bloco-rolagem-mouse',
104
+ 'recuo-em-linha',
57
105
  'recuo-em-linha-rolagem-mouse',
58
- 'linha-em-grade',
59
- 'coluna-em-grade',
60
- 'deslocamento',
61
- 'vazamento',
62
- 'modelo-em-grade',
63
- 'fundo',
106
+ 'recuo-rolagem-mouse',
64
107
  ];
65
108
  /*
66
109
 
67
- QUANTOS ATRIBUTOS RECEBE CADA UM DESSES SELETORES?
110
+ PR = Palavras Reservadas
111
+ VQ = Valor-Quantificador
112
+
113
+ ATÉ QUANTOS ATRIBUTOS RECEBE CADA UM DESSES SELETORES?
68
114
 
69
115
  animacao (8)
70
116
  borda (3)
@@ -1 +1 @@
1
- {"version":3,"file":"atribuicao-abreviada.js","sourceRoot":"","sources":["../../../testes/listas/atribuicao-abreviada.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAkB;IAC9C,UAAU;IACV,UAAU;IACV,OAAO;IACP,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,cAAc;IACd,SAAS;IACT,MAAM;IACN,OAAO;IACP,UAAU;IACV,UAAU;IACV,cAAc;IACd,QAAQ;IACR,SAAS;IACT,SAAS;IACT,eAAe;IACf,eAAe;IACf,UAAU;IACV,OAAO;IACP,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,iBAAiB;IACjB,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,eAAe;IACf,qBAAqB;IACrB,eAAe;IACf,YAAY;IACZ,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,sBAAsB;IACtB,+BAA+B;IAC/B,+BAA+B;IAC/B,qBAAqB;IACrB,8BAA8B;IAC9B,8BAA8B;IAC9B,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,iBAAiB;IACjB,OAAO;CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDE"}
1
+ {"version":3,"file":"atribuicao-abreviada.js","sourceRoot":"","sources":["../../../testes/listas/atribuicao-abreviada.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAkB;IACnD;QACI,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,yBAAyB;KACnC;IACD;QACI,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,yBAAyB;KACnC;IACD;QACI,WAAW,EAAE,OAAO;QACpB,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,eAAe;QAC5B,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,gBAAgB;QAC7B,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,gBAAgB;QAC7B,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,gBAAgB;QAC7B,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,gBAAgB;QAC7B,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,gBAAgB;QAC7B,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,WAAW;KACrB;IACD;QACI,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,aAAa;KACvB;IACD;QACI,WAAW,EAAE,oBAAoB;QACjC,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,oBAAoB;QACjC,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,uBAAuB;QACpC,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,uBAAuB;QACpC,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,uBAAuB;QACpC,KAAK,EAAE,gBAAgB;KAC1B;IACD;QACI,WAAW,EAAE,uBAAuB;QACpC,KAAK,EAAE,gBAAgB;KAC1B;CACJ,CAAC;AAEW,QAAA,qBAAqB,GAAkB;IAChD,UAAU;IACV,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,qBAAqB;IACrB,kBAAkB;CACrB,CAAA;AAEY,QAAA,qBAAqB,GAAkB;IAChD,SAAS;IACT,cAAc;IACd,MAAM;IACN,UAAU;IACV,UAAU;IACV,mBAAmB;IACnB,mBAAmB;IACnB,QAAQ;IACR,iBAAiB;IACjB,+BAA+B;IAC/B,iBAAiB;IACjB,+BAA+B;IAC/B,sBAAsB;IACtB,YAAY;IACZ,OAAO;IACP,gBAAgB;IAChB,8BAA8B;IAC9B,gBAAgB;IAChB,8BAA8B;IAC9B,qBAAqB;CACxB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDE"}
@@ -1,2 +1,3 @@
1
1
  export declare const ValorNumerico: Array<string>;
2
+ export declare const ValorNumericoApenas: Array<string>;
2
3
  export declare const ValorNumericoComQuantificador: string[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ValorNumericoComQuantificador = exports.ValorNumerico = void 0;
3
+ exports.ValorNumericoComQuantificador = exports.ValorNumericoApenas = exports.ValorNumerico = void 0;
4
4
  exports.ValorNumerico = [
5
5
  'linhas-superiores',
6
6
  'repetir-animacao',
@@ -26,6 +26,24 @@ exports.ValorNumerico = [
26
26
  'índice-z',
27
27
  'coluna-em-grade',
28
28
  ];
29
+ exports.ValorNumericoApenas = [
30
+ 'linhas-superiores',
31
+ 'repetir-animacao',
32
+ 'repetir-animação',
33
+ 'contar-coluna',
34
+ 'flex-crescimento',
35
+ 'flex-reduzir',
36
+ 'ajustar-tamanho-fonte',
37
+ 'espessura-fonte',
38
+ 'fim-coluna-em-grade',
39
+ 'inicio-coluna-em-grade',
40
+ 'início-coluna-em-grade',
41
+ 'fim-linha-em-grade',
42
+ 'inicio-linha-em-grade',
43
+ 'início-linha-em-grade',
44
+ 'ordenar',
45
+ 'linhas-inferiores',
46
+ ];
29
47
  // A lista abaixo inclui modificadores que aceitam tanto somente valores numéricos
30
48
  // quanto valores numéricos c/ quantificador.
31
49
  exports.ValorNumericoComQuantificador = [
@@ -1 +1 @@
1
- {"version":3,"file":"valor-numerico.js","sourceRoot":"","sources":["../../../testes/listas/valor-numerico.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAkB;IACxC,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;IACrB,wBAAwB;IACxB,wBAAwB;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,SAAS;IACT,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,UAAU;IACV,iBAAiB;CACpB,CAAC;AAEF,mFAAmF;AACnF,6CAA6C;AAChC,QAAA,6BAA6B,GAAG;IACzC,WAAW;IACX,WAAW;IACX,WAAW;IACX,cAAc;IACd,qBAAqB;IACrB,SAAS;CACZ,CAAA;AAED;;;;;;;;;EASE"}
1
+ {"version":3,"file":"valor-numerico.js","sourceRoot":"","sources":["../../../testes/listas/valor-numerico.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAkB;IACxC,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;IACrB,wBAAwB;IACxB,wBAAwB;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,SAAS;IACT,mBAAmB;IACnB,qBAAqB;IACrB,UAAU;IACV,UAAU;IACV,iBAAiB;CACpB,CAAC;AAEW,QAAA,mBAAmB,GAAkB;IAC9C,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;IACrB,wBAAwB;IACxB,wBAAwB;IACxB,oBAAoB;IACpB,uBAAuB;IACvB,uBAAuB;IACvB,SAAS;IACT,mBAAmB;CACtB,CAAC;AAGF,mFAAmF;AACnF,6CAA6C;AAChC,QAAA,6BAA6B,GAAG;IACzC,WAAW;IACX,WAAW;IACX,WAAW;IACX,cAAc;IACd,qBAAqB;IACrB,SAAS;CACZ,CAAA;AAED;;;;;;;;;EASE"}
@@ -1,10 +1,16 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  const avaliador_sintatico_1 = require("../../fontes/avaliador-sintatico");
4
7
  const importador_1 = require("../../fontes/importador");
5
8
  const lexador_1 = require("../../fontes/lexador");
6
9
  const serializadores_1 = require("../../fontes/serializadores");
7
- describe.skip('Testando Seletores AtribuiçãoAbreviada (de atribuição abreviada), que recebem dois ou mais atributos', () => {
10
+ const atribuicao_abreviada_1 = require("../listas/atribuicao-abreviada");
11
+ const foles_1 = __importDefault(require("../../fontes/tipos-de-simbolos/foles"));
12
+ const superclasse_1 = require("../../fontes/modificadores/superclasse");
13
+ describe('Testando Seletores de Atribuição Abreviada, que recebem dois ou mais valores', () => {
8
14
  describe('Testes Unitários', () => {
9
15
  let lexador;
10
16
  let importador;
@@ -16,14 +22,113 @@ describe.skip('Testando Seletores AtribuiçãoAbreviada (de atribuição abrevia
16
22
  avaliador = new avaliador_sintatico_1.AvaliadorSintatico(importador);
17
23
  tradutor = new serializadores_1.Serializador();
18
24
  });
19
- it('Trivial', () => {
20
- expect(1).toBe(1);
25
+ it('Seletores que recebem múltiplos atributos do tipo valor-quantificador', () => {
26
+ for (let index = 0; index < atribuicao_abreviada_1.AtribuicaoAbreviadaVQ.length; index += 1) {
27
+ const valoresAceitos = [
28
+ '1em',
29
+ '10vh 10vh',
30
+ '10px 50px 20px',
31
+ '10px 25px 10px 25px',
32
+ ];
33
+ for (let valIndex = 0; valIndex < valoresAceitos.length; valIndex += 1) {
34
+ const seletor = new superclasse_1.SeletorModificador(atribuicao_abreviada_1.AtribuicaoAbreviadaVQ[index], valoresAceitos[valIndex], 'px');
35
+ // Lexador
36
+ const resultadoLexador = lexador.mapear([
37
+ "lmht {",
38
+ `${atribuicao_abreviada_1.AtribuicaoAbreviadaVQ[index]}: ${valoresAceitos[valIndex]};`,
39
+ "}"
40
+ ]);
41
+ // O Lexador não deve encontrar erros
42
+ expect(resultadoLexador.erros).toHaveLength(0);
43
+ // O valor recebido deve conter tanto NUMERO quanto QUANTIFICADOR
44
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
45
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
46
+ expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
47
+ ]));
48
+ // Avaliador Sintático
49
+ const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
50
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
51
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(seletor['propriedadeCss']);
52
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].nomeFoles).toStrictEqual(seletor['nomeFoles']);
53
+ // Tradutor
54
+ const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
55
+ // O Tradutor deve serializar de acordo
56
+ expect(resultadoTradutor).toContain('html');
57
+ expect(resultadoTradutor).toContain(seletor['propriedadeCss']);
58
+ expect(resultadoTradutor).toContain(valoresAceitos[valIndex]);
59
+ }
60
+ }
61
+ });
62
+ it('Seletores que recebem múltiplas palavras reservadas como atributo', () => {
63
+ for (let index = 0; index < atribuicao_abreviada_1.AtribuicaoAbreviadaPR.length; index += 1) {
64
+ let seletor;
65
+ if (index <= 5) {
66
+ seletor = new superclasse_1.SeletorModificador(atribuicao_abreviada_1.AtribuicaoAbreviadaPR[index], '10', 'px');
67
+ }
68
+ else if (index > 5 && index <= 7) {
69
+ seletor = new superclasse_1.SeletorModificador(atribuicao_abreviada_1.AtribuicaoAbreviadaPR[index], 'tracejado', null);
70
+ }
71
+ else {
72
+ seletor = new superclasse_1.SeletorModificador(atribuicao_abreviada_1.AtribuicaoAbreviadaPR[index], 'centro', null);
73
+ }
74
+ const valoresAceitos = Object.keys(seletor.valoresAceitos);
75
+ let valorPR = '';
76
+ for (let valIndex = 0; valIndex < 2; valIndex += 1) {
77
+ valorPR += valoresAceitos[valIndex];
78
+ if (valIndex < 1) {
79
+ valorPR += ' ';
80
+ }
81
+ }
82
+ // Lexador
83
+ const resultadoLexador = lexador.mapear([
84
+ "lmht {",
85
+ `${atribuicao_abreviada_1.AtribuicaoAbreviadaPR[index]}: ${valorPR};`,
86
+ "}"
87
+ ]);
88
+ // O Lexador não deve encontrar erros e deve montar um objeto contendo 8 símbolos
89
+ expect(resultadoLexador.erros).toHaveLength(0);
90
+ expect(resultadoLexador.simbolos).toHaveLength(8);
91
+ // Avaliador Sintático
92
+ const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
93
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
94
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(seletor['propriedadeCss']);
95
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].nomeFoles).toStrictEqual(seletor['nomeFoles']);
96
+ // Tradutor
97
+ const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
98
+ // O Tradutor deve serializar de acordo
99
+ expect(resultadoTradutor).toContain('html');
100
+ expect(resultadoTradutor).toContain(seletor['propriedadeCss']);
101
+ }
102
+ });
103
+ it('Seletores que recebem tanto palavras reservadas quanto valor-quantificador como atributo', () => {
104
+ for (let index = 0; index < atribuicao_abreviada_1.AtribuicaoAbreviadaVQePR.length; index += 1) {
105
+ const seletor = new superclasse_1.SeletorModificador(atribuicao_abreviada_1.AtribuicaoAbreviadaVQePR[index]['modificador'], atribuicao_abreviada_1.AtribuicaoAbreviadaVQePR[index]['valor'], 'px');
106
+ // Lexador
107
+ const resultadoLexador = lexador.mapear([
108
+ "lmht {",
109
+ `${atribuicao_abreviada_1.AtribuicaoAbreviadaVQePR[index]['modificador']}: ${atribuicao_abreviada_1.AtribuicaoAbreviadaVQePR[index]['valor']};`,
110
+ "}"
111
+ ]);
112
+ // O Lexador não deve encontrar erros
113
+ expect(resultadoLexador.erros).toHaveLength(0);
114
+ // O valor recebido deve conter tanto NUMERO quanto QUANTIFICADOR
115
+ expect(resultadoLexador.simbolos).toEqual(expect.arrayContaining([
116
+ expect.objectContaining({ tipo: foles_1.default.NUMERO }),
117
+ expect.objectContaining({ tipo: foles_1.default.QUANTIFICADOR }),
118
+ ]));
119
+ // Avaliador Sintático
120
+ const resultadoAvaliadorSintatico = avaliador.analisar(resultadoLexador.simbolos);
121
+ // O Avaliador deve montar um objeto com os devidos nomes FolEs e CSS
122
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].propriedadeCss).toStrictEqual(seletor['propriedadeCss']);
123
+ expect(resultadoAvaliadorSintatico[0].modificadores[0].nomeFoles).toStrictEqual(seletor['nomeFoles']);
124
+ // Tradutor
125
+ const resultadoTradutor = tradutor.serializar(resultadoAvaliadorSintatico);
126
+ // O Tradutor deve serializar de acordo
127
+ expect(resultadoTradutor).toContain('html');
128
+ expect(resultadoTradutor).toContain(seletor['propriedadeCss']);
129
+ expect(resultadoTradutor).toContain(atribuicao_abreviada_1.AtribuicaoAbreviadaVQePR[index]['valor']);
130
+ }
21
131
  });
22
- // ARQUIVO DE TESTES CRIADO PARA PENSARMOS EM UMA LÓGICA DE COMO
23
- // TESTAR OS SELETORES DE ATRIBUIÇÃO ABREVIADA, TENDO EM VISTA QUE CADA SELETOR
24
- // RECEBE UM DETERMINADO NÚMERO DE PARÂMETROS.
25
- // A QUANTIDADE DE PARÂMETROS QUE CADA SELETOR SHORTHAND RECEBE
26
- // ESTÁ LISTADA NO FINAL DO ARQUIVO DE LISTA.
27
132
  });
28
133
  });
29
134
  //# sourceMappingURL=atribuicao-abreviada.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atribuicao-abreviada.test.js","sourceRoot":"","sources":["../../../testes/modificadores/atribuicao-abreviada.test.ts"],"names":[],"mappings":";;AAAA,0EAAsE;AACtE,wDAAqD;AAErD,kDAA+C;AAC/C,gEAA2D;AAE3D,QAAQ,CAAC,IAAI,CAAC,sGAAsG,EAAE,GAAG,EAAE;IACvH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,IAAI,OAAyB,CAAC;QAC9B,IAAI,UAA+B,CAAC;QACpC,IAAI,SAAsC,CAAC;QAC3C,IAAI,QAAsB,CAAC;QAE3B,UAAU,CAAC,GAAG,EAAE;YACZ,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;YACxB,UAAU,GAAG,IAAI,uBAAU,CAAC,OAAO,CAAC,CAAC;YACrC,SAAS,GAAG,IAAI,wCAAkB,CAAC,UAAU,CAAC,CAAC;YAC/C,QAAQ,GAAG,IAAI,6BAAY,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACf,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,gEAAgE;QAChE,+EAA+E;QAC/E,8CAA8C;QAE9C,gEAAgE;QAChE,6CAA6C;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"atribuicao-abreviada.test.js","sourceRoot":"","sources":["../../../testes/modificadores/atribuicao-abreviada.test.ts"],"names":[],"mappings":"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"}