@embeddable.com/remarkable-pro 0.1.20 → 0.1.21

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 (96) 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/{DimensionAndMeasureSingleSelectField-CxemGgzU.js → DimensionAndMeasureSingleSelectField-9gU70vr-.js} +2 -2
  8. package/dist/{DimensionAndMeasureSingleSelectField-CxemGgzU.js.map → DimensionAndMeasureSingleSelectField-9gU70vr-.js.map} +1 -1
  9. package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
  10. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  11. package/dist/DonutChartPro.js +1 -1
  12. package/dist/DonutLabelChartPro.js +1 -1
  13. package/dist/HeatMapPro.js +1 -1
  14. package/dist/KpiChartNumberComparisonPro.js +1 -1
  15. package/dist/KpiChartNumberPro.js +1 -1
  16. package/dist/LineChartComparisonDefaultPro.js +1 -1
  17. package/dist/LineChartDefaultPro.js +1 -1
  18. package/dist/LineChartGroupedPro.js +1 -1
  19. package/dist/MeasureMultiSelectFieldPro.js +1 -1
  20. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  21. package/dist/MultiSelectFieldPro.js +1 -1
  22. package/dist/PieChartPro.js +1 -1
  23. package/dist/PivotTablePro.js +1 -1
  24. package/dist/SingleSelectFieldPro.js +1 -1
  25. package/dist/TableChartPaginated.js +1 -1
  26. package/dist/TableScrollable.js +1 -1
  27. package/dist/{bars.utils-D_VJnuUq.js → bars.utils-BaClli7j.js} +3 -3
  28. package/dist/{bars.utils-D_VJnuUq.js.map → bars.utils-BaClli7j.js.map} +1 -1
  29. package/dist/{charts.utils-BJ5CC2cv.js → charts.utils-Cr0-f92U.js} +1486 -1488
  30. package/dist/charts.utils-Cr0-f92U.js.map +1 -0
  31. package/dist/{definition-BJWsukNc.js → definition-1PMcJFw0.js} +3 -3
  32. package/dist/{definition-BJWsukNc.js.map → definition-1PMcJFw0.js.map} +1 -1
  33. package/dist/{definition-J5h7qi61.js → definition-8nbqWIqg.js} +2 -2
  34. package/dist/{definition-J5h7qi61.js.map → definition-8nbqWIqg.js.map} +1 -1
  35. package/dist/{definition-DZBzYLK6.js → definition-B8t570x7.js} +3 -3
  36. package/dist/{definition-DZBzYLK6.js.map → definition-B8t570x7.js.map} +1 -1
  37. package/dist/{definition-FyqeUvGT.js → definition-BG3ZrEJm.js} +18 -18
  38. package/dist/{definition-FyqeUvGT.js.map → definition-BG3ZrEJm.js.map} +1 -1
  39. package/dist/{definition-Dvtg0YQE.js → definition-BOKEHOkI.js} +3 -3
  40. package/dist/{definition-Dvtg0YQE.js.map → definition-BOKEHOkI.js.map} +1 -1
  41. package/dist/{definition-Dx3aYsuI.js → definition-BOnf1Cme.js} +2 -2
  42. package/dist/{definition-Dx3aYsuI.js.map → definition-BOnf1Cme.js.map} +1 -1
  43. package/dist/{definition-D_XP0TGu.js → definition-BUu2Mo1o.js} +18 -18
  44. package/dist/{definition-D_XP0TGu.js.map → definition-BUu2Mo1o.js.map} +1 -1
  45. package/dist/{definition-D-OdVZn8.js → definition-BplEviYc.js} +3 -3
  46. package/dist/{definition-D-OdVZn8.js.map → definition-BplEviYc.js.map} +1 -1
  47. package/dist/{definition-gyDgoNgL.js → definition-Bs_qs6d_.js} +3 -3
  48. package/dist/{definition-gyDgoNgL.js.map → definition-Bs_qs6d_.js.map} +1 -1
  49. package/dist/{definition-DAfrLBK-.js → definition-Bz9WRPe2.js} +2 -2
  50. package/dist/{definition-DAfrLBK-.js.map → definition-Bz9WRPe2.js.map} +1 -1
  51. package/dist/{definition-D2BZtrzM.js → definition-CB_a-Pf7.js} +3 -3
  52. package/dist/{definition-D2BZtrzM.js.map → definition-CB_a-Pf7.js.map} +1 -1
  53. package/dist/{definition-_jBzo6pg.js → definition-CD_eo9qj.js} +3 -3
  54. package/dist/{definition-_jBzo6pg.js.map → definition-CD_eo9qj.js.map} +1 -1
  55. package/dist/{definition-BUC6oNqV.js → definition-CoxOsh75.js} +3 -3
  56. package/dist/{definition-BUC6oNqV.js.map → definition-CoxOsh75.js.map} +1 -1
  57. package/dist/{definition-DkkkaWAP.js → definition-Cu_LH1Nn.js} +3 -3
  58. package/dist/{definition-DkkkaWAP.js.map → definition-Cu_LH1Nn.js.map} +1 -1
  59. package/dist/{definition-DQghCFAC.js → definition-D-L7zmnC.js} +2 -2
  60. package/dist/{definition-DQghCFAC.js.map → definition-D-L7zmnC.js.map} +1 -1
  61. package/dist/{definition-C8ui56Ru.js → definition-DU-9ghMn.js} +2 -2
  62. package/dist/{definition-C8ui56Ru.js.map → definition-DU-9ghMn.js.map} +1 -1
  63. package/dist/{definition-D5K77nV2.js → definition-DUT4jv0-.js} +3 -3
  64. package/dist/{definition-D5K77nV2.js.map → definition-DUT4jv0-.js.map} +1 -1
  65. package/dist/{definition-D5_GRYHj.js → definition-DXPnqNV5.js} +3 -3
  66. package/dist/{definition-D5_GRYHj.js.map → definition-DXPnqNV5.js.map} +1 -1
  67. package/dist/{definition-Cs_Efdqz.js → definition-DhAlKZMJ.js} +3 -3
  68. package/dist/{definition-Cs_Efdqz.js.map → definition-DhAlKZMJ.js.map} +1 -1
  69. package/dist/{definition-DBYXwtcv.js → definition-Dis4VDux.js} +3 -3
  70. package/dist/{definition-DBYXwtcv.js.map → definition-Dis4VDux.js.map} +1 -1
  71. package/dist/{definition-Bed_536D.js → definition-E-KrOL_D.js} +3 -3
  72. package/dist/{definition-Bed_536D.js.map → definition-E-KrOL_D.js.map} +1 -1
  73. package/dist/{definition-C52AOs4s.js → definition-TjSkmjqu.js} +2 -2
  74. package/dist/{definition-C52AOs4s.js.map → definition-TjSkmjqu.js.map} +1 -1
  75. package/dist/{definition-IiszS18K.js → definition-Z97ZMe6d.js} +3 -3
  76. package/dist/{definition-IiszS18K.js.map → definition-Z97ZMe6d.js.map} +1 -1
  77. package/dist/{definition-Do2deS9Q.js → definition-fhTW44k3.js} +2 -2
  78. package/dist/{definition-Do2deS9Q.js.map → definition-fhTW44k3.js.map} +1 -1
  79. package/dist/{dimensionsAndMeasures.utils-Badl5OO1.js → dimensionsAndMeasures.utils-DMqGZRn4.js} +4 -4
  80. package/dist/{dimensionsAndMeasures.utils-Badl5OO1.js.map → dimensionsAndMeasures.utils-DMqGZRn4.js.map} +1 -1
  81. package/dist/embeddable-components.json +42 -42
  82. package/dist/embeddable-theme-0137e.js +2176 -2177
  83. package/dist/index.js +186 -185
  84. package/dist/{pies.utils-Cxox1YNa.js → pies.utils-BShIepeZ.js} +3 -3
  85. package/dist/{pies.utils-Cxox1YNa.js.map → pies.utils-BShIepeZ.js.map} +1 -1
  86. package/dist/preview.data.constants-CYT4J-3P.js +126 -0
  87. package/dist/preview.data.constants-CYT4J-3P.js.map +1 -0
  88. package/dist/{tables.utils-7cMzQiGH.js → tables.utils-C4zY450G.js} +11 -11
  89. package/dist/{tables.utils-7cMzQiGH.js.map → tables.utils-C4zY450G.js.map} +1 -1
  90. package/dist/theme/formatter/formatter.constants.d.ts.map +1 -1
  91. package/dist/theme/formatter/formatter.utils.d.ts +1 -0
  92. package/dist/theme/formatter/formatter.utils.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/charts.utils-BJ5CC2cv.js.map +0 -1
  95. package/dist/preview.data.constants-D5maJCjp.js +0 -124
  96. package/dist/preview.data.constants-D5maJCjp.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as t } from "@embeddable.com/react";
