@embeddable.com/remarkable-pro 0.1.32 → 0.2.1

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 (151) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +1 -1
  2. package/dist/BarChartDefaultPro.js +1 -1
  3. package/dist/BarChartGroupedHorizontalPro.js +1 -1
  4. package/dist/BarChartGroupedPro.js +1 -1
  5. package/dist/BarChartStackedHorizontalPro.js +1 -1
  6. package/dist/BarChartStackedPro.js +1 -1
  7. package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
  8. package/dist/DateRangePickerCustomPro.js +1 -1
  9. package/dist/DateRangeSelectFieldPro.js +1 -1
  10. package/dist/DonutChartPro.js +1 -1
  11. package/dist/DonutLabelChartPro.js +1 -1
  12. package/dist/HeatMapPro.js +1 -1
  13. package/dist/KpiChartNumberComparisonPro.js +1 -1
  14. package/dist/LineChartComparisonDefaultPro.js +1 -1
  15. package/dist/LineChartDefaultPro.js +1 -1
  16. package/dist/LineChartGroupedPro.js +1 -1
  17. package/dist/PieChartPro.js +1 -1
  18. package/dist/PivotTablePro.js +1 -1
  19. package/dist/TableChartPaginated.js +1 -1
  20. package/dist/TableScrollable.js +1 -1
  21. package/dist/bars.loadData.utils-3BlUREY3.js +126 -0
  22. package/dist/bars.loadData.utils-3BlUREY3.js.map +1 -0
  23. package/dist/{bars.utils-jD7h2lii.js → bars.utils-CG7i6UTJ.js} +2 -2
  24. package/dist/{bars.utils-jD7h2lii.js.map → bars.utils-CG7i6UTJ.js.map} +1 -1
  25. package/dist/charts.fillGaps.hooks-B6T9882L.js +70 -0
  26. package/dist/charts.fillGaps.hooks-B6T9882L.js.map +1 -0
  27. package/dist/{charts.utils-N3kN-XFw.js → charts.utils-BMX0edl3.js} +3480 -3511
  28. package/dist/charts.utils-BMX0edl3.js.map +1 -0
  29. package/dist/clientContext.utils-DpB5KsfX.js +15 -0
  30. package/dist/clientContext.utils-DpB5KsfX.js.map +1 -0
  31. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts +4 -3
  32. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts.map +1 -1
  33. package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts +4 -3
  34. package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts.map +1 -1
  35. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts +2 -1
  36. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts.map +1 -1
  37. package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts +2 -1
  38. package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts.map +1 -1
  39. package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts +2 -1
  40. package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts.map +1 -1
  41. package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts +2 -1
  42. package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts.map +1 -1
  43. package/dist/components/charts/bars/bars.loadData.utils.d.ts +9 -5
  44. package/dist/components/charts/bars/bars.loadData.utils.d.ts.map +1 -1
  45. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts +6 -5
  46. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts.map +1 -1
  47. package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts +6 -5
  48. package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts.map +1 -1
  49. package/dist/components/charts/lines/LineChartDefaultPro/definition.d.ts +4 -3
  50. package/dist/components/charts/lines/LineChartDefaultPro/definition.d.ts.map +1 -1
  51. package/dist/components/charts/lines/LineChartGroupedPro/definition.d.ts +4 -3
  52. package/dist/components/charts/lines/LineChartGroupedPro/definition.d.ts.map +1 -1
  53. package/dist/components/charts/tables/HeatMapPro/definition.d.ts +4 -3
  54. package/dist/components/charts/tables/HeatMapPro/definition.d.ts.map +1 -1
  55. package/dist/components/charts/tables/PivotTablePro/definition.d.ts +6 -5
  56. package/dist/components/charts/tables/PivotTablePro/definition.d.ts.map +1 -1
  57. package/dist/components/charts/tables/tables.utils.d.ts.map +1 -1
  58. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
  59. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
  60. package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.types.d.ts +1 -1
  61. package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.types.d.ts.map +1 -1
  62. package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.d.ts +1 -1
  63. package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.d.ts.map +1 -1
  64. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
  65. package/dist/components/editors/dates/dates.utils.d.ts +3 -3
  66. package/dist/components/editors/dates/dates.utils.d.ts.map +1 -1
  67. package/dist/{dates.utils-C3LPV893.js → dates.utils-D44sdrNs.js} +36 -36
  68. package/dist/{dates.utils-C3LPV893.js.map → dates.utils-D44sdrNs.js.map} +1 -1
  69. package/dist/definition-B1B71Q9P.js +164 -0
  70. package/dist/definition-B1B71Q9P.js.map +1 -0
  71. package/dist/{definition-B2mKjUhy.js → definition-B1t6-ToS.js} +87 -84
  72. package/dist/definition-B1t6-ToS.js.map +1 -0
  73. package/dist/{definition-Cx1UPIho.js → definition-B86qFSz_.js} +2 -2
  74. package/dist/{definition-Cx1UPIho.js.map → definition-B86qFSz_.js.map} +1 -1
  75. package/dist/{definition-Dizabfqb.js → definition-BejgCcXe.js} +94 -92
  76. package/dist/{definition-Dizabfqb.js.map → definition-BejgCcXe.js.map} +1 -1
  77. package/dist/definition-Bg3R-QHm.js +206 -0
  78. package/dist/definition-Bg3R-QHm.js.map +1 -0
  79. package/dist/{definition-Bdwvh471.js → definition-BomoMNHu.js} +19 -18
  80. package/dist/definition-BomoMNHu.js.map +1 -0
  81. package/dist/{definition-CN6Ieeer.js → definition-BxDRujfc.js} +65 -63
  82. package/dist/{definition-CN6Ieeer.js.map → definition-BxDRujfc.js.map} +1 -1
  83. package/dist/{definition-B5l2-yZu.js → definition-Bx_a3I-X.js} +66 -62
  84. package/dist/definition-Bx_a3I-X.js.map +1 -0
  85. package/dist/{definition-bvWr0LdF.js → definition-CLDcybuA.js} +56 -51
  86. package/dist/definition-CLDcybuA.js.map +1 -0
  87. package/dist/{definition-Cgq79V22.js → definition-CTnDKGXw.js} +2 -2
  88. package/dist/{definition-Cgq79V22.js.map → definition-CTnDKGXw.js.map} +1 -1
  89. package/dist/{definition-C8DCZNOR.js → definition-C_wdRHYX.js} +2 -2
  90. package/dist/{definition-C8DCZNOR.js.map → definition-C_wdRHYX.js.map} +1 -1
  91. package/dist/{definition-B9bfDi7Q.js → definition-DFEQMSrJ.js} +2 -2
  92. package/dist/{definition-B9bfDi7Q.js.map → definition-DFEQMSrJ.js.map} +1 -1
  93. package/dist/{definition-Dh9UNSfZ.js → definition-DqtPYFiz.js} +39 -30
  94. package/dist/definition-DqtPYFiz.js.map +1 -0
  95. package/dist/{definition-CkVv7VMQ.js → definition-MdprJNc9.js} +2 -2
  96. package/dist/{definition-CkVv7VMQ.js.map → definition-MdprJNc9.js.map} +1 -1
  97. package/dist/{definition-DnWIyPun.js → definition-NQQg5mwf.js} +80 -76
  98. package/dist/definition-NQQg5mwf.js.map +1 -0
  99. package/dist/{definition-SCQMKDEM.js → definition-OA_X18FK.js} +46 -44
  100. package/dist/definition-OA_X18FK.js.map +1 -0
  101. package/dist/definition-nSxl9weT.js +525 -0
  102. package/dist/definition-nSxl9weT.js.map +1 -0
  103. package/dist/definition-poLEt7kb.js +210 -0
  104. package/dist/definition-poLEt7kb.js.map +1 -0
  105. package/dist/{definition-DynupxEC.js → definition-uj4b0NtW.js} +82 -78
  106. package/dist/definition-uj4b0NtW.js.map +1 -0
  107. package/dist/definition-xkAbcSB6.js +166 -0
  108. package/dist/definition-xkAbcSB6.js.map +1 -0
  109. package/dist/embeddable-components.json +42 -42
  110. package/dist/embeddable-theme-0137e.js +4437 -4455
  111. package/dist/index.js +27 -27
  112. package/dist/{pies.utils-BlPQ76Jf.js → pies.utils-DvbvSz5H.js} +2 -2
  113. package/dist/{pies.utils-BlPQ76Jf.js.map → pies.utils-DvbvSz5H.js.map} +1 -1
  114. package/dist/{tables.utils-BF3qUwBS.js → tables.utils-nCpRWyEd.js} +13 -13
  115. package/dist/{tables.utils-BF3qUwBS.js.map → tables.utils-nCpRWyEd.js.map} +1 -1
  116. package/dist/theme/defaults/defaults.ComparisonPeriods.constants.d.ts.map +1 -1
  117. package/dist/theme/defaults/defaults.DateRanges.constants.d.ts +1 -1
  118. package/dist/theme/defaults/defaults.DateRanges.constants.d.ts.map +1 -1
  119. package/dist/theme/theme.constants.d.ts.map +1 -1
  120. package/dist/theme/theme.types.d.ts +4 -0
  121. package/dist/theme/theme.types.d.ts.map +1 -1
  122. package/dist/theme/utils/clientContext.utils.d.ts +2 -0
  123. package/dist/theme/utils/clientContext.utils.d.ts.map +1 -0
  124. package/dist/timeRange.utils-CcP33PfM.js +20 -0
  125. package/dist/timeRange.utils-CcP33PfM.js.map +1 -0
  126. package/package.json +1 -1
  127. package/dist/bars.loadData.utils-FxKnljYM.js +0 -116
  128. package/dist/bars.loadData.utils-FxKnljYM.js.map +0 -1
  129. package/dist/charts.fillGaps.hooks-CvKhAwUj.js +0 -70
  130. package/dist/charts.fillGaps.hooks-CvKhAwUj.js.map +0 -1
  131. package/dist/charts.utils-N3kN-XFw.js.map +0 -1
  132. package/dist/definition-2JaSZCXp.js +0 -206
  133. package/dist/definition-2JaSZCXp.js.map +0 -1
  134. package/dist/definition-B2mKjUhy.js.map +0 -1
  135. package/dist/definition-B5l2-yZu.js.map +0 -1
  136. package/dist/definition-Bdwvh471.js.map +0 -1
  137. package/dist/definition-Bn3Fi9C4.js +0 -515
  138. package/dist/definition-Bn3Fi9C4.js.map +0 -1
  139. package/dist/definition-BrVG5pTw.js +0 -162
  140. package/dist/definition-BrVG5pTw.js.map +0 -1
  141. package/dist/definition-Dh9UNSfZ.js.map +0 -1
  142. package/dist/definition-DnWIyPun.js.map +0 -1
  143. package/dist/definition-DynupxEC.js.map +0 -1
  144. package/dist/definition-EqCeNipq.js +0 -201
  145. package/dist/definition-EqCeNipq.js.map +0 -1
  146. package/dist/definition-SCQMKDEM.js.map +0 -1
  147. package/dist/definition-bvWr0LdF.js.map +0 -1
  148. package/dist/definition-pNCrIBqW.js +0 -164
  149. package/dist/definition-pNCrIBqW.js.map +0 -1
  150. package/dist/timeRange.utils-D1hjtzlU.js +0 -20
  151. package/dist/timeRange.utils-D1hjtzlU.js.map +0 -1
