@sbugallo/pokecode 0.3.0 → 0.3.1

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 (60) hide show
  1. package/dist/adapters/opencode/tui/choices/cards.d.ts +5 -0
  2. package/dist/adapters/opencode/tui/choices/cards.d.ts.map +1 -1
  3. package/dist/adapters/opencode/tui/choices/cards.jsx +24 -17
  4. package/dist/adapters/opencode/tui/choices/cards.jsx.map +1 -1
  5. package/dist/adapters/opencode/tui/choices/encounter.d.ts +2 -1
  6. package/dist/adapters/opencode/tui/choices/encounter.d.ts.map +1 -1
  7. package/dist/adapters/opencode/tui/choices/encounter.jsx +7 -5
  8. package/dist/adapters/opencode/tui/choices/encounter.jsx.map +1 -1
  9. package/dist/adapters/opencode/tui/components/action-button.d.ts +3 -2
  10. package/dist/adapters/opencode/tui/components/action-button.d.ts.map +1 -1
  11. package/dist/adapters/opencode/tui/components/action-button.jsx +15 -7
  12. package/dist/adapters/opencode/tui/components/action-button.jsx.map +1 -1
  13. package/dist/adapters/opencode/tui/components/move-list.d.ts +2 -0
  14. package/dist/adapters/opencode/tui/components/move-list.d.ts.map +1 -1
  15. package/dist/adapters/opencode/tui/components/move-list.jsx +9 -11
  16. package/dist/adapters/opencode/tui/components/move-list.jsx.map +1 -1
  17. package/dist/adapters/opencode/tui/components/sprite.d.ts +2 -0
  18. package/dist/adapters/opencode/tui/components/sprite.d.ts.map +1 -1
  19. package/dist/adapters/opencode/tui/components/sprite.jsx +3 -1
  20. package/dist/adapters/opencode/tui/components/sprite.jsx.map +1 -1
  21. package/dist/adapters/opencode/tui/dex/dialog.d.ts.map +1 -1
  22. package/dist/adapters/opencode/tui/dex/dialog.jsx +8 -4
  23. package/dist/adapters/opencode/tui/dex/dialog.jsx.map +1 -1
  24. package/dist/adapters/opencode/tui/pc/actions.d.ts +2 -4
  25. package/dist/adapters/opencode/tui/pc/actions.d.ts.map +1 -1
  26. package/dist/adapters/opencode/tui/pc/actions.jsx +1 -1
  27. package/dist/adapters/opencode/tui/pc/actions.jsx.map +1 -1
  28. package/dist/adapters/opencode/tui/pc/details.d.ts +2 -1
  29. package/dist/adapters/opencode/tui/pc/details.d.ts.map +1 -1
  30. package/dist/adapters/opencode/tui/pc/details.jsx +14 -10
  31. package/dist/adapters/opencode/tui/pc/details.jsx.map +1 -1
  32. package/dist/adapters/opencode/tui/pc/dialog.d.ts +2 -3
  33. package/dist/adapters/opencode/tui/pc/dialog.d.ts.map +1 -1
  34. package/dist/adapters/opencode/tui/pc/dialog.jsx +16 -18
  35. package/dist/adapters/opencode/tui/pc/dialog.jsx.map +1 -1
  36. package/dist/adapters/opencode/tui/plugin.d.ts.map +1 -1
  37. package/dist/adapters/opencode/tui/plugin.jsx +6 -8
  38. package/dist/adapters/opencode/tui/plugin.jsx.map +1 -1
  39. package/dist/adapters/opencode/tui/sidebar/register.d.ts +4 -5
  40. package/dist/adapters/opencode/tui/sidebar/register.d.ts.map +1 -1
  41. package/dist/adapters/opencode/tui/sidebar/register.jsx +2 -2
  42. package/dist/adapters/opencode/tui/sidebar/register.jsx.map +1 -1
  43. package/dist/adapters/opencode/tui/sidebar/view.d.ts +5 -4
  44. package/dist/adapters/opencode/tui/sidebar/view.d.ts.map +1 -1
  45. package/dist/adapters/opencode/tui/sidebar/view.jsx +27 -23
  46. package/dist/adapters/opencode/tui/sidebar/view.jsx.map +1 -1
  47. package/dist/adapters/opencode/tui/theme.d.ts +81 -0
  48. package/dist/adapters/opencode/tui/theme.d.ts.map +1 -0
  49. package/dist/adapters/opencode/tui/theme.js +64 -0
  50. package/dist/adapters/opencode/tui/theme.js.map +1 -0
  51. package/dist/adapters/opencode/tui/travel/actions.d.ts +2 -0
  52. package/dist/adapters/opencode/tui/travel/actions.d.ts.map +1 -1
  53. package/dist/adapters/opencode/tui/travel/actions.jsx +1 -1
  54. package/dist/adapters/opencode/tui/travel/actions.jsx.map +1 -1
  55. package/dist/adapters/opencode/tui/travel/dialog.d.ts +2 -0
  56. package/dist/adapters/opencode/tui/travel/dialog.d.ts.map +1 -1
  57. package/dist/adapters/opencode/tui/travel/dialog.jsx +28 -18
  58. package/dist/adapters/opencode/tui/travel/dialog.jsx.map +1 -1
  59. package/dist/tui.js +336 -115
  60. package/package.json +1 -1
package/dist/tui.js CHANGED
@@ -770,24 +770,82 @@ import { insert as _$insert } from "@opentui/solid";
770
770
  import { setProp as _$setProp } from "@opentui/solid";
771
771
  import { createElement as _$createElement } from "@opentui/solid";
772
772
  import { createTextAttributes } from "@opentui/core";
773
+
774
+ // src/adapters/opencode/tui/theme.ts
775
+ import { RGBA } from "@opentui/core";
776
+ var hovered = (color) => color.state({ hovered: true }) ?? color.base;
777
+ var toActionColors = (background, label) => ({
778
+ background: background.base,
779
+ backgroundHovered: hovered(background),
780
+ label: label.base,
781
+ labelHovered: hovered(label)
782
+ });
783
+ var toSurface = (theme) => ({
784
+ text: theme.text.base,
785
+ muted: theme.text.muted,
786
+ accent: theme.hue.accent[200] ?? theme.text.action.primary.base,
787
+ success: theme.text.feedback.success.base,
788
+ error: theme.text.feedback.error.base,
789
+ info: theme.text.feedback.info.base,
790
+ background: theme.background.base,
791
+ raised: theme.background.raised.base,
792
+ highlight: theme.background.raised.max,
793
+ border: theme.border.base,
794
+ primary: toActionColors(theme.background.action.primary, theme.text.action.primary),
795
+ secondary: toActionColors(theme.background.action.secondary, theme.text.action.secondary)
796
+ });
797
+ var toPokecodeTheme = (theme) => ({
798
+ current: toSurface(theme),
799
+ dialog: toSurface(theme.surface("dialog"))
800
+ });
801
+ var transparent = RGBA.fromInts(0, 0, 0, 0);
802
+ var flat = (color) => ({ base: color, state: () => color });
803
+ var fallbackResolvedTheme = (() => {
804
+ const text = RGBA.fromHex("#d4d4d4");
805
+ const muted = RGBA.fromHex("#808080");
806
+ const theme = {
807
+ hue: { accent: { 200: RGBA.fromHex("#a78bfa") } },
808
+ text: {
809
+ base: text,
810
+ muted,
811
+ action: {
812
+ primary: flat(text),
813
+ secondary: flat(muted)
814
+ },
815
+ feedback: {
816
+ error: { base: RGBA.fromHex("#ef4444") },
817
+ success: { base: RGBA.fromHex("#22c55e") },
818
+ info: { base: RGBA.fromHex("#3b82f6") }
819
+ }
820
+ },
821
+ background: {
822
+ base: RGBA.fromHex("#111827"),
823
+ raised: { base: RGBA.fromHex("#1f2937"), max: RGBA.fromHex("#374151") },
824
+ action: {
825
+ primary: flat(transparent),
826
+ secondary: flat(transparent)
827
+ }
828
+ },
829
+ border: { base: RGBA.fromHex("#4b5563") },
830
+ surface: () => theme
831
+ };
832
+ return theme;
833
+ })();
834
+ var fallbackPokecodeTheme = toPokecodeTheme(fallbackResolvedTheme);
835
+
836
+ // src/adapters/opencode/tui/components/action-button.tsx
773
837
  var bold = createTextAttributes({
774
838
  bold: true
775
839
  });
