@emseepea/react 0.0.22 → 0.2.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # React Renderer
2
2
 
3
- `@emseepea/react` renders a validated Em See Pea form view with native
3
+ `@emseepea/react` renders validated Em See Pea form and result views with native
4
4
  HTML controls. It is unstyled and does not send requests, authenticate people,
5
5
  or authorize server actions.
6
6
 
@@ -16,4 +16,38 @@ import { ElicitationForm } from "@emseepea/react";
16
16
  See the [React UI server example](../../examples/react-ui-server/README.md)
17
17
  for the checked renderer in a working server.
18
18
 
19
+ ## Render an MCP Apps result
20
+
21
+ Use `ResultCard` with the validated model from `@emseepea/server/ui`. The
22
+ component keeps status announcements persistent and uses native headings,
23
+ lists, disclosures, and buttons.
24
+
25
+ ```tsx
26
+ import { ResultCard, useMcpApp, useMcpTheme } from "@emseepea/react";
27
+ import { useEffect } from "react";
28
+
29
+ const app = useMcpApp({ name: "Result", version: "1.0.0", parseResult });
30
+ <ResultCard view={toResultView(app.result)} headingLevel={2} />;
31
+ ```
32
+
33
+ `useMcpApp` implements the standards-first MCP Apps initialization, host-context,
34
+ tool-result, cancellation, teardown, and `ui/message` lifecycle. Keep domain
35
+ result parsing and mapping in the adopter, and treat host messages as untrusted.
36
+
37
+ Use `useMcpTheme` when the app also runs outside an MCP host. A host theme wins;
38
+ otherwise the hook follows the browser colour scheme. The hook returns the value
39
+ without applying styles, attributes, or classes.
40
+
41
+ ```tsx
42
+ const theme = useMcpTheme(app.hostContext.theme);
43
+
44
+ useEffect(() => {
45
+ document.documentElement.dataset.emseepeaTheme = theme;
46
+ }, [theme]);
47
+ ```
48
+
49
+ For a self-contained resource that does not already use React, see the measured
50
+ [React and Svelte bundle guidance](../framework/README.md#choose-a-result-card-package).
51
+ When React is already present, this package avoids adding a second framework.
52
+
19
53
  This package is open source under MIT and remains pre-alpha while its version is below 1.0.
package/dist/index.d.ts CHANGED
@@ -1,8 +1,24 @@
1
- import type { ElicitationHeadingLevel, ElicitationView } from "@emseepea/server/ui";
1
+ import { type McpTheme } from "./theme.js";
2
+ import type { ElicitationHeadingLevel, ElicitationView, McpAppControllerOptions, McpAppHostContext, McpAppState, ResultAction, ResultView as ResultViewModel } from "@emseepea/server/ui";
2
3
  export interface ElicitationFormProps {
3
4
  readonly view: ElicitationView;
4
5
  readonly headingLevel: ElicitationHeadingLevel;
5
6
  readonly onSubmit?: (data: FormData) => void;
6
7
  }
7
8
  export declare function ElicitationForm({ view: candidate, headingLevel, onSubmit }: ElicitationFormProps): import("react").JSX.Element;
9
+ export interface ResultCardProps {
10
+ readonly view: ResultViewModel;
11
+ readonly headingLevel: ElicitationHeadingLevel;
12
+ readonly onAction?: (action: ResultAction) => void;
13
+ readonly idPrefix?: string;
14
+ }
15
+ export declare function ResultCard({ view: candidate, headingLevel, onAction, idPrefix }: ResultCardProps): import("react").JSX.Element;
16
+ export type McpAppOptions<Result> = Omit<McpAppControllerOptions<Result>, "requestId">;
17
+ export interface McpAppConnection<Result> extends McpAppState<Result> {
18
+ readonly sendMessage: (text: string) => Promise<void>;
19
+ }
20
+ export type { McpAppHostContext };
21
+ export type { McpTheme };
22
+ export declare function useMcpTheme(hostTheme?: McpTheme): McpTheme;
23
+ export declare function useMcpApp<Result>(options: McpAppOptions<Result>): McpAppConnection<Result>;
8
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,uBAAuB,EACvB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BA0GhG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,KAAK,EAEV,uBAAuB,EACvB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,UAAU,IAAI,eAAe,EAC9B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BA0GhG;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,eAAe,+BA8FhG;AAgBD,MAAM,MAAM,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;AAEvF,MAAM,WAAW,gBAAgB,CAAC,MAAM,CAAE,SAAQ,WAAW,CAAC,MAAM,CAAC;IACnE,QAAQ,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAClC,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEzB,wBAAgB,WAAW,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAG1D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAmB1F"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { parseElicitationView } from "@emseepea/server/ui";
3
- import { useEffect, useRef } from "react";
2
+ import { createMcpAppController, parseElicitationView, parseResultView } from "@emseepea/server/ui";
3
+ import { useEffect, useId, useMemo, useRef, useSyncExternalStore } from "react";
4
+ import { subscribeSystemTheme, systemTheme } from "./theme.js";
4
5
  export function ElicitationForm({ view: candidate, headingLevel, onSubmit }) {
5
6
  const view = parseElicitationView(candidate);
6
7
  const Heading = heading(`h${checkedHeadingLevel(headingLevel)}`);
@@ -35,6 +36,70 @@ export function ElicitationForm({ view: candidate, headingLevel, onSubmit }) {
35
36
  : sentence(view.state.heading);
36
37
  return (_jsxs("section", { "data-emseepea-part": "view", "data-emseepea-state": view.state.kind, children: [_jsx(Heading, { id: headingId, children: view.heading }), view.intro && _jsx("p", { id: introId, "data-emseepea-part": "intro", children: view.intro }), _jsx("div", { id: `${view.id}--status`, "data-emseepea-part": "status", role: "status", "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "additions text", tabIndex: view.state.focusTarget === "status" ? -1 : undefined, autoFocus: view.state.focusTarget === "status", ref: status, children: statusText }), view.state.kind === "terminal" ? (_jsxs("div", { id: `${view.id}--terminal`, "data-emseepea-part": "terminal", tabIndex: -1, autoFocus: view.state.focusTarget === "terminal", ref: terminal, children: [_jsx(Subheading, { children: view.state.heading }), _jsx("p", { children: view.state.message })] })) : (_jsxs(_Fragment, { children: [view.state.kind === "invalid" && (_jsxs("div", { id: `${view.id}--error-summary`, "data-emseepea-part": "error-summary", role: "alert", tabIndex: -1, autoFocus: view.state.focusTarget === "error-summary", ref: errorSummary, children: [_jsx(Subheading, { children: view.state.summary.heading }), _jsx("ul", { children: view.state.summary.items.map((item) => (_jsx("li", { children: _jsxs("a", { href: `#${view.id}--field--${item.fieldId}`, children: [view.fields.find((field) => field.id === item.fieldId)?.label, ": ", item.message] }) }, item.fieldId))) })] })), _jsxs("form", { method: "post", "data-emseepea-part": "form", "aria-labelledby": headingId, "aria-describedby": view.intro ? introId : undefined, "aria-busy": view.state.kind === "busy" ? "true" : undefined, onSubmit: submit, children: [_jsxs("fieldset", { children: [_jsx("legend", { children: view.legend }), view.fields.map((field) => _jsx(Field, { viewId: view.id, field: field }, field.id))] }), _jsx("button", { type: "submit", "data-emseepea-part": "submit", disabled: view.state.kind === "busy", children: view.submitLabel })] })] }))] }));
37
38
  }
39
+ export function ResultCard({ view: candidate, headingLevel, onAction, idPrefix }) {
40
+ const view = parseResultView(candidate);
41
+ const reactId = useId().replaceAll(":", "");
42
+ const prefix = idPrefix === undefined ? `${view.id}-${reactId}` : checkedIdentifier("idPrefix", idPrefix);
43
+ const Heading = heading(`h${checkedHeadingLevel(headingLevel)}`);
44
+ const result = useRef(null);
45
+ const status = useRef(null);
46
+ const firstAction = useRef(null);
47
+ const lastFocusKey = useRef("");
48
+ const firstEnabledAction = view.actions.findIndex((action) => !action.disabled);
49
+ useEffect(() => {
50
+ if (view.state.focusTarget === "none") {
51
+ lastFocusKey.current = "";
52
+ return;
53
+ }
54
+ const focusKey = `${view.state.kind}\u0000${view.state.focusTarget}\u0000${view.state.status}`;
55
+ if (lastFocusKey.current === focusKey)
56
+ return;
57
+ lastFocusKey.current = focusKey;
58
+ const target = view.state.focusTarget === "result"
59
+ ? result.current
60
+ : view.state.focusTarget === "status"
61
+ ? status.current
62
+ : view.state.focusTarget === "actions"
63
+ ? firstAction.current
64
+ : undefined;
65
+ target?.focus();
66
+ }, [view.state.focusTarget, view.state.kind, view.state.status]);
67
+ const headingId = `${prefix}--heading`;
68
+ return (_jsxs("section", { ref: result, "data-emseepea-part": "result-view", "data-emseepea-state": view.state.kind, "aria-labelledby": headingId, tabIndex: view.state.focusTarget === "result" ? -1 : undefined, autoFocus: view.state.focusTarget === "result", children: [_jsx(Heading, { id: headingId, children: view.heading }), _jsx("div", { ref: status, "data-emseepea-part": "status", role: "status", "aria-live": "polite", "aria-atomic": "true", "aria-relevant": "additions text", tabIndex: view.state.focusTarget === "status" ? -1 : undefined, autoFocus: view.state.focusTarget === "status", children: view.state.status }), view.headline && _jsx("p", { "data-emseepea-part": "headline", children: view.headline }), view.summary && _jsx("p", { "data-emseepea-part": "summary", children: view.summary }), view.metrics.length > 0 && (_jsx("dl", { "data-emseepea-part": "metrics", children: view.metrics.map((metric) => (_jsxs("div", { "data-emseepea-part": "metric", children: [_jsxs("dt", { children: [metric.label, metric.hint && _jsxs(_Fragment, { children: [" ", _jsxs("span", { "data-emseepea-part": "hint", children: ["(", metric.hint, ")"] })] })] }), _jsx("dd", { children: metric.value })] }, `${metric.label}:${metric.value}`))) })), view.reasons ? _jsx(ResultList, { part: "reasons", group: view.reasons, prefix: prefix }) : null, view.assumptions ? _jsx(ResultList, { part: "assumptions", group: view.assumptions, prefix: prefix }) : null, view.disclosure && (_jsxs("details", { "data-emseepea-part": "disclosure", children: [_jsx("summary", { children: view.disclosure.label }), _jsx("ul", { children: view.disclosure.items.map((item) => _jsx("li", { children: item }, item)) })] })), view.actions.length > 0 && (_jsx("div", { "data-emseepea-part": "actions", role: "group", "aria-label": view.actionsLabel, children: view.actions.map((action, index) => (_jsx("button", { ref: index === firstEnabledAction ? firstAction : undefined, type: "button", "data-emseepea-part": "action", "data-emseepea-action": action.id, "aria-label": action.accessibleName, disabled: action.disabled, autoFocus: index === firstEnabledAction && view.state.focusTarget === "actions", onClick: onAction ? () => onAction(action) : undefined, children: action.label }, action.id))) })), _jsx("p", { "data-emseepea-part": "disclaimer", children: view.disclaimer })] }));
69
+ }
70
+ function ResultList({ part, group, prefix }) {
71
+ const labelId = `${prefix}--${part}-label`;
72
+ return (_jsxs("div", { "data-emseepea-part": part, children: [_jsx("p", { id: labelId, "data-emseepea-part": `${part}-label`, children: group.label }), _jsx("ul", { "aria-labelledby": labelId, children: group.items.map((item) => _jsx("li", { children: item }, item)) })] }));
73
+ }
74
+ export function useMcpTheme(hostTheme) {
75
+ const browserTheme = useSyncExternalStore(subscribeSystemTheme, systemTheme, () => "light");
76
+ return hostTheme === "light" || hostTheme === "dark" ? hostTheme : browserTheme;
77
+ }
78
+ export function useMcpApp(options) {
79
+ const parser = useRef(options.parseResult);
80
+ parser.current = options.parseResult;
81
+ const initializeId = useId();
82
+ const controller = useMemo(() => createMcpAppController({
83
+ name: options.name,
84
+ version: options.version,
85
+ timeoutMs: options.timeoutMs,
86
+ requestId: initializeId,
87
+ parseResult: (value) => parser.current(value),
88
+ }), [initializeId, options.name, options.timeoutMs, options.version]);
89
+ const connection = useSyncExternalStore(controller.subscribe, controller.getState, controller.getState);
90
+ useEffect(() => {
91
+ if (typeof window === "undefined")
92
+ return;
93
+ return controller.connect(window);
94
+ }, [controller]);
95
+ return { ...connection, sendMessage: controller.sendMessage };
96
+ }
97
+ function checkedIdentifier(field, value) {
98
+ if (typeof value !== "string" || !/^[A-Za-z][A-Za-z0-9_-]{0,63}$/.test(value)) {
99
+ throw new TypeError(`${field} must be a valid identifier`);
100
+ }
101
+ return value;
102
+ }
38
103
  function Field({ viewId, field }) {
39
104
  const fieldId = `${viewId}--field--${field.id}`;
40
105
  const descriptionId = `${fieldId}--description`;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAoC,MAAM,OAAO,CAAC;AAa5E,MAAM,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAwB;IAC/F,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe;YACvD,CAAC,CAAC,YAAY,CAAC,OAAO;YACtB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ;gBACnC,CAAC,CAAC,MAAM,CAAC,OAAO;gBAChB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU;oBACrC,CAAC,CAAC,QAAQ,CAAC,OAAO;oBAClB,CAAC,CAAC,SAAS,CAAC;QAClB,MAAM,EAAE,KAAK,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,MAAM,GAAG,QAAQ;QACrB,CAAC,CAAC,CAAC,KAAiC,EAAE,EAAE;YACpC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9C,CAAC;QACH,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,EAAE,WAAW,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO;QAC5C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE;QACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS;YAC7B,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG;YAC9G,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;gBAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBACrB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnC,OAAO,CACL,yCAA4B,MAAM,yBAAsB,IAAI,CAAC,KAAK,CAAC,IAAI,aACrE,KAAC,OAAO,IAAC,EAAE,EAAE,SAAS,YAAG,IAAI,CAAC,OAAO,GAAW,EAC/C,IAAI,CAAC,KAAK,IAAI,YAAG,EAAE,EAAE,OAAO,wBAAqB,OAAO,YAAE,IAAI,CAAC,KAAK,GAAK,EAC1E,cACE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,UAAU,wBACL,QAAQ,EAC3B,IAAI,EAAC,QAAQ,eACH,QAAQ,iBACN,MAAM,mBACJ,gBAAgB,EAC9B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAC9D,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,EAC9C,GAAG,EAAE,MAAM,YAEV,UAAU,GACP,EACL,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAChC,eACE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,YAAY,wBACP,UAAU,EAC7B,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU,EAChD,GAAG,EAAE,QAAQ,aAEb,KAAC,UAAU,cAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAc,EAC7C,sBAAI,IAAI,CAAC,KAAK,CAAC,OAAO,GAAK,IACvB,CACP,CAAC,CAAC,CAAC,CACF,8BACG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAChC,eACE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,iBAAiB,wBACZ,eAAe,EAClC,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,CAAC,CAAC,EACZ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,eAAe,EACrD,GAAG,EAAE,YAAY,aAEjB,KAAC,UAAU,cAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,GAAc,EACrD,uBACG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACtC,uBACE,aAAG,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,YAAY,IAAI,CAAC,OAAO,EAAE,aAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,QAAI,IAAI,CAAC,OAAO,IAC5E,IAHG,IAAI,CAAC,OAAO,CAIhB,CACN,CAAC,GACC,IACD,CACP,EACD,gBACE,MAAM,EAAC,MAAM,wBACM,MAAM,qBACR,SAAS,sBACR,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,eACvC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC1D,QAAQ,EAAE,MAAM,aAEhB,+BACE,2BAAS,IAAI,CAAC,MAAM,GAAU,EAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAC,KAAK,IAAgB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,IAAvC,KAAK,CAAC,EAAE,CAAmC,CAAC,IAC3E,EACX,iBAAQ,IAAI,EAAC,QAAQ,wBAAoB,QAAQ,EAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,YACnF,IAAI,CAAC,WAAW,GACV,IACJ,IACN,CACJ,IACO,CACX,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAiE;IAC7F,MAAM,OAAO,GAAG,GAAG,MAAM,YAAY,KAAK,CAAC,EAAE,EAAE,CAAC;IAChD,MAAM,aAAa,GAAG,GAAG,OAAO,eAAe,CAAC;IAChD,MAAM,OAAO,GAAG,GAAG,OAAO,SAAS,CAAC;IACpC,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC5G,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IAC1C,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACvD,kBAAkB,EAAE,WAAW;KACvB,CAAC;IACX,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU;QAC1C,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE;QAC9C,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM;QACnC,CAAC,CAAC,gBAAwB,IAAI,EAAC,MAAM,KAAK,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,IAArH,UAAU,CAA+G;QACvI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ;YACvB,CAAC,CAAC,CACE,qBAA6B,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,aAClE,iBAAQ,KAAK,EAAC,EAAE,YAAE,KAAK,CAAC,WAAW,GAAU,EAC5C,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,iBAA2B,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,YAAG,MAAM,CAAC,KAAK,IAA3E,MAAM,CAAC,KAAK,CAAyE,CACnG,CAAC,KAJS,UAAU,CAKd,CACV;YACH,CAAC,CAAC,gBAAwB,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,MAAM,KAAK,MAAM,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,IAAlF,UAAU,CAA4E,CAAC;IAEzG,MAAM,KAAK,GAAG,iBAAO,OAAO,EAAE,OAAO,aAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,mCAAG,qCAAyB,UAAU,2BAAkB,IAAG,IAAS,CAAC;IAE5I,OAAO,CACL,qCAAwB,OAAO,8BAA2B,KAAK,CAAC,IAAI,aACjE,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,8BAAG,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,8BAAG,KAAK,EAAE,OAAO,IAAI,EACzE,KAAK,CAAC,WAAW,IAAI,YAAG,EAAE,EAAE,aAAa,wBAAqB,aAAa,YAAE,KAAK,CAAC,WAAW,GAAK,EACnG,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CACtB,cAAK,EAAE,EAAE,OAAO,wBAAqB,aAAa,YAC/C,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAgB,KAAK,IAAb,KAAK,CAAa,CAAC,GACpD,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAmB,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export type McpTheme = "light" | "dark";
2
+ export declare function systemTheme(): McpTheme;
3
+ export declare function subscribeSystemTheme(onChange: () => void): () => void;
4
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAIxC,wBAAgB,WAAW,IAAI,QAAQ,CAItC;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CASrE"}
package/dist/theme.js ADDED
@@ -0,0 +1,18 @@
1
+ const query = "(prefers-color-scheme: dark)";
2
+ export function systemTheme() {
3
+ return typeof window !== "undefined" && typeof window.matchMedia === "function" && window.matchMedia(query).matches
4
+ ? "dark"
5
+ : "light";
6
+ }
7
+ export function subscribeSystemTheme(onChange) {
8
+ if (typeof window === "undefined" || typeof window.matchMedia !== "function")
9
+ return () => { };
10
+ const preference = window.matchMedia(query);
11
+ if (typeof preference.addEventListener === "function") {
12
+ preference.addEventListener("change", onChange);
13
+ return () => preference.removeEventListener("change", onChange);
14
+ }
15
+ preference.addListener(onChange);
16
+ return () => preference.removeListener(onChange);
17
+ }
18
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAG,8BAA8B,CAAC;AAE7C,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO;QACjH,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAoB;IACvD,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAC9F,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,OAAO,UAAU,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QACtD,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emseepea/react",
3
- "version": "0.0.22",
3
+ "version": "0.2.0",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -30,7 +30,7 @@
30
30
  "test:built": "node --test test/*.test.mjs"
31
31
  },
32
32
  "dependencies": {
33
- "@emseepea/server": "0.10.3"
33
+ "@emseepea/server": "0.11.0"
34
34
  },
35
35
  "peerDependencies": {
36
36
  "react": "^19.0.0",