@sisense/sdk-ui 2.7.0 → 2.9.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 (126) hide show
  1. package/dist/ai.cjs +29 -29
  2. package/dist/ai.js +175 -193
  3. package/dist/analytics-composer/node.cjs +1 -0
  4. package/dist/analytics-composer/node.d.ts +1 -0
  5. package/dist/analytics-composer/node.js +897 -0
  6. package/dist/analytics-composer.cjs +118 -118
  7. package/dist/analytics-composer.js +2244 -2951
  8. package/dist/{derive-chart-family-DvYmrG1k.js → derive-chart-family-BLG1sO1D.js} +41019 -47803
  9. package/dist/derive-chart-family-QPmz5DJ3.cjs +656 -0
  10. package/dist/{dimensions-WmjaZcrG.js → dimensions-B2jz151s.js} +2 -3
  11. package/dist/dimensions-CVJeJ8mi.cjs +1 -0
  12. package/dist/execute-query-Cp3se7Yb.cjs +1 -0
  13. package/dist/execute-query-agpyzZz6.js +6406 -0
  14. package/dist/index.cjs +25 -25
  15. package/dist/index.js +6612 -6353
  16. package/dist/index.umd.js +355 -389
  17. package/dist/packages/sdk-ui/src/ai/common/icon-button.d.ts +1 -3
  18. package/dist/packages/sdk-ui/src/ai/messages/clickable-message.d.ts +0 -1
  19. package/dist/packages/sdk-ui/src/analytics-composer/index-node.d.ts +9 -0
  20. package/dist/packages/sdk-ui/src/analytics-composer/index.d.ts +1 -0
  21. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/common.d.ts +26 -0
  22. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/index.d.ts +2 -0
  23. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/translate-dimensions.d.ts +3 -0
  24. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/translate-filters.d.ts +44 -0
  25. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/translate-measures.d.ts +30 -0
  26. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/translate-query-to-jaql.d.ts +18 -0
  27. package/dist/packages/sdk-ui/src/analytics-composer/new-nlq-translator/translate-query.d.ts +224 -0
  28. package/dist/packages/sdk-ui/src/analytics-composer/types.d.ts +28 -1
  29. package/dist/packages/sdk-ui/src/chart/helpers/get-load-data-function.d.ts +3 -1
  30. package/dist/packages/sdk-ui/src/chart/helpers/use-chart-data-preparation.d.ts +3 -1
  31. package/dist/packages/sdk-ui/src/chart/helpers/use-translated-data-options.d.ts +1 -1
  32. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/axis.d.ts +5 -0
  33. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/helpers/highchart-options/y-axis.d.ts +28 -0
  34. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/line-chart/helpers/design-options.d.ts +12 -0
  35. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/line-chart/highchart-options/axes.d.ts +6 -0
  36. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/line-chart/highcharts-options-builder.d.ts +2 -0
  37. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/line-chart/line-chart-builder.d.ts +2 -0
  38. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/polar-chart/data/index.d.ts +10 -0
  39. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/polar-chart/data-options/index.d.ts +12 -0
  40. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/polar-chart/design-options/index.d.ts +18 -0
  41. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/polar-chart/highchart-options/axes.d.ts +6 -0
  42. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/polar-chart/highchart-options/highcharts-options-builder.d.ts +2 -0
  43. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/polar-chart/polar-chart-builder.d.ts +2 -0
  44. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/area-chart/area-chart-builder.d.ts +2 -0
  45. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/area-chart/helpers/design-options.d.ts +12 -0
  46. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/area-chart/highchart-options/axes.d.ts +6 -0
  47. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/area-chart/highchart-options/highcharts-options-builder.d.ts +2 -0
  48. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/area-chart/highchart-options/labels-spacing.d.ts +8 -0
  49. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/bar-chart/highchart-options/axes.d.ts +6 -0
  50. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/bar-chart/highchart-options/labels-spacing.d.ts +9 -0
  51. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/column-chart/highchart-options/axes.d.ts +6 -0
  52. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/column-chart/highchart-options/labels-spacing.d.ts +9 -0
  53. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/helpers/highchart-options/stacking.d.ts +21 -0
  54. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/stackable/types.d.ts +1 -0
  55. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/cartesians/types.d.ts +1 -1
  56. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/build-highchart-options.d.ts +9 -4
  57. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/highcharts-based-chart-renderer/utils.d.ts +2 -1
  58. package/dist/packages/sdk-ui/src/chart/restructured-charts/highchart-based-charts/types.d.ts +1 -1
  59. package/dist/packages/sdk-ui/src/chart/restructured-charts/types.d.ts +7 -7
  60. package/dist/packages/sdk-ui/src/chart/restructured-charts/utils.d.ts +5 -0
  61. package/dist/packages/sdk-ui/src/chart-data/data-coloring/types.d.ts +6 -0
  62. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/axis-builders.d.ts +155 -0
  63. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/axis-settings.d.ts +39 -0
  64. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/axis-transformers.d.ts +45 -0
  65. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/axis-utils.d.ts +1 -0
  66. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/date-utils.d.ts +27 -0
  67. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis/index.d.ts +3 -0
  68. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/chart-configuration.d.ts +33 -3
  69. package/dist/packages/sdk-ui/src/chart-options-processor/chart-options-service.d.ts +0 -10
  70. package/dist/packages/sdk-ui/src/chart-options-processor/data-points.d.ts +1 -0
  71. package/dist/packages/sdk-ui/src/chart-options-processor/defaults/cartesian.d.ts +4 -3
  72. package/dist/packages/sdk-ui/src/chart-options-processor/translations/axis-section.d.ts +5 -12
  73. package/dist/packages/sdk-ui/src/chart-options-processor/translations/design-options.d.ts +1 -1
  74. package/dist/packages/sdk-ui/src/chart-options-processor/translations/legend-section.d.ts +2 -2
  75. package/dist/packages/sdk-ui/src/chart-options-processor/translations/types.d.ts +13 -0
  76. package/dist/packages/sdk-ui/src/chart-options-processor/translations/value-label-section.d.ts +2 -2
  77. package/dist/packages/sdk-ui/src/common/icons/drag-handle-icon.d.ts +2 -1
  78. package/dist/packages/sdk-ui/src/const.d.ts +2 -0
  79. package/dist/packages/sdk-ui/src/custom-widgets-provider/types.d.ts +10 -1
  80. package/dist/packages/sdk-ui/src/dashboard/components/editable-layout/components/draggable-line.d.ts +5 -1
  81. package/dist/packages/sdk-ui/src/dashboard/hooks/use-dashboard-header-toolbar.d.ts +0 -1
  82. package/dist/packages/sdk-ui/src/dashboard/hooks/use-edit-mode-toolbar.d.ts +0 -1
  83. package/dist/packages/sdk-ui/src/dashboard/use-dashboard-theme.d.ts +4 -0
  84. package/dist/packages/sdk-ui/src/error-boundary/error-boundary.d.ts +1 -1
  85. package/dist/packages/sdk-ui/src/filters/components/filters-panel/hooks/use-existing-filter-editing.d.ts +0 -1
  86. package/dist/packages/sdk-ui/src/filters/components/filters-panel/hooks/use-new-filter-adding.d.ts +0 -1
  87. package/dist/packages/sdk-ui/src/filters/components/member-filter-tile/use-members.d.ts +1 -1
  88. package/dist/packages/sdk-ui/src/pivot-table/formatters/data-cell-formatters/index.d.ts +1 -0
  89. package/dist/packages/sdk-ui/src/pivot-table/formatters/formatter-utils.d.ts +23 -0
  90. package/dist/packages/sdk-ui/src/pivot-table/formatters/types.d.ts +45 -2
  91. package/dist/packages/sdk-ui/src/pivot-table/formatters/utils.d.ts +1 -0
  92. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-apply-pivot-table-cell-events/get-pivot-table-data-point.d.ts +4 -0
  93. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-apply-pivot-table-cell-events/index.d.ts +1 -0
  94. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-apply-pivot-table-cell-events/types.d.ts +32 -0
  95. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-apply-pivot-table-cell-events/use-apply-pivot-table-cell-events.d.ts +18 -0
  96. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-apply-pivot-table-cell-events/utils.d.ts +11 -0
  97. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-apply-pivot-table-formatting.d.ts +6 -3
  98. package/dist/packages/sdk-ui/src/pivot-table/hooks/use-render-pivot.d.ts +8 -4
  99. package/dist/packages/sdk-ui/src/props.d.ts +122 -1
  100. package/dist/packages/sdk-ui/src/query/date-formats/apply-date-format.d.ts +7 -6
  101. package/dist/packages/sdk-ui/src/query/date-formats/index.d.ts +1 -1
  102. package/dist/packages/sdk-ui/src/query/execute-query.d.ts +3 -1
  103. package/dist/packages/sdk-ui/src/query-execution/index.d.ts +1 -1
  104. package/dist/packages/sdk-ui/src/query-execution/types.d.ts +9 -2
  105. package/dist/packages/sdk-ui/src/theme-provider/default-theme-settings.d.ts +5 -0
  106. package/dist/packages/sdk-ui/src/types.d.ts +57 -3
  107. package/dist/packages/sdk-ui/src/utils/__development-utils__/highcharts-options-builder-collector.d.ts +61 -0
  108. package/dist/packages/sdk-ui/src/utils/__development-utils__/input-output-collector.d.ts +125 -0
  109. package/dist/packages/sdk-ui/src/widget-by-id/translate-dashboard-filters.d.ts +1 -1
  110. package/dist/packages/sdk-ui/src/widget-by-id/translate-panel-color-format.d.ts +9 -0
  111. package/dist/packages/sdk-ui/src/widget-by-id/translate-statistical-models.d.ts +10 -0
  112. package/dist/packages/sdk-ui/src/widget-by-id/translate-widget-data-options.d.ts +0 -14
  113. package/dist/packages/sdk-ui/src/widget-by-id/types.d.ts +6 -4
  114. package/dist/packages/sdk-ui/src/widget-by-id/utils.d.ts +2 -2
  115. package/dist/packages/sdk-ui/src/widgets/common/drilldown-breadcrumbs/styled-buttons.d.ts +2 -6
  116. package/dist/types-BYUVZb6u.js +80 -0
  117. package/dist/types-QUSMO7gF.cjs +1 -0
  118. package/dist/use-common-filters-DmdADAhl.cjs +350 -0
  119. package/dist/{use-common-filters-CVgB69Xe.js → use-common-filters-wo5IRF5u.js} +6326 -6441
  120. package/dist/{widget-composer-B4eAv2pf.js → widget-composer-BG4HonVl.js} +159 -239
  121. package/dist/{widget-composer-D0FZj1tX.cjs → widget-composer-CGp5yOny.cjs} +9 -9
  122. package/package.json +27 -17
  123. package/dist/derive-chart-family-BCY-GLVZ.cjs +0 -672
  124. package/dist/dimensions-DAISVpEZ.cjs +0 -1
  125. package/dist/packages/sdk-ui/src/chart-options-processor/cartesian/utils/axis-configuration.d.ts +0 -41
  126. package/dist/use-common-filters-CRrL9rOQ.cjs +0 -350