776
840
  function PokecodeActionButton(properties) {
777
- const colors = {
778
- primary: {
779
- base: "#2563eb",
780
- hovered: "#1d4ed8"
781
- },
782
- secondary: {
783
- base: "#6b7280",
784
- hovered: "#4b5563"
785
- },
786
- success: {
787
- base: "#16a34a",
788
- hovered: "#15803d"
789
- }
790
- }[properties.tone];
841
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
842
+ const colors = () => {
843
+ const action = properties.tone === "secondary" ? surface().secondary : surface().primary;
844
+ return {
845
+ background: properties.hovered() ? action.backgroundHovered : action.background,
846
+ label: properties.tone === "success" ? surface().success : properties.hovered() ? action.labelHovered : action.label
847
+ };
848
+ };
791
849
  return (() => {
792
850
  var _el$ = _$createElement("button"), _el$2 = _$createElement("text");
793
851
  _$insertNode(_el$, _el$2);
@@ -798,22 +856,23 @@ function PokecodeActionButton(properties) {
798
856
  _$setProp(_el$, "paddingRight", 2);
799
857
  _$setProp(_el$, "type", "button");
800
858
  _$setProp(_el$, "onMouseUp", () => void properties.onActivate());
801
- _$setProp(_el$2, "fg", "#ffffff");
802
859
  _$insert(_el$2, () => properties.label);
803
860
  _$effect((_p$) => {
804
- var _v$ = properties.hovered() ? colors.hovered : colors.base, _v$2 = properties.onLeave, _v$3 = properties.onHover, _v$4 = properties.onLeave, _v$5 = properties.onHover;
861
+ var _v$ = colors().background, _v$2 = properties.onLeave, _v$3 = properties.onHover, _v$4 = properties.onLeave, _v$5 = properties.onHover, _v$6 = colors().label;
805
862
  _v$ !== _p$.e && (_p$.e = _$setProp(_el$, "backgroundColor", _v$, _p$.e));
806
863
  _v$2 !== _p$.t && (_p$.t = _$setProp(_el$, "onBlur", _v$2, _p$.t));
807
864
  _v$3 !== _p$.a && (_p$.a = _$setProp(_el$, "onFocus", _v$3, _p$.a));
808
865
  _v$4 !== _p$.o && (_p$.o = _$setProp(_el$, "onMouseOut", _v$4, _p$.o));
809
866
  _v$5 !== _p$.i && (_p$.i = _$setProp(_el$, "onMouseOver", _v$5, _p$.i));
867
+ _v$6 !== _p$.n && (_p$.n = _$setProp(_el$2, "fg", _v$6, _p$.n));
810
868
  return _p$;
811
869
  }, {
812
870
  e: undefined,
813
871
  t: undefined,
814
872
  a: undefined,
815
873
  o: undefined,
816
- i: undefined
874
+ i: undefined,
875
+ n: undefined
817
876
  });
818
877
  return _el$;
819
878
  })();
@@ -845,6 +904,7 @@ function isDexCloseKey(key) {
845
904
  }
846
905
  function PokemonDexDialog(properties) {
847
906
  const context = usePlugin();
907
+ const surface = () => toPokecodeTheme(context.theme).dialog;
848
908
  const dimensions = useTerminalDimensions();
849
909
  const height = () => Math.max(10, Math.floor(dimensions().height / 2) - 1);
850
910
  const width = () => dexModalWidth(dimensions().width);
@@ -923,24 +983,34 @@ function PokemonDexDialog(properties) {
923
983
  _$insertNode2(_el$9, _el$1);
924
984
  _$insert2(_el$9, () => pokemon.number.toString().padStart(4, "0"), _el$1);
925
985
  _$insert2(_el$9, () => dexDisplayName(pokemon.name, pokemon.status), null);
926
- _$effect2((_$p) => _$setProp2(_el$8, "fg", pokemon.status === "caught" ? "#22c55e" : context.theme.text.muted, _$p));
986
+ _$effect2((_p$) => {
987
+ var _v$6 = pokemon.status === "caught" ? surface().success : surface().muted, _v$7 = pokemon.status === "unknown" ? surface().muted : surface().text;
988
+ _v$6 !== _p$.e && (_p$.e = _$setProp2(_el$8, "fg", _v$6, _p$.e));
989
+ _v$7 !== _p$.t && (_p$.t = _$setProp2(_el$9, "fg", _v$7, _p$.t));
990
+ return _p$;
991
+ }, {
992
+ e: undefined,
993
+ t: undefined
994
+ });
927
995
  return _el$7;
928
996
  })()
929
997
  }));
930
998
  _$insertNode2(_el$5, _$createTextNode(`\u2191\u2193: 1 item \xB7 \u2190\u2192: 10 items \xB7 Esc: Close`));
931
999
  _$setProp2(_el$5, "flexShrink", 0);
932
1000
  _$effect2((_p$) => {
933
- var _v$ = height(), _v$2 = width(), _v$3 = context.theme.text.base, _v$4 = height() - 2;
1001
+ var _v$ = height(), _v$2 = width(), _v$3 = surface().text, _v$4 = height() - 2, _v$5 = surface().muted;
934
1002
  _v$ !== _p$.e && (_p$.e = _$setProp2(_el$, "height", _v$, _p$.e));
935
1003
  _v$2 !== _p$.t && (_p$.t = _$setProp2(_el$, "width", _v$2, _p$.t));
936
1004
  _v$3 !== _p$.a && (_p$.a = _$setProp2(_el$2, "fg", _v$3, _p$.a));
937
1005
  _v$4 !== _p$.o && (_p$.o = _$setProp2(_el$3, "height", _v$4, _p$.o));
1006
+ _v$5 !== _p$.i && (_p$.i = _$setProp2(_el$5, "fg", _v$5, _p$.i));
938
1007
  return _p$;
939
1008
  }, {
940
1009
  e: undefined,
941
1010
  t: undefined,
942
1011
  a: undefined,
943
- o: undefined
1012
+ o: undefined,
1013
+ i: undefined
944
1014
  });
945
1015
  return _el$;
946
1016
  })();
@@ -1015,8 +1085,8 @@ import { createSignal as createSignal5 } from "solid-js";
1015
1085
 
1016
1086
  // src/adapters/opencode/tui/pc/dialog.tsx
1017
1087
  import { memo as _$memo5 } from "@opentui/solid";
1018
- import { effect as _$effect6 } from "@opentui/solid";
1019
1088
  import { insertNode as _$insertNode6 } from "@opentui/solid";
1089
+ import { effect as _$effect6 } from "@opentui/solid";
1020
1090
  import { createComponent as _$createComponent6 } from "@opentui/solid";
1021
1091
  import { use as _$use3 } from "@opentui/solid";
1022
1092
  import { insert as _$insert6 } from "@opentui/solid";
@@ -182262,8 +182332,9 @@ extend({ button: StarterButtonRenderable });
182262
182332
 
182263
182333
  // src/adapters/opencode/tui/components/move-list.tsx
182264
182334
  function MoveList(properties) {
182265
- const [hovered, setHovered] = createSignal2(null);
182335
+ const [hovered2, setHovered] = createSignal2(null);
182266
182336
  const [inspected, setInspected] = createSignal2(null);
182337
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
182267
182338
  const moves = () => properties.moves.map((move) => presentMove(move, properties.language));
182268
182339
  const description = () => moves().find((move) => move.id === inspected())?.description;
182269
182340
  let list;
@@ -182293,6 +182364,8 @@ function MoveList(properties) {
182293
182364
  }
182294
182365
  };
182295
182366
  const secondary = () => move.id === properties.offeredMoveId;
