@embeddable.com/remarkable-ui 0.1.50 → 0.1.52

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 (74) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +18 -17
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +18 -17
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +20 -19
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +20 -19
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +24 -23
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +24 -23
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/{ChartCard-k190CXR0.js → ChartCard-9vU81B9E.js} +19 -19
  14. package/dist/{ChartCard-k190CXR0.js.map → ChartCard-9vU81B9E.js.map} +1 -1
  15. package/dist/{ComparisonPeriod.type.emb-Dgl2VM4_.js → ComparisonPeriod.type.emb-Bc58XXHO.js} +2 -2
  16. package/dist/{ComparisonPeriod.type.emb-Dgl2VM4_.js.map → ComparisonPeriod.type.emb-Bc58XXHO.js.map} +1 -1
  17. package/dist/ComparisonPeriodSelectFieldPro.js +8 -8
  18. package/dist/DateRangeSelectFieldPro.js +2 -2
  19. package/dist/DonutChartPro.js +2 -2
  20. package/dist/DonutLabelChartPro.js +2 -2
  21. package/dist/{EditorCard-BNBH4Y9F.js → EditorCard-CQCOOD0u.js} +18 -18
  22. package/dist/{EditorCard-BNBH4Y9F.js.map → EditorCard-CQCOOD0u.js.map} +1 -1
  23. package/dist/{HeatMap-ylrlKLQI.js → HeatMap-EjQRtDvC.js} +2 -2
  24. package/dist/{HeatMap-ylrlKLQI.js.map → HeatMap-EjQRtDvC.js.map} +1 -1
  25. package/dist/HeatMapPro.js +18 -18
  26. package/dist/{KpiChart-DJ5el66E.js → KpiChart-CtIsMk4c.js} +10 -10
  27. package/dist/{KpiChart-DJ5el66E.js.map → KpiChart-CtIsMk4c.js.map} +1 -1
  28. package/dist/KpiChartNumberComparisonPro.js +29 -29
  29. package/dist/KpiChartNumberPro.js +4 -4
  30. package/dist/LineChartComparisonDefaultPro.js +13 -13
  31. package/dist/LineChartDefaultPro.js +10 -10
  32. package/dist/LineChartGroupedPro.js +6 -6
  33. package/dist/MultiSelectFieldPro.js +2 -2
  34. package/dist/PieChartPro.js +2 -2
  35. package/dist/{PivotTable-awuBNY8c.js → PivotTable-BTtSAZkU.js} +2 -2
  36. package/dist/{PivotTable-awuBNY8c.js.map → PivotTable-BTtSAZkU.js.map} +1 -1
  37. package/dist/PivotTablePro.js +18 -18
  38. package/dist/{SingleSelectField-CY0TwkyW.js → SingleSelectField-Cu5phRJ-.js} +15 -15
  39. package/dist/{SingleSelectField-CY0TwkyW.js.map → SingleSelectField-Cu5phRJ-.js.map} +1 -1
  40. package/dist/SingleSelectFieldPro.js +2 -2
  41. package/dist/TableChartPaginated.js +27 -27
  42. package/dist/bars.utils-H-eVsaD9.js +146 -0
  43. package/dist/bars.utils-H-eVsaD9.js.map +1 -0
  44. package/dist/{charts.utils-LgE4AEAw.js → charts.utils-BHaQCnGS.js} +3 -3
  45. package/dist/{charts.utils-LgE4AEAw.js.map → charts.utils-BHaQCnGS.js.map} +1 -1
  46. package/dist/{component.constants-D0ea4CW4.js → component.constants-BysG97Au.js} +3343 -3181
  47. package/dist/component.constants-BysG97Au.js.map +1 -0
  48. package/dist/embeddable-components.json +11 -11
  49. package/dist/{formatter.utils-DBUd3PfE.js → formatter.utils-tk7xEyBO.js} +2 -2
  50. package/dist/{formatter.utils-DBUd3PfE.js.map → formatter.utils-tk7xEyBO.js.map} +1 -1
  51. package/dist/{index-DuWcnytb.js → index-B149xfYw.js} +7 -7
  52. package/dist/{index-DuWcnytb.js.map → index-B149xfYw.js.map} +1 -1
  53. package/dist/{index-C_G6mJoE.js → index-BZmaPHSu.js} +18 -18
  54. package/dist/{index-C_G6mJoE.js.map → index-BZmaPHSu.js.map} +1 -1
  55. package/dist/{index-BpujEeVe.js → index-CAZ9r1pH.js} +7 -7
  56. package/dist/{index-BpujEeVe.js.map → index-CAZ9r1pH.js.map} +1 -1
  57. package/dist/{index-BGf7vP5k.js → index-Cdd-V_lk.js} +8 -8
  58. package/dist/{index-BGf7vP5k.js.map → index-Cdd-V_lk.js.map} +1 -1
  59. package/dist/{index-DGb59RGF.js → index-HfLTeWS9.js} +9 -9
  60. package/dist/{index-DGb59RGF.js.map → index-HfLTeWS9.js.map} +1 -1
  61. package/dist/{index-D_TXLv5w.js → index-Ys3psTd9.js} +22 -22
  62. package/dist/{index-D_TXLv5w.js.map → index-Ys3psTd9.js.map} +1 -1
  63. package/dist/index.js +142 -135
  64. package/dist/{pies.utils-DpY3U9c2.js → pies.utils-DKG--4_R.js} +6 -6
  65. package/dist/{pies.utils-DpY3U9c2.js.map → pies.utils-DKG--4_R.js.map} +1 -1
  66. package/dist/remarkable-ui/charts/lines/lines.utils.d.ts.map +1 -1
  67. package/dist/remarkable-ui/index.d.ts +4 -1
  68. package/dist/remarkable-ui/index.d.ts.map +1 -1
  69. package/dist/{timeRange.utils-B9kyLPq_.js → timeRange.utils-CLeolDg1.js} +2 -2
  70. package/dist/{timeRange.utils-B9kyLPq_.js.map → timeRange.utils-CLeolDg1.js.map} +1 -1
  71. package/package.json +1 -1
  72. package/dist/bars.utils-cZSSvRai.js +0 -311
  73. package/dist/bars.utils-cZSSvRai.js.map +0 -1
  74. package/dist/component.constants-D0ea4CW4.js.map +0 -1
@@ -1,14 +1,14 @@
1
1
  import { useTheme as Y, defineComponent as _ } from "@embeddable.com/react";
2
- import { m as E, E as G, C as w, U, _ as I, $ as O, i as q, r as z, j as V, a0 as K, d as J, a as B, Y as A, a1 as S, z as W, X as H, W as Q, t as Z, c as ee, s as ae, e as se, f as ne, g as te, x as ie, y as oe, p as re, q as le, u as me, A as de, V as ce, o as F } from "./component.constants-D0ea4CW4.js";
3
- import { C as pe } from "./ChartCard-k190CXR0.js";
2
+ import { m as G, E, K as w, F as K, L as I, M as O, i as q, r as z, j as V, N as U, d as H, a as B, I as A, O as S, z as J, H as Q, G as W, t as Z, c as ee, s as ae, e as se, f as ne, g as te, x as ie, y as oe, p as re, q as le, u as me, A as de, V as ce, o as F } from "./component.constants-BysG97Au.js";
3
+ import { C as pe } from "./ChartCard-9vU81B9E.js";
4
4
  import { useEffect as ue } from "react";
5
- import { g as ge } from "./timeRange.utils-B9kyLPq_.js";
6
- import { g as M } from "./formatter.utils-DBUd3PfE.js";
5
+ import { g as ge } from "./timeRange.utils-CLeolDg1.js";
6
+ import { g as M } from "./formatter.utils-tk7xEyBO.js";
7
7
  import { g as xe, a as he } from "./object.utils-D_Zzon-H.js";
