@sbugallo/opencode-vpet 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,15 @@
1
1
  import { type Accessor } from "solid-js";
2
2
  import type { MonsterAnimationOutput, MonsterAnimationResult } from "./monster-animation.ts";
3
3
  import type { SidebarCardModel } from "./sidebar-view-model.ts";
4
+ import type { VpetTheme } from "./theme.ts";
5
+ export type VpetSidebarCardTheme = {
6
+ readonly current: Pick<VpetTheme["current"], "text" | "accent">;
7
+ };
4
8
  export declare const VpetSidebarCard: (props: {
5
9
  readonly model: Accessor<SidebarCardModel>;
6
10
  readonly animation: Accessor<MonsterAnimationOutput | MonsterAnimationResult>;
11
+ /** Reads the current theme at render time so live host theme switches propagate. */
12
+ readonly theme?: (() => VpetSidebarCardTheme) | undefined;
7
13
  readonly onArtworkWidthChange?: (width: number) => void;
8
14
  readonly onUrlClick?: (url: string) => void;
9
15
  }) => import("solid-js").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-card.d.ts","sourceRoot":"","sources":["../../src/tui/sidebar-card.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAwD/D,eAAO,MAAM,eAAe,GAAI,OAAO;IACrC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAC1C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,sBAAsB,GAAG,sBAAsB,CAAC,CAAA;IAC7E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C,mCAgIA,CAAA"}
