@gooddata/sdk-ui-dashboard 11.6.0-alpha.3 → 11.6.0-alpha.6
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/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts +7 -1
- package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts.map +1 -1
- package/esm/kdaDialog/components/KdaKeyDriverChart.js +8 -127
- package/esm/kdaDialog/components/KdaKeyDriverChart.js.map +1 -1
- package/esm/kdaDialog/components/KdaSummaryHeadline.js +1 -1
- package/esm/kdaDialog/components/KdaSummaryHeadline.js.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversOverview.d.ts.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversOverview.js +16 -2
- package/esm/kdaDialog/composition/KeyDriversOverview.js.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversPanel.d.ts.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversPanel.js +30 -9
- package/esm/kdaDialog/composition/KeyDriversPanel.js.map +1 -1
- package/esm/kdaDialog/composition/data/dataview.d.ts +8 -0
- package/esm/kdaDialog/composition/data/dataview.d.ts.map +1 -0
- package/esm/kdaDialog/composition/data/dataview.js +274 -0
- package/esm/kdaDialog/composition/data/dataview.js.map +1 -0
- package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.d.ts +9 -0
- package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.d.ts.map +1 -0
- package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.js +31 -0
- package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.js.map +1 -0
- package/esm/kdaDialog/composition/hooks/useGroupAndItem.d.ts +8 -0
- package/esm/kdaDialog/composition/hooks/useGroupAndItem.d.ts.map +1 -0
- package/esm/kdaDialog/composition/hooks/useGroupAndItem.js +31 -0
- package/esm/kdaDialog/composition/hooks/useGroupAndItem.js.map +1 -0
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.d.ts.map +1 -1
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js +17 -12
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js.map +1 -1
- package/esm/kdaDialog/dialog/hooks/useValidAttributes.js +2 -1
- package/esm/kdaDialog/dialog/hooks/useValidAttributes.js.map +1 -1
- package/esm/kdaDialog/hooks/useDriversList.d.ts +5 -3
- package/esm/kdaDialog/hooks/useDriversList.d.ts.map +1 -1
- package/esm/kdaDialog/hooks/useDriversList.js +9 -3
- package/esm/kdaDialog/hooks/useDriversList.js.map +1 -1
- package/esm/kdaDialog/hooks/useSummaryDrivers.d.ts.map +1 -1
- package/esm/kdaDialog/hooks/useSummaryDrivers.js +3 -1
- package/esm/kdaDialog/hooks/useSummaryDrivers.js.map +1 -1
- package/esm/kdaDialog/internalTypes.d.ts +1 -1
- package/esm/kdaDialog/internalTypes.d.ts.map +1 -1
- package/esm/kdaDialog/providers/KdaState.js +1 -1
- package/esm/kdaDialog/providers/KdaState.js.map +1 -1
- package/esm/kdaDialog/types.d.ts +5 -1
- package/esm/kdaDialog/types.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js +2 -0
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js.map +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlerts.d.ts +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.d.ts +4 -2
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.d.ts.map +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.js +2 -2
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.js.map +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.d.ts +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.d.ts.map +1 -1
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.js +3 -3
- package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.js.map +1 -1
- package/esm/model/react/useDashboardAlertsOld.js +1 -1
- package/esm/model/react/useDashboardAlertsOld.js.map +1 -1
- package/esm/model/store/index.d.ts +1 -1
- package/esm/model/store/index.d.ts.map +1 -1
- package/esm/model/store/index.js +1 -1
- package/esm/model/store/index.js.map +1 -1
- package/esm/model/store/ui/index.d.ts +3 -1
- package/esm/model/store/ui/index.d.ts.map +1 -1
- package/esm/model/store/ui/uiReducers.d.ts +3 -1
- package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
- package/esm/model/store/ui/uiReducers.js +8 -1
- package/esm/model/store/ui/uiReducers.js.map +1 -1
- package/esm/model/store/ui/uiSelectors.d.ts +4 -0
- package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
- package/esm/model/store/ui/uiSelectors.js +4 -0
- package/esm/model/store/ui/uiSelectors.js.map +1 -1
- package/esm/model/store/ui/uiState.d.ts +1 -0
- package/esm/model/store/ui/uiState.d.ts.map +1 -1
- package/esm/model/store/ui/uiState.js +1 -0
- package/esm/model/store/ui/uiState.js.map +1 -1
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.d.ts.map +1 -1
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js +1 -1
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js.map +1 -1
- package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts.map +1 -1
- package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js +5 -2
- package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js.map +1 -1
- package/esm/presentation/alerting/hooks/useAlertingDialogAccessibility.d.ts +4 -0
- package/esm/presentation/alerting/hooks/useAlertingDialogAccessibility.d.ts.map +1 -0
- package/esm/presentation/alerting/hooks/useAlertingDialogAccessibility.js +12 -0
- package/esm/presentation/alerting/hooks/useAlertingDialogAccessibility.js.map +1 -0
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js +0 -5
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js.map +1 -1
- package/esm/presentation/localization/bundles/en-US.json +4 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +1 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +1 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +8 -4
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +3 -2
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js.map +1 -1
- package/esm/sdk-ui-dashboard.d.ts +15 -3
- package/package.json +18 -18
- package/styles/css/grouped-navigation.css +5 -0
- package/styles/css/grouped-navigation.css.map +1 -1
- package/styles/css/main.css +5 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/grouped-navigation.scss +7 -0
package/esm/__version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.6.0-alpha.
|
|
1
|
+
export declare const LIB_VERSION = "11.6.0-alpha.6";
|
|
2
2
|
export declare const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
|
|
3
3
|
export declare const LIB_NAME = "@gooddata/sdk-ui-dashboard";
|
|
4
4
|
//# sourceMappingURL=__version.d.ts.map
|
package/esm/__version.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// (C) 2021 GoodData Corporation
|
|
2
2
|
// DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
|
|
3
|
-
export const LIB_VERSION = "11.6.0-alpha.
|
|
3
|
+
export const LIB_VERSION = "11.6.0-alpha.6";
|
|
4
4
|
export const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
|
|
5
5
|
export const LIB_NAME = "@gooddata/sdk-ui-dashboard";
|
|
6
6
|
//# sourceMappingURL=__version.js.map
|
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { IDataView } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import { IChartConfig } from "@gooddata/sdk-ui-charts";
|
|
3
|
+
export interface KdaKeyDriverChartProps {
|
|
4
|
+
config: IChartConfig | null;
|
|
5
|
+
dataView: IDataView | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function KdaKeyDriverChart({ config, dataView }: KdaKeyDriverChartProps): import("react/jsx-runtime").JSX.Element;
|
|
2
8
|
//# sourceMappingURL=KdaKeyDriverChart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaKeyDriverChart.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KdaKeyDriverChart.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAKvD,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA6B7E"}
|
|
@@ -1,134 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2025 GoodData Corporation
|
|
3
|
-
import { useState } from "react";
|
|
4
3
|
import cx from "classnames";
|
|
4
|
+
import noop from "lodash-es/noop.js";
|
|
5
5
|
import { useIntl } from "react-intl";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
import { useKdaState } from "../providers/KdaState.js";
|
|
11
|
-
const KDA_LIMIT = 20;
|
|
12
|
-
export function KdaKeyDriverChart() {
|
|
6
|
+
import { RawChart } from "@gooddata/sdk-ui-charts/internal";
|
|
7
|
+
import { UiSkeleton, useElementSize } from "@gooddata/sdk-ui-kit";
|
|
8
|
+
import { useTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
9
|
+
export function KdaKeyDriverChart({ config, dataView }) {
|
|
13
10
|
const intl = useIntl();
|
|
14
|
-
const
|
|
15
|
-
const { ref, height } = useElementSize();
|
|
16
|
-
|
|
17
|
-
const colorPalette = useDashboardSelector(selectColorPalette);
|
|
18
|
-
const settings = useDashboardSelector(selectSettings);
|
|
19
|
-
const selectedItem = state.selectedItem;
|
|
20
|
-
const definition = state.definition;
|
|
21
|
-
if (selectedItem === "summary" || !definition) {
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
const { primaryMeasures, secondaryMeasures, viewBy, sortBy, filters, deviation } = createChartData(intl, definition, selectedItem);
|
|
25
|
-
return (_jsx("div", { className: cx("gd-kda-key-drivers-detail-visualisation-container"), ref: ref, children: _jsx(ComboChart, { locale: intl.locale, height: height, primaryMeasures: primaryMeasures, secondaryMeasures: secondaryMeasures, viewBy: viewBy, sortBy: sortBy, filters: filters, config: createConfig(settings, colorPalette, min, max), onDataView: (dv) => {
|
|
26
|
-
const { min, max } = calculateMinMax(dv, deviation);
|
|
27
|
-
setRange([min, max]);
|
|
28
|
-
} }) }));
|
|
29
|
-
}
|
|
30
|
-
function createConfig(settings, colorPalette, min, max) {
|
|
31
|
-
return {
|
|
32
|
-
colorPalette,
|
|
33
|
-
chartFill: {
|
|
34
|
-
type: "outline",
|
|
35
|
-
},
|
|
36
|
-
tooltip: {
|
|
37
|
-
enabled: true,
|
|
38
|
-
className: "gd-kda__vis_tooltip",
|
|
39
|
-
},
|
|
40
|
-
legend: {
|
|
41
|
-
enabled: false,
|
|
42
|
-
responsive: "autoPositionWithPopup",
|
|
43
|
-
},
|
|
44
|
-
dataPoints: {
|
|
45
|
-
visible: false,
|
|
46
|
-
},
|
|
47
|
-
yaxis: {
|
|
48
|
-
min: min?.toString(),
|
|
49
|
-
max: max?.toString(),
|
|
50
|
-
},
|
|
51
|
-
secondary_yaxis: {
|
|
52
|
-
labelsEnabled: false,
|
|
53
|
-
name: {
|
|
54
|
-
visible: false,
|
|
55
|
-
},
|
|
56
|
-
min: min?.toString(),
|
|
57
|
-
max: max?.toString(),
|
|
58
|
-
},
|
|
59
|
-
enableAccessibleTooltip: settings.enableAccessibleChartTooltip,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
function createChartData(intl, definition, selectedItem) {
|
|
63
|
-
const title = intl.formatMessage({ id: "kdaDialog.dialog.keyDriver.chart.std" });
|
|
64
|
-
const metric = definition.metric;
|
|
65
|
-
const trend = selectedItem.data.to.value - selectedItem.data.from.value;
|
|
66
|
-
const deviation = trend >= 0
|
|
67
|
-
? selectedItem.data.mean + selectedItem.data.standardDeviation
|
|
68
|
-
: selectedItem.data.mean - selectedItem.data.standardDeviation;
|
|
69
|
-
const primaryMeasures = [metric];
|
|
70
|
-
const secondaryMeasures = [createStandardDeviationMeasure(metric, title, deviation)];
|
|
71
|
-
const viewBy = [
|
|
72
|
-
newAttribute(selectedItem.data.attribute, (m) => {
|
|
73
|
-
return m.localId("attribute").alias(selectedItem.data.title);
|
|
74
|
-
}),
|
|
75
|
-
];
|
|
76
|
-
const sortBy = [newMeasureSort(metric.measure.localIdentifier, "desc")];
|
|
77
|
-
const operator = trend >= 0 ? "TOP" : "BOTTOM";
|
|
78
|
-
const filters = [newRankingFilter(metric.measure.localIdentifier, operator, KDA_LIMIT)];
|
|
79
|
-
return {
|
|
80
|
-
primaryMeasures,
|
|
81
|
-
secondaryMeasures,
|
|
82
|
-
viewBy,
|
|
83
|
-
sortBy,
|
|
84
|
-
filters,
|
|
85
|
-
deviation,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
function createStandardDeviationMeasure(metric, title, deviation) {
|
|
89
|
-
return modifyInlineMeasure(newInlineMeasure(`SELECT ${deviation}`), (m) => {
|
|
90
|
-
return m
|
|
91
|
-
.title(title)
|
|
92
|
-
.localId(`${metric.measure.localIdentifier}_ranking`)
|
|
93
|
-
.format(metric.measure.format);
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
function calculateMinMax(dv, deviation) {
|
|
97
|
-
const data = dv.rawData().data();
|
|
98
|
-
function calcMin(vals) {
|
|
99
|
-
return vals.reduce((min, val) => {
|
|
100
|
-
if (val === null) {
|
|
101
|
-
return min;
|
|
102
|
-
}
|
|
103
|
-
return Math.min(min, parseFloat(String(val)));
|
|
104
|
-
}, Infinity);
|
|
105
|
-
}
|
|
106
|
-
function calcMax(vals) {
|
|
107
|
-
return vals.reduce((max, val) => {
|
|
108
|
-
if (val === null) {
|
|
109
|
-
return max;
|
|
110
|
-
}
|
|
111
|
-
return Math.max(max, parseFloat(String(val)));
|
|
112
|
-
}, -Infinity);
|
|
113
|
-
}
|
|
114
|
-
let min = data.reduce((min, val) => {
|
|
115
|
-
if (Array.isArray(val)) {
|
|
116
|
-
return Math.min(min, calcMin(val));
|
|
117
|
-
}
|
|
118
|
-
return Math.min(min, parseFloat(String(val)));
|
|
119
|
-
}, Infinity);
|
|
120
|
-
let max = data.reduce((max, val) => {
|
|
121
|
-
if (Array.isArray(val)) {
|
|
122
|
-
return Math.max(max, calcMax(val));
|
|
123
|
-
}
|
|
124
|
-
return Math.max(max, parseFloat(String(val)));
|
|
125
|
-
}, -Infinity);
|
|
126
|
-
//apply also deviation
|
|
127
|
-
min = Math.min(min, deviation);
|
|
128
|
-
max = Math.max(max, deviation);
|
|
129
|
-
return {
|
|
130
|
-
min,
|
|
131
|
-
max,
|
|
132
|
-
};
|
|
11
|
+
const theme = useTheme();
|
|
12
|
+
const { ref, width, height } = useElementSize();
|
|
13
|
+
return (_jsx("div", { className: cx("gd-kda-key-drivers-detail-visualisation-container"), ref: ref, children: config && dataView ? (_jsx(RawChart, { type: "combo", locale: intl.locale, width: width, height: height, config: config, dataView: dataView, drillableItems: [], onDrill: noop, onLegendReady: noop, afterRender: noop, onDataTooLarge: noop, onNegativeValues: noop, theme: theme })) : (_jsx(UiSkeleton, { itemWidth: width, itemHeight: height })) }));
|
|
133
14
|
}
|
|
134
15
|
//# sourceMappingURL=KdaKeyDriverChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaKeyDriverChart.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"KdaKeyDriverChart.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAO3D,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA0B;IAC1E,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,EAAkB,CAAC;IAEhE,OAAO,CACH,cAAK,SAAS,EAAE,EAAE,CAAC,mDAAmD,CAAC,EAAE,GAAG,EAAE,GAAG,YAC5E,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAClB,KAAC,QAAQ,IACL,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,EAAE,EAClB,OAAO,EAAE,IAAI,EACb,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,EACpB,gBAAgB,EAAE,IAAI,EACtB,KAAK,EAAE,KAAK,GACd,CACL,CAAC,CAAC,CAAC,CACA,KAAC,UAAU,IAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAI,CACvD,GACC,CACT,CAAC;AACN,CAAC"}
|
|
@@ -27,7 +27,7 @@ export function KdaSummaryHeadline() {
|
|
|
27
27
|
range: [to, to],
|
|
28
28
|
};
|
|
29
29
|
}, [dateAttributeFinder, def?.dateAttribute, def?.type, to]);
|
|
30
|
-
if (!definition ||
|
|
30
|
+
if (!definition || from?.value === undefined || to?.value === undefined) {
|
|
31
31
|
return null;
|
|
32
32
|
}
|
|
33
33
|
const diff = to.value - from.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaSummaryHeadline.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaSummaryHeadline.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,UAAU,kBAAkB;IAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7B,MAAM,mBAAmB,GAAG,gBAAgB,EAAE,CAAC;IAE/C,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,OAAO;YACH,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC;YACtD,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,iBAAiB;YACtC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SACJ,CAAC;IACxB,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,OAAO;YACH,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC;YACtD,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,iBAAiB;YACtC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;SACA,CAAC;IACxB,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7D,IAAI,CAAC,UAAU,IAAI,
|
|
1
|
+
{"version":3,"file":"KdaSummaryHeadline.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaSummaryHeadline.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,MAAM,UAAU,kBAAkB;IAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7B,MAAM,mBAAmB,GAAG,gBAAgB,EAAE,CAAC;IAE/C,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,UAAU,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,OAAO;YACH,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC;YACtD,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,iBAAiB;YACtC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;SACJ,CAAC;IACxB,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QACxB,OAAO;YACH,aAAa,EAAE,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC;YACtD,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,iBAAiB;YACtC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;SACA,CAAC;IACxB,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAE7D,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,EAAE,KAAK,KAAK,SAAS,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IAEjC,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,4BAA4B,CAAC,aAC5C,KAAC,YAAY,IACT,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,EAChC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,GAC/D,EACF,KAAC,YAAY,IACT,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,GAC7D,EACF,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,GAAI,IACvF,CACT,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDriversOverview.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KeyDriversOverview.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAQjF"}
|
|
@@ -7,6 +7,8 @@ import { KdaKeyDriverChart } from "../components/KdaKeyDriverChart.js";
|
|
|
7
7
|
import { KdaSummaryDrivers } from "../components/KdaSummaryDrivers.js";
|
|
8
8
|
import { KdaSummaryHeadline } from "../components/KdaSummaryHeadline.js";
|
|
9
9
|
import { useKdaState } from "../providers/KdaState.js";
|
|
10
|
+
import { useDataViewWithConfig } from "./hooks/useDataViewWithConfig.js";
|
|
11
|
+
import { useGroupAndItem } from "./hooks/useGroupAndItem.js";
|
|
10
12
|
export function KeyDriversOverview({ loading, detailsId }) {
|
|
11
13
|
const { state } = useKdaState();
|
|
12
14
|
if (state.selectedItem === "summary" || loading) {
|
|
@@ -16,14 +18,18 @@ export function KeyDriversOverview({ loading, detailsId }) {
|
|
|
16
18
|
}
|
|
17
19
|
function KeyDriversSummary({ loading, detailsId }) {
|
|
18
20
|
const intl = useIntl();
|
|
19
|
-
|
|
21
|
+
const { state } = useKdaState();
|
|
22
|
+
const summaryLoading = getSummaryLoading(state, loading);
|
|
23
|
+
return (_jsxs("div", { className: cx("gd-kda-key-drivers-overview"), id: detailsId, children: [_jsx("div", { className: cx("gd-kda-key-drivers-overview-title"), children: summaryLoading ? (_jsx(UiSkeleton, { itemWidth: 200, itemHeight: 26 })) : (intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.summary.title" })) }), _jsx("div", { className: cx("gd-kda-key-drivers-overview-headline"), children: summaryLoading ? _jsx(UiSkeleton, { itemWidth: 420, itemHeight: 20 }) : _jsx(KdaSummaryHeadline, {}) }), _jsx("div", { className: cx("gd-kda-key-drivers-overview-drivers"), children: loading ? _jsx(UiSkeleton, { itemWidth: 618, itemHeight: 370 }) : _jsx(KdaSummaryDrivers, {}) })] }));
|
|
20
24
|
}
|
|
21
25
|
function KeyDriversDetail({ detailsId }) {
|
|
22
26
|
const intl = useIntl();
|
|
23
27
|
const { state } = useKdaState();
|
|
24
28
|
const description = getDescription(state.selectedItem);
|
|
25
29
|
const category = getCategory(state.selectedItem);
|
|
26
|
-
|
|
30
|
+
const { group, item } = useGroupAndItem();
|
|
31
|
+
const { config, dataView } = useDataViewWithConfig(group, item);
|
|
32
|
+
return (_jsxs("div", { className: cx("gd-kda-key-drivers-detail"), id: detailsId, children: [_jsxs("div", { children: [_jsx("div", { className: cx("gd-kda-key-drivers-detail-title"), children: getTitle(intl, state.selectedItem) }), description ? (_jsx("div", { className: cx("gd-kda-key-drivers-detail-description"), children: description })) : null] }), _jsx("div", { className: cx("gd-kda-key-drivers-detail-visualisation"), children: _jsx(KdaKeyDriverChart, { config: config, dataView: dataView }) }), _jsxs("div", { className: cx("gd-kda-key-drivers-detail-info"), children: [_jsx(UiIcon, { type: "questionMark", size: 12 }), " ", intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.detail.tip" }, {
|
|
27
33
|
category,
|
|
28
34
|
})] })] }));
|
|
29
35
|
}
|
|
@@ -48,4 +54,12 @@ function getCategory(item) {
|
|
|
48
54
|
}
|
|
49
55
|
return item.data.category;
|
|
50
56
|
}
|
|
57
|
+
function getSummaryLoading(state, globalLoading) {
|
|
58
|
+
if (state.definition) {
|
|
59
|
+
const from = state.definition.range[0];
|
|
60
|
+
const to = state.definition.range[1];
|
|
61
|
+
return from.value === undefined || to.value === undefined;
|
|
62
|
+
}
|
|
63
|
+
return globalLoading ?? false;
|
|
64
|
+
}
|
|
51
65
|
//# sourceMappingURL=KeyDriversOverview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAa,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAA6B,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDriversPanel.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"KeyDriversPanel.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAwK3E"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2025 GoodData Corporation
|
|
3
|
-
import { useEffect, useId } from "react";
|
|
3
|
+
import { useCallback, useEffect, useId } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
6
6
|
import { UiButton, UiButtonSegmentedControl, UiIcon, UiIconButton, UiListbox, UiSkeleton, UiTooltip, } from "@gooddata/sdk-ui-kit";
|
|
@@ -17,21 +17,42 @@ export function KeyDriversPanel({ loading, detailsId }) {
|
|
|
17
17
|
const { maximum, list, trendUp, trendDown } = useSignificantDrives();
|
|
18
18
|
// When there are no items for selected trend, switch to the other trend
|
|
19
19
|
useEffect(() => {
|
|
20
|
-
if (
|
|
21
|
-
|
|
20
|
+
if (state.itemsStatus !== "success") {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (trendUp.length === 0 && trendDown.length > 0 && state.selectedTrend.includes("up")) {
|
|
24
|
+
setState({ selectedTrend: ["down"] });
|
|
22
25
|
}
|
|
23
26
|
// eslint-disable-next-line
|
|
24
|
-
}, []);
|
|
27
|
+
}, [state.itemsStatus]);
|
|
28
|
+
const upSelected = state.selectedTrend.includes("up");
|
|
29
|
+
const downSelected = state.selectedTrend.includes("down");
|
|
30
|
+
const onSelectCallback = useCallback((trend) => {
|
|
31
|
+
const selected = state.selectedTrend.includes(trend);
|
|
32
|
+
if (selected) {
|
|
33
|
+
const selectedTrend = state.selectedTrend.filter((t) => trend !== t);
|
|
34
|
+
if (selectedTrend.length === 0) {
|
|
35
|
+
selectedTrend.push(trend === "up" ? "down" : "up");
|
|
36
|
+
}
|
|
37
|
+
setState({
|
|
38
|
+
selectedTrend,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
const selectedTrend = [...state.selectedTrend, trend];
|
|
43
|
+
setState({ selectedTrend });
|
|
44
|
+
}
|
|
45
|
+
}, [setState, state.selectedTrend]);
|
|
25
46
|
return (_jsxs("div", { className: cx("gd-kda-key-drivers-panel"), children: [_jsx("div", { className: cx("gd-kda-key-drivers-panel-summary"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 40 })) : (_jsx(SummaryItem, { detailsId: detailsId, isSelected: state.selectedItem === "summary", onSelect: () => {
|
|
26
47
|
setState({ selectedItem: "summary" });
|
|
27
48
|
} })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-title"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 21, itemWidth: 70 })) : (_jsxs(_Fragment, { children: [label, _jsx(UiTooltip, { arrowPlacement: "left", triggerBy: ["hover", "focus"], optimalPlacement: true, content: tooltip, anchor: _jsx(UiIconButton, { icon: "question", variant: "tertiary", size: "xsmall", accessibilityConfig: {
|
|
28
49
|
ariaLabel: label,
|
|
29
|
-
} }) })] })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-trend"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 27 })) : (_jsxs(UiButtonSegmentedControl, { children: [_jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendUp" }, { count: trendUp.length }), size: "small", isSelected:
|
|
30
|
-
|
|
50
|
+
} }) })] })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-trend"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 27 })) : (_jsxs(UiButtonSegmentedControl, { children: [_jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendUp" }, { count: trendUp.length }), size: "small", isSelected: upSelected, onClick: () => {
|
|
51
|
+
onSelectCallback("up");
|
|
31
52
|
}, accessibilityConfig: {
|
|
32
53
|
ariaControls: listId,
|
|
33
|
-
} }), _jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendDown" }, { count: trendDown.length }), size: "small", isSelected:
|
|
34
|
-
|
|
54
|
+
} }), _jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendDown" }, { count: trendDown.length }), size: "small", isSelected: downSelected, onClick: () => {
|
|
55
|
+
onSelectCallback("down");
|
|
35
56
|
}, accessibilityConfig: {
|
|
36
57
|
ariaControls: listId,
|
|
37
58
|
} })] })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-list"), children: loading ? (_jsxs("div", { className: cx("gd-kda-key-drivers-panel-list-loading"), children: [_jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 })] })) : (_jsx(_Fragment, { children: list.length > 0 ? (_jsx(UiListbox, { items: list, ariaAttributes: {
|
|
@@ -41,7 +62,7 @@ export function KeyDriversPanel({ loading, detailsId }) {
|
|
|
41
62
|
return _jsx(KeyDriverItem, { ...props, maximum: maximum });
|
|
42
63
|
}, selectedItemId: getSelectedItem(state), onSelect: (item) => {
|
|
43
64
|
setState({ selectedItem: item });
|
|
44
|
-
} })) : (_jsxs("div", { className: cx("gd-kda-key-drivers-panel-list-empty"), children: [_jsx(UiIcon, { type: "drawerEmpty", size: 26, color: "currentColor" }),
|
|
65
|
+
} })) : (_jsxs("div", { className: cx("gd-kda-key-drivers-panel-list-empty"), children: [_jsx(UiIcon, { type: "drawerEmpty", size: 26, color: "currentColor" }), upSelected && downSelected ? (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty" })) : (_jsx(_Fragment, { children: upSelected ? (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty_up" })) : (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty_down" })) }))] })) })) })] }));
|
|
45
66
|
}
|
|
46
67
|
function getSelectedItem(state) {
|
|
47
68
|
return typeof state.selectedItem === "string" ? undefined : state.selectedItem.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDriversPanel.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyDriversPanel.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IDataView } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import { IColorPalette, ISettings } from "@gooddata/sdk-model";
|
|
3
|
+
import { IChartConfig } from "@gooddata/sdk-ui-charts";
|
|
4
|
+
import { KdaItem, KdaItemGroup } from "../../internalTypes.js";
|
|
5
|
+
import { IKdaDefinition } from "../../types.js";
|
|
6
|
+
export declare function createDataView(workspace: string, def: IKdaDefinition | null, group: KdaItemGroup, item: KdaItem, title: string): IDataView | null;
|
|
7
|
+
export declare function createConfig(settings: ISettings, colorPalette: IColorPalette, group: KdaItemGroup, item: KdaItem): IChartConfig;
|
|
8
|
+
//# sourceMappingURL=dataview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataview.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/data/dataview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAoB,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAGH,aAAa,EAKb,SAAS,EAMZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,wBAAgB,cAAc,CAC1B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,GAAG,IAAI,EAC1B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,GACd,SAAS,GAAG,IAAI,CA2GlB;AA6ID,wBAAgB,YAAY,CACxB,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,OAAO,GACd,YAAY,CA2Cd"}
|