8
8
  import { i as be, s as Ce } from "./color.utils-CVyp-fGP.js";
9
9
  import { g as fe } from "./lines.utils-CFEUUo4k.js";
10
10
  import { u as N } from "./charts.fillGaps.hooks-5WclK2CD.js";
11
- import { C as ye } from "./ComparisonPeriod.type.emb-Dgl2VM4_.js";
11
+ import { C as ye } from "./ComparisonPeriod.type.emb-Bc58XXHO.js";
12
12
  const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
13
13
  var P, k, h, u;
14
14
  const { data: n, measure: i, dimension: s, index: c, isPreviousPeriod: r, hasMinMaxYAxisRange: b, labels: e } = a, p = n == null ? void 0 : n.map((C) => C[s.name]), l = !!((P = i.inputs) != null && P.connectGaps), g = e ? e.map((C) => {
@@ -17,14 +17,14 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
17
17
  }) : n == null ? void 0 : n.map((C) => C[i.name] ?? (l ? 0 : null)), x = M(t), f = xe(t), o = !!((k = i.inputs) != null && k[r ? "previousLineDashed" : "lineDashed"]), m = (h = i.inputs) == null ? void 0 : h[r ? "previousLineColor" : "lineColor"], d = be(m) ? m : he(
18
18
  `${f}.charts.backgroundColors`,
19
19
  i.name,
20
- t.charts.backgroundColors ?? G,
20
+ t.charts.backgroundColors ?? E,
21
21
  c
22
22
  ), y = x.dimensionOrMeasureTitle(i);