182367
+ const action = () => secondary() ? surface().secondary : surface().primary;
182368
+ const hoveredRow = () => hovered2() === move.id;
182296
182369
  return (() => {
182297
182370
  var _el$ = _$createElement3("box"), _el$2 = _$createElement3("button"), _el$3 = _$createElement3("text"), _el$4 = _$createElement3("text"), _el$5 = _$createElement3("text");
182298
182371
  _$insertNode3(_el$, _el$2);
@@ -182329,7 +182402,6 @@ function MoveList(properties) {
182329
182402
  event.stopPropagation();
182330
182403
  properties.onActivate(move.id);
182331
182404
  });
182332
- _$setProp3(_el$3, "fg", "#ffffff");
182333
182405
  _$setProp3(_el$3, "wrapMode", "word");
182334
182406
  _$insert3(_el$3, () => move.name);
182335
182407
  _$setProp3(_el$4, "maxWidth", "100%");
@@ -182339,13 +182411,16 @@ function MoveList(properties) {
182339
182411
  _$setProp3(_el$5, "wrapMode", "word");
182340
182412
  _$insert3(_el$5, () => move.stats);
182341
182413
  _$effect3((_p$) => {
182342
- var _v$ = properties.leftAlignMoves ? "flex-start" : "center", _v$2 = `move-${move.id}`, _v$3 = secondary() ? hovered() === move.id ? "#4b5563" : "#6b7280" : hovered() === move.id ? "#1d4ed8" : "#2563eb", _v$4 = properties.centered && !properties.leftAlignMoves ? "center" : "left", _v$5 = properties.centered && !properties.leftAlignMoves ? "center" : "left", _v$6 = properties.centered && !properties.leftAlignMoves ? "center" : "left";
182414
+ var _v$ = properties.leftAlignMoves ? "flex-start" : "center", _v$2 = `move-${move.id}`, _v$3 = hoveredRow() ? action().backgroundHovered : action().background, _v$4 = hoveredRow() ? action().labelHovered : action().label, _v$5 = properties.centered && !properties.leftAlignMoves ? "center" : "left", _v$6 = surface().muted, _v$7 = properties.centered && !properties.leftAlignMoves ? "center" : "left", _v$8 = surface().muted, _v$9 = properties.centered && !properties.leftAlignMoves ? "center" : "left";
182343
182415
  _v$ !== _p$.e && (_p$.e = _$setProp3(_el$, "alignItems", _v$, _p$.e));
182344
182416
  _v$2 !== _p$.t && (_p$.t = _$setProp3(_el$2, "id", _v$2, _p$.t));
182345
182417
  _v$3 !== _p$.a && (_p$.a = _$setProp3(_el$2, "backgroundColor", _v$3, _p$.a));
182346
- _v$4 !== _p$.o && (_p$.o = _$setProp3(_el$3, "textAlign", _v$4, _p$.o));
182347
- _v$5 !== _p$.i && (_p$.i = _$setProp3(_el$4, "textAlign", _v$5, _p$.i));
182348
- _v$6 !== _p$.n && (_p$.n = _$setProp3(_el$5, "textAlign", _v$6, _p$.n));
182418
+ _v$4 !== _p$.o && (_p$.o = _$setProp3(_el$3, "fg", _v$4, _p$.o));
182419
+ _v$5 !== _p$.i && (_p$.i = _$setProp3(_el$3, "textAlign", _v$5, _p$.i));
182420
+ _v$6 !== _p$.n && (_p$.n = _$setProp3(_el$4, "fg", _v$6, _p$.n));
182421
+ _v$7 !== _p$.s && (_p$.s = _$setProp3(_el$4, "textAlign", _v$7, _p$.s));
182422
+ _v$8 !== _p$.h && (_p$.h = _$setProp3(_el$5, "fg", _v$8, _p$.h));
182423
+ _v$9 !== _p$.r && (_p$.r = _$setProp3(_el$5, "textAlign", _v$9, _p$.r));
182349
182424
  return _p$;
182350
182425
  }, {
182351
182426
  e: undefined,
@@ -182353,7 +182428,10 @@ function MoveList(properties) {
182353
182428
  a: undefined,
182354
182429
  o: undefined,
182355
182430
  i: undefined,
182356
- n: undefined
182431
+ n: undefined,
182432
+ s: undefined,
182433
+ h: undefined,
182434
+ r: undefined
182357
182435
  });
182358
182436
  return _el$;
182359
182437
  })();
@@ -182421,15 +182499,17 @@ function MoveList(properties) {
182421
182499
  _$setProp3(_el$9, "wrapMode", "word");
182422
182500
  _$insert3(_el$9, () => description() || moveInspectionHint(properties.language));
182423
182501
  _$effect3((_p$) => {
182424
- var _v$7 = properties.height ?? "auto", _v$8 = properties.height === undefined ? 6 : Math.min(6, Math.max(2, Math.floor(properties.height / 4))), _v$9 = properties.centered ? "center" : "left";
182425
- _v$7 !== _p$.e && (_p$.e = _$setProp3(_el$6, "height", _v$7, _p$.e));
182426
- _v$8 !== _p$.t && (_p$.t = _$setProp3(_el$8, "height", _v$8, _p$.t));
182427
- _v$9 !== _p$.a && (_p$.a = _$setProp3(_el$9, "textAlign", _v$9, _p$.a));
182502
+ var _v$0 = properties.height ?? "auto", _v$1 = properties.height === undefined ? 6 : Math.min(6, Math.max(2, Math.floor(properties.height / 4))), _v$10 = surface().text, _v$11 = properties.centered ? "center" : "left";
182503
+ _v$0 !== _p$.e && (_p$.e = _$setProp3(_el$6, "height", _v$0, _p$.e));
182504
+ _v$1 !== _p$.t && (_p$.t = _$setProp3(_el$8, "height", _v$1, _p$.t));
182505
+ _v$10 !== _p$.a && (_p$.a = _$setProp3(_el$9, "fg", _v$10, _p$.a));
182506
+ _v$11 !== _p$.o && (_p$.o = _$setProp3(_el$9, "textAlign", _v$11, _p$.o));
182428
182507
  return _p$;
182429
182508
  }, {
182430
182509
  e: undefined,
182431
182510
  t: undefined,
182432
- a: undefined
182511
+ a: undefined,
182512
+ o: undefined
182433
182513
  });
182434
182514
  return _el$6;
182435
182515
  })();
@@ -182454,6 +182534,7 @@ function Sprite(properties) {
182454
182534
  const resolved = sprite();
182455
182535
  return resolved?.kind === "cached" ? resolved.source : null;
182456
182536
  };
182537
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
182457
182538
  return _$createComponent4(Show2, {
182458
182539
  get when() {
182459
182540
  return source();
@@ -182470,6 +182551,7 @@ function Sprite(properties) {
182470
182551
  var _c$ = _$memo3(() => properties.compactFallback === true);
182471
182552
  return () => _c$() ? sprite() === null ? "\u2026" : "?" : _$memo3(() => sprite() === null)() ? uiCopy(properties.language?.() ?? "en").loadingSprite : uiCopy(properties.language?.() ?? "en").spriteUnavailable;
182472
182553
  })());
182554
+ _$effect4((_$p) => _$setProp4(_el$2, "fg", surface().muted, _$p));
182473
182555
  return _el$;
182474
182556
  })();
182475
182557
  },
@@ -182496,6 +182578,7 @@ function Sprite(properties) {
182496
182578
  var stats = ["hp", "attack", "defense", "specialAttack", "specialDefense", "speed"];
182497
182579
  function PcDetails(properties) {
182498
182580
  const copy = () => pcCopy(properties.language);
182581
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
182499
182582
  const values = () => pokemonStats(properties.pokemon);
182500
182583
  const nature = () => pokemonNatureModifiers(properties.pokemon.nature);
182501
182584
  const gender = () => properties.pokemon.gender;
@@ -182523,6 +182606,7 @@ function PcDetails(properties) {
182523
182606
  get protocol() {
182524
182607
  return properties.imageProtocol;
182525
182608
  },
182609
+ theme: surface,
182526
182610
  get shiny() {
182527
182611
  return properties.pokemon.shiny;
182528
182612
  },
@@ -182551,7 +182635,7 @@ function PcDetails(properties) {
182551
182635
  return (() => {
182552
182636
  var _el$1 = _$createElement5("text");
182553
182637
  _$insert5(_el$1, () => statLine([name(), String(values()[stat]), String(properties.pokemon.evs[stat]), String(properties.pokemon.ivs[stat])], stat === nature().increased ? "\u2191" : stat === nature().decreased ? "\u2193" : " "));
182554
- _$effect5((_$p) => _$setProp5(_el$1, "fg", stat === nature().increased ? "#ef4444" : stat === nature().decreased ? "#3b82f6" : properties.textColor, _$p));
182638
+ _$effect5((_$p) => _$setProp5(_el$1, "fg", stat === nature().increased ? surface().error : stat === nature().decreased ? surface().info : surface().text, _$p));
182555
182639
  return _el$1;
182556
182640
  })();
182557
182641
  }
@@ -182567,6 +182651,7 @@ function PcDetails(properties) {
182567
182651
  return () => _c$() ? (() => {
182568
182652
  var _el$10 = _$createElement5("text");
182569
182653
  _$insertNode5(_el$10, _$createTextNode2(`\u2014`));
182654
+ _$effect5((_$p) => _$setProp5(_el$10, "fg", surface().muted, _$p));
182570
182655
  return _el$10;
182571
182656
  })() : _$createComponent5(MoveList, {
182572
182657
  get moves() {
@@ -182574,9 +182659,25 @@ function PcDetails(properties) {
182574
182659
  },
182575
182660
  get language() {
182576
182661
  return properties.language;
182577
- }
182662
+ },
182663
+ theme: surface
182578
182664
  });
182579
182665
  })(), null);
182666
+ _$effect5((_p$) => {
182667
+ var _v$ = surface().text, _v$2 = surface().text, _v$3 = surface().text, _v$4 = surface().muted, _v$5 = surface().muted;
182668
+ _v$ !== _p$.e && (_p$.e = _$setProp5(_el$3, "fg", _v$, _p$.e));
182669
+ _v$2 !== _p$.t && (_p$.t = _$setProp5(_el$5, "fg", _v$2, _p$.t));
182670
+ _v$3 !== _p$.a && (_p$.a = _$setProp5(_el$6, "fg", _v$3, _p$.a));
182671
+ _v$4 !== _p$.o && (_p$.o = _$setProp5(_el$8, "fg", _v$4, _p$.o));
182672
+ _v$5 !== _p$.i && (_p$.i = _$setProp5(_el$0, "fg", _v$5, _p$.i));
182673
+ return _p$;
182674
+ }, {
182675
+ e: undefined,
182676
+ t: undefined,
182677
+ a: undefined,
182678
+ o: undefined,
182679
+ i: undefined
182680
+ });
182580
182681
  return _el$;
182581
182682
  })();
182582
182683
  }
@@ -182596,8 +182697,7 @@ function PokemonPcDialog(properties) {
182596
182697
  const [name, setName] = createSignal4("");
182597
182698
  const isOwned = createOwnerGuard();
182598
182699
  const copy = () => pcCopy(properties.language);
182599
- const textColor = () => typeof properties.textColor === "function" ? properties.textColor() : properties.textColor;
182600
- const mutedColor = () => typeof properties.mutedColor === "function" ? properties.mutedColor() : properties.mutedColor;
182700
+ const surface = () => properties.theme?.().dialog ?? fallbackPokecodeTheme.dialog;
182601
182701
  const inspected = () => properties.pokemon[index()];
182602
182702
  let list;
182603
182703
  let details;
@@ -182809,7 +182909,7 @@ function PokemonPcDialog(properties) {
182809
182909
  });
182810
182910
  _$insert6(_el$21, () => `${pokemon.name} Lv.${pokemon.level}`);
