@burdenoff/microfe-bigconsole 2026.1012.3 → 2026.1012.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bigconsole/BigConsoleRoutes.js +149 -140
- package/dist/bigconsole/assistant/assistantApi.js +5 -5
- package/dist/bigconsole/assistant/assistantProduct.js +4 -1
- package/dist/bigconsole/assistant/displayCopy.d.ts +32 -0
- package/dist/bigconsole/assistant/pageContext.d.ts +14 -0
- package/dist/bigconsole/assistant/pageContext.js +6 -1
- package/dist/bigconsole/assistant/pageControls.d.ts +81 -0
- package/dist/bigconsole/assistant/pageControls.js +169 -0
- package/dist/bigconsole/assistant/previewControl.d.ts +16 -0
- package/dist/bigconsole/assistant/previewControl.js +10 -0
- package/dist/bigconsole/assistant/recordAdapters.js +27 -26
- package/dist/bigconsole/assistant/usePreviewControl.d.ts +2 -0
- package/dist/bigconsole/assistant/usePreviewControl.js +20 -0
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +33 -18
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
- package/dist/bigconsole/components/common/SortBySelect.d.ts +11 -0
- package/dist/bigconsole/components/common/SortBySelect.js +29 -0
- package/dist/bigconsole/components/common/index.d.ts +1 -0
- package/dist/bigconsole/components/common/index.js +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +153 -153
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +134 -134
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +154 -150
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
- package/dist/bigconsole/components/datasink/DataSinkCard.js +51 -50
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
- package/dist/bigconsole/components/embed/renderer-manifest.js +12 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
- package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
- package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +77 -76
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +96 -95
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +507 -499
- package/dist/bigconsole/components/widgets/WidgetRegistry.js +122 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.js +227 -224
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgetConfig.d.ts +10 -0
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgetConfig.js +113 -0
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgets.d.ts +10 -0
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgets.js +187 -0
- package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.d.ts +7 -0
- package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.js +12 -0
- package/dist/bigconsole/components/widgets/advanced/data.d.ts +36 -0
- package/dist/bigconsole/components/widgets/advanced/data.js +113 -0
- package/dist/bigconsole/components/widgets/advanced/mapData.d.ts +10 -0
- package/dist/bigconsole/components/widgets/advanced/mapData.js +22 -0
- package/dist/bigconsole/components/widgets/advanced/waterfallData.d.ts +15 -0
- package/dist/bigconsole/components/widgets/advanced/waterfallData.js +28 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +34 -37
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
- package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
- package/dist/bigconsole/components/widgets/index.js +1 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
- package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +2 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +64 -63
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
- package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
- package/dist/bigconsole/constants/backendErrors.js +94 -0
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +10 -10
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
- package/dist/bigconsole/graphql/widgetCapabilities.d.ts +7 -0
- package/dist/bigconsole/graphql/widgetCapabilities.js +37 -0
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +14 -0
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +32 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +23 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.js +138 -113
- package/dist/bigconsole/hooks/useDrilldown.js +3 -3
- package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
- package/dist/bigconsole/hooks/useWidgetCatalog.js +46 -41
- package/dist/bigconsole/hooks/useWidgetOperations.js +113 -88
- package/dist/bigconsole/pages/AdminPage.js +130 -130
- package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
- package/dist/bigconsole/pages/DashboardViewPage.js +244 -221
- package/dist/bigconsole/pages/DashboardsPage.js +269 -221
- package/dist/bigconsole/pages/DataParsersPage.js +180 -157
- package/dist/bigconsole/pages/DataSinkAlertsPage.js +62 -55
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +252 -234
- package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +335 -299
- package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
- package/dist/bigconsole/pages/InsightsPage.js +279 -265
- package/dist/bigconsole/pages/OverviewPage.js +47 -47
- package/dist/bigconsole/pages/ParserBuilderPage.js +229 -213
- package/dist/bigconsole/pages/ParserViewPage.js +97 -97
- package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
- package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
- package/dist/bigconsole/pages/PipelinesPage.js +107 -88
- package/dist/bigconsole/pages/SettingsPage.js +179 -173
- package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
- package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +8 -5
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +69 -69
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
- package/dist/bigconsole/store/widgetStore.d.ts +12 -0
- package/dist/bigconsole/store/widgetStore.js +3 -1
- package/dist/bigconsole/types/index.d.ts +1 -1
- package/dist/bigconsole/utils/advancedWidgetCapabilities.d.ts +14 -0
- package/dist/bigconsole/utils/advancedWidgetCapabilities.js +36 -0
- package/dist/bigconsole/utils/backendError.d.ts +18 -0
- package/dist/bigconsole/utils/backendError.js +42 -0
- package/dist/bigconsole/utils/dashboardList.d.ts +28 -0
- package/dist/bigconsole/utils/dashboardList.js +15 -0
- package/dist/bigconsole/utils/dataSinkList.d.ts +15 -0
- package/dist/bigconsole/utils/dataSinkList.js +15 -0
- package/dist/bigconsole/utils/formDirty.d.ts +82 -0
- package/dist/bigconsole/utils/formDirty.js +21 -0
- package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
- package/dist/bigconsole/utils/insightsDraft.js +8 -0
- package/dist/bigconsole/utils/layoutBaseline.d.ts +130 -0
- package/dist/bigconsole/utils/layoutBaseline.js +96 -0
- package/dist/bigconsole/utils/listSort.d.ts +80 -0
- package/dist/bigconsole/utils/listSort.js +85 -0
- package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
- package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts +1 -1
- package/dist/bigconsole/utils/widgetTypeMapping.js +13 -2
- package/dist/bigconsole/workflowOpen.js +15 -14
- package/dist/generated/wspace-operations.d.ts +61 -2
- package/dist/generated/wspace-operations.js +44 -18
- package/dist/generated/wspace-types.d.ts +34 -3
- package/package.json +3 -3
|
@@ -1,82 +1,83 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import s from "
|
|
1
|
+
import { normalizeMapMarkers as e } from "../advanced/mapData.js";
|
|
2
|
+
import { memo as t, useEffect as n, useMemo as r, useRef as i, useState as a } from "react";
|
|
3
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
4
|
+
import c from "leaflet";
|
|
4
5
|
//#region src/bigconsole/components/widgets/map-widget/MapWidget.tsx
|
|
5
|
-
var
|
|
6
|
-
function
|
|
7
|
-
if (
|
|
8
|
-
|
|
6
|
+
var l = "https://unpkg.com/leaflet@1.9.4/dist/leaflet.css", u = "sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=", d = !1;
|
|
7
|
+
function f() {
|
|
8
|
+
if (d || document.getElementById("leaflet-css")) return;
|
|
9
|
+
d = !0;
|
|
9
10
|
let e = document.createElement("link");
|
|
10
|
-
e.id = "leaflet-css", e.rel = "stylesheet", e.href =
|
|
11
|
-
console.warn("[bigconsole] Leaflet CSS failed to load; map styling may be broken."),
|
|
11
|
+
e.id = "leaflet-css", e.rel = "stylesheet", e.href = l, e.integrity = u, e.crossOrigin = "anonymous", e.referrerPolicy = "no-referrer", e.onerror = () => {
|
|
12
|
+
console.warn("[bigconsole] Leaflet CSS failed to load; map styling may be broken."), d = !1, e.remove();
|
|
12
13
|
}, document.head.appendChild(e);
|
|
13
14
|
}
|
|
14
|
-
var
|
|
15
|
-
function
|
|
16
|
-
if (typeof e != "string") return
|
|
15
|
+
var p = "var(--color-chart-1, #3b82f6)";
|
|
16
|
+
function m(e) {
|
|
17
|
+
if (typeof e != "string") return p;
|
|
17
18
|
let t = e.trim();
|
|
18
|
-
return t.length > 64 || /[;{}<>"'\\]/.test(t) || /\burl\s*\(/i.test(t) || !/^[#a-zA-Z0-9(),.%/_\s-]+$/.test(t) ?
|
|
19
|
+
return t.length > 64 || /[;{}<>"'\\]/.test(t) || /\burl\s*\(/i.test(t) || !/^[#a-zA-Z0-9(),.%/_\s-]+$/.test(t) ? p : t;
|
|
19
20
|
}
|
|
20
|
-
function
|
|
21
|
+
function h(e) {
|
|
21
22
|
return typeof e == "number" && Number.isFinite(e);
|
|
22
23
|
}
|
|
23
|
-
function
|
|
24
|
+
function g(e) {
|
|
24
25
|
return e >= .66 ? "var(--color-status-error)" : e >= .33 ? "var(--color-status-warning)" : "var(--color-status-info)";
|
|
25
26
|
}
|
|
26
|
-
function
|
|
27
|
+
function _(e) {
|
|
27
28
|
let t = document.createElement("div"), n = document.createElement("div");
|
|
28
|
-
if (n.style.fontWeight = "600", n.textContent = e.popup || e.name || "Location", t.appendChild(n),
|
|
29
|
+
if (n.style.fontWeight = "600", n.textContent = e.popup || e.name || "Location", t.appendChild(n), h(e.value)) {
|
|
29
30
|
let n = document.createElement("div");
|
|
30
31
|
n.textContent = e.value.toLocaleString(), t.appendChild(n);
|
|
31
32
|
}
|
|
32
33
|
return t;
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
+
function v(e) {
|
|
35
36
|
let t = e;
|
|
36
|
-
return t &&
|
|
37
|
+
return t && h(t.lat) && h(t.lng) ? {
|
|
37
38
|
lat: t.lat,
|
|
38
39
|
lng: t.lng
|
|
39
40
|
} : void 0;
|
|
40
41
|
}
|
|
41
|
-
function
|
|
42
|
-
let
|
|
42
|
+
function y(t, n) {
|
|
43
|
+
let r = Array.isArray(t) ? void 0 : t, i = e(Array.isArray(t) ? t : t?.markers ?? t?.rows, n), a = (r?.geoJson ?? n.geoJson) || void 0, o = n.regionIdField || "id", s = /* @__PURE__ */ new Map(), c = r?.regions ?? n.regions;
|
|
43
44
|
if (Array.isArray(c)) for (let e of c) {
|
|
44
45
|
if (!e) continue;
|
|
45
46
|
let t = e[o] ?? e.id ?? e.region ?? e.code, n = e.value ?? e.count ?? e.total;
|
|
46
|
-
t != null &&
|
|
47
|
+
t != null && h(n) && s.set(String(t), {
|
|
47
48
|
value: n,
|
|
48
49
|
name: typeof e.name == "string" ? e.name : void 0
|
|
49
50
|
});
|
|
50
51
|
}
|
|
51
52
|
return {
|
|
52
53
|
markers: i,
|
|
53
|
-
center:
|
|
54
|
-
zoom:
|
|
55
|
-
fallbackCenter:
|
|
56
|
-
fallbackZoom:
|
|
54
|
+
center: v(r?.center),
|
|
55
|
+
zoom: h(r?.zoom) ? r?.zoom : void 0,
|
|
56
|
+
fallbackCenter: v(n.center),
|
|
57
|
+
fallbackZoom: h(n.zoom) ? n.zoom : void 0,
|
|
57
58
|
geoJson: a && Array.isArray(a.features) ? a : void 0,
|
|
58
59
|
regionValues: s
|
|
59
60
|
};
|
|
60
61
|
}
|
|
61
|
-
var
|
|
62
|
-
let
|
|
63
|
-
return
|
|
62
|
+
var b = t(function({ widget: e, data: t, onClick: l, onDrilldown: u }) {
|
|
63
|
+
let d = i(null), p = i(null), v = i(null), [b, x] = a("loading"), S = r(() => e?.config ?? {}, [e?.config]), C = S.showMarkers !== !1, w = S.mapMode === "heat", T = S.regionIdField || "id", { markers: E, center: D, zoom: O, fallbackCenter: k, fallbackZoom: A, geoJson: j, regionValues: M } = r(() => y(t, S), [t, S]), N = !!(j && M.size > 0), P = i(() => void 0);
|
|
64
|
+
return n(() => {
|
|
64
65
|
P.current = (e) => {
|
|
65
66
|
u ? u(e) : l && l(e);
|
|
66
67
|
};
|
|
67
|
-
}, [l, u]),
|
|
68
|
-
let e =
|
|
68
|
+
}, [l, u]), n(() => {
|
|
69
|
+
let e = d.current;
|
|
69
70
|
if (!e) return;
|
|
70
|
-
|
|
71
|
+
f();
|
|
71
72
|
let t;
|
|
72
73
|
try {
|
|
73
|
-
t =
|
|
74
|
+
t = c.map(e, {
|
|
74
75
|
center: [20, 0],
|
|
75
76
|
zoom: 2,
|
|
76
77
|
scrollWheelZoom: !0,
|
|
77
78
|
attributionControl: !0
|
|
78
79
|
});
|
|
79
|
-
let n =
|
|
80
|
+
let n = c.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
|
|
80
81
|
attribution: "© OpenStreetMap contributors",
|
|
81
82
|
maxZoom: 18
|
|
82
83
|
}), r = !1;
|
|
@@ -84,27 +85,27 @@ var y = e(function({ widget: e, data: c, onClick: l, onDrilldown: u }) {
|
|
|
84
85
|
r = !0, x((e) => e === "error" ? "ready" : e);
|
|
85
86
|
}), n.on("tileerror", () => {
|
|
86
87
|
r || x("error");
|
|
87
|
-
}), n.addTo(t),
|
|
88
|
+
}), n.addTo(t), p.current = t, v.current = null, x("ready");
|
|
88
89
|
} catch {
|
|
89
90
|
x("error");
|
|
90
91
|
return;
|
|
91
92
|
}
|
|
92
|
-
let n = typeof ResizeObserver < "u" ? new ResizeObserver(() =>
|
|
93
|
+
let n = typeof ResizeObserver < "u" ? new ResizeObserver(() => p.current?.invalidateSize()) : void 0;
|
|
93
94
|
n?.observe(e);
|
|
94
95
|
let r = window.setTimeout(() => t.invalidateSize(), 80);
|
|
95
96
|
return () => {
|
|
96
|
-
window.clearTimeout(r), n?.disconnect(), t.remove(),
|
|
97
|
+
window.clearTimeout(r), n?.disconnect(), t.remove(), p.current = null;
|
|
97
98
|
};
|
|
98
|
-
}, []),
|
|
99
|
-
let e =
|
|
99
|
+
}, []), n(() => {
|
|
100
|
+
let e = p.current;
|
|
100
101
|
if (!e) return;
|
|
101
|
-
let t =
|
|
102
|
+
let t = c.layerGroup(), n = null;
|
|
102
103
|
if (j && M.size > 0) {
|
|
103
104
|
let e = Array.from(M.values()).map((e) => e.value), r = Math.min(...e), i = Math.max(...e) - r || 1, a = (e) => {
|
|
104
105
|
let t = e.properties ?? {}, n = e.id ?? t[T] ?? t.id ?? t.code;
|
|
105
106
|
return n == null ? void 0 : M.get(String(n));
|
|
106
107
|
};
|
|
107
|
-
n =
|
|
108
|
+
n = c.geoJSON(j, {
|
|
108
109
|
style: (e) => {
|
|
109
110
|
let t = e ? a(e) : void 0, n = t ? (t.value - r) / i : 0;
|
|
110
111
|
return {
|
|
@@ -130,15 +131,15 @@ var y = e(function({ widget: e, data: c, onClick: l, onDrilldown: u }) {
|
|
|
130
131
|
}), n.addTo(t);
|
|
131
132
|
}
|
|
132
133
|
if (C && w) {
|
|
133
|
-
let e = E.map((e) =>
|
|
134
|
+
let e = E.map((e) => h(e.value) ? e.value : 1), n = e.reduce((e, t) => Math.min(e, t), Infinity), r = e.reduce((e, t) => Math.max(e, t), -Infinity) - n || 1;
|
|
134
135
|
E.forEach((i, a) => {
|
|
135
|
-
let o = (e[a] - n) / r,
|
|
136
|
+
let o = (e[a] - n) / r, s = c.circleMarker([i.lat, i.lng], {
|
|
136
137
|
radius: 10 + o * 22,
|
|
137
|
-
fillColor:
|
|
138
|
+
fillColor: g(o),
|
|
138
139
|
fillOpacity: .25 + o * .35,
|
|
139
140
|
stroke: !1
|
|
140
141
|
}).addTo(t);
|
|
141
|
-
|
|
142
|
+
s.bindPopup(_(i)), s.on("click", () => P.current(i));
|
|
142
143
|
});
|
|
143
144
|
} else if (C) for (let e of E) {
|
|
144
145
|
let n = document.createElement("div");
|
|
@@ -147,17 +148,17 @@ var y = e(function({ widget: e, data: c, onClick: l, onDrilldown: u }) {
|
|
|
147
148
|
height: "14px",
|
|
148
149
|
borderRadius: "50% 50% 50% 0",
|
|
149
150
|
transform: "rotate(-45deg)",
|
|
150
|
-
background:
|
|
151
|
+
background: m(e.color),
|
|
151
152
|
border: "2px solid #fff",
|
|
152
153
|
boxShadow: "0 1px 4px rgba(0,0,0,.4)"
|
|
153
154
|
});
|
|
154
|
-
let r =
|
|
155
|
+
let r = c.divIcon({
|
|
155
156
|
className: "bc-map-marker",
|
|
156
157
|
html: n,
|
|
157
158
|
iconSize: [14, 14],
|
|
158
159
|
iconAnchor: [7, 14]
|
|
159
|
-
}), i =
|
|
160
|
-
i.bindPopup(
|
|
160
|
+
}), i = c.marker([e.lat, e.lng], { icon: r }).addTo(t);
|
|
161
|
+
i.bindPopup(_(e)), i.on("click", () => P.current(e));
|
|
161
162
|
}
|
|
162
163
|
t.addTo(e);
|
|
163
164
|
let r = JSON.stringify({
|
|
@@ -168,7 +169,7 @@ var y = e(function({ widget: e, data: c, onClick: l, onDrilldown: u }) {
|
|
|
168
169
|
fz: A ?? null,
|
|
169
170
|
g: j ? M.size : 0
|
|
170
171
|
});
|
|
171
|
-
if (r !==
|
|
172
|
+
if (r !== v.current) if (v.current = r, D) e.setView([D.lat, D.lng], O ?? e.getZoom());
|
|
172
173
|
else if (!E.length && n) {
|
|
173
174
|
let t = n.getBounds();
|
|
174
175
|
t.isValid() && e.fitBounds(t, {
|
|
@@ -177,12 +178,12 @@ var y = e(function({ widget: e, data: c, onClick: l, onDrilldown: u }) {
|
|
|
177
178
|
});
|
|
178
179
|
} else if (E.length === 1) e.setView([E[0].lat, E[0].lng], O ?? 8);
|
|
179
180
|
else if (E.length > 1) {
|
|
180
|
-
let t =
|
|
181
|
+
let t = c.latLngBounds(E.map((e) => [e.lat, e.lng]));
|
|
181
182
|
e.fitBounds(t, {
|
|
182
183
|
padding: [32, 32],
|
|
183
184
|
maxZoom: 12
|
|
184
185
|
});
|
|
185
|
-
} else k ? e.setView([k.lat, k.lng], O ?? A ?? e.getZoom()) :
|
|
186
|
+
} else k ? e.setView([k.lat, k.lng], O ?? A ?? e.getZoom()) : h(O ?? A) && e.setZoom(O ?? A);
|
|
186
187
|
let i = window.setTimeout(() => e.invalidateSize(), 0);
|
|
187
188
|
return () => {
|
|
188
189
|
window.clearTimeout(i), t.remove();
|
|
@@ -198,37 +199,37 @@ var y = e(function({ widget: e, data: c, onClick: l, onDrilldown: u }) {
|
|
|
198
199
|
j,
|
|
199
200
|
M,
|
|
200
201
|
T
|
|
201
|
-
]), /* @__PURE__ */
|
|
202
|
+
]), /* @__PURE__ */ s("div", {
|
|
202
203
|
className: "relative h-full w-full overflow-hidden rounded-lg bg-bg-sunken",
|
|
203
204
|
children: [
|
|
204
|
-
/* @__PURE__ */
|
|
205
|
-
ref:
|
|
205
|
+
/* @__PURE__ */ o("div", {
|
|
206
|
+
ref: d,
|
|
206
207
|
className: "h-full w-full"
|
|
207
208
|
}),
|
|
208
|
-
b !== "error" && E.length === 0 && !N && /* @__PURE__ */
|
|
209
|
+
b !== "error" && E.length === 0 && !N && /* @__PURE__ */ o("div", {
|
|
209
210
|
className: "pointer-events-none absolute inset-0 z-[500] flex items-center justify-center bg-bg-sunken/70 text-sm text-text-secondary",
|
|
210
|
-
children: /* @__PURE__ */
|
|
211
|
+
children: /* @__PURE__ */ s("div", {
|
|
211
212
|
className: "text-center",
|
|
212
|
-
children: [/* @__PURE__ */
|
|
213
|
+
children: [/* @__PURE__ */ s("svg", {
|
|
213
214
|
className: "mx-auto mb-2 h-12 w-12 text-text-muted",
|
|
214
215
|
fill: "none",
|
|
215
216
|
stroke: "currentColor",
|
|
216
217
|
viewBox: "0 0 24 24",
|
|
217
|
-
children: [/* @__PURE__ */
|
|
218
|
+
children: [/* @__PURE__ */ o("path", {
|
|
218
219
|
strokeLinecap: "round",
|
|
219
220
|
strokeLinejoin: "round",
|
|
220
221
|
strokeWidth: 1.5,
|
|
221
222
|
d: "M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z"
|
|
222
|
-
}), /* @__PURE__ */
|
|
223
|
+
}), /* @__PURE__ */ o("path", {
|
|
223
224
|
strokeLinecap: "round",
|
|
224
225
|
strokeLinejoin: "round",
|
|
225
226
|
strokeWidth: 1.5,
|
|
226
227
|
d: "M15 11a3 3 0 11-6 0 3 3 0 016 0z"
|
|
227
228
|
})]
|
|
228
|
-
}), /* @__PURE__ */
|
|
229
|
+
}), /* @__PURE__ */ o("p", { children: "No map data" })]
|
|
229
230
|
})
|
|
230
231
|
}),
|
|
231
|
-
b === "error" && /* @__PURE__ */
|
|
232
|
+
b === "error" && /* @__PURE__ */ o("div", {
|
|
232
233
|
className: "absolute inset-0 z-[500] flex items-center justify-center bg-bg-sunken px-4 text-center text-sm text-text-secondary",
|
|
233
234
|
children: "The map needs an internet connection and couldn’t load."
|
|
234
235
|
})
|
|
@@ -236,4 +237,4 @@ var y = e(function({ widget: e, data: c, onClick: l, onDrilldown: u }) {
|
|
|
236
237
|
});
|
|
237
238
|
});
|
|
238
239
|
//#endregion
|
|
239
|
-
export {
|
|
240
|
+
export { b as default };
|
|
@@ -1,89 +1,89 @@
|
|
|
1
1
|
import { memo as e, useCallback as t } from "react";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useI18n as n } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
3
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
4
|
//#region src/bigconsole/components/widgets/metric-card/MetricCardConfig.tsx
|
|
5
5
|
var a = e(function({ config: e, onChange: a }) {
|
|
6
|
-
let { t: o } =
|
|
6
|
+
let { t: o } = n(), s = t((t, n) => {
|
|
7
7
|
a({
|
|
8
8
|
...e,
|
|
9
9
|
[t]: n
|
|
10
10
|
});
|
|
11
11
|
}, [e, a]);
|
|
12
|
-
return /* @__PURE__ */
|
|
12
|
+
return /* @__PURE__ */ i("div", {
|
|
13
13
|
className: "min-w-0 space-y-form-gap",
|
|
14
14
|
children: [
|
|
15
|
-
/* @__PURE__ */
|
|
16
|
-
/* @__PURE__ */
|
|
15
|
+
/* @__PURE__ */ i("div", { children: [
|
|
16
|
+
/* @__PURE__ */ r("label", {
|
|
17
17
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
18
18
|
children: o("bigconsole.widget.config.metricCard.valueField.label", "Value Field")
|
|
19
19
|
}),
|
|
20
|
-
/* @__PURE__ */
|
|
20
|
+
/* @__PURE__ */ r("input", {
|
|
21
21
|
type: "text",
|
|
22
22
|
value: e.valueField || "",
|
|
23
23
|
onChange: (e) => s("valueField", e.target.value),
|
|
24
24
|
placeholder: o("bigconsole.widget.config.metricCard.valueField.placeholder", "e.g., totalSales, value, amount"),
|
|
25
25
|
className: "\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
26
26
|
}),
|
|
27
|
-
/* @__PURE__ */
|
|
27
|
+
/* @__PURE__ */ r("p", {
|
|
28
28
|
className: "text-xs text-text-secondary mt-1",
|
|
29
29
|
children: o("bigconsole.widget.config.metricCard.valueField.help", "Field name to extract from data (leave empty for auto-detect)")
|
|
30
30
|
})
|
|
31
31
|
] }),
|
|
32
|
-
/* @__PURE__ */
|
|
32
|
+
/* @__PURE__ */ i("div", { children: [/* @__PURE__ */ r("label", {
|
|
33
33
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
34
34
|
children: o("bigconsole.widget.config.metricCard.subtitle.label", "Subtitle")
|
|
35
|
-
}), /* @__PURE__ */
|
|
35
|
+
}), /* @__PURE__ */ r("input", {
|
|
36
36
|
type: "text",
|
|
37
37
|
value: e.subtitle || "",
|
|
38
38
|
onChange: (e) => s("subtitle", e.target.value),
|
|
39
39
|
placeholder: o("bigconsole.widget.config.metricCard.subtitle.placeholder", "e.g., Total Revenue"),
|
|
40
40
|
className: "\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
41
41
|
})] }),
|
|
42
|
-
/* @__PURE__ */
|
|
42
|
+
/* @__PURE__ */ i("div", { children: [/* @__PURE__ */ r("label", {
|
|
43
43
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
44
44
|
children: o("bigconsole.widget.config.metricCard.format.label", "Value Format")
|
|
45
|
-
}), /* @__PURE__ */
|
|
45
|
+
}), /* @__PURE__ */ i("select", {
|
|
46
46
|
value: e.format || "auto",
|
|
47
47
|
onChange: (e) => s("format", e.target.value),
|
|
48
48
|
className: "\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n ",
|
|
49
49
|
children: [
|
|
50
|
-
/* @__PURE__ */
|
|
50
|
+
/* @__PURE__ */ r("option", {
|
|
51
51
|
value: "auto",
|
|
52
52
|
children: o("bigconsole.widget.config.metricCard.format.auto", "Auto (from data)")
|
|
53
53
|
}),
|
|
54
|
-
/* @__PURE__ */
|
|
54
|
+
/* @__PURE__ */ r("option", {
|
|
55
55
|
value: "number",
|
|
56
56
|
children: o("bigconsole.widget.config.metricCard.format.number", "Number")
|
|
57
57
|
}),
|
|
58
|
-
/* @__PURE__ */
|
|
58
|
+
/* @__PURE__ */ r("option", {
|
|
59
59
|
value: "currency",
|
|
60
60
|
children: o("bigconsole.widget.config.metricCard.format.currency", "Currency")
|
|
61
61
|
}),
|
|
62
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ r("option", {
|
|
63
63
|
value: "percentage",
|
|
64
64
|
children: o("bigconsole.widget.config.metricCard.format.percentage", "Percentage")
|
|
65
65
|
}),
|
|
66
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ r("option", {
|
|
67
67
|
value: "compact",
|
|
68
68
|
children: o("bigconsole.widget.config.metricCard.format.compact", "Compact (1K, 1M)")
|
|
69
69
|
})
|
|
70
70
|
]
|
|
71
71
|
})] }),
|
|
72
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ i("div", {
|
|
73
73
|
className: "grid grid-cols-1 gap-3 sm:grid-cols-2",
|
|
74
|
-
children: [/* @__PURE__ */
|
|
74
|
+
children: [/* @__PURE__ */ i("div", { children: [/* @__PURE__ */ r("label", {
|
|
75
75
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
76
76
|
children: o("bigconsole.widget.config.metricCard.prefix.label", "Prefix")
|
|
77
|
-
}), /* @__PURE__ */
|
|
77
|
+
}), /* @__PURE__ */ r("input", {
|
|
78
78
|
type: "text",
|
|
79
79
|
value: e.prefix || "",
|
|
80
80
|
onChange: (e) => s("prefix", e.target.value),
|
|
81
81
|
placeholder: o("bigconsole.widget.config.metricCard.prefix.placeholder", "e.g., $"),
|
|
82
82
|
className: "\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
83
|
-
})] }), /* @__PURE__ */
|
|
83
|
+
})] }), /* @__PURE__ */ i("div", { children: [/* @__PURE__ */ r("label", {
|
|
84
84
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
85
85
|
children: o("bigconsole.widget.config.metricCard.suffix.label", "Suffix")
|
|
86
|
-
}), /* @__PURE__ */
|
|
86
|
+
}), /* @__PURE__ */ r("input", {
|
|
87
87
|
type: "text",
|
|
88
88
|
value: e.suffix || "",
|
|
89
89
|
onChange: (e) => s("suffix", e.target.value),
|
|
@@ -91,69 +91,69 @@ var a = e(function({ config: e, onChange: a }) {
|
|
|
91
91
|
className: "\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
92
92
|
})] })]
|
|
93
93
|
}),
|
|
94
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ i("div", { children: [/* @__PURE__ */ r("label", {
|
|
95
95
|
className: "block text-sm font-medium text-text-primary mb-1",
|
|
96
96
|
children: o("bigconsole.widget.config.metricCard.comparisonLabel.label", "Comparison Label")
|
|
97
|
-
}), /* @__PURE__ */
|
|
97
|
+
}), /* @__PURE__ */ r("input", {
|
|
98
98
|
type: "text",
|
|
99
99
|
value: e.comparisonLabel || "",
|
|
100
100
|
onChange: (e) => s("comparisonLabel", e.target.value),
|
|
101
101
|
placeholder: o("bigconsole.widget.config.metricCard.comparisonLabel.placeholder", "e.g., vs last week"),
|
|
102
102
|
className: "\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n "
|
|
103
103
|
})] }),
|
|
104
|
-
/* @__PURE__ */
|
|
104
|
+
/* @__PURE__ */ i("div", {
|
|
105
105
|
role: "group",
|
|
106
106
|
"aria-label": "Display options",
|
|
107
107
|
className: "space-y-3 border-t border-[var(--color-border-subtle)] pt-form-gap",
|
|
108
108
|
children: [
|
|
109
|
-
/* @__PURE__ */
|
|
109
|
+
/* @__PURE__ */ r("p", {
|
|
110
110
|
className: "text-xs font-bold uppercase tracking-wider text-text-secondary",
|
|
111
111
|
children: "Display options"
|
|
112
112
|
}),
|
|
113
|
-
/* @__PURE__ */
|
|
113
|
+
/* @__PURE__ */ i("label", {
|
|
114
114
|
className: "flex items-center gap-3",
|
|
115
|
-
children: [/* @__PURE__ */
|
|
115
|
+
children: [/* @__PURE__ */ r("input", {
|
|
116
116
|
type: "checkbox",
|
|
117
117
|
checked: e.showTrend !== !1,
|
|
118
118
|
onChange: (e) => s("showTrend", e.target.checked),
|
|
119
119
|
className: "\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n "
|
|
120
|
-
}), /* @__PURE__ */
|
|
120
|
+
}), /* @__PURE__ */ r("span", {
|
|
121
121
|
className: "text-sm text-text-primary",
|
|
122
122
|
children: o("bigconsole.widget.config.metricCard.showTrend", "Show trend indicator")
|
|
123
123
|
})]
|
|
124
124
|
}),
|
|
125
|
-
/* @__PURE__ */
|
|
125
|
+
/* @__PURE__ */ i("label", {
|
|
126
126
|
className: "flex items-center gap-3",
|
|
127
|
-
children: [/* @__PURE__ */
|
|
127
|
+
children: [/* @__PURE__ */ r("input", {
|
|
128
128
|
type: "checkbox",
|
|
129
129
|
checked: e.showComparison !== !1,
|
|
130
130
|
onChange: (e) => s("showComparison", e.target.checked),
|
|
131
131
|
className: "\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n "
|
|
132
|
-
}), /* @__PURE__ */
|
|
132
|
+
}), /* @__PURE__ */ r("span", {
|
|
133
133
|
className: "text-sm text-text-primary",
|
|
134
134
|
children: o("bigconsole.widget.config.metricCard.showComparison", "Show comparison badge")
|
|
135
135
|
})]
|
|
136
136
|
}),
|
|
137
|
-
/* @__PURE__ */
|
|
137
|
+
/* @__PURE__ */ i("label", {
|
|
138
138
|
className: "flex items-center gap-3",
|
|
139
|
-
children: [/* @__PURE__ */
|
|
139
|
+
children: [/* @__PURE__ */ r("input", {
|
|
140
140
|
type: "checkbox",
|
|
141
141
|
checked: e.showSparkline !== !1,
|
|
142
142
|
onChange: (e) => s("showSparkline", e.target.checked),
|
|
143
143
|
className: "\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n "
|
|
144
|
-
}), /* @__PURE__ */
|
|
144
|
+
}), /* @__PURE__ */ r("span", {
|
|
145
145
|
className: "text-sm text-text-primary",
|
|
146
146
|
children: o("bigconsole.widget.config.metricCard.showSparkline", "Show sparkline chart")
|
|
147
147
|
})]
|
|
148
148
|
}),
|
|
149
|
-
/* @__PURE__ */
|
|
149
|
+
/* @__PURE__ */ i("label", {
|
|
150
150
|
className: "flex items-center gap-3",
|
|
151
|
-
children: [/* @__PURE__ */
|
|
151
|
+
children: [/* @__PURE__ */ r("input", {
|
|
152
152
|
type: "checkbox",
|
|
153
153
|
checked: e.positiveIsGood !== !1,
|
|
154
154
|
onChange: (e) => s("positiveIsGood", e.target.checked),
|
|
155
155
|
className: "\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n "
|
|
156
|
-
}), /* @__PURE__ */
|
|
156
|
+
}), /* @__PURE__ */ r("span", {
|
|
157
157
|
className: "text-sm text-text-primary",
|
|
158
158
|
children: o("bigconsole.widget.config.metricCard.positiveIsGood", "Positive change is good")
|
|
159
159
|
})]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { memo as e, useMemo as t } from "react";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useI18n as n } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
3
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
4
4
|
//#region src/bigconsole/components/widgets/metric-card/SparklineChart.tsx
|
|
5
5
|
var a = {
|
|
6
6
|
primary: {
|
|
@@ -24,7 +24,7 @@ var a = {
|
|
|
24
24
|
fill: "fill-text-secondary/10"
|
|
25
25
|
}
|
|
26
26
|
}, o = e(function({ data: e, width: o = 100, height: s = 32, color: c = "primary", showFill: l = !0, strokeWidth: u = 2 }) {
|
|
27
|
-
let { t: d } =
|
|
27
|
+
let { t: d } = n(), f = t(() => {
|
|
28
28
|
if (!e.length) return {
|
|
29
29
|
line: "",
|
|
30
30
|
area: "",
|
|
@@ -56,31 +56,31 @@ var a = {
|
|
|
56
56
|
s,
|
|
57
57
|
u
|
|
58
58
|
]);
|
|
59
|
-
if (!f.end) return /* @__PURE__ */
|
|
59
|
+
if (!f.end) return /* @__PURE__ */ r("div", {
|
|
60
60
|
className: "flex items-center justify-center text-text-secondary",
|
|
61
61
|
style: {
|
|
62
62
|
width: o,
|
|
63
63
|
height: s
|
|
64
64
|
},
|
|
65
|
-
children: /* @__PURE__ */
|
|
65
|
+
children: /* @__PURE__ */ r("span", {
|
|
66
66
|
className: "text-xs",
|
|
67
67
|
children: d("bigconsole.widget.sparkline.noData", "No data")
|
|
68
68
|
})
|
|
69
69
|
});
|
|
70
70
|
let p = a[c];
|
|
71
|
-
return /* @__PURE__ */
|
|
71
|
+
return /* @__PURE__ */ i("svg", {
|
|
72
72
|
width: o,
|
|
73
73
|
height: s,
|
|
74
74
|
className: "overflow-visible",
|
|
75
75
|
role: "img",
|
|
76
76
|
"aria-label": d("bigconsole.widget.sparkline.ariaLabel", "Sparkline chart"),
|
|
77
77
|
children: [
|
|
78
|
-
l && /* @__PURE__ */
|
|
78
|
+
l && /* @__PURE__ */ r("path", {
|
|
79
79
|
d: f.area,
|
|
80
80
|
className: p.fill,
|
|
81
81
|
strokeWidth: 0
|
|
82
82
|
}),
|
|
83
|
-
/* @__PURE__ */
|
|
83
|
+
/* @__PURE__ */ r("path", {
|
|
84
84
|
d: f.line,
|
|
85
85
|
className: p.stroke,
|
|
86
86
|
fill: "none",
|
|
@@ -88,7 +88,7 @@ var a = {
|
|
|
88
88
|
strokeLinecap: "round",
|
|
89
89
|
strokeLinejoin: "round"
|
|
90
90
|
}),
|
|
91
|
-
/* @__PURE__ */
|
|
91
|
+
/* @__PURE__ */ r("circle", {
|
|
92
92
|
cx: f.end.x,
|
|
93
93
|
cy: f.end.y,
|
|
94
94
|
r: u + 1,
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
import { memo as e } from "react";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useI18n as t } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
3
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
4
4
|
//#region src/bigconsole/components/widgets/metric-card/TrendIndicator.tsx
|
|
5
5
|
var r = {
|
|
6
6
|
sm: "w-3 h-3",
|
|
7
7
|
md: "w-4 h-4",
|
|
8
8
|
lg: "w-5 h-5"
|
|
9
9
|
}, i = e(function({ direction: e, size: i = "md", positiveIsGood: a = !0 }) {
|
|
10
|
-
let { t: o } =
|
|
10
|
+
let { t: o } = t(), s = () => {
|
|
11
11
|
if (e === "flat") return "text-text-secondary";
|
|
12
12
|
let t = e === "up";
|
|
13
13
|
return (a ? t : !t) ? "text-status-success-text" : "text-status-error-text";
|
|
14
14
|
}, c = r[i], l = s();
|
|
15
|
-
return e === "flat" ? /* @__PURE__ */
|
|
15
|
+
return e === "flat" ? /* @__PURE__ */ n("svg", {
|
|
16
16
|
className: `${c} ${l}`,
|
|
17
17
|
fill: "none",
|
|
18
18
|
stroke: "currentColor",
|
|
19
19
|
viewBox: "0 0 24 24",
|
|
20
20
|
"aria-label": o("bigconsole.widget.trend.noChange", "No change"),
|
|
21
|
-
children: /* @__PURE__ */
|
|
21
|
+
children: /* @__PURE__ */ n("path", {
|
|
22
22
|
strokeLinecap: "round",
|
|
23
23
|
strokeLinejoin: "round",
|
|
24
24
|
strokeWidth: 2,
|
|
25
25
|
d: "M5 12h14"
|
|
26
26
|
})
|
|
27
|
-
}) : e === "up" ? /* @__PURE__ */
|
|
27
|
+
}) : e === "up" ? /* @__PURE__ */ n("svg", {
|
|
28
28
|
className: `${c} ${l}`,
|
|
29
29
|
fill: "none",
|
|
30
30
|
stroke: "currentColor",
|
|
31
31
|
viewBox: "0 0 24 24",
|
|
32
32
|
"aria-label": o("bigconsole.widget.trend.up", "Trending up"),
|
|
33
|
-
children: /* @__PURE__ */
|
|
33
|
+
children: /* @__PURE__ */ n("path", {
|
|
34
34
|
strokeLinecap: "round",
|
|
35
35
|
strokeLinejoin: "round",
|
|
36
36
|
strokeWidth: 2,
|
|
37
37
|
d: "M5 15l7-7 7 7"
|
|
38
38
|
})
|
|
39
|
-
}) : /* @__PURE__ */
|
|
39
|
+
}) : /* @__PURE__ */ n("svg", {
|
|
40
40
|
className: `${c} ${l}`,
|
|
41
41
|
fill: "none",
|
|
42
42
|
stroke: "currentColor",
|
|
43
43
|
viewBox: "0 0 24 24",
|
|
44
44
|
"aria-label": o("bigconsole.widget.trend.down", "Trending down"),
|
|
45
|
-
children: /* @__PURE__ */
|
|
45
|
+
children: /* @__PURE__ */ n("path", {
|
|
46
46
|
strokeLinecap: "round",
|
|
47
47
|
strokeLinejoin: "round",
|
|
48
48
|
strokeWidth: 2,
|