@sisense/sdk-ui 2.25.0 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/ai.cjs +36 -36
  2. package/dist/ai.js +968 -989
  3. package/dist/analytics-composer/node.cjs +1 -1
  4. package/dist/analytics-composer/node.js +1010 -865
  5. package/dist/analytics-composer.cjs +1 -1
  6. package/dist/analytics-composer.js +6 -6
  7. package/dist/{apply-styled-options-to-query-BsBTwL6W.js → apply-styled-options-to-query-BzMAmDnD.js} +1471 -1433
  8. package/dist/apply-styled-options-to-query-k10gkPCG.cjs +1 -0
  9. package/dist/dimensions-C3WSSE5j.js +204 -0
  10. package/dist/dimensions-huCJK0y6.cjs +1 -0
  11. package/dist/index.cjs +422 -422
  12. package/dist/index.js +17880 -17278
  13. package/dist/index.umd.js +652 -663
  14. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/get-dashboard-model.d.ts +2 -1
  15. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/get-dashboard-models.d.ts +3 -1
  16. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/translate-dashboard-utils.d.ts +18 -4
  17. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/types.d.ts +19 -0
  18. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/persist-dashboard-model-middleware.d.ts +8 -1
  19. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/types.d.ts +12 -0
  20. package/dist/packages/sdk-ui/src/domains/dashboarding/dashboard-model/use-dashboard-model/dashboard-model-reducer/utils.d.ts +5 -2
  21. package/dist/packages/sdk-ui/src/domains/dashboarding/hooks/use-widget-scroll-persistence.d.ts +16 -0
  22. package/dist/packages/sdk-ui/src/domains/dashboarding/use-composed-dashboard.d.ts +2 -3
  23. package/dist/packages/sdk-ui/src/domains/data-browser/data-source-dimensional-model/hooks/use-get-data-source-dimensions.d.ts +10 -0
  24. package/dist/packages/sdk-ui/src/domains/data-browser/data-source-dimensional-model/hooks/use-get-data-source-fields.d.ts +2 -0
  25. package/dist/packages/sdk-ui/src/domains/drilldown/components/drilldown-widget/drilldown-widget.d.ts +2 -2
  26. package/dist/packages/sdk-ui/src/domains/drilldown/hooks/use-drilldown.d.ts +1 -1
  27. package/dist/packages/sdk-ui/src/domains/drilldown/hooks/use-hierarchies-loader.d.ts +17 -0
  28. package/dist/packages/sdk-ui/src/domains/filters/components/cascading-filter-tile/cascading-filter-tile.d.ts +2 -2
  29. package/dist/packages/sdk-ui/src/domains/filters/components/custom-filter-tile.d.ts +2 -2
  30. package/dist/packages/sdk-ui/src/domains/narrative/core/widget-narrative-options.d.ts +11 -3
  31. package/dist/packages/sdk-ui/src/domains/narrative/core/widget-props-to-narrative-params.d.ts +51 -1
  32. package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-get-widget-narrative.d.ts +3 -3
  33. package/dist/packages/sdk-ui/src/domains/narrative/hooks/use-widget-narrative-state.d.ts +2 -2
  34. package/dist/packages/sdk-ui/src/domains/query-execution/core/date-formats/simple-date-format-replacers.d.ts +13 -0
  35. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-pivot-query/use-execute-pivot-query.d.ts +2 -2
  36. package/dist/packages/sdk-ui/src/domains/query-execution/hooks/use-execute-query/use-execute-query.d.ts +2 -2
  37. package/dist/packages/sdk-ui/src/domains/visualizations/components/area-chart.d.ts +2 -2
  38. package/dist/packages/sdk-ui/src/domains/visualizations/components/areamap-chart.d.ts +2 -2
  39. package/dist/packages/sdk-ui/src/domains/visualizations/components/bar-chart.d.ts +2 -2
  40. package/dist/packages/sdk-ui/src/domains/visualizations/components/boxplot-chart/boxplot-chart.d.ts +2 -2
  41. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/chart.d.ts +2 -2
  42. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/components/scattermap/utils/map.d.ts +1 -1
  43. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/areamap-chart/data/areamap-data.d.ts +1 -1
  44. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/axis.d.ts +1 -1
  45. package/dist/packages/sdk-ui/src/domains/visualizations/components/chart/types.d.ts +3 -1
  46. package/dist/packages/sdk-ui/src/domains/visualizations/components/column-chart.d.ts +2 -2
  47. package/dist/packages/sdk-ui/src/domains/visualizations/components/funnel-chart.d.ts +2 -2
  48. package/dist/packages/sdk-ui/src/domains/visualizations/components/line-chart.d.ts +2 -2
  49. package/dist/packages/sdk-ui/src/domains/visualizations/components/pie-chart/pie-chart.d.ts +2 -2
  50. package/dist/packages/sdk-ui/src/domains/visualizations/components/pivot-table/sorting-utils.d.ts +4 -0
  51. package/dist/packages/sdk-ui/src/domains/visualizations/components/polar-chart.d.ts +2 -2
  52. package/dist/packages/sdk-ui/src/domains/visualizations/components/scatter-chart.d.ts +2 -2
  53. package/dist/packages/sdk-ui/src/domains/visualizations/components/scattermap-chart.d.ts +2 -2
  54. package/dist/packages/sdk-ui/src/domains/visualizations/components/sunburst-chart/sunburst-chart.d.ts +2 -2
  55. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/hooks/use-table-data.d.ts +3 -1
  56. package/dist/packages/sdk-ui/src/domains/visualizations/components/table/table.d.ts +2 -2
  57. package/dist/packages/sdk-ui/src/domains/visualizations/components/treemap-chart/treemap-chart.d.ts +2 -2
  58. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/translate-data-options.d.ts +13 -0
  59. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/types.d.ts +6 -6
  60. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-data-options/validate-data-options/validate-data-options.d.ts +9 -0
  61. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/apply-event-handlers.d.ts +2 -2
  62. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/cartesian/utils/axis/axis-builders.d.ts +6 -1
  63. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/cartesian/utils/series-processor.d.ts +1 -37
  64. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/chart-options-service.d.ts +3 -1
  65. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/plot-bands.d.ts +2 -1
  66. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/series-labels.d.ts +1 -1
  67. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/axis-section.d.ts +29 -1
  68. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/design-options.d.ts +1 -0
  69. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-levels.d.ts +2 -2
  70. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/sunburst/sunburst-options.d.ts +2 -2
  71. package/dist/packages/sdk-ui/src/domains/visualizations/core/chart-options-processor/translations/tooltip-utils.d.ts +1 -1
  72. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/compose-code-to-readable.d.ts +24 -4
  73. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/index.d.ts +3 -0
  74. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/query-definition-style-constants.d.ts +17 -0
  75. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/query-definition.d.ts +3 -3
  76. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/query-params-to-view-model.d.ts +8 -4
  77. package/dist/packages/sdk-ui/src/domains/visualizations/core/query-definition/query-pill.d.ts +6 -1
  78. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/use-with-pivot-table-widget-drilldown.d.ts +0 -1
  79. package/dist/packages/sdk-ui/src/domains/widgets/components/pivot-table-widget/utils.d.ts +0 -5
  80. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/apply-partial-dto-style.d.ts +18 -0
  81. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/extract-unsupported-style-options.d.ts +31 -0
  82. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/index.d.ts +2 -0
  83. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/translate-widget-style-options/to-widget-dto-style.d.ts +118 -2
  84. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/types.d.ts +19 -1
  85. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/use-scroller-location-save.d.ts +8 -0
  86. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/utils.d.ts +10 -1
  87. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/widget-by-id.d.ts +2 -2
  88. package/dist/packages/sdk-ui/src/domains/widgets/components/widget-by-id/with-navigator-scroll-save.d.ts +10 -0
  89. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/use-get-widget-model.d.ts +2 -2
  90. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model-translator/to-widget-dto-panels.d.ts +183 -0
  91. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model-translator/widget-model-translator.d.ts +45 -14
  92. package/dist/packages/sdk-ui/src/domains/widgets/widget-model/widget-model.d.ts +12 -0
  93. package/dist/packages/sdk-ui/src/infra/api/narrative/narrative-endpoints.d.ts +13 -7
  94. package/dist/packages/sdk-ui/src/infra/api/rest-api.d.ts +12 -1
  95. package/dist/packages/sdk-ui/src/infra/app/settings/settings.d.ts +49 -2
  96. package/dist/packages/sdk-ui/src/infra/app/settings/types/features.d.ts +2 -0
  97. package/dist/packages/sdk-ui/src/infra/app/types.d.ts +0 -1
  98. package/dist/packages/sdk-ui/src/infra/contexts/custom-widgets-provider/use-custom-widgets.d.ts +10 -3
  99. package/dist/packages/sdk-ui/src/infra/plugins/plugin-context.d.ts +2 -2
  100. package/dist/packages/sdk-ui/src/infra/plugins/types.d.ts +2 -2
  101. package/dist/packages/sdk-ui/src/infra/plugins/widget-plugins/types.d.ts +24 -10
  102. package/dist/packages/sdk-ui/src/infra/translation/resources/en.d.ts +1 -1
  103. package/dist/packages/sdk-ui/src/infra/translation/resources/index.d.ts +1 -1
  104. package/dist/packages/sdk-ui/src/modules/ai/api/chat-rest-api.d.ts +3 -4
  105. package/dist/packages/sdk-ui/src/modules/ai/index.d.ts +1 -0
  106. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/query/translate-query-from-json.d.ts +5 -5
  107. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/query/translate-query-to-jaql.d.ts +4 -4
  108. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/query/translate-query-to-json.d.ts +5 -5
  109. package/dist/packages/sdk-ui/src/modules/analytics-composer/nlq-v3-translator/types.d.ts +1 -1
  110. package/dist/packages/sdk-ui/src/props.d.ts +4 -4
  111. package/dist/packages/sdk-ui/src/public-api/alpha.d.ts +5 -0
  112. package/dist/packages/sdk-ui/src/public-api/internal.d.ts +13 -2
  113. package/dist/packages/sdk-ui/src/public-api/public.d.ts +22 -20
  114. package/dist/packages/sdk-ui/src/public-api/sisense-internal.d.ts +2 -2
  115. package/dist/packages/sdk-ui/src/shared/components/menu/context-menu/menu.d.ts +1 -1
  116. package/dist/packages/sdk-ui/src/shared/utils/filter-relations.d.ts +2 -0
  117. package/dist/packages/sdk-ui/src/types.d.ts +10 -10
  118. package/dist/{types-GFLaiax5.cjs → types-Cq47e5cy.cjs} +1 -1
  119. package/dist/{types-BBp2sp_s.js → types-CzqDZ83C.js} +1 -1
  120. package/dist/{use-hover-mptQLQ4S.js → use-hover-CkmV6eu9.js} +10368 -10193
  121. package/dist/{use-hover-DsnmY-p_.cjs → use-hover-D_mBUhp9.cjs} +114 -114
  122. package/dist/utils-DM5vp1gw.cjs +179 -0
  123. package/dist/{utils-DTUC-wtI.js → utils-Db3U6oHa.js} +8810 -8670
  124. package/dist/{widget-composer-D0BZrLna.js → widget-composer-BiGVKN49.js} +108 -108
  125. package/dist/{widget-composer-CDb2iOoS.cjs → widget-composer-CZ0_bPXK.cjs} +7 -7
  126. package/package.json +9 -8
  127. package/dist/apply-styled-options-to-query-mFJvsssw.cjs +0 -1
  128. package/dist/packages/sdk-ui/src/domains/drilldown/hooks/use-synced-drilldown-paths-manager.d.ts +0 -113
  129. package/dist/packages/sdk-ui/src/domains/widgets/components/table-widget/index.d.ts +0 -2
  130. package/dist/packages/sdk-ui/src/domains/widgets/components/table-widget/table-widget.d.ts +0 -22
  131. package/dist/packages/sdk-ui/src/domains/widgets/components/table-widget/types.d.ts +0 -61
  132. package/dist/parse-compose-code-DfZskSng.js +0 -352
  133. package/dist/parse-compose-code-v4J9BrUg.cjs +0 -1
  134. package/dist/utils-BlNqPAG8.cjs +0 -190