1
+ {"version":3,"file":"sidebar-card.d.ts","sourceRoot":"","sources":["../../src/tui/sidebar-card.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAA;CAChE,CAAA;AAuDD,eAAO,MAAM,eAAe,GAAI,OAAO;IACrC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAC1C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,sBAAsB,GAAG,sBAAsB,CAAC,CAAA;IAC7E,oFAAoF;IACpF,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,oBAAoB,CAAC,GAAG,SAAS,CAAA;IACzD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvD,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5C,mCAsIA,CAAA"}
@@ -2,6 +2,8 @@ import type { RGBA } from "@opentui/core";
2
2
  /** Structural subset of the resolved host theme that VPet surfaces consume. */
3
3
  export type VpetTheme = {
4
4
  readonly current: {
5
+ readonly text: RGBA;
6
+ readonly accent: RGBA;
5
7
  readonly primary: RGBA;
6
8
  readonly success: RGBA;
7
9
  readonly textMuted: RGBA;
@@ -9,7 +11,12 @@ export type VpetTheme = {
9
11
  };
10
12
  /** Structural subset of the v2 resolved theme (`context.theme`). */
11
13
  export type VpetResolvedTheme = {
14
+ readonly hue: {
15
+ /** Named hue scales (100-900); `accent` is mandatory in every theme. */
16
+ readonly accent: Readonly<Partial<Record<number, RGBA>>>;
17
+ };
12
18
  readonly text: {
19
+ readonly base: RGBA;
13
20
  readonly muted: RGBA;
14
21
  readonly action: {
15
22
  readonly primary: {
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;QACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;QACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;KACzB,CAAA;CACF,CAAA;AAED,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;QACpB,QAAQ,CAAC,MAAM,EAAE;YACf,QAAQ,CAAC,OAAO,EAAE;gBAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;aAAE,CAAA;SAC1C,CAAA;QACD,QAAQ,CAAC,QAAQ,EAAE;YACjB,QAAQ,CAAC,OAAO,EAAE;gBAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;aAAE,CAAA;SAC1C,CAAA;KACF,CAAA;CACF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,iBAAiB,KAAG,SAMrD,CAAA"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/tui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,+EAA+E;AAC/E,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;QACnB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;QACrB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;QACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;QACtB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;KACzB,CAAA;CACF,CAAA;AAED,oEAAoE;AACpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,GAAG,EAAE;QACZ,wEAAwE;QACxE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;KACzD,CAAA;IACD,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;QACnB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAA;QACpB,QAAQ,CAAC,MAAM,EAAE;YACf,QAAQ,CAAC,OAAO,EAAE;gBAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;aAAE,CAAA;SAC1C,CAAA;QACD,QAAQ,CAAC,QAAQ,EAAE;YACjB,QAAQ,CAAC,OAAO,EAAE;gBAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;aAAE,CAAA;SAC1C,CAAA;KACF,CAAA;CACF,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,iBAAiB,KAAG,SAUrD,CAAA"}
@@ -35,7 +35,8 @@ export type VpetCommandLayerApi = {
35
35
  readonly ui: {
36
36
  readonly dialog: VpetDialogStack;
37
37
  };
38
- readonly theme: VpetTheme;
38
+ /** Reads the current theme so dialogs open with the latest host colors. */
39
+ readonly theme: () => VpetTheme;
39
40
  };
40
41
  export type VpetCommandLayerDependencies = {
41
42
  readonly api: VpetCommandLayerApi;
@@ -1 +1 @@
1
- {"version":3,"file":"vpet-command-layer.d.ts","sourceRoot":"","sources":["../../src/tui/vpet-command-layer.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,wFAAwF;IACxF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC3E,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,IAAI,CAAA;KAAE,CAAA;IACnF,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAA;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAA;CACnC,CAAA;AAeD,eAAO,MAAM,wBAAwB,GAAI,iDAMtC,4BAA4B,KAAG,CAAC,MAAM,IAAI,CA0D5C,CAAA"}
1
+ {"version":3,"file":"vpet-command-layer.d.ts","sourceRoot":"","sources":["../../src/tui/vpet-command-layer.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAGxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAI3C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,wFAAwF;IACxF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC3E,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAA;IAChD,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,IAAI,CAAA;KAAE,CAAA;IACnF,QAAQ,CAAC,EAAE,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;KAAE,CAAA;IACjD,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,SAAS,CAAA;CAChC,CAAA;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,CAAC,GAAG,EAAE,mBAAmB,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAA;CACnC,CAAA;AAeD,eAAO,MAAM,wBAAwB,GAAI,iDAMtC,4BAA4B,KAAG,CAAC,MAAM,IAAI,CA0D5C,CAAA"}
package/dist/tui.d.ts CHANGED
@@ -44,7 +44,8 @@ export type TuiCompositionApi = {
44
44
  readonly ui?: {
45
45
  readonly dialog: VpetDialogStack;
46
46
  };
47
- readonly theme?: VpetTheme;
47
+ /** Reads the current theme. Called at render time so live host theme switches propagate. */
48
+ readonly theme?: () => VpetTheme;
48
49
  };
49
50
  type TuiSchedulingOptions = {
50
51
  readonly scheduleVisualInterval?: (callback: () => void, intervalMs: number) => () => void;
package/dist/tui.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../src/tui.tsx"],"names":[],"mappings":"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"}
package/dist/tui.js CHANGED
@@ -58076,7 +58076,6 @@ var ARTWORK_COLUMNS = 16;
58076
58076
  var NEXT_CHECK_PREFIX = "Next check: ";
58077
58077
  var URL_LABEL = "Encyclopedia entry";
58078
58078
  var LINK_ATTRIBUTES = createTextAttributes({ underline: true });
58079
- var LINK_COLOR = "#5f87ff";
58080
58079
  var formatCount = (value) => value.toLocaleString("en-US");
58081
58080
  var positionedOutput = (animation) => {
58082
58081
  if ("result" in animation)
@@ -58132,10 +58131,12 @@ var VpetSidebarCard = (props) => {
58132
58131
  let artworkWidth;
58133
58132
  let nextCheckWidth;
58134
58133
  let reportedArtworkWidth;
58135
- const updateText = (renderable, content) => {
58134
+ const updateText = (renderable, content, color) => {
58136
58135
  if (renderable === undefined)
58137
58136
  return;
58138
58137
  renderable.content = content;
58138
+ if (color !== undefined)
58139
+ renderable.fg = color;
58139
58140
  renderable.requestRender();
58140
58141
  };
58141
58142
  const handleUrlClick = () => {
@@ -58146,23 +58147,25 @@ var VpetSidebarCard = (props) => {
58146
58147
  };
58147
58148
  const renderCard = () => {
58148
58149
  const model = props.model();
58150
+ const theme = props.theme?.();
58151
+ const textColor = theme?.current.text;
58149
58152
  for (const [index, content] of artworkRows(props.animation(), Math.floor(artworkWidth?.width ?? 0)).entries()) {
58150
- updateText(artwork[index], content);
58153
+ updateText(artwork[index], content, textColor);
58151
58154
  }
58152
58155
  switch (model.kind) {
58153
58156
  case "no_partner":
58154
- updateText(name, model.messageLine);
58157
+ updateText(name, model.messageLine, textColor);
58155
58158
  updateText(stage, "");
58156
58159
  updateText(nextCheck, "");
58157
58160
  updateText(gauge, "");
58158
58161
  updateText(url, "");
58159
58162
  return;
58160
58163
  case "partner":
58161
- updateText(name, model.isSetOverride ? `${model.name} (set)` : model.name);
58162
- updateText(stage, model.frozen ? `${model.stage} (frozen)` : model.stage);
58163
- updateText(nextCheck, buildNextCheckLine(model, nextCheckWidth?.width ?? 0));
58164
- updateText(gauge, model.isTerminal ? "-/-" : `${formatCount(model.gauge)}/${formatCount(model.threshold)}`);
58165
- updateText(url, URL_LABEL);
58164
+ updateText(name, model.isSetOverride ? `${model.name} (set)` : model.name, textColor);
58165
+ updateText(stage, model.frozen ? `${model.stage} (frozen)` : model.stage, textColor);
58166
+ updateText(nextCheck, buildNextCheckLine(model, nextCheckWidth?.width ?? 0), textColor);
58167
+ updateText(gauge, model.isTerminal ? "-/-" : `${formatCount(model.gauge)}/${formatCount(model.threshold)}`, textColor);
58168
+ updateText(url, URL_LABEL, theme?.current.accent);
58166
58169
  return;
58167
58170
  }
58168
58171
  };
@@ -58236,7 +58239,6 @@ var VpetSidebarCard = (props) => {
58236
58239
  /* @__PURE__ */ jsxDEV("text", {
58237
58240
  wrapMode: "none",
58238
58241
  truncate: true,
58239
- fg: LINK_COLOR,
58240
58242
  attributes: LINK_ATTRIBUTES,
58241
58243
  onMouseDown: handleUrlClick,
58242
58244
  ref: (renderable) => {
@@ -58717,6 +58719,8 @@ var buildSidebarCardModel = (inputs, settings = DEFAULT_VPET_SETTINGS) => {
58717
58719
  // src/tui/theme.ts
58718
58720
  var toVpetTheme = (theme) => ({
58719
58721
  current: {
58722
+ text: theme.text.base,
58723
+ accent: theme.hue.accent[200] ?? theme.text.action.primary.base,
58720
58724
  primary: theme.text.action.primary.base,
58721
58725
  success: theme.text.feedback.success.base,
58722
58726
  textMuted: theme.text.muted
@@ -59121,7 +59125,7 @@ var registerVpetCommandLayer = ({
59121
59125
  const model = buildDexViewModel(readArchive(reader), catalog, settings);
59122
59126
  isDialogOpen = true;
59123
59127
  api.ui.dialog.replace(() => /* @__PURE__ */ jsxDEV4(VpetDexDialog, {
59124
- theme: api.theme,
59128
+ theme: api.theme(),
59125
59129
  model,
59126
59130
  onClose: closeDialog
59127
59131
  }, undefined, false, undefined, this), closeDialog);
@@ -59133,7 +59137,7 @@ var registerVpetCommandLayer = ({
59133
59137
  const model = buildHistoryViewModel(readArchive(reader), catalog, settings);
59134
59138
  isDialogOpen = true;
59135
59139
  api.ui.dialog.replace(() => /* @__PURE__ */ jsxDEV4(VpetHistoryDialog, {
59136
- theme: api.theme,
59140
+ theme: api.theme(),
59137
59141
  model,
59138
59142
  onClose: closeDialog
59139
59143
  }, undefined, false, undefined, this), closeDialog);
@@ -59288,6 +59292,7 @@ var createTui = (loadInputs, settings, scheduling = {}) => async (api) => {
59288
59292
  return /* @__PURE__ */ jsxDEV5(VpetSidebarCard, {
59289
59293
  model: () => buildSidebarCardModel(inputs(), settings),
59290
59294
  animation,
59295
+ theme: api.theme,
59291
59296
  onArtworkWidthChange: (width) => {
59292
59297
  if (disposed)
59293
59298
  return;
@@ -59360,7 +59365,7 @@ var plugin = Plugin.define({
59360
59365
  setSize: (size) => context.ui.dialog.set({ size })
59361
59366
  }
59362
59367
  },
59363
- theme: toVpetTheme(context.theme)
59368
+ theme: () => toVpetTheme(context.theme)
59364
59369
  });
59365
59370
  return () => {
59366
59371
  for (let index = cleanups.length - 1;index >= 0; index -= 1)
@@ -59374,5 +59379,5 @@ export {
59374
59379
  createTui
59375
59380
  };
59376
59381
 
59377
- //# debugId=25BF8E68C114596364756E2164756E21
59382
+ //# debugId=06835980CA6F808D64756E2164756E21
59378
59383
  //# sourceMappingURL=tui.js.map