2
- import { b as o } from "./definition-Bed_536D.js";
2
+ import { b as o } from "./definition-E-KrOL_D.js";
3
3
  const n = o.preview, e = o.meta, m = t(
4
4
  o.Component,
5
5
  e,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { b as e } from "./definition-Cs_Efdqz.js";
2
+ import { b as e } from "./definition-DhAlKZMJ.js";
3
3
  const m = e.preview, t = e.meta, n = o(e.Component, t, e.config);
4
4
  export {
5
5
  n as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as r } from "@embeddable.com/react";
2
- import { b as o } from "./definition-IiszS18K.js";
2
+ import { b as o } from "./definition-Z97ZMe6d.js";
3
3
  const n = o.preview, e = o.meta, m = r(
4
4
  o.Component,
5
5
  e,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as e } from "@embeddable.com/react";
2
- import { b as o } from "./definition-gyDgoNgL.js";
2
+ import { b as o } from "./definition-Bs_qs6d_.js";
3
3
  const m = o.preview, r = o.meta, n = e(o.Component, r, o.config);
4
4
  export {
5
5
  n as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as t } from "@embeddable.com/react";
2
- import { b as o } from "./definition-DZBzYLK6.js";
2
+ import { b as o } from "./definition-B8t570x7.js";
3
3
  const n = o.preview, e = o.meta, m = t(
4
4
  o.Component,
5
5
  e,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { b as e } from "./definition-BUC6oNqV.js";
2
+ import { b as e } from "./definition-CoxOsh75.js";
3
3
  const m = e.preview, t = e.meta, n = o(e.Component, t, e.config);
4
4
  export {
5
5
  n as default,
@@ -1,7 +1,7 @@
1
1
  import { j as h, S } from "./index-D3wOlvn9.js";
2
2
  import { useTheme as d } from "@embeddable.com/react";
3
3
  import { useState as p, useEffect as g } from "react";
4
- import { g as A } from "./dimensionsAndMeasures.utils-Badl5OO1.js";
4
+ import { g as A } from "./dimensionsAndMeasures.utils-DMqGZRn4.js";
5
5
  const j = (i) => {
6
6
  const r = d(), [c, l] = p(""), { selectedValue: n, options: e, clearable: t, placeholder: m, onChange: o } = i, u = (a) => {
7
7
  const s = e.find((f) => f.name === a);
@@ -32,4 +32,4 @@ const j = (i) => {
32
32
  export {
33
33
  j as D
34
34
  };
35
- //# sourceMappingURL=DimensionAndMeasureSingleSelectField-CxemGgzU.js.map
35
+ //# sourceMappingURL=DimensionAndMeasureSingleSelectField-9gU70vr-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DimensionAndMeasureSingleSelectField-CxemGgzU.js","sources":["../src/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useEffect, useState } from 'react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { getDimensionAndMeasureOptions } from '../../utils/dimensionsAndMeasures.utils';\nimport { Dimension, Measure } from '@embeddable.com/core';\n\nexport type DimensionAndMeasureSingleSelectFieldProps<T> = {\n selectedValue?: T;\n options: T[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: T | undefined) => void;\n};\n\nexport const DimensionAndMeasureSingleSelectField = <T extends Dimension | Measure>(\n props: DimensionAndMeasureSingleSelectFieldProps<T>,\n) => {\n const theme = useTheme() as Theme;\n\n const [searchValue, setSearchValue] = useState<string>('');\n\n const { selectedValue, options, clearable, placeholder, onChange } = props;\n\n const handleChange = (newValue: string) => {\n const newSelection = options.find((option) => option.name === newValue);\n onChange(newSelection);\n };\n\n // Auto-select first dimensionOrMeasure when is not clearable and there is no selection\n useEffect(() => {\n const autoSelectActive = !clearable && !selectedValue;\n\n if (!autoSelectActive) return;\n\n const firstDimension = options?.[0];\n\n if (firstDimension) {\n onChange(firstDimension);\n }\n }, [clearable, selectedValue, options, onChange]);\n\n return (\n <SingleSelectField\n searchable\n clearable={clearable}\n placeholder={placeholder}\n value={selectedValue?.name}\n onChange={handleChange}\n onSearch={setSearchValue}\n options={getDimensionAndMeasureOptions({\n dimensionsAndMeasures: options,\n searchValue,\n theme,\n })}\n avoidCollisions={false}\n />\n );\n};\n"],"names":["DimensionAndMeasureSingleSelectField","props","theme","useTheme","searchValue","setSearchValue","useState","selectedValue","options","clearable","placeholder","onChange","handleChange","newValue","newSelection","option","useEffect","firstDimension","jsx","SingleSelectField","getDimensionAndMeasureOptions"],"mappings":";;;;AAeO,MAAMA,IAAuC,CAClDC,MACG;AACH,QAAMC,IAAQC,EAAA,GAER,CAACC,GAAaC,CAAc,IAAIC,EAAiB,EAAE,GAEnD,EAAE,eAAAC,GAAe,SAAAC,GAAS,WAAAC,GAAW,aAAAC,GAAa,UAAAC,MAAaV,GAE/DW,IAAe,CAACC,MAAqB;AACzC,UAAMC,IAAeN,EAAQ,KAAK,CAACO,MAAWA,EAAO,SAASF,CAAQ;AACtE,IAAAF,EAASG,CAAY;AAAA,EACvB;AAGA,SAAAE,EAAU,MAAM;AAGd,QAAI,EAFqB,CAACP,KAAa,CAACF,GAEjB;AAEvB,UAAMU,IAAiBT,KAAA,gBAAAA,EAAU;AAEjC,IAAIS,KACFN,EAASM,CAAc;AAAA,EAE3B,GAAG,CAACR,GAAWF,GAAeC,GAASG,CAAQ,CAAC,GAG9CO,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAU;AAAA,MACV,WAAAV;AAAA,MACA,aAAAC;AAAA,MACA,OAAOH,KAAA,gBAAAA,EAAe;AAAA,MACtB,UAAUK;AAAA,MACV,UAAUP;AAAA,MACV,SAASe,EAA8B;AAAA,QACrC,uBAAuBZ;AAAA,QACvB,aAAAJ;AAAA,QACA,OAAAF;AAAA,MAAA,CACD;AAAA,MACD,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAGvB;"}
1
+ {"version":3,"file":"DimensionAndMeasureSingleSelectField-9gU70vr-.js","sources":["../src/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useEffect, useState } from 'react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { getDimensionAndMeasureOptions } from '../../utils/dimensionsAndMeasures.utils';\nimport { Dimension, Measure } from '@embeddable.com/core';\n\nexport type DimensionAndMeasureSingleSelectFieldProps<T> = {\n selectedValue?: T;\n options: T[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: T | undefined) => void;\n};\n\nexport const DimensionAndMeasureSingleSelectField = <T extends Dimension | Measure>(\n props: DimensionAndMeasureSingleSelectFieldProps<T>,\n) => {\n const theme = useTheme() as Theme;\n\n const [searchValue, setSearchValue] = useState<string>('');\n\n const { selectedValue, options, clearable, placeholder, onChange } = props;\n\n const handleChange = (newValue: string) => {\n const newSelection = options.find((option) => option.name === newValue);\n onChange(newSelection);\n };\n\n // Auto-select first dimensionOrMeasure when is not clearable and there is no selection\n useEffect(() => {\n const autoSelectActive = !clearable && !selectedValue;\n\n if (!autoSelectActive) return;\n\n const firstDimension = options?.[0];\n\n if (firstDimension) {\n onChange(firstDimension);\n }\n }, [clearable, selectedValue, options, onChange]);\n\n return (\n <SingleSelectField\n searchable\n clearable={clearable}\n placeholder={placeholder}\n value={selectedValue?.name}\n onChange={handleChange}\n onSearch={setSearchValue}\n options={getDimensionAndMeasureOptions({\n dimensionsAndMeasures: options,\n searchValue,\n theme,\n })}\n avoidCollisions={false}\n />\n );\n};\n"],"names":["DimensionAndMeasureSingleSelectField","props","theme","useTheme","searchValue","setSearchValue","useState","selectedValue","options","clearable","placeholder","onChange","handleChange","newValue","newSelection","option","useEffect","firstDimension","jsx","SingleSelectField","getDimensionAndMeasureOptions"],"mappings":";;;;AAeO,MAAMA,IAAuC,CAClDC,MACG;AACH,QAAMC,IAAQC,EAAA,GAER,CAACC,GAAaC,CAAc,IAAIC,EAAiB,EAAE,GAEnD,EAAE,eAAAC,GAAe,SAAAC,GAAS,WAAAC,GAAW,aAAAC,GAAa,UAAAC,MAAaV,GAE/DW,IAAe,CAACC,MAAqB;AACzC,UAAMC,IAAeN,EAAQ,KAAK,CAACO,MAAWA,EAAO,SAASF,CAAQ;AACtE,IAAAF,EAASG,CAAY;AAAA,EACvB;AAGA,SAAAE,EAAU,MAAM;AAGd,QAAI,EAFqB,CAACP,KAAa,CAACF,GAEjB;AAEvB,UAAMU,IAAiBT,KAAA,gBAAAA,EAAU;AAEjC,IAAIS,KACFN,EAASM,CAAc;AAAA,EAE3B,GAAG,CAACR,GAAWF,GAAeC,GAASG,CAAQ,CAAC,GAG9CO,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,YAAU;AAAA,MACV,WAAAV;AAAA,MACA,aAAAC;AAAA,MACA,OAAOH,KAAA,gBAAAA,EAAe;AAAA,MACtB,UAAUK;AAAA,MACV,UAAUP;AAAA,MACV,SAASe,EAA8B;AAAA,QACrC,uBAAuBZ;AAAA,QACvB,aAAAJ;AAAA,QACA,OAAAF;AAAA,MAAA,CACD;AAAA,MACD,iBAAiB;AAAA,IAAA;AAAA,EAAA;AAGvB;"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { d as e } from "./definition-DBYXwtcv.js";
2
+ import { d as e } from "./definition-Dis4VDux.js";
3
3
  const m = e.preview, t = e.meta, r = o(
4
4
  e.Component,
5
5
  t,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { d as e } from "./definition-Dvtg0YQE.js";
2
+ import { d as e } from "./definition-BOKEHOkI.js";
3
3
  const m = e.preview, n = e.meta, r = o(
4
4
  e.Component,
5
5
  n,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as t } from "@embeddable.com/react";
2
- import { d as o } from "./definition-D5_GRYHj.js";
2
+ import { d as o } from "./definition-DXPnqNV5.js";
3
3
  const m = o.preview, e = o.meta, a = t(o.Component, e, o.config);
4
4
  export {
5
5
  a as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as e } from "@embeddable.com/react";
2
- import { d as o } from "./definition-_jBzo6pg.js";
2
+ import { d as o } from "./definition-CD_eo9qj.js";
3
3
  const a = o.preview, t = o.meta, m = e(o.Component, t, o.config);
4
4
  export {
5
5
  m as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { h as e } from "./definition-DAfrLBK-.js";
2
+ import { h as e } from "./definition-Bz9WRPe2.js";
3
3
  const n = e.preview, t = e.meta, p = o(e.Component, t, e.config);
4
4
  export {
5
5
  p as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as e } from "@embeddable.com/react";
2
- import { k as o } from "./definition-DQghCFAC.js";
2
+ import { k as o } from "./definition-D-L7zmnC.js";
3
3
  const n = o.preview, r = o.meta, p = e(
4
4
  o.Component,
5
5
  r,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { k as e } from "./definition-Dx3aYsuI.js";
2
+ import { k as e } from "./definition-BOnf1Cme.js";
3
3
  const n = e.preview, r = e.meta, p = o(e.Component, r, e.config);
4
4
  export {
5
5
  p as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as e } from "@embeddable.com/react";
2
- import { l as o } from "./definition-Do2deS9Q.js";
2
+ import { l as o } from "./definition-fhTW44k3.js";
3
3
  const a = o.preview, t = o.meta, m = e(
4
4
  o.Component,
5
5
  t,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { l as e } from "./definition-C52AOs4s.js";
2
+ import { l as e } from "./definition-TjSkmjqu.js";
3
3
  const a = e.preview, t = e.meta, m = o(e.Component, t, e.config);
4
4
  export {
5
5
  m as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { l as e } from "./definition-J5h7qi61.js";
2
+ import { l as e } from "./definition-8nbqWIqg.js";
3
3
  const m = e.preview, r = e.meta, p = o(e.Component, r, e.config);
4
4
  export {
5
5
  p as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { m as e } from "./definition-D2BZtrzM.js";
2
+ import { m as e } from "./definition-CB_a-Pf7.js";
3
3
  const i = e.preview, t = e.meta, n = o(
4
4
  e.Component,
5
5
  t,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { m as e } from "./definition-BJWsukNc.js";
2
+ import { m as e } from "./definition-1PMcJFw0.js";
3
3
  const r = e.preview, t = e.meta, i = o(
4
4
  e.Component,
5
5
  t,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { m as e } from "./definition-D_XP0TGu.js";
2
+ import { m as e } from "./definition-BUu2Mo1o.js";
3
3
  const n = e.preview, t = e.meta, r = o(e.Component, t, e.config);
4
4
  export {
5
5
  r as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { p as e } from "./definition-D5K77nV2.js";
2
+ import { p as e } from "./definition-DUT4jv0-.js";
3
3
  const n = e.preview, t = e.meta, p = o(e.Component, t, e.config);
4
4
  export {
5
5
  p as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as e } from "@embeddable.com/react";
2
- import { p as o } from "./definition-C8ui56Ru.js";
2
+ import { p as o } from "./definition-DU-9ghMn.js";
3
3
  const p = o.preview, t = o.meta, r = e(o.Component, t, o.config);
4
4
  export {
5
5
  r as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { s as e } from "./definition-FyqeUvGT.js";
2
+ import { s as e } from "./definition-BG3ZrEJm.js";
3
3
  const m = e.preview, t = e.meta, r = o(e.Component, t, e.config);
4
4
  export {
5
5
  r as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as t } from "@embeddable.com/react";
2
- import { t as e } from "./definition-DkkkaWAP.js";
2
+ import { t as e } from "./definition-Cu_LH1Nn.js";
3
3
  const m = e.preview, a = e.meta, r = t(e.Component, a, e.config);
4
4
  export {
5
5
  r as default,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as o } from "@embeddable.com/react";
2
- import { t as e } from "./definition-D-OdVZn8.js";
2
+ import { t as e } from "./definition-BplEviYc.js";
3
3
  const m = e.preview, t = e.meta, n = o(e.Component, t, e.config);
4
4
  export {
5
5
  n as default,
@@ -1,6 +1,6 @@
1
1
  import { g as D, C as w } from "./index-D3wOlvn9.js";
2
- import { r as M, i as O, h as p } from "./charts.utils-BJ5CC2cv.js";
3
- import { g as C } from "./preview.data.constants-D5maJCjp.js";
2
+ import { r as M, i as O, h as p } from "./charts.utils-Cr0-f92U.js";
3
+ import { a as C } from "./preview.data.constants-CYT4J-3P.js";
4
4
  import { a as f } from "./styles.utils-BfpH_m_W.js";
5
5
  const E = (l, d) => {
6
6
  var g;
@@ -154,4 +154,4 @@ export {
154
154
  E as b,
155
155
  I as g
156
156
  };
157
- //# sourceMappingURL=bars.utils-D_VJnuUq.js.map
157
+ //# sourceMappingURL=bars.utils-BaClli7j.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bars.utils-D_VJnuUq.js","sources":["../src/components/charts/bars/bars.utils.ts"],"sourcesContent":["import { CUBE_DIMENSION_TYPE_TIME, DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { remarkableTheme } from '../../../theme/theme.constants';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { getDatalabelPercentage, groupTailAsOther } from '../charts.utils';\nimport { getDimensionMeasureColor } from '../../../theme/styles/styles.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { Context } from 'chartjs-plugin-datalabels';\n\nexport const getBarStackedChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n },\n theme: Theme,\n): ChartData<'bar'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupDimensionName = `${groupDimension.name}${groupDimension.nativeType === CUBE_DIMENSION_TYPE_TIME && groupDimension.inputs?.granularity ? `.${groupDimension.inputs.granularity}` : ''}`;\n const groupBy = [...new Set(data.map((d) => d[groupDimensionName]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n index,\n chartColors,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n index,\n chartColors,\n });\n\n return {\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor,\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimensionName] === groupByItem && d[dimension.name] === axisItem,\n );\n return record ? Number(record[measure.name]) : 0;\n }),\n };\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getBarChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n maxItems?: number;\n },\n theme: Theme = remarkableTheme,\n): ChartData<'bar'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n const groupedData = groupTailAsOther(props.data, props.dimension, props.measures, props.maxItems);\n const chartColors = getChartColors();\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n index,\n chartColors,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n index,\n chartColors,\n });\n\n return {\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: groupedData.map((item) => item[measure.name] ?? 0),\n backgroundColor,\n borderColor,\n };\n }),\n };\n};\n\nconst getBarChartProDatalabelTotalFormatter = (\n context: Context,\n formatter: (value: number) => string,\n) => {\n const { datasets } = context.chart.data;\n const i = context.dataIndex;\n\n const total = datasets.reduce((sum, ds) => {\n const val = ds.data[i] as number;\n return sum + (val || 0);\n }, 0);\n\n return formatter(total);\n};\n\nexport const getBarChartProOptions = (\n options: {\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n measures: Measure[];\n dimension: Dimension;\n horizontal: boolean;\n data: ChartData<'bar'>;\n },\n theme: Theme,\n): Partial<ChartOptions<'bar'>> => {\n const { onBarClicked, measures, dimension, horizontal, data } = options;\n\n const themeFormatter = getThemeFormatter(theme);\n return {\n plugins: {\n legend: { position: theme.charts.legendPosition ?? 'bottom' },\n datalabels: {\n labels: {\n total: {\n formatter: (_value: string | number, context: Context) =>\n getBarChartProDatalabelTotalFormatter(context, (value: number) =>\n themeFormatter.data(measures[0]!, value),\n ),\n },\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n\n if (measure.inputs?.showValueAsPercentage) {\n return getDatalabelPercentage(Number(value), context.dataset.data);\n }\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n\n label: (context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n const raw = context.raw as number;\n\n const dimensionLabel = themeFormatter.data(dimension, context.dataset.label) || '';\n const measureValue = themeFormatter.data(measure, raw);\n\n let percentage = '';\n if (measure.inputs?.showValueAsPercentage) {\n percentage = `(${getDatalabelPercentage(raw, context.dataset.data)})`;\n }\n return `${dimensionLabel}: ${measureValue} ${percentage}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (horizontal) {\n return themeFormatter.data(measures[0]!, value);\n }\n\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n if (!horizontal) {\n return themeFormatter.data(measures[0]!, value);\n }\n if (!data || !data.labels) return undefined;\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onBarClicked) return;\n\n const element = elements[0];\n const axisDimensionValue = (element ? chart.data.labels![element.index] : null) as\n | string\n | null;\n const groupingDimensionValue = (\n element\n ? (chart.data.datasets[element.datasetIndex] as { rawLabel?: string | null })?.rawLabel\n : null\n ) as string | null;\n\n onBarClicked({\n axisDimensionValue,\n groupingDimensionValue,\n });\n },\n };\n};\n"],"names":["getBarStackedChartProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","axis","d","groupDimensionName","CUBE_DIMENSION_TYPE_TIME","_a","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","axisItem","record","getBarChartProData","remarkableTheme","groupedData","groupTailAsOther","item","getBarChartProDatalabelTotalFormatter","context","formatter","i","total","sum","ds","val","getBarChartProOptions","options","onBarClicked","measures","horizontal","_value","value","getDatalabelPercentage","label","raw","dimensionLabel","measureValue","percentage","_event","elements","chart","element","axisDimensionValue","groupingDimensionValue"],"mappings":"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"}
1
+ {"version":3,"file":"bars.utils-BaClli7j.js","sources":["../src/components/charts/bars/bars.utils.ts"],"sourcesContent":["import { CUBE_DIMENSION_TYPE_TIME, DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../theme/theme.types';\nimport { remarkableTheme } from '../../../theme/theme.constants';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { getDatalabelPercentage, groupTailAsOther } from '../charts.utils';\nimport { getDimensionMeasureColor } from '../../../theme/styles/styles.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { Context } from 'chartjs-plugin-datalabels';\n\nexport const getBarStackedChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n },\n theme: Theme,\n): ChartData<'bar'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupDimensionName = `${groupDimension.name}${groupDimension.nativeType === CUBE_DIMENSION_TYPE_TIME && groupDimension.inputs?.granularity ? `.${groupDimension.inputs.granularity}` : ''}`;\n const groupBy = [...new Set(data.map((d) => d[groupDimensionName]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n index,\n chartColors,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n index,\n chartColors,\n });\n\n return {\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor,\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimensionName] === groupByItem && d[dimension.name] === axisItem,\n );\n return record ? Number(record[measure.name]) : 0;\n }),\n };\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getBarChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n maxItems?: number;\n },\n theme: Theme = remarkableTheme,\n): ChartData<'bar'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n const groupedData = groupTailAsOther(props.data, props.dimension, props.measures, props.maxItems);\n const chartColors = getChartColors();\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n index,\n chartColors,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n index,\n chartColors,\n });\n\n return {\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: groupedData.map((item) => item[measure.name] ?? 0),\n backgroundColor,\n borderColor,\n };\n }),\n };\n};\n\nconst getBarChartProDatalabelTotalFormatter = (\n context: Context,\n formatter: (value: number) => string,\n) => {\n const { datasets } = context.chart.data;\n const i = context.dataIndex;\n\n const total = datasets.reduce((sum, ds) => {\n const val = ds.data[i] as number;\n return sum + (val || 0);\n }, 0);\n\n return formatter(total);\n};\n\nexport const getBarChartProOptions = (\n options: {\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n measures: Measure[];\n dimension: Dimension;\n horizontal: boolean;\n data: ChartData<'bar'>;\n },\n theme: Theme,\n): Partial<ChartOptions<'bar'>> => {\n const { onBarClicked, measures, dimension, horizontal, data } = options;\n\n const themeFormatter = getThemeFormatter(theme);\n return {\n plugins: {\n legend: { position: theme.charts.legendPosition ?? 'bottom' },\n datalabels: {\n labels: {\n total: {\n formatter: (_value: string | number, context: Context) =>\n getBarChartProDatalabelTotalFormatter(context, (value: number) =>\n themeFormatter.data(measures[0]!, value),\n ),\n },\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n\n if (measure.inputs?.showValueAsPercentage) {\n return getDatalabelPercentage(Number(value), context.dataset.data);\n }\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n\n label: (context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n const raw = context.raw as number;\n\n const dimensionLabel = themeFormatter.data(dimension, context.dataset.label) || '';\n const measureValue = themeFormatter.data(measure, raw);\n\n let percentage = '';\n if (measure.inputs?.showValueAsPercentage) {\n percentage = `(${getDatalabelPercentage(raw, context.dataset.data)})`;\n }\n return `${dimensionLabel}: ${measureValue} ${percentage}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (horizontal) {\n return themeFormatter.data(measures[0]!, value);\n }\n\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n if (!horizontal) {\n return themeFormatter.data(measures[0]!, value);\n }\n if (!data || !data.labels) return undefined;\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onBarClicked) return;\n\n const element = elements[0];\n const axisDimensionValue = (element ? chart.data.labels![element.index] : null) as\n | string\n | null;\n const groupingDimensionValue = (\n element\n ? (chart.data.datasets[element.datasetIndex] as { rawLabel?: string | null })?.rawLabel\n : null\n ) as string | null;\n\n onBarClicked({\n axisDimensionValue,\n groupingDimensionValue,\n });\n },\n };\n};\n"],"names":["getBarStackedChartProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","axis","d","groupDimensionName","CUBE_DIMENSION_TYPE_TIME","_a","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","axisItem","record","getBarChartProData","remarkableTheme","groupedData","groupTailAsOther","item","getBarChartProDatalabelTotalFormatter","context","formatter","i","total","sum","ds","val","getBarChartProOptions","options","onBarClicked","measures","horizontal","_value","value","getDatalabelPercentage","label","raw","dimensionLabel","measureValue","percentage","_event","elements","chart","element","axisDimensionValue","groupingDimensionValue"],"mappings":"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"}