182811
182911
  _$effect6((_p$) => {
182812
- var _v$7 = selected().includes(pokemon.id) ? "#22c55e" : mutedColor(), _v$8 = index() === row() ? "#2563eb" : undefined, _v$9 = index() === row() ? "#ffffff" : textColor();
182912
+ var _v$7 = selected().includes(pokemon.id) ? surface().success : surface().muted, _v$8 = index() === row() ? surface().highlight : undefined, _v$9 = surface().text;
182813
182913
  _v$7 !== _p$.e && (_p$.e = _$setProp6(_el$19, "fg", _v$7, _p$.e));
182814
182914
  _v$8 !== _p$.t && (_p$.t = _$setProp6(_el$20, "backgroundColor", _v$8, _p$.t));
182815
182915
  _v$9 !== _p$.a && (_p$.a = _$setProp6(_el$21, "fg", _v$9, _p$.a));
@@ -182829,6 +182929,7 @@ function PokemonPcDialog(properties) {
182829
182929
  get children() {
182830
182930
  var _el$6 = _$createElement6("text");
182831
182931
  _$insert6(_el$6, () => copy().empty);
182932
+ _$effect6((_$p) => _$setProp6(_el$6, "fg", surface().muted, _$p));
182832
182933
  return _el$6;
182833
182934
  }
182834
182935
  }), null);
@@ -182859,9 +182960,7 @@ function PokemonPcDialog(properties) {
182859
182960
  get language() {
182860
182961
  return properties.language;
182861
182962
  },
182862
- get textColor() {
182863
- return textColor();
182864
- },
182963
+ theme: surface,
182865
182964
  get resolveSprite() {
182866
182965
  return properties.resolveSprite;
182867
182966
  },
@@ -182879,7 +182978,7 @@ function PokemonPcDialog(properties) {
182879
182978
  var _el$8 = _$createElement6("text");
182880
182979
  _$setProp6(_el$8, "flexShrink", 0);
182881
182980
  _$insert6(_el$8, () => copy().renamePrompt);
182882
- _$effect6((_$p) => _$setProp6(_el$8, "fg", textColor(), _$p));
182981
+ _$effect6((_$p) => _$setProp6(_el$8, "fg", surface().text, _$p));
182883
182982
  return _el$8;
182884
182983
  })(), (() => {
182885
182984
  var _el$9 = _$createElement6("input");
@@ -182908,7 +183007,7 @@ function PokemonPcDialog(properties) {
182908
183007
  var _el$0 = _$createElement6("text");
182909
183008
  _$setProp6(_el$0, "flexShrink", 0);
182910
183009
  _$insert6(_el$0, () => `${inspected()?.name ?? ""}: ${copy().releasePrompt}`);
182911
- _$effect6((_$p) => _$setProp6(_el$0, "fg", textColor(), _$p));
183010
+ _$effect6((_$p) => _$setProp6(_el$0, "fg", surface().text, _$p));
182912
183011
  return _el$0;
182913
183012
  }
182914
183013
  }), null);
@@ -182920,7 +183019,7 @@ function PokemonPcDialog(properties) {
182920
183019
  var _el$1 = _$createElement6("text");
182921
183020
  _$setProp6(_el$1, "flexShrink", 0);
182922
183021
  _$insert6(_el$1, feedback);
182923
- _$effect6((_$p) => _$setProp6(_el$1, "fg", mutedColor(), _$p));
183022
+ _$effect6((_$p) => _$setProp6(_el$1, "fg", surface().muted, _$p));
182924
183023
  return _el$1;
182925
183024
  }
182926
183025
  }), null);
@@ -182933,7 +183032,7 @@ function PokemonPcDialog(properties) {
182933
183032
  var _el$22 = _$createElement6("text");
182934
183033
  _$setProp6(_el$22, "flexShrink", 0);
182935
183034
  _$insert6(_el$22, () => copy().editActions);
182936
- _$effect6((_$p) => _$setProp6(_el$22, "fg", mutedColor(), _$p));
183035
+ _$effect6((_$p) => _$setProp6(_el$22, "fg", surface().muted, _$p));
182937
183036
  return _el$22;
182938
183037
  })();
182939
183038
  },
@@ -182960,7 +183059,7 @@ function PokemonPcDialog(properties) {
182960
183059
  });
182961
183060
  _$insert6(_el$14, () => `F: ${copy().release}`);
182962
183061
  _$effect6((_p$) => {
182963
- var _v$3 = mutedColor(), _v$4 = mutedColor();
183062
+ var _v$3 = surface().muted, _v$4 = surface().muted;
182964
183063
  _v$3 !== _p$.e && (_p$.e = _$setProp6(_el$12, "fg", _v$3, _p$.e));
182965
183064
  _v$4 !== _p$.t && (_p$.t = _$setProp6(_el$14, "fg", _v$4, _p$.t));
182966
183065
  return _p$;
@@ -182973,19 +183072,19 @@ function PokemonPcDialog(properties) {
182973
183072
  var _el$15 = _$createElement6("text");
182974
183073
  _$setProp6(_el$15, "flexShrink", 0);
182975
183074
  _$insert6(_el$15, () => copy().navigation);
182976
- _$effect6((_$p) => _$setProp6(_el$15, "fg", mutedColor(), _$p));
183075
+ _$effect6((_$p) => _$setProp6(_el$15, "fg", surface().muted, _$p));
182977
183076
  return _el$15;
182978
183077
  })(), (() => {
182979
183078
  var _el$16 = _$createElement6("text");
182980
183079
  _$setProp6(_el$16, "flexShrink", 0);
182981
183080
  _$insert6(_el$16, () => copy().actions);
182982
- _$effect6((_$p) => _$setProp6(_el$16, "fg", mutedColor(), _$p));
183081
+ _$effect6((_$p) => _$setProp6(_el$16, "fg", surface().muted, _$p));
182983
183082
  return _el$16;
182984
183083
  })()];
182985
183084
  }
182986
183085
  }), null);
182987
183086
  _$effect6((_p$) => {
182988
- var _v$5 = height(), _v$6 = textColor();
183087
+ var _v$5 = height(), _v$6 = surface().text;
182989
183088
  _v$5 !== _p$.e && (_p$.e = _$setProp6(_el$, "height", _v$5, _p$.e));
182990
183089
  _v$6 !== _p$.t && (_p$.t = _$setProp6(_el$2, "fg", _v$6, _p$.t));
182991
183090
  return _p$;
@@ -183039,11 +183138,8 @@ function createPcAction(dependencies) {
183039
183138
  get language() {
183040
183139
  return dependencies.state.state().locale;
183041
183140
  },
183042
- get textColor() {
183043
- return dependencies.theme.base;
183044
- },
183045
- get mutedColor() {
183046
- return dependencies.theme.muted;
183141
+ get theme() {
183142
+ return dependencies.theme;
183047
183143
  },
183048
183144
  get resolveSprite() {
183049
183145
  return dependencies.resolveSprite;
@@ -183368,11 +183464,11 @@ function ExportCommand(properties) {
183368
183464
  }
183369
183465
 
183370
183466
  // src/adapters/opencode/tui/sidebar/view.tsx
183371
- import { effect as _$effect9 } from "@opentui/solid";
183372
183467
  import { mergeProps as _$mergeProps } from "@opentui/solid";
183373
183468
  import { insertNode as _$insertNode9 } from "@opentui/solid";
183374
183469
  import { memo as _$memo6 } from "@opentui/solid";
183375
183470
  import { createComponent as _$createComponent10 } from "@opentui/solid";
183471
+ import { effect as _$effect9 } from "@opentui/solid";
183376
183472
  import { insert as _$insert9 } from "@opentui/solid";
183377
183473
  import { setProp as _$setProp9 } from "@opentui/solid";
183378
183474
  import { createElement as _$createElement9 } from "@opentui/solid";
@@ -183468,6 +183564,9 @@ function PendingChoiceCard(properties) {
183468
183564
  },
183469
183565
  get language() {
183470
183566
  return properties.language;
183567
+ },
183568
+ get theme() {
183569
+ return properties.theme;
183471
183570
  }
183472
183571
  });
183473
183572
  }
@@ -183491,6 +183590,9 @@ function PendingChoiceCard(properties) {
183491
183590
  },
183492
183591
  get onResolve() {
183493
183592
  return properties.onResolveEvolution;
183593
+ },
183594
+ get theme() {
183595
+ return properties.theme;
183494
183596
  }
183495
183597
  });
183496
183598
  }
@@ -183511,6 +183613,7 @@ function MoveChoiceCard(properties) {
183511
183613
  return null;
183512
183614
  const dimensions = useTerminalDimensions3();
183513
183615
  const language = () => properties.language?.() ?? "en";
183616
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
183514
183617
  const moves = [...pokemon.moves, payload.move];
183515
183618
  const copy = () => uiCopy(language());
183516
183619
  return (() => {
@@ -183539,6 +183642,7 @@ function MoveChoiceCard(properties) {
183539
183642
  get protocol() {
183540
183643
  return properties.imageProtocol;
183541
183644
  },
183645
+ theme: surface,
183542
183646
  get shiny() {
183543
183647
  return pokemon.shiny;
183544
183648
  },
@@ -183566,8 +183670,20 @@ function MoveChoiceCard(properties) {
183566
183670
  get height() {
183567
183671
  return Math.min(28, Math.max(6, dimensions().height - 19));
183568
183672
  },
183569
- onActivate: (moveId) => properties.onResolve(choice.id, moveId)
183673
+ onActivate: (moveId) => properties.onResolve(choice.id, moveId),
183674
+ get theme() {
183675
+ return properties.theme;
183676
+ }
183570
183677
  }), null);
183678
+ _$effect7((_p$) => {
183679
+ var _v$ = surface().text, _v$2 = surface().muted;
183680
+ _v$ !== _p$.e && (_p$.e = _$setProp7(_el$2, "fg", _v$, _p$.e));
183681
+ _v$2 !== _p$.t && (_p$.t = _$setProp7(_el$3, "fg", _v$2, _p$.t));
183682
+ return _p$;
183683
+ }, {
183684
+ e: undefined,
183685
+ t: undefined
183686
+ });
183571
183687
  return _el$;
183572
183688
  })();