@@ -1,43 +1,44 @@
1
- import { j as C, O as ae, l as F } from "./index-CJYh9LRs.js";
2
- import { useTheme as ie, definePreview as re } from "@embeddable.com/react";
3
- import { a as le, r as me, i as ue } from "./component.utils-Dua9clQJ.js";
4
- import { C as de } from "./ChartCard-Cqhxv7xl.js";
5
- import { useRef as ce, useState as P, useEffect as we } from "react";
6
- import { u as A } from "./charts.fillGaps.hooks-CvKhAwUj.js";
1
+ import { j as x, O as ie, l as F } from "./index-CJYh9LRs.js";
2
+ import { useTheme as re, definePreview as le } from "@embeddable.com/react";
3
+ import { a as me, r as ue, i as de } from "./component.utils-Dua9clQJ.js";
4
+ import { C as ce } from "./ChartCard-Cqhxv7xl.js";
5
+ import { useRef as we, useState as C, useEffect as pe } from "react";
6
+ import { u as A } from "./charts.fillGaps.hooks-B6T9882L.js";
7
7
  import { g as M } from "./formatter.utils-BLaKKpAa.js";
8
- import { u as pe } from "./tables.hooks-fVC_4V5K.js";
8
+ import { u as be } from "./tables.hooks-fVC_4V5K.js";
9
9
  import { i as a, s as f } from "./component.inputs.constants-C7tJAhsQ.js";