23
23
  return {
24
24
  xAxisID: r ? v : L,
25
25
  labels: p,
26
26
  rawLabel: y,
27
- label: (r ? `${U.t("common.compared")} ` : "") + y,
27
+ label: (r ? `${K.t("common.compared")} ` : "") + y,
28
28
  data: g,
29
29
  backgroundColor: Ce(
30
30
  d,
@@ -229,7 +229,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
229
229
  }, ve = (a, t) => {
230
230
  var c, r;
231
231
  const { onLineClicked: n, dimension: i } = a, s = i.nativeType === "time" ? Le : Ae;
232
- return E(
232
+ return G(
233
233
  fe({ onLineClicked: n }),
234
234
  s(a, t),
235
235
  ((r = (c = t.charts) == null ? void 0 : c.lineChartComparisonDefaultPro) == null ? void 0 : r.options) || {}
@@ -299,7 +299,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
299
299
  subtitle: i,
300
300
  title: n,
301
301
  children: /* @__PURE__ */ V.jsx(
302
- K,
302
+ U,
303
303
  {
304
304
  data: D,
305
305
  reverseXAxis: p,
@@ -321,7 +321,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
321
321
  label: "Line Chart Comparison - Default",
322
322
  category: "Line Charts",
323
323
  inputs: [
324
- J,
324
+ H,
325
325
  {
326
326
  ...B,
327
327
  inputs: [
@@ -348,9 +348,9 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
348
348
  { ...A, name: "connectGaps", label: "Connect gaps", defaultValue: !0 }
349
349
  ]
350
350
  },
351
- { ...W, label: "X-axis", name: "xAxis" },
351
+ { ...J, label: "X-axis", name: "xAxis" },
352
352
  {
353
- ...H,
353
+ ...Q,
354
354
  name: "primaryDateRange",
355
355
  label: "Primary Date Range",
356
356
  description: "You can also connect this to a date range selector using its variable",
@@ -364,7 +364,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
364
364
  category: "Component Data"
365
365
  },
366
366
  {
367
- ...Q,
367
+ ...W,
368
368
  name: "timePropertyForNonTimeDimensions",
369
369
  label: "Time property for non time dimensions",
370
370
  description: "Choose the time property used for filtering comparison ranges. This will be ignored if your x-axis is already time-based.",
@@ -1,7 +1,7 @@
1
1
  import { useTheme as v, defineComponent as w } from "@embeddable.com/react";
2
- import { E as f, C as g, m as R, i as F, r as P, j as A, a0 as B, d as j, a as k, Y as p, a1 as O, b as S, t as T, c as I, s as $, e as G, f as X, g as Y, x as E, y as K, p as N, q as U, u as _, A as q, V as z, o as W } from "./component.constants-D0ea4CW4.js";
3
- import { C as H } from "./ChartCard-k190CXR0.js";
4
- import { g as V } from "./formatter.utils-DBUd3PfE.js";
2
+ import { E as f, K as g, m as R, i as F, r as P, j as A, N as B, d as O, a as k, I as p, O as j, b as I, t as S, c as T, s as $, e as G, f as K, g as N, x as X, y as E, p as U, q as Y, u as _, A as q, V as z, o as W } from "./component.constants-BysG97Au.js";
3
+ import { C as H } from "./ChartCard-9vU81B9E.js";
4
+ import { g as V } from "./formatter.utils-tk7xEyBO.js";
5
5
  import { g as J, a as y } from "./object.utils-D_Zzon-H.js";
6
6
  import "react";
7
7
  import { i as D, s as Q } from "./color.utils-CVyp-fGP.js";
@@ -158,14 +158,14 @@ const ee = (e, o) => {
158
158
  label: "Line Chart - Default",
159
159
  category: "Line Charts",
160
160
  inputs: [
161
- j,
161
+ O,
162
162
  {
163
163
  ...k,
164
164
  inputs: [
165
165
  ...k.inputs,
166
166
  { ...p, name: "fillUnderLine", label: "Fill under line" },
167
167
  {
168
- ...O,
168
+ ...j,
169
169
  name: "lineColor",
170
170
  label: "Line color"
171
171
  },
@@ -173,17 +173,17 @@ const ee = (e, o) => {
173
173
  { ...p, name: "dashedLine", label: "Dashed line", defaultValue: !1 }
174
174
  ]
175
175
  },
176
- { ...S, label: "X-axis", name: "xAxis" },
176
+ { ...I, label: "X-axis", name: "xAxis" },
177
+ S,
177
178
  T,
178
- I,
179
179
  $,
180
180
  G,
181
- X,
182
- Y,
183
- E,
184
181
  K,
185
182
  N,
183
+ X,
184
+ E,
186
185
  U,
186
+ Y,
187
187
  _,
188
188
  q
189
189
  ],
@@ -1,7 +1,7 @@
1
1
  import { useTheme as R, defineComponent as P } from "@embeddable.com/react";
2
- import { E as k, C as $, m as F, i as S, r as v, j as y, a0 as B, d as j, w, Y as V, b as O, z as T, t as X, c as Y, A as E, s as K, e as N, f as U, g as q, x as z, y as W, p as _, q as H, u as J, V as D, o as Q } from "./component.constants-D0ea4CW4.js";
3
- import { C as Z } from "./ChartCard-k190CXR0.js";
4
- import { g as M } from "./formatter.utils-DBUd3PfE.js";
2
+ import { E as k, K as $, m as F, i as S, r as v, j as y, N as B, d as j, w, I as V, b as O, z as T, t as K, c as N, A as X, s as E, e as U, f as Y, g as q, x as z, y as W, p as _, q as H, u as J, V as D, o as Q } from "./component.constants-BysG97Au.js";
3
+ import { C as Z } from "./ChartCard-9vU81B9E.js";
4
+ import { g as M } from "./formatter.utils-tk7xEyBO.js";
5
5
  import { g as I, a as G } from "./object.utils-D_Zzon-H.js";
6
6
  import { s as ee } from "./color.utils-CVyp-fGP.js";
7
7
  import "react";
@@ -165,12 +165,12 @@ const ne = (e, o) => {
165
165
  },
166
166
  { ...O, name: "xAxis", label: "X-axis" },
167
167
  { ...T, name: "groupBy", label: "Group by" },
168
- X,
169
- Y,
170
- E,
171
168
  K,
172
169
  N,
170
+ X,
171
+ E,
173
172
  U,
173
+ Y,
174
174
  q,
175
175
  z,
176
176
  W,
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as i } from "@embeddable.com/react";
2
- import { d as r, z as s, t as d, c as u, af as m, V as t, o as c } from "./component.constants-D0ea4CW4.js";
3
- import { M as p, a as f } from "./index-D_TXLv5w.js";
2
+ import { d as r, z as s, t as d, c as u, a1 as m, V as t, o as c } from "./component.constants-BysG97Au.js";
3
+ import { M as p, a as f } from "./index-Ys3psTd9.js";
4
4
  const g = {
5
5
  name: "MultiSelectFieldPro",
6
6
  label: "Multi Select Field",
@@ -1,6 +1,6 @@
1
- import { d as a, w as s, z as t, t as o, c as n, s as i, a3 as r, e as m, f as l, V as d, o as c } from "./component.constants-D0ea4CW4.js";
1
+ import { d as a, w as s, z as t, t as o, c as n, s as i, Q as r, e as m, f as l, V as d, o as c } from "./component.constants-BysG97Au.js";
2
2
  import { defineComponent as p } from "@embeddable.com/react";
3
- import { P as u } from "./index-BpujEeVe.js";
3
+ import { P as u } from "./index-CAZ9r1pH.js";
4
4
  const C = {
5
5
  name: "PieChartPro",
6
6
  label: "Pie Chart",
@@ -1,4 +1,4 @@
1
- import { j as c, ah as i, ai as d } from "./component.constants-D0ea4CW4.js";
1
+ import { j as c, a3 as i, a4 as d } from "./component.constants-BysG97Au.js";
2
2
  import { useMemo as N, useState as Y, useEffect as Z } from "react";
3
3
  import { g as I } from "./tables.utils-D7KXdM2S.js";
4
4
  const L = "_pivotTableContainer_1tysn_2", D = "_tableContainer_1tysn_7", m = "_fullWidth_1tysn_23", tt = "_table_1tysn_7", lt = "_cell_1tysn_87", et = "_header_1tysn_112", ct = "_bold_1tysn_117", n = {
@@ -270,4 +270,4 @@ const L = "_pivotTableContainer_1tysn_2", D = "_tableContainer_1tysn_7", m = "_f
270
270
  export {
271
271
  it as P
272
272
  };
273
- //# sourceMappingURL=PivotTable-awuBNY8c.js.map
273
+ //# sourceMappingURL=PivotTable-BTtSAZkU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PivotTable-awuBNY8c.js","sources":["../src/remarkable-ui/charts/tables/PivotTable/PivotTable.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useState } from 'react';\nimport styles from './PivotTable.module.css';\nimport clsx from 'clsx';\nimport { PivotTableProps } from './PivotTable.types';\nimport { Typography } from '../../../shared/Typography/Typography';\nimport { getTableCellWidthStyle } from '../tables.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst isNumber = (v: any) => typeof v === 'number' && !Number.isNaN(v);\n\nconst getPercentageDisplay = (percentage: number, percentageDecimalPlaces: number) => {\n return `${percentage.toFixed(percentageDecimalPlaces)}%`;\n};\n\nexport const PivotTable: FC<PivotTableProps<any>> = ({\n columnWidth,\n firstColumnWidth,\n data,\n measures,\n rowDimension,\n columnDimension,\n progressive = true,\n batchSize = 100,\n batchDelayMs = 0,\n rowTotalsFor = [],\n columnTotalsFor = [],\n totalLabel = 'Total',\n className,\n}) => {\n const rowValues = useMemo(() => {\n const s = new Set<string>();\n for (const d of data) {\n const rowValue = d[rowDimension.key];\n if (rowValue) s.add(rowValue);\n }\n return Array.from(s);\n }, [data, rowDimension.key]);\n\n const columnValues = useMemo(() => {\n const s = new Set<string>();\n for (const d of data) {\n const columnValue = d[columnDimension.key];\n if (columnValue) s.add(columnValue as string);\n }\n return Array.from(s);\n }, [data, columnDimension.key]);\n\n const cellMap = useMemo(() => {\n const map = new Map<string, Map<string, Record<string, any>>>();\n for (const d of data) {\n const r = String(d[rowDimension.key]);\n const c = String(d[columnDimension.key]);\n if (!map.has(r)) map.set(r, new Map());\n map.get(r)!.set(c, d as Record<string, any>);\n }\n return map;\n }, [data, rowDimension.key, columnDimension.key]);\n\n const rowTotalsSet = useMemo(() => new Set<string>(rowTotalsFor), [rowTotalsFor]);\n const columnTotalsSet = useMemo(() => new Set<string>(columnTotalsFor), [columnTotalsFor]);\n const hasRowTotals = rowTotalsSet.size > 0;\n const hasColumnTotals = columnTotalsSet.size > 0;\n\n const measureIndexByKey = useMemo(() => {\n const map = new Map<string, number>();\n measures.forEach((m, i) => map.set(String(m.key), i));\n return map;\n }, [measures]);\n\n const { colTotals, rowTotals, grandTotals } = useMemo(() => {\n const cTotals = new Map<string, number[]>();\n const rTotals = new Map<string, number[]>();\n const gTotals = measures.map(() => 0);\n\n for (const d of data) {\n const r = String(d[rowDimension.key]);\n const c = String(d[columnDimension.key]);\n const cArr = cTotals.get(c) ?? measures.map(() => 0);\n const rArr = rTotals.get(r) ?? measures.map(() => 0);\n\n measures.forEach((m, i) => {\n const raw = (d as any)?.[m.key];\n const v = Number(raw);\n if (!Number.isNaN(v)) {\n cArr[i]! += v;\n rArr[i]! += v;\n gTotals[i]! += v;\n }\n });\n\n cTotals.set(c, cArr);\n rTotals.set(r, rArr);\n }\n\n for (const c of columnValues) {\n if (!cTotals.has(String(c)))\n cTotals.set(\n String(c),\n measures.map(() => 0),\n );\n }\n for (const r of rowValues) {\n if (!rTotals.has(String(r)))\n rTotals.set(\n String(r),\n measures.map(() => 0),\n );\n }\n\n return { colTotals: cTotals, rowTotals: rTotals, grandTotals: gTotals };\n }, [data, measures, rowDimension.key, columnDimension.key, columnValues, rowValues]);\n\n const [visibleCount, setVisibleCount] = useState(() =>\n progressive ? Math.min(batchSize, rowValues.length) : rowValues.length,\n );\n\n useEffect(() => {\n if (!progressive) {\n setVisibleCount(rowValues.length);\n return;\n }\n let cancelled = false;\n let t: number | null = null;\n setVisibleCount(0);\n\n const tick = () => {\n setVisibleCount((prev) => {\n const next = Math.min(prev + batchSize, rowValues.length);\n if (next < rowValues.length && !cancelled) {\n t = window.setTimeout(tick, batchDelayMs);\n }\n return next;\n });\n };\n\n t = window.setTimeout(tick, batchDelayMs);\n\n return () => {\n cancelled = true;\n if (t !== null) window.clearTimeout(t);\n };\n }, [progressive, batchSize, batchDelayMs, rowValues.length, data]);\n\n const visibleRows = progressive ? rowValues.slice(0, visibleCount) : rowValues;\n\n return (\n <div className={clsx(styles.pivotTableContainer, className)}>\n <div\n className={clsx(\n styles.tableContainer,\n (!columnWidth || !firstColumnWidth) && styles.fullWidth,\n )}\n >\n <table\n className={styles.table}\n aria-label={`${rowDimension.label} by ${columnDimension.label}`}\n >\n <thead>\n <tr>\n <th\n scope=\"col\"\n rowSpan={1}\n className={clsx(styles.cell, styles.header)}\n title={columnDimension.label}\n >\n <Typography>{columnDimension.label}</Typography>\n </th>\n {columnValues.map((columnValue) => {\n const columnValueDisplay = columnDimension.formatValue\n ? columnDimension.formatValue(columnValue)\n : columnValue;\n return (\n <th\n key={`col-${columnValue}`}\n scope=\"colgroup\"\n colSpan={measures.length}\n className={clsx(styles.cell, styles.header)}\n title={columnValueDisplay}\n >\n <Typography>{columnValueDisplay}</Typography>\n </th>\n );\n })}\n {hasRowTotals && (\n <th\n key=\"col-total-group\"\n scope=\"colgroup\"\n colSpan={Array.from(rowTotalsSet).length}\n className={clsx(styles.cell, styles.bold)}\n title={totalLabel}\n >\n <Typography>{totalLabel}</Typography>\n </th>\n )}\n </tr>\n <tr>\n <th\n scope=\"col\"\n rowSpan={1}\n className={clsx(styles.cell, styles.header)}\n title={rowDimension.label}\n style={getTableCellWidthStyle(firstColumnWidth)}\n >\n <Typography>{rowDimension.label}</Typography>\n </th>\n {columnValues.flatMap((col) =>\n measures.map((measure, idx) => (\n <th\n key={`sub-${String(col)}-${measure.key}-${idx}`}\n scope=\"col\"\n className={clsx(styles.cell, styles.header)}\n title={measure.label}\n style={getTableCellWidthStyle(columnWidth)}\n >\n <Typography>{measure.label}</Typography>\n </th>\n )),\n )}\n {hasRowTotals &&\n measures\n .filter((measure) => rowTotalsSet.has(measure.key))\n .map((measure, idx) => (\n <th\n key={`sub-total-${measure.key}-${idx}`}\n scope=\"col\"\n className={clsx(styles.cell, styles.bold)}\n title={measure.label}\n style={getTableCellWidthStyle(columnWidth)}\n >\n <Typography>{measure.label}</Typography>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {visibleRows.map((row) => {\n const rowDimensionValue = rowDimension.formatValue\n ? rowDimension.formatValue(row)\n : row;\n return (\n <tr key={`row-${row}`}>\n <th\n scope=\"row\"\n className={clsx(styles.cell, styles.header)}\n title={rowDimensionValue}\n >\n <Typography>{rowDimensionValue}</Typography>\n </th>\n\n {columnValues.flatMap((columnValue) =>\n measures.map((measure, idx) => {\n const object = cellMap.get(row)?.get(columnValue) ?? {};\n const value = object?.[measure.key];\n\n const key = `cell-${row}-${columnValue}-${measure.key}-${idx}`;\n const getDisplayValue = () => {\n if (measure.showAsPercentage) {\n const mi = measureIndexByKey.get(String(measure.key)) ?? -1;\n const totalsForCol =\n colTotals.get(String(columnValue)) ?? measures.map(() => 0);\n const colTotal = mi >= 0 ? (totalsForCol[mi] ?? 0) : 0;\n\n const shouldShowPct =\n measure.showAsPercentage &&\n isNumber(Number(value)) &&\n isNumber(colTotal) &&\n colTotal > 0;\n\n if (shouldShowPct) {\n const percentage = (value / colTotal) * 100;\n return `${percentage.toFixed(measure.percentageDecimalPlaces ?? 0)}%`;\n }\n }\n\n return measure.accessor ? measure.accessor(object) : value;\n };\n\n const columnValueDisplay = getDisplayValue();\n\n return (\n <td key={key} className={clsx(styles.cell)} title={columnValueDisplay}>\n <Typography>{columnValueDisplay}</Typography>\n </td>\n );\n }),\n )}\n\n {hasRowTotals &&\n measures\n .filter((measure) => rowTotalsSet.has(measure.key))\n .map((measure, idx) => {\n const totalsForRow = rowTotals.get(row) ?? measures.map(() => 0);\n const measureIndex = measureIndexByKey.get(measure.key) ?? -1;\n const key = `row-total-${String(row)}-${measure.key}-${idx}`;\n const value: number =\n measureIndex >= 0 ? (totalsForRow[measureIndex] ?? 0) : 0;\n let displayValue: any = value;\n\n if (measure.showAsPercentage) {\n displayValue = getPercentageDisplay(\n (value / (grandTotals[measureIndex] || 1)) * 100,\n measure.percentageDecimalPlaces ?? 0,\n );\n } else if (measure.accessor) {\n displayValue = measure.accessor({ [measure.key]: value });\n }\n\n return (\n <td\n key={key}\n className={clsx(styles.cell, styles.bold)}\n title={displayValue}\n >\n <Typography>{displayValue}</Typography>\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n <tfoot>\n {hasColumnTotals && (\n <tr key=\"totals-row\">\n <th scope=\"row\" className={clsx(styles.cell, styles.bold)} title={totalLabel}>\n <Typography>{totalLabel}</Typography>\n </th>\n\n {columnValues.flatMap((columnValue) =>\n measures.map((measure, idx) => {\n const show = columnTotalsSet.has(String(measure.key));\n const totalsForCol =\n colTotals.get(String(columnValue)) ?? measures.map(() => 0);\n const mi = measures.findIndex((mm) => String(mm.key) === String(measure.key));\n const key = `col-total-${String(columnValue)}-${measure.key}-${idx}`;\n const value: number = totalsForCol[mi] ?? 0;\n let displayValue: any = value;\n\n if (measure.showAsPercentage) {\n displayValue = getPercentageDisplay(\n 100,\n measure.percentageDecimalPlaces ?? 0,\n );\n } else if (measure.accessor) {\n displayValue = measure.accessor({ [measure.key]: value });\n }\n const columnValueDisplay = show ? displayValue : '';\n\n return (\n <td\n key={key}\n className={clsx(styles.cell, styles.bold)}\n title={columnValueDisplay}\n >\n <Typography>{columnValueDisplay}</Typography>\n </td>\n );\n }),\n )}\n\n {hasRowTotals &&\n measures\n .filter((measure) => rowTotalsSet.has(measure.key))\n .map((measure, idx) => {\n const measureIndex = measures.findIndex((m) => String(m.key) === measure.key);\n const key = `grand-total-${measure.key}-${idx}`;\n const value: number = grandTotals[measureIndex] ?? 0;\n let displayValue: any = value;\n\n if (measure.showAsPercentage) {\n displayValue = getPercentageDisplay(\n 100,\n measure.percentageDecimalPlaces ?? 0,\n );\n } else if (measure.accessor) {\n displayValue = measure.accessor({ [measure.key]: value });\n }\n\n return (\n <td\n key={key}\n className={clsx(styles.cell, styles.bold)}\n title={displayValue}\n >\n <Typography>{displayValue}</Typography>\n </td>\n );\n })}\n </tr>\n )}\n </tfoot>\n </table>\n </div>\n </div>\n );\n};\n"],"names":["isNumber","v","getPercentageDisplay","percentage","percentageDecimalPlaces","PivotTable","columnWidth","firstColumnWidth","data","measures","rowDimension","columnDimension","progressive","batchSize","batchDelayMs","rowTotalsFor","columnTotalsFor","totalLabel","className","rowValues","useMemo","s","d","rowValue","columnValues","columnValue","cellMap","map","r","c","rowTotalsSet","columnTotalsSet","hasRowTotals","hasColumnTotals","measureIndexByKey","m","i","colTotals","rowTotals","grandTotals","cTotals","rTotals","gTotals","cArr","rArr","raw","visibleCount","setVisibleCount","useState","useEffect","cancelled","t","tick","prev","next","visibleRows","clsx","styles","jsx","jsxs","Typography","columnValueDisplay","getTableCellWidthStyle","col","measure","idx","row","rowDimensionValue","object","_a","value","key","mi","totalsForCol","colTotal","totalsForRow","measureIndex","displayValue","show","mm"],"mappings":"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"}
1
+ {"version":3,"file":"PivotTable-BTtSAZkU.js","sources":["../src/remarkable-ui/charts/tables/PivotTable/PivotTable.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useState } from 'react';\nimport styles from './PivotTable.module.css';\nimport clsx from 'clsx';\nimport { PivotTableProps } from './PivotTable.types';\nimport { Typography } from '../../../shared/Typography/Typography';\nimport { getTableCellWidthStyle } from '../tables.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst isNumber = (v: any) => typeof v === 'number' && !Number.isNaN(v);\n\nconst getPercentageDisplay = (percentage: number, percentageDecimalPlaces: number) => {\n return `${percentage.toFixed(percentageDecimalPlaces)}%`;\n};\n\nexport const PivotTable: FC<PivotTableProps<any>> = ({\n columnWidth,\n firstColumnWidth,\n data,\n measures,\n rowDimension,\n columnDimension,\n progressive = true,\n batchSize = 100,\n batchDelayMs = 0,\n rowTotalsFor = [],\n columnTotalsFor = [],\n totalLabel = 'Total',\n className,\n}) => {\n const rowValues = useMemo(() => {\n const s = new Set<string>();\n for (const d of data) {\n const rowValue = d[rowDimension.key];\n if (rowValue) s.add(rowValue);\n }\n return Array.from(s);\n }, [data, rowDimension.key]);\n\n const columnValues = useMemo(() => {\n const s = new Set<string>();\n for (const d of data) {\n const columnValue = d[columnDimension.key];\n if (columnValue) s.add(columnValue as string);\n }\n return Array.from(s);\n }, [data, columnDimension.key]);\n\n const cellMap = useMemo(() => {\n const map = new Map<string, Map<string, Record<string, any>>>();\n for (const d of data) {\n const r = String(d[rowDimension.key]);\n const c = String(d[columnDimension.key]);\n if (!map.has(r)) map.set(r, new Map());\n map.get(r)!.set(c, d as Record<string, any>);\n }\n return map;\n }, [data, rowDimension.key, columnDimension.key]);\n\n const rowTotalsSet = useMemo(() => new Set<string>(rowTotalsFor), [rowTotalsFor]);\n const columnTotalsSet = useMemo(() => new Set<string>(columnTotalsFor), [columnTotalsFor]);\n const hasRowTotals = rowTotalsSet.size > 0;\n const hasColumnTotals = columnTotalsSet.size > 0;\n\n const measureIndexByKey = useMemo(() => {\n const map = new Map<string, number>();\n measures.forEach((m, i) => map.set(String(m.key), i));\n return map;\n }, [measures]);\n\n const { colTotals, rowTotals, grandTotals } = useMemo(() => {\n const cTotals = new Map<string, number[]>();\n const rTotals = new Map<string, number[]>();\n const gTotals = measures.map(() => 0);\n\n for (const d of data) {\n const r = String(d[rowDimension.key]);\n const c = String(d[columnDimension.key]);\n const cArr = cTotals.get(c) ?? measures.map(() => 0);\n const rArr = rTotals.get(r) ?? measures.map(() => 0);\n\n measures.forEach((m, i) => {\n const raw = (d as any)?.[m.key];\n const v = Number(raw);\n if (!Number.isNaN(v)) {\n cArr[i]! += v;\n rArr[i]! += v;\n gTotals[i]! += v;\n }\n });\n\n cTotals.set(c, cArr);\n rTotals.set(r, rArr);\n }\n\n for (const c of columnValues) {\n if (!cTotals.has(String(c)))\n cTotals.set(\n String(c),\n measures.map(() => 0),\n );\n }\n for (const r of rowValues) {\n if (!rTotals.has(String(r)))\n rTotals.set(\n String(r),\n measures.map(() => 0),\n );\n }\n\n return { colTotals: cTotals, rowTotals: rTotals, grandTotals: gTotals };\n }, [data, measures, rowDimension.key, columnDimension.key, columnValues, rowValues]);\n\n const [visibleCount, setVisibleCount] = useState(() =>\n progressive ? Math.min(batchSize, rowValues.length) : rowValues.length,\n );\n\n useEffect(() => {\n if (!progressive) {\n setVisibleCount(rowValues.length);\n return;\n }\n let cancelled = false;\n let t: number | null = null;\n setVisibleCount(0);\n\n const tick = () => {\n setVisibleCount((prev) => {\n const next = Math.min(prev + batchSize, rowValues.length);\n if (next < rowValues.length && !cancelled) {\n t = window.setTimeout(tick, batchDelayMs);\n }\n return next;\n });\n };\n\n t = window.setTimeout(tick, batchDelayMs);\n\n return () => {\n cancelled = true;\n if (t !== null) window.clearTimeout(t);\n };\n }, [progressive, batchSize, batchDelayMs, rowValues.length, data]);\n\n const visibleRows = progressive ? rowValues.slice(0, visibleCount) : rowValues;\n\n return (\n <div className={clsx(styles.pivotTableContainer, className)}>\n <div\n className={clsx(\n styles.tableContainer,\n (!columnWidth || !firstColumnWidth) && styles.fullWidth,\n )}\n >\n <table\n className={styles.table}\n aria-label={`${rowDimension.label} by ${columnDimension.label}`}\n >\n <thead>\n <tr>\n <th\n scope=\"col\"\n rowSpan={1}\n className={clsx(styles.cell, styles.header)}\n title={columnDimension.label}\n >\n <Typography>{columnDimension.label}</Typography>\n </th>\n {columnValues.map((columnValue) => {\n const columnValueDisplay = columnDimension.formatValue\n ? columnDimension.formatValue(columnValue)\n : columnValue;\n return (\n <th\n key={`col-${columnValue}`}\n scope=\"colgroup\"\n colSpan={measures.length}\n className={clsx(styles.cell, styles.header)}\n title={columnValueDisplay}\n >\n <Typography>{columnValueDisplay}</Typography>\n </th>\n );\n })}\n {hasRowTotals && (\n <th\n key=\"col-total-group\"\n scope=\"colgroup\"\n colSpan={Array.from(rowTotalsSet).length}\n className={clsx(styles.cell, styles.bold)}\n title={totalLabel}\n >\n <Typography>{totalLabel}</Typography>\n </th>\n )}\n </tr>\n <tr>\n <th\n scope=\"col\"\n rowSpan={1}\n className={clsx(styles.cell, styles.header)}\n title={rowDimension.label}\n style={getTableCellWidthStyle(firstColumnWidth)}\n >\n <Typography>{rowDimension.label}</Typography>\n </th>\n {columnValues.flatMap((col) =>\n measures.map((measure, idx) => (\n <th\n key={`sub-${String(col)}-${measure.key}-${idx}`}\n scope=\"col\"\n className={clsx(styles.cell, styles.header)}\n title={measure.label}\n style={getTableCellWidthStyle(columnWidth)}\n >\n <Typography>{measure.label}</Typography>\n </th>\n )),\n )}\n {hasRowTotals &&\n measures\n .filter((measure) => rowTotalsSet.has(measure.key))\n .map((measure, idx) => (\n <th\n key={`sub-total-${measure.key}-${idx}`}\n scope=\"col\"\n className={clsx(styles.cell, styles.bold)}\n title={measure.label}\n style={getTableCellWidthStyle(columnWidth)}\n >\n <Typography>{measure.label}</Typography>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {visibleRows.map((row) => {\n const rowDimensionValue = rowDimension.formatValue\n ? rowDimension.formatValue(row)\n : row;\n return (\n <tr key={`row-${row}`}>\n <th\n scope=\"row\"\n className={clsx(styles.cell, styles.header)}\n title={rowDimensionValue}\n >\n <Typography>{rowDimensionValue}</Typography>\n </th>\n\n {columnValues.flatMap((columnValue) =>\n measures.map((measure, idx) => {\n const object = cellMap.get(row)?.get(columnValue) ?? {};\n const value = object?.[measure.key];\n\n const key = `cell-${row}-${columnValue}-${measure.key}-${idx}`;\n const getDisplayValue = () => {\n if (measure.showAsPercentage) {\n const mi = measureIndexByKey.get(String(measure.key)) ?? -1;\n const totalsForCol =\n colTotals.get(String(columnValue)) ?? measures.map(() => 0);\n const colTotal = mi >= 0 ? (totalsForCol[mi] ?? 0) : 0;\n\n const shouldShowPct =\n measure.showAsPercentage &&\n isNumber(Number(value)) &&\n isNumber(colTotal) &&\n colTotal > 0;\n\n if (shouldShowPct) {\n const percentage = (value / colTotal) * 100;\n return `${percentage.toFixed(measure.percentageDecimalPlaces ?? 0)}%`;\n }\n }\n\n return measure.accessor ? measure.accessor(object) : value;\n };\n\n const columnValueDisplay = getDisplayValue();\n\n return (\n <td key={key} className={clsx(styles.cell)} title={columnValueDisplay}>\n <Typography>{columnValueDisplay}</Typography>\n </td>\n );\n }),\n )}\n\n {hasRowTotals &&\n measures\n .filter((measure) => rowTotalsSet.has(measure.key))\n .map((measure, idx) => {\n const totalsForRow = rowTotals.get(row) ?? measures.map(() => 0);\n const measureIndex = measureIndexByKey.get(measure.key) ?? -1;\n const key = `row-total-${String(row)}-${measure.key}-${idx}`;\n const value: number =\n measureIndex >= 0 ? (totalsForRow[measureIndex] ?? 0) : 0;\n let displayValue: any = value;\n\n if (measure.showAsPercentage) {\n displayValue = getPercentageDisplay(\n (value / (grandTotals[measureIndex] || 1)) * 100,\n measure.percentageDecimalPlaces ?? 0,\n );\n } else if (measure.accessor) {\n displayValue = measure.accessor({ [measure.key]: value });\n }\n\n return (\n <td\n key={key}\n className={clsx(styles.cell, styles.bold)}\n title={displayValue}\n >\n <Typography>{displayValue}</Typography>\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n <tfoot>\n {hasColumnTotals && (\n <tr key=\"totals-row\">\n <th scope=\"row\" className={clsx(styles.cell, styles.bold)} title={totalLabel}>\n <Typography>{totalLabel}</Typography>\n </th>\n\n {columnValues.flatMap((columnValue) =>\n measures.map((measure, idx) => {\n const show = columnTotalsSet.has(String(measure.key));\n const totalsForCol =\n colTotals.get(String(columnValue)) ?? measures.map(() => 0);\n const mi = measures.findIndex((mm) => String(mm.key) === String(measure.key));\n const key = `col-total-${String(columnValue)}-${measure.key}-${idx}`;\n const value: number = totalsForCol[mi] ?? 0;\n let displayValue: any = value;\n\n if (measure.showAsPercentage) {\n displayValue = getPercentageDisplay(\n 100,\n measure.percentageDecimalPlaces ?? 0,\n );\n } else if (measure.accessor) {\n displayValue = measure.accessor({ [measure.key]: value });\n }\n const columnValueDisplay = show ? displayValue : '';\n\n return (\n <td\n key={key}\n className={clsx(styles.cell, styles.bold)}\n title={columnValueDisplay}\n >\n <Typography>{columnValueDisplay}</Typography>\n </td>\n );\n }),\n )}\n\n {hasRowTotals &&\n measures\n .filter((measure) => rowTotalsSet.has(measure.key))\n .map((measure, idx) => {\n const measureIndex = measures.findIndex((m) => String(m.key) === measure.key);\n const key = `grand-total-${measure.key}-${idx}`;\n const value: number = grandTotals[measureIndex] ?? 0;\n let displayValue: any = value;\n\n if (measure.showAsPercentage) {\n displayValue = getPercentageDisplay(\n 100,\n measure.percentageDecimalPlaces ?? 0,\n );\n } else if (measure.accessor) {\n displayValue = measure.accessor({ [measure.key]: value });\n }\n\n return (\n <td\n key={key}\n className={clsx(styles.cell, styles.bold)}\n title={displayValue}\n >\n <Typography>{displayValue}</Typography>\n </td>\n );\n })}\n </tr>\n )}\n </tfoot>\n </table>\n </div>\n </div>\n );\n};\n"],"names":["isNumber","v","getPercentageDisplay","percentage","percentageDecimalPlaces","PivotTable","columnWidth","firstColumnWidth","data","measures","rowDimension","columnDimension","progressive","batchSize","batchDelayMs","rowTotalsFor","columnTotalsFor","totalLabel","className","rowValues","useMemo","s","d","rowValue","columnValues","columnValue","cellMap","map","r","c","rowTotalsSet","columnTotalsSet","hasRowTotals","hasColumnTotals","measureIndexByKey","m","i","colTotals","rowTotals","grandTotals","cTotals","rTotals","gTotals","cArr","rArr","raw","visibleCount","setVisibleCount","useState","useEffect","cancelled","t","tick","prev","next","visibleRows","clsx","styles","jsx","jsxs","Typography","columnValueDisplay","getTableCellWidthStyle","col","measure","idx","row","rowDimensionValue","object","_a","value","key","mi","totalsForCol","colTotal","totalsForRow","measureIndex","displayValue","show","mm"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { i as y, r as M, j as m, U as S, d as W, a as u, a6 as c, b as d, t as N, c as j, Y as B, a4 as G, Z as h, A as I, o as k } from "./component.constants-D0ea4CW4.js";
1
+ import { i as y, r as M, j as m, F as S, d as W, a as u, T as c, b as d, t as N, c as j, I as B, R as I, J as h, A as G, o as k } from "./component.constants-BysG97Au.js";
2
2
  import { useTheme as O, defineComponent as V } from "@embeddable.com/react";
3
- import { C as E } from "./ChartCard-k190CXR0.js";
4
- import { useRef as L } from "react";
5
- import { P as U } from "./PivotTable-awuBNY8c.js";
3
+ import { C as E } from "./ChartCard-9vU81B9E.js";
4
+ import { useRef as J } from "react";
5
+ import { P as L } from "./PivotTable-BTtSAZkU.js";
6
6
  import { u as p } from "./charts.fillGaps.hooks-5WclK2CD.js";
7
- import { g as w } from "./formatter.utils-DBUd3PfE.js";
8
- const Y = (e, o) => {
9
- const t = w(o);
7
+ import { g as T } from "./formatter.utils-tk7xEyBO.js";
8
+ const _ = (e, o) => {
9
+ const t = T(o);
10
10
  return e.measures.map((s) => {
11
11
  var n, a;
12
12
  return {
@@ -18,16 +18,16 @@ const Y = (e, o) => {
18
18
  };
19
19
  });
20
20
  }, b = (e, o) => {
21
- const t = w(o);
21
+ const t = T(o);
22
22
  return {
23
23
  key: e.dimension.name,
24
24
  label: t.dimensionOrMeasureTitle(e.dimension),
25
25
  formatValue: (s) => t.data(e.dimension, s)
26
26
  };
27
- }, Z = (e) => e.measures.filter((o) => {
27
+ }, q = (e) => e.measures.filter((o) => {
28
28
  var t;
29
29
  return (t = o.inputs) == null ? void 0 : t.showColumnTotal;
30
- }).map((o) => o.name), _ = (e) => {
30
+ }).map((o) => o.name), z = (e) => {
31
31
  const o = O();
32
32
  y(o);
33
33
  const { description: t, title: s } = M(e), {
@@ -35,7 +35,7 @@ const Y = (e, o) => {
35
35
  rowDimension: a,
36
36
  columnDimension: i,
37
37
  showRowTotals: r,
38
- displayNullAs: T,
38
+ displayNullAs: w,
39
39
  columnWidth: f,
40
40
  firstColumnWidth: g
41
41
  } = e, D = p({
@@ -44,7 +44,7 @@ const Y = (e, o) => {
44
44
  }), l = p({
45
45
  results: D,
46
46
  dimension: a
47
- }), P = L(null), C = Y({ measures: n, displayNullAs: T }, o), v = b({ dimension: a }, o), R = b({ dimension: i }, o), F = Z({ measures: n }), A = r ? n.map((x) => x.name) : [];
47
+ }), P = J(null), C = _({ measures: n, displayNullAs: w }, o), v = b({ dimension: a }, o), R = b({ dimension: i }, o), F = q({ measures: n }), A = r ? n.map((x) => x.name) : [];
48
48
  return /* @__PURE__ */ m.jsx(
49
49
  E,
50
50
  {
@@ -55,7 +55,7 @@ const Y = (e, o) => {
55
55
  dimensionsAndMeasures: [a, i, ...n],
56
56
  errorMessage: l == null ? void 0 : l.error,
57
57
  children: /* @__PURE__ */ m.jsx(
58
- U,
58
+ L,
59
59
  {
60
60
  firstColumnWidth: g,
61
61
  columnWidth: f,
@@ -70,7 +70,7 @@ const Y = (e, o) => {
70
70
  )
71
71
  }
72
72
  );
73
- }, q = {
73
+ }, H = {
74
74
  name: "PivotTablePro",
75
75
  label: "Pivot Table",
76
76
  category: "Table Charts",
@@ -108,7 +108,7 @@ const Y = (e, o) => {
108
108
  N,
109
109
  j,
110
110
  { ...B, name: "showRowTotals", label: "Show Row Totals" },
111
- { ...G, name: "displayNullAs", label: "Display Null As" },
111
+ { ...I, name: "displayNullAs", label: "Display Null As" },
112
112
  {
113
113
  ...h,
114
114
  name: "firstColumnWidth",
@@ -121,9 +121,9 @@ const Y = (e, o) => {
121
121
  label: "Column Width",
122
122
  description: "Set the width in px (e.g. 200)"
123
123
  },
124
- I
124
+ G
125
125
  ]
126
- }, ee = V(_, q, {
126
+ }, ee = V(z, H, {
127
127
  props: (e) => ({
128
128
  ...e,
129
129
  results: k({
@@ -136,6 +136,6 @@ const Y = (e, o) => {
136
136
  });
137
137
  export {
138
138
  ee as default,
139
- q as meta
139
+ H as meta
140
140
  };
141
141
  //# sourceMappingURL=PivotTablePro.js.map
@@ -1,6 +1,6 @@
1
- import { j as s, aq as D, at as N, au as q, ar as x, as as w, ap as K } from "./component.constants-D0ea4CW4.js";
2
- import { useState as b, useRef as P, useEffect as T, useMemo as O } from "react";
3
- import { u as z, d as A, g as G, I as H, S as J, a as M } from "./EditorCard-BNBH4Y9F.js";
1
+ import { j as s, ac as D, af as N, ag as w, ad as x, ae as K, ab as P } from "./component.constants-BysG97Au.js";
2
+ import { useState as b, useRef as T, useEffect as q, useMemo as O } from "react";
3
+ import { u as z, d as A, g as G, I as H, S as J, a as M } from "./EditorCard-CQCOOD0u.js";
4
4
  const Q = "_selectField_73cni_1", U = {
5
5
  selectField: Q
6
6
  }, Y = ({
@@ -15,11 +15,11 @@ const Q = "_selectField_73cni_1", U = {
15
15
  noOptionsMessage: E = "No options available",
16
16
  onChange: I,
17
17
  onSearch: a,
18
- error: p = !1,
18
+ error: R = !1,
19
19
  errorMessage: i
20
20
  }) => {
21
- const [h, R] = b(!1), [C, v] = b(""), [_, d] = b(t), S = P(null);
22
- z(h, S), T(() => {
21
+ const [h, _] = b(!1), [C, v] = b(""), [k, d] = b(t), S = T(null);
22
+ z(h, S), q(() => {
23
23
  if (!t) {
24
24
  d("");
25
25
  return;
@@ -34,24 +34,24 @@ const Q = "_selectField_73cni_1", U = {
34
34
  const r = c.find((l) => l.value === e);
35
35
  r && d(r.label);
36
36
  }
37
- }, k = (e) => {
37
+ }, p = (e) => {
38
38
  v(e), n == null || n(e);
39
- }, B = p || !!i;
39
+ }, B = R || !!i;
40
40
  return /* @__PURE__ */ s.jsxs("div", { className: U.selectField, children: [
41
41
  /* @__PURE__ */ s.jsx(
42
42
  D,
43
43
  {
44
44
  open: h,
45
- onOpenChange: R,
45
+ onOpenChange: _,
46
46
  disabled: j,
47
47
  triggerComponent: /* @__PURE__ */ s.jsx(
48
- w,
48
+ K,
49
49
  {
50
50
  startIcon: L,
51
51
  "aria-label": "Select option",
52
52
  placeholder: y,
53
53
  disabled: j,
54
- valueLabel: _,
54
+ valueLabel: k,
55
55
  onClear: () => f(""),
56
56
  isClearable: o,
57
57
  isLoading: g,
@@ -60,7 +60,7 @@ const Q = "_selectField_73cni_1", U = {
60
60
  ),
61
61
  children: /* @__PURE__ */ s.jsxs(N, { children: [
62
62
  m && /* @__PURE__ */ s.jsx(
63
- q,
63
+ w,
64
64
  {
65
65
  ref: S,
66
66
  startIcon: H,
@@ -69,7 +69,7 @@ const Q = "_selectField_73cni_1", U = {
69
69
  role: "searchbox",
70
70
  value: C,
71
71
  onKeyDown: (e) => e.stopPropagation(),
72
- onChange: k
72
+ onChange: p
73
73
  }
74
74
  ),
75
75
  /* @__PURE__ */ s.jsxs(J, { disabled: g, children: [
@@ -98,10 +98,10 @@ const Q = "_selectField_73cni_1", U = {
98
98
  ] })
99
99
  }
100
100
  ),
101
- i && /* @__PURE__ */ s.jsx(K, { message: i })
101
+ i && /* @__PURE__ */ s.jsx(P, { message: i })
102
102
  ] });
103
103
  };
104
104
  export {
105
105
  Y as S
106
106
  };
107
- //# sourceMappingURL=SingleSelectField-CY0TwkyW.js.map
107
+ //# sourceMappingURL=SingleSelectField-Cu5phRJ-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectField-CY0TwkyW.js","sources":["../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport {\n SelectListOption,\n SelectListOptionProps,\n SelectListOptionPropsWithCategory,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { SelectListCategory } from '../shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory';\nimport { groupOptionsByCategory } from '../shared/SelectList/selectList.utils';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { IconSearch, TablerIcon } from '@tabler/icons-react';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\nimport styles from './SingleSelectField.module.css';\nimport { FieldErrorMessage } from '../../../shared/FieldErrorMessage/FieldErrorMessage';\n\nexport type SingleSelectFieldProps = {\n options: (SelectListOptionProps | SelectListOptionPropsWithCategory)[];\n startIcon?: TablerIcon;\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n isSearchable?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n noOptionsMessage?: string;\n onChange: (value: string) => void;\n onSearch?: (search: string) => void;\n error?: boolean;\n errorMessage?: string;\n};\n\nexport const SingleSelectField: FC<SingleSelectFieldProps> = ({\n value = '',\n startIcon,\n options,\n disabled,\n placeholder,\n isSearchable,\n isClearable,\n isLoading,\n noOptionsMessage = 'No options available',\n onChange,\n onSearch,\n error = false,\n errorMessage,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [selectedLabel, setSelectedLabel] = useState<string>(value);\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n if (!value) {\n setSelectedLabel('');\n return;\n }\n\n const option = options.find((opt) => opt.value === value);\n if (option) {\n setSelectedLabel(option.label);\n }\n }, [value, options]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n isSearchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const groupedOptions = useMemo(() => groupOptionsByCategory(displayOptions), [displayOptions]);\n\n const handleChange = (newValue?: string) => {\n setSearchValue('');\n onChange(newValue ?? '');\n onSearch?.('');\n\n if (newValue === '') {\n setSelectedLabel('');\n } else {\n const option = options.find((opt) => opt.value === newValue);\n if (option) setSelectedLabel(option.label);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n const hasError = error || !!errorMessage;\n\n return (\n <div className={styles.selectField}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n startIcon={startIcon}\n aria-label=\"Select option\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={() => handleChange('')}\n isClearable={isClearable}\n isLoading={isLoading}\n error={hasError}\n />\n }\n >\n <SelectList>\n {isSearchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n />\n )}\n <SelectListOptions disabled={isLoading}>\n {groupedOptions\n ? Object.entries(groupedOptions).map(([category, categoryOptions]) => (\n <div key={category}>\n <SelectListCategory label={category} />\n {categoryOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n </div>\n ))\n : displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n {options.length === 0 && (\n <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />\n )}\n </SelectListOptions>\n </SelectList>\n </Dropdown>\n {errorMessage && <FieldErrorMessage message={errorMessage} />}\n </div>\n );\n};\n"],"names":["SingleSelectField","value","startIcon","options","disabled","placeholder","isSearchable","isClearable","isLoading","noOptionsMessage","onChange","onSearch","error","errorMessage","isOpen","setIsOpen","useState","searchValue","setSearchValue","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","option","opt","debouncedSearch","useMemo","debounce","displayOptions","groupedOptions","groupOptionsByCategory","handleChange","newValue","handleSearch","newSearch","hasError","jsxs","styles","jsx","Dropdown","SelectButton","SelectList","TextField","IconSearch","SelectListOptions","category","categoryOptions","SelectListCategory","SelectListOption","FieldErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"SingleSelectField-Cu5phRJ-.js","sources":["../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport {\n SelectListOption,\n SelectListOptionProps,\n SelectListOptionPropsWithCategory,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { SelectListCategory } from '../shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory';\nimport { groupOptionsByCategory } from '../shared/SelectList/selectList.utils';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { IconSearch, TablerIcon } from '@tabler/icons-react';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\nimport styles from './SingleSelectField.module.css';\nimport { FieldErrorMessage } from '../../../shared/FieldErrorMessage/FieldErrorMessage';\n\nexport type SingleSelectFieldProps = {\n options: (SelectListOptionProps | SelectListOptionPropsWithCategory)[];\n startIcon?: TablerIcon;\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n isSearchable?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n noOptionsMessage?: string;\n onChange: (value: string) => void;\n onSearch?: (search: string) => void;\n error?: boolean;\n errorMessage?: string;\n};\n\nexport const SingleSelectField: FC<SingleSelectFieldProps> = ({\n value = '',\n startIcon,\n options,\n disabled,\n placeholder,\n isSearchable,\n isClearable,\n isLoading,\n noOptionsMessage = 'No options available',\n onChange,\n onSearch,\n error = false,\n errorMessage,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [selectedLabel, setSelectedLabel] = useState<string>(value);\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n if (!value) {\n setSelectedLabel('');\n return;\n }\n\n const option = options.find((opt) => opt.value === value);\n if (option) {\n setSelectedLabel(option.label);\n }\n }, [value, options]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n isSearchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const groupedOptions = useMemo(() => groupOptionsByCategory(displayOptions), [displayOptions]);\n\n const handleChange = (newValue?: string) => {\n setSearchValue('');\n onChange(newValue ?? '');\n onSearch?.('');\n\n if (newValue === '') {\n setSelectedLabel('');\n } else {\n const option = options.find((opt) => opt.value === newValue);\n if (option) setSelectedLabel(option.label);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n const hasError = error || !!errorMessage;\n\n return (\n <div className={styles.selectField}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n startIcon={startIcon}\n aria-label=\"Select option\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={() => handleChange('')}\n isClearable={isClearable}\n isLoading={isLoading}\n error={hasError}\n />\n }\n >\n <SelectList>\n {isSearchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n />\n )}\n <SelectListOptions disabled={isLoading}>\n {groupedOptions\n ? Object.entries(groupedOptions).map(([category, categoryOptions]) => (\n <div key={category}>\n <SelectListCategory label={category} />\n {categoryOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n </div>\n ))\n : displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n {options.length === 0 && (\n <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />\n )}\n </SelectListOptions>\n </SelectList>\n </Dropdown>\n {errorMessage && <FieldErrorMessage message={errorMessage} />}\n </div>\n );\n};\n"],"names":["SingleSelectField","value","startIcon","options","disabled","placeholder","isSearchable","isClearable","isLoading","noOptionsMessage","onChange","onSearch","error","errorMessage","isOpen","setIsOpen","useState","searchValue","setSearchValue","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","option","opt","debouncedSearch","useMemo","debounce","displayOptions","groupedOptions","groupOptionsByCategory","handleChange","newValue","handleSearch","newSearch","hasError","jsxs","styles","jsx","Dropdown","SelectButton","SelectList","TextField","IconSearch","SelectListOptions","category","categoryOptions","SelectListCategory","SelectListOption","FieldErrorMessage"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as i } from "@embeddable.com/react";
2
- import { d as s, z as r, t as d, c as m, af as c, V as n, o as u } from "./component.constants-D0ea4CW4.js";
3
- import { M as p, S as g } from "./index-BGf7vP5k.js";
2
+ import { d as s, z as r, t as d, c as m, a1 as c, V as n, o as u } from "./component.constants-BysG97Au.js";
3
+ import { M as p, S as g } from "./index-Cdd-V_lk.js";
4
4
  const f = {
5
5
  name: "SingleSelectFieldPro",
6
6
  label: "Single Select Field",