@@ -1,142 +1,73 @@
1
- var at = Object.defineProperty, st = Object.defineProperties;
2
- var nt = Object.getOwnPropertyDescriptors;
3
- var E = Object.getOwnPropertySymbols;
4
- var P = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
5
- var $ = (t, e, r) => e in t ? at(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, o = (t, e) => {
1
+ var et = Object.defineProperty, rt = Object.defineProperties;
2
+ var it = Object.getOwnPropertyDescriptors;
3
+ var w = Object.getOwnPropertySymbols;
4
+ var j = Object.prototype.hasOwnProperty, A = Object.prototype.propertyIsEnumerable;
5
+ var q = (t, e, r) => e in t ? et(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, o = (t, e) => {
6
6
  for (var r in e || (e = {}))
7
- P.call(e, r) && $(t, r, e[r]);
8
- if (E)
9
- for (var r of E(e))
10
- L.call(e, r) && $(t, r, e[r]);
7
+ j.call(e, r) && q(t, r, e[r]);
8
+ if (w)
9
+ for (var r of w(e))
10
+ A.call(e, r) && q(t, r, e[r]);
11
11
  return t;
12
- }, c = (t, e) => st(t, nt(e));
13
- var A = (t, e) => {
12
+ }, c = (t, e) => rt(t, it(e));
13
+ var L = (t, e) => {
14
14
  var r = {};
15
15
  for (var i in t)
16
- P.call(t, i) && e.indexOf(i) < 0 && (r[i] = t[i]);
17
- if (t != null && E)
18
- for (var i of E(t))
19
- e.indexOf(i) < 0 && L.call(t, i) && (r[i] = t[i]);
16
+ j.call(t, i) && e.indexOf(i) < 0 && (r[i] = t[i]);
17
+ if (t != null && w)
18
+ for (var i of w(t))
19
+ e.indexOf(i) < 0 && A.call(t, i) && (r[i] = t[i]);
20
20
  return r;
21
21
  };
22
- import { eb as ot, ec as lt, ed as dt, ee as ct, e5 as J, w as ut, m as q, T as S, ef as pt, aU as K, dM as mt, eg as O, e7 as U, aD as gt, b5 as yt, b4 as ft, aL as I, at as ht, n as M, eh as St, a8 as Ot, bN as Q, ei as Tt } from "./derive-chart-family-DvYmrG1k.js";
23
- class Y extends J {
24
- constructor(e, r) {
25
- var i;
26
- super((i = e.jaql.title) !== null && i !== void 0 ? i : "", r), this.__serializable = "JaqlElement", this.expression = e.jaql.dim || e.jaql.formula, this.metadataItem = e, e.jaql.agg ? this.aggregation = e.jaql.agg : delete this.aggregation, e.jaql.formula ? this.formula = e.jaql.formula : delete this.formula, e.jaql.sort ? this.sortType = ut(e.jaql.sort) : delete this.sortType, this.skipValidation = !0;
27
- }
28
- get id() {
29
- return this.expression;
30
- }
31
- jaql(e) {
32
- return e === !0 ? this.metadataItem.jaql : this.metadataItem;
33
- }
34
- /**
35
- * Gets a serializable representation of the element
36
- */
37
- serialize() {
38
- const e = super.serialize();
39
- return e.metadataItem = this.metadataItem, e.type = this.type, e;
40
- }
41
- }
42
- const bt = {
43
- text: q.TextAttribute,
44
- numeric: q.NumericAttribute,
45
- datetime: q.DateLevel
46
- }, le = (t) => t && t.__serializable === "JaqlElement";
47
- function vt(t) {
48
- var e;
49
- return new Y(t, (e = bt[t.jaql.datatype]) !== null && e !== void 0 ? e : "numeric");
50
- }
51
- function V(t) {
52
- const { jaql: e } = t;
53
- if (e.formula)
54
- return ot(e);
55
- const r = lt(e);
56
- return "agg" in e && e.dim && e.datatype ? dt({
57
- expression: e.dim,
58
- dataType: e.datatype,
59
- agg: e.agg || "",
60
- granularity: r,
61
- format: void 0,
62
- sort: e.sort,
63
- title: e.title,
64
- dataSource: e.datasource
65
- }) : e.dim && e.datatype ? ct({
66
- expression: e.dim,
67
- dataType: e.datatype,
68
- granularity: r,
69
- sort: e.sort,
70
- title: e.title,
71
- panel: t.panel,
72
- dataSource: e.datasource
73
- }) : vt(t);
74
- }
75
- const de = {
76
- jaql: {
77
- datasource: {
78
- title: "",
79
- type: "elasticube"
80
- },
81
- metadata: []
82
- },
83
- queryTitle: "",
84
- chartRecommendations: {}
85
- }, ce = {
86
- model: "",
87
- metadata: [],
88
- chart: {},
89
- queryTitle: ""
90
- }, ue = (t) => "widgetProps" in t, xt = (t) => "dashboardOid" in t && "widgetOid" in t, pe = (t) => "dashboardProps" in t, me = (t) => "dashboardOid" in t;
91
- function Et(t) {
22
+ import { J as at, c as z, i as st } from "./types-BYUVZb6u.js";
23
+ import { A as nt, i as ot, a as lt, b as dt, n as M, g as ct } from "./derive-chart-family-BLG1sO1D.js";
24
+ import { T as h, l as J, A as ut, m as O, D as pt, n as K, o as mt, q as I, r as gt, s as Q, t as yt } from "./execute-query-agpyzZz6.js";
25
+ function ft(t) {
92
26
  return t.replace(/\s+/g, "-").replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase();
93
27
  }
94
- function ge(t) {
28
+ function re(t) {
95
29
  return t.charAt(0).toUpperCase() + t.slice(1);
96
30
  }
97
- function ye(t) {
31
+ function ie(t) {
98
32
  const e = /\[(.+?)\s\(Calendar\)\]/;
99
33
  return t.replace(e, "[$1]").trim();
100
34
  }
101
- function fe(t) {
35
+ function ae(t) {
102
36
  if (t)
103
37
  if (t.metadata) {
104
38
  if (!t.model)
105
- throw new S("errors.missingModelTitle");
106
- } else
107
- throw new S("errors.missingMetadata");
108
- else
109
- throw new S("errors.emptyModel");
39
+ throw new h("errors.missingModelTitle");
40
+ } else throw new h("errors.missingMetadata");
41
+ else throw new h("errors.emptyModel");
110
42
  return t;
111
43
  }
112
- function Dt(t) {
44
+ function St(t) {
113
45
  return !t || !t.jaql.datasource.title || !t.jaql.metadata.length;
114
46
  }
115
- function H(t) {
47
+ function U(t) {
116
48
  if (![
117
- ...pt,
49
+ ...nt,
118
50
  "pivot",
119
51
  "pivot2"
120
- ].includes(t))
121
- throw new S("errors.chartTypeNotSupported", {
122
- chartType: t
123
- });
52
+ ].includes(t)) throw new h("errors.chartTypeNotSupported", {
53
+ chartType: t
54
+ });
124
55
  }
125
- function wt(t) {
56
+ function ht(t) {
126
57
  return "widgetType" in t && t.widgetType === "pivot";
127
58
  }
128
- function h(t) {
59
+ function S(t) {
129
60
  var e;
130
61
  return "column" in t && ((e = t.column) == null ? void 0 : e.expression) && /\(.*\)/.test(t.column.expression);
131
62
  }
132
63
  function k(t) {
133
64
  const e = "measures" in t && p(t.measures) || "values" in t && p(t.values);
134
- return wt(t) ? "values" in t.dataOptions && p(t.dataOptions.values) : "chartType" in t ? t.chartType === "indicator" ? "value" in t.dataOptions && p(t.dataOptions.value) || "secondary" in t.dataOptions && p(t.dataOptions.secondary) : t.chartType === "table" ? !("columns" in t.dataOptions) || !p(t.dataOptions.columns) ? !1 : t.dataOptions.columns.some((i) => h(i)) : t.chartType === "boxplot" ? !1 : t.chartType === "scatter" ? "x" in t.dataOptions && t.dataOptions.x !== void 0 && h(t.dataOptions.x) || "y" in t.dataOptions && t.dataOptions.y !== void 0 && h(t.dataOptions.y) || "size" in t.dataOptions && t.dataOptions.size !== void 0 : t.chartType === "scattermap" ? "colorBy" in t.dataOptions && t.dataOptions.colorBy !== void 0 && h(t.dataOptions.colorBy) || "details" in t.dataOptions && t.dataOptions.details !== void 0 && h(t.dataOptions.details) || "size" in t.dataOptions && t.dataOptions.size !== void 0 && h(t.dataOptions.size) : t.chartType === "areamap" ? "geo" in t.dataOptions && p(t.dataOptions.geo) && "color" in t.dataOptions && p(t.dataOptions.color) : "value" in t.dataOptions && p(t.dataOptions.value) : e;
65
+ return ht(t) ? "values" in t.dataOptions && p(t.dataOptions.values) : "chartType" in t ? t.chartType === "indicator" ? "value" in t.dataOptions && p(t.dataOptions.value) || "secondary" in t.dataOptions && p(t.dataOptions.secondary) : t.chartType === "table" ? !("columns" in t.dataOptions) || !p(t.dataOptions.columns) ? !1 : t.dataOptions.columns.some((i) => S(i)) : t.chartType === "boxplot" ? !1 : t.chartType === "scatter" ? "x" in t.dataOptions && t.dataOptions.x !== void 0 && S(t.dataOptions.x) || "y" in t.dataOptions && t.dataOptions.y !== void 0 && S(t.dataOptions.y) || "size" in t.dataOptions && t.dataOptions.size !== void 0 : t.chartType === "scattermap" ? "colorBy" in t.dataOptions && t.dataOptions.colorBy !== void 0 && S(t.dataOptions.colorBy) || "details" in t.dataOptions && t.dataOptions.details !== void 0 && S(t.dataOptions.details) || "size" in t.dataOptions && t.dataOptions.size !== void 0 && S(t.dataOptions.size) : t.chartType === "areamap" ? "geo" in t.dataOptions && p(t.dataOptions.geo) && "color" in t.dataOptions && p(t.dataOptions.color) : "value" in t.dataOptions && p(t.dataOptions.value) : e;
135
66
  }
136
67
  function p(t) {
137
68
  return Array.isArray(t) && t.length > 0;
138
69
  }
139
- function Ct(t) {
70
+ function Ot(t) {
140
71
  const e = t.split(`
141
72
  `);
142
73
  for (let r = 0; r < e.length - 1; r++)
@@ -150,7 +81,7 @@ function Ct(t) {
150
81
  return e.join(`
151
82
  `);
152
83
  }
153
- function qt(t) {
84
+ function Tt(t) {
154
85
  const e = (i) => /^[$A-Z_][0-9A-Z_$]*$/i.test(i);
155
86
  if ("composeCode" in t)
156
87
  return t;
@@ -161,7 +92,7 @@ function qt(t) {
161
92
  }
162
93
  return r;
163
94
  }
164
- const Mt = {
95
+ const bt = {
165
96
  react: {
166
97
  baseChartTmpl: `import { {{componentString}} } from '@sisense/sdk-ui';
167
98
  {{extraImportsString}}
@@ -620,10 +551,10 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
620
551
  </template>`,
621
552
  dashboardTmpl: "/** COMING SOON */"
622
553
  }
623
- }, G = (t, e) => Mt[e][t].replace(/{{(.*?)Tmpl}}/g, (i, a) => G(`${a}Tmpl`, e)), It = (t, e) => t.replace(/{{(.*?)}}/g, (r, i) => i in e ? e[i] : (console.warn(`Placeholder ${i} not found in data`), r)), j = (t, e, r = "react") => {
624
- const i = G(t, r);
625
- return Ct(It(i, e));
626
- }, jt = () => Object.values(mt).map((e) => K.aggregationToJAQL(e)).join("|"), Z = (t) => {
554
+ }, V = (t, e) => bt[e][t].replace(/{{(.*?)Tmpl}}/g, (i, a) => V(`${a}Tmpl`, e)), vt = (t, e) => t.replace(/{{(.*?)}}/g, (r, i) => i in e ? e[i] : (console.warn(`Placeholder ${i} not found in data`), r)), $ = (t, e, r = "react") => {
555
+ const i = V(t, r);
556
+ return Ot(vt(i, e));
557
+ }, xt = () => Object.values(ut).map((e) => J.aggregationToJAQL(e)).join("|"), Y = (t) => {
627
558
  const { formula: e, context: r, filter: i } = t;
628
559
  if (!r || !e)
629
560
  return t;
@@ -633,7 +564,7 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
633
564
  const s = a[0];
634
565
  if (typeof s != "string")
635
566
  return t;
636
- const n = r[`${s}`], u = jt(), l = new RegExp(`^\\s*(${u})\\(\\[\\w+\\]\\)$`), g = e.match(l);
567
+ const n = r[`${s}`], u = xt(), l = new RegExp(`^\\s*(${u})\\(\\[\\w+\\]\\)$`), g = e.match(l);
637
568
  if (g && e.includes(s)) {
638
569
  const d = g[1];
639
570
  return o({
@@ -648,162 +579,160 @@ import { DashboardById } from '@sisense/sdk-ui-vue';
648
579
  } : {});
649
580
  }
650
581
  return t;
651
- }, w = (t) => {
582
+ }, E = (t) => {
652
583
  let e = t;
653
- if ("formula" in t && (e = Z(t)), "context" in e) {
584
+ if ("formula" in t && (e = Y(t)), "context" in e) {
654
585
  const r = o({}, e.context);
655
586
  Object.keys(r).forEach((i) => {
656
- r[`${i}`] = w(r[`${i}`]);
587
+ r[`${i}`] = E(r[`${i}`]);
657
588
  }), e.context = r;
658
589
  }
659
590
  return e;
660
- }, Wt = (t) => {
591
+ }, wt = (t) => {
661
592
  var i;
662
593
  const e = t;
663
- if (e.panel !== "scope")
664
- return e;
594
+ if (e.panel !== "scope") return e;
665
595
  const { jaql: r } = e;
666
- return (i = r.filter) != null && i.by && (r.filter.by = Z(r.filter.by)), c(o({}, e), {
596
+ return (i = r.filter) != null && i.by && (r.filter.by = Y(r.filter.by)), c(o({}, e), {
667
597
  jaql: r
668
598
  });
669
- }, $t = (t) => {
599
+ }, Dt = (t) => {
670
600
  let e = t;
671
- e = Wt(e);
601
+ e = wt(e);
672
602
  const { jaql: r, measure: i, by: a } = e;
673
603
  return o(o(c(o({}, e), {
674
- jaql: w(r)
604
+ jaql: E(r)
675
605
  }), a ? {
676
- by: w(a)
606
+ by: E(a)
677
607
  } : {}), i ? {
678
- measure: w(i)
608
+ measure: E(i)
679
609
  } : {});
680
610
  }, C = 6, D = `
681
- `, W = "UNKNOWN", Pt = (t, e) => {
611
+ `, W = "UNKNOWN", Et = (t, e) => {
682
612
  let r = "";
683
613
  return r += `measureFactory.customFormula(
684
614
  `, r += " ".repeat(e), r += ` '${O(t.title)}',
685
615
  `, r += " ".repeat(e), r += ` '${t.formula}',
686
616
  `, r += " ".repeat(e), r += ` {
687
617
  `, Object.entries(t.context).forEach(([i, a]) => {
688
- const s = U(a.table || W, a.column || W, void 0, "DM");
618
+ const s = K(a.table || W, a.column || W, void 0, "DM");
689
619
  r += " ".repeat(e), r += ` '${i.slice(1, -1)}': ${s},
690
620
  `;
691
621
  }), r += " ".repeat(e), r += ` }
692
622
  `, r += " ".repeat(e), r += ")", r;
693
- }, Lt = (t) => {
623
+ }, Ct = (t) => {
694
624
  const { level: e, table: r, column: i, agg: a, title: s } = t;
695
625
  let n;
696
- return r && i && (n = U(r, i, e, "DM")), a && r && i && s && (n = `measureFactory.${K.aggregationFromJAQL(a)}(${n}, '${O(s)}')`), n || W;
697
- }, At = (t, e) => {
626
+ return r && i && (n = K(r, i, e, "DM")), a && r && i && s && (n = `measureFactory.${J.aggregationFromJAQL(a)}(${n}, '${O(s)}')`), n || W;
627
+ }, It = (t, e) => {
698
628
  const r = t.jaql(!1).jaql;
699
- return "formula" in r ? Pt(r, e) : Lt(r);
629
+ return "formula" in r ? Et(r, e) : Ct(r);
700
630
  }, m = (t, e = 0, r = !1) => {
701
631
  if (!t)
702
632
  return "";
703
633
  if (typeof t == "string")
704
634
  return `'${O(t)}'`;
705
- if (t instanceof Y)
706
- return At(t, e);
707
- if (t instanceof J)
635
+ if (t instanceof at)
636
+ return It(t, e);
637
+ if (t instanceof pt)
708
638
  return t.composeCode || "";
709
639
  let i = "";
710
640
  return Array.isArray(t) ? i += `[${t.map((a) => m(a, e + 2))}${t.length ? D + " ".repeat(e + 2) : ""}]` : (i += `{${D}`, Object.entries(t).forEach(([a, s]) => {
711
641
  if (r && typeof a == "string" && (a = `'${O(a)}'`), i += " ".repeat(e + 2), Array.isArray(s))
712
642
  i += `${a}: [${s.map((n) => m(n, e + 4, r))}${s.length ? D + " ".repeat(e + 2) : ""}]`;
713
643
  else if (typeof s == "object" && s !== null) {
714
- const n = Array.isArray(s) ? s : qt(s);
644
+ const n = Array.isArray(s) ? s : Tt(s);
715
645
  i += `${a}: ${m(n, e + 2, r)}`;
716
- } else
717
- [
718
- "number",
719
- "boolean",
720
- "undefined"
721
- ].includes(typeof s) || s === null ? i += `${a}: ${s}` : typeof s == "string" ? i += `${a}: '${O(s)}'` : i += `${a}: ${s}`;
646
+ } else [
647
+ "number",
648
+ "boolean",
649
+ "undefined"
650
+ ].includes(typeof s) || s === null ? i += `${a}: ${s}` : typeof s == "string" ? i += `${a}: '${O(s)}'` : i += `${a}: ${s}`;
722
651
  i += `,${D}`;
723
652
  }), i += " ".repeat(e), i += "}"), i;
724
653
  };
725
- function Qt(t) {
654
+ function Mt(t) {
726
655
  return m(t, C);
727
656
  }
728
- function B(t, e = "data-source-placeholder") {
657
+ function P(t, e = "data-source-placeholder") {
729
658
  if (!t)
730
659
  return e;
731
660
  const r = typeof t == "object" && "title" in t ? t.title : t;
732
- return Et(r);
661
+ return ft(r);
733
662
  }
734
- function F(t, e = !0) {
663
+ function B(t, e = !0) {
735
664
  const r = [];
736
665
  return e && r.push("measureFactory"), p(t) && r.push("filterFactory"), r.length > 0 ? `import { ${r.join(", ")} } from '@sisense/sdk-data';` : "";
737
666
  }
738
- const R = `
739
- `, kt = (t, e) => {
667
+ const F = `
668
+ `, $t = (t, e) => {
740
669
  if (t.composeCode)
741
- return `${R}${" ".repeat(e)}${t.composeCode}`;
670
+ return `${F}${" ".repeat(e)}${t.composeCode}`;
742
671
  const r = t.jaql().jaql;
743
- return `${R}${" ".repeat(e)}filterFactory.customFilter(${m(r, e, !0)})`;
744
- }, Bt = (t, e = 0) => {
672
+ return `${F}${" ".repeat(e)}filterFactory.customFilter(${m(r, e, !0)})`;
673
+ }, Wt = (t, e = 0) => {
745
674
  if (!t)
746
675
  return "";
747
676
  let r = "";
748
- return r += `[${t.map((i) => kt(i, e + 2))}${t.length ? `
677
+ return r += `[${t.map((i) => $t(i, e + 2))}${t.length ? `
749
678
  ` + " ".repeat(e + 2) : ""}]`, r;
750
- }, _ = (t) => t ? Array.isArray(t) ? Bt(t, 6) : "/** Filter relations not supported yet */" : "[]", Ft = [
679
+ }, R = (t) => t ? Array.isArray(t) ? Wt(t, 6) : "/** Filter relations not supported yet */" : "[]", qt = [
751
680
  "executeQueryByWidgetIdTmpl",
752
681
  "widgetByIdTmpl"
753
- ], Rt = "chartWidgetTmpl", _t = "pivotTableWidgetTmpl", Nt = (t) => t, zt = ({ dashboardOid: t, widgetOid: e, uiFramework: r = "react", chartType: i = "table", includeChart: a = !0 }) => {
754
- H(i);
682
+ ], jt = "chartWidgetTmpl", At = "pivotTableWidgetTmpl", Lt = (t) => t, Qt = ({ dashboardOid: t, widgetOid: e, uiFramework: r = "react", chartType: i = "table", includeChart: a = !0 }) => {
683
+ U(i);
755
684
  const s = {
756
685
  dashboardOid: t,
757
686
  widgetOid: e
758
- }, n = Ft[Number(a)];
759
- return j(n, s, r);
760
- }, Jt = (t, e, r) => {
761
- if (gt(t)) {
762
- H(t.chartType);
687
+ }, n = qt[Number(a)];
688
+ return $(n, s, r);
689
+ }, kt = (t, e, r) => {
690
+ if (ot(t)) {
691
+ U(t.chartType);
763
692
  const i = k(t), a = {
764
693
  idString: t.id,
765
694
  widgetTypeString: "chart",
766
695
  titleString: t.title,
767
- dataSourceString: B(t.dataSource),
768
- chartTypeString: Nt(t.chartType),
769
- dataOptionsString: Qt(t.dataOptions),
770
- filtersString: _(t.filters),
696
+ dataSourceString: P(t.dataSource),
697
+ chartTypeString: Lt(t.chartType),
698
+ dataOptionsString: Mt(t.dataOptions),
699
+ filtersString: R(t.filters),
771
700
  componentString: "ChartWidget",
772
- extraImportsString: F(t.filters || [], i),
701
+ extraImportsString: B(t.filters || [], i),
773
702
  styleOptionsString: m(t.styleOptions || {}, C),
774
703
  drilldownOptionsString: m(t.drilldownOptions || {}, C)
775
704
  };
776
- return j(r.chart, a, e);
705
+ return $(r.chart, a, e);
777
706
  }
778
- if (yt(t)) {
707
+ if (lt(t)) {
779
708
  const i = k(t), a = {
780
709
  idString: t.id,
781
710
  widgetTypeString: "pivot",
782
711
  titleString: t.title,
783
- dataSourceString: B(t.dataSource),
712
+ dataSourceString: P(t.dataSource),
784
713
  dataOptionsString: m(t.dataOptions),
785
- filtersString: _(t.filters),
714
+ filtersString: R(t.filters),
786
715
  componentString: "PivotTableWidget",
787
- extraImportsString: F(t.filters || [], i),
716
+ extraImportsString: B(t.filters || [], i),
788
717
  styleOptionsString: m(t.styleOptions || {}, C)
789
718
  };
790
- return j(r.pivot, a, e);
719
+ return $(r.pivot, a, e);
791
720
  }
792
- if (ft(t))
721
+ if (dt(t))
793
722
  return "/** Custom widget code not supported yet */";
794
- throw new S("errors.otherWidgetTypesNotSupported");
795
- }, Kt = ({ widgetProps: t, uiFramework: e = "react" }) => Jt(t, e, {
796
- chart: Rt,
797
- pivot: _t
798
- }), he = (t) => "chartType" in t.chartRecommendations ? t.chartRecommendations : {
723
+ throw new h("errors.otherWidgetTypesNotSupported");
724
+ }, Pt = ({ widgetProps: t, uiFramework: e = "react" }) => kt(t, e, {
725
+ chart: jt,
726
+ pivot: At
727
+ }), se = (t) => "chartType" in t.chartRecommendations ? t.chartRecommendations : {
799
728
  chartType: "table",
800
729
  chartFamily: "table",
801
730
  axesMapping: {}
802
- }, Ut = (t) => ({
731
+ }, Bt = (t) => ({
803
732
  dataOptions: {
804
- columns: t.map(V)
733
+ columns: t.map(z)
805
734
  }
806
- }), Yt = Object.freeze({
735
+ }), Ft = Object.freeze({
807
736
  convolution: {
808
737
  enabled: !0,
809
738
  selectedConvolutionType: "bySlicesCount",
@@ -829,27 +758,26 @@ const R = `
829
758
  pie: "pie/donut",
830
759
  bar: "bar/stacked",
831
760
  column: "column/stackedcolumn"
832
- }), Vt = (t, e, r) => {
761
+ }), Rt = (t, e, r) => {
833
762
  const i = t.reduce((s, n) => (s[n.jaql.title] = n, s), {}), a = Object.entries(r).reduce((s, n) => {
834
763
  const [u, l] = n;
835
764
  return s[`${u}`] = Array.isArray(l) ? l.map((g) => {
836
765
  var T, b;
837
- const d = I(g);
766
+ const d = M(g);
838
767
  delete d.enabled;
839
768
  const y = i[d.column.name];
840
- if (!y)
841
- return {
842
- column: {
843
- type: "",
844
- name: d.column.name
845
- }
846
- };
847
- const f = V(y);
769
+ if (!y) return {
770
+ column: {
771
+ type: "",
772
+ name: d.column.name
773
+ }
774
+ };
775
+ const f = z(y);
848
776
  if (y.panel === "measures")
849
777
  return c(o({}, d), {
850
778
  column: f
851
779
  });
852
- if (ht(f.type)) {
780
+ if (mt(f.type)) {
853
781
  const v = (b = (T = y.format) == null ? void 0 : T.mask) == null ? void 0 : b[y.jaql.level];
854
782
  if (v)
855
783
  return c(o({}, d), {
@@ -883,19 +811,19 @@ const R = `
883
811
  s !== "geo" && (a[`${s}`] = a[`${s}`][0]);
884
812
  }), a;
885
813
  case "table":
886
- return Object.keys(a).length === 0 ? Ut(t).dataOptions : a;
814
+ return Object.keys(a).length === 0 ? Bt(t).dataOptions : a;
887
815
  case "boxplot":
888
816
  case "areamap":
889
817
  case "indicator":
890
818
  default:
891
819
  return a;
892
820
  }
893
- }, z = (t, e) => {
821
+ }, _ = (t, e) => {
894
822
  var r, i, a, s;
895
- return e === "x" ? (i = (r = t.category) != null ? r : t.x) == null ? void 0 : i.map((n) => I(n).column.name).join(", ") : (s = (a = t.value) != null ? a : t.y) == null ? void 0 : s.map((n) => I(n).column.name).join(", ");
896
- }, Ht = (t, e, r, i) => {
823
+ return e === "x" ? (i = (r = t.category) != null ? r : t.x) == null ? void 0 : i.map((n) => M(n).column.name).join(", ") : (s = (a = t.value) != null ? a : t.y) == null ? void 0 : s.map((n) => M(n).column.name).join(", ");
824
+ }, Nt = (t, e, r, i) => {
897
825
  let a;
898
- return i && t in N ? a = M(M(Yt, {
826
+ return i && t in N ? a = I(I(Ft, {
899
827
  subtype: N[`${t}`]
900
828
  }), {
901
829
  legend: {
@@ -905,33 +833,33 @@ const R = `
905
833
  yAxis: {
906
834
  title: {
907
835
  enabled: !0,
908
- text: z(e, "y")
836
+ text: _(e, "y")
909
837
  }
910
838
  },
911
839
  xAxis: {
912
840
  title: {
913
841
  enabled: !0,
914
- text: z(e, "x")
842
+ text: _(e, "x")
915
843
  }
916
844
  }
917
- }, r) : a = M(St(), r), a;
918
- }, Gt = (t, e, r = !0) => {
919
- const { chartFamily: i, chartType: a, axesMapping: s = {}, styleOptions: n = {} } = e, u = Vt(t, i, s), l = Ht(a, s, n, r);
845
+ }, r) : a = I(ct(), r), a;
846
+ }, _t = (t, e, r = !0) => {
847
+ const { chartFamily: i, chartType: a, axesMapping: s = {}, styleOptions: n = {} } = e, u = Rt(t, i, s), l = Nt(a, s, n, r);
920
848
  return {
921
849
  dataOptions: u,
922
850
  chartStyleOptions: l
923
851
  };
924
852
  };
925
- function Zt(t) {
853
+ function zt(t) {
926
854
  return !!(t && (t.top !== void 0 || t.bottom !== void 0));
927
855
  }
928
- const Xt = (t) => {
856
+ const Jt = (t) => {
929
857
  const e = t.find((r) => r.panel === "rows");
930
858
  return e ? t.map((r) => {
931
859
  const i = r.jaql.filter;
932
- if (!(r.panel === "scope" && Zt(i) && i.by === void 0))
860
+ if (!(r.panel === "scope" && zt(i) && i.by === void 0))
933
861
  return r;
934
- const d = r.jaql, { type: s, context: n, formula: u, filter: l } = d, g = A(d, ["type", "context", "formula", "filter"]);
862
+ const d = r.jaql, { type: s, context: n, formula: u, filter: l } = d, g = L(d, ["type", "context", "formula", "filter"]);
935
863
  return c(o({}, r), {
936
864
  jaql: o({
937
865
  // Copy dimension properties from rows dimension
@@ -950,11 +878,11 @@ const Xt = (t) => {
950
878
  }, g)
951
879
  });
952
880
  }) : t;
953
- }, te = (t) => "chartType" in t ? t : {
881
+ }, Kt = (t) => "chartType" in t ? t : {
954
882
  chartType: "table",
955
883
  chartFamily: "table",
956
884
  axesMapping: {}
957
- }, ee = (t) => t.map((e) => Ot(e.jaql)), re = (t) => t.reduce((e, r) => {
885
+ }, Ut = (t) => t.map((e) => gt(e.jaql)), Vt = (t) => t.reduce((e, r) => {
958
886
  if ((r.panel === "scope" || r.jaql.filter) && e.metadataFilters.push(Q(r)), r.panel !== "scope") {
959
887
  const i = Q(r);
960
888
  delete i.jaql.filter, e.metadataColumns.push(i);
@@ -963,67 +891,59 @@ const Xt = (t) => {
963
891
  }, {
964
892
  metadataColumns: [],
965
893
  metadataFilters: []
966
- }), ie = (t, e) => {
967
- if (!Dt(t))
894
+ }), Yt = (t, e) => {
895
+ if (!St(t))
968
896
  try {
969
897
  const { useCustomizedStyleOptions: r = !1 } = e || {}, { jaql: i, chartRecommendations: a, queryTitle: s } = t, { metadata: n, datasource: u } = i, l = c(o({}, u), {
970
898
  type: u.type || "elasticube"
971
- }), g = Tt(l), y = Xt(n).map((x) => $t(x)).map((x) => c(o({}, x), {
899
+ }), g = yt(l), y = Jt(n).map((x) => Dt(x)).map((x) => c(o({}, x), {
972
900
  jaql: c(o({}, x.jaql), {
973
901
  datasource: g
974
902
  })
975
- })), f = te(a), T = f.chartType.toLowerCase(), b = {
903
+ })), f = Kt(a), T = f.chartType.toLowerCase(), b = {
976
904
  cornerRadius: "Small",
977
905
  header: {
978
906
  // remove info button and render empty toolbar instead
979
907
  renderToolbar: () => null
980
908
  }
981
- }, { metadataColumns: v, metadataFilters: X } = re(y), tt = ee(X), { dataOptions: et, chartStyleOptions: rt } = Gt(v, f, r), it = o(o({}, rt), b);
909
+ }, { metadataColumns: v, metadataFilters: Z } = Vt(y), G = Ut(Z), { dataOptions: H, chartStyleOptions: X } = _t(v, f, r), tt = o(o({}, X), b);
982
910
  return {
983
911
  widgetType: "chart",
984
912
  id: s,
985
913
  title: s,
986
914
  chartType: T,
987
915
  dataSource: l,
988
- dataOptions: et,
989
- filters: tt,
990
- styleOptions: it
916
+ dataOptions: H,
917
+ filters: G,
918
+ styleOptions: tt
991
919
  };
992
920
  } catch (r) {
993
921
  console.error(r);
994
922
  return;
995
923
  }
996
- }, ae = (t, e) => ie(t, e), se = (t) => xt(t) ? zt(t) : Kt(t), Se = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
924
+ }, Zt = (t, e) => Yt(t, e), Gt = (t) => st(t) ? Qt(t) : Pt(t), ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
997
925
  __proto__: null,
998
- toWidgetCode: se,
999
- toWidgetProps: ae
926
+ toWidgetCode: Gt,
927
+ toWidgetProps: Zt
1000
928
  }, Symbol.toStringTag, { value: "Module" }));
1001
929
  export {
1002
930
  C,
1003
- ce as E,
1004
- Y as J,
1005
- j as a,
931
+ $ as a,
1006
932
  k as b,
1007
- ge as c,
1008
- B as d,
1009
- _ as e,
1010
- F as f,
1011
- Jt as g,
933
+ re as c,
934
+ P as d,
935
+ R as e,
936
+ B as f,
937
+ kt as g,
1012
938
  m as h,
1013
- me as i,
1014
- le as j,
1015
- de as k,
1016
- ue as l,
1017
- xt as m,
1018
- pe as n,
1019
- $t as o,
1020
- It as p,
1021
- he as q,
1022
- Vt as r,
1023
- ye as s,
1024
- ae as t,
1025
- Ht as u,
1026
- fe as v,
1027
- Se as w,
1028
- Gt as x
939
+ Dt as i,
940
+ se as j,
941
+ Rt as k,
942
+ Nt as l,
943
+ _t as m,
944
+ vt as p,
945
+ ie as s,
946
+ Zt as t,
947
+ ae as v,
948
+ ne as w
1029
949
  };