@watt-ui/react 0.1.0 → 0.1.2

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 (54) hide show
  1. package/README.md +2 -1
  2. package/dist/components/alarm-feed.d.ts +2 -2
  3. package/dist/components/alarm-feed.d.ts.map +1 -1
  4. package/dist/components/alarm-feed.js +38 -16
  5. package/dist/components/alarm-feed.js.map +1 -1
  6. package/dist/components/asset-tree.d.ts +6 -2
  7. package/dist/components/asset-tree.d.ts.map +1 -1
  8. package/dist/components/asset-tree.js +15 -8
  9. package/dist/components/asset-tree.js.map +1 -1
  10. package/dist/components/battery-soc.d.ts +2 -2
  11. package/dist/components/battery-soc.d.ts.map +1 -1
  12. package/dist/components/battery-soc.js +4 -3
  13. package/dist/components/battery-soc.js.map +1 -1
  14. package/dist/components/data-freshness.d.ts +2 -2
  15. package/dist/components/data-freshness.d.ts.map +1 -1
  16. package/dist/components/data-freshness.js +8 -3
  17. package/dist/components/data-freshness.js.map +1 -1
  18. package/dist/components/energy-flow.d.ts.map +1 -1
  19. package/dist/components/energy-flow.js +22 -1
  20. package/dist/components/energy-flow.js.map +1 -1
  21. package/dist/components/power-metric.d.ts +5 -3
  22. package/dist/components/power-metric.d.ts.map +1 -1
  23. package/dist/components/power-metric.js +10 -5
  24. package/dist/components/power-metric.js.map +1 -1
  25. package/dist/components/status-indicator.d.ts +2 -2
  26. package/dist/components/status-indicator.d.ts.map +1 -1
  27. package/dist/components/status-indicator.js +8 -3
  28. package/dist/components/status-indicator.js.map +1 -1
  29. package/dist/components/telemetry-chart.d.ts +5 -7
  30. package/dist/components/telemetry-chart.d.ts.map +1 -1
  31. package/dist/components/telemetry-chart.js +30 -21
  32. package/dist/components/telemetry-chart.js.map +1 -1
  33. package/dist/index.d.ts +2 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/motion.d.ts +12 -0
  36. package/dist/motion.d.ts.map +1 -0
  37. package/dist/motion.js +90 -0
  38. package/dist/motion.js.map +1 -0
  39. package/dist/styles.css +39 -0
  40. package/dist/types.d.ts +10 -1
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/src/components/alarm-feed.tsx +97 -62
  44. package/src/components/asset-tree.tsx +56 -31
  45. package/src/components/battery-soc.tsx +29 -14
  46. package/src/components/data-freshness.tsx +34 -17
  47. package/src/components/energy-flow.tsx +24 -1
  48. package/src/components/power-metric.tsx +32 -17
  49. package/src/components/status-indicator.tsx +34 -15
  50. package/src/components/telemetry-chart.tsx +60 -38
  51. package/src/index.ts +5 -1
  52. package/src/motion.tsx +117 -0
  53. package/src/styles.css +39 -0
  54. package/src/types.ts +30 -4
@@ -1,11 +1,16 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { forwardRef } from "react";
3
+ import { forwardRef, useRef } from "react";
4
+ import { useComposedRefs } from "@radix-ui/react-compose-refs";
4
5
  import { Slot } from "@radix-ui/react-slot";
5
6
  import { cx, part } from "../internal.js";
