@burdenoff/microfe-bigconsole 2026.1008.10 → 2026.1008.12
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.d.ts.map +1 -1
- package/dist/bigconsole/BigConsoleRoutes.js +136 -127
- package/dist/bigconsole/BigConsoleRoutes.js.map +1 -1
- package/dist/bigconsole/assistant/assistantProduct.d.ts.map +1 -1
- package/dist/bigconsole/assistant/assistantProduct.js +3 -1
- package/dist/bigconsole/assistant/assistantProduct.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
- 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 +110 -110
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
- 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 +91 -91
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
- 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 +46 -46
- 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 +29 -29
- 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/parser/DataSinkSelector.js +40 -40
- package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
- package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
- 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 +27 -27
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +30 -30
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +1 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +280 -273
- package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
- 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/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/kanban/KanbanWidget.js +4 -4
- package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
- 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/customWidget/CustomWidgetBuilderSheet.js +9 -9
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +15 -0
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +34 -0
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +1 -0
- package/dist/bigconsole/hooks/useDrilldown.js +3 -3
- package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
- package/dist/bigconsole/pages/AdminPage.js +130 -130
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +1 -1
- package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
- package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DashboardViewPage.js +1 -1
- package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +1 -1
- package/dist/bigconsole/pages/DataSinkAlertsPage.js +30 -23
- package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +1 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +272 -263
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +1 -1
- package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
- package/dist/bigconsole/pages/InsightsPage.js +181 -181
- package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
- package/dist/bigconsole/pages/OverviewPage.js +47 -47
- package/dist/bigconsole/pages/OverviewPage.js.map +1 -1
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +1 -1
- package/dist/bigconsole/pages/ParserBuilderPage.js +227 -211
- package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/ParserViewPage.js +97 -97
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +1 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
- package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
- package/dist/bigconsole/pages/PipelinesPage.js +88 -88
- package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
- package/dist/bigconsole/pages/SettingsPage.d.ts.map +1 -1
- package/dist/bigconsole/pages/SettingsPage.js +179 -173
- package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
- 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/pages/WorkflowsPage.js.map +1 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +79 -79
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
- package/dist/bigconsole/store/widgetStore.d.ts +12 -0
- package/dist/bigconsole/store/widgetStore.d.ts.map +1 -1
- package/dist/bigconsole/store/widgetStore.js +3 -1
- package/dist/bigconsole/store/widgetStore.js.map +1 -1
- package/dist/bigconsole/utils/formDirty.d.ts +83 -0
- package/dist/bigconsole/utils/formDirty.d.ts.map +1 -0
- package/dist/bigconsole/utils/formDirty.js +23 -0
- package/dist/bigconsole/utils/formDirty.js.map +1 -0
- package/dist/bigconsole/utils/layoutBaseline.d.ts +131 -0
- package/dist/bigconsole/utils/layoutBaseline.d.ts.map +1 -0
- package/dist/bigconsole/utils/layoutBaseline.js +98 -0
- package/dist/bigconsole/utils/layoutBaseline.js.map +1 -0
- package/dist/translations/en.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -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,
|
|
@@ -4,8 +4,8 @@ import t from "../../../hooks/useWidgetOperations.js";
|
|
|
4
4
|
import "../../../hooks/index.js";
|
|
5
5
|
import { memo as n, useCallback as r, useMemo as i, useState as a } from "react";
|
|
6
6
|
import { ChevronDown as o, ChevronRight as s, GripVertical as c, Settings as l } from "lucide-react";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { useI18n as u } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
8
|
+
import { jsx as d, jsxs as f } from "react/jsx-runtime";
|
|
9
9
|
//#region src/bigconsole/components/widgets/pivot-table/PivotTableWidget.tsx
|
|
10
10
|
var p = [
|
|
11
11
|
"sum",
|
|
@@ -80,7 +80,7 @@ function _(e, t, n, r) {
|
|
|
80
80
|
return a;
|
|
81
81
|
}
|
|
82
82
|
var v = n(function({ widget: n, data: c = [], onDrilldown: p }) {
|
|
83
|
-
let { t: m } =
|
|
83
|
+
let { t: m } = u(), v = i(() => Array.isArray(c) ? c : [], [c]), y = i(() => {
|
|
84
84
|
let e = {
|
|
85
85
|
rows: [],
|
|
86
86
|
columns: [],
|
|
@@ -212,35 +212,35 @@ var v = n(function({ widget: n, data: c = [], onDrilldown: p }) {
|
|
|
212
212
|
let i = [], a = e.children.size > 0, c = N.has(n), l = O[r - 1];
|
|
213
213
|
if (r > 0) {
|
|
214
214
|
let l = _(v, k, A, t);
|
|
215
|
-
i.push(/* @__PURE__ */
|
|
215
|
+
i.push(/* @__PURE__ */ f("tr", {
|
|
216
216
|
className: "hover:bg-bg-sunken/50 transition-colors",
|
|
217
217
|
children: [
|
|
218
|
-
/* @__PURE__ */
|
|
218
|
+
/* @__PURE__ */ d("td", {
|
|
219
219
|
className: "sticky left-0 bg-bg-surface border-r border-border-default px-3 py-2 font-medium text-sm",
|
|
220
220
|
style: { paddingLeft: `${r * 16 + 8}px` },
|
|
221
|
-
children: /* @__PURE__ */
|
|
221
|
+
children: /* @__PURE__ */ f("div", {
|
|
222
222
|
className: "flex items-center gap-1",
|
|
223
223
|
children: [
|
|
224
|
-
y.expandable && a && /* @__PURE__ */
|
|
224
|
+
y.expandable && a && /* @__PURE__ */ d("button", {
|
|
225
225
|
type: "button",
|
|
226
226
|
onClick: () => U(n),
|
|
227
227
|
className: "p-0.5 hover:bg-bg-sunken rounded",
|
|
228
|
-
children:
|
|
228
|
+
children: d(c ? o : s, { className: "w-4 h-4 text-text-secondary" })
|
|
229
229
|
}),
|
|
230
|
-
!a && y.expandable && /* @__PURE__ */
|
|
231
|
-
/* @__PURE__ */
|
|
230
|
+
!a && y.expandable && /* @__PURE__ */ d("span", { className: "w-5" }),
|
|
231
|
+
/* @__PURE__ */ d("span", { children: e.key })
|
|
232
232
|
]
|
|
233
233
|
})
|
|
234
234
|
}),
|
|
235
235
|
I.map((e) => {
|
|
236
236
|
let n = l.get(e) || {};
|
|
237
|
-
return A.map((r) => /* @__PURE__ */
|
|
237
|
+
return A.map((r) => /* @__PURE__ */ d("td", {
|
|
238
238
|
className: "px-3 py-2 text-sm text-right tabular-nums cursor-pointer hover:bg-action-primary-bg/10",
|
|
239
239
|
onClick: () => W(t, e),
|
|
240
240
|
children: H(n[r.field] || 0)
|
|
241
241
|
}, `${e}-${r.field}`));
|
|
242
242
|
}),
|
|
243
|
-
y.showRowTotals && A.map((t) => /* @__PURE__ */
|
|
243
|
+
y.showRowTotals && A.map((t) => /* @__PURE__ */ d("td", {
|
|
244
244
|
className: "px-3 py-2 text-sm text-right tabular-nums font-medium bg-bg-sunken/30",
|
|
245
245
|
children: H(e.values[t.field] || 0)
|
|
246
246
|
}, `total-${t.field}`))
|
|
@@ -270,87 +270,87 @@ var v = n(function({ widget: n, data: c = [], onDrilldown: p }) {
|
|
|
270
270
|
W,
|
|
271
271
|
U
|
|
272
272
|
]), K = O.length > 0 || A.length > 0;
|
|
273
|
-
return v.length === 0 ? /* @__PURE__ */
|
|
273
|
+
return v.length === 0 ? /* @__PURE__ */ f("div", {
|
|
274
274
|
className: "flex flex-col items-center justify-center h-full p-8 text-text-secondary",
|
|
275
275
|
children: [
|
|
276
|
-
/* @__PURE__ */
|
|
277
|
-
/* @__PURE__ */
|
|
276
|
+
/* @__PURE__ */ d(l, { className: "w-12 h-12 mb-4 opacity-50" }),
|
|
277
|
+
/* @__PURE__ */ d("p", {
|
|
278
278
|
className: "text-sm",
|
|
279
279
|
children: m("bigconsole.widget.pivotTable.noData", "No data available")
|
|
280
280
|
}),
|
|
281
|
-
/* @__PURE__ */
|
|
281
|
+
/* @__PURE__ */ d("p", {
|
|
282
282
|
className: "text-xs mt-1",
|
|
283
283
|
children: m("bigconsole.widget.pivotTable.noDataHint", "Configure data source to populate pivot table")
|
|
284
284
|
})
|
|
285
285
|
]
|
|
286
|
-
}) : /* @__PURE__ */
|
|
286
|
+
}) : /* @__PURE__ */ f("div", {
|
|
287
287
|
className: "flex flex-col h-full overflow-hidden",
|
|
288
|
-
children: [x && /* @__PURE__ */
|
|
288
|
+
children: [x && /* @__PURE__ */ d(b, {
|
|
289
289
|
rowFields: O,
|
|
290
290
|
columnFields: k,
|
|
291
291
|
valueFields: A,
|
|
292
292
|
availableFields: z,
|
|
293
293
|
onMoveField: B,
|
|
294
294
|
onChangeAggregation: V
|
|
295
|
-
}), K ? /* @__PURE__ */
|
|
295
|
+
}), K ? /* @__PURE__ */ d("div", {
|
|
296
296
|
className: "flex-1 overflow-auto",
|
|
297
|
-
children: /* @__PURE__ */
|
|
297
|
+
children: /* @__PURE__ */ f("table", {
|
|
298
298
|
className: "w-full border-collapse",
|
|
299
299
|
children: [
|
|
300
|
-
/* @__PURE__ */
|
|
300
|
+
/* @__PURE__ */ f("thead", {
|
|
301
301
|
className: "sticky top-0 z-10",
|
|
302
|
-
children: [/* @__PURE__ */
|
|
302
|
+
children: [/* @__PURE__ */ f("tr", {
|
|
303
303
|
className: "bg-bg-sunken",
|
|
304
304
|
children: [
|
|
305
|
-
/* @__PURE__ */
|
|
305
|
+
/* @__PURE__ */ d("th", {
|
|
306
306
|
className: "sticky left-0 bg-bg-sunken border-r border-b border-border-default px-3 py-2 text-left text-xs font-semibold uppercase tracking-wider text-text-secondary",
|
|
307
307
|
children: O.length > 0 ? O.map((e) => e.replace(/_/g, " ")).join(" / ") : m("bigconsole.widget.pivotTable.valuesHeader", "Values")
|
|
308
308
|
}),
|
|
309
|
-
I.map((e) => /* @__PURE__ */
|
|
309
|
+
I.map((e) => /* @__PURE__ */ d("th", {
|
|
310
310
|
colSpan: A.length || 1,
|
|
311
311
|
className: "border-b border-border-default px-3 py-2 text-center text-xs font-semibold uppercase tracking-wider text-text-secondary",
|
|
312
312
|
children: e
|
|
313
313
|
}, e)),
|
|
314
|
-
y.showRowTotals && /* @__PURE__ */
|
|
314
|
+
y.showRowTotals && /* @__PURE__ */ d("th", {
|
|
315
315
|
colSpan: A.length || 1,
|
|
316
316
|
className: "border-b border-border-default px-3 py-2 text-center text-xs font-semibold uppercase tracking-wider text-text-secondary bg-bg-sunken/50",
|
|
317
317
|
children: m("bigconsole.widget.pivotTable.total", "Total")
|
|
318
318
|
})
|
|
319
319
|
]
|
|
320
|
-
}), A.length > 1 && /* @__PURE__ */
|
|
320
|
+
}), A.length > 1 && /* @__PURE__ */ f("tr", {
|
|
321
321
|
className: "bg-bg-surface",
|
|
322
322
|
children: [
|
|
323
|
-
/* @__PURE__ */
|
|
324
|
-
I.map((e) => A.map((t) => /* @__PURE__ */
|
|
323
|
+
/* @__PURE__ */ d("th", { className: "sticky left-0 bg-bg-surface border-r border-b border-border-default" }),
|
|
324
|
+
I.map((e) => A.map((t) => /* @__PURE__ */ d("th", {
|
|
325
325
|
className: "border-b border-border-default px-3 py-1 text-center text-xs text-text-secondary",
|
|
326
326
|
children: t.label || t.field.replace(/_/g, " ")
|
|
327
327
|
}, `${e}-${t.field}`))),
|
|
328
|
-
y.showRowTotals && A.map((e) => /* @__PURE__ */
|
|
328
|
+
y.showRowTotals && A.map((e) => /* @__PURE__ */ d("th", {
|
|
329
329
|
className: "border-b border-border-default px-3 py-1 text-center text-xs text-text-secondary bg-bg-sunken/30",
|
|
330
330
|
children: e.label || e.field.replace(/_/g, " ")
|
|
331
331
|
}, `total-${e.field}`))
|
|
332
332
|
]
|
|
333
333
|
})]
|
|
334
334
|
}),
|
|
335
|
-
/* @__PURE__ */
|
|
335
|
+
/* @__PURE__ */ d("tbody", {
|
|
336
336
|
className: "divide-y divide-border-default",
|
|
337
337
|
children: G(F, {}, "root", 0)
|
|
338
338
|
}),
|
|
339
|
-
y.showColumnTotals && /* @__PURE__ */
|
|
339
|
+
y.showColumnTotals && /* @__PURE__ */ d("tfoot", { children: /* @__PURE__ */ f("tr", {
|
|
340
340
|
className: "bg-bg-sunken/50 font-medium",
|
|
341
341
|
children: [
|
|
342
|
-
/* @__PURE__ */
|
|
342
|
+
/* @__PURE__ */ d("td", {
|
|
343
343
|
className: "sticky left-0 bg-bg-sunken/50 border-r border-t border-border-default px-3 py-2 text-sm",
|
|
344
344
|
children: m("bigconsole.widget.pivotTable.total", "Total")
|
|
345
345
|
}),
|
|
346
346
|
I.map((e) => {
|
|
347
347
|
let t = L?.get(e) || {};
|
|
348
|
-
return A.map((n) => /* @__PURE__ */
|
|
348
|
+
return A.map((n) => /* @__PURE__ */ d("td", {
|
|
349
349
|
className: "border-t border-border-default px-3 py-2 text-sm text-right tabular-nums",
|
|
350
350
|
children: H(t[n.field] || 0)
|
|
351
351
|
}, `footer-${e}-${n.field}`));
|
|
352
352
|
}),
|
|
353
|
-
y.showRowTotals && y.showGrandTotal && A.map((e) => /* @__PURE__ */
|
|
353
|
+
y.showRowTotals && y.showGrandTotal && A.map((e) => /* @__PURE__ */ d("td", {
|
|
354
354
|
className: "border-t border-border-default px-3 py-2 text-sm text-right tabular-nums font-bold bg-bg-sunken",
|
|
355
355
|
children: H(F.values[e.field] || 0)
|
|
356
356
|
}, `grand-${e.field}`))
|
|
@@ -358,15 +358,15 @@ var v = n(function({ widget: n, data: c = [], onDrilldown: p }) {
|
|
|
358
358
|
}) })
|
|
359
359
|
]
|
|
360
360
|
})
|
|
361
|
-
}) : /* @__PURE__ */
|
|
361
|
+
}) : /* @__PURE__ */ f("div", {
|
|
362
362
|
className: "flex flex-col items-center justify-center flex-1 p-8 text-text-secondary",
|
|
363
363
|
children: [
|
|
364
|
-
/* @__PURE__ */
|
|
365
|
-
/* @__PURE__ */
|
|
364
|
+
/* @__PURE__ */ d(l, { className: "w-12 h-12 mb-4 opacity-50" }),
|
|
365
|
+
/* @__PURE__ */ d("p", {
|
|
366
366
|
className: "text-sm",
|
|
367
367
|
children: m("bigconsole.widget.pivotTable.configureTitle", "Configure Pivot Table")
|
|
368
368
|
}),
|
|
369
|
-
/* @__PURE__ */
|
|
369
|
+
/* @__PURE__ */ d("p", {
|
|
370
370
|
className: "text-xs mt-1",
|
|
371
371
|
children: x ? m("bigconsole.widget.pivotTable.configureHintEdit", "Drag fields into the Rows and Values zones above") : m("bigconsole.widget.pivotTable.configureHintView", "Add row fields and value fields in widget settings")
|
|
372
372
|
})
|
|
@@ -374,14 +374,14 @@ var v = n(function({ widget: n, data: c = [], onDrilldown: p }) {
|
|
|
374
374
|
})]
|
|
375
375
|
});
|
|
376
376
|
}), y = "application/x-pivot-field", b = ({ rowFields: e, columnFields: t, valueFields: n, availableFields: r, onMoveField: i, onChangeAggregation: o }) => {
|
|
377
|
-
let { t: s } =
|
|
377
|
+
let { t: s } = u(), [l, m] = a(null), h = (e) => (t) => {
|
|
378
378
|
t.preventDefault(), t.stopPropagation(), m(null);
|
|
379
379
|
let n = t.dataTransfer.getData(y) || t.dataTransfer.getData("text/plain");
|
|
380
380
|
if (n) try {
|
|
381
381
|
let { field: t, from: r } = JSON.parse(n);
|
|
382
382
|
t && i(t, r, e);
|
|
383
383
|
} catch {}
|
|
384
|
-
}, g = (e, t, n) => /* @__PURE__ */
|
|
384
|
+
}, g = (e, t, n) => /* @__PURE__ */ f("span", {
|
|
385
385
|
draggable: !0,
|
|
386
386
|
onDragStart: (n) => {
|
|
387
387
|
let r = JSON.stringify({
|
|
@@ -392,45 +392,45 @@ var v = n(function({ widget: n, data: c = [], onDrilldown: p }) {
|
|
|
392
392
|
},
|
|
393
393
|
className: "inline-flex items-center gap-1 px-2 py-1 rounded-md bg-bg-surface border border-border-default text-xs text-text-primary cursor-grab",
|
|
394
394
|
children: [
|
|
395
|
-
/* @__PURE__ */
|
|
395
|
+
/* @__PURE__ */ d(c, {
|
|
396
396
|
className: "w-3 h-3 text-text-muted",
|
|
397
397
|
"aria-hidden": "true"
|
|
398
398
|
}),
|
|
399
|
-
/* @__PURE__ */
|
|
400
|
-
n && /* @__PURE__ */
|
|
399
|
+
/* @__PURE__ */ d("span", { children: (n?.label || e).replace(/_/g, " ") }),
|
|
400
|
+
n && /* @__PURE__ */ d("select", {
|
|
401
401
|
value: n.aggregation,
|
|
402
402
|
onChange: (t) => o(e, t.target.value),
|
|
403
403
|
onClick: (e) => e.stopPropagation(),
|
|
404
404
|
"aria-label": s("bigconsole.widget.pivotTable.aggregationForField", "Aggregation for {{field}}", { field: e }),
|
|
405
405
|
className: "ml-1 bg-bg-sunken text-text-secondary rounded px-1 py-0.5 text-[10px] uppercase",
|
|
406
|
-
children: p.map((e) => /* @__PURE__ */
|
|
406
|
+
children: p.map((e) => /* @__PURE__ */ d("option", {
|
|
407
407
|
value: e,
|
|
408
408
|
children: e
|
|
409
409
|
}, e))
|
|
410
410
|
})
|
|
411
411
|
]
|
|
412
|
-
}, e), _ = (e, t, n) => /* @__PURE__ */
|
|
412
|
+
}, e), _ = (e, t, n) => /* @__PURE__ */ f("div", {
|
|
413
413
|
onDragOver: (e) => {
|
|
414
414
|
e.preventDefault(), e.stopPropagation(), e.dataTransfer.dropEffect = "move", l !== t && m(t);
|
|
415
415
|
},
|
|
416
416
|
onDragLeave: () => m((e) => e === t ? null : e),
|
|
417
417
|
onDrop: h(t),
|
|
418
418
|
className: `flex-1 min-w-[8rem] rounded-md border p-2 transition-colors ${l === t ? "border-action-primary-bg bg-action-primary-bg/5" : "border-border-default bg-bg-sunken/30"}`,
|
|
419
|
-
children: [/* @__PURE__ */
|
|
419
|
+
children: [/* @__PURE__ */ d("div", {
|
|
420
420
|
className: "text-[10px] font-semibold uppercase tracking-wider text-text-muted mb-1.5",
|
|
421
421
|
children: e
|
|
422
|
-
}), /* @__PURE__ */
|
|
422
|
+
}), /* @__PURE__ */ d("div", {
|
|
423
423
|
className: "flex flex-wrap gap-1.5 min-h-[1.75rem]",
|
|
424
424
|
children: n
|
|
425
425
|
})]
|
|
426
426
|
});
|
|
427
|
-
return /* @__PURE__ */
|
|
427
|
+
return /* @__PURE__ */ f("div", {
|
|
428
428
|
className: "flex flex-wrap gap-2 p-2 border-b border-border-default bg-bg-surface",
|
|
429
429
|
children: [
|
|
430
430
|
_(s("bigconsole.widget.pivotTable.zoneRows", "Rows"), "rows", e.map((e) => g(e, "rows"))),
|
|
431
431
|
_(s("bigconsole.widget.pivotTable.zoneColumns", "Columns"), "columns", t.map((e) => g(e, "columns"))),
|
|
432
432
|
_(s("bigconsole.widget.pivotTable.zoneValues", "Values"), "values", n.map((e) => g(e.field, "values", e))),
|
|
433
|
-
_(s("bigconsole.widget.pivotTable.zoneAvailable", "Available"), "available", r.length > 0 ? r.map((e) => g(e, "available")) : /* @__PURE__ */
|
|
433
|
+
_(s("bigconsole.widget.pivotTable.zoneAvailable", "Available"), "available", r.length > 0 ? r.map((e) => g(e, "available")) : /* @__PURE__ */ d("span", {
|
|
434
434
|
className: "text-[11px] text-text-muted italic",
|
|
435
435
|
children: s("bigconsole.widget.pivotTable.allFieldsInUse", "All fields in use")
|
|
436
436
|
}))
|