@gamebob/axon-surge 0.47.0 → 0.48.0

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.
@@ -1,9 +1,10 @@
1
+ import type { I18nService } from "../i18n/I18nService";
1
2
  export declare class HUDOverlay {
2
3
  private container;
3
4
  private comboElement;
4
5
  private challengeCounterElement;
5
6
  private settingsButton;
6
- constructor(parent: HTMLElement, onOpenSettings: () => void);
7
+ constructor(parent: HTMLElement, i18n: I18nService, onOpenSettings: () => void);
7
8
  renderLabels(): void;
8
9
  update(combo: number, challengeKillsRemaining?: number | null): void;
9
10
  show(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"HUDOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/HUDOverlay.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IACnB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,uBAAuB,CAAc;IAC7C,OAAO,CAAC,cAAc,CAAoB;gBAE9B,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI;IA4BpD,YAAY,IAAI,IAAI;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,uBAAuB,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAmB1E,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;CAGtB"}
1
+ {"version":3,"file":"HUDOverlay.d.ts","sourceRoot":"","sources":["../../src/ui/HUDOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,qBAAa,UAAU;IACnB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,uBAAuB,CAAc;IAC7C,OAAO,CAAC,cAAc,CAAoB;gBAE9B,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI;IA4BvE,YAAY,IAAI,IAAI;IAKpB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,uBAAuB,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAmB1E,IAAI,IAAI,IAAI;IAIZ,IAAI,IAAI,IAAI;CAGtB"}
@@ -1,10 +1,15 @@
1
1
  import type { I18nService } from "../i18n/I18nService";
2
2
  import type { ThemeManager } from "../theme/ThemeManager";
3
3
  import type { GamePlatform } from "../platform/platform";
4
- import { type Language } from "../i18n/locales";
4
+ import type { Language } from "../i18n/locales";
5
5
  import type { FpsLimit } from "../core/GameLoop";
6
- import type { SettingsPreferences } from "./SettingsPreferences";
6
+ import type { EffectsIntensity, SettingsPreferences } from "./SettingsPreferences";
7
7
  import type { UiEnvironment } from "./UiEnvironment";
8
+ export type SettingsAccessibilityState = {
9
+ readonly reducedMotion: boolean;
10
+ readonly effectsIntensity: EffectsIntensity;
11
+ readonly highContrast: boolean;
12
+ };
8
13
  export type SettingsModalOptions = {
9
14
  parent: HTMLElement;
10
15
  i18n: I18nService;
@@ -13,8 +18,9 @@ export type SettingsModalOptions = {
13
18
  preferences: SettingsPreferences;
14
19
  environment: UiEnvironment;
15
20
  onLanguageChanged?: (lang: Language) => void;
16
- onClose?: () => void;
21
+ onClose?: (returnToMenu: boolean) => void;
17
22
  onFpsLimitChanged?: (limit: FpsLimit) => void;
23
+ onAccessibilityChanged?: (settings: SettingsAccessibilityState) => void;
18
24
  };
19
25
  export declare class SettingsModal {
20
26
  private readonly modal;
@@ -27,16 +33,30 @@ export declare class SettingsModal {
27
33
  private readonly onLanguageChangedCallback;
28
34
  private readonly onCloseCallback;
29
35
  private readonly onFpsLimitChangedCallback;
36
+ private readonly onAccessibilityChangedCallback;
30
37
  private hapticsEnabled;
31
38
  private fpsLimit;
39
+ private section;
40
+ private returnToMenu;
32
41
  constructor(options: SettingsModalOptions);
33
42
  renderContent(): void;
34
43
  isHapticsEnabled(): boolean;
35
44
  getFpsLimit(): FpsLimit;
36
- show(): void;
45
+ show(returnToMenu?: boolean): void;
37
46
  hide(): void;
47
+ updateLanguage(): void;
38
48
  private loadPreferences;
49
+ private createViewActions;
50
+ private changeTheme;
51
+ private changeFpsLimit;
52
+ private changeHaptics;
53
+ private changeTutorial;
54
+ private changeReducedMotion;
55
+ private changeEffectsIntensity;
56
+ private changeHighContrast;
57
+ private changeSection;
39
58
  private getViewState;
59
+ private notifyAccessibilityChanged;
40
60
  private changeLanguage;
41
61
  }
42
62
  //# sourceMappingURL=SettingsModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsModal.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,aAAa,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;CACjD,CAAC;AAEF,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyC;IACnF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA2B;IAC3D,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA0C;IACpF,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAgB;gBAEb,OAAO,EAAE,oBAAoB;IAoBzC,aAAa,IAAI,IAAI;IA2BrB,gBAAgB,IAAI,OAAO;IAI3B,WAAW,IAAI,QAAQ;IAIvB,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAInB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,cAAc;CAKzB"}
1
+ {"version":3,"file":"SettingsModal.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,MAAM,MAAM,0BAA0B,GAAG;IAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1J,MAAM,MAAM,oBAAoB,GAAG;IAC/B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,mBAAmB,CAAC;IACjC,WAAW,EAAE,aAAa,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC9C,sBAAsB,CAAC,EAAE,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,CAAC;CAC3E,CAAC;AAEF,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAyC;IACnF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgD;IAChF,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA0C;IACpF,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAA+D;IAC9G,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,YAAY,CAAS;gBAEV,OAAO,EAAE,oBAAoB;IAsBzC,aAAa,IAAI,IAAI;IAIrB,gBAAgB,IAAI,OAAO;IAG3B,WAAW,IAAI,QAAQ;IAGvB,IAAI,CAAC,YAAY,UAAQ,GAAG,IAAI;IAKhC,IAAI,IAAI,IAAI;IAGZ,cAAc,IAAI,IAAI;IAI7B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,0BAA0B;IAGlC,OAAO,CAAC,cAAc;CAKzB"}
@@ -2,12 +2,18 @@ import type { I18nService } from "../i18n/I18nService";
2
2
  import type { FpsLimit } from "../core/GameLoop";
3
3
  import type { Language } from "../i18n/locales";
4
4
  import type { Theme } from "../theme/ThemeManager";
5
+ import type { EffectsIntensity } from "./SettingsPreferences";
6
+ export type SettingsSection = "general" | "accessibility" | "audio";
5
7
  export interface SettingsViewState {
6
8
  readonly language: Language;
7
9
  readonly theme: Theme;
8
10
  readonly fpsLimit: FpsLimit;
9
11
  readonly hapticsEnabled: boolean;
10
12
  readonly tutorialEnabled: boolean;
13
+ readonly reducedMotion: boolean;
14
+ readonly effectsIntensity: EffectsIntensity;
15
+ readonly highContrast: boolean;
16
+ readonly section: SettingsSection;
11
17
  }
12
18
  export interface SettingsViewActions {
13
19
  readonly onLanguageChanged: (language: Language) => void;
@@ -15,6 +21,10 @@ export interface SettingsViewActions {
15
21
  readonly onFpsLimitChanged: (limit: FpsLimit) => void;
16
22
  readonly onHapticsChanged: (enabled: boolean) => void;
17
23
  readonly onTutorialChanged: (enabled: boolean) => void;
24
+ readonly onReducedMotionChanged: (enabled: boolean) => void;
25
+ readonly onEffectsIntensityChanged: (intensity: EffectsIntensity) => void;
26
+ readonly onHighContrastChanged: (enabled: boolean) => void;
27
+ readonly onSectionChanged: (section: SettingsSection) => void;
18
28
  readonly onClose: () => void;
19
29
  }
20
30
  export declare class SettingsModalView {
@@ -22,16 +32,20 @@ export declare class SettingsModalView {
22
32
  private readonly i18n;
23
33
  constructor(document: Document, i18n: I18nService);
24
34
  render(card: HTMLElement, state: SettingsViewState, actions: SettingsViewActions): void;
25
- private createTitle;
35
+ private createHeader;
36
+ private createNavigation;
37
+ private createContent;
38
+ private createSectionIntro;
26
39
  private createLanguageRow;
27
40
  private createThemeRow;
28
41
  private createFpsRow;
29
- private createHapticsRow;
30
- private createTutorialRow;
42
+ private createIntensityRow;
43
+ private createChoiceRow;
31
44
  private createBooleanRow;
45
+ private createAudioPlaceholder;
32
46
  private createRow;
33
47
  private createToggle;
48
+ private createButton;
34
49
  private createCredits;
35
- private createCloseButton;
36
50
  }
37
51
  //# sourceMappingURL=SettingsModalView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsModalView.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModalView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAoBnD,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,qBAAa,iBAAiB;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW;IAG/B,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAc9F,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,iBAAiB;CAU5B"}
1
+ {"version":3,"file":"SettingsModalView.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsModalView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA0B9D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,eAAe,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,iBAAiB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,yBAAyB,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC1E,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,qBAAa,iBAAiB;IAEtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBADJ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,WAAW;IAG/B,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAK9F,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,aAAa;CAMxB"}
@@ -6,7 +6,14 @@ export interface SettingsPreferences {
6
6
  setFpsLimit(limit: FpsLimit): void;
7
7
  getTutorialEnabled(): boolean;
8
8
  setTutorialEnabled(enabled: boolean): void;
9
+ getReducedMotion(): boolean;
10
+ setReducedMotion(enabled: boolean): void;
11
+ getEffectsIntensity(): EffectsIntensity;
12
+ setEffectsIntensity(intensity: EffectsIntensity): void;
13
+ getHighContrast(): boolean;
14
+ setHighContrast(enabled: boolean): void;
9
15
  }
16
+ export type EffectsIntensity = "full" | "reduced" | "minimal";
10
17
  export declare class BrowserSettingsPreferences implements SettingsPreferences {
11
18
  private readonly storage;
12
19
  constructor(storage?: Storage | null);
@@ -16,6 +23,12 @@ export declare class BrowserSettingsPreferences implements SettingsPreferences {
16
23
  setFpsLimit(limit: FpsLimit): void;
17
24
  getTutorialEnabled(): boolean;
18
25
  setTutorialEnabled(enabled: boolean): void;
26
+ getReducedMotion(): boolean;
27
+ setReducedMotion(enabled: boolean): void;
28
+ getEffectsIntensity(): EffectsIntensity;
29
+ setEffectsIntensity(intensity: EffectsIntensity): void;
30
+ getHighContrast(): boolean;
31
+ setHighContrast(enabled: boolean): void;
19
32
  private static getStorage;
20
33
  }
21
34
  //# sourceMappingURL=SettingsPreferences.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsPreferences.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAChC,iBAAiB,IAAI,OAAO,CAAC;IAC7B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,WAAW,IAAI,QAAQ,CAAC;IACxB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,kBAAkB,IAAI,OAAO,CAAC;IAC9B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9C;AAED,qBAAa,0BAA2B,YAAW,mBAAmB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAEtB,OAAO,GAAE,OAAO,GAAG,IAA8C;IAI7E,iBAAiB,IAAI,OAAO;IAI5B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,WAAW,IAAI,QAAQ;IAKvB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIlC,kBAAkB,IAAI,OAAO;IAI7B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIjD,OAAO,CAAC,MAAM,CAAC,UAAU;CAO5B"}
1
+ {"version":3,"file":"SettingsPreferences.d.ts","sourceRoot":"","sources":["../../src/ui/SettingsPreferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAChC,iBAAiB,IAAI,OAAO,CAAC;IAC7B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,WAAW,IAAI,QAAQ,CAAC;IACxB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,kBAAkB,IAAI,OAAO,CAAC;IAC9B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3C,gBAAgB,IAAI,OAAO,CAAC;IAC5B,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,mBAAmB,IAAI,gBAAgB,CAAC;IACxC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACvD,eAAe,IAAI,OAAO,CAAC;IAC3B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE9D,qBAAa,0BAA2B,YAAW,mBAAmB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAEtB,OAAO,GAAE,OAAO,GAAG,IAA8C;IAI7E,iBAAiB,IAAI,OAAO;IAI5B,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,WAAW,IAAI,QAAQ;IAKvB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIlC,kBAAkB,IAAI,OAAO;IAI7B,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI1C,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIxC,mBAAmB,IAAI,gBAAgB;IAKvC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAItD,eAAe,IAAI,OAAO;IAI1B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI9C,OAAO,CAAC,MAAM,CAAC,UAAU;CAO5B"}
@@ -10,6 +10,7 @@ export type StartMenuOptions = {
10
10
  onOpenCodex: () => void;
11
11
  onOpenChallenges: () => void;
12
12
  onOpenAchievements: () => void;
13
+ onOpenSettings: () => void;
13
14
  hasCodexUnread: () => boolean;
14
15
  geneticMemory: GeneticMemory;
15
16
  coreRoster: CoreRoster;
@@ -23,6 +24,7 @@ export declare class StartMenu {
23
24
  private onOpenCodex;
24
25
  private onOpenChallenges;
25
26
  private onOpenAchievements;
27
+ private onOpenSettings;
26
28
  private hasCodexUnread;
27
29
  private geneticMemory;
28
30
  private coreRoster;
@@ -30,6 +32,7 @@ export declare class StartMenu {
30
32
  renderContent(): void;
31
33
  private renderMarkup;
32
34
  private bindEvents;
35
+ private bindMenuAction;
33
36
  private renderSecondaryActions;
34
37
  private renderChallengeButton;
35
38
  private renderCoreButton;
@@ -41,6 +44,7 @@ export declare class StartMenu {
41
44
  private hasPurchasableGeneticMemory;
42
45
  private renderEcosomaIcon;
43
46
  private renderCodexIcon;
47
+ private renderSettingsIcon;
44
48
  private renderChallengeSigil;
45
49
  }
46
50
  //# sourceMappingURL=StartMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StartMenu.d.ts","sourceRoot":"","sources":["../../src/ui/StartMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CAC1B,CAAC;AAEF,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;gBAEnB,OAAO,EAAE,gBAAgB;IAkB9B,aAAa,IAAI,IAAI;IAK5B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,wBAAwB;IAIzB,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAInB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,oBAAoB;CAG/B"}
1
+ {"version":3,"file":"StartMenu.d.ts","sourceRoot":"","sources":["../../src/ui/StartMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,MAAM,MAAM,gBAAgB,GAAG;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;CAC1B,CAAC;AAEF,qBAAa,SAAS;IAClB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;gBAEnB,OAAO,EAAE,gBAAgB;IAmB9B,aAAa,IAAI,IAAI;IAK5B,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,wBAAwB;IAIzB,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAInB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,oBAAoB;CAG/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamebob/axon-surge",
3
- "version": "0.47.0",
3
+ "version": "0.48.0",
4
4
  "type": "module",
5
5
  "main": "./dist/axon-surge.js",
6
6
  "module": "./dist/axon-surge.js",