valtech-components 4.0.414 → 4.0.415

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 (25) hide show
  1. package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +621 -29
  2. package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +127 -1
  3. package/esm2022/lib/components/organisms/mini-games/retro-audio.service.mjs +20 -9
  4. package/esm2022/lib/version.mjs +2 -2
  5. package/fesm2022/valtech-components.mjs +765 -37
  6. package/fesm2022/valtech-components.mjs.map +1 -1
  7. package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +2 -2
  8. package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +1 -1
  9. package/lib/components/molecules/features-list/features-list.component.d.ts +1 -1
  10. package/lib/components/molecules/load-more/load-more.component.d.ts +1 -1
  11. package/lib/components/molecules/operation-reference/operation-reference.component.d.ts +1 -1
  12. package/lib/components/molecules/phone-display/phone-display.component.d.ts +1 -1
  13. package/lib/components/organisms/article/article.component.d.ts +5 -5
  14. package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +54 -2
  15. package/lib/components/organisms/mini-games/retro-audio.service.d.ts +2 -0
  16. package/lib/version.d.ts +1 -1
  17. package/package.json +1 -1
  18. package/src/lib/assets/games/chessimals/Game.mp3 +0 -0
  19. package/src/lib/assets/games/chessimals/bull.wav +0 -0
  20. package/src/lib/assets/games/chessimals/eagle-cry.wav +0 -0
  21. package/src/lib/assets/games/chessimals/kangaroo-jump.mp3 +0 -0
  22. package/src/lib/assets/games/chessimals/lion-roar.wav +0 -0
  23. package/src/lib/assets/games/chessimals/main-menu.mp3 +0 -0
  24. package/src/lib/assets/games/chessimals/tada.mp3 +0 -0
  25. package/src/lib/assets/games/chessimals/you-lose.mp3 +0 -0
