@watt-ui/react 0.1.3 → 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.
Files changed (102) hide show
  1. package/NOTICE +4 -0
  2. package/README.md +9 -9
  3. package/dist/chart/category-engine.d.ts +2 -0
  4. package/dist/chart/category-engine.d.ts.map +1 -0
  5. package/dist/chart/category-engine.js +9 -0
  6. package/dist/chart/category-engine.js.map +1 -0
  7. package/dist/chart/category-options.d.ts +23 -0
  8. package/dist/chart/category-options.d.ts.map +1 -0
  9. package/dist/chart/category-options.js +120 -0
  10. package/dist/chart/category-options.js.map +1 -0
  11. package/dist/components/alarm-feed.d.ts.map +1 -1
  12. package/dist/components/alarm-feed.js +1 -1
  13. package/dist/components/alarm-feed.js.map +1 -1
  14. package/dist/components/asset-tree.d.ts.map +1 -1
  15. package/dist/components/asset-tree.js +16 -2
  16. package/dist/components/asset-tree.js.map +1 -1
  17. package/dist/components/battery-soc.d.ts.map +1 -1
  18. package/dist/components/battery-soc.js +5 -1
  19. package/dist/components/battery-soc.js.map +1 -1
  20. package/dist/components/category-chart.d.ts +37 -0
  21. package/dist/components/category-chart.d.ts.map +1 -0
  22. package/dist/components/category-chart.js +251 -0
  23. package/dist/components/category-chart.js.map +1 -0
  24. package/dist/components/energy-flow.d.ts +2 -1
  25. package/dist/components/energy-flow.d.ts.map +1 -1
  26. package/dist/components/energy-flow.js +2 -2
  27. package/dist/components/energy-flow.js.map +1 -1
  28. package/dist/components/equipment-card.d.ts +12 -0
  29. package/dist/components/equipment-card.d.ts.map +1 -0
  30. package/dist/components/equipment-card.js +18 -0
  31. package/dist/components/equipment-card.js.map +1 -0
  32. package/dist/components/equipment-heatmap.d.ts +33 -0
  33. package/dist/components/equipment-heatmap.d.ts.map +1 -0
  34. package/dist/components/equipment-heatmap.js +161 -0
  35. package/dist/components/equipment-heatmap.js.map +1 -0
  36. package/dist/components/equipment-table.d.ts +34 -0
  37. package/dist/components/equipment-table.d.ts.map +1 -0
  38. package/dist/components/equipment-table.js +141 -0
  39. package/dist/components/equipment-table.js.map +1 -0
  40. package/dist/components/metric-trend.d.ts +13 -0
  41. package/dist/components/metric-trend.d.ts.map +1 -0
  42. package/dist/components/metric-trend.js +30 -0
  43. package/dist/components/metric-trend.js.map +1 -0
  44. package/dist/components/operating-timeline.d.ts +31 -0
  45. package/dist/components/operating-timeline.d.ts.map +1 -0
  46. package/dist/components/operating-timeline.js +61 -0
  47. package/dist/components/operating-timeline.js.map +1 -0
  48. package/dist/components/plant-fleet-map.d.ts +32 -0
  49. package/dist/components/plant-fleet-map.d.ts.map +1 -0
  50. package/dist/components/plant-fleet-map.js +56 -0
  51. package/dist/components/plant-fleet-map.js.map +1 -0
  52. package/dist/components/threshold-gauge.d.ts +19 -0
  53. package/dist/components/threshold-gauge.d.ts.map +1 -0
  54. package/dist/components/threshold-gauge.js +54 -0
  55. package/dist/components/threshold-gauge.js.map +1 -0
  56. package/dist/components/time-range-selector.d.ts +16 -0
  57. package/dist/components/time-range-selector.d.ts.map +1 -0
  58. package/dist/components/time-range-selector.js +47 -0
  59. package/dist/components/time-range-selector.js.map +1 -0
  60. package/dist/icons/index.d.ts +17 -1
  61. package/dist/icons/index.d.ts.map +1 -1
  62. package/dist/icons/index.js +98 -1
  63. package/dist/icons/index.js.map +1 -1
  64. package/dist/index.d.ts +19 -0
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +9 -0
  67. package/dist/index.js.map +1 -1
  68. package/dist/map/land.d.ts +2 -0
  69. package/dist/map/land.d.ts.map +1 -0
  70. package/dist/map/land.js +3 -0
  71. package/dist/map/land.js.map +1 -0
  72. package/dist/server.d.ts +5 -0
  73. package/dist/server.d.ts.map +1 -1
  74. package/dist/server.js +21 -1
  75. package/dist/server.js.map +1 -1
  76. package/dist/styles.css +133 -4
  77. package/dist/virtual-focus.d.ts +3 -0
  78. package/dist/virtual-focus.d.ts.map +1 -0
  79. package/dist/virtual-focus.js +23 -0
  80. package/dist/virtual-focus.js.map +1 -0
  81. package/package.json +37 -1
  82. package/src/chart/category-engine.ts +8 -0
  83. package/src/chart/category-options.ts +158 -0
  84. package/src/components/alarm-feed.tsx +7 -2
  85. package/src/components/asset-tree.tsx +21 -5
  86. package/src/components/battery-soc.tsx +8 -0
  87. package/src/components/category-chart.tsx +452 -0
  88. package/src/components/energy-flow.tsx +3 -1
  89. package/src/components/equipment-card.tsx +46 -0
  90. package/src/components/equipment-heatmap.tsx +298 -0
  91. package/src/components/equipment-table.tsx +302 -0
  92. package/src/components/metric-trend.tsx +87 -0
  93. package/src/components/operating-timeline.tsx +182 -0
  94. package/src/components/plant-fleet-map.tsx +173 -0
  95. package/src/components/threshold-gauge.tsx +152 -0
  96. package/src/components/time-range-selector.tsx +126 -0
  97. package/src/icons/index.tsx +107 -0
  98. package/src/index.ts +44 -0
  99. package/src/map/land.ts +2 -0
  100. package/src/server.ts +28 -1
  101. package/src/styles.css +133 -4
  102. package/src/virtual-focus.ts +27 -0