@@ -1,27 +1,27 @@
1
1
  var le = Object.defineProperty, de = Object.defineProperties;
2
2
  var ce = Object.getOwnPropertyDescriptors;
3
- var D = Object.getOwnPropertySymbols;
4
- var $ = Object.prototype.hasOwnProperty, k = Object.prototype.propertyIsEnumerable;
5
- var N = (e, t, r) => t in e ? le(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, o = (e, t) => {
3
+ var L = Object.getOwnPropertySymbols;
4
+ var q = Object.prototype.hasOwnProperty, B = Object.prototype.propertyIsEnumerable;
5
+ var k = (e, t, r) => t in e ? le(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, o = (e, t) => {
6
6
  for (var r in t || (t = {}))
7
- $.call(t, r) && N(e, r, t[r]);
8
- if (D)
9
- for (var r of D(t))
10
- k.call(t, r) && N(e, r, t[r]);
7
+ q.call(t, r) && k(e, r, t[r]);
8
+ if (L)
9
+ for (var r of L(t))
10
+ B.call(t, r) && k(e, r, t[r]);
11
11
  return e;
12
12
  }, p = (e, t) => de(e, ce(t));
13
- var q = (e, t) => {
13
+ var R = (e, t) => {
14
14
  var r = {};
15
15
  for (var i in e)
16
- $.call(e, i) && t.indexOf(i) < 0 && (r[i] = e[i]);
17
- if (e != null && D)
18
- for (var i of D(e))
19
- t.indexOf(i) < 0 && k.call(e, i) && (r[i] = e[i]);
16
+ q.call(e, i) && t.indexOf(i) < 0 && (r[i] = e[i]);
17
+ if (e != null && L)
18
+ for (var i of L(e))
19
+ t.indexOf(i) < 0 && B.call(e, i) && (r[i] = e[i]);
20
20
  return r;
21
21
  };
22
- import { J as ue, c as Z, i as pe } from "./types-BBp2sp_s.js";
23
- import { C as me, i as ge, a as fe, b as ye, n as _, m as w, g as B } from "./utils-DTUC-wtI.js";
24
- import { T as b, A as Se, n as he, k as G, l as Oe, m as l, o as be, q as T, D as Te, r as W, s as X, t as ve, u as Ee, v as xe } from "./apply-styled-options-to-query-BsBTwL6W.js";
22
+ import { J as ue, c as X, i as pe } from "./types-CzqDZ83C.js";
23
+ import { C as me, i as ge, a as fe, b as ye, n as P, m as A, g as j } from "./utils-Db3U6oHa.js";
24
+ import { T as b, A as Se, n as he, k as ee, l as Oe, m as l, o as be, q as T, D as Te, r as N, s as te, t as ve, u as Ee, v as xe } from "./apply-styled-options-to-query-BzMAmDnD.js";
25
25
  function Ce(e) {
26
26
  return e.replace(/\s+/g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
27
27
  }
@@ -44,7 +44,7 @@ function Wt(e) {
44
44
  function De(e) {
45
45
  return !e || !e.jaql.datasource.title || !e.jaql.metadata.length;
46
46
  }
47
- function ee(e) {
47
+ function re(e) {
48
48
  if (![...Se, "pivot", "pivot2"].includes(e))
49
49
  throw new b("errors.chartTypeNotSupported", { chartType: e });
50
50
  }
@@ -55,7 +55,7 @@ function h(e) {
55
55
  var t;
56
56
  return "column" in e && ((t = e.column) == null ? void 0 : t.expression) && /\(.*\)/.test(e.column.expression);
57
57
  }
58
- function R(e) {
58
+ function Q(e) {
59
59
  const t = "measures" in e && m(e.measures) || "values" in e && m(e.values);
60
60
  return we(e) ? "values" in e.dataOptions && m(e.dataOptions.values) : "chartType" in e ? e.chartType === "indicator" ? "value" in e.dataOptions && m(e.dataOptions.value) || "secondary" in e.dataOptions && m(e.dataOptions.secondary) : e.chartType === "table" ? !("columns" in e.dataOptions) || !m(e.dataOptions.columns) ? !1 : e.dataOptions.columns.some((i) => h(i)) : e.chartType === "boxplot" ? !1 : e.chartType === "scatter" ? "x" in e.dataOptions && e.dataOptions.x !== void 0 && h(e.dataOptions.x) || "y" in e.dataOptions && e.dataOptions.y !== void 0 && h(e.dataOptions.y) || "size" in e.dataOptions && e.dataOptions.size !== void 0 : e.chartType === "scattermap" ? "colorBy" in e.dataOptions && e.dataOptions.colorBy !== void 0 && h(e.dataOptions.colorBy) || "details" in e.dataOptions && e.dataOptions.details !== void 0 && h(e.dataOptions.details) || "size" in e.dataOptions && e.dataOptions.size !== void 0 && h(e.dataOptions.size) : e.chartType === "areamap" ? "geo" in e.dataOptions && m(e.dataOptions.geo) && "color" in e.dataOptions && m(e.dataOptions.color) : "value" in e.dataOptions && m(e.dataOptions.value) : t;
61
61
  }
@@ -553,13 +553,13 @@ const config = {{configString}};
553
553
  function _e(e) {
554
554
  return e.replace(/\[\[([^\]]+)\]\]/g, (t, r) => he(r));
555
555
  }
556
- const te = (e, t) => Ie[t][e].replace(
556
+ const ie = (e, t) => Ie[t][e].replace(
557
557
  /{{(.*?)Tmpl}}/g,
558
- (i, a) => te(`${a}Tmpl`, t)
559
- ), Me = (e, t) => e.replace(/{{(.*?)}}/g, (r, i) => i in t ? t[i] : (console.warn(`Placeholder ${i} not found in data`), r)), M = (e, t, r = "react") => {
560
- const i = te(e, r), a = Me(i, t);
558
+ (i, a) => ie(`${a}Tmpl`, t)
559
+ ), Me = (e, t) => e.replace(/{{(.*?)}}/g, (r, i) => i in t ? t[i] : (console.warn(`Placeholder ${i} not found in data`), r)), W = (e, t, r = "react") => {
560
+ const i = ie(e, r), a = Me(i, t);
561
561
  return Le(_e(a));
562
- }, Pe = () => Object.values(Oe).map((t) => G.aggregationToJAQL(t)).join("|"), re = (e) => {
562
+ }, Pe = () => Object.values(Oe).map((t) => ee.aggregationToJAQL(t)).join("|"), ae = (e) => {
563
563
  const { formula: t, context: r, filter: i } = e;
564
564
  if (!r || !t)
565
565
  return e;
@@ -582,12 +582,12 @@ const te = (e, t) => Ie[t][e].replace(
582
582
  }, i ? { filter: o({}, i) } : {});
583
583
  }
584
584
  return e;
585
- }, A = (e) => {
585
+ }, _ = (e) => {
586
586
  let t = e;
587
- if ("formula" in e && (t = re(e)), "context" in t) {
587
+ if ("formula" in e && (t = ae(e)), "context" in t) {
588
588
  const r = o({}, t.context);
589
589
  Object.keys(r).forEach((i) => {
590
- r[`${i}`] = A(r[`${i}`]);
590
+ r[`${i}`] = _(r[`${i}`]);
591
591
  }), t.context = r;
592
592
  }
593
593
  return t;
@@ -596,15 +596,15 @@ const te = (e, t) => Ie[t][e].replace(
596
596
  const t = e;
597
597
  if (t.panel !== "scope") return t;
598
598
  const { jaql: r } = t;
599
- return (i = r.filter) != null && i.by && (r.filter.by = re(r.filter.by)), p(o({}, t), { jaql: r });
599
+ return (i = r.filter) != null && i.by && (r.filter.by = ae(r.filter.by)), p(o({}, t), { jaql: r });
600
600
  }, Fe = (e) => {
601
601
  let t = e;
602
602
  t = We(t);
603
603
  const { jaql: r, measure: i, by: a } = t;
604
604
  return o(o(p(o({}, t), {
605
- jaql: A(r)
606
- }), a ? { by: A(a) } : {}), i ? { measure: A(i) } : {});
607
- }, I = 6;
605
+ jaql: _(r)
606
+ }), a ? { by: _(a) } : {}), i ? { measure: _(i) } : {});
607
+ }, M = 6;
608
608
  function Ne(e) {
609
609
  switch (e) {
610
610
  case "line":
@@ -1040,17 +1040,17 @@ function tt(e) {
1040
1040
  return {};
1041
1041
  }
1042
1042
  }
1043
- const L = `
1044
- `, P = "UNKNOWN", rt = (e, t) => {
1043
+ const I = `
1044
+ `, F = "UNKNOWN", rt = (e, t) => {
1045
1045
  let r = "";
1046
1046
  return r += `measureFactory.customFormula(
1047
1047
  `, r += " ".repeat(t), r += ` '${T(e.title)}',
1048
1048
  `, r += " ".repeat(t), r += ` '${e.formula}',
1049
1049
  `, r += " ".repeat(t), r += ` {
1050
1050
  `, Object.entries(e.context).forEach(([i, a]) => {
1051
- const n = X(
1052
- a.table || P,
1053
- a.column || P,
1051
+ const n = te(
1052
+ a.table || F,
1053
+ a.column || F,
1054
1054
  void 0,
1055
1055
  "DM"
1056
1056
  );
@@ -1061,9 +1061,9 @@ const L = `
1061
1061
  }, it = (e) => {
1062
1062
  const { level: t, table: r, column: i, agg: a, title: n } = e;
1063
1063
  let s;
1064
- return r && i && (s = X(r, i, t, "DM")), a && r && i && n && (s = `measureFactory.${G.aggregationFromJAQL(
1064
+ return r && i && (s = te(r, i, t, "DM")), a && r && i && n && (s = `measureFactory.${ee.aggregationFromJAQL(
1065
1065
  a
1066
- )}(${s}, '${T(n)}')`), s || P;
1066
+ )}(${s}, '${T(n)}')`), s || F;
1067
1067
  }, at = (e, t) => {
1068
1068
  const r = e.jaql(!1).jaql;
1069
1069
  return "formula" in r ? rt(r, t) : it(r);
@@ -1077,24 +1077,24 @@ const L = `
1077
1077
  if (e instanceof Te)
1078
1078
  return e.composeCode || "";
1079
1079
  let i = "";
1080
- return Array.isArray(e) ? i += `[${e.map((a) => g(a, t + 2))}${e.length ? L + " ".repeat(t + 2) : ""}]` : (i += `{${L}`, Object.entries(e).forEach(([a, n]) => {
1080
+ return Array.isArray(e) ? i += `[${e.map((a) => g(a, t + 2))}${e.length ? I + " ".repeat(t + 2) : ""}]` : (i += `{${I}`, Object.entries(e).forEach(([a, n]) => {
1081
1081
  if (r && typeof a == "string" && (a = `'${T(a)}'`), i += " ".repeat(t + 2), Array.isArray(n))
1082
- i += `${a}: [${n.map((s) => g(s, t + 4, r))}${n.length ? L + " ".repeat(t + 2) : ""}]`;
1082
+ i += `${a}: [${n.map((s) => g(s, t + 4, r))}${n.length ? I + " ".repeat(t + 2) : ""}]`;
1083
1083
  else if (typeof n == "object" && n !== null) {
1084
1084
  const s = Array.isArray(n) ? n : Ae(n);
1085
1085
  i += `${a}: ${g(s, t + 2, r)}`;
1086
1086
  } else ["number", "boolean", "undefined"].includes(typeof n) || n === null ? i += `${a}: ${n}` : typeof n == "string" ? i += `${a}: '${T(n)}'` : i += `${a}: ${n}`;
1087
- i += `,${L}`;
1087
+ i += `,${I}`;
1088
1088
  }), i += " ".repeat(t), i += "}"), i;
1089
1089
  };
1090
- function F(e, t) {
1090
+ function $(e, t) {
1091
1091
  if (t === void 0 || t && typeof t == "object" && !Array.isArray(t) && Object.keys(t).length === 0)
1092
1092
  return e;
1093
- if (!W(e, t)) {
1093
+ if (!N(e, t)) {
1094
1094
  if (e && typeof e == "object" && !Array.isArray(e)) {
1095
1095
  const r = {};
1096
1096
  for (const i of Object.keys(e)) {
1097
- const a = F(e[i], t == null ? void 0 : t[i]), n = t && Object.prototype.hasOwnProperty.call(t, i), s = n ? t[i] : void 0;
1097
+ const a = $(e[i], t == null ? void 0 : t[i]), n = t && Object.prototype.hasOwnProperty.call(t, i), s = n ? t[i] : void 0;
1098
1098
  (a !== void 0 || !n || e[i] === void 0 && s !== void 0) && (r[i] = a);
1099
1099
  }
1100
1100
  return Object.keys(r).length ? r : void 0;
@@ -1102,41 +1102,41 @@ function F(e, t) {
1102
1102
  return e;
1103
1103
  }
1104
1104
  }
1105
- function j(e, t) {
1105
+ function U(e, t) {
1106
1106
  if (!e || Object.keys(e).length === 0)
1107
1107
  return {};
1108
1108
  const r = tt(t);
1109
- if (W(e, r))
1109
+ if (N(e, r))
1110
1110
  return {};
1111
- const i = F(e, r);
1111
+ const i = $(e, r);
1112
1112
  return i != null ? i : {};
1113
1113
  }
1114
- function Q(e, t) {
1114
+ function z(e, t) {
1115
1115
  const r = Ne(t);
1116
- if (W(e, r))
1116
+ if (N(e, r))
1117
1117
  return e;
1118
- const i = F(e, r);
1118
+ const i = $(e, r);
1119
1119
  return i != null ? i : {};
1120
1120
  }
1121
1121
  function nt(e) {
1122
- return g(e, I);
1122
+ return g(e, M);
1123
1123
  }
1124
- function U(e, t = "data-source-placeholder") {
1124
+ function Y(e, t = "data-source-placeholder") {
1125
1125
  if (!e)
1126
1126
  return t;
1127
1127
  const r = typeof e == "object" && "title" in e ? e.title : e;
1128
1128
  return Ce(r);
1129
1129
  }
1130
- function z(e, t = !0) {
1130
+ function J(e, t = !0) {
1131
1131
  const r = [];
1132
1132
  return t && r.push("measureFactory"), m(e) && r.push("filterFactory"), r.length > 0 ? `import { ${r.join(", ")} } from '@sisense/sdk-data';` : "";
1133
1133
  }
1134
- const Y = `
1134
+ const K = `
1135
1135
  `, st = (e, t) => {
1136
1136
  if (e.composeCode)
1137
- return `${Y}${" ".repeat(t)}${e.composeCode}`;
1137
+ return `${K}${" ".repeat(t)}${e.composeCode}`;
1138
1138
  const r = e.jaql().jaql;
1139
- return `${Y}${" ".repeat(t)}filterFactory.customFilter(${g(
1139
+ return `${K}${" ".repeat(t)}filterFactory.customFilter(${g(
1140
1140
  r,
1141
1141
  t,
1142
1142
  !0
@@ -1147,60 +1147,60 @@ const Y = `
1147
1147
  let r = "";
1148
1148
  return r += `[${e.map((i) => st(i, t + 2))}${e.length ? `
1149
1149
  ` + " ".repeat(t + 2) : ""}]`, r;
1150
- }, J = (e) => e ? Array.isArray(e) ? ot(e, 6) : "/** Filter relations not supported yet */" : "[]", lt = ["executeQueryByWidgetIdTmpl", "widgetByIdTmpl"], dt = "chartWidgetTmpl", ct = "pivotTableWidgetTmpl", ut = (e) => e, pt = ({
1150
+ }, V = (e) => e ? Array.isArray(e) ? ot(e, 6) : "/** Filter relations not supported yet */" : "[]", lt = ["executeQueryByWidgetIdTmpl", "widgetByIdTmpl"], dt = "chartWidgetTmpl", ct = "pivotTableWidgetTmpl", ut = (e) => e, pt = ({
1151
1151
  dashboardOid: e,
1152
1152
  widgetOid: t,
1153
1153
  uiFramework: r = "react",
1154
1154
  chartType: i = "table",
1155
1155
  includeChart: a = !0
1156
1156
  }) => {
1157
- ee(i);
1157
+ re(i);
1158
1158
  const n = { dashboardOid: e, widgetOid: t }, s = lt[Number(a)];
1159
- return M(s, n, r);
1159
+ return W(s, n, r);
1160
1160
  }, mt = (e, t, r, i) => {
1161
1161
  if (ge(e)) {
1162
- ee(e.chartType);
1163
- const a = R(e), n = {
1162
+ re(e.chartType);
1163
+ const a = Q(e), n = {
1164
1164
  idString: e.id,
1165
1165
  widgetTypeString: "chart",
1166
1166
  titleString: e.title,
1167
- dataSourceString: U(e.dataSource),
1167
+ dataSourceString: Y(e.dataSource),
1168
1168
  chartTypeString: ut(e.chartType),
1169
1169
  dataOptionsString: nt(
1170
- i ? Q(e.dataOptions, e.chartType) : e.dataOptions
1170
+ i ? z(e.dataOptions, e.chartType) : e.dataOptions
1171
1171
  ),
1172
- filtersString: J(e.filters),
1172
+ filtersString: V(e.filters),
1173
1173
  componentString: "ChartWidget",
1174
- extraImportsString: z(e.filters || [], a),
1174
+ extraImportsString: J(e.filters || [], a),
1175
1175
  styleOptionsString: g(
1176
- i ? j(e.styleOptions || {}, e.chartType) : e.styleOptions || {},
1177
- I
1176
+ i ? U(e.styleOptions || {}, e.chartType) : e.styleOptions || {},
1177
+ M
1178
1178
  ),
1179
1179
  drilldownOptionsString: g(
1180
1180
  e.drilldownOptions || {},
1181
- I
1181
+ M
1182
1182
  )
1183
1183
  };
1184
- return M(r.chart, n, t);
1184
+ return W(r.chart, n, t);
1185
1185
  }
1186
1186
  if (fe(e)) {
1187
- const a = R(e), n = {
1187
+ const a = Q(e), n = {
1188
1188
  idString: e.id,
1189
1189
  widgetTypeString: "pivot",
1190
1190
  titleString: e.title,
1191
- dataSourceString: U(e.dataSource),
1191
+ dataSourceString: Y(e.dataSource),
1192
1192
  dataOptionsString: g(
1193
- i ? Q(e.dataOptions, e.widgetType) : e.dataOptions
1193
+ i ? z(e.dataOptions, e.widgetType) : e.dataOptions
1194
1194
  ),
1195
- filtersString: J(e.filters),
1195
+ filtersString: V(e.filters),
1196
1196
  componentString: "PivotTableWidget",
1197
- extraImportsString: z(e.filters || [], a),
1197
+ extraImportsString: J(e.filters || [], a),
1198
1198
  styleOptionsString: g(
1199
- i ? j(e.styleOptions || {}, e.widgetType) : e.styleOptions || {},
1200
- I
1199
+ i ? U(e.styleOptions || {}, e.widgetType) : e.styleOptions || {},
1200
+ M
1201
1201
  )
1202
1202
  };
1203
- return M(r.pivot, n, t);
1203
+ return W(r.pivot, n, t);
1204
1204
  }
1205
1205
  if (ye(e))
1206
1206
  return "/** Custom widget code not supported yet */";
@@ -1222,7 +1222,7 @@ const yt = (e) => {
1222
1222
  const i = r.jaql.filter;
1223
1223
  if (!(r.panel === "scope" && ft(i) && i.by === void 0))
1224
1224
  return r;
1225
- const c = r.jaql, { type: n, context: s, formula: u, filter: d } = c, f = q(c, ["type", "context", "formula", "filter"]);
1225
+ const c = r.jaql, { type: n, context: s, formula: u, filter: d } = c, f = R(c, ["type", "context", "formula", "filter"]);
1226
1226
  return p(o({}, r), {
1227
1227
  jaql: o({
1228
1228
  // Copy dimension properties from rows dimension
@@ -1246,7 +1246,7 @@ const yt = (e) => {
1246
1246
  chartFamily: "table",
1247
1247
  axesMapping: {}
1248
1248
  }, St = (e) => ({
1249
- dataOptions: { columns: e.map(Z) }
1249
+ dataOptions: { columns: e.map(X) }
1250
1250
  }), ht = Object.freeze({
1251
1251
  convolution: {
1252
1252
  enabled: !0,
@@ -1266,7 +1266,7 @@ const yt = (e) => {
1266
1266
  xAxis: {
1267
1267
  gridLines: !1
1268
1268
  }
1269
- }), K = Object.freeze({
1269
+ }), H = Object.freeze({
1270
1270
  line: "line/spline",
1271
1271
  pie: "pie/donut",
1272
1272
  bar: "bar/stacked",
@@ -1276,21 +1276,21 @@ const yt = (e) => {
1276
1276
  const [u, d] = s;
1277
1277
  return n[`${u}`] = Array.isArray(d) ? d.map((f) => {
1278
1278
  var v, E;
1279
- const c = _(f);
1279
+ const c = P(f);
1280
1280
  delete c.enabled;
1281
1281
  const y = i[c.column.name];
1282
1282
  if (!y) return { column: { type: "", name: c.column.name } };
1283
- const S = Z(y);
1283
+ const S = X(y);
1284
1284
  if (y.panel === "measures")
1285
1285
  return p(o({}, c), {
1286
1286
  column: S
1287
1287
  });
1288
1288
  if (ve(S.type)) {
1289
- const x = (E = (v = y.format) == null ? void 0 : v.mask) == null ? void 0 : E[y.jaql.level];
1290
- if (x)
1289
+ const x = y.jaql, C = x.dateTimeLevel || x.level, D = C ? (E = (v = y.format) == null ? void 0 : v.mask) == null ? void 0 : E[C] : void 0;
1290
+ if (D)
1291
1291
  return p(o({}, c), {
1292
1292
  column: S,
1293
- dateFormat: x
1293
+ dateFormat: D
1294
1294
  });
1295
1295
  }
1296
1296
  return p(o({}, c), { column: S });
@@ -1324,18 +1324,18 @@ const yt = (e) => {
1324
1324
  default:
1325
1325
  return a;
1326
1326
  }
1327
- }, V = (e, t) => {
1327
+ }, Z = (e, t) => {
1328
1328
  var r, i, a, n;
1329
- return t === "x" ? (i = (r = e.category) != null ? r : e.x) == null ? void 0 : i.map((s) => _(s).column.name).join(", ") : (n = (a = e.value) != null ? a : e.y) == null ? void 0 : n.map((s) => _(s).column.name).join(", ");
1330
- }, H = (e, t) => {
1329
+ return t === "x" ? (i = (r = e.category) != null ? r : e.x) == null ? void 0 : i.map((s) => P(s).column.name).join(", ") : (n = (a = e.value) != null ? a : e.y) == null ? void 0 : n.map((s) => P(s).column.name).join(", ");
1330
+ }, G = (e, t) => {
1331
1331
  var r;
1332
- return (r = e[t]) == null ? void 0 : r.map((i) => _(i).column.name).join(", ");
1332
+ return (r = e[t]) == null ? void 0 : r.map((i) => P(i).column.name).join(", ");
1333
1333
  }, bt = (e, t, r, i) => {
1334
1334
  let a;
1335
- if (i && e in K)
1336
- a = w(
1337
- w(ht, {
1338
- subtype: K[`${e}`]
1335
+ if (i && e in H)
1336
+ a = A(
1337
+ A(ht, {
1338
+ subtype: H[`${e}`]
1339
1339
  }),
1340
1340
  {
1341
1341
  legend: {
@@ -1345,13 +1345,13 @@ const yt = (e) => {
1345
1345
  yAxis: {
1346
1346
  title: {
1347
1347
  enabled: !0,
1348
- text: V(t, "y")
1348
+ text: Z(t, "y")
1349
1349
  }
1350
1350
  },
1351
1351
  xAxis: {
1352
1352
  title: {
1353
1353
  enabled: !0,
1354
- text: V(t, "x")
1354
+ text: Z(t, "x")
1355
1355
  }
1356
1356
  }
1357
1357
  },
@@ -1362,19 +1362,19 @@ const yt = (e) => {
1362
1362
  indicatorComponents: {
1363
1363
  title: {
1364
1364
  shouldBeShown: !0,
1365
- text: H(t, "value")
1365
+ text: G(t, "value")
1366
1366
  }
1367
1367
  }
1368
- }, s = H(t, "secondary");
1368
+ }, s = G(t, "secondary");
1369
1369
  s && (n != null && n.indicatorComponents) && (n.indicatorComponents.secondaryTitle = {
1370
1370
  text: s
1371
- }), a = w(
1372
- B(),
1371
+ }), a = A(
1372
+ j(),
1373
1373
  n,
1374
1374
  r
1375
1375
  );
1376
1376
  } else
1377
- a = w(B(), r);
1377
+ a = A(j(), r);
1378
1378
  return a;
1379
1379
  }, Tt = (e, t, r = !0) => {
1380
1380
  const {
@@ -1408,8 +1408,8 @@ const yt = (e) => {
1408
1408
  ), Ct = (e, t) => {
1409
1409
  if (!De(e))
1410
1410
  try {
1411
- const { useCustomizedStyleOptions: r = !1 } = t || {}, { jaql: i, chartRecommendations: a, queryTitle: n } = e, { metadata: s, datasource: u } = i, d = p(o({}, u), { type: u.type || "elasticube" }), f = xe(d), y = yt(s).map((C) => Fe(C)).map((C) => p(o({}, C), {
1412
- jaql: p(o({}, C.jaql), {
1411
+ const { useCustomizedStyleOptions: r = !1 } = t || {}, { jaql: i, chartRecommendations: a, queryTitle: n } = e, { metadata: s, datasource: u } = i, d = p(o({}, u), { type: u.type || "elasticube" }), f = xe(d), y = yt(s).map((w) => Fe(w)).map((w) => p(o({}, w), {
1412
+ jaql: p(o({}, w.jaql), {
1413
1413
  datasource: f
1414
1414
  })
1415
1415
  })), S = vt(a), v = S.chartType.toLowerCase(), E = {
@@ -1418,7 +1418,7 @@ const yt = (e) => {
1418
1418
  // remove info button and render empty toolbar instead
1419
1419
  renderToolbar: () => null
1420
1420
  }
1421
- }, { metadataColumns: x, metadataFilters: ie } = xt(y), ae = Et(ie), { dataOptions: ne, chartStyleOptions: se } = Tt(
1421
+ }, { metadataColumns: x, metadataFilters: C } = xt(y), D = Et(C), { dataOptions: ne, chartStyleOptions: se } = Tt(
1422
1422
  x,
1423
1423
  S,
1424
1424
  r
@@ -1430,7 +1430,7 @@ const yt = (e) => {
1430
1430
  chartType: v,
1431
1431
  dataSource: d,
1432
1432
  dataOptions: ne,
1433
- filters: ae,
1433
+ filters: D,
1434
1434
  styleOptions: oe
1435
1435
  };
1436
1436
  } catch (r) {
@@ -1443,15 +1443,15 @@ const yt = (e) => {
1443
1443
  toWidgetProps: Dt
1444
1444
  }, Symbol.toStringTag, { value: "Module" }));
1445
1445
  export {
1446
- I as C,
1446
+ M as C,
1447
1447
  g as a,
1448
- M as b,
1448
+ W as b,
1449
1449
  Mt as c,
1450
- R as d,
1451
- U as e,
1452
- J as f,
1450
+ Q as d,
1451
+ Y as e,
1452
+ V as f,
1453
1453
  mt as g,
1454
- z as h,
1454
+ J as h,
1455
1455
  Fe as i,
1456
1456
  Ft as j,
1457
1457
  Ot as k,
@@ -1,4 +1,4 @@
1
- "use strict";var le=Object.defineProperty,de=Object.defineProperties;var ce=Object.getOwnPropertyDescriptors;var C=Object.getOwnPropertySymbols;var q=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable;var $=(e,t,r)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l=(e,t)=>{for(var r in t||(t={}))q.call(t,r)&&$(e,r,t[r]);if(C)for(var r of C(t))k.call(t,r)&&$(e,r,t[r]);return e},m=(e,t)=>de(e,ce(t));var B=(e,t)=>{var r={};for(var i in e)q.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&C)for(var i of C(e))t.indexOf(i)<0&&k.call(e,i)&&(r[i]=e[i]);return r};const A=require("./types-GFLaiax5.cjs"),d=require("./utils-BlNqPAG8.cjs"),s=require("./apply-styled-options-to-query-mFJvsssw.cjs");function ue(e){return e.replace(/\s+/g,"-").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function pe(e){return e.charAt(0).toUpperCase()+e.slice(1)}function me(e){const t=/\[(.+?)\s\(Calendar\)\]/;return e.replace(t,"[$1]").trim()}function ge(e){if(e)if(e.metadata){if(!e.model)throw new s.TranslatableError("errors.missingModelTitle")}else throw new s.TranslatableError("errors.missingMetadata");else throw new s.TranslatableError("errors.emptyModel");return e}function fe(e){return!e||!e.jaql.datasource.title||!e.jaql.metadata.length}function J(e){if(![...s.ALL_CHART_TYPES,"pivot","pivot2"].includes(e))throw new s.TranslatableError("errors.chartTypeNotSupported",{chartType:e})}function ye(e){return"widgetType"in e&&e.widgetType==="pivot"}function h(e){var t;return"column"in e&&((t=e.column)==null?void 0:t.expression)&&/\(.*\)/.test(e.column.expression)}function _(e){const t="measures"in e&&g(e.measures)||"values"in e&&g(e.values);return ye(e)?"values"in e.dataOptions&&g(e.dataOptions.values):"chartType"in e?e.chartType==="indicator"?"value"in e.dataOptions&&g(e.dataOptions.value)||"secondary"in e.dataOptions&&g(e.dataOptions.secondary):e.chartType==="table"?!("columns"in e.dataOptions)||!g(e.dataOptions.columns)?!1:e.dataOptions.columns.some(i=>h(i)):e.chartType==="boxplot"?!1:e.chartType==="scatter"?"x"in e.dataOptions&&e.dataOptions.x!==void 0&&h(e.dataOptions.x)||"y"in e.dataOptions&&e.dataOptions.y!==void 0&&h(e.dataOptions.y)||"size"in e.dataOptions&&e.dataOptions.size!==void 0:e.chartType==="scattermap"?"colorBy"in e.dataOptions&&e.dataOptions.colorBy!==void 0&&h(e.dataOptions.colorBy)||"details"in e.dataOptions&&e.dataOptions.details!==void 0&&h(e.dataOptions.details)||"size"in e.dataOptions&&e.dataOptions.size!==void 0&&h(e.dataOptions.size):e.chartType==="areamap"?"geo"in e.dataOptions&&g(e.dataOptions.geo)&&"color"in e.dataOptions&&g(e.dataOptions.color):"value"in e.dataOptions&&g(e.dataOptions.value):t}function g(e){return Array.isArray(e)&&e.length>0}function Se(e){const t=e.split(`
1
+ "use strict";var le=Object.defineProperty,de=Object.defineProperties;var ce=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var B=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable;var k=(e,t,r)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l=(e,t)=>{for(var r in t||(t={}))B.call(t,r)&&k(e,r,t[r]);if(L)for(var r of L(t))R.call(t,r)&&k(e,r,t[r]);return e},m=(e,t)=>de(e,ce(t));var Q=(e,t)=>{var r={};for(var i in e)B.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(e!=null&&L)for(var i of L(e))t.indexOf(i)<0&&R.call(e,i)&&(r[i]=e[i]);return r};const M=require("./types-Cq47e5cy.cjs"),d=require("./utils-DM5vp1gw.cjs"),s=require("./apply-styled-options-to-query-k10gkPCG.cjs");function ue(e){return e.replace(/\s+/g,"-").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function pe(e){return e.charAt(0).toUpperCase()+e.slice(1)}function me(e){const t=/\[(.+?)\s\(Calendar\)\]/;return e.replace(t,"[$1]").trim()}function ge(e){if(e)if(e.metadata){if(!e.model)throw new s.TranslatableError("errors.missingModelTitle")}else throw new s.TranslatableError("errors.missingMetadata");else throw new s.TranslatableError("errors.emptyModel");return e}function fe(e){return!e||!e.jaql.datasource.title||!e.jaql.metadata.length}function V(e){if(![...s.ALL_CHART_TYPES,"pivot","pivot2"].includes(e))throw new s.TranslatableError("errors.chartTypeNotSupported",{chartType:e})}function ye(e){return"widgetType"in e&&e.widgetType==="pivot"}function h(e){var t;return"column"in e&&((t=e.column)==null?void 0:t.expression)&&/\(.*\)/.test(e.column.expression)}function P(e){const t="measures"in e&&g(e.measures)||"values"in e&&g(e.values);return ye(e)?"values"in e.dataOptions&&g(e.dataOptions.values):"chartType"in e?e.chartType==="indicator"?"value"in e.dataOptions&&g(e.dataOptions.value)||"secondary"in e.dataOptions&&g(e.dataOptions.secondary):e.chartType==="table"?!("columns"in e.dataOptions)||!g(e.dataOptions.columns)?!1:e.dataOptions.columns.some(i=>h(i)):e.chartType==="boxplot"?!1:e.chartType==="scatter"?"x"in e.dataOptions&&e.dataOptions.x!==void 0&&h(e.dataOptions.x)||"y"in e.dataOptions&&e.dataOptions.y!==void 0&&h(e.dataOptions.y)||"size"in e.dataOptions&&e.dataOptions.size!==void 0:e.chartType==="scattermap"?"colorBy"in e.dataOptions&&e.dataOptions.colorBy!==void 0&&h(e.dataOptions.colorBy)||"details"in e.dataOptions&&e.dataOptions.details!==void 0&&h(e.dataOptions.details)||"size"in e.dataOptions&&e.dataOptions.size!==void 0&&h(e.dataOptions.size):e.chartType==="areamap"?"geo"in e.dataOptions&&g(e.dataOptions.geo)&&"color"in e.dataOptions&&g(e.dataOptions.color):"value"in e.dataOptions&&g(e.dataOptions.value):t}function g(e){return Array.isArray(e)&&e.length>0}function Se(e){const t=e.split(`
2
2
  `);for(let r=0;r<t.length-1;r++)if(t[r].trim()===""){const i=t[r+1].trim();if(i.startsWith("import *")||i.startsWith("import {")){t.splice(r,1);break}}return t.join(`
3
3
  `)}function Oe(e){const t=i=>/^[$A-Z_][0-9A-Z_$]*$/i.test(i);if("composeCode"in e)return e;const r={};for(const[i,a]of Object.entries(e)){const n=t(i)?i:`"${i}"`;r[n]=a}return r}const he={react:{baseChartTmpl:`import { {{componentString}} } from '@sisense/sdk-ui';
4
4
  {{extraImportsString}}
@@ -419,13 +419,13 @@ const config = {{configString}};
419
419
 
420
420
  <template>
421
421
  <DashboardById :dashboardOid="'{{dashboardOid}}'" :config="config" />
422
- </template>`,dashboardTmpl:"/** COMING SOON */"}};function be(e){return e.replace(/\[\[([^\]]+)\]\]/g,(t,r)=>s.normalizeName(r))}const K=(e,t)=>he[t][e].replace(/{{(.*?)Tmpl}}/g,(i,a)=>K(`${a}Tmpl`,t)),V=(e,t)=>e.replace(/{{(.*?)}}/g,(r,i)=>i in t?t[i]:(console.warn(`Placeholder ${i} not found in data`),r)),I=(e,t,r="react")=>{const i=K(e,r),a=V(i,t);return Se(be(a))},Te=()=>Object.values(s.AggregationTypes).map(t=>s.DimensionalBaseMeasure.aggregationToJAQL(t)).join("|"),H=e=>{const{formula:t,context:r,filter:i}=e;if(!r||!t)return e;const a=Object.keys(r);if(a.length!==1)return e;const n=a[0];if(typeof n!="string")return e;const o=r[`${n}`],p=Te(),c=new RegExp(`^\\s*(${p})\\(\\[\\w+\\]\\)$`),y=t.match(c);if(y&&t.includes(n)){const u=y[1];return l({dim:o.dim,table:o.table,column:o.column,datatype:o.datatype,agg:u,title:e.title},i?{filter:l({},i)}:{})}return e},L=e=>{let t=e;if("formula"in e&&(t=H(e)),"context"in t){const r=l({},t.context);Object.keys(r).forEach(i=>{r[`${i}`]=L(r[`${i}`])}),t.context=r}return t},ve=e=>{var i;const t=e;if(t.panel!=="scope")return t;const{jaql:r}=t;return(i=r.filter)!=null&&i.by&&(r.filter.by=H(r.filter.by)),m(l({},t),{jaql:r})},Z=e=>{let t=e;t=ve(t);const{jaql:r,measure:i,by:a}=t;return l(l(m(l({},t),{jaql:L(r)}),a?{by:L(a)}:{}),i?{measure:L(i)}:{})},T=6;function Ee(e){switch(e){case"line":case"area":case"bar":case"column":case"polar":return{category:[],value:[],breakBy:[]};case"pie":case"funnel":case"treemap":case"sunburst":return{category:[],value:[]};case"scatter":return{};case"indicator":return{};case"arearange":return{category:[],value:[],breakBy:[]};case"boxplot":return{};case"areamap":return{};case"scattermap":return{geo:[]};case"table":return{columns:[]};case"pivot":case"pivot2":return{};case"image":default:return{}}}const xe={subtype:"indicator/numeric",numericSubtype:"numericSimple",skin:"vertical",indicatorComponents:{title:{shouldBeShown:!0,text:void 0},secondaryTitle:{text:""},ticks:{shouldBeShown:!1},labels:{shouldBeShown:!1}}},De={legend:{enabled:!0,position:"bottom"},xAxis:{enabled:!0,gridLines:!0,intervalJumps:null,isIntervalEnabled:!0,min:void 0,max:void 0,logarithmic:void 0,title:{enabled:!1,text:null},labels:{enabled:!0}},yAxis:{enabled:!1,gridLines:!0,intervalJumps:null,isIntervalEnabled:!1,min:void 0,max:void 0,logarithmic:!1,title:{enabled:!1,text:null},labels:{enabled:!0}},y2Axis:{enabled:!0,gridLines:!1,intervalJumps:void 0,isIntervalEnabled:!0,min:void 0,max:void 0,logarithmic:!1,title:{enabled:!1,text:void 0},labels:{enabled:!0}},seriesLabels:{enabled:!1,rotation:0,showValue:!1,showPercentage:!1},dataLimits:{seriesCapacity:50,categoriesCapacity:1e5},navigator:{enabled:!0}},Ce={subtype:"line/basic",lineWidth:{width:"bold"},markers:{enabled:!1,size:"small",fill:"filled"}},we={subtype:"area/basic",lineWidth:{width:"bold"},markers:{enabled:!1,size:"small",fill:"filled"}},Le={subtype:"bar/classic"},Ie={subtype:"column/classic"},Ae={subtype:"polar/column",yAxis:{enabled:!0,gridLines:!0,intervalJumps:void 0,isIntervalEnabled:!1,min:void 0,max:void 0,logarithmic:!1,labels:{enabled:!0},title:{enabled:!1}},dataLimits:{seriesCapacity:50,categoriesCapacity:200}};function b(e){return s.merge({},De,e)}const _e={subtype:"pie/classic",legend:{enabled:!1,position:"left"},labels:{enabled:!0,categories:!0,percent:!0,decimals:!1,value:!1},dataLimits:{seriesCapacity:1e5,categoriesCapacity:void 0},convolution:{enabled:!0,independentSlicesCount:7,minimalIndependentSlicePercentage:3,selectedConvolutionType:"byPercentage"}},Me={legend:{enabled:!1,position:"left"},seriesLabels:{enabled:!0,showCategory:!0,showPercentage:!0,showPercentDecimals:!1,showValue:!0},funnelSize:"regular",funnelType:"regular",funnelDirection:"regular"},Pe={rowsPerPage:25,isAutoHeight:!0,rowHeight:null,alternatingRowsColor:!0,alternatingColumnsColor:!1,headersColor:!1,membersColor:!1,totalsColor:!1},We={labels:{category:[{enabled:!0},{enabled:!0},{enabled:!0}]},tooltip:{mode:"value"}},Fe={subtype:d.CALENDAR_HEATMAP_DEFAULTS.SUBTYPE,viewType:"month",startOfWeek:"sunday",cellLabels:{enabled:!0},dayLabels:{enabled:!0},monthLabels:{enabled:!0},weekends:{days:[],cellColor:"#e6e6e6",hideValues:!0}},Ne={legend:{enabled:!0,position:"bottom"},tooltip:{mode:"value"}},$e={legend:{enabled:!0,position:"bottom"},xAxis:{enabled:!0,gridLines:!0,intervalJumps:null,isIntervalEnabled:!1,min:void 0,max:void 0,logarithmic:null,title:{enabled:!1,text:null},labels:{enabled:!0}},yAxis:{enabled:!0,gridLines:!0,intervalJumps:null,isIntervalEnabled:!1,min:void 0,max:void 0,logarithmic:null,title:{enabled:!1,text:null},labels:{enabled:!0}},dataLimits:{seriesCapacity:50,categoriesCapacity:void 0},seriesLabels:{enabled:!1,rotation:0,showValue:!1,showPercentage:!1},markerSize:{scatterDefaultSize:10,scatterBubbleMinSize:10,scatterBubbleMaxSize:10}},qe={header:{color:{enabled:!1}},rows:{alternatingColor:{enabled:!1}},columns:{alternatingColor:{enabled:!1}}},ke={subtype:"scattermap",markers:{fill:"filled",size:{defaultSize:4,minSize:4,maxSize:24}}},Be={mapType:"world"},Re={subtype:"boxplot/full",legend:{enabled:!0,position:"bottom"},xAxis:{enabled:!0,gridLines:!0,intervalJumps:void 0,isIntervalEnabled:!0,min:void 0,max:void 0,logarithmic:void 0,title:{enabled:!1,text:void 0},labels:{enabled:!0}},yAxis:{enabled:!0,gridLines:!0,intervalJumps:void 0,isIntervalEnabled:!0,min:void 0,max:void 0,logarithmic:void 0,title:{enabled:!1,text:void 0},labels:{enabled:!0}},seriesLabels:{enabled:!1,rotation:0,showValue:!1,showPercentage:!1},dataLimits:{seriesCapacity:50,categoriesCapacity:1e5},navigator:{enabled:!0}};function Qe(e){switch(e){case"indicator":return s.cloneDeep(xe);case"line":return b(Ce);case"area":return b(we);case"bar":return b(Le);case"column":return b(Ie);case"polar":return b(Ae);case"pie":return s.cloneDeep(_e);case"funnel":return s.cloneDeep(Me);case"treemap":return s.cloneDeep(We);case"calendar-heatmap":return s.cloneDeep(Fe);case"sunburst":return s.cloneDeep(Ne);case"scatter":return s.cloneDeep($e);case"scattermap":return s.cloneDeep(ke);case"areamap":return s.cloneDeep(Be);case"boxplot":return s.cloneDeep(Re);case"table":return s.cloneDeep(qe);case"pivot":return s.cloneDeep(Pe);case"pivot2":return{};case"image":return{};default:return{}}}const w=`
423
- `,M="UNKNOWN",je=(e,t)=>{let r="";return r+=`measureFactory.customFormula(
422
+ </template>`,dashboardTmpl:"/** COMING SOON */"}};function be(e){return e.replace(/\[\[([^\]]+)\]\]/g,(t,r)=>s.normalizeName(r))}const H=(e,t)=>he[t][e].replace(/{{(.*?)Tmpl}}/g,(i,a)=>H(`${a}Tmpl`,t)),Z=(e,t)=>e.replace(/{{(.*?)}}/g,(r,i)=>i in t?t[i]:(console.warn(`Placeholder ${i} not found in data`),r)),_=(e,t,r="react")=>{const i=H(e,r),a=Z(i,t);return Se(be(a))},Te=()=>Object.values(s.AggregationTypes).map(t=>s.DimensionalBaseMeasure.aggregationToJAQL(t)).join("|"),G=e=>{const{formula:t,context:r,filter:i}=e;if(!r||!t)return e;const a=Object.keys(r);if(a.length!==1)return e;const n=a[0];if(typeof n!="string")return e;const o=r[`${n}`],p=Te(),c=new RegExp(`^\\s*(${p})\\(\\[\\w+\\]\\)$`),y=t.match(c);if(y&&t.includes(n)){const u=y[1];return l({dim:o.dim,table:o.table,column:o.column,datatype:o.datatype,agg:u,title:e.title},i?{filter:l({},i)}:{})}return e},A=e=>{let t=e;if("formula"in e&&(t=G(e)),"context"in t){const r=l({},t.context);Object.keys(r).forEach(i=>{r[`${i}`]=A(r[`${i}`])}),t.context=r}return t},ve=e=>{var i;const t=e;if(t.panel!=="scope")return t;const{jaql:r}=t;return(i=r.filter)!=null&&i.by&&(r.filter.by=G(r.filter.by)),m(l({},t),{jaql:r})},X=e=>{let t=e;t=ve(t);const{jaql:r,measure:i,by:a}=t;return l(l(m(l({},t),{jaql:A(r)}),a?{by:A(a)}:{}),i?{measure:A(i)}:{})},T=6;function Ee(e){switch(e){case"line":case"area":case"bar":case"column":case"polar":return{category:[],value:[],breakBy:[]};case"pie":case"funnel":case"treemap":case"sunburst":return{category:[],value:[]};case"scatter":return{};case"indicator":return{};case"arearange":return{category:[],value:[],breakBy:[]};case"boxplot":return{};case"areamap":return{};case"scattermap":return{geo:[]};case"table":return{columns:[]};case"pivot":case"pivot2":return{};case"image":default:return{}}}const xe={subtype:"indicator/numeric",numericSubtype:"numericSimple",skin:"vertical",indicatorComponents:{title:{shouldBeShown:!0,text:void 0},secondaryTitle:{text:""},ticks:{shouldBeShown:!1},labels:{shouldBeShown:!1}}},De={legend:{enabled:!0,position:"bottom"},xAxis:{enabled:!0,gridLines:!0,intervalJumps:null,isIntervalEnabled:!0,min:void 0,max:void 0,logarithmic:void 0,title:{enabled:!1,text:null},labels:{enabled:!0}},yAxis:{enabled:!1,gridLines:!0,intervalJumps:null,isIntervalEnabled:!1,min:void 0,max:void 0,logarithmic:!1,title:{enabled:!1,text:null},labels:{enabled:!0}},y2Axis:{enabled:!0,gridLines:!1,intervalJumps:void 0,isIntervalEnabled:!0,min:void 0,max:void 0,logarithmic:!1,title:{enabled:!1,text:void 0},labels:{enabled:!0}},seriesLabels:{enabled:!1,rotation:0,showValue:!1,showPercentage:!1},dataLimits:{seriesCapacity:50,categoriesCapacity:1e5},navigator:{enabled:!0}},Ce={subtype:"line/basic",lineWidth:{width:"bold"},markers:{enabled:!1,size:"small",fill:"filled"}},we={subtype:"area/basic",lineWidth:{width:"bold"},markers:{enabled:!1,size:"small",fill:"filled"}},Le={subtype:"bar/classic"},Ie={subtype:"column/classic"},Ae={subtype:"polar/column",yAxis:{enabled:!0,gridLines:!0,intervalJumps:void 0,isIntervalEnabled:!1,min:void 0,max:void 0,logarithmic:!1,labels:{enabled:!0},title:{enabled:!1}},dataLimits:{seriesCapacity:50,categoriesCapacity:200}};function b(e){return s.merge({},De,e)}const _e={subtype:"pie/classic",legend:{enabled:!1,position:"left"},labels:{enabled:!0,categories:!0,percent:!0,decimals:!1,value:!1},dataLimits:{seriesCapacity:1e5,categoriesCapacity:void 0},convolution:{enabled:!0,independentSlicesCount:7,minimalIndependentSlicePercentage:3,selectedConvolutionType:"byPercentage"}},Me={legend:{enabled:!1,position:"left"},seriesLabels:{enabled:!0,showCategory:!0,showPercentage:!0,showPercentDecimals:!1,showValue:!0},funnelSize:"regular",funnelType:"regular",funnelDirection:"regular"},Pe={rowsPerPage:25,isAutoHeight:!0,rowHeight:null,alternatingRowsColor:!0,alternatingColumnsColor:!1,headersColor:!1,membersColor:!1,totalsColor:!1},We={labels:{category:[{enabled:!0},{enabled:!0},{enabled:!0}]},tooltip:{mode:"value"}},Fe={subtype:d.CALENDAR_HEATMAP_DEFAULTS.SUBTYPE,viewType:"month",startOfWeek:"sunday",cellLabels:{enabled:!0},dayLabels:{enabled:!0},monthLabels:{enabled:!0},weekends:{days:[],cellColor:"#e6e6e6",hideValues:!0}},Ne={legend:{enabled:!0,position:"bottom"},tooltip:{mode:"value"}},$e={legend:{enabled:!0,position:"bottom"},xAxis:{enabled:!0,gridLines:!0,intervalJumps:null,isIntervalEnabled:!1,min:void 0,max:void 0,logarithmic:null,title:{enabled:!1,text:null},labels:{enabled:!0}},yAxis:{enabled:!0,gridLines:!0,intervalJumps:null,isIntervalEnabled:!1,min:void 0,max:void 0,logarithmic:null,title:{enabled:!1,text:null},labels:{enabled:!0}},dataLimits:{seriesCapacity:50,categoriesCapacity:void 0},seriesLabels:{enabled:!1,rotation:0,showValue:!1,showPercentage:!1},markerSize:{scatterDefaultSize:10,scatterBubbleMinSize:10,scatterBubbleMaxSize:10}},qe={header:{color:{enabled:!1}},rows:{alternatingColor:{enabled:!1}},columns:{alternatingColor:{enabled:!1}}},ke={subtype:"scattermap",markers:{fill:"filled",size:{defaultSize:4,minSize:4,maxSize:24}}},Be={mapType:"world"},Re={subtype:"boxplot/full",legend:{enabled:!0,position:"bottom"},xAxis:{enabled:!0,gridLines:!0,intervalJumps:void 0,isIntervalEnabled:!0,min:void 0,max:void 0,logarithmic:void 0,title:{enabled:!1,text:void 0},labels:{enabled:!0}},yAxis:{enabled:!0,gridLines:!0,intervalJumps:void 0,isIntervalEnabled:!0,min:void 0,max:void 0,logarithmic:void 0,title:{enabled:!1,text:void 0},labels:{enabled:!0}},seriesLabels:{enabled:!1,rotation:0,showValue:!1,showPercentage:!1},dataLimits:{seriesCapacity:50,categoriesCapacity:1e5},navigator:{enabled:!0}};function Qe(e){switch(e){case"indicator":return s.cloneDeep(xe);case"line":return b(Ce);case"area":return b(we);case"bar":return b(Le);case"column":return b(Ie);case"polar":return b(Ae);case"pie":return s.cloneDeep(_e);case"funnel":return s.cloneDeep(Me);case"treemap":return s.cloneDeep(We);case"calendar-heatmap":return s.cloneDeep(Fe);case"sunburst":return s.cloneDeep(Ne);case"scatter":return s.cloneDeep($e);case"scattermap":return s.cloneDeep(ke);case"areamap":return s.cloneDeep(Be);case"boxplot":return s.cloneDeep(Re);case"table":return s.cloneDeep(qe);case"pivot":return s.cloneDeep(Pe);case"pivot2":return{};case"image":return{};default:return{}}}const I=`
423
+ `,W="UNKNOWN",je=(e,t)=>{let r="";return r+=`measureFactory.customFormula(
424
424
  `,r+=" ".repeat(t),r+=` '${s.escapeSingleQuotes(e.title)}',
425
425
  `,r+=" ".repeat(t),r+=` '${e.formula}',
426
426
  `,r+=" ".repeat(t),r+=` {
427
- `,Object.entries(e.context).forEach(([i,a])=>{const n=s.normalizeAttributeName(a.table||M,a.column||M,void 0,"DM");r+=" ".repeat(t),r+=` '${i.slice(1,-1)}': ${n},
427
+ `,Object.entries(e.context).forEach(([i,a])=>{const n=s.normalizeAttributeName(a.table||W,a.column||W,void 0,"DM");r+=" ".repeat(t),r+=` '${i.slice(1,-1)}': ${n},
428
428
  `}),r+=" ".repeat(t),r+=` }
429
- `,r+=" ".repeat(t),r+=")",r},ze=e=>{const{level:t,table:r,column:i,agg:a,title:n}=e;let o;return r&&i&&(o=s.normalizeAttributeName(r,i,t,"DM")),a&&r&&i&&n&&(o=`measureFactory.${s.DimensionalBaseMeasure.aggregationFromJAQL(a)}(${o}, '${s.escapeSingleQuotes(n)}')`),o||M},Ue=(e,t)=>{const r=e.jaql(!1).jaql;return"formula"in r?je(r,t):ze(r)},f=(e,t=0,r=!1)=>{if(!e)return"";if(typeof e=="string")return`'${s.escapeSingleQuotes(e)}'`;if(e instanceof A.JaqlElement)return Ue(e,t);if(e instanceof s.DimensionalElement)return e.composeCode||"";let i="";return Array.isArray(e)?i+=`[${e.map(a=>f(a,t+2))}${e.length?w+" ".repeat(t+2):""}]`:(i+=`{${w}`,Object.entries(e).forEach(([a,n])=>{if(r&&typeof a=="string"&&(a=`'${s.escapeSingleQuotes(a)}'`),i+=" ".repeat(t+2),Array.isArray(n))i+=`${a}: [${n.map(o=>f(o,t+4,r))}${n.length?w+" ".repeat(t+2):""}]`;else if(typeof n=="object"&&n!==null){const o=Array.isArray(n)?n:Oe(n);i+=`${a}: ${f(o,t+2,r)}`}else["number","boolean","undefined"].includes(typeof n)||n===null?i+=`${a}: ${n}`:typeof n=="string"?i+=`${a}: '${s.escapeSingleQuotes(n)}'`:i+=`${a}: ${n}`;i+=`,${w}`}),i+=" ".repeat(t),i+="}"),i};function N(e,t){if(t===void 0||t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0)return e;if(!s.isEqual(e,t)){if(e&&typeof e=="object"&&!Array.isArray(e)){const r={};for(const i of Object.keys(e)){const a=N(e[i],t==null?void 0:t[i]),n=t&&Object.prototype.hasOwnProperty.call(t,i),o=n?t[i]:void 0;(a!==void 0||!n||e[i]===void 0&&o!==void 0)&&(r[i]=a)}return Object.keys(r).length?r:void 0}return e}}function R(e,t){if(!e||Object.keys(e).length===0)return{};const r=Qe(t);if(s.isEqual(e,r))return{};const i=N(e,r);return i!=null?i:{}}function Q(e,t){const r=Ee(t);if(s.isEqual(e,r))return e;const i=N(e,r);return i!=null?i:{}}function Ye(e){return f(e,T)}function P(e,t="data-source-placeholder"){if(!e)return t;const r=typeof e=="object"&&"title"in e?e.title:e;return ue(r)}function W(e,t=!0){const r=[];return t&&r.push("measureFactory"),g(e)&&r.push("filterFactory"),r.length>0?`import { ${r.join(", ")} } from '@sisense/sdk-data';`:""}const j=`
430
- `,Je=(e,t)=>{if(e.composeCode)return`${j}${" ".repeat(t)}${e.composeCode}`;const r=e.jaql().jaql;return`${j}${" ".repeat(t)}filterFactory.customFilter(${f(r,t,!0)})`},Ke=(e,t=0)=>{if(!e)return"";let r="";return r+=`[${e.map(i=>Je(i,t+2))}${e.length?`
431
- `+" ".repeat(t+2):""}]`,r},F=e=>e?Array.isArray(e)?Ke(e,6):"/** Filter relations not supported yet */":"[]",Ve=["executeQueryByWidgetIdTmpl","widgetByIdTmpl"],He="chartWidgetTmpl",Ze="pivotTableWidgetTmpl",Ge=e=>e,Xe=({dashboardOid:e,widgetOid:t,uiFramework:r="react",chartType:i="table",includeChart:a=!0})=>{J(i);const n={dashboardOid:e,widgetOid:t},o=Ve[Number(a)];return I(o,n,r)},G=(e,t,r,i)=>{if(d.isChartWidgetProps(e)){J(e.chartType);const a=_(e),n={idString:e.id,widgetTypeString:"chart",titleString:e.title,dataSourceString:P(e.dataSource),chartTypeString:Ge(e.chartType),dataOptionsString:Ye(i?Q(e.dataOptions,e.chartType):e.dataOptions),filtersString:F(e.filters),componentString:"ChartWidget",extraImportsString:W(e.filters||[],a),styleOptionsString:f(i?R(e.styleOptions||{},e.chartType):e.styleOptions||{},T),drilldownOptionsString:f(e.drilldownOptions||{},T)};return I(r.chart,n,t)}if(d.isPivotTableWidgetProps(e)){const a=_(e),n={idString:e.id,widgetTypeString:"pivot",titleString:e.title,dataSourceString:P(e.dataSource),dataOptionsString:f(i?Q(e.dataOptions,e.widgetType):e.dataOptions),filtersString:F(e.filters),componentString:"PivotTableWidget",extraImportsString:W(e.filters||[],a),styleOptionsString:f(i?R(e.styleOptions||{},e.widgetType):e.styleOptions||{},T)};return I(r.pivot,n,t)}if(d.isCustomWidgetProps(e))return"/** Custom widget code not supported yet */";throw new s.TranslatableError("errors.otherWidgetTypesNotSupported")},et=({widgetProps:e,uiFramework:t="react",removeDefaultProps:r=!1})=>G(e,t,{chart:He,pivot:Ze},r);function tt(e){return!!(e&&(e.top!==void 0||e.bottom!==void 0))}const rt=e=>{const t=e.find(r=>r.panel==="rows");return t?e.map(r=>{const i=r.jaql.filter;if(!(r.panel==="scope"&&tt(i)&&i.by===void 0))return r;const u=r.jaql,{type:n,context:o,formula:p,filter:c}=u,y=B(u,["type","context","formula","filter"]);return m(l({},r),{jaql:l({dim:t.jaql.dim,table:t.jaql.table,column:t.jaql.column,datatype:t.jaql.datatype,filter:m(l({},c),{by:{type:n,context:o,formula:p}})},y)})}):e},it=e=>"chartType"in e.chartRecommendations?e.chartRecommendations:{chartType:"table",chartFamily:"table",axesMapping:{}},at=e=>({dataOptions:{columns:e.map(A.createDimensionalElementFromMetadataItem)}}),nt=Object.freeze({convolution:{enabled:!0,selectedConvolutionType:"bySlicesCount",independentSlicesCount:7},lineWidth:{width:"bold"},markers:{enabled:!1},legend:{enabled:!1},yAxis:{gridLines:!1},xAxis:{gridLines:!1}}),z=Object.freeze({line:"line/spline",pie:"pie/donut",bar:"bar/stacked",column:"column/stackedcolumn"}),X=(e,t,r)=>{const i=e.reduce((n,o)=>(n[o.jaql.title]=o,n),{}),a=Object.entries(r).reduce((n,o)=>{const[p,c]=o;return n[`${p}`]=Array.isArray(c)?c.map(y=>{var v,E;const u=d.normalizeAnyColumn(y);delete u.enabled;const S=i[u.column.name];if(!S)return{column:{type:"",name:u.column.name}};const O=A.createDimensionalElementFromMetadataItem(S);if(S.panel==="measures")return m(l({},u),{column:O});if(s.isDatetime(O.type)){const x=(E=(v=S.format)==null?void 0:v.mask)==null?void 0:E[S.jaql.level];if(x)return m(l({},u),{column:O,dateFormat:x})}return m(l({},u),{column:O})}):c,n},{});switch(t){case"cartesian":return l({category:[],value:[],breakBy:[]},a);case"categorical":return l({category:[],value:[]},a);case"scatter":return Object.keys(a).forEach(n=>{a[`${n}`]=a[`${n}`][0]}),a;case"scattermap":return Object.keys(a).forEach(n=>{n!=="geo"&&(a[`${n}`]=a[`${n}`][0])}),a;case"table":return Object.keys(a).length===0?at(e).dataOptions:a;case"boxplot":case"areamap":case"indicator":default:return a}},U=(e,t)=>{var r,i,a,n;return t==="x"?(i=(r=e.category)!=null?r:e.x)==null?void 0:i.map(o=>d.normalizeAnyColumn(o).column.name).join(", "):(n=(a=e.value)!=null?a:e.y)==null?void 0:n.map(o=>d.normalizeAnyColumn(o).column.name).join(", ")},Y=(e,t)=>{var r;return(r=e[t])==null?void 0:r.map(i=>d.normalizeAnyColumn(i).column.name).join(", ")},ee=(e,t,r,i)=>{let a;if(i&&e in z)a=d.merge(d.merge(nt,{subtype:z[`${e}`]}),{legend:{enabled:!0,position:"right"},yAxis:{title:{enabled:!0,text:U(t,"y")}},xAxis:{title:{enabled:!0,text:U(t,"x")}}},r);else if(i&&e==="indicator"){const n={indicatorComponents:{title:{shouldBeShown:!0,text:Y(t,"value")}}},o=Y(t,"secondary");o&&(n!=null&&n.indicatorComponents)&&(n.indicatorComponents.secondaryTitle={text:o}),a=d.merge(d.getDefaultStyleOptions(),n,r)}else a=d.merge(d.getDefaultStyleOptions(),r);return a},te=(e,t,r=!0)=>{const{chartFamily:i,chartType:a,axesMapping:n={},styleOptions:o={}}=t,p=X(e,i,n),c=ee(a,n,o,r);return{dataOptions:p,chartStyleOptions:c}},st=e=>"chartType"in e?e:{chartType:"table",chartFamily:"table",axesMapping:{}},ot=e=>e.map(t=>s.createFilterFromJaql(t.jaql)),lt=e=>e.reduce((t,r)=>{if((r.panel==="scope"||r.jaql.filter)&&t.metadataFilters.push(s.cloneDeep(r)),r.panel!=="scope"){const i=s.cloneDeep(r);delete i.jaql.filter,t.metadataColumns.push(i)}return t},{metadataColumns:[],metadataFilters:[]}),dt=(e,t)=>{if(!fe(e))try{const{useCustomizedStyleOptions:r=!1}=t||{},{jaql:i,chartRecommendations:a,queryTitle:n}=e,{metadata:o,datasource:p}=i,c=m(l({},p),{type:p.type||"elasticube"}),y=s.convertJaqlDataSourceForDto(c),S=rt(o).map(D=>Z(D)).map(D=>m(l({},D),{jaql:m(l({},D.jaql),{datasource:y})})),O=st(a),v=O.chartType.toLowerCase(),E={cornerRadius:"Small",header:{renderToolbar:()=>null}},{metadataColumns:x,metadataFilters:ie}=lt(S),ae=ot(ie),{dataOptions:ne,chartStyleOptions:se}=te(x,O,r),oe=l(l({},se),E);return{widgetType:"chart",id:n,title:n,chartType:v,dataSource:c,dataOptions:ne,filters:ae,styleOptions:oe}}catch(r){console.error(r);return}},re=(e,t)=>dt(e,t),ct=e=>A.isByIdWidgetCodeParams(e)?Xe(e):et(e),ut=Object.freeze(Object.defineProperty({__proto__:null,toWidgetCode:ct,toWidgetProps:re},Symbol.toStringTag,{value:"Module"}));exports.CODE_TEMPLATES_INDENT=T;exports.capitalizeFirstLetter=pe;exports.checkIfMeasuresExist=_;exports.generateCode=I;exports.getChartDataOptions=X;exports.getChartOptions=te;exports.getChartRecommendationsOrDefault=it;exports.getChartStyleOptions=ee;exports.getWidgetCode=G;exports.populatePlaceholders=V;exports.sanitizeDimensionId=me;exports.simplifyMetadataItem=Z;exports.stringifyDataSource=P;exports.stringifyExtraImports=W;exports.stringifyFilters=F;exports.stringifyProps=f;exports.toWidgetProps=re;exports.validateQueryModel=ge;exports.widgetComposer=ut;
429
+ `,r+=" ".repeat(t),r+=")",r},ze=e=>{const{level:t,table:r,column:i,agg:a,title:n}=e;let o;return r&&i&&(o=s.normalizeAttributeName(r,i,t,"DM")),a&&r&&i&&n&&(o=`measureFactory.${s.DimensionalBaseMeasure.aggregationFromJAQL(a)}(${o}, '${s.escapeSingleQuotes(n)}')`),o||W},Ue=(e,t)=>{const r=e.jaql(!1).jaql;return"formula"in r?je(r,t):ze(r)},f=(e,t=0,r=!1)=>{if(!e)return"";if(typeof e=="string")return`'${s.escapeSingleQuotes(e)}'`;if(e instanceof M.JaqlElement)return Ue(e,t);if(e instanceof s.DimensionalElement)return e.composeCode||"";let i="";return Array.isArray(e)?i+=`[${e.map(a=>f(a,t+2))}${e.length?I+" ".repeat(t+2):""}]`:(i+=`{${I}`,Object.entries(e).forEach(([a,n])=>{if(r&&typeof a=="string"&&(a=`'${s.escapeSingleQuotes(a)}'`),i+=" ".repeat(t+2),Array.isArray(n))i+=`${a}: [${n.map(o=>f(o,t+4,r))}${n.length?I+" ".repeat(t+2):""}]`;else if(typeof n=="object"&&n!==null){const o=Array.isArray(n)?n:Oe(n);i+=`${a}: ${f(o,t+2,r)}`}else["number","boolean","undefined"].includes(typeof n)||n===null?i+=`${a}: ${n}`:typeof n=="string"?i+=`${a}: '${s.escapeSingleQuotes(n)}'`:i+=`${a}: ${n}`;i+=`,${I}`}),i+=" ".repeat(t),i+="}"),i};function q(e,t){if(t===void 0||t&&typeof t=="object"&&!Array.isArray(t)&&Object.keys(t).length===0)return e;if(!s.isEqual(e,t)){if(e&&typeof e=="object"&&!Array.isArray(e)){const r={};for(const i of Object.keys(e)){const a=q(e[i],t==null?void 0:t[i]),n=t&&Object.prototype.hasOwnProperty.call(t,i),o=n?t[i]:void 0;(a!==void 0||!n||e[i]===void 0&&o!==void 0)&&(r[i]=a)}return Object.keys(r).length?r:void 0}return e}}function j(e,t){if(!e||Object.keys(e).length===0)return{};const r=Qe(t);if(s.isEqual(e,r))return{};const i=q(e,r);return i!=null?i:{}}function z(e,t){const r=Ee(t);if(s.isEqual(e,r))return e;const i=q(e,r);return i!=null?i:{}}function Ye(e){return f(e,T)}function F(e,t="data-source-placeholder"){if(!e)return t;const r=typeof e=="object"&&"title"in e?e.title:e;return ue(r)}function N(e,t=!0){const r=[];return t&&r.push("measureFactory"),g(e)&&r.push("filterFactory"),r.length>0?`import { ${r.join(", ")} } from '@sisense/sdk-data';`:""}const U=`
430
+ `,Je=(e,t)=>{if(e.composeCode)return`${U}${" ".repeat(t)}${e.composeCode}`;const r=e.jaql().jaql;return`${U}${" ".repeat(t)}filterFactory.customFilter(${f(r,t,!0)})`},Ke=(e,t=0)=>{if(!e)return"";let r="";return r+=`[${e.map(i=>Je(i,t+2))}${e.length?`
431
+ `+" ".repeat(t+2):""}]`,r},$=e=>e?Array.isArray(e)?Ke(e,6):"/** Filter relations not supported yet */":"[]",Ve=["executeQueryByWidgetIdTmpl","widgetByIdTmpl"],He="chartWidgetTmpl",Ze="pivotTableWidgetTmpl",Ge=e=>e,Xe=({dashboardOid:e,widgetOid:t,uiFramework:r="react",chartType:i="table",includeChart:a=!0})=>{V(i);const n={dashboardOid:e,widgetOid:t},o=Ve[Number(a)];return _(o,n,r)},ee=(e,t,r,i)=>{if(d.isChartWidgetProps(e)){V(e.chartType);const a=P(e),n={idString:e.id,widgetTypeString:"chart",titleString:e.title,dataSourceString:F(e.dataSource),chartTypeString:Ge(e.chartType),dataOptionsString:Ye(i?z(e.dataOptions,e.chartType):e.dataOptions),filtersString:$(e.filters),componentString:"ChartWidget",extraImportsString:N(e.filters||[],a),styleOptionsString:f(i?j(e.styleOptions||{},e.chartType):e.styleOptions||{},T),drilldownOptionsString:f(e.drilldownOptions||{},T)};return _(r.chart,n,t)}if(d.isPivotTableWidgetProps(e)){const a=P(e),n={idString:e.id,widgetTypeString:"pivot",titleString:e.title,dataSourceString:F(e.dataSource),dataOptionsString:f(i?z(e.dataOptions,e.widgetType):e.dataOptions),filtersString:$(e.filters),componentString:"PivotTableWidget",extraImportsString:N(e.filters||[],a),styleOptionsString:f(i?j(e.styleOptions||{},e.widgetType):e.styleOptions||{},T)};return _(r.pivot,n,t)}if(d.isCustomWidgetProps(e))return"/** Custom widget code not supported yet */";throw new s.TranslatableError("errors.otherWidgetTypesNotSupported")},et=({widgetProps:e,uiFramework:t="react",removeDefaultProps:r=!1})=>ee(e,t,{chart:He,pivot:Ze},r);function tt(e){return!!(e&&(e.top!==void 0||e.bottom!==void 0))}const rt=e=>{const t=e.find(r=>r.panel==="rows");return t?e.map(r=>{const i=r.jaql.filter;if(!(r.panel==="scope"&&tt(i)&&i.by===void 0))return r;const u=r.jaql,{type:n,context:o,formula:p,filter:c}=u,y=Q(u,["type","context","formula","filter"]);return m(l({},r),{jaql:l({dim:t.jaql.dim,table:t.jaql.table,column:t.jaql.column,datatype:t.jaql.datatype,filter:m(l({},c),{by:{type:n,context:o,formula:p}})},y)})}):e},it=e=>"chartType"in e.chartRecommendations?e.chartRecommendations:{chartType:"table",chartFamily:"table",axesMapping:{}},at=e=>({dataOptions:{columns:e.map(M.createDimensionalElementFromMetadataItem)}}),nt=Object.freeze({convolution:{enabled:!0,selectedConvolutionType:"bySlicesCount",independentSlicesCount:7},lineWidth:{width:"bold"},markers:{enabled:!1},legend:{enabled:!1},yAxis:{gridLines:!1},xAxis:{gridLines:!1}}),Y=Object.freeze({line:"line/spline",pie:"pie/donut",bar:"bar/stacked",column:"column/stackedcolumn"}),te=(e,t,r)=>{const i=e.reduce((n,o)=>(n[o.jaql.title]=o,n),{}),a=Object.entries(r).reduce((n,o)=>{const[p,c]=o;return n[`${p}`]=Array.isArray(c)?c.map(y=>{var v,E;const u=d.normalizeAnyColumn(y);delete u.enabled;const S=i[u.column.name];if(!S)return{column:{type:"",name:u.column.name}};const O=M.createDimensionalElementFromMetadataItem(S);if(S.panel==="measures")return m(l({},u),{column:O});if(s.isDatetime(O.type)){const x=S.jaql,D=x.dateTimeLevel||x.level,C=D?(E=(v=S.format)==null?void 0:v.mask)==null?void 0:E[D]:void 0;if(C)return m(l({},u),{column:O,dateFormat:C})}return m(l({},u),{column:O})}):c,n},{});switch(t){case"cartesian":return l({category:[],value:[],breakBy:[]},a);case"categorical":return l({category:[],value:[]},a);case"scatter":return Object.keys(a).forEach(n=>{a[`${n}`]=a[`${n}`][0]}),a;case"scattermap":return Object.keys(a).forEach(n=>{n!=="geo"&&(a[`${n}`]=a[`${n}`][0])}),a;case"table":return Object.keys(a).length===0?at(e).dataOptions:a;case"boxplot":case"areamap":case"indicator":default:return a}},J=(e,t)=>{var r,i,a,n;return t==="x"?(i=(r=e.category)!=null?r:e.x)==null?void 0:i.map(o=>d.normalizeAnyColumn(o).column.name).join(", "):(n=(a=e.value)!=null?a:e.y)==null?void 0:n.map(o=>d.normalizeAnyColumn(o).column.name).join(", ")},K=(e,t)=>{var r;return(r=e[t])==null?void 0:r.map(i=>d.normalizeAnyColumn(i).column.name).join(", ")},re=(e,t,r,i)=>{let a;if(i&&e in Y)a=d.merge(d.merge(nt,{subtype:Y[`${e}`]}),{legend:{enabled:!0,position:"right"},yAxis:{title:{enabled:!0,text:J(t,"y")}},xAxis:{title:{enabled:!0,text:J(t,"x")}}},r);else if(i&&e==="indicator"){const n={indicatorComponents:{title:{shouldBeShown:!0,text:K(t,"value")}}},o=K(t,"secondary");o&&(n!=null&&n.indicatorComponents)&&(n.indicatorComponents.secondaryTitle={text:o}),a=d.merge(d.getDefaultStyleOptions(),n,r)}else a=d.merge(d.getDefaultStyleOptions(),r);return a},ie=(e,t,r=!0)=>{const{chartFamily:i,chartType:a,axesMapping:n={},styleOptions:o={}}=t,p=te(e,i,n),c=re(a,n,o,r);return{dataOptions:p,chartStyleOptions:c}},st=e=>"chartType"in e?e:{chartType:"table",chartFamily:"table",axesMapping:{}},ot=e=>e.map(t=>s.createFilterFromJaql(t.jaql)),lt=e=>e.reduce((t,r)=>{if((r.panel==="scope"||r.jaql.filter)&&t.metadataFilters.push(s.cloneDeep(r)),r.panel!=="scope"){const i=s.cloneDeep(r);delete i.jaql.filter,t.metadataColumns.push(i)}return t},{metadataColumns:[],metadataFilters:[]}),dt=(e,t)=>{if(!fe(e))try{const{useCustomizedStyleOptions:r=!1}=t||{},{jaql:i,chartRecommendations:a,queryTitle:n}=e,{metadata:o,datasource:p}=i,c=m(l({},p),{type:p.type||"elasticube"}),y=s.convertJaqlDataSourceForDto(c),S=rt(o).map(w=>X(w)).map(w=>m(l({},w),{jaql:m(l({},w.jaql),{datasource:y})})),O=st(a),v=O.chartType.toLowerCase(),E={cornerRadius:"Small",header:{renderToolbar:()=>null}},{metadataColumns:x,metadataFilters:D}=lt(S),C=ot(D),{dataOptions:ne,chartStyleOptions:se}=ie(x,O,r),oe=l(l({},se),E);return{widgetType:"chart",id:n,title:n,chartType:v,dataSource:c,dataOptions:ne,filters:C,styleOptions:oe}}catch(r){console.error(r);return}},ae=(e,t)=>dt(e,t),ct=e=>M.isByIdWidgetCodeParams(e)?Xe(e):et(e),ut=Object.freeze(Object.defineProperty({__proto__:null,toWidgetCode:ct,toWidgetProps:ae},Symbol.toStringTag,{value:"Module"}));exports.CODE_TEMPLATES_INDENT=T;exports.capitalizeFirstLetter=pe;exports.checkIfMeasuresExist=P;exports.generateCode=_;exports.getChartDataOptions=te;exports.getChartOptions=ie;exports.getChartRecommendationsOrDefault=it;exports.getChartStyleOptions=re;exports.getWidgetCode=ee;exports.populatePlaceholders=Z;exports.sanitizeDimensionId=me;exports.simplifyMetadataItem=X;exports.stringifyDataSource=F;exports.stringifyExtraImports=N;exports.stringifyFilters=$;exports.stringifyProps=f;exports.toWidgetProps=ae;exports.validateQueryModel=ge;exports.widgetComposer=ut;
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "Sisense",
12
12
  "Compose SDK"
13
13
  ],
14
- "version": "2.25.0",
14
+ "version": "2.27.0",
15
15
  "type": "module",
16
16
  "exports": {
17
17
  ".": {
@@ -77,13 +77,13 @@
77
77
  "@mui/icons-material": "^6.4.11",
78
78
  "@mui/material": "^6.4.11",
79
79
  "@mui/system": "^6.4.11",
80
- "@sisense/sdk-common": "2.25.0",
81
- "@sisense/sdk-data": "2.25.0",
82
- "@sisense/sdk-pivot-query-client": "2.25.0",
83
- "@sisense/sdk-pivot-ui": "2.25.0",
84
- "@sisense/sdk-query-client": "2.25.0",
85
- "@sisense/sdk-rest-client": "2.25.0",
86
- "@sisense/sdk-tracking": "2.25.0",
80
+ "@sisense/sdk-common": "2.27.0",
81
+ "@sisense/sdk-data": "2.27.0",
82
+ "@sisense/sdk-pivot-query-client": "2.27.0",
83
+ "@sisense/sdk-pivot-ui": "2.27.0",
84
+ "@sisense/sdk-query-client": "2.27.0",
85
+ "@sisense/sdk-rest-client": "2.27.0",
86
+ "@sisense/sdk-tracking": "2.27.0",
87
87
  "@sisense/sisense-charts": "5.2.5",
88
88
  "@tanstack/react-query": "4.43.0",
89
89
  "classnames": "^2.3.2",
@@ -123,6 +123,7 @@
123
123
  "build:prod": "run type-check && vite build && run build:umd:prod",
124
124
  "build:umd": "tsx ./scripts/vite/vite.umd.build.ts --mode development",
125
125
  "build:umd:prod": "tsx ./scripts/vite/vite.umd.build.ts --mode production",
126
+ "build:umd:watch": "tsx ./scripts/vite/vite.umd.fusion.build.ts",
126
127
  "clean": "rm -rf ./dist && rm -rf ./coverage && rm -rf tsconfig.tsbuildinfo && rm -rf node_modules/.vite/deps",
127
128
  "lint": "eslint . --quiet",
128
129
  "lint:fix": "run lint --fix",