valtech-components 4.0.566 → 4.0.568

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.
@@ -16,6 +16,7 @@ interface ChessimalsAnimalView {
16
16
  type ChessimalsConfirmAction = 'restart' | 'mode' | 'games' | 'resign' | 'challenge-new';
17
17
  type ChessimalsRematchState = 'none' | 'requested' | 'incoming';
18
18
  type ChessimalsChallengePhase = 'idle' | 'playing' | 'between' | 'completed' | 'failed';
19
+ type ChessimalsBotDifficultyChoice = ChessimalsBotDifficulty | 'nightmare';
19
20
  interface ChessimalsMovingPieceView {
20
21
  color: ChessimalsPlayerColor;
21
22
  fromRow: number;
@@ -116,16 +117,16 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
116
117
  private boardAnchor?;
117
118
  readonly boardSizes: ChessimalsBoardSize[];
118
119
  readonly localModes: ChessimalsLocalMode[];
119
- readonly botDifficulties: ChessimalsBotDifficulty[];
120
- readonly nightmareModes: ChessimalsNightmareMode[];
120
+ readonly botDifficulties: ChessimalsBotDifficultyChoice[];
121
+ readonly nightmareRivals: Exclude<ChessimalsNightmareMode, 'none'>[];
121
122
  readonly botProfiles: ChessimalsBotProfile[];
122
123
  readonly challengeLadder: ChessimalsChallengeBot[];
123
124
  readonly animals: ChessimalsAnimalView[];
124
- readonly valtechComponentsVersion = "4.0.566";
125
+ readonly valtechComponentsVersion = "4.0.568";
125
126
  readonly screen: import("@angular/core").WritableSignal<"home" | "challenge" | "path" | "game">;
126
127
  readonly selectedBoardSize: import("@angular/core").WritableSignal<ChessimalsBoardSize>;
127
128
  readonly selectedLocalMode: import("@angular/core").WritableSignal<ChessimalsLocalMode>;
128
- readonly selectedBotDifficulty: import("@angular/core").WritableSignal<ChessimalsBotDifficulty>;
129
+ readonly selectedBotDifficulty: import("@angular/core").WritableSignal<ChessimalsBotDifficultyChoice>;
129
130
  readonly selectedNightmareMode: import("@angular/core").WritableSignal<ChessimalsNightmareMode>;
130
131
  readonly selectedBotProfileId: import("@angular/core").WritableSignal<ChessimalsBotProfileId>;
131
132
  readonly gameBotProfileId: import("@angular/core").WritableSignal<ChessimalsBotProfileId>;
@@ -431,13 +432,16 @@ export declare class ChessimalsGameComponent implements OnInit, OnDestroy {
431
432
  unlockedLabel(color: ChessimalsPlayerColor): string;
432
433
  localModeLabel(mode: ChessimalsLocalMode): string;
433
434
  localModeDescription(mode: ChessimalsLocalMode): string;
434
- selectBotDifficulty(difficulty: ChessimalsBotDifficulty): void;
435
+ selectBotDifficulty(difficulty: ChessimalsBotDifficultyChoice): void;
436
+ selectNightmareRival(mode: Exclude<ChessimalsNightmareMode, 'none'>): void;
437
+ private activeNightmareMode;
438
+ private engineBotDifficulty;
435
439
  nightmareModeLabel(mode: ChessimalsNightmareMode): string;
436
440
  nightmareModeDescription(mode: ChessimalsNightmareMode): string;
437
441
  nightmareModeAssetSrc(mode: ChessimalsNightmareMode): string;
438
442
  nightmareModeGlyph(mode: ChessimalsNightmareMode): string;
439
443
  powerUsesLabel(animal: ChessimalsAnimalType): string;
440
- botDifficultyLabel(difficulty: ChessimalsBotDifficulty): string;
444
+ botDifficultyLabel(difficulty: ChessimalsBotDifficultyChoice): string;
441
445
  botProfileLabel(profile: ChessimalsBotProfile): string;
442
446
  botProfileDescription(profile: ChessimalsBotProfile): string;
443
447
  botProfileTendency(profile: ChessimalsBotProfile): string;
@@ -41,6 +41,8 @@ export declare class ChristianityCardComponent {
41
41
  }>;
42
42
  protected readonly cardStatsText: import("@angular/core").Signal<string>;
43
43
  protected readonly leaderLifeText: import("@angular/core").Signal<string>;
44
+ protected readonly leaderLifeValue: import("@angular/core").Signal<number>;
45
+ protected readonly isRulesOnlyCard: import("@angular/core").Signal<boolean>;
44
46
  protected offeringPips(value: number | undefined): unknown[];
45
47
  protected isLongText(text: string | undefined, threshold: number): boolean;
46
48
  private iconName;
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.566";
5
+ export declare const VERSION = "4.0.568";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "valtech-components",
3
- "version": "4.0.566",
3
+ "version": "4.0.568",
4
4
  "private": false,
5
5
  "bin": {
6
6
  "valtech-firebase-config": "./src/lib/services/firebase/scripts/generate-sw-config.js"
@@ -209,6 +209,120 @@ ion-back-button {
209
209
  font-family: var(--ion-default-font), Arial, sans-serif;
210
210
  }
211
211
 
212
+ ion-modal.chessimals-themed-modal {
213
+ --chessimals-primary: #2e6f3e;
214
+ --chessimals-primary-rgb: 46, 111, 62;
215
+ --chessimals-primary-contrast: #fffaf0;
216
+ --chessimals-modal-surface: #ffffff;
217
+ --chessimals-modal-card: #ffffff;
218
+ --chessimals-modal-card-strong: #f8fbf5;
219
+ --chessimals-modal-text: #2e3a2c;
220
+ --chessimals-modal-muted: #5f6f50;
221
+ --chessimals-modal-border: rgba(46, 58, 44, 0.18);
222
+ --ion-background-color: var(--chessimals-modal-surface);
223
+ --ion-card-background: var(--chessimals-modal-card);
224
+ --ion-text-color: var(--chessimals-modal-text);
225
+ --ion-color-dark: var(--chessimals-modal-text);
226
+ --ion-color-dark-rgb: 46, 58, 44;
227
+ --ion-color-medium: var(--chessimals-modal-muted);
228
+ --ion-color-medium-rgb: 95, 111, 80;
229
+ --ion-border-color: var(--chessimals-modal-border);
230
+ --ion-color-primary: var(--chessimals-primary);
231
+ --ion-color-primary-rgb: var(--chessimals-primary-rgb);
232
+ --ion-color-primary-contrast: var(--chessimals-primary-contrast);
233
+ --ion-color-primary-shade: #285f36;
234
+ --ion-color-primary-tint: #43804f;
235
+ }
236
+
237
+ @media (prefers-color-scheme: dark) {
238
+ ion-modal.chessimals-themed-modal {
239
+ --chessimals-modal-surface: #121811;
240
+ --chessimals-modal-card: #182217;
241
+ --chessimals-modal-card-strong: #1d2a1c;
242
+ --chessimals-modal-text: #f6f3e9;
243
+ --chessimals-modal-muted: #c8cfb1;
244
+ --chessimals-modal-border: rgba(246, 227, 213, 0.2);
245
+ --ion-color-dark-rgb: 246, 243, 233;
246
+ --ion-color-medium-rgb: 200, 207, 177;
247
+ }
248
+ }
249
+
250
+ html.ion-palette-dark ion-modal.chessimals-themed-modal,
251
+ body.dark ion-modal.chessimals-themed-modal,
252
+ body[data-theme='dark'] ion-modal.chessimals-themed-modal {
253
+ --chessimals-modal-surface: #121811;
254
+ --chessimals-modal-card: #182217;
255
+ --chessimals-modal-card-strong: #1d2a1c;
256
+ --chessimals-modal-text: #f6f3e9;
257
+ --chessimals-modal-muted: #c8cfb1;
258
+ --chessimals-modal-border: rgba(246, 227, 213, 0.2);
259
+ --ion-color-dark-rgb: 246, 243, 233;
260
+ --ion-color-medium-rgb: 200, 207, 177;
261
+ }
262
+
263
+ ion-modal.chessimals-themed-modal val-modal-shell ion-header,
264
+ ion-modal.chessimals-themed-modal val-modal-shell ion-toolbar,
265
+ ion-modal.chessimals-themed-modal .val-modal-layout__footer {
266
+ --background: var(--chessimals-modal-surface) !important;
267
+ --color: var(--chessimals-modal-text) !important;
268
+ background: var(--chessimals-modal-surface) !important;
269
+ color: var(--chessimals-modal-text) !important;
270
+ border-color: var(--chessimals-modal-border) !important;
271
+ }
272
+
273
+ ion-modal.chessimals-themed-modal val-modal-shell ion-content {
274
+ --background: var(--chessimals-modal-surface) !important;
275
+ color: var(--chessimals-modal-text) !important;
276
+ }
277
+
278
+ ion-modal.chessimals-themed-modal val-modal-shell ion-button {
279
+ --color: var(--chessimals-modal-text) !important;
280
+ --color-hover: var(--chessimals-modal-text) !important;
281
+ --color-activated: var(--chessimals-modal-text) !important;
282
+ }
283
+
284
+ ion-modal.chessimals-themed-modal val-display ion-text,
285
+ ion-modal.chessimals-themed-modal val-title ion-text,
286
+ ion-modal.chessimals-themed-modal val-display p {
287
+ color: var(--chessimals-modal-text) !important;
288
+ }
289
+
290
+ ion-modal.chessimals-themed-modal val-title p {
291
+ color: var(--chessimals-modal-muted) !important;
292
+ }
293
+
294
+ ion-modal.chessimals-themed-modal val-button.val-modal-layout__button ion-button,
295
+ ion-modal.chessimals-themed-modal val-button.chessimals-rules__action ion-button {
296
+ min-height: 3.45rem;
297
+ font-weight: 950;
298
+ --border-radius: 999px;
299
+ --padding-bottom: 0.85rem;
300
+ --padding-end: 1.35rem;
301
+ --padding-start: 1.35rem;
302
+ --padding-top: 0.85rem;
303
+ }
304
+
305
+ ion-modal.chessimals-themed-modal val-button.val-modal-layout__button ion-button.button-solid,
306
+ ion-modal.chessimals-themed-modal val-button.chessimals-rules__action--primary ion-button {
307
+ --background: var(--chessimals-primary) !important;
308
+ --background-hover: color-mix(in srgb, var(--chessimals-primary) 92%, #fff) !important;
309
+ --background-activated: color-mix(in srgb, var(--chessimals-primary) 88%, #000) !important;
310
+ --box-shadow: 0 1rem 2rem rgba(var(--chessimals-primary-rgb), 0.22) !important;
311
+ --color: var(--chessimals-primary-contrast) !important;
312
+ --color-activated: var(--chessimals-primary-contrast) !important;
313
+ --color-hover: var(--chessimals-primary-contrast) !important;
314
+ }
315
+
316
+ ion-modal.chessimals-themed-modal val-button.val-modal-layout__button ion-button.button-outline,
317
+ ion-modal.chessimals-themed-modal val-button.chessimals-rules__action--secondary ion-button {
318
+ --background: transparent !important;
319
+ --border-color: var(--chessimals-modal-border) !important;
320
+ --border-width: 1px !important;
321
+ --color: var(--chessimals-modal-text) !important;
322
+ --color-activated: var(--chessimals-modal-text) !important;
323
+ --color-hover: var(--chessimals-modal-text) !important;
324
+ }
325
+
212
326
  // ion-modal .date-picker-custom {
213
327
  // max-width: 340px;
214
328
  // max-height: 390px;
@@ -281,11 +395,7 @@ ion-modal ion-content {
281
395
  * Variante .val-modal-adaptive--wide disponible para contenido más ancho.
282
396
  * ─────────────────────────────────────────────────────────────────────────── */
283
397
  ion-modal.val-modal-adaptive {
284
- --background: #ffffff;
285
- --ion-background-color: #ffffff;
286
- --ion-card-background: #ffffff;
287
- --ion-item-background: #ffffff;
288
- --ion-toolbar-background: #ffffff;
398
+ --background: var(--ion-background-color, #ffffff);
289
399
  --border-radius: 0;
290
400
  --width: 100%;
291
401
  --height: 100%;