6
- const Root = forwardRef(({ status, density = "comfortable", asChild, className, ...props }, ref) => {
7
+ import { MotionProvider, motionStyle, useChangeFeedback } from "../motion.js";
8
+ const Root = forwardRef(({ status, density = "comfortable", asChild, motion, className, style, ...props }, ref) => {
9
+ const host = useRef(null);
10
+ const hostRef = useComposedRefs(host, ref);
11
+ useChangeFeedback(host, status, motion);
7
12
  const Component = asChild ? Slot : "span";
8
- return (_jsx(Component, { ...props, ref: ref, "data-slot": "status-indicator", "data-status": status, "data-density": density, className: cx("watt-status inline-flex items-center gap-2 text-sm data-[density=compact]:gap-1 data-[density=compact]:text-xs", className) }));
13
+ return (_jsx(MotionProvider, { motion: motion, children: _jsx(Component, { ...props, ref: hostRef, "data-slot": "status-indicator", "data-status": status, "data-density": density, style: { ...style, ...motionStyle(motion) }, className: cx("watt-status watt-motion inline-flex items-center gap-2 text-sm data-[density=compact]:gap-1 data-[density=compact]:text-xs", className) }) }));
9
14
  });
10
15
  export const StatusIndicator = {
11
16
  Root,
@@ -1 +1 @@
1
- {"version":3,"file":"status-indicator.js","sourceRoot":"","sources":["../../src/components/status-indicator.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;AAK1C,MAAM,IAAI,GAAG,UAAU,CACrB,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,CACL,KAAC,SAAS,OACJ,KAAK,EACT,GAAG,EAAE,GAAY,eACP,kBAAkB,iBACf,MAAM,kBACL,OAAO,EACrB,SAAS,EAAE,EAAE,CACX,gHAAgH,EAChH,SAAS,CACV,GACD,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI;IACJ,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,CAAC;IAClE,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,EAAE,EAAE,MAAM,CAAC;CAClD,CAAC"}
1
+ {"version":3,"file":"status-indicator.js","sourceRoot":"","sources":["../../src/components/status-indicator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAI9E,MAAM,IAAI,GAAG,UAAU,CACrB,CACE,EACE,MAAM,EACN,OAAO,GAAG,aAAa,EACvB,OAAO,EACP,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,IAAI,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC3C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,CACL,KAAC,cAAc,IAAC,MAAM,EAAE,MAAM,YAC5B,KAAC,SAAS,OACJ,KAAK,EACT,GAAG,EAAE,OAAgB,eACX,kBAAkB,iBACf,MAAM,kBACL,OAAO,EACrB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,EAC3C,SAAS,EAAE,EAAE,CACX,4HAA4H,EAC5H,SAAS,CACV,GACD,GACa,CAClB,CAAC;AACJ,CAAC,CACF,CAAC;AACF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI;IACJ,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,CAAC;IAClE,KAAK,EAAE,IAAI,CAAC,wBAAwB,EAAE,EAAE,EAAE,MAAM,CAAC;CAClD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { EChartsCoreOption, EChartsType } from "echarts/core";
2
- import type { RootProps, TelemetrySeries, TimeRange, DataQuality } from "../types.js";
2
+ import type { RootProps, TelemetrySeries, TimeRange, DataQuality, MotionProps } from "../types.js";
3
3
  export interface ChartInspection {
4
4
  timestamp: number;
5
5
  values: {
@@ -11,7 +11,7 @@ export interface ChartInspection {
11
11
  quality?: DataQuality;
12
12
  }[];
13
13
  }
14
- export interface TelemetryChartProps extends Omit<RootProps, "onError"> {
14
+ export interface TelemetryChartProps extends Omit<RootProps, "onError">, MotionProps {
15
15
  series: readonly TelemetrySeries[];
16
16
  timeZone: string;
17
17
  locale?: string;
@@ -28,9 +28,6 @@ export interface ChartCanvasProps extends React.HTMLAttributes<HTMLDivElement> {
28
28
  previewSvg?: string;
29
29
  height?: number;
30
30
  }
31
- declare function Tooltip({ children, ...props }: Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
32
- children: (inspection: ChartInspection | null) => React.ReactNode;
33
- }): import("react").JSX.Element;
34
31
  export declare const TelemetryChart: {
35
32
  Root: import("react").ForwardRefExoticComponent<TelemetryChartProps & import("react").RefAttributes<HTMLDivElement>>;
36
33
  Canvas: import("react").ForwardRefExoticComponent<ChartCanvasProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -43,8 +40,9 @@ export declare const TelemetryChart: {
43
40
  toggle: () => void;
44
41
  }) => React.ReactNode;
45
42
  } & import("react").RefAttributes<HTMLDivElement>>;
46
- Tooltip: typeof Tooltip;
43
+ Tooltip: import("react").ForwardRefExoticComponent<Omit<import("react").HTMLAttributes<HTMLDivElement>, "children"> & {
44
+ children: (inspection: ChartInspection | null) => React.ReactNode;
45
+ } & import("react").RefAttributes<HTMLDivElement>>;
47
46
  Description: import("react").ForwardRefExoticComponent<import("../types.js").PartProps & import("react").RefAttributes<HTMLElement>>;
48
47
  };
49
- export {};
50
48
  //# sourceMappingURL=telemetry-chart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-chart.d.ts","sourceRoot":"","sources":["../../src/components/telemetry-chart.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQnE,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACT,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB,EAAE,CAAC;CACL;AACD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;IACrE,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,QAAQ,CACf,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,CAC7D,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AA4HD,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA6QD,iBAAS,OAAO,CAAC,EACf,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,GAAG;IAC1D,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;CACnE,+BAYA;AACD,eAAO,MAAM,cAAc;;;;mBA9DZ,CAAC,MAAM,EAAE;YAClB,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,OAAO,CAAC;YAChB,MAAM,EAAE,MAAM,IAAI,CAAC;SACpB,KAAK,KAAK,CAAC,SAAS;;;;CAiExB,CAAC"}
1
+ {"version":3,"file":"telemetry-chart.d.ts","sourceRoot":"","sources":["../../src/components/telemetry-chart.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AASnE,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,SAAS,EACT,WAAW,EACX,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,EAAE,WAAW,CAAC;KACvB,EAAE,CAAC;CACL;AACD,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAChC,WAAW;IACb,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,MAAM,CAAC,EAAE,QAAQ,CACf,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,CAC7D,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAiID,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4SD,eAAO,MAAM,cAAc;;;;mBA3EZ,CAAC,MAAM,EAAE;YAClB,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,OAAO,CAAC;YAChB,MAAM,EAAE,MAAM,IAAI,CAAC;SACpB,KAAK,KAAK,CAAC,SAAS;;;kBAgDX,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,KAAK,CAAC,SAAS;;;CA8BpE,CAAC"}
@@ -4,6 +4,7 @@ import { useComposedRefs } from "@radix-ui/react-compose-refs";
4
4
  import { Slot } from "@radix-ui/react-slot";
5
5
  import { createContext, forwardRef, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
6
6
  import { cx, part } from "../internal.js";
7
+ import { MotionProvider, motionStyle, useChangeFeedback } from "../motion.js";
7
8
  import { nearestIndex, prepareSeries, lowerBound } from "../chart/data.js";
8
9
  import { chartOption, hasManagedConflict, } from "../chart/options.js";
9
10
  const Context = createContext(null);
@@ -13,7 +14,7 @@ function useChart() {
13
14
  throw new Error("Chart parts require TelemetryChart.Root");
14
15
  return ctx;
15
16
  }
16
- const Root = forwardRef(({ series, timeZone, locale, range, onRangeChange, sampling = "minmax", options, events, onReady, onError, density = "comfortable", asChild, children, className, ...props }, ref) => {
17
+ const Root = forwardRef(({ series, timeZone, locale, range, onRangeChange, sampling = "minmax", options, events, onReady, onError, density = "comfortable", asChild, children, className, style, motion, ...props }, ref) => {
17
18
  const prepared = useMemo(() => prepareSeries(series), [series]);
18
19
  const [hidden, setHidden] = useState(() => new Set());
19
20
  const [timestamp, setTimestamp] = useState(null);
@@ -55,22 +56,22 @@ const Root = forwardRef(({ series, timeZone, locale, range, onRangeChange, sampl
55
56
  console.warn("Watt UI: explicit chart props override series, axes, zoom, tooltip and legend options.");
56
57
  }, [options, prepared, range, timeZone]);
57
58
  const Component = asChild ? Slot : "div";
58
- return (_jsx(Context.Provider, { value: {
59
- series: prepared,
60
- timeZone,
61
- locale,
62
- range,
63
- onRangeChange,
64
- sampling,
65
- options,
66
- events,
67
- inspection,
68
- inspect,
69
- hidden,
70
- toggle,
71
- onReady,
72
- onError,
73
- }, children: _jsx(Component, { ...props, ref: ref, "data-slot": "telemetry-chart", "data-density": density, className: cx("watt-root min-w-0", className), children: children }) }));
59
+ return (_jsx(MotionProvider, { motion: motion, children: _jsx(Context.Provider, { value: {
60
+ series: prepared,
61
+ timeZone,
62
+ locale,
63
+ range,
64
+ onRangeChange,
65
+ sampling,
66
+ options,
67
+ events,
68
+ inspection,
69
+ inspect,
70
+ hidden,
71
+ toggle,
72
+ onReady,
73
+ onError,
74
+ }, children: _jsx(Component, { ...props, ref: ref, "data-slot": "telemetry-chart", "data-density": density, style: { ...style, ...motionStyle(motion) }, className: cx("watt-root min-w-0", className), children: children }) }) }));
74
75
  });
75
76
  const Canvas = forwardRef(({ previewSvg, height = 300, className, style, onKeyDown, ...props }, forwardedRef) => {
76
77
  const ctx = useChart();
@@ -240,12 +241,20 @@ const Legend = forwardRef(({ children, className, ...props }, ref) => {
240
241
  ...s,
241
242
  hidden: ctx.hidden.has(s.id),
242
243
  toggle: () => ctx.toggle(s.id),
243
- })) : (_jsxs("button", { type: "button", "aria-pressed": !ctx.hidden.has(s.id), onClick: () => ctx.toggle(s.id), className: "inline-flex items-center gap-2", children: [_jsx("span", { className: "h-2 w-2 rounded-full", style: { background: s.color ?? "var(--watt-accent)" } }), s.label] })) }, s.id))) }));
244
+ })) : (_jsxs("button", { type: "button", "aria-pressed": !ctx.hidden.has(s.id), onClick: () => ctx.toggle(s.id), className: "watt-chart-legend-toggle inline-flex items-center gap-2", children: [_jsx("span", { "aria-hidden": "true", "data-slot": "telemetry-chart-legend-marker", className: "watt-motion h-2 w-2 rounded-full border border-current", style: {
245
+ color: s.color ?? "var(--watt-accent)",
246
+ background: ctx.hidden.has(s.id)
247
+ ? "transparent"
248
+ : "currentColor",
249
+ } }), s.label] })) }, s.id))) }));
244
250
  });
