@gooddata/sdk-ui-gen-ai 11.9.0-alpha.2 → 11.9.0-alpha.4
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/NOTICE +6 -71
- package/esm/components/GenAIChatWrapper.d.ts.map +1 -1
- package/esm/components/GenAIChatWrapper.js +2 -1
- package/esm/components/GenAIChatWrapper.js.map +1 -1
- package/esm/components/KeyDriverAnalysis.d.ts +2 -0
- package/esm/components/KeyDriverAnalysis.d.ts.map +1 -0
- package/esm/components/KeyDriverAnalysis.js +30 -0
- package/esm/components/KeyDriverAnalysis.js.map +1 -0
- package/esm/components/hooks/useKdaDefinition.d.ts +13 -0
- package/esm/components/hooks/useKdaDefinition.d.ts.map +1 -0
- package/esm/components/hooks/useKdaDefinition.js +98 -0
- package/esm/components/hooks/useKdaDefinition.js.map +1 -0
- package/esm/components/messages/contents/ChangeAnalysisContentsComponent.d.ts +3 -3
- package/esm/components/messages/contents/ChangeAnalysisContentsComponent.d.ts.map +1 -1
- package/esm/components/messages/contents/ChangeAnalysisContentsComponent.js +10 -80
- package/esm/components/messages/contents/ChangeAnalysisContentsComponent.js.map +1 -1
- package/esm/components/messages/contents/VisualizationContents.d.ts +3 -1
- package/esm/components/messages/contents/VisualizationContents.d.ts.map +1 -1
- package/esm/components/messages/contents/VisualizationContents.js +144 -74
- package/esm/components/messages/contents/VisualizationContents.js.map +1 -1
- package/esm/components/messages/contents/drill/DrillSelectDropdownMenu.d.ts +20 -0
- package/esm/components/messages/contents/drill/DrillSelectDropdownMenu.d.ts.map +1 -0
- package/esm/components/messages/contents/drill/DrillSelectDropdownMenu.js +30 -0
- package/esm/components/messages/contents/drill/DrillSelectDropdownMenu.js.map +1 -0
- package/esm/components/utils/intersectionUtils.d.ts +5 -0
- package/esm/components/utils/intersectionUtils.d.ts.map +1 -0
- package/esm/components/utils/intersectionUtils.js +44 -0
- package/esm/components/utils/intersectionUtils.js.map +1 -0
- package/esm/localization/bundles/en-US.json +28 -0
- package/esm/localization/bundles/en-US.localization-bundle.d.ts +7 -0
- package/esm/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/localization/bundles/en-US.localization-bundle.js +8 -1
- package/esm/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/esm/store/chatWindow/chatWindowSelectors.d.ts +2 -0
- package/esm/store/chatWindow/chatWindowSelectors.d.ts.map +1 -1
- package/esm/store/chatWindow/chatWindowSelectors.js +1 -0
- package/esm/store/chatWindow/chatWindowSelectors.js.map +1 -1
- package/esm/store/chatWindow/chatWindowSlice.d.ts +8 -1
- package/esm/store/chatWindow/chatWindowSlice.d.ts.map +1 -1
- package/esm/store/chatWindow/chatWindowSlice.js +4 -1
- package/esm/store/chatWindow/chatWindowSlice.js.map +1 -1
- package/esm/store/index.d.ts +1 -1
- package/esm/store/index.d.ts.map +1 -1
- package/esm/store/index.js +1 -1
- package/esm/store/index.js.map +1 -1
- package/package.json +16 -16
- package/styles/css/main.css +8 -0
- package/styles/css/main.css.map +1 -1
- package/styles/css/messages.css +8 -0
- package/styles/css/messages.css.map +1 -1
- package/styles/scss/messages.scss +9 -0
package/NOTICE
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
|
|
9
9
|
|
|
10
|
-
Date generated: 2025-11-
|
|
10
|
+
Date generated: 2025-11-10
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
12
|
+
Revision ID: 0c9a0f517ed69efeba75f370210854089aa48452
|
|
13
13
|
|
|
14
14
|
================================================================================
|
|
15
15
|
================================================================================
|
|
@@ -346,7 +346,6 @@ Revision ID: 67e28a94d36a800a887f1acd58c4fc3c13e15d09
|
|
|
346
346
|
- body-parser (1.20.3) [MIT]
|
|
347
347
|
- bonjour-service (1.3.0) [MIT]
|
|
348
348
|
- brace-expansion (1.1.12) [MIT]
|
|
349
|
-
- brace-expansion (2.0.2) [MIT]
|
|
350
349
|
- braces (3.0.3) [MIT]
|
|
351
350
|
- browserslist (4.26.2) [MIT]
|
|
352
351
|
- buffer (5.7.1) [MIT]
|
|
@@ -525,7 +524,6 @@ Revision ID: 67e28a94d36a800a887f1acd58c4fc3c13e15d09
|
|
|
525
524
|
- get-stream (6.0.1) [MIT]
|
|
526
525
|
- gl-matrix (3.4.4) [MIT]
|
|
527
526
|
- glob (11.0.3) [ISC]
|
|
528
|
-
- glob (10.4.5) [ISC]
|
|
529
527
|
- glob (7.2.3) [ISC]
|
|
530
528
|
- glob-parent (5.1.2) [ISC]
|
|
531
529
|
- glob-to-regex.js (1.0.1) [Apache-2.0]
|
|
@@ -550,7 +548,7 @@ Revision ID: 67e28a94d36a800a887f1acd58c4fc3c13e15d09
|
|
|
550
548
|
- hpack.js (2.1.6) [MIT]
|
|
551
549
|
- html-escaper (2.0.2) [MIT]
|
|
552
550
|
- html-url-attributes (3.0.1) [MIT]
|
|
553
|
-
- html-validate (
|
|
551
|
+
- html-validate (10.3.1) [MIT]
|
|
554
552
|
- http-deceiver (1.2.7) [MIT]
|
|
555
553
|
- http-errors (1.6.3) [MIT]
|
|
556
554
|
- http-errors (2.0.0) [MIT]
|
|
@@ -612,7 +610,6 @@ Revision ID: 67e28a94d36a800a887f1acd58c4fc3c13e15d09
|
|
|
612
610
|
- isexe (2.0.0) [ISC]
|
|
613
611
|
- isexe (3.1.1) [ISC]
|
|
614
612
|
- isobject (3.0.1) [MIT]
|
|
615
|
-
- jackspeak (3.4.3) [blueoak-1.0.0]
|
|
616
613
|
- jackspeak (4.1.1) [blueoak-1.0.0]
|
|
617
614
|
- jest-worker (27.5.1) [MIT]
|
|
618
615
|
- js-tokens (4.0.0) [MIT]
|
|
@@ -704,7 +701,6 @@ Revision ID: 67e28a94d36a800a887f1acd58c4fc3c13e15d09
|
|
|
704
701
|
- minimalistic-assert (1.0.1) [ISC]
|
|
705
702
|
- minimatch (10.0.3) [MIT]
|
|
706
703
|
- minimatch (3.1.2) [MIT]
|
|
707
|
-
- minimatch (9.0.5) [MIT]
|
|
708
704
|
- minimist (1.2.8) [MIT]
|
|
709
705
|
- minipass (3.3.6) [ISC]
|
|
710
706
|
- minipass (5.0.0) [ISC]
|
|
@@ -755,7 +751,6 @@ Revision ID: 67e28a94d36a800a887f1acd58c4fc3c13e15d09
|
|
|
755
751
|
- path-is-absolute (1.0.1) [MIT]
|
|
756
752
|
- path-key (3.1.1) [MIT]
|
|
757
753
|
- path-parse (1.0.7) [MIT]
|
|
758
|
-
- path-scurry (1.11.1) [blueoak-1.0.0]
|
|
759
754
|
- path-scurry (2.0.0) [blueoak-1.0.0]
|
|
760
755
|
- path-to-regexp (0.1.12) [MIT]
|
|
761
756
|
- path-type (4.0.0) [MIT]
|
|
@@ -4899,18 +4894,6 @@ Package Depth: Transitive
|
|
|
4899
4894
|
MIT
|
|
4900
4895
|
|
|
4901
4896
|
|
|
4902
|
-
--------------------------------------------------------------------------------
|
|
4903
|
-
Package Title: brace-expansion (2.0.2)
|
|
4904
|
-
|
|
4905
|
-
Package Locator: npm+brace-expansion$2.0.2
|
|
4906
|
-
|
|
4907
|
-
Package Depth: Transitive
|
|
4908
|
-
--------------------------------------------------------------------------------
|
|
4909
|
-
|
|
4910
|
-
* Declared Licenses *
|
|
4911
|
-
MIT
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
4897
|
--------------------------------------------------------------------------------
|
|
4915
4898
|
Package Title: braces (3.0.3)
|
|
4916
4899
|
|
|
@@ -7055,18 +7038,6 @@ Package Depth: Direct
|
|
|
7055
7038
|
ISC
|
|
7056
7039
|
|
|
7057
7040
|
|
|
7058
|
-
--------------------------------------------------------------------------------
|
|
7059
|
-
Package Title: glob (10.4.5)
|
|
7060
|
-
|
|
7061
|
-
Package Locator: npm+glob$10.4.5
|
|
7062
|
-
|
|
7063
|
-
Package Depth: Transitive
|
|
7064
|
-
--------------------------------------------------------------------------------
|
|
7065
|
-
|
|
7066
|
-
* Declared Licenses *
|
|
7067
|
-
ISC
|
|
7068
|
-
|
|
7069
|
-
|
|
7070
7041
|
--------------------------------------------------------------------------------
|
|
7071
7042
|
Package Title: glob (7.2.3)
|
|
7072
7043
|
|
|
@@ -7360,9 +7331,9 @@ MIT
|
|
|
7360
7331
|
|
|
7361
7332
|
|
|
7362
7333
|
--------------------------------------------------------------------------------
|
|
7363
|
-
Package Title: html-validate (
|
|
7334
|
+
Package Title: html-validate (10.3.1)
|
|
7364
7335
|
|
|
7365
|
-
Package Locator: npm+html-validate$
|
|
7336
|
+
Package Locator: npm+html-validate$10.3.1
|
|
7366
7337
|
|
|
7367
7338
|
Package Depth: Direct
|
|
7368
7339
|
--------------------------------------------------------------------------------
|
|
@@ -8103,18 +8074,6 @@ Package Depth: Transitive
|
|
|
8103
8074
|
MIT
|
|
8104
8075
|
|
|
8105
8076
|
|
|
8106
|
-
--------------------------------------------------------------------------------
|
|
8107
|
-
Package Title: jackspeak (3.4.3)
|
|
8108
|
-
|
|
8109
|
-
Package Locator: npm+jackspeak$3.4.3
|
|
8110
|
-
|
|
8111
|
-
Package Depth: Transitive
|
|
8112
|
-
--------------------------------------------------------------------------------
|
|
8113
|
-
|
|
8114
|
-
* Declared Licenses *
|
|
8115
|
-
blueoak-1.0.0
|
|
8116
|
-
|
|
8117
|
-
|
|
8118
8077
|
--------------------------------------------------------------------------------
|
|
8119
8078
|
Package Title: jackspeak (4.1.1)
|
|
8120
8079
|
|
|
@@ -9215,18 +9174,6 @@ Package Depth: Transitive
|
|
|
9215
9174
|
MIT
|
|
9216
9175
|
|
|
9217
9176
|
|
|
9218
|
-
--------------------------------------------------------------------------------
|
|
9219
|
-
Package Title: minimatch (9.0.5)
|
|
9220
|
-
|
|
9221
|
-
Package Locator: npm+minimatch$9.0.5
|
|
9222
|
-
|
|
9223
|
-
Package Depth: Transitive
|
|
9224
|
-
--------------------------------------------------------------------------------
|
|
9225
|
-
|
|
9226
|
-
* Declared Licenses *
|
|
9227
|
-
MIT
|
|
9228
|
-
|
|
9229
|
-
|
|
9230
9177
|
--------------------------------------------------------------------------------
|
|
9231
9178
|
Package Title: minimist (1.2.8)
|
|
9232
9179
|
|
|
@@ -9833,18 +9780,6 @@ Package Depth: Transitive
|
|
|
9833
9780
|
MIT
|
|
9834
9781
|
|
|
9835
9782
|
|
|
9836
|
-
--------------------------------------------------------------------------------
|
|
9837
|
-
Package Title: path-scurry (1.11.1)
|
|
9838
|
-
|
|
9839
|
-
Package Locator: npm+path-scurry$1.11.1
|
|
9840
|
-
|
|
9841
|
-
Package Depth: Transitive
|
|
9842
|
-
--------------------------------------------------------------------------------
|
|
9843
|
-
|
|
9844
|
-
* Declared Licenses *
|
|
9845
|
-
blueoak-1.0.0
|
|
9846
|
-
|
|
9847
|
-
|
|
9848
9783
|
--------------------------------------------------------------------------------
|
|
9849
9784
|
Package Title: path-scurry (2.0.0)
|
|
9850
9785
|
|
|
@@ -35526,4 +35461,4 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
|
35526
35461
|
--------------------------------------------------------------------------------
|
|
35527
35462
|
--------------------------------------------------------------------------------
|
|
35528
35463
|
|
|
35529
|
-
Report Generated by FOSSA on 2025-11-
|
|
35464
|
+
Report Generated by FOSSA on 2025-11-10
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenAIChatWrapper.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAA2B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"GenAIChatWrapper.d.ts","sourceRoot":"","sources":["../../src/components/GenAIChatWrapper.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAA2B,MAAM,OAAO,CAAC;AAyBpD,MAAM,MAAM,iBAAiB,GAAG;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAuIF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,iBAAiB,CAGvB,CAAC"}
|
|
@@ -14,6 +14,7 @@ import { Input } from "./Input.js";
|
|
|
14
14
|
import { Messages } from "./Messages.js";
|
|
15
15
|
import { asyncProcessSelector, cancelAsyncAction, clearThreadAction, loadThreadAction, } from "../store/index.js";
|
|
16
16
|
import { getAbsoluteSettingHref, getSettingHref } from "../utils.js";
|
|
17
|
+
import { KeyDriverAnalysis } from "./KeyDriverAnalysis.js";
|
|
17
18
|
const GEN_AI_SECTION = "ai";
|
|
18
19
|
const CREATE_LLM_PROVIDER_ACTION = "create-llm-provider";
|
|
19
20
|
const GEN_AI_INPUT_ANCHOR_ID = "gd-gen-ai-input";
|
|
@@ -58,7 +59,7 @@ function GenAIChatWrapperComponent({ loadThread, clearThread, cancelLoading, aut
|
|
|
58
59
|
restart();
|
|
59
60
|
}, clearing: isClearing, buttonsBefore: _jsx(_Fragment, { children: _jsx(Button, { className: "gd-button-link", value: intl.formatMessage({ id: "gd.gen-ai.global-no-llm.button-create-llm" }), onClick: onSettingClick }) }) }));
|
|
60
61
|
}
|
|
61
|
-
return (_jsx(ErrorBoundary, { children: _jsxs("div", { className: "gd-gen-ai-chat", children: [_jsx(NavigationBypass, {}), _jsx(Messages, {}), _jsx(Input, { targetRef: targetRef, autofocus: autofocus, catalogItems: catalogItems, canManage: canManage, canAnalyze: canAnalyze }), _jsx(Typography, { tagName: "p", className: "gd-gen-ai-chat__disclaimer", children: _jsx(FormattedMessage, { id: "gd.gen-ai.disclaimer" }) })] }) }));
|
|
62
|
+
return (_jsx(ErrorBoundary, { children: _jsxs("div", { className: "gd-gen-ai-chat", children: [_jsx(NavigationBypass, {}), _jsx(Messages, {}), _jsx(Input, { targetRef: targetRef, autofocus: autofocus, catalogItems: catalogItems, canManage: canManage, canAnalyze: canAnalyze }), _jsx(Typography, { tagName: "p", className: "gd-gen-ai-chat__disclaimer", children: _jsx(FormattedMessage, { id: "gd.gen-ai.disclaimer" }) }), _jsx(KeyDriverAnalysis, {})] }) }));
|
|
62
63
|
}
|
|
63
64
|
function NavigationBypass() {
|
|
64
65
|
const intl = useIntl();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenAIChatWrapper.js","sourceRoot":"","sources":["../../src/components/GenAIChatWrapper.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAkB,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAE3G,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAEH,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"GenAIChatWrapper.js","sourceRoot":"","sources":["../../src/components/GenAIChatWrapper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyDriverAnalysis.d.ts","sourceRoot":"","sources":["../../src/components/KeyDriverAnalysis.tsx"],"names":[],"mappings":"AAyDA,eAAO,MAAM,iBAAiB,EAAE,GAGH,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2025 GoodData Corporation
|
|
3
|
+
import { useIntl } from "react-intl";
|
|
4
|
+
import { connect } from "react-redux";
|
|
5
|
+
import { IntlWrapper, KdaDialog, KdaProvider, KdaStoreProvider } from "@gooddata/sdk-ui-dashboard/internal";
|
|
6
|
+
import { keyDriverAnalysisSelector, settingsSelector } from "../store/chatWindow/chatWindowSelectors.js";
|
|
7
|
+
import { setKeyDriverAnalysisAction } from "../store/index.js";
|
|
8
|
+
function KeyDriverAnalysisComponent(props) {
|
|
9
|
+
const { keyDriverAnalysis, separators, locale, setKeyDriverAnalysis } = props;
|
|
10
|
+
const intl = useIntl();
|
|
11
|
+
if (!keyDriverAnalysis) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return (_jsx(IntlWrapper, { locale: locale ?? intl.locale, children: _jsx(KdaStoreProvider, { children: _jsx(KdaProvider, { definition: keyDriverAnalysis, separators: separators, children: _jsx(KdaDialog, { showCloseButton: true, locale: locale ?? intl.locale, onClose: () => {
|
|
15
|
+
setKeyDriverAnalysis?.({ keyDriverAnalysis: undefined });
|
|
16
|
+
} }) }) }) }));
|
|
17
|
+
}
|
|
18
|
+
const mapDispatchToProps = {
|
|
19
|
+
setKeyDriverAnalysis: setKeyDriverAnalysisAction,
|
|
20
|
+
};
|
|
21
|
+
const mapStateToProps = (state) => {
|
|
22
|
+
const settings = settingsSelector(state);
|
|
23
|
+
return {
|
|
24
|
+
keyDriverAnalysis: keyDriverAnalysisSelector(state),
|
|
25
|
+
locale: settings?.locale,
|
|
26
|
+
separators: settings?.separators,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export const KeyDriverAnalysis = connect(mapStateToProps, mapDispatchToProps)(KeyDriverAnalysisComponent);
|
|
30
|
+
//# sourceMappingURL=KeyDriverAnalysis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyDriverAnalysis.js","sourceRoot":"","sources":["../../src/components/KeyDriverAnalysis.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAItC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5G,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AACzG,OAAO,EAAa,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAS1E,SAAS,0BAA0B,CAAC,KAA6B;IAC7D,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAC;IAC9E,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,YACtC,KAAC,gBAAgB,cACb,KAAC,WAAW,IAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,YAC9D,KAAC,SAAS,IACN,eAAe,QACf,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,EAC7B,OAAO,EAAE,GAAG,EAAE;wBACV,oBAAoB,EAAE,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;oBAC7D,CAAC,GACH,GACQ,GACC,GACT,CACjB,CAAC;AACN,CAAC;AAED,MAAM,kBAAkB,GAA2B;IAC/C,oBAAoB,EAAE,0BAA0B;CACnD,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAgB,EAA0B,EAAE;IACjE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO;QACH,iBAAiB,EAAE,yBAAyB,CAAC,KAAK,CAAC;QACnD,MAAM,EAAE,QAAQ,EAAE,MAAM;QACxB,UAAU,EAAE,QAAQ,EAAE,UAAU;KACnC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAQ,OAAO,CACzC,eAAe,EACf,kBAAkB,CACrB,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IAttribute, IDashboardAttributeFilter, IFilter, IMeasure } from "@gooddata/sdk-model";
|
|
2
|
+
import { IDrillEvent } from "@gooddata/sdk-ui";
|
|
3
|
+
import { DashboardKeyDriverCombinationItem, IKdaDefinition } from "@gooddata/sdk-ui-dashboard";
|
|
4
|
+
import { ChangeAnalysisContents } from "../../model.js";
|
|
5
|
+
export declare function useKdaDefinition(content: ChangeAnalysisContents, format?: string, locale?: string): IKdaDefinition;
|
|
6
|
+
export declare function useKdaInfo(def: IKdaDefinition, splitter: string): {
|
|
7
|
+
title: string;
|
|
8
|
+
range: string;
|
|
9
|
+
};
|
|
10
|
+
export declare function createKdaDefinition(measure: IMeasure, dateAttribute: IAttribute, filters: IDashboardAttributeFilter[], referencePeriod: string, analyzedPeriod: string, locale: string, format?: string): IKdaDefinition;
|
|
11
|
+
export declare function createKdaDefinitionFromDrill(locale: string, data: DashboardKeyDriverCombinationItem, event: IDrillEvent, filters?: IDashboardAttributeFilter[]): IKdaDefinition | undefined;
|
|
12
|
+
export declare function getDashboardAttributeFilter(f: IFilter): IDashboardAttributeFilter | null;
|
|
13
|
+
//# sourceMappingURL=useKdaDefinition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKdaDefinition.d.ts","sourceRoot":"","sources":["../../../src/components/hooks/useKdaDefinition.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,UAAU,EACV,yBAAyB,EACzB,OAAO,EACP,QAAQ,EAIX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iCAAiC,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAI/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,sBAAsB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,kBA6BjG;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM;;;EAkB/D;AAED,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,QAAQ,EACjB,aAAa,EAAE,UAAU,EACzB,OAAO,EAAE,yBAAyB,EAAE,EACpC,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,SAAe,GACtB,cAAc,CAgChB;AAED,wBAAgB,4BAA4B,CACxC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,iCAAiC,EACvC,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,yBAAyB,EAAE,8BA6BxC;AAED,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,OAAO,oCASrD"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { useIntl } from "react-intl";
|
|
4
|
+
import { isAttributeFilter, isNegativeAttributeFilter, objRefToString, } from "@gooddata/sdk-model";
|
|
5
|
+
import { attributeFilterToDashboardAttributeFilter } from "@gooddata/sdk-ui-dashboard/internal";
|
|
6
|
+
import { DateFilterHelpers } from "@gooddata/sdk-ui-filters";
|
|
7
|
+
export function useKdaDefinition(content, format, locale) {
|
|
8
|
+
const intl = useIntl();
|
|
9
|
+
const measure = content.params.measure;
|
|
10
|
+
const def = useMemo(() => {
|
|
11
|
+
return createKdaDefinition(measure, content.params.dateAttribute, content.params.filters
|
|
12
|
+
.map(getDashboardAttributeFilter)
|
|
13
|
+
.filter(Boolean), content.params.referencePeriod, content.params.analyzedPeriod, locale ?? intl.locale, format);
|
|
14
|
+
}, [
|
|
15
|
+
content.params.analyzedPeriod,
|
|
16
|
+
content.params.filters,
|
|
17
|
+
content.params.referencePeriod,
|
|
18
|
+
content.params.dateAttribute,
|
|
19
|
+
format,
|
|
20
|
+
intl.locale,
|
|
21
|
+
locale,
|
|
22
|
+
measure,
|
|
23
|
+
]);
|
|
24
|
+
return def;
|
|
25
|
+
}
|
|
26
|
+
export function useKdaInfo(def, splitter) {
|
|
27
|
+
const title = def.metric.measure.title ?? def.metric.measure.alias ?? def.metric.measure.localIdentifier;
|
|
28
|
+
const from = def.range[0];
|
|
29
|
+
const to = def.range[1];
|
|
30
|
+
const pattern = def.range[0].format?.pattern ?? "yyyy-MM-dd";
|
|
31
|
+
const range = DateFilterHelpers.formatAbsoluteDateRange(new Date(from.date), new Date(to.date), pattern, splitter);
|
|
32
|
+
return {
|
|
33
|
+
title,
|
|
34
|
+
range,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export function createKdaDefinition(measure, dateAttribute, filters, referencePeriod, analyzedPeriod, locale, format = "dd/MM/yyyy") {
|
|
38
|
+
return {
|
|
39
|
+
metric: {
|
|
40
|
+
...measure,
|
|
41
|
+
measure: {
|
|
42
|
+
...measure.measure,
|
|
43
|
+
title: measure.measure.title ?? measure.measure.alias ?? measure.measure.localIdentifier,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
metrics: [],
|
|
47
|
+
dateAttribute: dateAttribute.attribute.displayForm,
|
|
48
|
+
filters,
|
|
49
|
+
type: "previous_period",
|
|
50
|
+
range: [
|
|
51
|
+
{
|
|
52
|
+
date: referencePeriod,
|
|
53
|
+
value: undefined,
|
|
54
|
+
format: {
|
|
55
|
+
locale: locale,
|
|
56
|
+
pattern: format,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
date: analyzedPeriod,
|
|
61
|
+
value: undefined,
|
|
62
|
+
format: {
|
|
63
|
+
locale: locale,
|
|
64
|
+
pattern: format,
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
export function createKdaDefinitionFromDrill(locale, data, event, filters) {
|
|
71
|
+
const from = data.range[0];
|
|
72
|
+
const to = data.range[1];
|
|
73
|
+
const measure = event.dataView.definition.measures.find((m) => {
|
|
74
|
+
return data.measure.measureHeaderItem.localIdentifier === m.measure.localIdentifier;
|
|
75
|
+
});
|
|
76
|
+
const attr = from.descriptor.attributeHeader;
|
|
77
|
+
if (!measure) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
return createKdaDefinition(measure, {
|
|
81
|
+
attribute: {
|
|
82
|
+
localIdentifier: attr.localIdentifier,
|
|
83
|
+
displayForm: attr.formOf,
|
|
84
|
+
alias: attr.name,
|
|
85
|
+
},
|
|
86
|
+
}, filters ?? [], from.header.attributeHeaderItem.uri, to.header.attributeHeaderItem.uri, attr.format?.locale ?? locale, attr.format?.pattern);
|
|
87
|
+
}
|
|
88
|
+
export function getDashboardAttributeFilter(f) {
|
|
89
|
+
if (isAttributeFilter(f)) {
|
|
90
|
+
const ref = isNegativeAttributeFilter(f)
|
|
91
|
+
? f.negativeAttributeFilter.displayForm
|
|
92
|
+
: f.positiveAttributeFilter.displayForm;
|
|
93
|
+
const id = objRefToString(ref);
|
|
94
|
+
return attributeFilterToDashboardAttributeFilter(f, `local_${id}`, undefined);
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=useKdaDefinition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKdaDefinition.js","sourceRoot":"","sources":["../../../src/components/hooks/useKdaDefinition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { ISeparators } from "@gooddata/sdk-model";
|
|
2
1
|
import { ChangeAnalysisContents } from "../../../model.js";
|
|
2
|
+
import { setKeyDriverAnalysisAction } from "../../../store/index.js";
|
|
3
3
|
export type ChangeAnalysisContentsProps = {
|
|
4
4
|
content: ChangeAnalysisContents;
|
|
5
5
|
messageId: string;
|
|
6
6
|
format?: string;
|
|
7
7
|
useMarkdown?: boolean;
|
|
8
|
-
separators?: ISeparators;
|
|
9
8
|
locale?: string;
|
|
9
|
+
setKeyDriverAnalysis?: typeof setKeyDriverAnalysisAction;
|
|
10
10
|
};
|
|
11
|
-
declare function ChangeAnalysisContentsComponentCore({ content,
|
|
11
|
+
declare function ChangeAnalysisContentsComponentCore({ content, locale, format, setKeyDriverAnalysis, }: ChangeAnalysisContentsProps): import("react/jsx-runtime").JSX.Element;
|
|
12
12
|
export declare const ChangeAnalysisContentsComponent: import("react-redux").ConnectedComponent<typeof ChangeAnalysisContentsComponentCore, {
|
|
13
13
|
content: ChangeAnalysisContents;
|
|
14
14
|
messageId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangeAnalysisContentsComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/ChangeAnalysisContentsComponent.tsx"],"names":[],"mappings":"AAQA,OAAO,
|
|
1
|
+
{"version":3,"file":"ChangeAnalysisContentsComponent.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/ChangeAnalysisContentsComponent.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAa,0BAA0B,EAAoB,MAAM,yBAAyB,CAAC;AAGlG,MAAM,MAAM,2BAA2B,GAAG;IACtC,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,OAAO,0BAA0B,CAAC;CAC5D,CAAC;AAEF,iBAAS,mCAAmC,CAAC,EACzC,OAAO,EACP,MAAM,EACN,MAAM,EACN,oBAAoB,GACvB,EAAE,2BAA2B,2CA0C7B;AAcD,eAAO,MAAM,+BAA+B;aArE/B,sBAAsB;eACpB,MAAM;kBAEH,OAAO;;;EAqEa,CAAC"}
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2024-2025 GoodData Corporation
|
|
3
|
-
import { useCallback, useMemo, useState } from "react";
|
|
4
3
|
import cx from "classnames";
|
|
5
4
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
6
5
|
import { connect } from "react-redux";
|
|
7
|
-
import { isAttributeFilter, isNegativeAttributeFilter, objRefToString, } from "@gooddata/sdk-model";
|
|
8
|
-
import { IntlWrapper, KdaDialog, KdaProvider, KdaStoreProvider, attributeFilterToDashboardAttributeFilter, } from "@gooddata/sdk-ui-dashboard/internal";
|
|
9
|
-
import { DateFilterHelpers } from "@gooddata/sdk-ui-filters";
|
|
10
6
|
import { UiButton, UiIcon } from "@gooddata/sdk-ui-kit";
|
|
11
|
-
import { settingsSelector } from "../../../store/index.js";
|
|
12
|
-
|
|
7
|
+
import { setKeyDriverAnalysisAction, settingsSelector } from "../../../store/index.js";
|
|
8
|
+
import { useKdaDefinition, useKdaInfo } from "../../hooks/useKdaDefinition.js";
|
|
9
|
+
function ChangeAnalysisContentsComponentCore({ content, locale, format, setKeyDriverAnalysis, }) {
|
|
13
10
|
const intl = useIntl();
|
|
14
11
|
const className = cx("gd-gen-ai-chat__messages__content", "gd-gen-ai-chat__messages__content--changeAnalysis");
|
|
15
12
|
const splitter = intl.formatMessage({ id: "gd.gen-ai.changeAnalysis.splitter" });
|
|
16
13
|
const definition = useKdaDefinition(content, format, locale);
|
|
17
14
|
const { range, title } = useKdaInfo(definition, splitter);
|
|
18
|
-
const [opened, setOpened] = useState(false);
|
|
19
15
|
return (_jsxs("div", { className: className, children: [_jsx(FormattedMessage, { id: "gd.gen-ai.changeAnalysis.default_message", values: {
|
|
20
16
|
range,
|
|
21
17
|
title,
|
|
@@ -23,85 +19,19 @@ function ChangeAnalysisContentsComponentCore({ content, separators, locale, form
|
|
|
23
19
|
return (_jsxs("div", { className: "gd-gen-ai-chat__messages__content--changeAnalysis__metric", children: [_jsx(UiIcon, { type: "metric", color: "currentColor" }), chunks] }));
|
|
24
20
|
},
|
|
25
21
|
b: (chunks) => _jsx("strong", { children: chunks }),
|
|
26
|
-
} }), _jsx("div", { className: "gd-gen-ai-chat__messages__content--changeAnalysis__button", children: _jsx(UiButton, { label: intl.formatMessage({ id: "gd.gen-ai.changeAnalysis.explain_the_change" }), variant: "secondary", iconBefore: "explainai", onClick: () =>
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const getFilter = useAttributeFilterMapper();
|
|
30
|
-
const intl = useIntl();
|
|
31
|
-
const measure = content.params.measure;
|
|
32
|
-
const def = useMemo(() => ({
|
|
33
|
-
metric: {
|
|
34
|
-
...measure,
|
|
35
|
-
measure: {
|
|
36
|
-
...measure.measure,
|
|
37
|
-
title: measure.measure.title ?? measure.measure.alias ?? measure.measure.localIdentifier,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
metrics: [],
|
|
41
|
-
dateAttribute: content.params.dateAttribute.attribute.displayForm,
|
|
42
|
-
filters: content.params.filters.map(getFilter).filter(Boolean),
|
|
43
|
-
type: "previous_period",
|
|
44
|
-
range: [
|
|
45
|
-
{
|
|
46
|
-
date: content.params.referencePeriod,
|
|
47
|
-
value: undefined,
|
|
48
|
-
format: {
|
|
49
|
-
locale: locale ?? intl.locale,
|
|
50
|
-
pattern: format ?? "dd/MM/yyyy",
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
date: content.params.analyzedPeriod,
|
|
55
|
-
value: undefined,
|
|
56
|
-
format: {
|
|
57
|
-
locale: locale ?? intl.locale,
|
|
58
|
-
pattern: format ?? "dd/MM/yyyy",
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
],
|
|
62
|
-
}), [
|
|
63
|
-
content.params.analyzedPeriod,
|
|
64
|
-
content.params.dateAttribute.attribute.displayForm,
|
|
65
|
-
content.params.filters,
|
|
66
|
-
content.params.referencePeriod,
|
|
67
|
-
format,
|
|
68
|
-
getFilter,
|
|
69
|
-
intl.locale,
|
|
70
|
-
locale,
|
|
71
|
-
measure,
|
|
72
|
-
]);
|
|
73
|
-
return def;
|
|
74
|
-
}
|
|
75
|
-
function useKdaInfo(def, splitter) {
|
|
76
|
-
const title = def.metric.measure.title ?? def.metric.measure.alias ?? def.metric.measure.localIdentifier;
|
|
77
|
-
const from = def.range[0];
|
|
78
|
-
const to = def.range[1];
|
|
79
|
-
const pattern = def.range[0].format?.pattern ?? "yyyy-MM-dd";
|
|
80
|
-
const range = DateFilterHelpers.formatAbsoluteDateRange(new Date(from.date), new Date(to.date), pattern, splitter);
|
|
81
|
-
return {
|
|
82
|
-
title,
|
|
83
|
-
range,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
function useAttributeFilterMapper() {
|
|
87
|
-
return useCallback((f) => {
|
|
88
|
-
if (isAttributeFilter(f)) {
|
|
89
|
-
const ref = isNegativeAttributeFilter(f)
|
|
90
|
-
? f.negativeAttributeFilter.displayForm
|
|
91
|
-
: f.positiveAttributeFilter.displayForm;
|
|
92
|
-
const id = objRefToString(ref);
|
|
93
|
-
return attributeFilterToDashboardAttributeFilter(f, `local_${id}`, undefined);
|
|
94
|
-
}
|
|
95
|
-
return null;
|
|
96
|
-
}, []);
|
|
22
|
+
} }), _jsx("div", { className: "gd-gen-ai-chat__messages__content--changeAnalysis__button", children: _jsx(UiButton, { label: intl.formatMessage({ id: "gd.gen-ai.changeAnalysis.explain_the_change" }), variant: "secondary", iconBefore: "explainai", onClick: () => {
|
|
23
|
+
setKeyDriverAnalysis?.({ keyDriverAnalysis: definition });
|
|
24
|
+
} }) })] }));
|
|
97
25
|
}
|
|
26
|
+
const mapDispatchToProps = {
|
|
27
|
+
setKeyDriverAnalysis: setKeyDriverAnalysisAction,
|
|
28
|
+
};
|
|
98
29
|
const mapStateToProps = (state) => {
|
|
99
30
|
const settings = settingsSelector(state);
|
|
100
31
|
return {
|
|
101
32
|
locale: settings?.locale,
|
|
102
33
|
format: settings?.responsiveUiDateFormat,
|
|
103
|
-
separators: settings?.separators,
|
|
104
34
|
};
|
|
105
35
|
};
|
|
106
|
-
export const ChangeAnalysisContentsComponent = connect(mapStateToProps,
|
|
36
|
+
export const ChangeAnalysisContentsComponent = connect(mapStateToProps, mapDispatchToProps)(ChangeAnalysisContentsComponentCore);
|
|
107
37
|
//# sourceMappingURL=ChangeAnalysisContentsComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChangeAnalysisContentsComponent.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/ChangeAnalysisContentsComponent.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ChangeAnalysisContentsComponent.js","sourceRoot":"","sources":["../../../../src/components/messages/contents/ChangeAnalysisContentsComponent.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAa,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAW/E,SAAS,mCAAmC,CAAC,EACzC,OAAO,EACP,MAAM,EACN,MAAM,EACN,oBAAoB,GACM;IAC1B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,EAAE,CAChB,mCAAmC,EACnC,mDAAmD,CACtD,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,mCAAmC,EAAE,CAAC,CAAC;IAEjF,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE1D,OAAO,CACH,eAAK,SAAS,EAAE,SAAS,aACrB,KAAC,gBAAgB,IACb,EAAE,EAAC,0CAA0C,EAC7C,MAAM,EAAE;oBACJ,KAAK;oBACL,KAAK;oBACL,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;wBACf,OAAO,CACH,eAAK,SAAS,EAAC,2DAA2D,aACtE,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAC,cAAc,GAAG,EAC5C,MAAM,IACL,CACT,CAAC;oBACN,CAAC;oBACD,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,2BAAS,MAAM,GAAU;iBAC3C,GACH,EACF,cAAK,SAAS,EAAC,2DAA2D,YACtE,KAAC,QAAQ,IACL,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,6CAA6C,EAAE,CAAC,EAChF,OAAO,EAAC,WAAW,EACnB,UAAU,EAAC,WAAW,EACtB,OAAO,EAAE,GAAG,EAAE;wBACV,oBAAoB,EAAE,CAAC,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;oBAC9D,CAAC,GACH,GACA,IACJ,CACT,CAAC;AACN,CAAC;AAED,MAAM,kBAAkB,GAAG;IACvB,oBAAoB,EAAE,0BAA0B;CACnD,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAgB,EAA0D,EAAE;IACjG,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACzC,OAAO;QACH,MAAM,EAAE,QAAQ,EAAE,MAAM;QACxB,MAAM,EAAE,QAAQ,EAAE,sBAAsB;KAC3C,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,OAAO,CAClD,eAAe,EACf,kBAAkB,CACrB,CAAC,mCAAmC,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IColorPalette } from "@gooddata/sdk-model";
|
|
2
2
|
import { VisualizationContents } from "../../../model.js";
|
|
3
|
+
import { setKeyDriverAnalysisAction } from "../../../store/index.js";
|
|
3
4
|
export type VisualizationContentsProps = {
|
|
4
5
|
content: VisualizationContents;
|
|
5
6
|
messageId: string;
|
|
@@ -12,8 +13,9 @@ export type VisualizationContentsProps = {
|
|
|
12
13
|
onCopyToClipboard?: (data: {
|
|
13
14
|
content: string;
|
|
14
15
|
}) => void;
|
|
16
|
+
setKeyDriverAnalysis?: typeof setKeyDriverAnalysisAction;
|
|
15
17
|
};
|
|
16
|
-
declare function VisualizationContentsComponentCore({ content, messageId, useMarkdown, colorPalette, enableNewPivotTable, enableAccessibleChartTooltip, agGridToken, showSuggestions, onCopyToClipboard, }: VisualizationContentsProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
declare function VisualizationContentsComponentCore({ content, messageId, useMarkdown, colorPalette, enableNewPivotTable, enableAccessibleChartTooltip, agGridToken, showSuggestions, onCopyToClipboard, setKeyDriverAnalysis, }: VisualizationContentsProps): import("react/jsx-runtime").JSX.Element;
|
|
17
19
|
export declare const VisualizationContentsComponent: import("react-redux").ConnectedComponent<typeof VisualizationContentsComponentCore, {
|
|
18
20
|
content: VisualizationContents;
|
|
19
21
|
messageId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisualizationContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationContents.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VisualizationContents.d.ts","sourceRoot":"","sources":["../../../../src/components/messages/contents/VisualizationContents.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAEH,aAAa,EAQhB,MAAM,qBAAqB,CAAC;AAkC7B,OAAO,EAAE,qBAAqB,EAAqC,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAMH,0BAA0B,EAG7B,MAAM,yBAAyB,CAAC;AAkBjC,MAAM,MAAM,0BAA0B,GAAG;IACrC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACxD,oBAAoB,CAAC,EAAE,OAAO,0BAA0B,CAAC;CAC5D,CAAC;AAEF,iBAAS,kCAAkC,CAAC,EACxC,OAAO,EACP,SAAS,EACT,WAAW,EACX,YAAY,EACZ,mBAA0B,EAC1B,4BAAoC,EACpC,WAAW,EACX,eAAuB,EACvB,iBAAiB,EACjB,oBAAoB,GACvB,EAAE,0BAA0B,2CAmkB5B;AAmRD,eAAO,MAAM,8BAA8B;aA72B9B,qBAAqB;eACnB,MAAM;kBACH,OAAO;sBACH,OAAO;;;EA62BQ,CAAC"}
|