@@ -39,11 +39,11 @@ export declare class RightsFooterComponent {
39
39
  /**
40
40
  * Computed helper for align prop in template.
41
41
  */
42
- propsAlign: import("@angular/core").Signal<"left" | "center" | "right">;
42
+ propsAlign: import("@angular/core").Signal<"center" | "left" | "right">;
43
43
  /**
44
44
  * Computed helper for color prop in template.
45
45
  */
46
- propsColor: import("@angular/core").Signal<"success" | "medium" | "primary" | "secondary" | "tertiary" | "warning" | "danger" | "light" | "dark">;
46
+ propsColor: import("@angular/core").Signal<"medium" | "primary" | "secondary" | "tertiary" | "success" | "warning" | "danger" | "light" | "dark">;
47
47
  /**
48
48
  * Computed helper for withMargin prop in template.
49
49
  */
@@ -38,7 +38,7 @@ export declare class UserAvatarComponent {
38
38
  readonly imageUrl: import("@angular/core").Signal<string>;
39
39
  /** Iniciales — 1-2 chars derivados de name (preferred) o email prefix. */
40
40
  readonly initials: import("@angular/core").Signal<string>;
41
- readonly sizeClass: import("@angular/core").Signal<"small" | "medium" | "large" | "xlarge" | "xsmall">;
41
+ readonly sizeClass: import("@angular/core").Signal<"small" | "xsmall" | "medium" | "large" | "xlarge">;
42
42
  readonly shapeClass: import("@angular/core").Signal<"circle" | "square">;
43
43
  /** Background — explicito o derivado deterministicamente del user. */
44
44
  readonly bgColor: import("@angular/core").Signal<string>;
@@ -42,7 +42,7 @@ export declare class FeaturesListComponent {
42
42
  iconSize: number;
43
43
  mode: "horizontal" | "vertical";
44
44
  gap: "small" | "medium" | "large";
45
- alignment: "center" | "start";
45
+ alignment: "start" | "center";
46
46
  imageShape: "circle" | "square";
47
47
  maxVisible: number;
48
48
  showMoreLabel?: string;
@@ -26,7 +26,7 @@ export declare class LoadMoreComponent {
26
26
  readonly color: import("@angular/core").Signal<string>;
27
27
  readonly fill: import("@angular/core").Signal<string>;
28
28
  readonly shape: import("@angular/core").Signal<string>;
29
- readonly size: import("@angular/core").Signal<"default" | "small" | "large">;
29
+ readonly size: import("@angular/core").Signal<"small" | "large" | "default">;
30
30
  readonly threshold: import("@angular/core").Signal<string>;
31
31
  readonly label: import("@angular/core").Signal<string>;
32
32
  private readonly _pendingComplete;
@@ -6,7 +6,7 @@ export declare class OperationReferenceComponent {
6
6
  protected label: import("@angular/core").Signal<string>;
7
7
  protected copiedLabel: import("@angular/core").Signal<string>;
8
8
  protected copyAriaLabel: import("@angular/core").Signal<string>;
9
- protected align: import("@angular/core").Signal<"center" | "start" | "end">;
9
+ protected align: import("@angular/core").Signal<"start" | "end" | "center">;
10
10
  protected copyValue(): void;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<OperationReferenceComponent, never>;
12
12
  static ɵcmp: i0.ɵɵComponentDeclaration<OperationReferenceComponent, "val-operation-reference", never, { "props": { "alias": "props"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -6,7 +6,7 @@ export declare class PhoneDisplayComponent {
6
6
  props: PhoneDisplayMetadata;
7
7
  onClick: EventEmitter<string>;
8
8
  protected rawPhone: import("@angular/core").Signal<string>;
9
- protected mode: import("@angular/core").Signal<"link" | "text" | "button">;
9
+ protected mode: import("@angular/core").Signal<"button" | "link" | "text">;
10
10
  protected formatted: import("@angular/core").Signal<string>;
11
11
  protected href: import("@angular/core").Signal<string>;
12
12
  protected ariaLabel: import("@angular/core").Signal<string>;
@@ -57,7 +57,7 @@ export declare class ArticleComponent implements OnInit {
57
57
  linkConfig?: import("valtech-components").LinkProcessorConfig;
58
58
  allowPartialBold?: boolean;
59
59
  authorColor?: import("@ionic/core").Color;
60
- alignment?: "left" | "center" | "right";
60
+ alignment?: "center" | "left" | "right";
61
61
  showQuoteMark?: boolean;
62
62
  };
63
63
  getHighlightTextProps(element: ArticleElement): {
@@ -76,7 +76,7 @@ export declare class ArticleComponent implements OnInit {
76
76
  getHighlightColor(element: ArticleElement): string;
77
77
  getButtonProps(element: ArticleElement): {
78
78
  actionType?: import("valtech-components").ActionType;
79
- expand?: "full" | "block";
79
+ expand?: "block" | "full";
80
80
  link?: string;
81
81
  href?: string;
82
82
  routerLink?: string | any[];
@@ -94,9 +94,9 @@ export declare class ArticleComponent implements OnInit {
94
94
  contentInterpolation?: Record<string, string | number>;
95
95
  icon?: import("valtech-components").IconMetada;
96
96
  shape?: "round";
97
- size?: "default" | "small" | "large";
98
- fill?: "default" | "clear" | "outline" | "solid";
99
- type: "reset" | "submit" | "button";
97
+ size?: "small" | "large" | "default";
98
+ fill?: "outline" | "clear" | "solid" | "default";
99
+ type: "button" | "submit" | "reset";
100
100
  token?: string;
101
101
  ref?: any;
102
102
  handler?: (value: any) => any;
@@ -64,16 +64,20 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
64
64
  readonly botDifficulties: ChessimalsBotDifficulty[];
65
65
  readonly botProfiles: ChessimalsBotProfile[];
66
66
  readonly animals: ChessimalsAnimalView[];
67
+ readonly valtechComponentsVersion = "4.0.415";
67
68
  readonly screen: import("@angular/core").WritableSignal<"home" | "game">;
68
69
  readonly selectedBoardSize: import("@angular/core").WritableSignal<ChessimalsBoardSize>;
69
70
  readonly selectedLocalMode: import("@angular/core").WritableSignal<ChessimalsLocalMode>;
70
71
  readonly selectedBotDifficulty: import("@angular/core").WritableSignal<ChessimalsBotDifficulty>;
71
72
  readonly selectedBotProfileId: import("@angular/core").WritableSignal<ChessimalsBotProfileId>;
73
+ readonly gameBotProfileId: import("@angular/core").WritableSignal<ChessimalsBotProfileId>;
72
74
  readonly game: import("@angular/core").WritableSignal<ChessimalsGameState>;
73
75
  readonly selectedPieceId: import("@angular/core").WritableSignal<string>;
74
76
  readonly selectedAnimal: import("@angular/core").WritableSignal<ChessimalsAnimalType>;
75
77
  readonly isRulesModalOpen: import("@angular/core").WritableSignal<boolean>;
76
78
  readonly isSettingsModalOpen: import("@angular/core").WritableSignal<boolean>;
79
+ readonly isAboutModalOpen: import("@angular/core").WritableSignal<boolean>;
80
+ readonly tutorialMode: import("@angular/core").WritableSignal<boolean>;
77
81
  readonly isBoardOrienting: import("@angular/core").WritableSignal<boolean>;
78
82
  readonly movingPiece: import("@angular/core").WritableSignal<ChessimalsMovingPieceView>;
79
83
  readonly moveEffect: import("@angular/core").WritableSignal<ChessimalsMoveEffectView>;
@@ -83,13 +87,14 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
83
87
  readonly confirmAction: import("@angular/core").WritableSignal<ChessimalsConfirmAction>;
84
88
  readonly onlineJoinCode: import("@angular/core").WritableSignal<string>;
85
89
  readonly onlineLoading: import("@angular/core").WritableSignal<boolean>;
86
- readonly onlineAction: import("@angular/core").WritableSignal<"join" | "create" | "accept" | "reject">;
90
+ readonly onlineAction: import("@angular/core").WritableSignal<"create" | "join" | "accept" | "reject">;
87
91
  readonly onlineError: import("@angular/core").WritableSignal<string>;
88
92
  readonly onlineUid: import("@angular/core").WritableSignal<string>;
89
93
  readonly onlineHistory: import("@angular/core").WritableSignal<ChessimalsHistoryEntry[]>;
90
94
  readonly resumeSplashVisible: import("@angular/core").WritableSignal<boolean>;
91
95
  readonly rematchLoading: import("@angular/core").WritableSignal<boolean>;
92
96
  readonly moveSyncing: import("@angular/core").WritableSignal<boolean>;
97
+ readonly onlineConnectionState: import("@angular/core").WritableSignal<"idle" | "connecting" | "live" | "error">;
93
98
  readonly reviewIndex: import("@angular/core").WritableSignal<number>;
94
99
  readonly loggedInUser: import("@angular/core").Signal<import("valtech-components").AuthUser>;
95
100
  readonly localPlayerProfile: import("@angular/core").Signal<import("./types").MiniGamePlayerProfile>;
@@ -106,6 +111,8 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
106
111
  readonly musicVolumeProps: import("@angular/core").Signal<RangeInputMetadata>;
107
112
  readonly sfxVolumeProps: import("@angular/core").Signal<RangeInputMetadata>;
108
113
  readonly availableBotProfiles: import("@angular/core").Signal<ChessimalsBotProfile[]>;
114
+ readonly selectedBotProfile: import("@angular/core").Signal<ChessimalsBotProfile>;
115
+ readonly gameBotProfile: import("@angular/core").Signal<ChessimalsBotProfile>;
109
116
  set onlineGameId(value: string | null | undefined);
110
117
  miniGamesRoute: string;
111
118
  projectionMode: boolean;
@@ -120,25 +127,55 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
120
127
  readonly legalMoves: import("@angular/core").Signal<ChessimalsMove[]>;
121
128
  readonly legalMoveKeys: import("@angular/core").Signal<Set<string>>;
122
129
  readonly captureMoveKeys: import("@angular/core").Signal<Set<string>>;
130
+ readonly captureReadyPieceIds: import("@angular/core").Signal<Set<string>>;
131
+ readonly threatenedPieceIds: import("@angular/core").Signal<Set<string>>;
132
+ readonly isActionableTurn: import("@angular/core").Signal<boolean>;
133
+ readonly isWaitingForTurn: import("@angular/core").Signal<boolean>;
123
134
  readonly boardRows: import("@angular/core").Signal<number[]>;
124
135
  readonly boardCols: import("@angular/core").Signal<number[]>;
125
136
  readonly displayRows: import("@angular/core").Signal<number[]>;
126
137
  readonly displayCols: import("@angular/core").Signal<number[]>;
127
138
  readonly boardOrientationColor: import("@angular/core").Signal<ChessimalsPlayerColor>;
128
- readonly onlineRole: import("@angular/core").Signal<"waiting" | "pending" | ChessimalsPlayerColor | "spectator">;
139
+ readonly onlineRole: import("@angular/core").Signal<ChessimalsPlayerColor | "waiting" | "pending" | "spectator">;
129
140
  readonly canPlayCurrentTurn: import("@angular/core").Signal<boolean>;
130
141
  readonly canControlCurrentGame: import("@angular/core").Signal<boolean>;
131
142
  readonly rematchState: import("@angular/core").Signal<ChessimalsRematchState>;
132
143
  readonly rematchActionLabel: import("@angular/core").Signal<string>;
144
+ readonly shouldShowOnlineStatus: import("@angular/core").Signal<boolean>;
145
+ readonly onlineStatusTitle: import("@angular/core").Signal<string>;
146
+ readonly onlineStatusBody: import("@angular/core").Signal<string>;
147
+ readonly tutorialStepIndex: import("@angular/core").Signal<number>;
148
+ readonly tutorialProgressLabel: import("@angular/core").Signal<string>;
149
+ readonly tutorialTitle: import("@angular/core").Signal<string>;
150
+ readonly tutorialBody: import("@angular/core").Signal<string>;
133
151
  readonly currentTurnTitle: import("@angular/core").Signal<string>;
134
152
  readonly winTitle: import("@angular/core").Signal<string>;
135
153
  readonly winBody: import("@angular/core").Signal<string>;
136
154
  readonly winReasonLabel: import("@angular/core").Signal<string>;
137
155
  readonly movesSummary: import("@angular/core").Signal<string>;
156
+ readonly resultCaptures: import("@angular/core").Signal<number>;
157
+ readonly resultPowers: import("@angular/core").Signal<ChessimalsAnimalType[]>;
158
+ readonly resultStats: import("@angular/core").Signal<{
159
+ label: string;
160
+ value: string;
161
+ }[]>;
162
+ readonly resultPowersLabel: import("@angular/core").Signal<string>;
163
+ readonly shouldShowBotReport: import("@angular/core").Signal<boolean>;
164
+ readonly botReportTitle: import("@angular/core").Signal<string>;
165
+ readonly botReportBody: import("@angular/core").Signal<string>;
166
+ readonly seriesGames: import("@angular/core").Signal<ChessimalsHistoryEntry[]>;
167
+ readonly seriesScore: import("@angular/core").Signal<{
168
+ mine: number;
169
+ rival: number;
170
+ total: number;
171
+ }>;
172
+ readonly seriesSummary: import("@angular/core").Signal<string>;
173
+ readonly lastSeriesWinnerLabel: import("@angular/core").Signal<string>;
138
174
  readonly confirmTitle: import("@angular/core").Signal<string>;
139
175
  readonly confirmBody: import("@angular/core").Signal<string>;
140
176
  readonly confirmActions: import("@angular/core").Signal<ButtonMetadata[]>;
141
177
  readonly rulesActions: import("@angular/core").Signal<ButtonMetadata[]>;
178
+ readonly aboutActions: import("@angular/core").Signal<ButtonMetadata[]>;
142
179
  readonly actionHint: import("@angular/core").Signal<string>;
143
180
  constructor();
144
181
  ngOnDestroy(): void;
@@ -147,10 +184,12 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
147
184
  private shortUserId;
148
185
  private rangeValueToNumber;
149
186
  startGame(): void;
187
+ startTutorial(): void;
150
188
  createOnlineGame(): Promise<void>;
151
189
  joinOnlineGameByCode(): Promise<void>;
152
190
  openOnlineGame(gameId: string): Promise<void>;
153
191
  restartGame(): void;
192
+ exitTutorial(): void;
154
193
  resetToModeSetup(): void;
155
194
  resetToGamesMenu(): void;
156
195
  private resetFinishedLocalGameForNextVisit;
@@ -165,8 +204,14 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
165
204
  closeRulesModal(): void;
166
205
  openSettingsModal(): void;
167
206
  closeSettingsModal(): void;
207
+ openAboutModal(): void;
208
+ closeAboutModal(): void;
168
209
  setMusicVolume(value: number | RangeValue): void;
169
210
  setSfxVolume(value: number | RangeValue): void;
211
+ private tutorialExpectedMove;
212
+ isPowerCardBlockedByTutorial(animal: ChessimalsAnimalType): boolean;
213
+ private createTutorialGame;
214
+ private basicMovesForColor;
170
215
  selectCell(position: ChessimalsPosition): void;
171
216
  private animateMove;
172
217
  private applyAnimatedMove;
@@ -194,6 +239,8 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
194
239
  isSelectedCell(row: number, col: number): boolean;
195
240
  isLegalCell(row: number, col: number): boolean;
196
241
  isCaptureCell(row: number, col: number): boolean;
242
+ isThreatenedCell(row: number, col: number): boolean;
243
+ isCaptureReadyCell(row: number, col: number): boolean;
197
244
  isLastMoveCell(row: number, col: number): boolean;
198
245
  isMovingSourceCell(row: number, col: number): boolean;
199
246
  isMoveEffectCell(row: number, col: number, animal?: ChessimalsAnimalType): boolean;
@@ -204,6 +251,8 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
204
251
  showRankLabel(col: number): boolean;
205
252
  showFileLabel(row: number): boolean;
206
253
  playerLabel(color: ChessimalsPlayerColor): string;
254
+ turnStateLabel(): string;
255
+ turnStateBody(): string;
207
256
  winnerDisplayName(): string;
208
257
  winnerSideLabel(): string;
209
258
  winnerInitials(): string;
@@ -212,6 +261,7 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
212
261
  isCurrentPlayerDefeat(): boolean;
213
262
  private playerDisplayName;
214
263
  private rematchOpponent;
264
+ private currentOpponentUid;
215
265
  modeChipLabel(): string;
216
266
  turnTitle(): string;
217
267
  normalizeGameId(value: string): string;
@@ -245,6 +295,7 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
245
295
  botDifficultyLabel(difficulty: ChessimalsBotDifficulty): string;
246
296
  botProfileLabel(profile: ChessimalsBotProfile): string;
247
297
  botProfileDescription(profile: ChessimalsBotProfile): string;
298
+ botProfileTendency(profile: ChessimalsBotProfile): string;
248
299
  animalLabel(type: ChessimalsAnimalType): string;
249
300
  canReviewPrevious(): boolean;
250
301
  canReviewNext(): boolean;
@@ -255,6 +306,7 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
255
306
  private displayRowIndex;
256
307
  private displayColIndex;
257
308
  private watchOnlineGame;
309
+ private onlineOpenErrorMessage;
258
310
  private applyOnlineGameSnapshot;
259
311
  private miniGamesBaseRoute;
260
312
  private chessimalsGameRoute;
@@ -79,6 +79,8 @@ export declare class RetroAudioService {
79
79
  private stopSampleMusic;
80
80
  private applySampleMusicVolume;
81
81
  private sampleMusicVolume;
82
+ private sampleVolume;
83
+ private applyActiveSampleVolumes;
82
84
  private connectSampleMusic;
83
85
  private disconnectSampleMusicGraph;
84
86
  private tone;
package/lib/version.d.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  * Current version of valtech-components.
3
3
  * This is automatically updated during the publish process.
4
4
  */
5
- export declare const VERSION = "4.0.414";
5
+ export declare const VERSION = "4.0.415";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "4.0.414",
3
+ "version": "4.0.415",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"