valtech-components 4.0.471 → 4.0.473

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 (58) hide show
  1. package/esm2022/lib/components/organisms/mini-games/bubble-blitz-game.component.mjs +9 -18
  2. package/esm2022/lib/components/organisms/mini-games/chessimals-engine.mjs +16 -109
  3. package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +74 -21
  4. package/esm2022/lib/components/organisms/mini-games/memory-game.component.mjs +9 -18
  5. package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +21 -275
  6. package/esm2022/lib/components/organisms/mini-games/simon-game.component.mjs +9 -18
  7. package/esm2022/lib/components/organisms/mini-games/types.mjs +1 -1
  8. package/esm2022/lib/version.mjs +2 -2
  9. package/esm2022/mini-games/public-api.mjs +2 -34
  10. package/esm2022/public-api.mjs +1 -3
  11. package/fesm2022/valtech-components-mini-games.mjs +2 -34
  12. package/fesm2022/valtech-components-mini-games.mjs.map +1 -1
  13. package/fesm2022/valtech-components.mjs +135 -3016
  14. package/fesm2022/valtech-components.mjs.map +1 -1
  15. package/lib/components/organisms/mini-games/bubble-blitz-game.component.d.ts +0 -2
  16. package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +5 -3
  17. package/lib/components/organisms/mini-games/memory-game.component.d.ts +0 -2
  18. package/lib/components/organisms/mini-games/simon-game.component.d.ts +0 -2
  19. package/lib/components/organisms/mini-games/types.d.ts +1 -131
  20. package/lib/version.d.ts +1 -1
  21. package/mini-games/public-api.d.ts +0 -4
  22. package/package.json +1 -1
  23. package/public-api.d.ts +0 -2
  24. package/esm2022/lib/components/organisms/mini-games/christianity-card.component.mjs +0 -260
  25. package/esm2022/lib/components/organisms/mini-games/christianity-game.component.mjs +0 -2253
  26. package/esm2022/lib/directives/light-ripple.directive.mjs +0 -57
  27. package/lib/components/organisms/mini-games/christianity-card.component.d.ts +0 -46
  28. package/lib/components/organisms/mini-games/christianity-game.component.d.ts +0 -177
  29. package/lib/directives/light-ripple.directive.d.ts +0 -8
  30. package/src/lib/assets/games/christianity/card-symbol.svg +0 -51
  31. package/src/lib/assets/games/christianity/card-template-reference/front.html +0 -114
  32. package/src/lib/assets/games/christianity/card-template-reference/front.style.css +0 -352
  33. package/src/lib/assets/games/christianity/data/01-genesis.bible-reference-suggestions.csv +0 -191
  34. package/src/lib/assets/games/christianity/data/01-genesis.bible-verses.nbv-open.csv +0 -170
  35. package/src/lib/assets/games/christianity/data/01-genesis.cards.csv +0 -281
  36. package/src/lib/assets/games/christianity/data/01-genesis.cards.i18n.csv +0 -281
  37. package/src/lib/assets/games/christianity/data/01-genesis.cards.json +0 -16453
  38. package/src/lib/assets/games/christianity/data/01-genesis.unassigned-effects.csv +0 -49
  39. package/src/lib/assets/games/christianity/data/README.md +0 -40
  40. package/src/lib/assets/games/christianity/data/data-con-habilides.csv +0 -273
  41. package/src/lib/assets/games/christianity/data/habilidades-por-tipo.xlsx +0 -0
  42. package/src/lib/assets/games/christianity/data/listado-edicion.csv +0 -281
  43. package/src/lib/assets/games/christianity/editions/1/cards/.gitkeep +0 -1
  44. package/src/lib/assets/games/christianity/editions/1/cards/PLACEHOLDER.png +0 -0
  45. package/src/lib/assets/games/christianity/editions/README.md +0 -34
  46. package/src/lib/assets/games/christianity/icons/1-icon.png +0 -0
  47. package/src/lib/assets/games/christianity/icons/action.png +0 -0
  48. package/src/lib/assets/games/christianity/icons/character.png +0 -0
  49. package/src/lib/assets/games/christianity/icons/event.png +0 -0
  50. package/src/lib/assets/games/christianity/icons/leader.png +0 -0
  51. package/src/lib/assets/games/christianity/icons/offering.png +0 -0
  52. package/src/lib/assets/games/christianity/icons/place.png +0 -0
  53. package/src/lib/assets/games/christianity/icons/tool.png +0 -0
  54. package/src/lib/assets/games/christianity/icons/wisdom.png +0 -0
  55. package/src/lib/assets/games/christianity/sources/README.md +0 -16
  56. package/src/lib/assets/games/christianity/sources/spaonbv_vpl.txt +0 -29102
  57. package/src/lib/assets/games/christianity/sources/spaonbv_vpl.xml +0 -29104
  58. package/src/lib/assets/games/christianity/spaonbv.txt +0 -52