183573
183689
  }
@@ -183581,6 +183697,7 @@ function EvolutionChoiceCard(properties) {
183581
183697
  const pokemon = properties.party().find((slot) => slot.pokemon?.id === payload.pokemonId)?.pokemon ?? properties.choicePokemon().find((instance) => instance.id === payload.pokemonId);
183582
183698
  if (pokemon === undefined || pokemon === null)
183583
183699
  return null;
183700
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
183584
183701
  const [hoveredOption, setHoveredOption] = createSignal7(null);
183585
183702
  return (() => {
183586
183703
  var _el$4 = _$createElement7("box"), _el$5 = _$createElement7("text"), _el$6 = _$createElement7("text"), _el$7 = _$createElement7("box");
@@ -183604,6 +183721,7 @@ function EvolutionChoiceCard(properties) {
183604
183721
  get protocol() {
183605
183722
  return properties.imageProtocol;
183606
183723
  },
183724
+ theme: surface,
183607
183725
  get shiny() {
183608
183726
  return pokemon.shiny;
183609
183727
  },
@@ -183635,12 +183753,23 @@ function EvolutionChoiceCard(properties) {
183635
183753
  },
183636
183754
  get language() {
183637
183755
  return properties.language;
183638
- }
183756
+ },
183757
+ theme: surface
183639
183758
  })));
183759
+ _$effect7((_p$) => {
183760
+ var _v$3 = surface().text, _v$4 = surface().muted;
183761
+ _v$3 !== _p$.e && (_p$.e = _$setProp7(_el$5, "fg", _v$3, _p$.e));
183762
+ _v$4 !== _p$.t && (_p$.t = _$setProp7(_el$6, "fg", _v$4, _p$.t));
183763
+ return _p$;
183764
+ }, {
183765
+ e: undefined,
183766
+ t: undefined
183767
+ });
183640
183768
  return _el$4;
183641
183769
  })();
183642
183770
  }
183643
183771
  function EvolutionOptionCard(properties) {
183772
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
183644
183773
  return (() => {
183645
183774
  var _el$8 = _$createElement7("button"), _el$9 = _$createElement7("box"), _el$0 = _$createElement7("box"), _el$1 = _$createElement7("text");
183646
183775
  _$insertNode7(_el$8, _el$9);
@@ -183676,6 +183805,7 @@ function EvolutionOptionCard(properties) {
183676
183805
  get protocol() {
183677
183806
  return properties.imageProtocol;
183678
183807
  },
183808
+ theme: surface,
183679
183809
  get shiny() {
183680
183810
  return properties.pokemon.shiny;
183681
183811
  },
@@ -183692,19 +183822,21 @@ function EvolutionOptionCard(properties) {
183692
183822
  _$setProp7(_el$0, "width", "100%");
183693
183823
  _$insert7(_el$1, () => properties.option.name);
183694
183824
  _$effect7((_p$) => {
183695
- var _v$ = properties.hovered() ? "#404040" : undefined, _v$2 = properties.onHover, _v$3 = properties.onLeave, _v$4 = properties.onHover, _v$5 = properties.onLeave;
183696
- _v$ !== _p$.e && (_p$.e = _$setProp7(_el$8, "backgroundColor", _v$, _p$.e));
183697
- _v$2 !== _p$.t && (_p$.t = _$setProp7(_el$8, "onMouseOver", _v$2, _p$.t));
183698
- _v$3 !== _p$.a && (_p$.a = _$setProp7(_el$8, "onMouseOut", _v$3, _p$.a));
183699
- _v$4 !== _p$.o && (_p$.o = _$setProp7(_el$8, "onFocus", _v$4, _p$.o));
183700
- _v$5 !== _p$.i && (_p$.i = _$setProp7(_el$8, "onBlur", _v$5, _p$.i));
183825
+ var _v$5 = properties.hovered() ? surface().highlight : undefined, _v$6 = properties.onHover, _v$7 = properties.onLeave, _v$8 = properties.onHover, _v$9 = properties.onLeave, _v$0 = surface().text;
183826
+ _v$5 !== _p$.e && (_p$.e = _$setProp7(_el$8, "backgroundColor", _v$5, _p$.e));
183827
+ _v$6 !== _p$.t && (_p$.t = _$setProp7(_el$8, "onMouseOver", _v$6, _p$.t));
183828
+ _v$7 !== _p$.a && (_p$.a = _$setProp7(_el$8, "onMouseOut", _v$7, _p$.a));
183829
+ _v$8 !== _p$.o && (_p$.o = _$setProp7(_el$8, "onFocus", _v$8, _p$.o));
183830
+ _v$9 !== _p$.i && (_p$.i = _$setProp7(_el$8, "onBlur", _v$9, _p$.i));
183831
+ _v$0 !== _p$.n && (_p$.n = _$setProp7(_el$1, "fg", _v$0, _p$.n));
183701
183832
  return _p$;
183702
183833
  }, {
183703
183834
  e: undefined,
183704
183835
  t: undefined,
183705
183836
  a: undefined,
183706
183837
  o: undefined,
183707
- i: undefined
183838
+ i: undefined,
183839
+ n: undefined
183708
183840
  });
183709
183841
  return _el$8;
183710
183842
  })();
@@ -183716,6 +183848,7 @@ function RegionChoiceCard(properties) {
183716
183848
  const payload = decodeRegionChoiceProjection(choice.payload);
183717
183849
  if (payload === null)
183718
183850
  return null;
183851
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
183719
183852
  const [hoveredRegion, setHoveredRegion] = createSignal7(null);
183720
183853
  const availableRegions = () => regions(properties.language?.() ?? "en");
183721
183854
  const completedRegionName = () => availableRegions().find((region) => region.id === payload.region)?.name ?? payload.region;
@@ -183762,9 +183895,26 @@ function RegionChoiceCard(properties) {
183762
183895
  }
183763
183896
  });
183764
183897
  _$insert7(_el$15, () => region.name);
183765
- _$effect7((_$p) => _$setProp7(_el$14, "backgroundColor", hoveredRegion() === region.id ? "#404040" : undefined, _$p));
183898
+ _$effect7((_p$) => {
183899
+ var _v$11 = hoveredRegion() === region.id ? surface().highlight : undefined, _v$12 = surface().text;
183900
+ _v$11 !== _p$.e && (_p$.e = _$setProp7(_el$14, "backgroundColor", _v$11, _p$.e));
183901
+ _v$12 !== _p$.t && (_p$.t = _$setProp7(_el$15, "fg", _v$12, _p$.t));
183902
+ return _p$;
183903
+ }, {
183904
+ e: undefined,
183905
+ t: undefined
183906
+ });
183766
183907
  return _el$14;
183767
183908
  })()));
183909
+ _$effect7((_p$) => {
183910
+ var _v$1 = surface().text, _v$10 = surface().muted;
183911
+ _v$1 !== _p$.e && (_p$.e = _$setProp7(_el$11, "fg", _v$1, _p$.e));
183912
+ _v$10 !== _p$.t && (_p$.t = _$setProp7(_el$12, "fg", _v$10, _p$.t));
183913
+ return _p$;
183914
+ }, {
183915
+ e: undefined,
183916
+ t: undefined
183917
+ });
183768
183918
  return _el$10;
183769
183919
  })();
183770
183920
  }
@@ -183781,6 +183931,7 @@ function EncounterCard(properties) {
183781
183931
  const encounter = properties.encounter();
183782
183932
  if (encounter === null)
183783
183933
  return null;
183934
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
183784
183935
  const genderSymbol = encounter.gender === "male" ? "\u2642" : encounter.gender === "female" ? "\u2640" : "\u2014";
183785
183936
  const copy = uiCopy(properties.language?.() ?? "en");
183786
183937
  return (() => {
@@ -183814,6 +183965,7 @@ function EncounterCard(properties) {
183814
183965
  get protocol() {
183815
183966
  return properties.imageProtocol;
183816
183967
  },
183968
+ theme: surface,
183817
183969
  get shiny() {
183818
183970
  return encounter.shiny;
183819
183971
  },
@@ -183835,6 +183987,7 @@ function EncounterCard(properties) {
183835
183987
  onActivate: () => properties.onResolve(encounter.id, encounter, true),
183836
183988
  onHover: () => properties.onHover("catch"),
183837
183989
  onLeave: () => properties.onHover(null),
183990
+ theme: surface,
183838
183991
  tone: "primary"
183839
183992
  }), null);
183840
183993
  _$insert8(_el$6, _$createComponent9(PokecodeActionButton, {
@@ -183845,9 +183998,18 @@ function EncounterCard(properties) {
183845
183998
  onActivate: () => properties.onResolve(encounter.id, encounter, false),
183846
183999
  onHover: () => properties.onHover("run"),
183847
184000
  onLeave: () => properties.onHover(null),
184001
+ theme: surface,
183848
184002
  tone: "secondary"
183849
184003
  }), null);
183850
- _$effect8((_$p) => _$setProp8(_el$3, "fg", properties.encounter()?.caught ? "#22c55e" : properties.mutedColor(), _$p));
184004
+ _$effect8((_p$) => {
184005
+ var _v$ = properties.encounter()?.caught ? surface().success : surface().muted, _v$2 = surface().text;
184006
+ _v$ !== _p$.e && (_p$.e = _$setProp8(_el$3, "fg", _v$, _p$.e));
184007
+ _v$2 !== _p$.t && (_p$.t = _$setProp8(_el$5, "fg", _v$2, _p$.t));
184008
+ return _p$;
184009
+ }, {
184010
+ e: undefined,
184011
+ t: undefined
184012
+ });
183851
184013
  return _el$;
183852
184014
  })();
183853
184015
  }