10
10
  import { p } from "./preview.data.constants--FLtEcg5.js";
11
- const be = (e, o) => {
12
- const n = M(o);
13
- return e.measures.map((s) => {
11
+ import { g as B } from "./clientContext.utils-DpB5KsfX.js";
12
+ const Re = (e, o) => {
13
+ const s = M(o);
14
+ return e.measures.map((n) => {
14
15
  var i, t;
15
16
  return {
16
- key: s.name,
17
- label: n.dimensionOrMeasureTitle(s),
18
- showAsPercentage: !!((i = s.inputs) != null && i.showAsPercentage),
19
- percentageDecimalPlaces: ((t = s.inputs) == null ? void 0 : t.decimalPlaces) ?? 1,
20
- accessor: (m) => m[s.name] == null ? e.displayNullAs : n.data(s, m[s.name])
17
+ key: n.name,
18
+ label: s.dimensionOrMeasureTitle(n),
19
+ showAsPercentage: !!((i = n.inputs) != null && i.showAsPercentage),
20
+ percentageDecimalPlaces: ((t = n.inputs) == null ? void 0 : t.decimalPlaces) ?? 1,
21
+ accessor: (m) => m[n.name] == null ? e.displayNullAs : s.data(n, m[n.name])
21
22
  };
22
23
  });
23
24
  }, h = (e, o) => {
24
- const n = M(o);
25
+ const s = M(o);
25
26
  return {
26
27
  key: e.dimension.name,
27
- label: n.dimensionOrMeasureTitle(e.dimension),
28
- formatValue: (s) => n.data(e.dimension, s)
28
+ label: s.dimensionOrMeasureTitle(e.dimension),
29
+ formatValue: (n) => s.data(e.dimension, n)
29
30
  };
30
- }, Re = (e) => e.filter((o) => {
31
- var n;
32
- return (n = o.inputs) == null ? void 0 : n.showColumnTotal;
33
- }).map((o) => o.name), fe = (e) => e.filter((o) => {
34
- var n;
35
- return (n = o.inputs) == null ? void 0 : n.showRowTotal;
36
- }).map((o) => o.name), he = (e, o, n = "asc") => [...e].sort((s, i) => s[o] < i[o] ? n === "asc" ? -1 : 1 : s[o] > i[o] ? n === "asc" ? 1 : -1 : 0), g = (e) => {
31
+ }, fe = (e) => e.filter((o) => {
32
+ var s;
33
+ return (s = o.inputs) == null ? void 0 : s.showColumnTotal;
34
+ }).map((o) => o.name), he = (e) => e.filter((o) => {
35
+ var s;
36
+ return (s = o.inputs) == null ? void 0 : s.showRowTotal;
37
+ }).map((o) => o.name), ge = (e, o, s = "asc") => [...e].sort((n, i) => n[o] < i[o] ? s === "asc" ? -1 : 1 : n[o] > i[o] ? s === "asc" ? 1 : -1 : 0), g = (e) => {
37
38
  var v, y;
38
- const o = ie();
39
- le(o);
40
- const { title: n, description: s, tooltip: i } = me(e), {
39
+ const o = re();
40
+ me(o);
41
+ const { title: s, description: n, tooltip: i } = ue(e), {
41
42
  resultsSubRows: t,
42
43
  measures: m,
43
44
  rowDimension: r,
@@ -59,17 +60,17 @@ const be = (e, o) => {
59
60
  }), V = A({
60
61
  results: q,
61
62
  dimension: r
62
- }), z = pe({
63
+ }), H = be({
63
64
  results: V,
64
65
  columnOrder: K,
65
66
  rowOrder: N,
66
67
  columnDimension: c,
67
68
  rowDimension: r,
68
69
  measures: m
69
- }), H = ce(null), J = be({ measures: m, displayNullAs: G }, o), Q = h({ dimension: r }, o), U = u ? h({ dimension: u }, o) : void 0, X = h({ dimension: c }, o), Y = Re(m), Z = fe(m), [$, D] = P(/* @__PURE__ */ new Set()), [ee, oe] = P(/* @__PURE__ */ new Map()), ne = (l) => {
70
+ }), J = we(null), Q = Re({ measures: m, displayNullAs: G }, o), U = h({ dimension: r }, o), X = u ? h({ dimension: u }, o) : void 0, Y = h({ dimension: c }, o), Z = fe(m), $ = he(m), [ee, D] = C(/* @__PURE__ */ new Set()), [oe, se] = C(/* @__PURE__ */ new Map()), ne = (l) => {
70
71
  D((d) => new Set(d).add(l)), I(l);
71
72
  };
72
- we(() => {
73
+ pe(() => {
73
74
  if (!t || !(t != null && t.data) || b.length === 0)
74
75
  return;
75
76
  const l = /* @__PURE__ */ new Map();
@@ -78,54 +79,54 @@ const be = (e, o) => {
78
79
  if ((S = t.data) == null ? void 0 : S.some(
79
80
  (w) => String(w[r.name]) === d
80
81
  )) {
81
- const w = ((T = t.data) == null ? void 0 : T.filter((R) => String(R[r.name]) === d)) ?? [], te = u ? he(w, u.name, "asc") : w;
82
- l.set(d, te), D((R) => {
83
- const x = new Set(R);
84
- return x.delete(d), x;
82
+ const w = ((T = t.data) == null ? void 0 : T.filter((R) => String(R[r.name]) === d)) ?? [], ae = u ? ge(w, u.name, "asc") : w;
83
+ l.set(d, ae), D((R) => {
84
+ const P = new Set(R);
85
+ return P.delete(d), P;
85
86
  });
86
87
  }
87
- }), oe(l);
88
+ }), se(l);
88
89
  }, [t, b, r, u]);
89
- const se = {
90
+ const te = {
90
91
  ...e.results,
91
92
  isLoading: !!((v = e.results) != null && v.isLoading || t != null && t.isLoading)
92
93
  };
93
- return /* @__PURE__ */ C.jsx(
94
- de,
94
+ return /* @__PURE__ */ x.jsx(
95
+ ce,
95
96
  {
96
- ref: H,
97
- title: n,
98
- description: s,
97
+ ref: J,
98
+ title: s,
99
+ description: n,
99
100
  tooltip: i,
100
- data: se,
101
+ data: te,
101
102
  dimensionsAndMeasures: [r, c, ...m],
102
103
  errorMessage: (y = e.results) == null ? void 0 : y.error,
103
104
  hideMenu: _,
104
- children: /* @__PURE__ */ C.jsx(
105
- ae,
105
+ children: /* @__PURE__ */ x.jsx(
106
+ ie,
106
107
  {
107
108
  firstColumnWidth: k,
108
109
  columnWidth: L,
109
- totalLabel: ue.t("charts.pivotTable.total"),
110
- data: z,
111
- measures: J,
112
- rowDimension: Q,
113
- columnDimension: X,
114
- columnTotalsFor: Y,
115
- rowTotalsFor: Z,
110
+ totalLabel: de.t("charts.pivotTable.total"),
111
+ data: H,
112
+ measures: Q,
113
+ rowDimension: U,
114
+ columnDimension: Y,
115
+ columnTotalsFor: Z,
116
+ rowTotalsFor: $,
116
117
  expandableRows: !!u,
117
- subRowsByRow: ee,
118
- loadingRows: $,
118
+ subRowsByRow: oe,
119
+ loadingRows: ee,
119
120
  onRowExpand: ne,
120
- subRowDimension: U
121
+ subRowDimension: X
121
122
  }
122
123
  )
123
124
  }
124
125
  );
125
- }, Oe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
126
+ }, je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
126
127
  __proto__: null,
127
128
  default: g
128
- }, Symbol.toStringTag, { value: "Module" })), ge = {
129
+ }, Symbol.toStringTag, { value: "Module" })), De = {
129
130
  name: "PivotTablePro",
130
131
  label: "Pivot Table",
131
132
  category: "Table Charts",
@@ -192,7 +193,7 @@ const be = (e, o) => {
192
193
  },
193
194
  a.maxResults
194
195
  ]
195
- }, B = {
196
+ }, E = {
196
197
  measures: [{ ...p.measure, inputs: { showRowTotal: !0, showColumnTotal: !0 } }],
197
198
  rowDimension: p.dimension,
198
199
  columnDimension: p.dimensionGroup,
@@ -201,16 +202,18 @@ const be = (e, o) => {
201
202
  expandedRowKeys: [],
202
203
  setExpandedRowKey: () => {
203
204
  }
204
- }, De = re(g, B), E = (e) => ({
205
+ }, ve = le(g, E), O = (e, o) => ({
205
206
  from: e.dataset,
206
207
  select: [e.rowDimension, e.columnDimension, ...e.measures],
207
208
  limit: e.maxResults,
208
- countRows: !0
209
- }), O = (e) => F(E(e)), W = (e, o) => ({
209
+ countRows: !0,
210
+ timezone: B(o == null ? void 0 : o.timezone)
211
+ }), W = (e, o) => F(O(e, o)), j = (e, o, s) => ({
210
212
  from: e.dataset,
211
213
  select: [e.rowDimension, e.subRowDimension, e.columnDimension, ...e.measures],
212
214
  limit: e.maxResults,
213
215
  countRows: !0,
216
+ timezone: B(s == null ? void 0 : s.timezone),
214
217
  filters: [
215
218
  {
216
219
  property: e.rowDimension,
@@ -218,42 +221,42 @@ const be = (e, o) => {
218
221
  value: o
219
222
  }
220
223
  ]
221
- }), j = (e, o) => {
224
+ }), z = (e, o, s) => {
222
225
  if (o.length > 0)
223
- return F(W(e, o));
224
- }, ve = (e, [o, n]) => {
225
- const s = (o == null ? void 0 : o.expandedRowKeys) ?? [];
226
+ return F(j(e, o, s));
227
+ }, ye = (e, [o, s], n) => {
228
+ const i = (o == null ? void 0 : o.expandedRowKeys) ?? [];
226
229
  return {
227
230
  ...e,
228
231
  state: o,
229
- expandedRowKeys: s,
230
- setExpandedRowKey: (i) => n({ expandedRowKeys: [...s, i] }),
231
- results: O(e),
232
- resultsSubRows: j(e, s)
232
+ expandedRowKeys: i,
233
+ setExpandedRowKey: (t) => s({ expandedRowKeys: [...i, t] }),
234
+ results: W(e, n),
235
+ resultsSubRows: z(e, i, n)
233
236
  };
234
- }, We = {
237
+ }, ze = {
235
238
  Component: g,
236
- meta: ge,
237
- preview: De,
238
- previewConfig: B,
239
+ meta: De,
240
+ preview: ve,
241
+ previewConfig: E,
239
242
  config: {
240
- props: ve
243
+ props: ye
241
244
  },
242
245
  results: {
243
- loadDataArgs: E,
244
- loadData: O
246
+ loadDataArgs: O,
247
+ loadData: W
245
248
  },
246
249
  resultsSubRows: {
247
- loadDataArgs: W,
248
- loadData: j
250
+ loadDataArgs: j,
251
+ loadData: z
249
252
  }
250
253
  };
251
254
  export {
252
255
  h as a,
253
- be as b,
254
- fe as c,
255
- Re as g,
256
- Oe as i,
257
- We as p
256
+ Re as b,
257
+ he as c,
258
+ fe as g,
259
+ je as i,
260
+ ze as p
258
261
  };
259
- //# sourceMappingURL=definition-B2mKjUhy.js.map
262
+ //# sourceMappingURL=definition-B1t6-ToS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-B1t6-ToS.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx","../src/components/charts/tables/PivotTablePro/definition.ts"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","export const sortArrayByProp = <T, K extends keyof T>(\n arr: T[],\n prop: K,\n order: 'asc' | 'desc' = 'asc',\n): T[] => {\n return [...arr].sort((a, b) => {\n if (a[prop] < b[prop]) return order === 'asc' ? -1 : 1;\n if (a[prop] > b[prop]) return order === 'asc' ? 1 : -1;\n return 0;\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useEffect, useRef, useState } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\nimport { sortArrayByProp } from '../../../../utils/array.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PivotTableProProps = {\n results: DataResponse;\n resultsSubRows?: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n subRowDimension?: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n expandedRowKeys: string[];\n setExpandedRowKey: (expandedRowKeys: string) => void;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n resultsSubRows,\n measures,\n rowDimension,\n subRowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n expandedRowKeys,\n setExpandedRowKey,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotSubRowDimension = subRowDimension\n ? getPivotDimension({ dimension: subRowDimension }, theme)\n : undefined;\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n const [loadingRows, setLoadingRows] = useState(new Set<string>());\n const [subRowsByRow, setSubRowsByRow] = useState(new Map<string, any[]>());\n\n const handleRowExpand = (rowKey: string) => {\n setLoadingRows((prev) => new Set(prev).add(rowKey));\n setExpandedRowKey(rowKey);\n };\n\n useEffect(() => {\n // No results or no expandedRowKeys, nothing to load\n if (!resultsSubRows || !resultsSubRows?.data || expandedRowKeys.length === 0) {\n return;\n }\n\n const subRowsByRowData = new Map<string, any[]>();\n expandedRowKeys.forEach((rowKey) => {\n const containsSubRow = resultsSubRows.data?.some(\n (row) => String(row[rowDimension.name]) === rowKey,\n );\n\n if (containsSubRow) {\n const subRows =\n resultsSubRows.data?.filter((row) => String(row[rowDimension.name]) === rowKey) ?? [];\n const subRowsSorted = subRowDimension\n ? sortArrayByProp(subRows, subRowDimension.name, 'asc')\n : subRows;\n\n subRowsByRowData.set(rowKey, subRowsSorted);\n setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n }\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n const data: DataResponse = {\n ...props.results,\n isLoading: Boolean(props.results?.isLoading || resultsSubRows?.isLoading),\n };\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={data}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n expandableRows={Boolean(subRowDimension)}\n subRowsByRow={subRowsByRow}\n loadingRows={loadingRows}\n onRowExpand={handleRowExpand}\n subRowDimension={pivotSubRowDimension}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n label: 'Measures to display',\n inputs: [\n ...inputs.measures.inputs,\n {\n ...subInputs.boolean,\n name: 'showColumnTotal',\n label: 'Show column total',\n },\n {\n ...subInputs.boolean,\n name: 'showRowTotal',\n label: 'Show row total',\n },\n {\n ...subInputs.boolean,\n name: 'showAsPercentage',\n label: 'Show as percentage',\n description: 'If turned on, other measures may be ignored',\n defaultValue: false,\n },\n ],\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Primary row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimension,\n label: 'Secondary row dimension (optional)',\n name: 'subRowDimension',\n required: false,\n description:\n 'When set, each primary row becomes expandable. Clicking a row loads a breakdown by the second dimension.',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type PivotTableProState = {\n expandedRowKeys?: string[];\n};\n\nconst previewConfig = {\n measures: [{ ...previewData.measure, inputs: { showRowTotal: true, showColumnTotal: true } }],\n rowDimension: previewData.dimension,\n columnDimension: previewData.dimensionGroup,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n expandedRowKeys: [],\n setExpandedRowKey: () => {},\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsSubRowsArgs = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.subRowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.rowDimension,\n operator: 'equals',\n value: expandedRowKeys,\n },\n ],\n});\n\nconst loadDataResultsSubRows = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n clientContext?: ThemeClientContext,\n): DataResponse | undefined => {\n if (expandedRowKeys.length > 0) {\n return loadData(loadDataResultsSubRowsArgs(inputs, expandedRowKeys, clientContext));\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [PivotTableProState, (state: PivotTableProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const expandedRowKeys = state?.expandedRowKeys ?? [];\n\n return {\n ...inputs,\n state,\n expandedRowKeys,\n setExpandedRowKey: (rowKey: string) =>\n setState({ expandedRowKeys: [...expandedRowKeys, rowKey] }),\n results: loadDataResults(inputs, clientContext),\n resultsSubRows: loadDataResultsSubRows(inputs, expandedRowKeys, clientContext),\n };\n};\n\nexport const pivotTablePro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsSubRows: {\n loadDataArgs: loadDataResultsSubRowsArgs,\n loadData: loadDataResultsSubRows,\n },\n} as const;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","sortArrayByProp","arr","prop","order","a","b","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","resultsSubRows","rowDimension","subRowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","expandedRowKeys","setExpandedRowKey","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotSubRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","loadingRows","setLoadingRows","useState","subRowsByRow","setSubRowsByRow","handleRowExpand","rowKey","prev","useEffect","subRowsByRowData","subRows","subRowsSorted","next","data","jsx","ChartCard","PivotTable","i18n","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsSubRowsArgs","loadDataResultsSubRows","state","setState","pivotTablePro"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { useTheme as oe, definePreview as se } from "@embeddable.com/react";
3
3
  import { a as ne, r as te, i as ie } from "./component.utils-Dua9clQJ.js";
4
4
  import { C as le } from "./ChartCard-Cqhxv7xl.js";
5
5
  import { useState as re, useRef as de, useCallback as ce, useEffect as L } from "react";
6
- import { g as me, a as ge } from "./tables.utils-BF3qUwBS.js";
6
+ import { g as me, a as ge } from "./tables.utils-nCpRWyEd.js";
7
7
  import { i as s, s as A } from "./component.inputs.constants-C7tJAhsQ.js";
8
8
  import { p } from "./preview.data.constants--FLtEcg5.js";
9
9
  const ue = v("--em-tablechart-cell-height", "2.5rem"), pe = v("--em-tablechart-cell-height", "2.5rem"), De = v("--em-tablechart-pagination-height", "3rem");
@@ -239,4 +239,4 @@ export {
239
239
  ke as i,
240
240
  ye as t
241
241
  };
242
- //# sourceMappingURL=definition-Cx1UPIho.js.map
242
+ //# sourceMappingURL=definition-B86qFSz_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-Cx1UPIho.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n};\n\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState?.((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import { DataResponse, LoadDataRequest, OrderBy, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport { mergician } from 'mergician';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.dimensionsAndMeasures,\n label: 'Columns',\n inputs: [\n ...inputs.dimensionsAndMeasures.inputs,\n subInputs.width,\n subInputs.align,\n subInputs.tableCellStyle,\n ],\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n {\n ...inputs.boolean,\n name: 'showIndex',\n label: 'Show index column',\n defaultValue: true,\n category: 'Component Settings',\n },\n inputs.displayNullAs,\n { ...inputs.maxResults, label: 'Max results to download' },\n {\n ...inputs.dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n ],\n events: [\n {\n name: 'onRowClicked',\n label: 'A row is clicked',\n properties: [\n {\n name: 'rowDimensionValue',\n label: 'Clicked row dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewMaxResults = 3;\n\nconst previewConfig = {\n dimensionsAndMeasures: [previewData.dimension, previewData.dimensionGroup, previewData.measure],\n results: {\n ...previewData.results1Measure2Dimensions,\n data: previewData.results1Measure2Dimensions.data?.slice(0, previewMaxResults),\n },\n totalResults: { data: [], total: previewMaxResults, isLoading: false },\n state: {\n page: 0,\n pageSize: previewMaxResults,\n isLoadingDownloadData: false,\n hideMenu: true,\n },\n hideMenu: true,\n};\n\nconst preview = definePreview(TablePaginatedChart, previewConfig);\n\nexport const defaultTableChartPaginatedState: TableChartPaginatedProState = {\n page: 0,\n pageSize: undefined,\n sort: undefined,\n isLoadingDownloadData: false,\n};\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: page * pageSize,\n limit: pageSize,\n orderBy,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse =>\n loadData(loadDataResultsArgs(inputs, page, pageSize, orderBy, dimensionsAndMeasuresToLoad));\n\nconst loadDataTotalResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: 0,\n limit: 0,\n countRows: true,\n});\n\nconst loadDataTotalResults = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse => loadData(loadDataTotalResultsArgs(inputs, dimensionsAndMeasuresToLoad));\n\nconst loadDataAllResultsArgs = (\n inputs: Inputs<typeof meta>,\n orderBy: OrderBy[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n});\n\nconst loadDataAllResults = (inputs: Inputs<typeof meta>, orderBy: OrderBy[]): DataResponse =>\n loadData(loadDataAllResultsArgs(inputs, orderBy));\n\nconst events = {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => ({\n rowDimensionValue: rowDimensionValue !== undefined ? rowDimensionValue : Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n) => {\n const orderDimensionAndMeasure = inputs.dimensionsAndMeasures.find(\n (x) => x.name === state?.sort?.id,\n );\n\n const orderBy: OrderBy[] =\n orderDimensionAndMeasure && state?.sort\n ? [{ property: orderDimensionAndMeasure, direction: state.sort.direction }]\n : [];\n\n const clickDimensionInDimensionsAndMeasures = inputs.dimensionsAndMeasures.some(\n (dimOrMeas) => dimOrMeas.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n ...(clickDimensionInDimensionsAndMeasures ? [] : [inputs.clickDimension]),\n ];\n\n return {\n ...inputs,\n state: mergician(defaultTableChartPaginatedState, state ?? {}),\n setState,\n results: state?.pageSize\n ? loadDataResults(inputs, state.page, state.pageSize, orderBy, dimensionsAndMeasuresToLoad)\n : undefined,\n totalResults: loadDataTotalResults(inputs, dimensionsAndMeasuresToLoad),\n allResults: state?.isLoadingDownloadData ? loadDataAllResults(inputs, orderBy) : undefined,\n };\n};\n\nexport const tableChartPaginated = {\n Component: TablePaginatedChart,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n totalResults: {\n loadDataArgs: loadDataTotalResultsArgs,\n loadData: loadDataTotalResults,\n },\n allResults: {\n loadDataArgs: loadDataAllResultsArgs,\n loadData: loadDataAllResults,\n },\n} as const;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage","meta","inputs","subInputs","previewMaxResults","previewConfig","previewData","preview","definePreview","TablePaginatedChart","defaultTableChartPaginatedState","loadDataResultsArgs","page","orderBy","dimensionsAndMeasuresToLoad","loadDataResults","loadData","loadDataTotalResultsArgs","loadDataTotalResults","loadDataAllResultsArgs","loadDataAllResults","events","Value","orderDimensionAndMeasure","x","clickDimensionInDimensionsAndMeasures","dimOrMeas","mergician","tableChartPaginated"],"mappings":"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"}
1
+ {"version":3,"file":"definition-B86qFSz_.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n};\n\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState?.((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import { DataResponse, LoadDataRequest, OrderBy, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport { mergician } from 'mergician';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.dimensionsAndMeasures,\n label: 'Columns',\n inputs: [\n ...inputs.dimensionsAndMeasures.inputs,\n subInputs.width,\n subInputs.align,\n subInputs.tableCellStyle,\n ],\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n {\n ...inputs.boolean,\n name: 'showIndex',\n label: 'Show index column',\n defaultValue: true,\n category: 'Component Settings',\n },\n inputs.displayNullAs,\n { ...inputs.maxResults, label: 'Max results to download' },\n {\n ...inputs.dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n ],\n events: [\n {\n name: 'onRowClicked',\n label: 'A row is clicked',\n properties: [\n {\n name: 'rowDimensionValue',\n label: 'Clicked row dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewMaxResults = 3;\n\nconst previewConfig = {\n dimensionsAndMeasures: [previewData.dimension, previewData.dimensionGroup, previewData.measure],\n results: {\n ...previewData.results1Measure2Dimensions,\n data: previewData.results1Measure2Dimensions.data?.slice(0, previewMaxResults),\n },\n totalResults: { data: [], total: previewMaxResults, isLoading: false },\n state: {\n page: 0,\n pageSize: previewMaxResults,\n isLoadingDownloadData: false,\n hideMenu: true,\n },\n hideMenu: true,\n};\n\nconst preview = definePreview(TablePaginatedChart, previewConfig);\n\nexport const defaultTableChartPaginatedState: TableChartPaginatedProState = {\n page: 0,\n pageSize: undefined,\n sort: undefined,\n isLoadingDownloadData: false,\n};\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: page * pageSize,\n limit: pageSize,\n orderBy,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse =>\n loadData(loadDataResultsArgs(inputs, page, pageSize, orderBy, dimensionsAndMeasuresToLoad));\n\nconst loadDataTotalResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: 0,\n limit: 0,\n countRows: true,\n});\n\nconst loadDataTotalResults = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse => loadData(loadDataTotalResultsArgs(inputs, dimensionsAndMeasuresToLoad));\n\nconst loadDataAllResultsArgs = (\n inputs: Inputs<typeof meta>,\n orderBy: OrderBy[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n});\n\nconst loadDataAllResults = (inputs: Inputs<typeof meta>, orderBy: OrderBy[]): DataResponse =>\n loadData(loadDataAllResultsArgs(inputs, orderBy));\n\nconst events = {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => ({\n rowDimensionValue: rowDimensionValue !== undefined ? rowDimensionValue : Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n) => {\n const orderDimensionAndMeasure = inputs.dimensionsAndMeasures.find(\n (x) => x.name === state?.sort?.id,\n );\n\n const orderBy: OrderBy[] =\n orderDimensionAndMeasure && state?.sort\n ? [{ property: orderDimensionAndMeasure, direction: state.sort.direction }]\n : [];\n\n const clickDimensionInDimensionsAndMeasures = inputs.dimensionsAndMeasures.some(\n (dimOrMeas) => dimOrMeas.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n ...(clickDimensionInDimensionsAndMeasures ? [] : [inputs.clickDimension]),\n ];\n\n return {\n ...inputs,\n state: mergician(defaultTableChartPaginatedState, state ?? {}),\n setState,\n results: state?.pageSize\n ? loadDataResults(inputs, state.page, state.pageSize, orderBy, dimensionsAndMeasuresToLoad)\n : undefined,\n totalResults: loadDataTotalResults(inputs, dimensionsAndMeasuresToLoad),\n allResults: state?.isLoadingDownloadData ? loadDataAllResults(inputs, orderBy) : undefined,\n };\n};\n\nexport const tableChartPaginated = {\n Component: TablePaginatedChart,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n totalResults: {\n loadDataArgs: loadDataTotalResultsArgs,\n loadData: loadDataTotalResults,\n },\n allResults: {\n loadDataArgs: loadDataAllResultsArgs,\n loadData: loadDataAllResults,\n },\n} as const;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage","meta","inputs","subInputs","previewMaxResults","previewConfig","previewData","preview","definePreview","TablePaginatedChart","defaultTableChartPaginatedState","loadDataResultsArgs","page","orderBy","dimensionsAndMeasuresToLoad","loadDataResults","loadData","loadDataTotalResultsArgs","loadDataTotalResults","loadDataAllResultsArgs","loadDataAllResults","events","Value","orderDimensionAndMeasure","x","clickDimensionInDimensionsAndMeasures","dimOrMeas","mergician","tableChartPaginated"],"mappings":"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"}