245
- function Tooltip({ children, ...props }) {
251
+ const Tooltip = forwardRef(function Tooltip({ children, className, ...props }, ref) {
246
252
  const { inspection } = useChart();
247
- return (_jsx("div", { ...props, "data-slot": "telemetry-chart-tooltip", "aria-live": props["aria-live"] ?? "polite", "aria-atomic": props["aria-atomic"] ?? true, children: children(inspection) }));
248
- }
253
+ const host = useRef(null);
254
+ const hostRef = useComposedRefs(host, ref);
255
+ useChangeFeedback(host, inspection !== null);
256
+ return (_jsx("div", { ...props, ref: hostRef, "data-slot": "telemetry-chart-tooltip", "data-state": inspection ? "active" : "idle", className: cx("watt-motion", className), "aria-live": props["aria-live"] ?? "polite", "aria-atomic": props["aria-atomic"] ?? true, children: children(inspection) }));
257
+ });
249
258
  export const TelemetryChart = {
250
259
  Root,
251
260
  Canvas,
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-chart.js","sourceRoot":"","sources":["../../src/components/telemetry-chart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry-chart.js","sourceRoot":"","sources":["../../src/components/telemetry-chart.tsx"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,12 +8,12 @@ export { AlarmFeed } from "./components/alarm-feed.js";
8
8
  export { AssetTree } from "./components/asset-tree.js";
9
9
  export { formatNumber, formatTime, parseTimestamp } from "./domain.js";
10
10
  export type * from "./types.js";
11
- export type { MetricValueProps } from "./components/power-metric.js";
11
+ export type { PowerMetricProps, MetricValueProps, } from "./components/power-metric.js";
12
12
  export type { StatusIndicatorProps } from "./components/status-indicator.js";
13
13
  export type { BatterySOCProps } from "./components/battery-soc.js";
14
14
  export type { DataFreshnessProps, FreshnessTimeProps, FreshnessElapsedProps, } from "./components/data-freshness.js";
15
15
  export type { TelemetryChartProps, ChartCanvasProps, ChartInspection, } from "./components/telemetry-chart.js";
16
16
  export type { EnergyFlowProps, FlowAnimation, FlowStyle, FlowNodeProps, FlowPortProps, FlowEdgeProps, } from "./components/energy-flow.js";
17
17
  export type { AlarmFeedProps } from "./components/alarm-feed.js";
18
- export type { AssetTreeProps, AssetTreeRow, AssetTreeItem, } from "./components/asset-tree.js";
18
+ export type { AssetTreeProps, AssetTreeRow, AssetTreeItem, AssetTreeIndicatorProps, } from "./components/asset-tree.js";
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvE,mBAAmB,YAAY,CAAC;AAChC,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,cAAc,EACd,YAAY,EACZ,aAAa,GACd,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACvE,mBAAmB,YAAY,CAAC;AAChC,YAAY,EACV,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,YAAY,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,eAAe,EACf,aAAa,EACb,SAAS,EACT,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,uBAAuB,GACxB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { type CSSProperties, type ReactNode, type RefObject } from "react";
2
+ import type { Motion, MotionProps } from "./types.js";
3
+ export declare function useMotion(own?: Motion): Motion;
4
+ export declare function MotionProvider({ motion, children, }: MotionProps & {
5
+ children: ReactNode;
6
+ }): import("react").JSX.Element;
7
+ export declare function motionStyle(motion?: Motion): CSSProperties;
8
+ /** Bounded feedback only: never changes text, data, row geometry or DOM identity. */
9
+ export declare function animateMotion(element: HTMLElement, frames: Keyframe[]): () => void;
10
+ export declare function highlightChange(element: HTMLElement): () => void;
11
+ export declare function useChangeFeedback(ref: RefObject<HTMLElement | null>, value: unknown, ownMotion?: Motion): void;
12
+ //# sourceMappingURL=motion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../src/motion.tsx"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMtD,wBAAgB,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,QAAQ,GACT,EAAE,WAAW,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAKvC;AAED,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa,CAgB1D;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,QAAQ,EAAE,GACjB,MAAM,IAAI,CAkCZ;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI,CAQhE;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAClC,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,MAAM,QAYnB"}
package/dist/motion.js ADDED
@@ -0,0 +1,90 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useContext, useEffect, useLayoutEffect, useRef, } from "react";
4
+ const Context = createContext(true);
5
+ const useMotionEffect = typeof document === "undefined" ? useEffect : useLayoutEffect;
6
+ const noop = () => { };
7
+ export function useMotion(own) {
8
+ const parent = useContext(Context);
9
+ return own ?? parent;
10
+ }
11
+ export function MotionProvider({ motion, children, }) {
12
+ const parent = useContext(Context);
13
+ return (_jsx(Context.Provider, { value: motion ?? parent, children: children }));
14
+ }
15
+ export function motionStyle(motion) {
16
+ if (motion === undefined)
17
+ return {};
18
+ const duration = motion === false ? 0 : motion === true ? 240 : (motion.duration ?? 240);
19
+ if (!Number.isFinite(duration) || duration < 0)
20
+ throw new Error("Motion duration must be finite and nonnegative milliseconds");
21
+ return {
22
+ "--watt-motion-duration": `${duration}ms`,
23
+ "--watt-motion-property": duration === 0 ? "none" : "initial",
24
+ "--watt-motion-easing": typeof motion === "object"
25
+ ? (motion.easing ?? "cubic-bezier(0.16, 1, 0.3, 1)")
26
+ : "cubic-bezier(0.16, 1, 0.3, 1)",
27
+ };
28
+ }
29
+ /** Bounded feedback only: never changes text, data, row geometry or DOM identity. */
30
+ export function animateMotion(element, frames) {
31
+ if (!element.animate || document.hidden || !element.getClientRects().length)
32
+ return noop;
33
+ const preference = window.matchMedia("(prefers-reduced-motion: reduce)");
34
+ if (preference.matches)
35
+ return noop;
36
+ const styles = getComputedStyle(element);
37
+ const time = styles.transitionDuration.split(",")[0] ?? "0s";
38
+ const duration = parseFloat(time) * (time.trim().endsWith("ms") ? 1 : 1000);
39
+ if (!(duration > 0))
40
+ return noop;
41
+ let animation;
42
+ try {
43
+ animation = element.animate(frames, {
44
+ duration,
45
+ easing: styles.transitionTimingFunction,
46
+ });
47
+ }
48
+ catch {
49
+ return noop; // A consumer's unsupported CSS easing must not block live readings.
50
+ }
51
+ const detach = () => {
52
+ preference.removeEventListener("change", stop);
53
+ document.removeEventListener("visibilitychange", onVisibility);
54
+ };
55
+ const stop = () => {
56
+ animation.cancel();
57
+ detach();
58
+ };
59
+ const onVisibility = () => {
60
+ if (document.hidden)
61
+ stop();
62
+ };
63
+ preference.addEventListener("change", stop);
64
+ document.addEventListener("visibilitychange", onVisibility);
65
+ animation.addEventListener("finish", detach, { once: true });
66
+ animation.addEventListener("cancel", detach, { once: true });
67
+ return stop;
68
+ }
69
+ export function highlightChange(element) {
70
+ const styles = getComputedStyle(element);
71
+ const background = styles.backgroundColor;
72
+ const accent = styles.getPropertyValue("--watt-accent").trim() || "#355dff";
73
+ return animateMotion(element, [
74
+ { backgroundColor: `color-mix(in srgb, ${accent} 10%, ${background})` },
75
+ { backgroundColor: background },
76
+ ]);
77
+ }
78
+ export function useChangeFeedback(ref, value, ownMotion) {
79
+ const motion = useMotion(ownMotion);
80
+ const duration = typeof motion === "object" ? motion.duration : undefined;
81
+ const easing = typeof motion === "object" ? motion.easing : undefined;
82
+ const previous = useRef(value);
83
+ useMotionEffect(() => {
84
+ const changed = !Object.is(previous.current, value);
85
+ previous.current = value;
86
+ if (changed && motion !== false && ref.current)
87
+ return highlightChange(ref.current);
88
+ }, [value, ref, motion === false, duration, easing]);
89
+ }
90
+ //# sourceMappingURL=motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"motion.js","sourceRoot":"","sources":["../src/motion.tsx"],"names":[],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -22,6 +22,8 @@
22
22
  --watt-warning: #996009;
