@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
@@ -1,6 +1,7 @@
1
1
  import type { GameState } from "../../../../application/contracts/game.js";
2
2
  import type { SpriteResolver } from "../../../sprites/contracts.js";
3
3
  import type { ImageProtocolAccessor } from "../components/image-protocol.js";
4
+ import { type PokecodeSurface } from "../theme.js";
4
5
  export declare function PendingChoiceCard(properties: {
5
6
  readonly state: () => GameState;
6
7
  readonly onResolveMove: (choiceId: string, selectedMoveId: string) => Promise<void>;
@@ -8,6 +9,7 @@ export declare function PendingChoiceCard(properties: {
8
9
  readonly resolveSprite: SpriteResolver;
9
10
  readonly imageProtocol: ImageProtocolAccessor;
10
11
  readonly language: () => GameState["locale"];
12
+ readonly theme?: (() => PokecodeSurface) | undefined;
11
13
  }): any;
12
14
  export declare function MoveChoiceCard(properties: {
13
15
  readonly choice: () => GameState["pendingChoices"][number] | undefined;
@@ -17,6 +19,7 @@ export declare function MoveChoiceCard(properties: {
17
19
  readonly resolveSprite: SpriteResolver;
18
20
  readonly imageProtocol: ImageProtocolAccessor;
19
21
  readonly language?: (() => GameState["locale"]) | undefined;
22
+ readonly theme?: (() => PokecodeSurface) | undefined;
20
23
  }): any;
21
24
  export declare function EvolutionChoiceCard(properties: {
22
25
  readonly choice: () => GameState["pendingChoices"][number] | undefined;
@@ -26,11 +29,13 @@ export declare function EvolutionChoiceCard(properties: {
26
29
  readonly imageProtocol: ImageProtocolAccessor;
27
30
  readonly language: () => GameState["locale"];
28
31
  readonly onResolve: (choiceId: string, selectedSpeciesId: string) => Promise<void>;
32
+ readonly theme?: (() => PokecodeSurface) | undefined;
29
33
  }): any;
30
34
  export declare function RegionChoiceCard(properties: {
31
35
  readonly choice: () => GameState["pendingChoices"][number] | undefined;
32
36
  readonly visitedRegionIds: () => readonly string[];
33
37
  readonly onTravel: (regionId: string) => Promise<void>;
34
38
  readonly language?: (() => GameState["locale"]) | undefined;
39
+ readonly theme?: (() => PokecodeSurface) | undefined;
35
40
  }): any;
36
41
  //# sourceMappingURL=cards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAQ1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAI5E,wBAAgB,iBAAiB,CAAC,UAAU,EAAE;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAA;IAC/B,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnF,QAAQ,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3F,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;CAC7C,OAgCA;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAC,eAAe,CAAC,CAAA;IACxD,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/E,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAiDA;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,SAAS,CAAC,eAAe,CAAC,CAAA;IACxD,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnF,OA8CA;AAqDD,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,SAAS,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;IACtE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAwDA"}
1
+ {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"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"}
@@ -6,15 +6,16 @@ import { regions } from "../../../../domain/content/catalog.js";
6
6
  import { uiCopy } from "../../../presentation/ui-copy.js";
7
7
  import { MoveList } from "../components/move-list.js";
8
8
  import { Sprite } from "../components/sprite.js";
9
+ import { fallbackPokecodeTheme } from "../theme.js";
9
10
  export function PendingChoiceCard(properties) {
10
11
  const choice = () => properties.state().pendingChoices[0];
11
12
  return (<Show when={choice()} keyed>
12
13
  {(activeChoice) => (<Switch>
13
14
  <Match when={activeChoice.kind === "move"}>
14
- <MoveChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} onResolve={properties.onResolveMove} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language}/>
15
+ <MoveChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} onResolve={properties.onResolveMove} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} theme={properties.theme}/>
15
16
  </Match>
16
17
  <Match when={activeChoice.kind === "evolution"}>
17
- <EvolutionChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} onResolve={properties.onResolveEvolution}/>
18
+ <EvolutionChoiceCard choice={() => activeChoice} party={() => properties.state().party} choicePokemon={() => properties.state().choicePokemon} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} onResolve={properties.onResolveEvolution} theme={properties.theme}/>
18
19
  </Match>
19
20
  </Switch>)}
20
21
  </Show>);
@@ -32,17 +33,18 @@ export function MoveChoiceCard(properties) {
32
33
  return null;
33
34
  const dimensions = useTerminalDimensions();
34
35
  const language = () => properties.language?.() ?? "en";
36
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
35
37
  const moves = [...pokemon.moves, payload.move];
36
38
  const copy = () => uiCopy(language());
37
39
  return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1} width="100%" minWidth={0}>
38
- <text width="100%" wrapMode="word" textAlign="center">
40
+ <text fg={surface().text} width="100%" wrapMode="word" textAlign="center">
39
41
  {copy().movePrompt(pokemon.name)}
40
42
  </text>
41
- <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
42
- <text width="100%" wrapMode="word" textAlign="center">
43
+ <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} theme={surface} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
44
+ <text fg={surface().muted} width="100%" wrapMode="word" textAlign="center">
43
45
  {copy().moveDescription}