@@ -1,57 +0,0 @@
1
- import { Directive, ElementRef, HostListener, Renderer2, inject } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class LightRippleDirective {
4
- constructor() {
5
- this.host = inject(ElementRef);
6
- this.renderer = inject(Renderer2);
7
- }
8
- createRipple(event) {
9
- const element = this.host.nativeElement;
10
- const rect = element.getBoundingClientRect();
11
- const size = Math.max(rect.width, rect.height) * 1.55;
12
- const ripple = this.renderer.createElement('span');
13
- const x = event.clientX - rect.left - size / 2;
14
- const y = event.clientY - rect.top - size / 2;
15
- if (getComputedStyle(element).position === 'static') {
16
- this.renderer.setStyle(element, 'position', 'relative');
17
- }
18
- this.renderer.setStyle(element, 'overflow', 'hidden');
19
- this.renderer.setStyle(element, 'isolation', 'isolate');
20
- this.renderer.setStyle(element, 'touch-action', 'manipulation');
21
- this.renderer.setStyle(ripple, 'position', 'absolute');
22
- this.renderer.setStyle(ripple, 'left', `${x}px`);
23
- this.renderer.setStyle(ripple, 'top', `${y}px`);
24
- this.renderer.setStyle(ripple, 'width', `${size}px`);
25
- this.renderer.setStyle(ripple, 'height', `${size}px`);
26
- this.renderer.setStyle(ripple, 'border-radius', '999px');
27
- this.renderer.setStyle(ripple, 'pointer-events', 'none');
28
- this.renderer.setStyle(ripple, 'z-index', '1');
29
- this.renderer.setStyle(ripple, 'background', 'radial-gradient(circle, rgba(255,255,255,0.98) 0 0.16rem, rgba(191,219,254,0.9) 0.18rem 0.34rem, rgba(96,165,250,0.46) 0.36rem 23%, rgba(96,165,250,0.18) 38%, transparent 70%)');
30
- this.renderer.setStyle(ripple, 'box-shadow', '0 0 0.75rem rgba(255,255,255,0.85), 0 0 1.8rem rgba(96,165,250,0.52)');
31
- this.renderer.appendChild(element, ripple);
32
- ripple
33
- .animate([
34
- { opacity: 0.88, transform: 'scale(0.08)' },
35
- { opacity: 0.48, transform: 'scale(0.48)' },
36
- { opacity: 0, transform: 'scale(1)' },
37
- ], { duration: 680, easing: 'cubic-bezier(0.16, 0.84, 0.24, 1)' })
38
- .finished.finally(() => {
39
- if (ripple.parentNode === element) {
40
- this.renderer.removeChild(element, ripple);
41
- }
42
- });
43
- }
44
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LightRippleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: LightRippleDirective, isStandalone: true, selector: "[valLightRipple]", host: { listeners: { "pointerdown": "createRipple($event)" } }, ngImport: i0 }); }
46
- }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LightRippleDirective, decorators: [{
48
- type: Directive,
49
- args: [{
50
- selector: '[valLightRipple]',
51
- standalone: true,
52
- }]
53
- }], propDecorators: { createRipple: [{
54
- type: HostListener,
55
- args: ['pointerdown', ['$event']]
56
- }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHQtcmlwcGxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGlyZWN0aXZlcy9saWdodC1yaXBwbGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU12RixNQUFNLE9BQU8sb0JBQW9CO0lBSmpDO1FBS1UsU0FBSSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDbkQsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQXNEdEM7SUFuREMsWUFBWSxDQUFDLEtBQW1CO1FBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3RELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBb0IsQ0FBQztRQUN0RSxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUU5QyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLE1BQU0sRUFDTixZQUFZLEVBQ1osaUxBQWlMLENBQ2xMLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsTUFBTSxFQUNOLFlBQVksRUFDWixzRUFBc0UsQ0FDdkUsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUUzQyxNQUFNO2FBQ0gsT0FBTyxDQUNOO1lBQ0UsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7WUFDM0MsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUU7WUFDM0MsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUU7U0FDdEMsRUFDRCxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLG1DQUFtQyxFQUFFLENBQy9EO2FBQ0EsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxNQUFNLENBQUMsVUFBVSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzsrR0F2RFUsb0JBQW9CO21HQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQU1DLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgUmVuZGVyZXIyLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3ZhbExpZ2h0UmlwcGxlXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIExpZ2h0UmlwcGxlRGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBob3N0ID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgWyckZXZlbnQnXSlcbiAgY3JlYXRlUmlwcGxlKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3Qgc2l6ZSA9IE1hdGgubWF4KHJlY3Qud2lkdGgsIHJlY3QuaGVpZ2h0KSAqIDEuNTU7XG4gICAgY29uc3QgcmlwcGxlID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJykgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgIGNvbnN0IHggPSBldmVudC5jbGllbnRYIC0gcmVjdC5sZWZ0IC0gc2l6ZSAvIDI7XG4gICAgY29uc3QgeSA9IGV2ZW50LmNsaWVudFkgLSByZWN0LnRvcCAtIHNpemUgLyAyO1xuXG4gICAgaWYgKGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24gPT09ICdzdGF0aWMnKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGVsZW1lbnQsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgJ2lzb2xhdGlvbicsICdpc29sYXRlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShlbGVtZW50LCAndG91Y2gtYWN0aW9uJywgJ21hbmlwdWxhdGlvbicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocmlwcGxlLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHJpcHBsZSwgJ2xlZnQnLCBgJHt4fXB4YCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShyaXBwbGUsICd0b3AnLCBgJHt5fXB4YCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShyaXBwbGUsICd3aWR0aCcsIGAke3NpemV9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHJpcHBsZSwgJ2hlaWdodCcsIGAke3NpemV9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHJpcHBsZSwgJ2JvcmRlci1yYWRpdXMnLCAnOTk5cHgnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHJpcHBsZSwgJ3BvaW50ZXItZXZlbnRzJywgJ25vbmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHJpcHBsZSwgJ3otaW5kZXgnLCAnMScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICByaXBwbGUsXG4gICAgICAnYmFja2dyb3VuZCcsXG4gICAgICAncmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgcmdiYSgyNTUsMjU1LDI1NSwwLjk4KSAwIDAuMTZyZW0sIHJnYmEoMTkxLDIxOSwyNTQsMC45KSAwLjE4cmVtIDAuMzRyZW0sIHJnYmEoOTYsMTY1LDI1MCwwLjQ2KSAwLjM2cmVtIDIzJSwgcmdiYSg5NiwxNjUsMjUwLDAuMTgpIDM4JSwgdHJhbnNwYXJlbnQgNzAlKScsXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgcmlwcGxlLFxuICAgICAgJ2JveC1zaGFkb3cnLFxuICAgICAgJzAgMCAwLjc1cmVtIHJnYmEoMjU1LDI1NSwyNTUsMC44NSksIDAgMCAxLjhyZW0gcmdiYSg5NiwxNjUsMjUwLDAuNTIpJyxcbiAgICApO1xuXG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChlbGVtZW50LCByaXBwbGUpO1xuXG4gICAgcmlwcGxlXG4gICAgICAuYW5pbWF0ZShcbiAgICAgICAgW1xuICAgICAgICAgIHsgb3BhY2l0eTogMC44OCwgdHJhbnNmb3JtOiAnc2NhbGUoMC4wOCknIH0sXG4gICAgICAgICAgeyBvcGFjaXR5OiAwLjQ4LCB0cmFuc2Zvcm06ICdzY2FsZSgwLjQ4KScgfSxcbiAgICAgICAgICB7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3NjYWxlKDEpJyB9LFxuICAgICAgICBdLFxuICAgICAgICB7IGR1cmF0aW9uOiA2ODAsIGVhc2luZzogJ2N1YmljLWJlemllcigwLjE2LCAwLjg0LCAwLjI0LCAxKScgfSxcbiAgICAgIClcbiAgICAgIC5maW5pc2hlZC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgaWYgKHJpcHBsZS5wYXJlbnROb2RlID09PSBlbGVtZW50KSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChlbGVtZW50LCByaXBwbGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,46 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export type ChristianityCardRenderType = 'leader' | 'character' | 'offering' | 'wisdom' | 'action' | 'tool' | 'place' | 'event';
3
- export type ChristianityCardRenderVariant = 'full' | 'table' | 'hand' | 'list' | 'back';
4
- export interface ChristianityCardRenderModel {
5
- id: string;
6
- name: string;
7
- type: ChristianityCardRenderType;
8
- typeLabel: string;
9
- cost?: number;
10
- offeringValue?: number;
11
- attack?: number;
12
- life?: number;
13
- currentHp?: number;
14
- maxHp?: number;
15
- abilityName?: string;
16
- abilityText?: string;
17
- verseText?: string;
18
- scripture?: string;
19
- edition?: string;
20
- collectorNumber?: string;
21
- editionIcon?: string;
22
- year?: string;
23
- author?: string;
24
- rarity?: 'normal' | 'uncommon' | 'rare' | 'legendary';
25
- imageUrl?: string;
26
- frontTemplate?: string;
27
- statusText?: string;
28
- }
29
- export declare class ChristianityCardComponent {
30
- readonly card: import("@angular/core").InputSignal<ChristianityCardRenderModel>;
31
- readonly variant: import("@angular/core").InputSignal<ChristianityCardRenderVariant>;
32
- protected readonly normalizedTypeLabel: import("@angular/core").Signal<string>;
33
- protected readonly frontTemplate: import("@angular/core").Signal<string>;
34
- protected readonly isGenesisClassicTemplate: import("@angular/core").Signal<boolean>;
35
- protected readonly typeIconUrl: import("@angular/core").Signal<string>;
36
- protected readonly headerMetric: import("@angular/core").Signal<{
37
- kind: 'number' | 'pips';
38
- value: number;
39
- }>;
40
- protected readonly cardStatsText: import("@angular/core").Signal<string>;
41
- protected readonly leaderLifeText: import("@angular/core").Signal<string>;
42
- protected offeringPips(value: number | undefined): unknown[];
43
- private iconName;
44
- static ɵfac: i0.ɵɵFactoryDeclaration<ChristianityCardComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<ChristianityCardComponent, "val-christianity-card", never, { "card": { "alias": "card"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
46
- }
@@ -1,177 +0,0 @@
1
- import { CdkDrag, CdkDragDrop } from '@angular/cdk/drag-drop';
2
- import { ChristianityCardRenderModel } from './christianity-card.component';
3
- import { ChristianityCardDefinition, ChristianityCardType, ChristianityCharacterInstance, ChristianityGameState, ChristianityOfferingInstance, ChristianityPlayerState, ChristianitySeat } from './types';
4
- import * as i0 from "@angular/core";
5
- interface ChristianityCardPreview {
6
- title: string;
7
- eyebrow: string;
8
- meta: string;
9
- body: string;
10
- cardId?: string;
11
- source?: 'hand' | 'board' | 'pile';
12
- }
13
- interface ChristianityInfoPanel {
14
- title: string;
15
- eyebrow: string;
16
- meta: string;
17
- body: string;
18
- facts: string[];
19
- }
20
- interface ChristianityPreviewRule {
21
- title: string;
22
- body: string;
23
- }
24
- interface ChristianityPreviewTilt {
25
- rotateX: number;
26
- rotateY: number;
27
- shiftX: number;
28
- shiftY: number;
29
- }
30
- type ChristianityGalleryTypeFilter = 'all' | ChristianityCardType;
31
- type ChristianityScreen = 'splash' | 'home' | 'table';
32
- type ChristianityCatalogLoadState = 'loading' | 'ready' | 'fallback';
33
- export declare class ChristianityGameComponent {
34
- private i18n;
35
- private readonly bootStartedAt;
36
- protected readonly game: import("@angular/core").WritableSignal<ChristianityGameState>;
37
- protected readonly screen: import("@angular/core").WritableSignal<ChristianityScreen>;
38
- protected readonly catalogLoadState: import("@angular/core").WritableSignal<ChristianityCatalogLoadState>;
39
- protected readonly selectedHandCard: import("@angular/core").WritableSignal<string>;
40
- protected readonly selectedAttacker: import("@angular/core").WritableSignal<ChristianityCharacterInstance>;
41
- protected readonly selectedPreview: import("@angular/core").WritableSignal<ChristianityCardPreview>;
42
- protected readonly selectedInfo: import("@angular/core").WritableSignal<ChristianityInfoPanel>;
43
- protected readonly previewTilt: import("@angular/core").WritableSignal<ChristianityPreviewTilt>;
44
- protected readonly hoveredHandIndex: import("@angular/core").WritableSignal<number>;
45
- protected readonly draggingCardId: import("@angular/core").WritableSignal<string>;
46
- protected readonly showHistory: import("@angular/core").WritableSignal<boolean>;
47
- protected readonly showGallery: import("@angular/core").WritableSignal<boolean>;
48
- protected readonly offeringsSeat: import("@angular/core").WritableSignal<ChristianitySeat>;
49
- protected readonly cardCatalog: import("@angular/core").WritableSignal<Record<string, ChristianityCardDefinition>>;
50
- protected readonly allCatalogCards: import("@angular/core").WritableSignal<ChristianityCardDefinition[]>;
51
- protected readonly catalogLoaded: import("@angular/core").WritableSignal<boolean>;
52
- protected readonly gallerySearch: import("@angular/core").WritableSignal<string>;
53
- protected readonly galleryType: import("@angular/core").WritableSignal<ChristianityGalleryTypeFilter>;
54
- protected readonly canDropOnBattleSlot: (drag: CdkDrag<string>) => boolean;
55
- protected readonly canDropOnOfferings: (drag: CdkDrag<string>) => boolean;
56
- protected readonly player: import("@angular/core").Signal<ChristianityPlayerState>;
57
- protected readonly opponent: import("@angular/core").Signal<ChristianityPlayerState>;
58
- protected readonly currentPlayer: import("@angular/core").Signal<ChristianityPlayerState>;
59
- protected readonly isOwnTurn: import("@angular/core").Signal<boolean>;
60
- protected readonly hasOpponentGuards: import("@angular/core").Signal<boolean>;
61
- protected readonly opponentHandCount: import("@angular/core").Signal<number>;
62
- protected readonly galleryCards: import("@angular/core").Signal<ChristianityCardDefinition[]>;
63
- protected readonly galleryEditionLabel: import("@angular/core").Signal<string>;
64
- protected readonly galleryEditionIcon: import("@angular/core").Signal<string>;
65
- protected readonly galleryTypeOptions: import("@angular/core").Signal<{
66
- value: ChristianityGalleryTypeFilter;
67
- label: string;
68
- }[]>;
69
- protected readonly splashStatusText: import("@angular/core").Signal<string>;
70
- protected readonly startFeaturedCards: import("@angular/core").Signal<ChristianityCardDefinition[]>;
71
- protected readonly futureModes: import("@angular/core").Signal<{
72
- title: string;
73
- body: string;
74
- }[]>;
75
- protected readonly selectedCardDefinition: import("@angular/core").Signal<ChristianityCardDefinition>;
76
- protected readonly selectedPreviewCard: import("@angular/core").Signal<ChristianityCardDefinition>;
77
- protected readonly selectedPreviewRenderCard: import("@angular/core").Signal<ChristianityCardRenderModel>;
78
- protected readonly previewRule: import("@angular/core").Signal<ChristianityPreviewRule>;
79
- protected readonly statusText: import("@angular/core").Signal<string>;
80
- constructor();
81
- protected t(key: string): string;
82
- private loadGenesisCatalog;
83
- private finishSplash;
84
- private normalizeCatalogCard;
85
- private formatScripture;
86
- private createTutorialGame;
87
- private createTutorialPlayer;
88
- private createOfferingInstance;
89
- private createCharacterInstance;
90
- private findCard;
91
- private cardSortKey;
92
- protected cardDefinition(cardId: string): ChristianityCardDefinition;
93
- private translatedCardText;
94
- protected cardDisplayName(cardId: string): string;
95
- protected playerLeaderDisplayName(player: ChristianityPlayerState): string;
96
- protected catalogStatusLabel(): string;
97
- protected startFeaturedCardTransform(index: number): string;
98
- protected cardTypeLabel(card: ChristianityCardDefinition): string;
99
- protected definitionToRenderCard(card: ChristianityCardDefinition, overrides?: Partial<ChristianityCardRenderModel>): ChristianityCardRenderModel;
100
- private defaultCardBody;
101
- protected characterRenderCard(card: ChristianityCharacterInstance): ChristianityCardRenderModel;
102
- protected leaderRenderCard(player: ChristianityPlayerState): ChristianityCardRenderModel;
103
- protected offeringRenderCard(offering: ChristianityOfferingInstance): ChristianityCardRenderModel;
104
- private previewRenderType;
105
- protected cardTypeIconUrl(card: ChristianityCardDefinition): string;
106
- protected previewTypeIconUrl(): string;
107
- protected cardTypeIconUrlForType(type: string): string;
108
- protected offeringPips(value: number | string | undefined): unknown[];
109
- protected battleSlots(seat: ChristianitySeat): Array<{
110
- trackId: string;
111
- card?: ChristianityCharacterInstance;
112
- }>;
113
- protected battleSlotDropId(index: number): string;
114
- protected dropTargetIds(): string[];
115
- protected hiddenHandCards(count: number): unknown[];
116
- protected fanTransform(index: number, total: number, opponent: boolean): string;
117
- protected handCardZIndex(index: number): number;
118
- protected setHoveredHandIndex(index: number): void;
119
- protected clearHoveredHandIndex(): void;
120
- protected releaseHoveredHand(event: PointerEvent): void;
121
- private handWaveLift;
122
- private handWaveScale;
123
- protected readyOfferings(player: ChristianityPlayerState): number;
124
- protected totalOfferings(player: ChristianityPlayerState): number;
125
- protected canPlay(card: ChristianityCardDefinition): boolean;
126
- protected canPlaySelected(): boolean;
127
- protected selectedActionLabel(): string;
128
- protected selectedActionDisabled(): boolean;
129
- protected canPlaceSelectedCharacter(): boolean;
130
- protected canPlaceSelectedOffering(): boolean;
131
- protected isDraggingCharacter(): boolean;
132
- protected isDraggingOffering(): boolean;
133
- protected startDraggingCard(cardId: string): void;
134
- protected endDraggingCard(): void;
135
- protected dropOnBattleSlot(event: CdkDragDrop<number, unknown, string>, slotIndex: number): void;
136
- protected dropOnOfferings(event: CdkDragDrop<unknown, unknown, string>): void;
137
- protected selectHandCard(cardId: string): void;
138
- protected playSelectedCard(slotIndex?: number): void;
139
- protected playCardFromHand(cardId: string, slotIndex?: number): void;
140
- protected handleOfferingPile(seat: ChristianitySeat): void;
141
- protected selectAttacker(card: ChristianityCharacterInstance): void;
142
- protected handleOpponentCharacter(card: ChristianityCharacterInstance): void;
143
- protected handleOpponentLeader(): void;
144
- protected attackLeader(): void;
145
- protected attackCharacter(target: ChristianityCharacterInstance): void;
146
- protected endTurn(): void;
147
- protected resetMock(): void;
148
- protected startTutorial(): void;
149
- protected closePreview(): void;
150
- protected closeInfo(): void;
151
- protected openOfferings(seat: ChristianitySeat): void;
152
- protected openHistory(): void;
153
- protected closeOfferings(): void;
154
- protected openGallery(): void;
155
- protected closeGallery(): void;
156
- protected setGallerySearch(event: Event): void;
157
- protected setGalleryType(event: Event): void;
158
- protected tiltPreview(event: PointerEvent): void;
159
- protected resetPreviewTilt(): void;
160
- private cleanupDestroyed;
161
- protected inspectLeader(seat: ChristianitySeat): void;
162
- protected inspectOffering(offering: ChristianityOfferingInstance): void;
163
- protected offeringAbilityText(offering: ChristianityOfferingInstance): string;
164
- protected canUseOfferingAbility(offering: ChristianityOfferingInstance, seat: ChristianitySeat): boolean;
165
- protected useOfferingAbility(offering: ChristianityOfferingInstance, seat: ChristianitySeat): void;
166
- protected inspectDeck(): void;
167
- protected inspectHowToPlay(): void;
168
- protected inspectHandCard(cardId: string, fromHand?: boolean): void;
169
- protected inspectGalleryCard(cardId: string): void;
170
- protected inspectHistoryCard(cardId: string): void;
171
- private inspectCharacter;
172
- private cardPreviewMeta;
173
- private spendOfferings;
174
- static ɵfac: i0.ɵɵFactoryDeclaration<ChristianityGameComponent, never>;
175
- static ɵcmp: i0.ɵɵComponentDeclaration<ChristianityGameComponent, "val-christianity-game", never, {}, {}, never, never, true, never>;
176
- }
177
- export {};
@@ -1,8 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class LightRippleDirective {
3
- private host;
4
- private renderer;
5
- createRipple(event: PointerEvent): void;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<LightRippleDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<LightRippleDirective, "[valLightRipple]", never, {}, {}, never, never, true, never>;
8
- }
@@ -1,51 +0,0 @@
1
- <svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <title>Christianity game symbol</title>
3
- <path
4
- d="M256 33C195 92 162 151 158 230C96 259 55 312 21 432C91 455 174 458 256 414C338 458 421 455 491 432C457 312 416 259 354 230C350 151 317 92 256 33Z"
5
- fill="#8FD7F2"
6
- stroke="#12699B"
7
- stroke-width="23"
8
- stroke-linejoin="round"
9
- />
10
- <path
11
- d="M256 66C214 112 185 162 180 239C205 233 230 230 256 230C282 230 307 233 332 239C327 162 298 112 256 66Z"
12
- fill="#101827"
13
- stroke="#12699B"
14
- stroke-width="18"
15
- stroke-linejoin="round"
16
- />
17
- <path
18
- d="M56 418C104 430 163 431 219 407C194 377 175 341 163 294C112 318 82 356 56 418Z"
19
- fill="#101827"
20
- stroke="#12699B"
21
- stroke-width="18"
22
- stroke-linejoin="round"
23
- />
24
- <path
25
- d="M456 418C408 430 349 431 293 407C318 377 337 341 349 294C400 318 430 356 456 418Z"
26
- fill="#101827"
27
- stroke="#12699B"
28
- stroke-width="18"
29
- stroke-linejoin="round"
30
- />
31
- <path
32
- d="M181 279C229 267 283 267 331 279C320 321 294 357 256 392C218 357 192 321 181 279Z"
33
- fill="#101827"
34
- stroke="#12699B"
35
- stroke-width="18"
36
- stroke-linejoin="round"
37
- />
38
- <path
39
- d="M149 190C151 178 154 166 158 154"
40
- stroke="#12699B"
41
- stroke-width="18"
42
- stroke-linecap="round"
43
- />
44
- <path
45
- d="M165 134C184 92 215 55 256 21C297 55 328 92 347 134"
46
- stroke="#8FD7F2"
47
- stroke-width="16"
48
- stroke-linecap="round"
49
- opacity="0.78"
50
- />
51
- </svg>
@@ -1,114 +0,0 @@
1
- <head>
2
- <link rel="preconnect" href="https://fonts.googleapis.com">
3
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
4
- <link href="https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet" crossorigin="anonymous">
5
- <link href="https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet" crossorigin="anonymous">
6
- <link href="https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap" rel="stylesheet" crossorigin="anonymous">
7
- <link href="https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap" rel="stylesheet" crossorigin="anonymous">
8
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@100..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap" rel="stylesheet" crossorigin="anonymous">
9
-
10
-
11
- {{!-- Icons --}}
12
- <link rel='stylesheet' href='https://cdn-uicons.flaticon.com/2.3.0/uicons-bold-rounded/css/uicons-bold-rounded.css'>
13
- <link rel='stylesheet' href='https://cdn-uicons.flaticon.com/2.3.0/uicons-solid-rounded/css/uicons-solid-rounded.css'>
14
- <link rel='stylesheet' href='https://cdn-uicons.flaticon.com/2.3.0/uicons-solid-straight/css/uicons-solid-straight.css'>
15
- <link rel='stylesheet' href='https://cdn-uicons.flaticon.com/2.3.0/uicons-solid-rounded/css/uicons-solid-rounded.css'>
16
-
17
-
18
-
19
- </head>
20
-
21
- <div class="border-container">
22
- <div class="card">
23
- <div class="header-container">
24
- <div class="name-container">
25
- <div class="icon">
26
- <img src="{{index assets card.type}}"/>
27
- </div>
28
- <div class="header">{{card.name}}</div>
29
- </div>
30
- {{!-- <span style="color: black;">{{card.type}}</span> --}}
31
- <div class="cost-container">
32
- {{#if (eq card.type "lugar")}}
33
- <div class="header-cost">{{card.cost}}</div>
34
- {{/if}}
35
- {{#if (eq card.type "evento")}}
36
- <div class="header-cost">{{card.cost}}</div>
37
- {{/if}}
38
- {{#if (eq card.type "ofrenda")}}
39
- <div class="header-cost">{{card.cost}}</div>
40
- {{/if}}
41
- {{#if (eq card.type "personaje")}}
42
- <div class="header-cost">{{card.cost}}</div>
43
- {{/if}}
44
- {{#if (eq card.type "sabiduría")}}
45
- <div class="header-cost">{{card.cost}}</div>
46
- {{/if}}
47
- {{#if (eq card.type "acción")}}
48
- <div class="header-cost">{{card.cost}}</div>
49
- {{/if}}
50
- {{#if (eq card.type "herramienta")}}
51
- <div class="header-cost">{{card.cost}}</div>
52
- {{/if}}
53
- {{#if (gte card.ofrendas 1)}}
54
- {{#repeat card.ofrendas}}
55
- <div class="header-cost"></div>
56
- {{/repeat}}
57
- {{/if}}
58
- </div>
59
- </div>
60
- <div class="content">
61
- <div class="image">
62
- <div class="type-box">
63
- {{uppercase card.type}}
64
- </div>
65
- </div>
66
- </div>
67
- <div class="legend">
68
- <div class="verse"><p>{{card.verse}}</p></div>
69
- <div class="version"><p>{{card.book}} {{card.bible-verse}} {{card.version}}</p></div>
70
- </div>
71
- <div class="hability-container">
72
- <div class="character-container">
73
- <div class="statistic-container">
74
- {{#if (eq card.type 'personaje')}}
75
- <div class="character-text">{{card.atack}}</div>
76
- <div class="character-text">{{card.restriction}}</div>
77
- <div class="character-text">{{card.life}}</div>
78
- {{/if}}
79
- </div>
80
- <div class="rarity-container">
81
- <div class="rarity-box {{card.rarity}}"></div>
82
- {{#if (eq card.rarity 'normal')}}
83
- {{/if}}
84
- </div>
85
- </div>
86
- <div class="text-container">
87
- <p class="hability-title">{{card.hability-title}}</p>
88
- <p class="hability-text">{{card.hability-text}}</p>
89
- <p class="hability-title">{{card.hability-title-2}}</p>
90
- <p class="hability-text">{{card.hability-text-2}}</p>
91
- </div>
92
- <div class="hero-stadistic-container">
93
- {{#if (eq card.type 'líder')}}
94
- <div class="hero-stadistic">{{card.hero-life}}</div>
95
- {{/if}}
96
- </div>
97
- </div>
98
- <div class="footer">
99
- <div class="edition-container">
100
- <div class="number">
101
- <div class="edition-box">
102
- <img src="{{index assets card.edition}}"/>
103
- </div>
104
- <p>{{#padZeros card.id 3}}{{/padZeros}}/{{card.edition-qty}}</p>
105
- </div>
106
- <div class="rights">{{card.year}} CHRISTIANITY</div>
107
- <div class="author">{{card.author}}</div>
108
- </div>
109
- </div>
110
- </div>
111
- <div class="permissions">
112
- <p>Nueva Biblia Viva © 2006, 2008 por Biblica, Inc.® Usado con permiso de Biblica, Inc.® Reservados todos los derechos en todo el mundo.</p>
113
- </div>
114
- </div>