23
23
  --watt-critical: #c43b40;
24
24
  --watt-radius: 12px;
25
+ --watt-motion-duration: 240ms;
26
+ --watt-motion-easing: cubic-bezier(0.16, 1, 0.3, 1);
25
27
  }
26
28
  .dark,
27
29
  [data-theme="dark"] {
@@ -39,6 +41,36 @@
39
41
  color: var(--watt-foreground);
40
42
  font-variant-numeric: tabular-nums;
41
43
  }
44
+ .watt-motion {
45
+ transition-property: none;
46
+ transition-duration: var(--watt-motion-duration, 240ms);
47
+ transition-timing-function: var(--watt-motion-easing, ease-out);
48
+ }
49
+ .watt-motion.watt-status {
50
+ transition-property: var(--watt-motion-property, color);
51
+ }
52
+ .watt-soc-fill {
53
+ transition-property: var(--watt-motion-property, width);
54
+ }
55
+ [data-slot="battery-soc"][data-invalid] .watt-soc-fill {
56
+ transition-duration: 0s;
57
+ }
58
+ [data-slot="asset-tree-row"] {
59
+ transition-property: var(--watt-motion-property, background-color);
60
+ }
61
+ [data-slot="asset-tree-indicator"] {
62
+ transition-property: var(--watt-motion-property, transform);
63
+ }
64
+ [data-slot="telemetry-chart-legend-marker"] {
65
+ transition-property: var(--watt-motion-property, background-color, scale);
66
+ }
67
+ .watt-chart-legend-toggle[aria-pressed="false"] {
68
+ text-decoration: line-through;
69
+ }
70
+ .watt-chart-legend-toggle[aria-pressed="false"]
71
+ [data-slot="telemetry-chart-legend-marker"] {
72
+ scale: 0.75;
73
+ }
42
74
  .watt-status {
43
75
  color: var(--watt-muted);
44
76
  }