@@ -183870,6 +184032,7 @@ function sidebarViewFor(state) {
183870
184032
  return "team";
183871
184033
  }
183872
184034
  function SidebarView(properties) {
184035
+ const surface = () => properties.theme().current;
183873
184036
  const view = () => sidebarViewFor(properties.state());
183874
184037
  const decisionCount = () => properties.state().pendingChoices.filter((choice) => choice.kind !== "catch").length;
183875
184038
  const encounterCount = () => properties.state().pendingEncounterCount;
@@ -183884,6 +184047,7 @@ function SidebarView(properties) {
183884
184047
  get children() {
183885
184048
  var _el$2 = _$createElement9("text");
183886
184049
  _$insert9(_el$2, () => uiCopy(properties.state().locale).queueCounts(decisionCount(), encounterCount()));
184050
+ _$effect9((_$p) => _$setProp9(_el$2, "fg", surface().text, _$p));
183887
184051
  return _el$2;
183888
184052
  }
183889
184053
  }), null);
@@ -183898,9 +184062,6 @@ function SidebarView(properties) {
183898
184062
  get hovered() {
183899
184063
  return properties.hoveredStarter;
183900
184064
  },
183901
- get hoverBackground() {
183902
- return properties.starterHoverBackground;
183903
- },
183904
184065
  language: () => properties.state().locale,
183905
184066
  regionId: () => {
183906
184067
  const choice = properties.state().pendingChoices[0];
@@ -183917,7 +184078,8 @@ function SidebarView(properties) {
183917
184078
  },
183918
184079
  get imageProtocol() {
183919
184080
  return properties.imageProtocol;
183920
- }
184081
+ },
184082
+ theme: surface
183921
184083
  });
183922
184084
  }
183923
184085
  }), _$createComponent10(Match2, {
@@ -183941,7 +184103,8 @@ function SidebarView(properties) {
183941
184103
  get imageProtocol() {
183942
184104
  return properties.imageProtocol;
183943
184105
  },
183944
- language: () => properties.state().locale
184106
+ language: () => properties.state().locale,
184107
+ theme: surface
183945
184108
  });
183946
184109
  }
183947
184110
  }), _$createComponent10(Match2, {
@@ -183955,7 +184118,8 @@ function SidebarView(properties) {
183955
184118
  visitedRegionIds: () => properties.state().exploration?.regions.filter((region) => region.visited).map((region) => region.id) ?? [],
183956
184119
  get onTravel() {
183957
184120
  return properties.onTravelRegion;
183958
- }
184121
+ },
184122
+ theme: surface
183959
184123
  });
183960
184124
  }
183961
184125
  }), _$createComponent10(Match2, {
@@ -183970,9 +184134,6 @@ function SidebarView(properties) {
183970
184134
  keyed: true,
183971
184135
  children: (encounter) => _$createComponent10(EncounterCard, {
183972
184136
  encounter: () => encounter,
183973
- get mutedColor() {
183974
- return properties.mutedColor;
183975
- },
183976
184137
  get hoveredAction() {
183977
184138
  return properties.hoveredEncounterAction;
183978
184139
  },
@@ -183988,7 +184149,8 @@ function SidebarView(properties) {
183988
184149
  get imageProtocol() {
183989
184150
  return properties.imageProtocol;
183990
184151
  },
183991
- language: () => properties.state().locale
184152
+ language: () => properties.state().locale,
184153
+ theme: surface
183992
184154
  })
183993
184155
  });
183994
184156
  }
@@ -184003,7 +184165,8 @@ function SidebarView(properties) {
184003
184165
  },
184004
184166
  get onTravel() {
184005
184167
  return properties.onTravelLocation;
184006
- }
184168
+ },
184169
+ theme: surface
184007
184170
  }), _$createComponent10(PartyGrid, {
184008
184171
  language: () => properties.state().locale,
184009
184172
  party: () => properties.state().party,
@@ -184012,7 +184175,8 @@ function SidebarView(properties) {
184012
184175
  },
184013
184176
  get imageProtocol() {
184014
184177
  return properties.imageProtocol;
184015
- }
184178
+ },
184179
+ theme: surface
184016
184180
  })];
184017
184181
  }
184018
184182
  })];
@@ -184022,6 +184186,7 @@ function SidebarView(properties) {
184022
184186
  })();
184023
184187
  }
184024
184188
  function StarterButtons(properties) {
184189
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
184025
184190
  return (() => {
184026
184191
  var _el$3 = _$createElement9("box"), _el$4 = _$createElement9("text");
184027
184192
  _$insertNode9(_el$3, _el$4);
@@ -184031,6 +184196,7 @@ function StarterButtons(properties) {
184031
184196
  _$insert9(_el$3, () => regions(properties.language?.() ?? "en").filter((region) => properties.regionId?.() === undefined || region.id === properties.regionId()).map((region) => _$createComponent10(StarterRegionCard, _$mergeProps(properties, {
184032
184197
  region
184033
184198
  }))), null);
184199
+ _$effect9((_$p) => _$setProp9(_el$4, "fg", surface().accent, _$p));
184034
184200
  return _el$3;
184035
184201
  })();
184036
184202
  }
@@ -184042,7 +184208,8 @@ function StarterRegionCard(properties) {
184042
184208
  };
184043
184209
  const columnGap = () => Math.min(3, Math.max(1, Math.floor((rowWidth() - cellWidth() * 3) / 2)));
184044
184210
  const gridInset = () => Math.max(0, Math.floor((rowWidth() - (cellWidth() * 3 + columnGap() * 2)) / 2));
184045
- const hoverBackground = () => typeof properties.hoverBackground === "function" ? properties.hoverBackground() : properties.hoverBackground;
184211
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
184212
+ const hoverBackground = () => surface().highlight;
184046
184213
  const starters = () => startersForRegion(properties.region.id, properties.language?.() ?? "en");
184047
184214
  return (() => {
184048
184215
  var _el$5 = _$createElement9("box"), _el$6 = _$createElement9("text"), _el$7 = _$createElement9("box"), _el$8 = _$createElement9("box");
@@ -184109,6 +184276,7 @@ function StarterRegionCard(properties) {
184109
184276
  get protocol() {
184110
184277
  return properties.imageProtocol;
184111
184278
  },
184279
+ theme: surface,
184112
184280
  shiny: false,
184113
184281
  gender: "male",
184114
184282
  get speciesId() {
@@ -184116,11 +184284,11 @@ function StarterRegionCard(properties) {
184116
184284
  }
184117
184285
  }));
184118
184286
  _$effect9((_p$) => {
184119
- var _v$3 = properties.hovered() === starter.speciesId ? hoverBackground() : undefined, _v$4 = cellWidth(), _v$5 = cellWidth() + 2, _v$6 = properties.hovered() === starter.speciesId ? hoverBackground() : "transparent";
184120
- _v$3 !== _p$.e && (_p$.e = _$setProp9(_el$9, "backgroundColor", _v$3, _p$.e));
184121
- _v$4 !== _p$.t && (_p$.t = _$setProp9(_el$9, "width", _v$4, _p$.t));
184122
- _v$5 !== _p$.a && (_p$.a = _$setProp9(_el$0, "width", _v$5, _p$.a));
184123
- _v$6 !== _p$.o && (_p$.o = _$setProp9(_el$0, "backgroundColor", _v$6, _p$.o));
184287
+ var _v$4 = properties.hovered() === starter.speciesId ? hoverBackground() : undefined, _v$5 = cellWidth(), _v$6 = cellWidth() + 2, _v$7 = properties.hovered() === starter.speciesId ? hoverBackground() : "transparent";
184288
+ _v$4 !== _p$.e && (_p$.e = _$setProp9(_el$9, "backgroundColor", _v$4, _p$.e));
184289
+ _v$5 !== _p$.t && (_p$.t = _$setProp9(_el$9, "width", _v$5, _p$.t));
184290
+ _v$6 !== _p$.a && (_p$.a = _$setProp9(_el$0, "width", _v$6, _p$.a));
184291
+ _v$7 !== _p$.o && (_p$.o = _$setProp9(_el$0, "backgroundColor", _v$7, _p$.o));
184124
184292
  return _p$;
184125
184293
  }, {
184126
184294
  e: undefined,
@@ -184131,19 +184299,22 @@ function StarterRegionCard(properties) {
184131
184299
  return _el$9;
184132
184300
  })()));
184133
184301
  _$effect9((_p$) => {
184134
- var _v$ = columnGap(), _v$2 = gridInset();
184135
- _v$ !== _p$.e && (_p$.e = _$setProp9(_el$8, "gap", _v$, _p$.e));
184136
- _v$2 !== _p$.t && (_p$.t = _$setProp9(_el$8, "marginLeft", _v$2, _p$.t));
184302
+ var _v$ = surface().accent, _v$2 = columnGap(), _v$3 = gridInset();
184303
+ _v$ !== _p$.e && (_p$.e = _$setProp9(_el$6, "fg", _v$, _p$.e));
184304
+ _v$2 !== _p$.t && (_p$.t = _$setProp9(_el$8, "gap", _v$2, _p$.t));
184305
+ _v$3 !== _p$.a && (_p$.a = _$setProp9(_el$8, "marginLeft", _v$3, _p$.a));
184137
184306
  return _p$;
184138
184307
  }, {
184139
184308
  e: undefined,
184140
- t: undefined
184309
+ t: undefined,
184310
+ a: undefined
184141
184311
  });
184142
184312
  return _el$5;
184143
184313
  })();