44
46
  </text>
45
- <MoveList centered leftAlignMoves moves={moves} language={language()} offeredMoveId={payload.move.id} height={Math.min(28, Math.max(6, dimensions().height - 19))} onActivate={(moveId) => properties.onResolve(choice.id, moveId)}/>
47
+ <MoveList centered leftAlignMoves moves={moves} language={language()} offeredMoveId={payload.move.id} height={Math.min(28, Math.max(6, dimensions().height - 19))} onActivate={(moveId) => properties.onResolve(choice.id, moveId)} theme={properties.theme}/>
46
48
  </box>);
47
49
  }
48
50
  export function EvolutionChoiceCard(properties) {
@@ -56,18 +58,20 @@ export function EvolutionChoiceCard(properties) {
56
58
  properties.choicePokemon().find((instance) => instance.id === payload.pokemonId);
57
59
  if (pokemon === undefined || pokemon === null)
58
60
  return null;
61
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
59
62
  const [hoveredOption, setHoveredOption] = createSignal(null);
60
63
  return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
61
- <text>{uiCopy(properties.language()).evolutionPrompt(pokemon.name)}</text>
62
- <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
63
- <text>{uiCopy(properties.language()).chooseEvolution}</text>
64
+ <text fg={surface().text}>{uiCopy(properties.language()).evolutionPrompt(pokemon.name)}</text>
65
+ <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} theme={surface} shiny={pokemon.shiny} gender={pokemon.gender} speciesId={pokemon.speciesId}/>
66
+ <text fg={surface().muted}>{uiCopy(properties.language()).chooseEvolution}</text>
64
67
  <box flexDirection="row" flexWrap="wrap" gap={1} justifyContent="center" width="100%">
65
- {payload.options.map((option) => (<EvolutionOptionCard option={option} pokemon={pokemon} hovered={() => hoveredOption() === option.speciesId} onHover={() => setHoveredOption(option.speciesId)} onLeave={() => setHoveredOption(null)} onResolve={() => properties.onResolve(choice.id, option.speciesId)} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language}/>))}
68
+ {payload.options.map((option) => (<EvolutionOptionCard option={option} pokemon={pokemon} hovered={() => hoveredOption() === option.speciesId} onHover={() => setHoveredOption(option.speciesId)} onLeave={() => setHoveredOption(null)} onResolve={() => properties.onResolve(choice.id, option.speciesId)} resolveSprite={properties.resolveSprite} imageProtocol={properties.imageProtocol} language={properties.language} theme={surface}/>))}
66
69
  </box>
67
70
  </box>);
68
71
  }
