@panoboard/core 1.9.0 → 1.10.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 +1 @@
1
- {"version":3,"file":"DashboardShell.d.ts","sourceRoot":"","sources":["../../src/components/DashboardShell.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAUD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,2CAwMrB"}
1
+ {"version":3,"file":"DashboardShell.d.ts","sourceRoot":"","sources":["../../src/components/DashboardShell.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAMjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,2CAgOrB"}
@@ -12,7 +12,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  // See the License for the specific language governing permissions and
14
14
  // limitations under the License.
15
- import { useEffect, useCallback, useState } from "react";
15
+ import { useEffect, useCallback, useState, useRef } from "react";
16
16
  import { useRevalidator, useSearchParams } from "react-router";
17
17
  import { Maximize2, Minimize2 } from "lucide-react";
18
18
  import { DashboardDescription } from "./DashboardDescription";
@@ -20,15 +20,6 @@ import { TagPills } from "./TagPills";
20
20
  import { DashboardLinks } from "./DashboardLinks";
21
21
  import { RefreshControl, parseRefreshParam } from "./RefreshControl";
22
22
  import { RefreshProvider } from "./RefreshContext";
23
- function formatCountdown(seconds) {
24
- if (seconds <= 0)
25
- return "0s";
26
- if (seconds < 60)
27
- return `${seconds}s`;
28
- const m = Math.floor(seconds / 60);
29
- const s = seconds % 60;
30
- return s > 0 ? `${m}m ${s}s` : `${m}m`;
31
- }
32
23
  export function DashboardShell({ title, description, tags, links, filterParams, refresh, filters, children, }) {
33
24
  const revalidator = useRevalidator();
34
25
  const [searchParams, setSearchParams] = useSearchParams();
@@ -36,8 +27,7 @@ export function DashboardShell({ title, description, tags, links, filterParams,
36
27
  const urlRefresh = searchParams.get("refresh");
37
28
  const activeRefreshValue = urlRefresh ?? (refresh ? refresh.replace(/^(\d+)$/, "$1s") : "off");
38
29
  const activeRefreshSeconds = parseRefreshParam(activeRefreshValue);
39
- const [countdown, setCountdown] = useState(activeRefreshSeconds);
40
- const [paused, setPaused] = useState(false);
30
+ const [lastRefreshedAt, setLastRefreshedAt] = useState(() => new Date());
41
31
  const [refreshKey, setRefreshKey] = useState(0);
42
32
  const isRefreshing = revalidator.state === "loading";
43
33
  const isFullscreen = searchParams.get("fullscreen") === "1";
@@ -66,8 +56,21 @@ export function DashboardShell({ title, description, tags, links, filterParams,
66
56
  }, [isFullscreen, setSearchParams]);
67
57
  const doRefresh = useCallback(() => {
68
58
  setRefreshKey((k) => k + 1);
59
+ setLastRefreshedAt(new Date());
69
60
  revalidator.revalidate();
70
61
  }, [revalidator]);
62
+ const doRefreshRef = useRef(doRefresh);
63
+ useEffect(() => { doRefreshRef.current = doRefresh; }, [doRefresh]);
64
+ useEffect(() => {
65
+ if (activeRefreshSeconds <= 0)
66
+ return;
67
+ const id = setInterval(() => {
68
+ if (!doRefreshRef.current)
69
+ return;
70
+ doRefreshRef.current();
71
+ }, activeRefreshSeconds * 1000);
72
+ return () => clearInterval(id);
73
+ }, [activeRefreshSeconds]);
71
74
  const toggleFullscreen = useCallback(() => {
72
75
  setSearchParams((prev) => {
73
76
  const next = new URLSearchParams(prev);
@@ -80,53 +83,40 @@ export function DashboardShell({ title, description, tags, links, filterParams,
80
83
  return next;
81
84
  }, { preventScrollReset: true });
82
85
  }, [setSearchParams]);
86
+ useEffect(() => {
87
+ const handleKeyDown = (e) => {
88
+ // Suppress shortcuts when focus is inside an interactive element
89
+ const target = e.target;
90
+ if (target.tagName === "INPUT" ||
91
+ target.tagName === "TEXTAREA" ||
92
+ target.tagName === "SELECT" ||
93
+ target.isContentEditable) {
94
+ return;
95
+ }
96
+ if (e.key === "f") {
97
+ e.preventDefault();
98
+ toggleFullscreen();
99
+ }
100
+ if (e.key === "r") {
101
+ e.preventDefault();
102
+ doRefresh();
103
+ }
104
+ };
105
+ window.addEventListener("keydown", handleKeyDown);
106
+ return () => window.removeEventListener("keydown", handleKeyDown);
107
+ }, [toggleFullscreen, doRefresh]);
83
108
  const handleChangeInterval = useCallback((value) => {
84
109
  setSearchParams((prev) => {
85
110
  const next = new URLSearchParams(prev);
86
- if (value === "off") {
87
- next.delete("refresh");
88
- }
89
- else {
90
- next.set("refresh", value);
91
- }
111
+ next.set("refresh", value);
92
112
  return next;
93
113
  }, { preventScrollReset: true });
94
- setPaused(false);
95
114
  }, [setSearchParams]);
96
- const handleTogglePause = useCallback(() => {
97
- setPaused((prev) => !prev);
98
- }, []);
99
- // Reset countdown when interval changes
100
- useEffect(() => {
101
- setCountdown(activeRefreshSeconds);
102
- }, [activeRefreshSeconds]);
103
- // Reset countdown when refresh completes (cleanup runs on transition from loading)
104
- useEffect(() => {
105
- if (!isRefreshing)
106
- return;
107
- return () => setCountdown(activeRefreshSeconds);
108
- }, [isRefreshing, activeRefreshSeconds]);
109
- // Countdown tick
110
- useEffect(() => {
111
- if (activeRefreshSeconds <= 0 || isRefreshing || paused)
112
- return;
113
- const interval = setInterval(() => {
114
- setCountdown((prev) => {
115
- if (prev <= 1) {
116
- doRefresh();
117
- return 0;
118
- }
119
- return prev - 1;
120
- });
121
- }, 1000);
122
- return () => clearInterval(interval);
123
- }, [activeRefreshSeconds, isRefreshing, paused, doRefresh]);
124
- return (_jsxs("div", { className: "px-6 py-6 flex-1", children: [_jsxs("div", { className: "flex flex-col xl:flex-row xl:items-start gap-4 mb-6", children: [_jsxs("div", { className: "shrink-0", children: [_jsx("h1", { className: "text-3xl font-extrabold", style: { color: "var(--text-title)", letterSpacing: "-0.03em" }, children: title }), description && _jsx(DashboardDescription, { description: description }), tags && tags.length > 0 && (_jsx("div", { className: "mt-2", children: _jsx(TagPills, { tags: tags, linkBase: "/dashboards" }) })), links && links.length > 0 && (_jsx("div", { className: "mt-2", children: _jsx(DashboardLinks, { links: links, filterParams: filterParams ?? "" }) }))] }), _jsxs("div", { className: "flex items-start gap-3 xl:ml-auto xl:mt-1", children: [filters, _jsxs("div", { className: "shrink-0 flex items-center gap-2", children: [_jsx("button", { onClick: doRefresh, disabled: isRefreshing, className: "btn-primary rounded-[10px] px-4 py-2 text-sm font-medium", children: isRefreshing ? "Refreshing\u2026" : "Refresh Now" }), _jsx(RefreshControl, { currentValue: activeRefreshValue, isRefreshing: isRefreshing, isPaused: paused, onChangeInterval: handleChangeInterval, onTogglePause: handleTogglePause }), activeRefreshSeconds > 0 && (_jsx("span", { className: "text-xs whitespace-nowrap", style: { color: "var(--text-muted)" }, children: isRefreshing
125
- ? "Refreshing\u2026"
126
- : paused
127
- ? "Paused"
128
- : `Refreshes in ${formatCountdown(countdown)}` })), !isFullscreen && (_jsx("button", { onClick: toggleFullscreen, title: "Full screen", className: "rounded-lg p-2 transition", style: { backgroundColor: "var(--filter-bg)", color: "var(--text-muted)" }, children: _jsx(Maximize2, { className: "w-4 h-4" }) }))] })] })] }), _jsx(RefreshProvider, { value: refreshKey, children: children }), isFullscreen && (_jsxs("div", { className: "fixed top-0 inset-x-0 z-50 flex justify-center group", children: [_jsx("div", { className: "h-4 w-64" }), _jsxs("button", { onClick: toggleFullscreen, style: { background: "rgba(0, 0, 0, 0.85)" }, className: `absolute top-0 flex items-center gap-2 text-white rounded-b-lg px-4 py-2 text-sm font-medium shadow-lg backdrop-blur-sm transition-transform duration-300 ease-in-out ${hintVisible
115
+ return (_jsxs("div", { className: "px-6 py-6 flex-1", children: [_jsxs("div", { className: "flex flex-col xl:flex-row xl:items-start gap-4 mb-6", children: [_jsxs("div", { className: "shrink-0", children: [_jsxs("div", { className: "flex items-baseline gap-2", children: [_jsx("h1", { className: "text-3xl font-extrabold", style: { color: "var(--text-title)", letterSpacing: "-0.03em" }, children: title }), _jsx("button", { onClick: toggleFullscreen, title: isFullscreen ? "Exit full screen" : "Enter full screen", className: "rounded p-0.5 transition opacity-30 hover:opacity-70", style: { color: "var(--text-muted)" }, children: isFullscreen ? _jsx(Minimize2, { className: "w-4 h-4" }) : _jsx(Maximize2, { className: "w-4 h-4" }) })] }), description && _jsx(DashboardDescription, { description: description }), tags && tags.length > 0 && (_jsx("div", { className: "mt-2", children: _jsx(TagPills, { tags: tags, linkBase: "/dashboards" }) })), links && links.length > 0 && (_jsx("div", { className: "mt-2", children: _jsx(DashboardLinks, { links: links, filterParams: filterParams ?? "" }) }))] }), _jsxs("div", { className: "flex items-start gap-3 xl:ml-auto xl:mt-1", children: [filters, _jsxs("div", { className: "shrink-0 flex items-center gap-2", children: [_jsx("div", { className: "hidden xl:block self-stretch", style: { width: 1, backgroundColor: "var(--panel-border)" } }), _jsx(RefreshControl, { currentValue: activeRefreshValue, isRefreshing: isRefreshing, lastRefreshedAt: lastRefreshedAt, onRefresh: doRefresh, onChangeInterval: handleChangeInterval })] })] })] }), _jsx(RefreshProvider, { value: refreshKey, children: children }), isFullscreen && (_jsxs("div", { className: "fixed top-0 inset-x-0 z-50 group", children: [_jsx("div", { className: "h-4 w-full" }), _jsx("div", { className: `absolute top-0 inset-x-0 border-b backdrop-blur-sm shadow-lg transition-transform duration-300 ease-in-out ${hintVisible
129
116
  ? "translate-y-0"
130
- : "-translate-y-full group-hover:translate-y-0"}`, children: [_jsx(Minimize2, { className: "w-4 h-4" }), "Exit Full Screen"] })] }))] }));
117
+ : "-translate-y-full group-hover:translate-y-0"}`, style: {
118
+ background: "rgba(10, 12, 20, 0.95)",
119
+ borderColor: "var(--panel-border)",
120
+ }, children: _jsxs("div", { className: "flex items-center justify-between px-6 py-2 gap-4", children: [_jsxs("div", { className: "flex items-baseline gap-2 shrink-0", children: [_jsx("span", { className: "font-semibold text-sm", style: { color: "var(--text-title)" }, children: title }), _jsx("button", { onClick: toggleFullscreen, title: "Exit full screen", className: "rounded p-0.5 transition opacity-50 hover:opacity-90", style: { color: "var(--text-muted)" }, children: _jsx(Minimize2, { className: "w-3.5 h-3.5" }) })] }), _jsxs("div", { className: "flex items-center gap-2 ml-auto", children: [filters, _jsx("div", { className: "self-stretch", style: { width: 1, backgroundColor: "var(--panel-border)" } }), _jsx(RefreshControl, { currentValue: activeRefreshValue, isRefreshing: isRefreshing, lastRefreshedAt: lastRefreshedAt, onRefresh: doRefresh, onChangeInterval: handleChangeInterval })] })] }) })] }))] }));
131
121
  }
132
122
  //# sourceMappingURL=DashboardShell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardShell.js","sourceRoot":"","sources":["../../src/components/DashboardShell.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DashboardShell.js","sourceRoot":"","sources":["../../src/components/DashboardShell.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PanelWrapper.d.ts","sourceRoot":"","sources":["../../src/components/PanelWrapper.tsx"],"names":[],"mappings":"AAkCA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CAerE"}
1
+ {"version":3,"file":"PanelWrapper.d.ts","sourceRoot":"","sources":["../../src/components/PanelWrapper.tsx"],"names":[],"mappings":"AAmCA,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CAerE"}
@@ -12,7 +12,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  // See the License for the specific language governing permissions and
14
14
  // limitations under the License.
15
- import { Suspense, useEffect, useState } from "react";
15
+ import { Suspense, useEffect, useRef, useState } from "react";
16
+ import { createPortal } from "react-dom";
16
17
  import { Info } from "lucide-react";
17
18
  import { useLoaderData, useFetcher, useSearchParams } from "react-router";
18
19
  import { ThemeProvider } from "../theme/context";
@@ -55,7 +56,15 @@ function PanelWrapperInner({ slug, panel, index }) {
55
56
  }
56
57
  function DescriptionTooltip({ description }) {
57
58
  const [show, setShow] = useState(false);
58
- return (_jsxs("div", { className: "relative flex items-center", children: [_jsx("button", { type: "button", className: "opacity-40 hover:opacity-70 transition cursor-help", style: { color: "var(--text-muted)" }, onMouseEnter: () => setShow(true), onMouseLeave: () => setShow(false), onFocus: () => setShow(true), onBlur: () => setShow(false), "aria-label": "Panel description", children: _jsx(Info, { className: "w-3.5 h-3.5" }) }), show && (_jsx("div", { className: "absolute z-50 top-full right-0 mt-1 max-w-xs p-3 rounded-lg shadow-lg glass-overlay text-xs leading-relaxed", style: { color: "var(--text-muted)" }, role: "tooltip", children: description }))] }));
59
+ const [pos, setPos] = useState({ top: 0, right: 0 });
60
+ const buttonRef = useRef(null);
61
+ const updatePos = () => {
62
+ if (buttonRef.current) {
63
+ const rect = buttonRef.current.getBoundingClientRect();
64
+ setPos({ top: rect.bottom + 4, right: window.innerWidth - rect.right });
65
+ }
66
+ };
67
+ return (_jsxs("div", { className: "flex items-center", children: [_jsx("button", { ref: buttonRef, type: "button", className: "opacity-40 hover:opacity-70 transition cursor-help", style: { color: "var(--text-muted)" }, onMouseEnter: () => { updatePos(); setShow(true); }, onMouseLeave: () => setShow(false), onFocus: () => { updatePos(); setShow(true); }, onBlur: () => setShow(false), "aria-label": "Panel description", children: _jsx(Info, { className: "w-3.5 h-3.5" }) }), show && createPortal(_jsx("div", { className: "fixed z-9999 max-w-xs p-3 rounded-lg shadow-lg glass-overlay text-xs leading-relaxed", style: { color: "var(--text-muted)", top: pos.top, right: pos.right }, role: "tooltip", children: description }), document.body)] }));
59
68
  }
60
69
  function PanelContent({ slug, panel }) {
61
70
  const [searchParams] = useSearchParams();
@@ -1 +1 @@
1
- {"version":3,"file":"PanelWrapper.js","sourceRoot":"","sources":["../../src/components/PanelWrapper.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PanelWrapper.js","sourceRoot":"","sources":["../../src/components/PanelWrapper.tsx"],"names":[],"mappings":"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"}
@@ -4,14 +4,14 @@ export interface RefreshOption {
4
4
  }
5
5
  export declare const REFRESH_OPTIONS: RefreshOption[];
6
6
  export declare function parseRefreshParam(value: string | null | undefined): number;
7
- export declare function formatRefreshLabel(value: string): string;
7
+ export declare function formatElapsed(date: Date): string;
8
8
  interface RefreshControlProps {
9
9
  currentValue: string;
10
10
  isRefreshing: boolean;
11
- isPaused: boolean;
11
+ lastRefreshedAt: Date;
12
+ onRefresh: () => void;
12
13
  onChangeInterval: (value: string) => void;
13
- onTogglePause: () => void;
14
14
  }
15
- export declare function RefreshControl({ currentValue, isRefreshing, isPaused, onChangeInterval, onTogglePause, }: RefreshControlProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function RefreshControl({ currentValue, isRefreshing, lastRefreshedAt, onRefresh, onChangeInterval, }: RefreshControlProps): import("react/jsx-runtime").JSX.Element;
16
16
  export {};
17
17
  //# sourceMappingURL=RefreshControl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshControl.d.ts","sourceRoot":"","sources":["../../src/components/RefreshControl.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,eAAe,EAAE,aAAa,EAO1C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAa1E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,EAC7B,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,aAAa,GACd,EAAE,mBAAmB,2CAyErB"}
1
+ {"version":3,"file":"RefreshControl.d.ts","sourceRoot":"","sources":["../../src/components/RefreshControl.tsx"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,eAAe,EAAE,aAAa,EAO1C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAa1E;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAMhD;AAED,UAAU,mBAAmB;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,wBAAgB,cAAc,CAAC,EAC7B,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,SAAS,EACT,gBAAgB,GACjB,EAAE,mBAAmB,2CA0GrB"}
@@ -13,8 +13,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  // See the License for the specific language governing permissions and
14
14
  // limitations under the License.
15
15
  import { useState, useRef, useEffect, useCallback } from "react";
16
- import { RefreshCw, ChevronDown, Pause, Play } from "lucide-react";
17
- import { useTheme } from "../theme/context";
16
+ import { ChevronDown } from "lucide-react";
18
17
  export const REFRESH_OPTIONS = [
19
18
  { value: "off", label: "Off" },
20
19
  { value: "10s", label: "10s" },
@@ -39,15 +38,25 @@ export function parseRefreshParam(value) {
39
38
  return num;
40
39
  }
41
40
  }
42
- export function formatRefreshLabel(value) {
43
- if (value === "off")
44
- return "Off";
45
- return value;
41
+ export function formatElapsed(date) {
42
+ const seconds = Math.floor((Date.now() - date.getTime()) / 1000);
43
+ if (seconds < 10)
44
+ return "just now";
45
+ if (seconds < 60)
46
+ return `${seconds}s ago`;
47
+ if (seconds < 3600)
48
+ return `${Math.floor(seconds / 60)}m ago`;
49
+ return `${Math.floor(seconds / 3600)}h ago`;
46
50
  }
47
- export function RefreshControl({ currentValue, isRefreshing, isPaused, onChangeInterval, onTogglePause, }) {
48
- const theme = useTheme();
51
+ export function RefreshControl({ currentValue, isRefreshing, lastRefreshedAt, onRefresh, onChangeInterval, }) {
49
52
  const [open, setOpen] = useState(false);
50
53
  const containerRef = useRef(null);
54
+ const [elapsed, setElapsed] = useState(() => formatElapsed(lastRefreshedAt));
55
+ useEffect(() => {
56
+ setElapsed(formatElapsed(lastRefreshedAt));
57
+ const id = setInterval(() => setElapsed(formatElapsed(lastRefreshedAt)), 1000);
58
+ return () => clearInterval(id);
59
+ }, [lastRefreshedAt]);
51
60
  useEffect(() => {
52
61
  if (!open)
53
62
  return;
@@ -63,10 +72,21 @@ export function RefreshControl({ currentValue, isRefreshing, isPaused, onChangeI
63
72
  onChangeInterval(value);
64
73
  setOpen(false);
65
74
  }, [onChangeInterval]);
66
- const activeLabel = formatRefreshLabel(currentValue);
67
75
  const isActive = currentValue !== "off";
68
- return (_jsxs("div", { ref: containerRef, className: "relative inline-flex items-center gap-1", children: [_jsxs("button", { onClick: () => setOpen(!open), className: "rounded-lg px-2.5 py-2 text-xs font-medium transition flex items-center gap-1.5 hover:opacity-80", style: { backgroundColor: theme.filters.background, color: theme.typography.muted }, children: [_jsx(RefreshCw, { className: `w-3.5 h-3.5 ${isRefreshing ? "animate-spin" : ""}` }), _jsx("span", { children: activeLabel }), _jsx(ChevronDown, { className: "w-3 h-3 opacity-50" })] }), isActive && (_jsx("button", { onClick: onTogglePause, title: isPaused ? "Resume auto-refresh" : "Pause auto-refresh", className: "rounded-lg p-2 text-xs transition hover:opacity-80", style: { backgroundColor: theme.filters.background, color: theme.typography.muted }, children: isPaused ? _jsx(Play, { className: "w-3.5 h-3.5" }) : _jsx(Pause, { className: "w-3.5 h-3.5" }) })), open && (_jsx("div", { className: "absolute top-full right-0 mt-1 border rounded-lg shadow-xl z-50 min-w-25 py-1", style: { backgroundColor: theme.panel.surface, borderColor: theme.panel.border }, children: REFRESH_OPTIONS.map((option) => (_jsx("button", { onClick: () => handleSelect(option.value), className: `w-full text-left px-3 py-1.5 text-xs transition ${option.value === currentValue ? "font-medium" : "hover:opacity-80"}`, style: {
69
- color: option.value === currentValue ? theme.typography.value : theme.typography.muted,
76
+ const dotColor = isActive ? "#3db87a" : "var(--text-muted)";
77
+ const dotShadow = isActive ? "0 0 0 2px rgba(61,184,122,.2)" : "none";
78
+ return (_jsxs("div", { ref: containerRef, className: "relative inline-flex", children: [_jsxs("div", { className: "inline-flex items-center border rounded-lg overflow-hidden", style: { borderColor: "var(--panel-border)" }, children: [_jsxs("button", { onClick: onRefresh, disabled: isRefreshing, className: "flex items-center gap-1.5 px-2.5 py-1.5 text-xs transition hover:opacity-80", style: { backgroundColor: "var(--filter-bg)", color: "var(--text-muted)" }, title: "Refresh now", children: [_jsx("span", { style: {
79
+ width: 6,
80
+ height: 6,
81
+ borderRadius: "50%",
82
+ backgroundColor: dotColor,
83
+ boxShadow: dotShadow,
84
+ flexShrink: 0,
85
+ display: "inline-block",
86
+ } }), _jsx("span", { children: isRefreshing ? "Refreshing…" : elapsed })] }), _jsx("div", { style: { width: 1, alignSelf: "stretch", backgroundColor: "var(--panel-border)" } }), _jsxs("button", { onClick: () => setOpen(!open), className: "flex items-center gap-1 px-2 py-1.5 text-xs transition hover:opacity-80", style: { backgroundColor: "var(--filter-bg)", color: "var(--text-muted)" }, title: "Change refresh interval", children: [_jsx("span", { children: currentValue === "off" ? "Off" : currentValue }), _jsx(ChevronDown, { className: "w-3 h-3 opacity-50" })] })] }), open && (_jsx("div", { className: "absolute top-full right-0 mt-1 border rounded-lg shadow-xl z-50 min-w-25 py-1", style: { backgroundColor: "var(--panel-surface)", borderColor: "var(--panel-border)" }, children: REFRESH_OPTIONS.map((option) => (_jsx("button", { onClick: () => handleSelect(option.value), className: `w-full text-left px-3 py-1.5 text-xs transition ${option.value === currentValue ? "font-medium" : "hover:opacity-80"}`, style: {
87
+ color: option.value === currentValue
88
+ ? "var(--text-value)"
89
+ : "var(--text-muted)",
70
90
  }, children: option.label }, option.value))) }))] }));
71
91
  }
72
92
  //# sourceMappingURL=RefreshControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefreshControl.js","sourceRoot":"","sources":["../../src/components/RefreshControl.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefreshControl.js","sourceRoot":"","sources":["../../src/components/RefreshControl.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { resolveSource, type ResolvedSource } from "./resolve";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { resolveSource } from "./resolve";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAuB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface ResolvedSource {
2
+ path: string;
3
+ type: "directory" | "file";
4
+ }
5
+ /**
6
+ * Resolve a datasources or dashboards path hint to an absolute local path.
7
+ *
8
+ * Resolution order:
9
+ * 1. If hint is absolute, use as-is; otherwise resolve relative to base.
10
+ * 2. If resolved path exists as a directory → return it.
11
+ * 3. If resolved path exists as a file → return it.
12
+ * 4. Append ".yaml" → if that file exists → return it.
13
+ * 5. Throw.
14
+ *
15
+ * Cloud URLs (s3://, gs://) must be pre-resolved to a local temp dir
16
+ * before calling this function.
17
+ */
18
+ export declare function resolveSource(base: string, hint: string): Promise<ResolvedSource>;
19
+ //# sourceMappingURL=resolve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAsBvF"}
@@ -0,0 +1,39 @@
1
+ import fs from "fs/promises";
2
+ import path from "path";
3
+ /**
4
+ * Resolve a datasources or dashboards path hint to an absolute local path.
5
+ *
6
+ * Resolution order:
7
+ * 1. If hint is absolute, use as-is; otherwise resolve relative to base.
8
+ * 2. If resolved path exists as a directory → return it.
9
+ * 3. If resolved path exists as a file → return it.
10
+ * 4. Append ".yaml" → if that file exists → return it.
11
+ * 5. Throw.
12
+ *
13
+ * Cloud URLs (s3://, gs://) must be pre-resolved to a local temp dir
14
+ * before calling this function.
15
+ */
16
+ export async function resolveSource(base, hint) {
17
+ const resolved = path.isAbsolute(hint) ? hint : path.resolve(base, hint);
18
+ try {
19
+ const stat = await fs.stat(resolved);
20
+ if (stat.isDirectory())
21
+ return { path: resolved, type: "directory" };
22
+ return { path: resolved, type: "file" };
23
+ }
24
+ catch (err) {
25
+ if (err.code !== "ENOENT")
26
+ throw err;
27
+ }
28
+ const withYaml = resolved + ".yaml";
29
+ try {
30
+ await fs.stat(withYaml);
31
+ return { path: withYaml, type: "file" };
32
+ }
33
+ catch (err) {
34
+ if (err.code !== "ENOENT")
35
+ throw err;
36
+ }
37
+ throw new Error(`Cannot resolve source: '${hint}' — tried '${resolved}' and '${withYaml}'`);
38
+ }
39
+ //# sourceMappingURL=resolve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAEzE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QACrE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,GAAG,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,cAAc,QAAQ,UAAU,QAAQ,GAAG,CAC3E,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from "./transforms";
7
7
  export * from "./cache";
8
8
  export * from "./filters";
9
9
  export * from "./components";
10
+ export * from "./config";
10
11
  export * from "./theme";
11
12
  export type { ConfigError, ConfigErrorYamlContext } from "./types/config-error";
12
13
  export type { Notification, NotificationResponse, NotificationType, NotificationSeverity, SystemStatus, } from "./types/notification";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAChF,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAChF,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B,cAAc,UAAU,CAAC;AAGzB,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -28,6 +28,8 @@ export * from "./cache";
28
28
  export * from "./filters";
29
29
  // Components
30
30
  export * from "./components";
31
+ // Config utilities
32
+ export * from "./config";
31
33
  // Theme
32
34
  export * from "./theme";
33
35
  // Locale
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,kBAAkB;AAClB,cAAc,WAAW,CAAC;AAE1B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,eAAe;AACf,cAAc,SAAS,CAAC;AAExB,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,UAAU;AACV,cAAc,WAAW,CAAC;AAE1B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,QAAQ;AACR,cAAc,SAAS,CAAC;AAYxB,SAAS;AACT,cAAc,UAAU,CAAC;AAEzB,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1D,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,WAAW;AACX,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,+DAA+D;AAC/D,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,kBAAkB;AAClB,cAAc,WAAW,CAAC;AAE1B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,eAAe;AACf,cAAc,SAAS,CAAC;AAExB,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,UAAU;AACV,cAAc,WAAW,CAAC;AAE1B,aAAa;AACb,cAAc,cAAc,CAAC;AAE7B,mBAAmB;AACnB,cAAc,UAAU,CAAC;AAEzB,QAAQ;AACR,cAAc,SAAS,CAAC;AAYxB,SAAS;AACT,cAAc,UAAU,CAAC;AAEzB,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1D,gBAAgB;AAChB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,WAAW;AACX,cAAc,WAAW,CAAC"}
@@ -4,14 +4,8 @@ export declare const configSchema: z.ZodObject<{
4
4
  port: z.ZodDefault<z.ZodNumber>;
5
5
  base_url: z.ZodOptional<z.ZodString>;
6
6
  }, z.core.$strict>>;
7
- dashboards: z.ZodDefault<z.ZodObject<{
8
- dir: z.ZodDefault<z.ZodString>;
9
- gcs_bucket: z.ZodOptional<z.ZodString>;
10
- gcs_prefix: z.ZodOptional<z.ZodString>;
11
- s3_bucket: z.ZodOptional<z.ZodString>;
12
- s3_prefix: z.ZodOptional<z.ZodString>;
13
- s3_region: z.ZodOptional<z.ZodString>;
14
- }, z.core.$strict>>;
7
+ datasources: z.ZodDefault<z.ZodString>;
8
+ dashboards: z.ZodDefault<z.ZodString>;
15
9
  timezone: z.ZodDefault<z.ZodString>;
16
10
  theme: z.ZodDefault<z.ZodString>;
17
11
  auth: z.ZodDefault<z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqHxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAYd,CAAC;AAEZ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyGxB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAad,CAAC;AAEZ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
@@ -24,17 +24,6 @@ const serverSchema = z
24
24
  })
25
25
  .strict()
26
26
  .default({ port: 3000 });
27
- const dashboardsSchema = z
28
- .object({
29
- dir: z.string().default("/config/dashboards"),
30
- gcs_bucket: z.string().optional(),
31
- gcs_prefix: z.string().optional(),
32
- s3_bucket: z.string().optional(),
33
- s3_prefix: z.string().optional(),
34
- s3_region: z.string().optional(),
35
- })
36
- .strict()
37
- .default({ dir: "/config/dashboards" });
38
27
  const googleProviderSchema = z
39
28
  .object({
40
29
  client_id: z.string(),
@@ -117,7 +106,8 @@ const startupChecksSchema = z
117
106
  export const configSchema = z
118
107
  .object({
119
108
  server: serverSchema,
120
- dashboards: dashboardsSchema,
109
+ datasources: z.string().default("./datasources"),
110
+ dashboards: z.string().default("./dashboards"),
121
111
  timezone: timezoneSchema.default("UTC"),
122
112
  theme: z.string().default("dark"),
123
113
  auth: authSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/schemas/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panoboard/core",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "description": "Shared core library for Panoboard — schemas, query engine, connectors, components, themes",
5
5
  "license": "BUSL-1.1",
6
6
  "type": "module",