@@ -0,0 +1,251 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { createContext, forwardRef, useContext, useEffect, useMemo, useRef, useState, } from "react";
4
+ import { useComposedRefs } from "@radix-ui/react-compose-refs";
5
+ import { cx, part } from "../internal.js";
6
+ import { MotionProvider, motionStyle, useChangeFeedback } from "../motion.js";
7
+ import { categoryOption, validateCategories, hasCategoryConflict, } from "../chart/category-options.js";
8
+ const Context = createContext(null);
9
+ function useCategory() {
10
+ const context = useContext(Context);
11
+ if (!context)
12
+ throw new Error("CategoryChart parts require CategoryChart.Root");
13
+ return context;
14
+ }
15
+ const Root = forwardRef(function CategoryRoot({ categories, series, orientation = "vertical", stacked = false, options, events, onReady, onError, density = "comfortable", motion, style, className, ...props }, ref) {
16
+ useMemo(() => validateCategories({ categories, series }), [categories, series]);
17
+ useEffect(() => {
18
+ if (process.env.NODE_ENV !== "production" &&
19
+ hasCategoryConflict({ categories, series, orientation, options }))
20
+ console.warn("Watt CategoryChart props override conflicting ECharts data, axes, legend or tooltip options.");
21
+ }, [categories, series, orientation, options]);
22
+ const [hidden, setHidden] = useState(new Set());
23
+ const [index, setIndex] = useState(null);
24
+ const inspection = index === null || categories[index] === undefined
25
+ ? null
26
+ : {
27
+ index,
28
+ category: categories[index],
29
+ values: series
30
+ .filter((s) => !hidden.has(s.id))
31
+ .map((s) => ({
32
+ id: s.id,
33
+ label: s.label,
34
+ unit: s.unit,
35
+ value: s.values[index] !== null && Number.isFinite(s.values[index])
36
+ ? s.values[index]
37
+ : null,
38
+ })),
39
+ };
40
+ return (_jsx(MotionProvider, { motion: motion, children: _jsx(Context.Provider, { value: {
41
+ categories,
42
+ series,
43
+ orientation,
44
+ stacked,
45
+ options,
46
+ events,
47
+ onReady,
48
+ onError,
49
+ hidden,
50
+ toggle: (id) => setHidden((old) => {
51
+ const next = new Set(old);
52
+ if (next.has(id))
53
+ next.delete(id);
54
+ else
55
+ next.add(id);
56
+ return next;
57
+ }),
58
+ inspection,
59
+ inspect: setIndex,
60
+ }, children: _jsx("div", { ...props, ref: ref, "data-slot": "category-chart", "data-density": density, className: cx("watt-root min-w-0", className), style: { ...style, ...motionStyle(motion) } }) }) }));
61
+ });
62
+ const Canvas = forwardRef(function CategoryCanvas({ height = 280, previewSvg, className, onKeyDown, ...props }, ref) {
63
+ if (!Number.isFinite(height) || height <= 0)
64
+ throw new Error("CategoryChart.Canvas requires a positive height");
65
+ const context = useCategory();
66
+ const current = useRef(context);
67
+ current.current = context;
68
+ const host = useRef(null);
69
+ const hostRef = useComposedRefs(host, ref);
70
+ const instance = useRef(null);
71
+ const render = useRef(() => { });
72
+ const bindings = useRef(new Map());
73
+ const [ready, setReady] = useState(false);
74
+ const [error, setError] = useState(false);
75
+ useEffect(() => {
76
+ let alive = true, frame = 0;
77
+ let observer, theme;
78
+ const fail = (reason) => {
79
+ if (!alive)
80
+ return;
81
+ setError(true);
82
+ current.current.onError?.(reason instanceof Error ? reason : new Error(String(reason)));
83
+ };
84
+ import("../chart/category-engine.js")
85
+ .then(({ initCategoryCanvas }) => {
86
+ if (!alive || !host.current)
87
+ return;
88
+ const chart = initCategoryCanvas(host.current);
89
+ instance.current = chart;
90
+ let first = true;
91
+ render.current = () => {
92
+ cancelAnimationFrame(frame);
93
+ frame = requestAnimationFrame(() => {
94
+ if (!alive || !host.current)
95
+ return;
96
+ try {
97
+ const styles = getComputedStyle(host.current), ctx = current.current;
98
+ chart.resize({ silent: true });
99
+ chart.setOption(categoryOption({
100
+ ...ctx,
101
+ series: ctx.series.filter((s) => !ctx.hidden.has(s.id)),
102
+ }, {
103
+ text: styles.getPropertyValue("--watt-muted").trim() ||
104
+ "#64748b",
105
+ border: styles.getPropertyValue("--watt-border").trim() ||
106
+ "#e2e8f0",
107
+ accent: styles.getPropertyValue("--watt-accent").trim() ||
108
+ "#355dff",
109
+ }), { notMerge: true });
110
+ setReady(true);
111
+ setError(false);
112
+ if (first) {
113
+ first = false;
114
+ ctx.onReady?.(chart);
115
+ }
116
+ }
117
+ catch (reason) {
118
+ fail(reason);
119
+ }
120
+ });
121
+ };
122
+ chart.on("updateAxisPointer", (event) => {
123
+ const axes = event.axesInfo;
124
+ const axis = axes?.find((a) => a.axisDim ===
125
+ (current.current.orientation === "horizontal" ? "y" : "x"));
126
+ const index = typeof axis?.value === "number"
127
+ ? axis.value
128
+ : current.current.categories.indexOf(String(axis?.value));
129
+ if (index >= 0 && index < current.current.categories.length)
130
+ current.current.inspect(index);
131
+ });
132
+ chart.getZr().on("globalout", () => current.current.inspect(null));
133
+ for (const name of Object.keys(current.current.events ?? {})) {
134
+ const handler = (event) => current.current.events?.[name]?.(event, chart);
135
+ chart.on(name, handler);
136
+ bindings.current.set(name, handler);
137
+ }
138
+ observer = new ResizeObserver(() => render.current());
139
+ observer.observe(host.current);
140
+ theme = new MutationObserver(() => render.current());
141
+ for (let element = host.current.parentElement; element; element = element.parentElement)
142
+ theme.observe(element, {
143
+ attributes: true,
144
+ attributeFilter: ["class", "style", "data-theme"],
145
+ });
146
+ render.current();
147
+ })
148
+ .catch(fail);
149
+ return () => {
150
+ alive = false;
151
+ cancelAnimationFrame(frame);
152
+ observer?.disconnect();
153
+ theme?.disconnect();
154
+ instance.current?.dispose();
155
+ instance.current = null;
156
+ bindings.current.clear();
157
+ render.current = () => { };
158
+ };
159
+ }, []);
160
+ useEffect(() => render.current(), [
161
+ context.categories,
162
+ context.series,
163
+ context.orientation,
164
+ context.stacked,
165
+ context.options,
166
+ context.hidden,
167
+ className,
168
+ props.style,
169
+ ]);
170
+ const eventNames = Object.keys(context.events ?? {})
171
+ .sort()
172
+ .join("\0");
173
+ useEffect(() => {
174
+ const chart = instance.current;
175
+ if (!chart || !ready)
176
+ return;
177
+ const names = new Set(eventNames ? eventNames.split("\0") : []);
178
+ for (const [name, handler] of bindings.current)
179
+ if (!names.has(name)) {
180
+ chart.off(name, handler);
181
+ bindings.current.delete(name);
182
+ }
183
+ for (const name of names)
184
+ if (!bindings.current.has(name)) {
185
+ const handler = (event) => current.current.events?.[name]?.(event, chart);
186
+ chart.on(name, handler);
187
+ bindings.current.set(name, handler);
188
+ }
189
+ }, [eventNames, ready]);
190
+ return (_jsxs("div", { className: "relative min-w-0", style: { height }, children: [!ready && previewSvg && (_jsx("div", { "aria-hidden": "true", className: "absolute inset-0", dangerouslySetInnerHTML: { __html: previewSvg } })), _jsx("div", { ...props, ref: hostRef, role: "img", tabIndex: 0, "aria-busy": !ready && !error, "data-error": error || undefined, "data-slot": "category-chart-canvas", className: cx("h-full w-full outline-offset-4 focus-visible:outline-2 focus-visible:outline-[var(--watt-accent)]", className), onKeyDown: (event) => {
191
+ onKeyDown?.(event);
192
+ if (event.defaultPrevented || !context.categories.length)
193
+ return;
194
+ if (event.key === "Escape") {
195
+ context.inspect(null);
196
+ return;
197
+ }
198
+ if (![
199
+ "ArrowLeft",
200
+ "ArrowRight",
201
+ "ArrowUp",
202
+ "ArrowDown",
203
+ "Home",
204
+ "End",
205
+ ].includes(event.key))
206
+ return;
207
+ event.preventDefault();
208
+ const next = event.key === "Home"
209
+ ? 0
210
+ : event.key === "End"
211
+ ? context.categories.length - 1
212
+ : Math.max(0, Math.min(context.categories.length - 1, (context.inspection?.index ?? -1) +
213
+ (["ArrowLeft", "ArrowUp"].includes(event.key)
214
+ ? -1
215
+ : 1)));
216
+ context.inspect(next);
217
+ instance.current?.dispatchAction({
218
+ type: "showTip",
219
+ seriesIndex: 0,
220
+ dataIndex: next,
221
+ });
222
+ } })] }));
223
+ });
224
+ const Legend = forwardRef(function CategoryLegend({ className, children, ...props }, ref) {
225
+ const context = useCategory();
226
+ return (_jsx("div", { ...props, ref: ref, "data-slot": "category-chart-legend", className: cx("flex flex-wrap gap-4 text-sm", className), children: context.series.map((series) => (_jsx("span", { children: children ? (children({
227
+ ...series,
228
+ hidden: context.hidden.has(series.id),
229
+ toggle: () => context.toggle(series.id),
230
+ })) : (_jsxs("button", { type: "button", "aria-pressed": !context.hidden.has(series.id), className: "watt-motion watt-chart-legend-toggle inline-flex items-center gap-2", onClick: () => context.toggle(series.id), children: [_jsx("span", { className: "watt-motion watt-category-marker h-2 w-2 rounded-full border border-current", "aria-hidden": "true", style: {
231
+ color: series.color ?? "var(--watt-accent)",
232
+ backgroundColor: context.hidden.has(series.id)
233
+ ? "transparent"
234
+ : "currentColor",
235
+ } }), series.label] })) }, series.id))) }));
236
+ });
237
+ const Tooltip = forwardRef(function CategoryTooltip({ children, className, ...props }, ref) {
238
+ const { inspection } = useCategory();
239
+ const host = useRef(null);
240
+ const hostRef = useComposedRefs(host, ref);
241
+ useChangeFeedback(host, inspection !== null);
242
+ return (_jsx("div", { ...props, ref: hostRef, "data-slot": "category-chart-tooltip", "aria-live": props["aria-live"] ?? "polite", "aria-atomic": "true", className: cx("watt-motion", className), children: children(inspection) }));
243
+ });
244
+ export const CategoryChart = {
245
+ Root,
246
+ Canvas,
247
+ Legend,
248
+ Tooltip,
249
+ Description: part("category-chart-description", "text-sm text-[var(--watt-muted)]"),
250
+ };
251
+ //# sourceMappingURL=category-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-chart.js","sourceRoot":"","sources":["../../src/components/category-chart.tsx"],"names":[],"mappings":"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"}
@@ -26,8 +26,9 @@ export interface FlowEdgeProps extends EnergyFlowEdge, FlowStyle {
26
26
  className?: string;
27
27
  label?: string;
28
28
  style?: React.CSSProperties;
29
+ showDirection?: boolean;
29
30
  }