69
72
  function EvolutionOptionCard(properties) {
70
- return (<button alignItems="center" backgroundColor={properties.hovered() ? "#404040" : undefined} border={false} flexDirection="column" flexShrink={0} focusable width={14} padding={1} type="button" onMouseOver={properties.onHover} onMouseOut={properties.onLeave} onFocus={properties.onHover} onBlur={properties.onLeave} onMouseUp={(event) => {
73
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
74
+ return (<button alignItems="center" backgroundColor={properties.hovered() ? surface().highlight : undefined} border={false} flexDirection="column" flexShrink={0} focusable width={14} padding={1} type="button" onMouseOver={properties.onHover} onMouseOut={properties.onLeave} onFocus={properties.onHover} onBlur={properties.onLeave} onMouseUp={(event) => {
71
75
  if (event.button === MouseButton.LEFT)
72
76
  void properties.onResolve();
73
77
  }} onKeyDown={(event) => {
@@ -75,10 +79,10 @@ function EvolutionOptionCard(properties) {
75
79
  void properties.onResolve();
76
80
  }}>
77
81
  <box flexDirection="row" height={4} justifyContent="center" width="100%">
78
- <Sprite compactFallback language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.option.speciesId}/>
82
+ <Sprite compactFallback language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} theme={surface} shiny={properties.pokemon.shiny} gender={properties.pokemon.gender} speciesId={properties.option.speciesId}/>
79
83
  </box>
80
84
  <box flexDirection="row" justifyContent="center" width="100%">
81
- <text>{properties.option.name}</text>
85
+ <text fg={surface().text}>{properties.option.name}</text>
82
86
  </box>
83
87
  </button>);
84
88
  }
@@ -89,16 +93,19 @@ export function RegionChoiceCard(properties) {
89
93
  const payload = decodeRegionChoiceProjection(choice.payload);
90
94
  if (payload === null)
91
95
  return null;
96
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
92
97
  const [hoveredRegion, setHoveredRegion] = createSignal(null);
93
98
  const availableRegions = () => regions(properties.language?.() ?? "en");
94
99
  const completedRegionName = () => availableRegions().find((region) => region.id === payload.region)?.name ?? payload.region;
95
100
  return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
96
- <text>{uiCopy(properties.language?.() ?? "en").regionComplete(completedRegionName())}</text>
97
- <text>{uiCopy(properties.language?.() ?? "en").chooseNextRegion}</text>
101
+ <text fg={surface().text}>
102
+ {uiCopy(properties.language?.() ?? "en").regionComplete(completedRegionName())}
103
+ </text>
104
+ <text fg={surface().muted}>{uiCopy(properties.language?.() ?? "en").chooseNextRegion}</text>
98
105
  <box flexDirection="row" flexWrap="wrap" gap={1} justifyContent="center" width="100%">
99
106
  {availableRegions()
100
107
  .filter((region) => region.id !== payload.region && !properties.visitedRegionIds().includes(region.id))
101
- .map((region) => (<button alignItems="center" backgroundColor={hoveredRegion() === region.id ? "#404040" : undefined} border={false} flexShrink={0} focusable justifyContent="center" padding={1} type="button" width={14} onMouseOver={() => setHoveredRegion(region.id)} onMouseOut={() => setHoveredRegion(null)} onFocus={() => setHoveredRegion(region.id)} onBlur={() => setHoveredRegion(null)} onMouseUp={(event) => {
108
+ .map((region) => (<button alignItems="center" backgroundColor={hoveredRegion() === region.id ? surface().highlight : undefined} border={false} flexShrink={0} focusable justifyContent="center" padding={1} type="button" width={14} onMouseOver={() => setHoveredRegion(region.id)} onMouseOut={() => setHoveredRegion(null)} onFocus={() => setHoveredRegion(region.id)} onBlur={() => setHoveredRegion(null)} onMouseUp={(event) => {
102
109
  if (event.button === MouseButton.LEFT)
103
110
  void properties.onTravel(region.id);
104
111
  }} onKeyDown={(event) => {
@@ -106,7 +113,7 @@ export function RegionChoiceCard(properties) {
106
113
  void properties.onTravel(region.id);
107
114
  }
108
115
  }}>
109
- <text>{region.name}</text>
116
+ <text fg={surface().text}>{region.name}</text>
110
117
  </button>))}
111
118
  </box>
112
119
  </box>);
@@ -1 +1 @@
1
- {"version":3,"file":"cards.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cards.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/cards.tsx"],"names":[],"mappings":"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"}
@@ -2,14 +2,15 @@ import type { GameState } from "../../../../application/contracts/game.js";
2
2
  import type { PendingEncounter } from "../../../../domain/encounters/encounter.js";
3
3
  import type { SpriteResolver } from "../../../sprites/contracts.js";
4
4
  import type { ImageProtocolAccessor } from "../components/image-protocol.js";
5
+ import { type PokecodeSurface } from "../theme.js";
5
6
  export declare function EncounterCard(properties: {
6
7
  readonly encounter: () => GameState["pendingEncounter"];
7
- readonly mutedColor: () => string;
8
8
  readonly hoveredAction: () => "catch" | "run" | null;
9
9
  readonly onHover: (action: "catch" | "run" | null) => void;
10
10
  readonly onResolve: (encounterId: string, encounter: PendingEncounter, capture: boolean) => Promise<void>;
11
11
  readonly resolveSprite: SpriteResolver;
12
12
  readonly imageProtocol: ImageProtocolAccessor;
13
13
  readonly language?: (() => GameState["locale"]) | undefined;
14
+ readonly theme?: (() => PokecodeSurface) | undefined;
14
15
  }): any;
15
16
  //# sourceMappingURL=encounter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encounter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAG5E,wBAAgB,aAAa,CAAC,UAAU,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACvD,QAAQ,CAAC,UAAU,EAAE,MAAM,MAAM,CAAA;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1D,QAAQ,CAAC,SAAS,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;CAC5D,OAsDA"}
1
+ {"version":3,"file":"encounter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAA;AAElF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAE5E,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzE,wBAAgB,aAAa,CAAC,UAAU,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAA;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,CAAA;IACpD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC1D,QAAQ,CAAC,SAAS,EAAE,CAClB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAA;IAC7C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAA;IAC3D,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAAA;CACrD,OA0DA"}
@@ -1,16 +1,18 @@
1
1
  import { uiCopy } from "../../../presentation/ui-copy.js";
2
2
  import { PokecodeActionButton } from "../components/action-button.js";
3
3
  import { Sprite } from "../components/sprite.js";
4
+ import { fallbackPokecodeTheme } from "../theme.js";
4
5
  export function EncounterCard(properties) {
5
6
  const encounter = properties.encounter();
6
7
  if (encounter === null)
7
8
  return null;
9
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
8
10
  const genderSymbol = encounter.gender === "male" ? "♂" : encounter.gender === "female" ? "♀" : "—";
9
11
  const copy = uiCopy(properties.language?.() ?? "en");
10
12
  return (<box alignItems="center" border borderStyle="rounded" flexDirection="column" gap={1} padding={1}>
11
13
  <box flexDirection="row">
12
- <text fg={properties.encounter()?.caught ? "#22c55e" : properties.mutedColor()}>● </text>
13
- <text>
14
+ <text fg={properties.encounter()?.caught ? surface().success : surface().muted}>● </text>
15
+ <text fg={surface().text}>
14
16
  {copy.encounter({
15
17
  genderSymbol,
16
18
  kind: encounter.kind,
@@ -20,10 +22,10 @@ export function EncounterCard(properties) {
20
22
  })}
21
23
  </text>
22
24
  </box>
23
- <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} shiny={encounter.shiny} gender={encounter.gender} speciesId={encounter.speciesId}/>
25
+ <Sprite language={properties.language} resolve={properties.resolveSprite} protocol={properties.imageProtocol} theme={surface} shiny={encounter.shiny} gender={encounter.gender} speciesId={encounter.speciesId}/>
24
26
  <box flexDirection="row" gap={1} justifyContent="center">
25
- <PokecodeActionButton hovered={() => properties.hoveredAction() === "catch"} label={copy.catch} onActivate={() => properties.onResolve(encounter.id, encounter, true)} onHover={() => properties.onHover("catch")} onLeave={() => properties.onHover(null)} tone="primary"/>
26
- <PokecodeActionButton hovered={() => properties.hoveredAction() === "run"} label={copy.run} onActivate={() => properties.onResolve(encounter.id, encounter, false)} onHover={() => properties.onHover("run")} onLeave={() => properties.onHover(null)} tone="secondary"/>
27
+ <PokecodeActionButton hovered={() => properties.hoveredAction() === "catch"} label={copy.catch} onActivate={() => properties.onResolve(encounter.id, encounter, true)} onHover={() => properties.onHover("catch")} onLeave={() => properties.onHover(null)} theme={surface} tone="primary"/>
28
+ <PokecodeActionButton hovered={() => properties.hoveredAction() === "run"} label={copy.run} onActivate={() => properties.onResolve(encounter.id, encounter, false)} onHover={() => properties.onHover("run")} onLeave={() => properties.onHover(null)} theme={surface} tone="secondary"/>
27
29
  </box>
28
30
  </box>);
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"encounter.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encounter.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/choices/encounter.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
+ import { type PokecodeSurface } from "../theme.js";
1
2
  export declare const bold: number;
2
- type ActionTone = "primary" | "secondary" | "success";
3
+ export type ActionTone = "primary" | "secondary" | "success";
3
4
  export declare function PokecodeActionButton(properties: {
4
5
  readonly hovered: () => boolean;
5
6
  readonly label: string;
6
7
  readonly onActivate: () => Promise<void>;
7
8
  readonly onHover: () => void;
8
9
  readonly onLeave: () => void;
10
+ readonly theme?: (() => PokecodeSurface) | undefined;
9
11
  readonly tone: ActionTone;
10
12
  }): any;
11
- export {};
12
13
  //# sourceMappingURL=action-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,QAAuC,CAAA;AAExD,KAAK,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAErD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B,OAwBA"}
1
+ {"version":3,"file":"action-button.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAEzE,eAAO,MAAM,IAAI,QAAuC,CAAA;AAExD,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;AAE5D,wBAAgB,oBAAoB,CAAC,UAAU,EAAE;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAAA;IACpD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B,OAgCA"}
@@ -1,13 +1,21 @@
1
1
  import { createTextAttributes } from "@opentui/core";
2
+ import { fallbackPokecodeTheme } from "../theme.js";
2
3
  export const bold = createTextAttributes({ bold: true });
3
4
  export function PokecodeActionButton(properties) {
4
- const colors = {
5
- primary: { base: "#2563eb", hovered: "#1d4ed8" },
6
- secondary: { base: "#6b7280", hovered: "#4b5563" },
7
- success: { base: "#16a34a", hovered: "#15803d" },
8
- }[properties.tone];
9
- return (<button alignItems="center" backgroundColor={properties.hovered() ? colors.hovered : colors.base} focusable justifyContent="center" paddingLeft={2} paddingRight={2} type="button" onBlur={properties.onLeave} onFocus={properties.onHover} onMouseOut={properties.onLeave} onMouseOver={properties.onHover} onMouseUp={() => void properties.onActivate()}>
10
- <text fg="#ffffff">{properties.label}</text>
5
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
6
+ const colors = () => {
7
+ const action = properties.tone === "secondary" ? surface().secondary : surface().primary;
8
+ return {
9
+ background: properties.hovered() ? action.backgroundHovered : action.background,
10
+ label: properties.tone === "success"
11
+ ? surface().success
12
+ : properties.hovered()
13
+ ? action.labelHovered
14
+ : action.label,
15
+ };
16
+ };
17
+ return (<button alignItems="center" backgroundColor={colors().background} focusable justifyContent="center" paddingLeft={2} paddingRight={2} type="button" onBlur={properties.onLeave} onFocus={properties.onHover} onMouseOut={properties.onLeave} onMouseOver={properties.onHover} onMouseUp={() => void properties.onActivate()}>
18
+ <text fg={colors().label}>{properties.label}</text>
11
19
  </button>);
12
20
  }
13
21
  //# sourceMappingURL=action-button.jsx.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-button.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAEpD,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAIxD,MAAM,UAAU,oBAAoB,CAAC,UAOpC;IACC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QAChD,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;QAClD,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE;KACjD,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,OAAO,CACL,CAAC,MAAM,CACL,UAAU,CAAC,QAAQ,CACnB,eAAe,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACrE,SAAS,CACT,cAAc,CAAC,QAAQ,CACvB,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,YAAY,CAAC,CAAC,CAAC,CAAC,CAChB,IAAI,CAAC,QAAQ,CACb,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3B,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC5B,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC/B,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC,CAE9C;MAAA,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAC7C;IAAA,EAAE,MAAM,CAAC,CACV,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"action-button.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/action-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAwB,MAAM,aAAa,CAAA;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,oBAAoB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAIxD,MAAM,UAAU,oBAAoB,CAAC,UAQpC;IACC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,qBAAqB,CAAC,OAAO,CAAA;IAC3E,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAA;QACxF,OAAO;YACL,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;YAC/E,KAAK,EACH,UAAU,CAAC,IAAI,KAAK,SAAS;gBAC3B,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO;gBACnB,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE;oBACpB,CAAC,CAAC,MAAM,CAAC,YAAY;oBACrB,CAAC,CAAC,MAAM,CAAC,KAAK;SACrB,CAAA;IACH,CAAC,CAAA;IACD,OAAO,CACL,CAAC,MAAM,CACL,UAAU,CAAC,QAAQ,CACnB,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CACrC,SAAS,CACT,cAAc,CAAC,QAAQ,CACvB,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,YAAY,CAAC,CAAC,CAAC,CAAC,CAChB,IAAI,CAAC,QAAQ,CACb,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3B,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC5B,UAAU,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAC/B,WAAW,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC,CAE9C;MAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CACpD;IAAA,EAAE,MAAM,CAAC,CACV,CAAA;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { Move } from "../../../../domain/pokemon/types.js";
2
2
  import type { Language } from "../../../../domain/shared/language.js";
3
+ import { type PokecodeSurface } from "../theme.js";
3
4
  import "../controls/native.js";
4
5
  export declare function MoveList(properties: {
5
6
  readonly moves: readonly Move[];
@@ -9,5 +10,6 @@ export declare function MoveList(properties: {
9
10
  readonly centered?: boolean;
10
11
  readonly leftAlignMoves?: boolean;
11
12
  readonly onActivate?: (moveId: string) => Promise<void>;
13
+ readonly theme?: (() => PokecodeSurface) | undefined;
12
14
  }): any;
13
15
  //# sourceMappingURL=move-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"move-list.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,uBAAuB,CAAA;AAE9B,wBAAgB,QAAQ,CAAC,UAAU,EAAE;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxD,OA4JA"}
1
+ {"version":3,"file":"move-list.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAA;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,uBAAuB,CAAA;AAE9B,wBAAgB,QAAQ,CAAC,UAAU,EAAE;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAAA;CACrD,OA8JA"}
@@ -1,10 +1,12 @@
1
1
  import { MouseButton, } from "@opentui/core";
2
2
  import { createSignal, For, Show } from "solid-js";
3
3
  import { moveInspectionHint, presentMove } from "../../../presentation/move-details.js";
4
+ import { fallbackPokecodeTheme } from "../theme.js";
4
5
  import "../controls/native.js";
5
6
  export function MoveList(properties) {
6
7
  const [hovered, setHovered] = createSignal(null);
7
8
  const [inspected, setInspected] = createSignal(null);
9
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
8
10
  const moves = () => properties.moves.map((move) => presentMove(move, properties.language));
9
11
  const description = () => moves().find((move) => move.id === inspected())?.description;
10
12
  let list;
@@ -31,16 +33,12 @@ export function MoveList(properties) {
31
33
  }
32
34
  };
33
35
  const secondary = () => move.id === properties.offeredMoveId;
36
+ const action = () => (secondary() ? surface().secondary : surface().primary);
37
+ const hoveredRow = () => hovered() === move.id;
34
38
  return (<box ref={(value) => {
35
39
  row = value;
36
40
  }} flexDirection="column" alignItems={properties.leftAlignMoves ? "flex-start" : "center"} flexShrink={0} width="100%">
37
- <button id={`move-${move.id}`} type="button" focusable maxWidth="100%" paddingLeft={2} paddingRight={2} justifyContent="center" backgroundColor={secondary()
38
- ? hovered() === move.id
39
- ? "#4b5563"
40
- : "#6b7280"
41
- : hovered() === move.id
42
- ? "#1d4ed8"
43
- : "#2563eb"} onMouseOver={() => inspect(move.id)} onMouseOut={() => setHovered(null)} onFocus={focus} onBlur={() => setHovered(null)} onMouseUp={(event) => {
41
+ <button id={`move-${move.id}`} type="button" focusable maxWidth="100%" paddingLeft={2} paddingRight={2} justifyContent="center" backgroundColor={hoveredRow() ? action().backgroundHovered : action().background} onMouseOver={() => inspect(move.id)} onMouseOut={() => setHovered(null)} onFocus={focus} onBlur={() => setHovered(null)} onMouseUp={(event) => {
44
42
  if (event.button !== MouseButton.LEFT)
45
43
  return;
46
44
  inspect(move.id);
@@ -54,14 +52,14 @@ export function MoveList(properties) {
54
52
  event.stopPropagation();
55
53
  void properties.onActivate(move.id);
56
54
  }}>
57
- <text fg="#ffffff" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
55
+ <text fg={hoveredRow() ? action().labelHovered : action().label} wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
58
56
  {move.name}
59
57
  </text>
60
58
  </button>
61
- <text maxWidth="100%" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
59
+ <text fg={surface().muted} maxWidth="100%" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
62
60
  {move.classification}
63
61
  </text>
64
- <text maxWidth="100%" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
62
+ <text fg={surface().muted} maxWidth="100%" wrapMode="word" textAlign={properties.centered && !properties.leftAlignMoves ? "center" : "left"}>
65
63
  {move.stats}
66
64
  </text>
67
65
  </box>);
@@ -82,7 +80,7 @@ export function MoveList(properties) {
82
80
  }} height={properties.height === undefined
83
81
  ? 6
84
82
  : Math.min(6, Math.max(2, Math.floor(properties.height / 4)))} flexShrink={0} width="100%" scrollX={false} scrollY contentOptions={{ flexDirection: "column" }} viewportOptions={{ minHeight: 0, overflow: "hidden" }}>
85
- <text width="100%" wrapMode="word" textAlign={properties.centered ? "center" : "left"}>
83
+ <text fg={surface().text} width="100%" wrapMode="word" textAlign={properties.centered ? "center" : "left"}>
86
84
  {description() || moveInspectionHint(properties.language)}
87
85
  </text>
88
86
  </scrollbox>
@@ -1 +1 @@
1
- {"version":3,"file":"move-list.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"move-list.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/move-list.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { Language } from "../../../../domain/shared/language.js";
2
2
  import type { SpriteInput, SpriteResolver } from "../../../sprites/contracts.js";
3
+ import { type PokecodeSurface } from "../theme.js";
3
4
  import type { ImageProtocolAccessor } from "./image-protocol.js";
4
5
  export declare function Sprite(properties: {
5
6
  readonly resolve: SpriteResolver;
@@ -9,6 +10,7 @@ export declare function Sprite(properties: {
9
10
  readonly language?: (() => Language) | undefined;
10
11
  readonly compactFallback?: boolean | undefined;
11
12
  readonly protocol?: ImageProtocolAccessor | undefined;
13
+ readonly theme?: (() => PokecodeSurface) | undefined;
12
14
  readonly width?: number | undefined;
13
15
  readonly height?: number | undefined;
14
16
  }): any;
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,WAAW,EAAoB,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAClG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGhE,wBAAgB,MAAM,CAAC,UAAU,EAAE;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,OAwCA"}
1
+ {"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAErE,OAAO,KAAK,EAAE,WAAW,EAAoB,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAClG,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAGhE,wBAAgB,MAAM,CAAC,UAAU,EAAE;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,eAAe,CAAC,GAAG,SAAS,CAAA;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,OAyCA"}
@@ -1,5 +1,6 @@
1
1
  import { createSignal, Show } from "solid-js";
2
2
  import { uiCopy } from "../../../presentation/ui-copy.js";
3
+ import { fallbackPokecodeTheme } from "../theme.js";
3
4
  import { createOwnerBoundCallback } from "./owner.js";
4
5
  export function Sprite(properties) {
5
6
  const [sprite, setSprite] = createSignal(null);
@@ -13,8 +14,9 @@ export function Sprite(properties) {
13
14
  const resolved = sprite();
14
15
  return resolved?.kind === "cached" ? resolved.source : null;
15
16
  };
17
+ const surface = () => properties.theme?.() ?? fallbackPokecodeTheme.current;
16
18
  return (<Show when={source()} fallback={<box alignItems="center" height={height} justifyContent="center" width={width}>
17
- <text>
19
+ <text fg={surface().muted}>
18
20
  {properties.compactFallback === true
19
21
  ? sprite() === null
20
22
  ? "…"
@@ -1 +1 @@
1
- {"version":3,"file":"sprite.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAGzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,UAAU,MAAM,CAAC,UAUtB;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,YAAY,CAA0B,IAAI,CAAC,CAAA;IACvE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAA;IACrC,KAAK,UAAU;SACZ,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;SAClE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;QACzB,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,CAAC,CAAA;IACD,OAAO,CACL,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CACf,QAAQ,CAAC,CACP,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAC5E;UAAA,CAAC,IAAI,CACH;YAAA,CAAC,UAAU,CAAC,eAAe,KAAK,IAAI;gBAClC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,aAAa;oBACvD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,iBAAiB,CACjE;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CACP,CAAC,CAED;MAAA,CAAC,CAAC,YAA0B,EAAE,EAAE,CAAC,CAC/B,CAAC,KAAK,CACJ,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CACvB,GAAG,CAAC,KAAK,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,EAC5C,CACH,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"sprite.jsx","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/components/sprite.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAwB,MAAM,aAAa,CAAA;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAErD,MAAM,UAAU,MAAM,CAAC,UAWtB;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,YAAY,CAA0B,IAAI,CAAC,CAAA;IACvE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAA;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAA;IACrC,KAAK,UAAU;SACZ,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC;SAClE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;QACzB,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,qBAAqB,CAAC,OAAO,CAAA;IAC3E,OAAO,CACL,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CACf,QAAQ,CAAC,CACP,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAC5E;UAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CACxB;YAAA,CAAC,UAAU,CAAC,eAAe,KAAK,IAAI;gBAClC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,GAAG;gBACP,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI;oBACjB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,aAAa;oBACvD,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC,iBAAiB,CACjE;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CACP,CAAC,CAED;MAAA,CAAC,CAAC,YAA0B,EAAE,EAAE,CAAC,CAC/B,CAAC,KAAK,CACJ,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CACvB,GAAG,CAAC,KAAK,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,MAAM,CAAC,CAAC,MAAM,CAAC,CACf,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,EAC5C,CACH,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/dex/dialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;AAG7E,eAAO,MAAM,SAAS,yEAA2C,CAAA;AAEjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAE1F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAa9D;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,OAyEA"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/opencode/tui/dex/dialog.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAA;AAI7E,eAAO,MAAM,SAAS,yEAA2C,CAAA;AAEjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAE1F;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAa9D;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB,OA4EA"}
@@ -2,6 +2,7 @@ import { usePlugin } from "@opencode/plugin/tui";
2
2
  import { useKeyboard, useTerminalDimensions } from "@opentui/solid";
3
3
  import { For } from "solid-js";
4
4
  import { bold } from "../components/action-button.js";
5
+ import { toPokecodeTheme } from "../theme.js";
5
6
  export const dexFooter = "↑↓: 1 item · ←→: 10 items · Esc: Close";
6
7
  export function dexDisplayName(name, status) {
7
8
  return status === "unknown" ? "----" : name;
@@ -28,6 +29,7 @@ export function isDexCloseKey(key) {
28
29
  }
29
30
  export function PokemonDexDialog(properties) {
30
31
  const context = usePlugin();
32
+ const surface = () => toPokecodeTheme(context.theme).dialog;
31
33
  const dimensions = useTerminalDimensions();
32
34
  const height = () => Math.max(10, Math.floor(dimensions().height / 2) - 1);
33
35
  const width = () => dexModalWidth(dimensions().width);
@@ -47,7 +49,7 @@ export function PokemonDexDialog(properties) {
47
49
  scrollbox.scrollBy(delta, "absolute");
48
50
  });
49
51
  return (<box flexDirection="column" height={height()} paddingLeft={1} paddingRight={1} width={width()}>
50
- <text attributes={bold} fg={context.theme.text.base} flexShrink={0}>
52
+ <text attributes={bold} fg={surface().text} flexShrink={0}>
51
53
  {properties.title}
52
54
  </text>
53
55
  <box flexDirection="column" flexShrink={0} height={height() - 2} overflow="hidden" width="100%">
@@ -62,10 +64,10 @@ export function PokemonDexDialog(properties) {
62
64
  }} width="100%" wrapperOptions={{ flexDirection: "column", flexGrow: 1, flexShrink: 1, minHeight: 0 }}>
63
65
  <For each={properties.pokemon}>
64
66
  {(pokemon) => (<box flexDirection="row" width="100%">
65
- <text fg={pokemon.status === "caught" ? "#22c55e" : context.theme.text.muted}>
67
+ <text fg={pokemon.status === "caught" ? surface().success : surface().muted}>
66
68
  {pokemon.status === "unknown" ? " " : "● "}
67
69
  </text>
68
- <text>
70
+ <text fg={pokemon.status === "unknown" ? surface().muted : surface().text}>
69
71
  #{pokemon.number.toString().padStart(4, "0")}{" "}
70
72
  {dexDisplayName(pokemon.name, pokemon.status)}
71
73
  </text>
@@ -73,7 +75,9 @@ export function PokemonDexDialog(properties) {
73
75
  </For>
74
76
  </scrollbox>
75
77
  </box>
76
- <text flexShrink={0}>{dexFooter}</text>
78
+ <text fg={surface().muted} flexShrink={0}>
79
+ {dexFooter}
80
+ </text>
77
81
  </box>);
78
82
  }
79
83
  //# sourceMappingURL=dialog.jsx.map