@@ -120,6 +152,13 @@
120
152
  }
121
153
  }
122
154
  @media (prefers-reduced-motion: reduce) {
155
+ .watt-motion {
156
+ transition-duration: 0s !important;
157
+ transition-property: none !important;
158
+ }
159
+ .watt-status {
160
+ transition: none;
161
+ }
123
162
  .watt-flow-dash,
124
163
  .watt-flow-pulse {
125
164
  animation: none !important;
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { HTMLAttributes } from "react";
1
+ import type { CSSProperties, HTMLAttributes } from "react";
2
2
  export type PowerUnit = "W" | "kW" | "MW";
3
3
  export type EnergyUnit = "Wh" | "kWh" | "MWh";
4
4
  export type MeasurementUnit = PowerUnit | EnergyUnit | "V" | "A" | "Hz" | "°C" | "%" | "W/m²";
@@ -6,6 +6,15 @@ export type Timestamp = string | number;
6
6
  export type DataQuality = "good" | "uncertain" | "stale" | "missing" | "bad" | "offline";
7
7
  export type EquipmentStatus = "normal" | "standby" | "stopped" | "warning" | "fault" | "offline";
8
8
  export type Density = "compact" | "comfortable";
9
+ export interface MotionOptions {
10
+ /** Duration in milliseconds; zero disables transitions. */
11
+ duration?: number;
12
+ easing?: CSSProperties["transitionTimingFunction"];
13
+ }
14
+ export type Motion = boolean | MotionOptions;
15
+ export interface MotionProps {
16
+ motion?: Motion;
17
+ }
9
18
  export interface PartProps extends HTMLAttributes<HTMLElement> {
10
19
  asChild?: boolean;
11
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAC9C,MAAM,MAAM,eAAe,GACzB,SAAS,GAAG,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,MAAM,CAAC;AAClE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AACxC,MAAM,MAAM,WAAW,GACrB,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,eAAe,GACzB,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AACrE,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,aAAa,CAAC;AAChD,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe;IACtE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AACD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AACD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AACD,MAAM,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAClD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1C,MAAM,EAAE,QAAQ,GAAG,cAAc,GAAG,UAAU,CAAC;IAC/C,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@watt-ui/react",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "React components for energy and power dashboards",
5
5
  "homepage": "https://watt-ui.pages.dev",
6
6
  "license": "MIT",