184144
184314
  }
184145
184315
  function LocationProgress(properties) {
184146
184316
  const state = properties.state;
184317
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
184147
184318
  const [hoveredTravel, setHoveredTravel] = createSignal8(false);
184148
184319
  const currentLocation = () => state().exploration?.locations.find((location) => location.id === state().location)?.name ?? uiCopy(state().locale).unknown;
184149
184320
  const currentRegion = () => regions(state().locale).find((region) => region.id === state().region)?.name ?? uiCopy(state().locale).unknown;
@@ -184179,6 +184350,7 @@ function LocationProgress(properties) {
184179
184350
  return () => _c$() ? (() => {
184180
184351
  var _el$14 = _$createElement9("text");
184181
184352
  _$insert9(_el$14, () => `${percentage().toFixed(2)}%`);
184353
+ _$effect9((_$p) => _$setProp9(_el$14, "fg", surface().muted, _$p));
184182
184354
  return _el$14;
184183
184355
  })() : _$createComponent10(PokecodeActionButton, {
184184
184356
  hovered: hoveredTravel,
@@ -184188,9 +184360,21 @@ function LocationProgress(properties) {
184188
184360
  onActivate: travelToUnlockedLocation,
184189
184361
  onHover: () => setHoveredTravel(true),
184190
184362
  onLeave: () => setHoveredTravel(false),
184363
+ get theme() {
184364
+ return properties.theme;
184365
+ },
184191
184366
  tone: "success"
184192
184367
  });
184193
184368
  })(), null);
184369
+ _$effect9((_p$) => {
184370
+ var _v$8 = surface().text, _v$9 = surface().muted;
184371
+ _v$8 !== _p$.e && (_p$.e = _$setProp9(_el$11, "fg", _v$8, _p$.e));
184372
+ _v$9 !== _p$.t && (_p$.t = _$setProp9(_el$13, "fg", _v$9, _p$.t));
184373
+ return _p$;
184374
+ }, {
184375
+ e: undefined,
184376
+ t: undefined
184377
+ });
184194
184378
  return _el$10;
184195
184379
  })();
184196
184380
  }
@@ -184210,6 +184394,9 @@ function PartyGrid(properties) {
184210
184394
  get imageProtocol() {
184211
184395
  return properties.imageProtocol;
184212
184396
  },
184397
+ get theme() {
184398
+ return properties.theme;
184399
+ },
184213
184400
  slots: () => occupiedSlots().slice(0, 2)
184214
184401
  }), null);
184215
184402
  _$insert9(_el$15, _$createComponent10(PartyRow, {
@@ -184222,6 +184409,9 @@ function PartyGrid(properties) {
184222
184409
  get imageProtocol() {
184223
184410
  return properties.imageProtocol;
184224
184411
  },
184412
+ get theme() {
184413
+ return properties.theme;
184414
+ },
184225
184415
  slots: () => occupiedSlots().slice(2, 4)
184226
184416
  }), null);
184227
184417
  _$insert9(_el$15, _$createComponent10(PartyRow, {
@@ -184234,12 +184424,16 @@ function PartyGrid(properties) {
184234
184424
  get imageProtocol() {
184235
184425
  return properties.imageProtocol;
184236
184426
  },
184427
+ get theme() {
184428
+ return properties.theme;
184429
+ },
184237
184430
  slots: () => occupiedSlots().slice(4, 6)
184238
184431
  }), null);
184239
184432
  return _el$15;
184240
184433
  })();
184241
184434
  }
184242
184435
  function PartyRow(properties) {
184436
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
184243
184437
  return (() => {
184244
184438
  var _el$16 = _$createElement9("box");
184245
184439
  _$setProp9(_el$16, "flexDirection", "row");
@@ -184262,6 +184456,7 @@ function PartyRow(properties) {
184262
184456
  get protocol() {
184263
184457
  return properties.imageProtocol;
184264
184458
  },
184459
+ theme: surface,
184265
184460
  get shiny() {
184266
184461
  return slot.pokemon.shiny;
184267
184462
  },
@@ -184274,10 +184469,12 @@ function PartyRow(properties) {
184274
184469
  }), (() => {
184275
184470
  var _el$18 = _$createElement9("text");
184276
184471
  _$insert9(_el$18, () => `${slot.pokemon.name} ${slot.pokemon.gender === "male" ? "\u2642" : slot.pokemon.gender === "female" ? "\u2640" : "\u2014"}`);
184472
+ _$effect9((_$p) => _$setProp9(_el$18, "fg", surface().text, _$p));
184277
184473
  return _el$18;
184278
184474
  })(), (() => {
184279
184475
  var _el$19 = _$createElement9("text");
184280
184476
  _$insert9(_el$19, () => `Lv.${slot.pokemon.level}`);
184477
+ _$effect9((_$p) => _$setProp9(_el$19, "fg", surface().muted, _$p));
184281
184478
  return _el$19;
184282
184479
  })()];
184283
184480
  })());