30
- declare function Edge({ source, target, sourcePort, targetPort, animation, path, color, strokeWidth, children, className, label, style, }: FlowEdgeProps): import("react").JSX.Element | null;
31
+ declare function Edge({ source, target, sourcePort, targetPort, animation, path, color, strokeWidth, children, className, label, style, showDirection, }: FlowEdgeProps): import("react").JSX.Element | null;
31
32
  export declare const EnergyFlow: {
32
33
  Root: import("react").ForwardRefExoticComponent<EnergyFlowProps & import("react").RefAttributes<HTMLElement>>;
33
34
  Node: import("react").ForwardRefExoticComponent<FlowNodeProps & import("react").RefAttributes<HTMLElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"energy-flow.d.ts","sourceRoot":"","sources":["../../src/components/energy-flow.tsx"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,IAAI,EAEV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxE,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,SAAS;CAAG;AAuJhE,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,EAAE,EAAE,MAAM,CAAC;CACZ;AAwBD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AA2BD,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,SAAS;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AACD,iBAAS,IAAI,CAAC,EACZ,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,EACT,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,KAAK,EACL,KAAK,GACN,EAAE,aAAa,sCAsGf;AAyBD,eAAO,MAAM,UAAU;;;;;;CAAoC,CAAC"}
1
+ {"version":3,"file":"energy-flow.d.ts","sourceRoot":"","sources":["../../src/components/energy-flow.tsx"],"names":[],"mappings":"AAcA,OAAO,EAGL,KAAK,IAAI,EAEV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxE,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,eAAgB,SAAQ,SAAS,EAAE,SAAS;CAAG;AAuJhE,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,EAAE,EAAE,MAAM,CAAC;CACZ;AAwBD,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AA2BD,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,SAAS;IAC9D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD,iBAAS,IAAI,CAAC,EACZ,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,SAAS,EACT,IAAI,EACJ,KAAK,EACL,WAAW,EACX,QAAQ,EACR,SAAS,EACT,KAAK,EACL,KAAK,EACL,aAAoB,GACrB,EAAE,aAAa,sCAsGf;AAyBD,eAAO,MAAM,UAAU;;;;;;CAAoC,CAAC"}
@@ -138,7 +138,7 @@ const Port = forwardRef(({ id, side, asChild, className, ...props }, ref) => {
138
138
  const Component = asChild ? Slot : "span";
139
139
  return (_jsx(Component, { ...props, ref: hostRef, "data-slot": "energy-flow-port", "data-port-id": id, className: cx("absolute h-2 w-2 rounded-full bg-[var(--watt-accent)]", className) }));
140
140
  });
141
- function Edge({ source, target, sourcePort, targetPort, animation, path, color, strokeWidth, children, className, label, style, }) {
141
+ function Edge({ source, target, sourcePort, targetPort, animation, path, color, strokeWidth, children, className, label, style, showDirection = true, }) {
142
142
  const ctx = useFlow();
143
143
  const id = `watt-${useId().replace(/:/g, "")}`;
144
144
  const a = ctx.rects.get(keyFor(source, sourcePort)), b = ctx.rects.get(keyFor(target, targetPort));
@@ -170,7 +170,7 @@ function Edge({ source, target, sourcePort, targetPort, animation, path, color,
170
170
  animationDuration: `${duration}s`,
171
171
  animationPlayState: settings.speed === 0 ? "paused" : "var(--watt-flow-play-state, running)",
172
172
  };
173
- return (_jsxs(LabelContext.Provider, { value: geometry.middle, children: [_jsxs("svg", { "data-slot": "energy-flow-edge", "data-source": source, "data-target": target, className: cx("pointer-events-none absolute inset-0 h-full w-full overflow-visible", className), style: { color: ink, ...style }, role: label ? "img" : undefined, "aria-label": label, "aria-hidden": !label || undefined, children: [_jsx("defs", { children: _jsx("marker", { id: id, markerWidth: "8", markerHeight: "8", refX: "7", refY: "4", orient: "auto", markerUnits: "userSpaceOnUse", children: _jsx("path", { d: "M1 1 L7 4 L1 7", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("path", { d: geometry.path, fill: "none", stroke: "currentColor", strokeWidth: width, markerEnd: `url(#${id})`, className: settings.type === "dash"
173
+ return (_jsxs(LabelContext.Provider, { value: geometry.middle, children: [_jsxs("svg", { "data-slot": "energy-flow-edge", "data-source": source, "data-target": target, className: cx("pointer-events-none absolute inset-0 h-full w-full overflow-visible", className), style: { color: ink, ...style }, role: label ? "img" : undefined, "aria-label": label, "aria-hidden": !label || undefined, children: [_jsx("defs", { children: _jsx("marker", { id: id, markerWidth: "8", markerHeight: "8", refX: "7", refY: "4", orient: "auto", markerUnits: "userSpaceOnUse", children: _jsx("path", { d: "M1 1 L7 4 L1 7", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx("path", { d: geometry.path, fill: "none", stroke: "currentColor", strokeWidth: width, markerEnd: showDirection ? `url(#${id})` : undefined, className: settings.type === "dash"
174
174
  ? "watt-flow-dash"
175
175
  : settings.type === "pulse"
176
176
  ? "watt-flow-pulse"
@@ -1 +1 @@
1
- {"version":3,"file":"energy-flow.js","sourceRoot":"","sources":["../../src/components/energy-flow.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"energy-flow.js","sourceRoot":"","sources":["../../src/components/energy-flow.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { RootProps, MotionProps } from "../types.js";
2
+ export interface EquipmentCardProps extends RootProps, MotionProps {
3
+ }
4
+ export declare const EquipmentCard: {
5
+ Root: import("react").ForwardRefExoticComponent<EquipmentCardProps & import("react").RefAttributes<HTMLElement>>;
6
+ Header: import("react").ForwardRefExoticComponent<import("../types.js").PartProps & import("react").RefAttributes<HTMLElement>>;
7
+ Title: import("react").ForwardRefExoticComponent<import("../types.js").PartProps & import("react").RefAttributes<HTMLElement>>;
8
+ Description: import("react").ForwardRefExoticComponent<import("../types.js").PartProps & import("react").RefAttributes<HTMLElement>>;
9
+ Content: import("react").ForwardRefExoticComponent<import("../types.js").PartProps & import("react").RefAttributes<HTMLElement>>;
10
+ Footer: import("react").ForwardRefExoticComponent<import("../types.js").PartProps & import("react").RefAttributes<HTMLElement>>;
11
+ };
12
+ //# sourceMappingURL=equipment-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equipment-card.d.ts","sourceRoot":"","sources":["../../src/components/equipment-card.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,WAAW;CAAG;AAErE,eAAO,MAAM,aAAa;;;;;;;CAqCzB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { Slot } from "@radix-ui/react-slot";
5
+ import { cx, part } from "../internal.js";
6
+ import { MotionProvider, motionStyle } from "../motion.js";
7
+ export const EquipmentCard = {
8
+ Root: forwardRef(function EquipmentCardRoot({ asChild, density = "comfortable", motion, style, className, ...props }, ref) {
9
+ const Component = asChild ? Slot : "section";
10
+ return (_jsx(MotionProvider, { motion: motion, children: _jsx(Component, { ...props, ref: ref, "data-slot": "equipment-card", "data-density": density, style: { ...style, ...motionStyle(motion) }, className: cx("watt-root grid gap-4 data-[density=compact]:gap-3", className) }) }));
11
+ }),
12
+ Header: part("equipment-card-header", "flex items-start justify-between gap-4"),
13
+ Title: part("equipment-card-title", "font-medium", "span"),
14
+ Description: part("equipment-card-description", "text-sm text-[var(--watt-muted)]", "span"),
15
+ Content: part("equipment-card-content", "min-w-0"),
16
+ Footer: part("equipment-card-footer", "flex flex-wrap items-center gap-4 text-sm"),
17
+ };
18
+ //# sourceMappingURL=equipment-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equipment-card.js","sourceRoot":"","sources":["../../src/components/equipment-card.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE,UAAU,CAAkC,SAAS,iBAAiB,CAC1E,EAAE,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EACxE,GAAG;QAEH,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7C,OAAO,CACL,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,YAC5B,KAAC,SAAS,OACJ,KAAK,EACT,GAAG,EAAE,GAAY,eACP,gBAAgB,kBACZ,OAAO,EACrB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,EAC3C,SAAS,EAAE,EAAE,CACX,mDAAmD,EACnD,SAAS,CACV,GACD,GACa,CAClB,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,EAAE,IAAI,CACV,uBAAuB,EACvB,wCAAwC,CACzC;IACD,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,EAAE,MAAM,CAAC;IAC1D,WAAW,EAAE,IAAI,CACf,4BAA4B,EAC5B,kCAAkC,EAClC,MAAM,CACP;IACD,OAAO,EAAE,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC;IAClD,MAAM,EAAE,IAAI,CACV,uBAAuB,EACvB,2CAA2C,CAC5C;CACF,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { DataQuality, Density, EquipmentStatus, MotionProps } from "../types.js";
2
+ import type { ReactElement, RefAttributes } from "react";
3
+ export interface HeatmapCell {
4
+ id: string;
5
+ label: string;
6
+ value: number | null;
7
+ color?: string;
8
+ quality?: DataQuality;
9
+ status?: EquipmentStatus;
10
+ disabled?: boolean;
11
+ }
12
+ export interface EquipmentHeatmapProps<T extends HeatmapCell = HeatmapCell> extends Omit<React.HTMLAttributes<HTMLDivElement>, "children" | "onSelect">, MotionProps {
13
+ cells: readonly T[];
14
+ columns: number;
15
+ children?: (cell: T, state: {
16
+ selected: boolean;
17
+ focused: boolean;
18
+ }) => React.ReactNode;
19
+ valueFormatter?: (cell: T) => string;
20
+ selectedId?: string | null;
21
+ defaultSelectedId?: string | null;
22
+ onSelectionChange?: (id: string) => void;
23
+ density?: Density;
24
+ cellSize?: number;
25
+ height?: number;
26
+ virtualized?: boolean;
27
+ empty?: React.ReactNode;
28
+ }
29
+ export declare const EquipmentHeatmap: {
30
+ Root: <T extends HeatmapCell>(props: EquipmentHeatmapProps<T> & RefAttributes<HTMLDivElement>) => ReactElement;
31
+ Legend: import("react").ForwardRefExoticComponent<import("../types.js").PartProps & RefAttributes<HTMLElement>>;
32
+ };
33
+ //# sourceMappingURL=equipment-heatmap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equipment-heatmap.d.ts","sourceRoot":"","sources":["../../src/components/equipment-heatmap.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EACP,eAAe,EACf,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAgB,YAAY,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEvE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CACxE,SACE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,EACnE,WAAW;IACb,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,CACT,IAAI,EAAE,CAAC,EACP,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAC3C,KAAK,CAAC,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB;AAsPD,eAAO,MAAM,gBAAgB;UACD,CAAC,CAAC,SAAS,WAAW,EAC9C,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,KAC5D,YAAY;;CAKlB,CAAC"}
@@ -0,0 +1,161 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { forwardRef, useEffect, useMemo, useRef, useState } from "react";
4
+ import { useComposedRefs } from "@radix-ui/react-compose-refs";
5
+ import { useVirtualizer } from "@tanstack/react-virtual";
6
+ import { cx, part } from "../internal.js";
7
+ import { useVirtualFocus } from "../virtual-focus.js";
8
+ import { motionStyle } from "../motion.js";
9
+ function Root({ cells, columns, children, valueFormatter, selectedId, defaultSelectedId = null, onSelectionChange, density = "comfortable", cellSize = density === "compact" ? 36 : 44, height = 320, virtualized = true, empty, motion, style, className, onKeyDown, ...props }, ref) {
10
+ if (!Number.isInteger(columns) ||
11
+ columns < 1 ||
12
+ !Number.isFinite(cellSize) ||
13
+ cellSize < 24 ||
14
+ !Number.isFinite(height) ||
15
+ height <= 0)
16
+ throw new Error("EquipmentHeatmap requires positive columns/height and cellSize >= 24");
17
+ useMemo(() => {
18
+ const ids = new Set();
19
+ for (const cell of cells) {
20
+ if (!cell.id || ids.has(cell.id))
21
+ throw new Error("Heatmap cell IDs must be nonempty and unique");
22
+ ids.add(cell.id);
23
+ }
24
+ }, [cells]);
25
+ const host = useRef(null);
26
+ const hostRef = useComposedRefs(host, ref);
27
+ const [internal, setInternal] = useState(defaultSelectedId);
28
+ const selected = selectedId === undefined ? internal : selectedId;
29
+ const [focused, setFocused] = useState(0);
30
+ const count = Math.ceil(cells.length / columns);
31
+ const rowHeight = cellSize + 4;
32
+ const virtualizer = useVirtualizer({
33
+ count,
34
+ getScrollElement: () => host.current,
35
+ estimateSize: () => rowHeight,
36
+ initialRect: { width: 0, height },
37
+ overscan: 3,
38
+ enabled: virtualized,
39
+ });
40
+ useEffect(() => {
41
+ virtualizer.measure();
42
+ }, [virtualizer, rowHeight]);
43
+ const focus = useVirtualFocus(host, (index) => virtualizer.scrollToIndex(Math.floor(index / columns), { align: "auto" }));
44
+ const rows = virtualized
45
+ ? virtualizer.getVirtualItems()
46
+ : Array.from({ length: count }, (_, index) => ({
47
+ index,
48
+ start: index * rowHeight,
49
+ }));
50
+ const mounted = rows.flatMap((row) => Array.from({ length: Math.min(columns, cells.length - row.index * columns) }, (_, offset) => row.index * columns + offset));
51
+ const tabIndex = mounted.includes(focused) && !cells[focused]?.disabled
52
+ ? focused
53
+ : mounted.find((index) => !cells[index]?.disabled);
54
+ return (_jsx("div", { ...props, ref: hostRef, role: cells.length ? "grid" : "group", "aria-rowcount": cells.length ? count : undefined, "aria-colcount": cells.length ? columns : undefined, tabIndex: props.tabIndex ??
55
+ (cells.length && tabIndex === undefined ? 0 : undefined), "data-slot": "equipment-heatmap", "data-density": density, className: cx("watt-root relative overflow-auto", className), style: {
56
+ height: virtualized && cells.length
57
+ ? Math.min(height, Math.max(rowHeight, count * rowHeight))
58
+ : undefined,
59
+ ...style,
60
+ ...motionStyle(motion),
61
+ }, onKeyDown: (event) => {
62
+ onKeyDown?.(event);
63
+ if (event.defaultPrevented || !cells.length)
64
+ return;
65
+ const index = Number(event.target.closest("[data-focus-index]")?.dataset.focusIndex ?? focused);
66
+ if (!Number.isInteger(index))
67
+ return;
68
+ let next;
69
+ switch (event.key) {
70
+ case "ArrowRight":
71
+ next = index + 1;
72
+ break;
73
+ case "ArrowLeft":
74
+ next = index - 1;
75
+ break;
76
+ case "ArrowDown":
77
+ next = index + columns;
78
+ break;
79
+ case "ArrowUp":
80
+ next = index - columns;
81
+ break;
82
+ case "Home":
83
+ next =
84
+ event.ctrlKey || event.metaKey
85
+ ? 0
86
+ : Math.floor(index / columns) * columns;
87
+ break;
88
+ case "End":
89
+ next =
90
+ event.ctrlKey || event.metaKey
91
+ ? cells.length - 1
92
+ : Math.min(cells.length - 1, (Math.floor(index / columns) + 1) * columns - 1);
93
+ break;
94
+ default:
95
+ return;
96
+ }
97
+ event.preventDefault();
98
+ next = Math.max(0, Math.min(cells.length - 1, next));
99
+ const step = next >= index ? 1 : -1;
100
+ while (next >= 0 && next < cells.length && cells[next]?.disabled)
101
+ next += step;
102
+ if (!cells[next])
103
+ return;
104
+ setFocused(next);
105
+ focus(next);
106
+ }, children: !cells.length ? (empty) : (_jsx("div", { role: "rowgroup", style: {
107
+ position: "relative",
108
+ height: virtualized ? virtualizer.getTotalSize() : undefined,
109
+ minWidth: columns * (cellSize + 4) - 4,
110
+ }, children: rows.map((row) => (_jsx("div", { role: "row", "aria-rowindex": row.index + 1, style: {
111
+ display: "grid",
112
+ gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`,
113
+ gap: 4,
114
+ height: cellSize,
115
+ marginBottom: 4,
116
+ ...(virtualized
117
+ ? {
118
+ position: "absolute",
119
+ top: 0,
120
+ left: 0,
121
+ width: "100%",
122
+ transform: `translateY(${row.start}px)`,
123
+ }
124
+ : {}),
125
+ }, children: cells
126
+ .slice(row.index * columns, (row.index + 1) * columns)
127
+ .map((cell, offset) => {
128
+ const index = row.index * columns + offset;
129
+ const valid = cell.value !== null && Number.isFinite(cell.value);
130
+ const text = valueFormatter?.(cell) ??
131
+ (valid ? String(cell.value) : "—");
132
+ return (_jsx("button", { type: "button", role: "gridcell", "aria-colindex": offset + 1, "aria-selected": selected === cell.id, "aria-label": [
133
+ cell.label,
134
+ valid ? text : "Unavailable",
135
+ cell.quality,
136
+ cell.status,
137
+ ]
138
+ .filter(Boolean)
139
+ .join(", "), disabled: cell.disabled, tabIndex: index === tabIndex ? 0 : -1, "data-focus-index": index, "data-slot": "equipment-heatmap-cell", "data-selected": selected === cell.id || undefined, "data-quality": cell.quality, "data-status": cell.status, className: "watt-motion watt-heatmap-cell rounded-sm border border-[var(--watt-border)] text-xs outline-offset-[-2px] focus-visible:outline-2 focus-visible:outline-[var(--watt-accent)]", style: {
140
+ backgroundColor: valid
141
+ ? (cell.color ?? "var(--watt-subtle)")
142
+ : "var(--watt-subtle)",
143
+ minWidth: cellSize,
144
+ height: cellSize,
145
+ }, onFocus: () => setFocused(index), onClick: () => {
146
+ if (selectedId === undefined)
147
+ setInternal(cell.id);
148
+ onSelectionChange?.(cell.id);
149
+ }, children: children
150
+ ? children(cell, {
151
+ selected: selected === cell.id,
152
+ focused: focused === index,
153
+ })
154
+ : text }, cell.id));
155
+ }) }, row.index))) })) }));
156
+ }
157
+ export const EquipmentHeatmap = {
158
+ Root: forwardRef(Root),
159
+ Legend: part("equipment-heatmap-legend", "flex flex-wrap items-center gap-4 text-xs text-[var(--watt-muted)]"),
160
+ };
161
+ //# sourceMappingURL=equipment-heatmap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equipment-heatmap.js","sourceRoot":"","sources":["../../src/components/equipment-heatmap.tsx"],"names":[],"mappings":"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"}