@@ -184298,9 +184495,7 @@ function registerPokemonSidebar(dependencies) {
184298
184495
  _$setProp10(_el$, "paddingTop", 1);
184299
184496
  _$setProp10(_el$, "gap", 1);
184300
184497
  _$insert10(_el$, _$createComponent11(SidebarTitle, {
184301
- get color() {
184302
- return dependencies.theme.base;
184303
- },
184498
+ color: () => dependencies.theme().current.text,
184304
184499
  get title() {
184305
184500
  return copy().title;
184306
184501
  }
@@ -184342,9 +184537,6 @@ function registerPokemonSidebar(dependencies) {
184342
184537
  get hoverStarter() {
184343
184538
  return dependencies.setHoveredStarter;
184344
184539
  },
184345
- get mutedColor() {
184346
- return dependencies.theme.muted;
184347
- },
184348
184540
  get onChooseStarter() {
184349
184541
  return dependencies.actions.chooseStarter;
184350
184542
  },
@@ -184372,8 +184564,8 @@ function registerPokemonSidebar(dependencies) {
184372
184564
  get setHoveredEncounterAction() {
184373
184565
  return dependencies.setHoveredEncounterAction;
184374
184566
  },
184375
- get starterHoverBackground() {
184376
- return dependencies.theme.muted;
184567
+ get theme() {
184568
+ return dependencies.theme;
184377
184569
  },
184378
184570
  get state() {
184379
184571
  return dependencies.state;
@@ -184521,6 +184713,7 @@ import { createElement as _$createElement11 } from "@opentui/solid";
184521
184713
  import { useKeyboard as useKeyboard3 } from "@opentui/solid";
184522
184714
  import { createSignal as createSignal10, For as For5, Show as Show6 } from "solid-js";
184523
184715
  function LocationTravelDialog(properties) {
184716
+ const surface = () => properties.theme?.().dialog ?? fallbackPokecodeTheme.dialog;
184524
184717
  const copy = () => uiCopy(properties.language);
184525
184718
  const initialLocationId = properties.locations.some((location) => location.id === properties.currentLocationId) ? properties.currentLocationId : properties.locations[0]?.id ?? "";
184526
184719
  const [selectedLocationId, setSelectedLocationId] = createSignal10(initialLocationId);
@@ -184587,9 +184780,7 @@ function LocationTravelDialog(properties) {
184587
184780
  _$insertNode10(_el$, _el$2);
184588
184781
  _$insertNode10(_el$, _el$3);
184589
184782
  _$insertNode10(_el$, _el$8);
184590
- _$setProp11(_el$, "backgroundColor", "#111827");
184591
184783
  _$setProp11(_el$, "border", true);
184592
- _$setProp11(_el$, "borderColor", "#4b5563");
184593
184784
  _$setProp11(_el$, "borderStyle", "rounded");
184594
184785
  _$setProp11(_el$, "flexDirection", "column");
184595
184786
  _$setProp11(_el$, "gap", 1);
@@ -184601,7 +184792,6 @@ function LocationTravelDialog(properties) {
184601
184792
  _$insert11(_el$2, () => copy().locationsDialog);
184602
184793
  _$insertNode10(_el$3, _el$4);
184603
184794
  _$insertNode10(_el$3, _el$5);
184604
- _$setProp11(_el$3, "backgroundColor", "#111827");
184605
184795
  _$setProp11(_el$3, "flexDirection", "row");
184606
184796
  _$setProp11(_el$3, "flexGrow", 1);
184607
184797
  _$setProp11(_el$3, "gap", 1);
@@ -184610,7 +184800,6 @@ function LocationTravelDialog(properties) {
184610
184800
  _$use4((renderable) => {
184611
184801
  locationsScrollbox = renderable;
184612
184802
  }, _el$4);
184613
- _$setProp11(_el$4, "backgroundColor", "#111827");
184614
184803
  _$setProp11(_el$4, "contentOptions", {
184615
184804
  flexDirection: "column"
184616
184805
  });
@@ -184638,6 +184827,7 @@ function LocationTravelDialog(properties) {
184638
184827
  var _el$0 = _$createElement11("text");
184639
184828
  _$setProp11(_el$0, "attributes", bold);
184640
184829
  _$insert11(_el$0, () => region.name);
184830
+ _$effect11((_$p) => _$setProp11(_el$0, "fg", surface().accent, _$p));
184641
184831
  return _el$0;
184642
184832
  }
184643
184833
  }), null);
@@ -184655,9 +184845,9 @@ function LocationTravelDialog(properties) {
184655
184845
  _$setProp11(_el$1, "onMouseUp", () => selectLocation(location.id));
184656
184846
  _$insert11(_el$10, () => `${selectedLocationId() === location.id ? "\u203A " : " "}${location.name}`);
184657
184847
  _$effect11((_p$) => {
184658
- var _v$ = `travel-location-${location.id}`, _v$2 = selectedLocationId() === location.id ? "#22c55e" : "#d1d5db";
184659
- _v$ !== _p$.e && (_p$.e = _$setProp11(_el$1, "id", _v$, _p$.e));
184660
- _v$2 !== _p$.t && (_p$.t = _$setProp11(_el$10, "fg", _v$2, _p$.t));
184848
+ var _v$9 = `travel-location-${location.id}`, _v$0 = selectedLocationId() === location.id ? surface().accent : surface().text;
184849
+ _v$9 !== _p$.e && (_p$.e = _$setProp11(_el$1, "id", _v$9, _p$.e));
184850
+ _v$0 !== _p$.t && (_p$.t = _$setProp11(_el$10, "fg", _v$0, _p$.t));
184661
184851
  return _p$;
184662
184852
  }, {
184663
184853
  e: undefined,
@@ -184671,7 +184861,6 @@ function LocationTravelDialog(properties) {
184671
184861
  }));
184672
184862
  _$insertNode10(_el$5, _el$6);
184673
184863
  _$insertNode10(_el$5, _el$7);
184674
- _$setProp11(_el$5, "backgroundColor", "#111827");
184675
184864
  _$setProp11(_el$5, "flexDirection", "column");
184676
184865
  _$setProp11(_el$5, "flexGrow", 1);
184677
184866
  _$setProp11(_el$5, "minWidth", 0);
@@ -184682,7 +184871,6 @@ function LocationTravelDialog(properties) {
184682
184871
  _$use4((renderable) => {
184683
184872
  pokemonScrollbox = renderable;
184684
184873
  }, _el$7);
184685
- _$setProp11(_el$7, "backgroundColor", "#111827");
184686
184874
  _$setProp11(_el$7, "contentOptions", {
184687
184875
  flexDirection: "column"
184688
184876
  });
@@ -184703,6 +184891,7 @@ function LocationTravelDialog(properties) {
184703
184891
  return (() => {
184704
184892
  var _el$11 = _$createElement11("text");
184705
184893
  _$insert11(_el$11, () => copy().noLocationPokemon);
184894
+ _$effect11((_$p) => _$setProp11(_el$11, "fg", surface().muted, _$p));
184706
184895
  return _el$11;
184707
184896
  })();
184708
184897
  },
@@ -184723,7 +184912,6 @@ function LocationTravelDialog(properties) {
184723
184912
  _$insertNode10(_el$13, _el$14);
184724
184913
  _$insertNode10(_el$13, _el$15);
184725
184914
  _$setProp11(_el$13, "alignItems", "center");
184726
- _$setProp11(_el$13, "backgroundColor", "#111827");
184727
184915
  _$setProp11(_el$13, "flexBasis", 0);
184728
184916
  _$setProp11(_el$13, "flexDirection", "column");
184729
184917
  _$setProp11(_el$13, "flexGrow", 1);
@@ -184746,6 +184934,7 @@ function LocationTravelDialog(properties) {
184746
184934
  get protocol() {
184747
184935
  return properties.imageProtocol;
184748
184936
  },
184937
+ theme: surface,
184749
184938
  shiny: false,
184750
184939
  gender: "genderless",
184751
184940
  get speciesId() {
@@ -184765,7 +184954,17 @@ function LocationTravelDialog(properties) {
184765
184954
  var _c$ = _$memo7(() => pokemon.status === "unknown");
184766
184955
  return () => _c$() ? "???" : pokemon.name;
184767
184956
  })());
184768
- _$effect11((_$p) => _$setProp11(_el$16, "fg", pokemon.status === "caught" ? "#22c55e" : pokemon.status === "seen" ? "#9ca3af" : "#ffffff", _$p));
184957
+ _$effect11((_p$) => {
184958
+ var _v$1 = surface().background, _v$10 = pokemon.status === "caught" ? surface().success : pokemon.status === "seen" ? surface().muted : surface().text, _v$11 = pokemon.status === "unknown" ? surface().muted : surface().text;
184959
+ _v$1 !== _p$.e && (_p$.e = _$setProp11(_el$13, "backgroundColor", _v$1, _p$.e));
184960
+ _v$10 !== _p$.t && (_p$.t = _$setProp11(_el$16, "fg", _v$10, _p$.t));
184961
+ _v$11 !== _p$.a && (_p$.a = _$setProp11(_el$17, "fg", _v$11, _p$.a));
184962
+ return _p$;
184963
+ }, {
184964
+ e: undefined,
184965
+ t: undefined,
184966
+ a: undefined
184967
+ });
184769
184968
  return _el$13;
184770
184969
  })()
184771
184970
  }));
@@ -184785,6 +184984,7 @@ function LocationTravelDialog(properties) {
184785
184984
  onActivate: async () => properties.onClose(),
184786
184985
  onHover: () => {},
184787
184986
  onLeave: () => {},
184987
+ theme: surface,
184788
184988
  tone: "secondary"
184789
184989
  }), null);
184790
184990
  _$insert11(_el$8, _$createComponent12(PokecodeActionButton, {
@@ -184795,8 +184995,30 @@ function LocationTravelDialog(properties) {
184795
184995
  onActivate: async () => travel(),
184796
184996
  onHover: () => {},
184797
184997
  onLeave: () => {},
184998
+ theme: surface,
184798
184999
  tone: "success"
184799
185000
  }), null);
185001
+ _$effect11((_p$) => {
185002
+ var _v$ = surface().background, _v$2 = surface().border, _v$3 = surface().accent, _v$4 = surface().background, _v$5 = surface().background, _v$6 = surface().background, _v$7 = surface().accent, _v$8 = surface().background;
185003
+ _v$ !== _p$.e && (_p$.e = _$setProp11(_el$, "backgroundColor", _v$, _p$.e));
185004
+ _v$2 !== _p$.t && (_p$.t = _$setProp11(_el$, "borderColor", _v$2, _p$.t));
185005
+ _v$3 !== _p$.a && (_p$.a = _$setProp11(_el$2, "fg", _v$3, _p$.a));
185006
+ _v$4 !== _p$.o && (_p$.o = _$setProp11(_el$3, "backgroundColor", _v$4, _p$.o));
185007
+ _v$5 !== _p$.i && (_p$.i = _$setProp11(_el$4, "backgroundColor", _v$5, _p$.i));
185008
+ _v$6 !== _p$.n && (_p$.n = _$setProp11(_el$5, "backgroundColor", _v$6, _p$.n));
185009
+ _v$7 !== _p$.s && (_p$.s = _$setProp11(_el$6, "fg", _v$7, _p$.s));
185010
+ _v$8 !== _p$.h && (_p$.h = _$setProp11(_el$7, "backgroundColor", _v$8, _p$.h));
185011
+ return _p$;
185012
+ }, {
185013
+ e: undefined,
185014
+ t: undefined,
185015
+ a: undefined,
185016
+ o: undefined,
185017
+ i: undefined,
185018
+ n: undefined,
185019
+ s: undefined,
185020
+ h: undefined
185021
+ });
184800
185022
  return _el$;
184801
185023
  })();
184802
185024
  }
@@ -184871,6 +185093,9 @@ function createLocationTravelAction(dependencies) {
184871
185093
  },
184872
185094
  get imageProtocol() {
184873
185095
  return dependencies.imageProtocol;
185096
+ },
185097
+ get theme() {
185098
+ return dependencies.theme;
184874
185099
  }
184875
185100
  })));
184876
185101
  dependencies.dialog.set({
@@ -184925,12 +185150,14 @@ function createPokemonTuiPlugin(dependencies = defaultDependencies) {
184925
185150
  state,
184926
185151
  toast: (options) => context.ui.toast.show(options)
184927
185152
  });
185153
+ const theme = () => toPokecodeTheme(context.theme);
184928
185154
  const chooseLocation = createLocationTravelAction({
184929
185155
  rpc,
184930
185156
  state,
184931
185157
  dialog: context.ui.dialog,
184932
185158
  resolveSprite,
184933
185159
  imageProtocol: imageProtocol.protocol,
185160
+ theme,
184934
185161
  travelToLocation: sidebarActions.travelToLocation
184935
185162
  });
184936
185163
  const showDex = createDexAction({
@@ -184942,10 +185169,7 @@ function createPokemonTuiPlugin(dependencies = defaultDependencies) {
184942
185169
  rpc,
184943
185170
  state,
184944
185171
  dialog: context.ui.dialog,
184945
- theme: {
184946
- base: () => context.theme.text.base,
184947
- muted: () => context.theme.text.muted
184948
- },
185172
+ theme,
184949
185173
  resolveSprite,
184950
185174
  imageProtocol: imageProtocol.protocol
184951
185175
  });
@@ -184958,10 +185182,7 @@ function createPokemonTuiPlugin(dependencies = defaultDependencies) {
184958
185182
  unregisterSlot = (dependencies.registerSidebar ?? registerPokemonSidebar)({
184959
185183
  slot: context.ui.slot,
184960
185184
  state: state.state,
184961
- theme: {
184962
- base: () => context.theme.text.base,
184963
- muted: () => context.theme.text.muted
184964
- },
185185
+ theme,
184965
185186
  hoveredStarter,
184966
185187
  setHoveredStarter,
184967
185188
  hoveredEncounterAction,