@embeddable.com/remarkable-pro 0.1.7 → 0.1.9

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 (238) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +8 -8
  2. package/dist/BarChartDefaultPro.js +5 -5
  3. package/dist/BarChartGroupedHorizontalPro.js +5 -5
  4. package/dist/BarChartGroupedPro.js +9 -9
  5. package/dist/BarChartStackedHorizontalPro.js +5 -5
  6. package/dist/BarChartStackedPro.js +5 -5
  7. package/dist/ChartCard-Bu-80NJh.js +117 -0
  8. package/dist/{ChartCard-lY9ll4LQ.js.map → ChartCard-Bu-80NJh.js.map} +1 -1
  9. package/dist/{Color.type.emb-DyMeb06O.js → Color.type.emb-JBTB4VAn.js} +12869 -12753
  10. package/dist/Color.type.emb-JBTB4VAn.js.map +1 -0
  11. package/dist/ColorEditor.js +10 -29
  12. package/dist/ColorEditor.js.map +1 -1
  13. package/dist/ComparisonPeriodSelectFieldPro.js +3 -3
  14. package/dist/DateRangePickerCustomPro.js +12 -39
  15. package/dist/DateRangePickerCustomPro.js.map +1 -1
  16. package/dist/DateRangeSelectFieldPro.js +3 -3
  17. package/dist/{DimensionAndMeasureSingleSelectField-CauMjY7c.js → DimensionAndMeasureSingleSelectField-C5B9m3hv.js} +8 -7
  18. package/dist/DimensionAndMeasureSingleSelectField-C5B9m3hv.js.map +1 -0
  19. package/dist/DimensionSingleSelectFieldPro.js +12 -27
  20. package/dist/DimensionSingleSelectFieldPro.js.map +1 -1
  21. package/dist/DonutChartPro.js +4 -4
  22. package/dist/DonutLabelChartPro.js +4 -4
  23. package/dist/{EditorCard-BT_swxOl.js → EditorCard-DlwWVuY3.js} +11 -11
  24. package/dist/EditorCard-DlwWVuY3.js.map +1 -0
  25. package/dist/EmptyBlockPro.js +7 -6
  26. package/dist/EmptyBlockPro.js.map +1 -1
  27. package/dist/{GranularitySelectField-BxO_3Xt9.js → GranularitySelectField-DpCZ47f8.js} +28 -25
  28. package/dist/{GranularitySelectField-BxO_3Xt9.js.map → GranularitySelectField-DpCZ47f8.js.map} +1 -1
  29. package/dist/GranularitySelectFieldPro.js +11 -27
  30. package/dist/GranularitySelectFieldPro.js.map +1 -1
  31. package/dist/HeatMapPro.js +4 -4
  32. package/dist/{IconCalendarFilled-CnWTSJdY.js → IconCalendarFilled-DPibPYqC.js} +2 -2
  33. package/dist/{IconCalendarFilled-CnWTSJdY.js.map → IconCalendarFilled-DPibPYqC.js.map} +1 -1
  34. package/dist/KpiChartNumberComparisonPro.js +4 -4
  35. package/dist/KpiChartNumberPro.js +6 -6
  36. package/dist/LineChartComparisonDefaultPro.js +5 -5
  37. package/dist/LineChartDefaultPro.js +5 -5
  38. package/dist/LineChartGroupedPro.js +5 -5
  39. package/dist/MeasureSingleSelectFieldPro.js +14 -29
  40. package/dist/MeasureSingleSelectFieldPro.js.map +1 -1
  41. package/dist/MultiSelectFieldPro.js +4 -4
  42. package/dist/PieChartPro.js +4 -4
  43. package/dist/PivotTablePro.js +77 -43
  44. package/dist/PivotTablePro.js.map +1 -1
  45. package/dist/SingleSelectFieldPro.js +4 -4
  46. package/dist/TableChartPaginated.js +8 -8
  47. package/dist/TableScrollable.js +58 -480
  48. package/dist/TableScrollable.js.map +1 -1
  49. package/dist/{bars.utils-D67ef4lU.js → bars.utils-DZf4BZCu.js} +7 -7
  50. package/dist/{bars.utils-D67ef4lU.js.map → bars.utils-DZf4BZCu.js.map} +1 -1
  51. package/dist/{charts.utils-B3C8A2Nv.js → charts.utils-MNXWiXfk.js} +1165 -1104
  52. package/dist/charts.utils-MNXWiXfk.js.map +1 -0
  53. package/dist/{component.inputs.constants-DIuvtpIr.js → component.inputs.constants-Cj-atN8w.js} +11 -10
  54. package/dist/{component.inputs.constants-DIuvtpIr.js.map → component.inputs.constants-Cj-atN8w.js.map} +1 -1
  55. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +1 -1
  56. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
  57. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +1 -1
  58. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
  59. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +1 -1
  60. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  61. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +1 -1
  62. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  63. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +1 -1
  64. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  65. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +1 -1
  66. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  67. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +1 -1
  68. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
  69. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts +1 -1
  70. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
  71. package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
  72. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +1 -1
  73. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  74. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +1 -1
  75. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
  76. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
  77. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +1 -1
  78. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
  79. package/dist/components/charts/lines/lines.utils.d.ts +1 -1
  80. package/dist/components/charts/lines/lines.utils.d.ts.map +1 -1
  81. package/dist/components/charts/pies/DonutChartPro/index.d.ts +1 -1
  82. package/dist/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
  83. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts +1 -1
  84. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
  85. package/dist/components/charts/pies/PieChartPro/index.d.ts +1 -1
  86. package/dist/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
  87. package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts +1 -2
  88. package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts.map +1 -1
  89. package/dist/components/charts/tables/HeatMapPro/index.d.ts +1 -1
  90. package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
  91. package/dist/components/charts/tables/PivotTablePro/index.d.ts +5 -1
  92. package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
  93. package/dist/components/charts/tables/TableChartPaginated/index.d.ts +1 -1
  94. package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
  95. package/dist/components/charts/tables/TableScrollable/index.d.ts +1 -1
  96. package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
  97. package/dist/components/charts/tables/tables.hooks.d.ts +2 -2
  98. package/dist/components/charts/tables/tables.hooks.d.ts.map +1 -1
  99. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +1 -1
  100. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
  101. package/dist/components/editors/DimensionSingleSelectFieldPro/index.d.ts +1 -1
  102. package/dist/components/editors/DimensionSingleSelectFieldPro/index.d.ts.map +1 -1
  103. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +1 -1
  104. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
  105. package/dist/components/editors/MeasureSingleSelectFieldPro/index.d.ts +1 -1
  106. package/dist/components/editors/MeasureSingleSelectFieldPro/index.d.ts.map +1 -1
  107. package/dist/components/editors/MultiSelectFieldPro/index.d.ts +1 -1
  108. package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
  109. package/dist/components/editors/SingleSelectFieldPro/index.d.ts +1 -1
  110. package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
  111. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +1 -1
  112. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
  113. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +1 -1
  114. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
  115. package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.d.ts +1 -2
  116. package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.d.ts.map +1 -1
  117. package/dist/components/editors/shared/EditorCard/EditorCard.d.ts +1 -2
  118. package/dist/components/editors/shared/EditorCard/EditorCard.d.ts.map +1 -1
  119. package/dist/{dates.utils-BF32dTLi.js → dates.utils-D13NY0HZ.js} +32 -27
  120. package/dist/{dates.utils-BF32dTLi.js.map → dates.utils-D13NY0HZ.js.map} +1 -1
  121. package/dist/embeddable-components.json +26 -26
  122. package/dist/embeddable-theme-0137e.js +485 -433
  123. package/dist/{granularity.utils-DOE6WosF.js → granularity.utils-COYhEZ3f.js} +5 -5
  124. package/dist/granularity.utils-COYhEZ3f.js.map +1 -0
  125. package/dist/index-1LMAV7gp.js +131 -0
  126. package/dist/index-1LMAV7gp.js.map +1 -0
  127. package/dist/index-5qsLc5gK.js +28 -0
  128. package/dist/index-5qsLc5gK.js.map +1 -0
  129. package/dist/{index-CjHAwVRf.js → index-77C7AtLU.js} +5 -5
  130. package/dist/index-77C7AtLU.js.map +1 -0
  131. package/dist/{index-CUSduRHI.js → index-B0Z1wHFa.js} +5 -5
  132. package/dist/index-B0Z1wHFa.js.map +1 -0
  133. package/dist/{index-C-nvYCGs.js → index-BIYe6Mxp.js} +16 -16
  134. package/dist/index-BIYe6Mxp.js.map +1 -0
  135. package/dist/index-BLtSOe_I.js +28 -0
  136. package/dist/index-BLtSOe_I.js.map +1 -0
  137. package/dist/index-BfrhwVwQ.js +30 -0
  138. package/dist/index-BfrhwVwQ.js.map +1 -0
  139. package/dist/{index-GErBkwin.js → index-BownhTSN.js} +10 -10
  140. package/dist/index-BownhTSN.js.map +1 -0
  141. package/dist/{index-xEBUfTFG.js → index-BwwtBJde.js} +18 -18
  142. package/dist/index-BwwtBJde.js.map +1 -0
  143. package/dist/{index-Dqg161tJ.js → index-C6YdlImA.js} +10 -10
  144. package/dist/index-C6YdlImA.js.map +1 -0
  145. package/dist/{index-lRdvXdHc.js → index-CDfc3oko.js} +60 -60
  146. package/dist/index-CDfc3oko.js.map +1 -0
  147. package/dist/index-CKM7Eu4P.js +29 -0
  148. package/dist/index-CKM7Eu4P.js.map +1 -0
  149. package/dist/{index-CF3L0Llr.js → index-CWAfLnlR.js} +11 -11
  150. package/dist/index-CWAfLnlR.js.map +1 -0
  151. package/dist/index-CWoNbj8I.js +40 -0
  152. package/dist/index-CWoNbj8I.js.map +1 -0
  153. package/dist/index-CfSyZuh4.js +436 -0
  154. package/dist/index-CfSyZuh4.js.map +1 -0
  155. package/dist/{index-BurrZuJv.js → index-ChBjG9Oi.js} +12 -12
  156. package/dist/index-ChBjG9Oi.js.map +1 -0
  157. package/dist/{index-DE1v51rj.js → index-Ci4fIfj8.js} +8 -8
  158. package/dist/index-Ci4fIfj8.js.map +1 -0
  159. package/dist/{index-Cqijl93L.js → index-CwEdsnOz.js} +10 -10
  160. package/dist/index-CwEdsnOz.js.map +1 -0
  161. package/dist/index-CzKKN6Om.js +9 -0
  162. package/dist/index-CzKKN6Om.js.map +1 -0
  163. package/dist/{index-CWbF9C-q.js → index-D65Rq3k-.js} +6 -6
  164. package/dist/index-D65Rq3k-.js.map +1 -0
  165. package/dist/{index-D6MGD_eg.js → index-DA8SRHFS.js} +16 -16
  166. package/dist/index-DA8SRHFS.js.map +1 -0
  167. package/dist/{index-Ddl-xnlO.js → index-DILo_r4-.js} +8 -8
  168. package/dist/index-DILo_r4-.js.map +1 -0
  169. package/dist/{index-DUbT-KRk.js → index-DK0M5jbC.js} +10 -10
  170. package/dist/index-DK0M5jbC.js.map +1 -0
  171. package/dist/{index-CFrNEzVs.js → index-DKN0VZXM.js} +13 -13
  172. package/dist/index-DKN0VZXM.js.map +1 -0
  173. package/dist/{index-LXoveu2D.js → index-DN5C1NTk.js} +5 -5
  174. package/dist/index-DN5C1NTk.js.map +1 -0
  175. package/dist/{index-CMQ1TgyS.js → index-d6y81S-C.js} +23 -23
  176. package/dist/index-d6y81S-C.js.map +1 -0
  177. package/dist/{index-DY_fdpVZ.js → index-r9MBmJ_q.js} +5 -5
  178. package/dist/index-r9MBmJ_q.js.map +1 -0
  179. package/dist/{index-RClH7rnf.js → index-s6HzicAx.js} +20 -20
  180. package/dist/index-s6HzicAx.js.map +1 -0
  181. package/dist/index.d.ts +67 -8
  182. package/dist/index.d.ts.map +1 -1
  183. package/dist/index.js +152 -91
  184. package/dist/index.js.map +1 -1
  185. package/dist/{lines.utils-COGf_F0b.js → lines.utils-CEGfmIHB.js} +5 -5
  186. package/dist/lines.utils-CEGfmIHB.js.map +1 -0
  187. package/dist/{pies.utils-JJQ8gWX5.js → pies.utils-CxJtBPWG.js} +5 -5
  188. package/dist/{pies.utils-JJQ8gWX5.js.map → pies.utils-CxJtBPWG.js.map} +1 -1
  189. package/dist/preview.data.constants-DWqfMVjy.js +123 -0
  190. package/dist/preview.data.constants-DWqfMVjy.js.map +1 -0
  191. package/dist/remarkable-pro.css +1 -1
  192. package/dist/styles.utils-BfpH_m_W.js.map +1 -1
  193. package/dist/tables.hooks-fVC_4V5K.js +47 -0
  194. package/dist/tables.hooks-fVC_4V5K.js.map +1 -0
  195. package/dist/{tables.utils-Tmh4h7ni.js → tables.utils-D4RGHDWw.js} +4 -4
  196. package/dist/{tables.utils-Tmh4h7ni.js.map → tables.utils-D4RGHDWw.js.map} +1 -1
  197. package/dist/theme/styles/styles.utils.d.ts +1 -2
  198. package/dist/theme/styles/styles.utils.d.ts.map +1 -1
  199. package/dist/{timeRange.utils-BkBVvgvj.js → timeRange.utils-D8kYnjqp.js} +5 -5
  200. package/dist/{timeRange.utils-BkBVvgvj.js.map → timeRange.utils-D8kYnjqp.js.map} +1 -1
  201. package/dist/utils/array.utils.d.ts +2 -0
  202. package/dist/utils/array.utils.d.ts.map +1 -0
  203. package/package.json +2 -2
  204. package/dist/ChartCard-lY9ll4LQ.js +0 -117
  205. package/dist/Color.type.emb-DyMeb06O.js.map +0 -1
  206. package/dist/DimensionAndMeasureSingleSelectField-CauMjY7c.js.map +0 -1
  207. package/dist/EditorCard-BT_swxOl.js.map +0 -1
  208. package/dist/charts.utils-B3C8A2Nv.js.map +0 -1
  209. package/dist/formatter.utils-7mfdOwJE.js +0 -54
  210. package/dist/formatter.utils-7mfdOwJE.js.map +0 -1
  211. package/dist/granularity.utils-DOE6WosF.js.map +0 -1
  212. package/dist/index-BurrZuJv.js.map +0 -1
  213. package/dist/index-C-nvYCGs.js.map +0 -1
  214. package/dist/index-CF3L0Llr.js.map +0 -1
  215. package/dist/index-CFrNEzVs.js.map +0 -1
  216. package/dist/index-CMQ1TgyS.js.map +0 -1
  217. package/dist/index-CUSduRHI.js.map +0 -1
  218. package/dist/index-CWbF9C-q.js.map +0 -1
  219. package/dist/index-CjHAwVRf.js.map +0 -1
  220. package/dist/index-Cqijl93L.js.map +0 -1
  221. package/dist/index-D6MGD_eg.js.map +0 -1
  222. package/dist/index-DE1v51rj.js.map +0 -1
  223. package/dist/index-DUbT-KRk.js.map +0 -1
  224. package/dist/index-DY_fdpVZ.js.map +0 -1
  225. package/dist/index-Ddl-xnlO.js.map +0 -1
  226. package/dist/index-Dqg161tJ.js.map +0 -1
  227. package/dist/index-GErBkwin.js.map +0 -1
  228. package/dist/index-LXoveu2D.js.map +0 -1
  229. package/dist/index-QipF64Oq.js +0 -99
  230. package/dist/index-QipF64Oq.js.map +0 -1
  231. package/dist/index-RClH7rnf.js.map +0 -1
  232. package/dist/index-lRdvXdHc.js.map +0 -1
  233. package/dist/index-xEBUfTFG.js.map +0 -1
  234. package/dist/lines.utils-COGf_F0b.js.map +0 -1
  235. package/dist/preview.data.constants-BsS2fJxn.js +0 -72
  236. package/dist/preview.data.constants-BsS2fJxn.js.map +0 -1
  237. package/dist/tables.hooks-BQdyUxau.js +0 -45
  238. package/dist/tables.hooks-BQdyUxau.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { j as s, w as y } from "./Color.type.emb-DyMeb06O.js";
2
- import { G as p } from "./GranularitySelectField-BxO_3Xt9.js";
1
+ import { j as s, r as y } from "./Color.type.emb-JBTB4VAn.js";
2
+ import { G as p } from "./GranularitySelectField-DpCZ47f8.js";
3
3
  const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn_7", o = {
4
4
  chartGranularitySelectFieldContainer: g,
5
5
  marginTop: G
@@ -33,7 +33,7 @@ const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn
33
33
  )
34
34
  }
35
35
  );
36
- }, w = (r, t) => {
36
+ }, x = (r, t) => {
37
37
  var n;
38
38
  const a = t ?? ((n = r.inputs) == null ? void 0 : n.granularity);
39
39
  return {
@@ -46,6 +46,6 @@ const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn
46
46
  };
47
47
  export {
48
48
  S as C,
49
- w as g
49
+ x as g
50
50
  };
51
- //# sourceMappingURL=granularity.utils-DOE6WosF.js.map
51
+ //# sourceMappingURL=granularity.utils-COYhEZ3f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"granularity.utils-COYhEZ3f.js","sources":["../src/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.tsx","../src/components/charts/utils/granularity.utils.ts"],"sourcesContent":["import { Dimension, Granularity } from '@embeddable.com/core';\nimport {\n GranularitySelectField,\n GranularitySelectFieldProps,\n} from '../../../editors/shared/GranularitySelectField/GranularitySelectField';\nimport styles from './ChartGranularitySelectField.module.css';\nimport clsx from 'clsx';\n\nexport type ChartGranularitySelectFieldProps = Pick<GranularitySelectFieldProps, 'onChange'> & {\n dimension: Dimension;\n hasMarginTop?: boolean;\n};\n\nconst dimensionGranularities: Granularity[] = ['day', 'week', 'month', 'quarter', 'year'];\n\nexport const ChartGranularitySelectField = ({\n dimension,\n hasMarginTop,\n ...props\n}: ChartGranularitySelectFieldProps) => {\n const showGranularitySelector = dimension?.inputs?.showGranularityDropdown;\n\n if (!showGranularitySelector) {\n return null;\n }\n\n const dimensionTimeRange = dimension.inputs?.dateBounds;\n const dimensionGranularity = dimension.inputs?.granularity;\n\n return (\n <div\n className={clsx(\n styles.chartGranularitySelectFieldContainer,\n hasMarginTop && styles.marginTop,\n )}\n >\n <GranularitySelectField\n {...props}\n primaryTimeRange={dimensionTimeRange}\n granularity={dimensionGranularity}\n granularities={dimensionGranularities}\n variant=\"ghost\"\n side=\"bottom\"\n align=\"end\"\n />\n </div>\n );\n};\n","import { Dimension, Granularity } from '@embeddable.com/core';\n\nexport const getDimensionWithGranularity = (dimension: Dimension, granularity?: Granularity) => {\n const currentGranularity = granularity ?? dimension.inputs?.granularity;\n\n return {\n ...dimension,\n inputs: {\n ...dimension.inputs,\n granularity: currentGranularity,\n },\n };\n};\n"],"names":["dimensionGranularities","ChartGranularitySelectField","dimension","hasMarginTop","props","_a","dimensionTimeRange","_b","dimensionGranularity","_c","jsx","clsx","styles","GranularitySelectField","getDimensionWithGranularity","granularity","currentGranularity"],"mappings":";;;;;GAaMA,IAAwC,CAAC,OAAO,QAAQ,SAAS,WAAW,MAAM,GAE3EC,IAA8B,CAAC;AAAA,EAC1C,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAwC;;AAGtC,MAAI,GAF4BC,IAAAH,KAAA,gBAAAA,EAAW,WAAX,gBAAAG,EAAmB;AAGjD,WAAO;AAGT,QAAMC,KAAqBC,IAAAL,EAAU,WAAV,gBAAAK,EAAkB,YACvCC,KAAuBC,IAAAP,EAAU,WAAV,gBAAAO,EAAkB;AAE/C,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTC,EAAO;AAAA,QACPT,KAAgBS,EAAO;AAAA,MAAA;AAAA,MAGzB,UAAAF,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACE,GAAGT;AAAA,UACJ,kBAAkBE;AAAA,UAClB,aAAaE;AAAA,UACb,eAAeR;AAAA,UACf,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IACR;AAAA,EAAA;AAGN,GC7Cac,IAA8B,CAACZ,GAAsBa,MAA8B;;AAC9F,QAAMC,IAAqBD,OAAeV,IAAAH,EAAU,WAAV,gBAAAG,EAAkB;AAE5D,SAAO;AAAA,IACL,GAAGH;AAAA,IACH,QAAQ;AAAA,MACN,GAAGA,EAAU;AAAA,MACb,aAAac;AAAA,IAAA;AAAA,EACf;AAEJ;"}
@@ -0,0 +1,131 @@
1
+ import { j as v, s as J } from "./Color.type.emb-JBTB4VAn.js";
2
+ import { useTheme as Q } from "@embeddable.com/react";
3
+ import { b as U, r as X, i as Y } from "./component.inputs.constants-Cj-atN8w.js";
4
+ import { C as Z } from "./ChartCard-Bu-80NJh.js";
5
+ import { useRef as $, useState as T, useEffect as K } from "react";
6
+ import { u as S } from "./charts.fillGaps.hooks-C7KsWcZb.js";
7
+ import { g as P } from "./preview.data.constants-DWqfMVjy.js";
8
+ import { u as ee } from "./tables.hooks-fVC_4V5K.js";
9
+ const te = (t, e) => {
10
+ const o = P(e);
11
+ return t.measures.map((n) => {
12
+ var l, s;
13
+ return {
14
+ key: n.name,
15
+ label: o.dimensionOrMeasureTitle(n),
16
+ showAsPercentage: !!((l = n.inputs) != null && l.showAsPercentage),
17
+ percentageDecimalPlaces: ((s = n.inputs) == null ? void 0 : s.decimalPlaces) ?? 1,
18
+ accessor: (r) => r[n.name] == null ? t.displayNullAs : o.data(n, r[n.name])
19
+ };
20
+ });
21
+ }, R = (t, e) => {
22
+ const o = P(e);
23
+ return {
24
+ key: t.dimension.name,
25
+ label: o.dimensionOrMeasureTitle(t.dimension),
26
+ formatValue: (n) => o.data(t.dimension, n)
27
+ };
28
+ }, oe = (t) => t.filter((e) => {
29
+ var o;
30
+ return (o = e.inputs) == null ? void 0 : o.showColumnTotal;
31
+ }).map((e) => e.name), ne = (t) => t.filter((e) => {
32
+ var o;
33
+ return (o = e.inputs) == null ? void 0 : o.showRowTotal;
34
+ }).map((e) => e.name), se = (t, e, o = "asc") => [...t].sort((n, l) => n[e] < l[e] ? o === "asc" ? -1 : 1 : n[e] > l[e] ? o === "asc" ? 1 : -1 : 0), ae = (t) => {
35
+ var b;
36
+ const e = Q();
37
+ U(e);
38
+ const { title: o, description: n, tooltip: l } = X(t), {
39
+ resultsSubRows: s,
40
+ measures: r,
41
+ rowDimension: a,
42
+ subRowDimension: m,
43
+ columnDimension: d,
44
+ displayNullAs: D,
45
+ columnWidth: x,
46
+ firstColumnWidth: F,
47
+ hideMenu: y,
48
+ expandedRowKeys: f,
49
+ setExpandedRowKey: C
50
+ } = t, M = Array.from(
51
+ new Set((t.results.data ?? []).filter(Boolean).map((i) => i[d.name]))
52
+ ), A = Array.from(
53
+ new Set((t.results.data ?? []).filter(Boolean).map((i) => i[a.name]))
54
+ ), B = S({
55
+ results: t.results,
56
+ dimension: d
57
+ }), j = S({
58
+ results: B,
59
+ dimension: a
60
+ }), E = ee({
61
+ results: j,
62
+ columnOrder: M,
63
+ rowOrder: A,
64
+ columnDimension: d,
65
+ rowDimension: a,
66
+ measures: r
67
+ }), O = $(null), G = te({ measures: r, displayNullAs: D }, e), _ = R({ dimension: a }, e), k = m ? R({ dimension: m }, e) : void 0, L = R({ dimension: d }, e), N = oe(r), W = ne(r), [z, p] = T(/* @__PURE__ */ new Set()), [I, V] = T(/* @__PURE__ */ new Map()), q = (i) => {
68
+ p((u) => new Set(u).add(i)), C(i);
69
+ };
70
+ return K(() => {
71
+ if (!s || !(s != null && s.data) || f.length === 0)
72
+ return;
73
+ const i = /* @__PURE__ */ new Map();
74
+ f.forEach((u) => {
75
+ var g, h;
76
+ if ((g = s.data) == null ? void 0 : g.some(
77
+ (c) => String(c[a.name]) === u
78
+ )) {
79
+ const c = ((h = s.data) == null ? void 0 : h.filter((H) => String(H[a.name]) === u)) ?? [], w = m ? se(c, m.name, "asc") : c;
80
+ i.set(u, w);
81
+ }
82
+ p((c) => {
83
+ const w = new Set(c);
84
+ return w.delete(u), w;
85
+ });
86
+ }), V(i);
87
+ }, [s, f, a, m]), /* @__PURE__ */ v.jsx(
88
+ Z,
89
+ {
90
+ ref: O,
91
+ title: o,
92
+ description: n,
93
+ tooltip: l,
94
+ data: t.results,
95
+ dimensionsAndMeasures: [a, d, ...r],
96
+ errorMessage: (b = t.results) == null ? void 0 : b.error,
97
+ hideMenu: y,
98
+ children: /* @__PURE__ */ v.jsx(
99
+ J,
100
+ {
101
+ firstColumnWidth: F,
102
+ columnWidth: x,
103
+ totalLabel: Y.t("charts.pivotTable.total"),
104
+ data: E,
105
+ measures: G,
106
+ rowDimension: _,
107
+ columnDimension: L,
108
+ columnTotalsFor: N,
109
+ rowTotalsFor: W,
110
+ expandableRows: !!m,
111
+ subRowsByRow: I,
112
+ loadingRows: z,
113
+ onRowExpand: q,
114
+ subRowDimension: k
115
+ }
116
+ )
117
+ }
118
+ );
119
+ }, Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
120
+ __proto__: null,
121
+ default: ae
122
+ }, Symbol.toStringTag, { value: "Module" }));
123
+ export {
124
+ ae as P,
125
+ R as a,
126
+ te as b,
127
+ ne as c,
128
+ oe as g,
129
+ Re as i
130
+ };
131
+ //# sourceMappingURL=index-1LMAV7gp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-1LMAV7gp.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","export const sortArrayByProp = <T, K extends keyof T>(\n arr: T[],\n prop: K,\n order: 'asc' | 'desc' = 'asc',\n): T[] => {\n return [...arr].sort((a, b) => {\n if (a[prop] < b[prop]) return order === 'asc' ? -1 : 1;\n if (a[prop] > b[prop]) return order === 'asc' ? 1 : -1;\n return 0;\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useEffect, useRef, useState } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\nimport { sortArrayByProp } from '../../../../utils/array.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PivotTableProProps = {\n results: DataResponse;\n resultsSubRows?: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n subRowDimension?: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n expandedRowKeys: string[];\n setExpandedRowKey: (expandedRowKeys: string) => void;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n resultsSubRows,\n measures,\n rowDimension,\n subRowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n expandedRowKeys,\n setExpandedRowKey,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotSubRowDimension = subRowDimension\n ? getPivotDimension({ dimension: subRowDimension }, theme)\n : undefined;\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n const [loadingRows, setLoadingRows] = useState(new Set<string>());\n const [subRowsByRow, setSubRowsByRow] = useState(new Map<string, any[]>());\n\n const handleRowExpand = (rowKey: string) => {\n setLoadingRows((prev) => new Set(prev).add(rowKey));\n setExpandedRowKey(rowKey);\n };\n\n useEffect(() => {\n // No results or no expandedRowKeys, nothing to load\n if (!resultsSubRows || !resultsSubRows?.data || expandedRowKeys.length === 0) {\n return;\n }\n\n const subRowsByRowData = new Map<string, any[]>();\n expandedRowKeys.forEach((rowKey) => {\n const containsSubRow = resultsSubRows.data?.some(\n (row) => String(row[rowDimension.name]) === rowKey,\n );\n\n if (containsSubRow) {\n const subRows =\n resultsSubRows.data?.filter((row) => String(row[rowDimension.name]) === rowKey) ?? [];\n const subRowsSorted = subRowDimension\n ? sortArrayByProp(subRows, subRowDimension.name, 'asc')\n : subRows;\n\n subRowsByRowData.set(rowKey, subRowsSorted);\n }\n\n setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n expandableRows={Boolean(subRowDimension)}\n subRowsByRow={subRowsByRow}\n loadingRows={loadingRows}\n onRowExpand={handleRowExpand}\n subRowDimension={pivotSubRowDimension}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","sortArrayByProp","arr","prop","order","a","b","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","resultsSubRows","rowDimension","subRowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","expandedRowKeys","setExpandedRowKey","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotSubRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","loadingRows","setLoadingRows","useState","subRowsByRow","setSubRowsByRow","handleRowExpand","rowKey","prev","useEffect","subRowsByRowData","subRows","subRowsSorted","next","jsx","ChartCard","PivotTable","i18n"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { j as o } from "./Color.type.emb-JBTB4VAn.js";
2
+ import { E as d } from "./EditorCard-DlwWVuY3.js";
3
+ import { b as p, r as u } from "./component.inputs.constants-Cj-atN8w.js";
4
+ import { useTheme as f } from "@embeddable.com/react";
5
+ import { D as S } from "./DimensionAndMeasureSingleSelectField-C5B9m3hv.js";
6
+ const j = (e) => {
7
+ const t = f();
8
+ p(t);
9
+ const { selectedMeasure: r, measureOptions: s, clearable: i, onChange: n } = e, { title: l, description: a, tooltip: m, placeholder: c } = u(e);
10
+ return /* @__PURE__ */ o.jsx(d, { title: l, description: a, tooltip: m, children: /* @__PURE__ */ o.jsx(
11
+ S,
12
+ {
13
+ selectedValue: r,
14
+ options: s,
15
+ placeholder: c,
16
+ clearable: i,
17
+ onChange: n
18
+ }
19
+ ) });
20
+ }, _ = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21
+ __proto__: null,
22
+ default: j
23
+ }, Symbol.toStringTag, { value: "Module" }));
24
+ export {
25
+ j as M,
26
+ _ as i
27
+ };
28
+ //# sourceMappingURL=index-5qsLc5gK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-5qsLc5gK.js","sources":["../src/components/editors/MeasureSingleSelectFieldPro/index.tsx"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type MeasureSingleSelectFieldProProps = {\n selectedMeasure?: Measure;\n measureOptions: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst MeasureSingleSelectFieldPro = (props: MeasureSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasure, measureOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Measure>\n selectedValue={selectedMeasure}\n options={measureOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureSingleSelectFieldPro;\n"],"names":["MeasureSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasure","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField"],"mappings":";;;;;AAiBA,MAAMA,IAA8B,CAACC,MAA4C;AAC/E,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,iBAAAG,GAAiB,gBAAAC,GAAgB,WAAAC,GAAW,UAAAC,MAAaP,GAC3D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;;"}
@@ -1,9 +1,9 @@
1
- import { e as f, u as E, f as O, j as x, T as A, h as N } from "./Color.type.emb-DyMeb06O.js";
1
+ import { c as f, u as E, d as O, j as x, T as A, e as N } from "./Color.type.emb-JBTB4VAn.js";
2
2
  import { useTheme as G } from "@embeddable.com/react";
3
- import { a as U, r as V, i as q } from "./component.inputs.constants-DIuvtpIr.js";
4
- import { C as B } from "./ChartCard-lY9ll4LQ.js";
3
+ import { b as U, r as V, i as q } from "./component.inputs.constants-Cj-atN8w.js";
4
+ import { C as B } from "./ChartCard-Bu-80NJh.js";
5
5
  import { useState as F, useRef as J, useCallback as K, useEffect as d } from "react";
6
- import { b as Q, c as W } from "./tables.utils-Tmh4h7ni.js";
6
+ import { b as Q, c as W } from "./tables.utils-D4RGHDWw.js";
7
7
  const X = f("--em-tablechart-cell-height", "2.5rem"), Y = f("--em-tablechart-cell-height", "2.5rem"), Z = f("--em-tablechart-pagination-height", "3rem");
8
8
  let R;
9
9
  const $ = (u) => {
@@ -111,4 +111,4 @@ export {
111
111
  $ as T,
112
112
  re as i
113
113
  };
114
- //# sourceMappingURL=index-CjHAwVRf.js.map
114
+ //# sourceMappingURL=index-77C7AtLU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-77C7AtLU.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n hasTotalResults: boolean;\n};\n\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState?.((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Sync total from results\n useEffect(() => {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: false,\n }));\n }, [dimensionsAndMeasures, pageSize]);\n\n useEffect(() => {\n if (totalResults?.total) {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: true,\n }));\n }\n }, [totalResults]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage"],"mappings":";;;;;;AAoBA,MAAMA,IAAeC,EAAe,+BAA+B,QAAQ,GACrEC,IAAYD,EAAe,+BAA+B,QAAQ,GAClEE,IAAeF,EAAe,qCAAqC,MAAM;AAE/E,IAAIG;AA0BJ,MAAMC,IAAyB,CAACC,MAAuC;AACrE,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,CAACG,GAAmBC,CAAoB,IAAIC,EAAS,EAAK,GAE1D,EAAE,OAAAC,GAAO,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GACxD;AAAA,IACJ,UAAAW;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACErB,GAEEsB,IAAUC,EAAgB,EAAE,uBAAAR,GAAuB,eAAAC,EAAA,GAAiBf,CAAK,GACzEuB,KAAOX,KAAA,gBAAAA,EAAS,SAAQ,CAAA,GACxBY,IAAYC,EAAa,EAAE,MAAAF,GAAM,gBAAAN,GAAgB,GACjDS,IAAiBC,EAAuB,IAAI,GAC5C,EAAE,QAAAC,EAAA,IAAWC,EAAkBH,CAAc,GAC7CI,IAAWC,EAAuB;AAAA,IACtC,iBAAiBH;AAAA,IACjB,cAAAnC;AAAA,IACA,WAAAE;AAAA,IACA,cAAAC;AAAA,EAAA,CACD,GAGKoC,IAA8BC;AAAA,IAClC,CAACC,MAAmD;AAClD,MAAAf,KAAA,QAAAA,EAAW,CAACgB,OAAe;AAAA,QACzB,GAAGA;AAAA,QACH,GAAGD;AAAA,MAAA;AAAA,IAEP;AAAA,IACA,CAACf,CAAQ;AAAA,EAAA,GAGLiB,IAAuB,CAACC,MAAiE;AAC7F,IAAAjC,EAAqB,EAAI,GACzB4B,EAA4B,EAAE,uBAAuB,IAAM,GAE3DnC,IAAe,CAACyC,MACdD,EAAW;AAAA,MACT,OAAA/B;AAAA,MACA,MAAAgC;AAAA,MACA,uBAAAxB;AAAA,MACA,cAAcY;AAAA,MACd,OAAA1B;AAAA,IAAA,CACD;AAAA,EACL,GAEMuC,IAAsB,CAACC,MAAqB;;AAChD,QAAI,CAACpB,KAAgB,CAACH,EAAgB;AAEtC,UAAMwB,KAAoBC,IAAAnB,EAAKiB,CAAQ,MAAb,gBAAAE,EAAiBzB,EAAe;AAC1D,IAAAG,EAAaqB,CAAiB;AAAA,EAChC;AAGA,EAAAE,EAAU,MAAM;AACd,IAAIb,KACFE,EAA4B,EAAE,UAAAF,GAAU;AAAA,EAE5C,GAAG,CAACA,GAAUE,CAA2B,CAAC,GAG1CW,EAAU,MAAM;AACd,IAAAxB,KAAA,QAAAA,EAAW,CAACgB,OAAe;AAAA,MACzB,GAAGA;AAAA,MACH,iBAAiB;AAAA,IAAA;AAAA,EAErB,GAAG,CAACrB,GAAuBgB,CAAQ,CAAC,GAEpCa,EAAU,MAAM;AACd,IAAIhC,KAAA,QAAAA,EAAc,UAChBQ,KAAA,QAAAA,EAAW,CAACgB,OAAe;AAAA,MACzB,GAAGA;AAAA,MACH,iBAAiB;AAAA,IAAA;AAAA,EAGvB,GAAG,CAACxB,CAAY,CAAC,GAGjBgC,EAAU,MAAM;AACd,QAAIxC,GAAmB;AACrB,UAAI,CAACU,KAAcA,EAAW;AAE5B;AAGF,MAAAhB,EAAagB,EAAW,IAAI,GAC5BT,EAAqB,EAAK,GAC1B4B,EAA4B,EAAE,uBAAuB,IAAO;AAAA,IAC9D;AAAA,EACF,GAAG,CAAC7B,GAAmBU,GAAYmB,CAA2B,CAAC;AAE/D,QAAMY,IAAmB,CAACC,MAAwC;AAChE,IAAAb,EAA4B,EAAE,MAAMa,GAAgD;AAAA,EACtF,GAEMC,KAAc5B,KAAA,gBAAAA,EAAO,SAAQ;AACnC,SACE6B,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKtB;AAAA,MACL,OAAApB;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,MACA,MAAMI;AAAA,MACN,uBAAAE;AAAA,MACA,cAAcF,KAAA,gBAAAA,EAAS;AAAA,MACvB,kBAAkBwB;AAAA,MAClB,UAAA1B;AAAA,MAEA,UAAAqC,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,iBAAiBV;AAAA,UACjB,SAAAlB;AAAA,UACA,MAAMG;AAAA,UACN,WAAAR;AAAA,UACA,MAAM8B;AAAA,UACN,UAAAhB;AAAA,UACA,iBAAiBoB,EAAK,EAAE,oCAAoC;AAAA,YAC1D,MAAMJ,IAAc;AAAA,YACpB,YAAYK,EAAmBxC,KAAA,gBAAAA,EAAc,OAAOmB,CAAQ,KAAK;AAAA,UAAA,CAClE;AAAA,UACD,OAAOnB,KAAA,gBAAAA,EAAc;AAAA,UACrB,MAAMO,KAAA,gBAAAA,EAAO;AAAA,UACb,cAAc0B;AAAA,UACd,cAAc,CAACQ,MAAYpB,EAA4B,EAAE,MAAMoB,GAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1E;AAAA,EAAA;AAGN;;;;"}
@@ -1,8 +1,8 @@
1
- import { j as l, S as b } from "./Color.type.emb-DyMeb06O.js";
2
- import { g as j } from "./formatter.utils-7mfdOwJE.js";
1
+ import { j as l, S as b } from "./Color.type.emb-JBTB4VAn.js";
2
+ import { g as j } from "./preview.data.constants-DWqfMVjy.js";
3
3
  import { useTheme as v } from "@embeddable.com/react";
4
- import { E as x } from "./EditorCard-BT_swxOl.js";
5
- import { r as F, i as M } from "./component.inputs.constants-DIuvtpIr.js";
4
+ import { E as x } from "./EditorCard-DlwWVuY3.js";
5
+ import { r as F, i as M } from "./component.inputs.constants-Cj-atN8w.js";
6
6
  const _ = 200, P = (n) => {
7
7
  var i, r;
8
8
  const m = v(), c = j(m), { title: d, description: p, dimension: t, placeholder: u, tooltip: g } = F(n), { optionalSecondDimension: a, results: o, selectedValue: S, setSearchValue: h, onChange: s } = n, f = ((i = o.data) == null ? void 0 : i.map((e) => ({
@@ -34,4 +34,4 @@ export {
34
34
  P as S,
35
35
  I as i
36
36
  };
37
- //# sourceMappingURL=index-CUSduRHI.js.map
37
+ //# sourceMappingURL=index-B0Z1wHFa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-B0Z1wHFa.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type SingleSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue?: string;\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = props;\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue: string) => onChange?.(newValue)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AASO,MAAMA,IAAc,KAarBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC,EAAE,OAAAI,GAAO,aAAAC,GAAa,WAAAC,GAAW,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GAChF,EAAE,yBAAAW,GAAyB,SAAAC,GAAS,eAAAC,GAAe,gBAAAC,GAAgB,UAAAC,MAAaf,GAEhFgB,MACJC,IAAAL,EAAQ,SAAR,gBAAAK,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOP,IAA0BO,EAAKP,EAAwB,IAAI,IAAIO,EAAKX,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWW,EAAKX,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFY,IAA+B,CAACP,EAAQ,gBAAcQ,IAAAR,EAAQ,SAAR,gBAAAQ,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAjB,GAAc,aAAAC,GAA0B,SAAAG,GAClD,UAAAY,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,YAAU;AAAA,MACV,WAAWX,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAG;AAAA,MACA,aAAAR;AAAA,MACA,kBAAkBW,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAqBV,KAAA,gBAAAA,EAAWU;AAAA,MAC3C,UAAUX;AAAA,MACV,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;;"}
@@ -1,17 +1,17 @@
1
- import { m as z, j as o, B as L } from "./Color.type.emb-DyMeb06O.js";
1
+ import { m as z, j as o, B as L } from "./Color.type.emb-JBTB4VAn.js";
2
2
  import { useTheme as T } from "@embeddable.com/react";
3
- import { a as w, r as _ } from "./component.inputs.constants-DIuvtpIr.js";
4
- import { C as v } from "./ChartCard-lY9ll4LQ.js";
5
- import { g as D, a as G } from "./bars.utils-D67ef4lU.js";
3
+ import { b as w, r as _ } from "./component.inputs.constants-Cj-atN8w.js";
4
+ import { C as v } from "./ChartCard-Bu-80NJh.js";
5
+ import { g as D, a as G } from "./bars.utils-DZf4BZCu.js";
6
6
  import { u as H } from "./charts.fillGaps.hooks-C7KsWcZb.js";
7
- import { C as I } from "./granularity.utils-DOE6WosF.js";
7
+ import { C as I } from "./granularity.utils-COYhEZ3f.js";
8
8
  const O = (t) => {
9
9
  var u, h;
10
- const r = T();
11
- w(r);
10
+ const a = T();
11
+ w(a);
12
12
  const {
13
13
  hideMenu: c,
14
- dimension: a,
14
+ dimension: r,
15
15
  measures: e,
16
16
  showValueLabels: x,
17
17
  reverseYAxis: d,
@@ -25,20 +25,20 @@ const O = (t) => {
25
25
  onBarClicked: y
26
26
  } = t, { description: i, title: n, tooltip: l, xAxisLabel: A, yAxisLabel: B } = _(t), s = H({
27
27
  results: t.results,
28
- dimension: a
28
+ dimension: r
29
29
  }), m = D(
30
- { data: s.data, dimension: a, measures: e, maxItems: b },
31
- r
30
+ { data: s.data, dimension: r, measures: e, maxItems: b },
31
+ a
32
32
  ), P = z(
33
- G({ measures: e, horizontal: !0, onBarClicked: y, data: m, dimension: a }, r),
33
+ G({ measures: e, horizontal: !0, onBarClicked: y, data: m, dimension: r }, a),
34
34
  // Format X axis based on first measure
35
- ((h = (u = r.charts) == null ? void 0 : u.barChartDefaultHorizontalPro) == null ? void 0 : h.options) || {}
35
+ ((h = (u = a.charts) == null ? void 0 : u.barChartDefaultHorizontalPro) == null ? void 0 : h.options) || {}
36
36
  ), S = !n && !i && !l;
37
37
  return /* @__PURE__ */ o.jsxs(
38
38
  v,
39
39
  {
40
40
  data: s,
41
- dimensionsAndMeasures: [a, ...e],
41
+ dimensionsAndMeasures: [r, ...e],
42
42
  errorMessage: s.error,
43
43
  description: i,
44
44
  title: n,
@@ -49,7 +49,7 @@ const O = (t) => {
49
49
  I,
50
50
  {
51
51
  hasMarginTop: S,
52
- dimension: a,
52
+ dimension: r,
53
53
  onChange: j
54
54
  }
55
55
  ),
@@ -81,4 +81,4 @@ export {
81
81
  O as B,
82
82
  J as i
83
83
  };
84
- //# sourceMappingURL=index-C-nvYCGs.js.map
84
+ //# sourceMappingURL=index-BIYe6Mxp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BIYe6Mxp.js","sources":["../src/components/charts/bars/BarChartDefaultHorizontalPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type BarChartDefaultHorizontalProProps = {\n dimension: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n yAxisLabel?: string;\n yAxisMaxItems?: number;\n setGranularity: (granularity: Granularity) => void;\n onBarClicked?: (args: { axisDimensionValue: string | null }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartDefaultHorizontalPro = (props: BarChartDefaultHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n hideMenu,\n dimension,\n measures,\n showValueLabels,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n xAxisRangeMax,\n xAxisRangeMin,\n yAxisMaxItems,\n setGranularity,\n onBarClicked,\n } = props;\n\n const { description, title, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: yAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: true, onBarClicked, data, dimension }, theme), // Format X axis based on first measure\n theme.charts?.barChartDefaultHorizontalPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n <BarChart\n horizontal\n data={data}\n options={options}\n reverseYAxis={reverseYAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n xAxisRangeMax={xAxisRangeMax}\n xAxisRangeMin={xAxisRangeMin}\n yAxisLabel={yAxisLabel}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultHorizontalPro;\n"],"names":["BarChartDefaultHorizontalPro","props","theme","useTheme","i18nSetup","hideMenu","dimension","measures","showValueLabels","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","xAxisRangeMax","xAxisRangeMin","yAxisMaxItems","setGranularity","onBarClicked","description","title","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart"],"mappings":";;;;;;;AA8BA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,UAAAG;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEhB,GAEE,EAAE,aAAAiB,GAAa,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBtB,CAAK,GAEhFuB,IAAUC,EAAY;AAAA,IAC1B,SAASxB,EAAM;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKoB,IAAOC;AAAA,IACX,EAAE,MAAMH,EAAQ,MAAM,WAAAlB,GAAW,UAAAC,GAAU,UAAUQ,EAAA;AAAA,IACrDb;AAAA,EAAA,GAGI0B,IAAUC;AAAA,IACdC,EAAsB,EAAE,UAAAvB,GAAU,YAAY,IAAM,cAAAU,GAAc,MAAAS,GAAM,WAAApB,EAAA,GAAaJ,CAAK;AAAA;AAAA,MAC1F6B,KAAAC,IAAA9B,EAAM,WAAN,gBAAA8B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAACd,KAAS,CAACD,KAAe,CAACE;AAEnE,SACEc,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAAClB,GAAW,GAAGC,CAAQ;AAAA,MAC9C,cAAciB,EAAQ;AAAA,MACtB,aAAAN;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAf;AAAA,MAEA,UAAA;AAAA,QAAA+B,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAA3B;AAAA,YACA,UAAUU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZoB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,YAAU;AAAA,YACV,MAAAZ;AAAA,YACA,SAAAE;AAAA,YACA,cAAAnB;AAAA,YACA,YAAAC;AAAA,YACA,sBAAAC;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAJ;AAAA,YACA,YAAAa;AAAA,YACA,eAAAR;AAAA,YACA,eAAAC;AAAA,YACA,YAAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;;"}
@@ -0,0 +1,28 @@
1
+ import { j as o } from "./Color.type.emb-JBTB4VAn.js";
2
+ import { E as d } from "./EditorCard-DlwWVuY3.js";
3
+ import { b as p, r as u } from "./component.inputs.constants-Cj-atN8w.js";
4
+ import { useTheme as f } from "@embeddable.com/react";
5
+ import { D as S } from "./DimensionAndMeasureSingleSelectField-C5B9m3hv.js";
6
+ const j = (e) => {
7
+ const t = f();
8
+ p(t);
9
+ const { selectedDimension: i, dimensionOptions: n, clearable: r, onChange: s } = e, { title: l, description: m, tooltip: a, placeholder: c } = u(e);
10
+ return /* @__PURE__ */ o.jsx(d, { title: l, description: m, tooltip: a, children: /* @__PURE__ */ o.jsx(
11
+ S,
12
+ {
13
+ selectedValue: i,
14
+ options: n,
15
+ placeholder: c,
16
+ clearable: r,
17
+ onChange: s
18
+ }
19
+ ) });
20
+ }, _ = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21
+ __proto__: null,
22
+ default: j
23
+ }, Symbol.toStringTag, { value: "Module" }));
24
+ export {
25
+ j as D,
26
+ _ as i
27
+ };
28
+ //# sourceMappingURL=index-BLtSOe_I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BLtSOe_I.js","sources":["../src/components/editors/DimensionSingleSelectFieldPro/index.tsx"],"sourcesContent":["import { Dimension } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type DimensionSingleSelectFieldProProps = {\n selectedDimension?: Dimension;\n dimensionOptions: Dimension[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Dimension | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst DimensionSingleSelectFieldPro = (props: DimensionSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedDimension, dimensionOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Dimension>\n selectedValue={selectedDimension}\n options={dimensionOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default DimensionSingleSelectFieldPro;\n"],"names":["DimensionSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedDimension","dimensionOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField"],"mappings":";;;;;AAiBA,MAAMA,IAAgC,CAACC,MAA8C;AACnF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,mBAAAG,GAAmB,kBAAAC,GAAkB,WAAAC,GAAW,UAAAC,MAAaP,GAC/D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;;"}
@@ -0,0 +1,30 @@
1
+ import { j as t, A as l, I as a } from "./Color.type.emb-JBTB4VAn.js";
2
+ import { useState as i, useEffect as u } from "react";
3
+ const p = "_colorInputContainer_1o1qe_1", I = "_colorInput_1o1qe_1", c = {
4
+ colorInputContainer: p,
5
+ colorInput: I
6
+ }, _ = ({ value: o, onChange: n }) => {
7
+ const [e, r] = i(o);
8
+ return u(() => {
9
+ r(o);
10
+ }, [o, r]), /* @__PURE__ */ t.jsxs("div", { className: c.colorInputContainer, children: [
11
+ /* @__PURE__ */ t.jsx(
12
+ "input",
13
+ {
14
+ type: "color",
15
+ className: c.colorInput,
16
+ value: e ?? "#FFFFFF",
17
+ onChange: (s) => n(s.target.value)
18
+ }
19
+ ),
20
+ e && /* @__PURE__ */ t.jsx(l, { icon: a, onClick: () => n(void 0) })
21
+ ] });
22
+ }, d = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
23
+ __proto__: null,
24
+ default: _
25
+ }, Symbol.toStringTag, { value: "Module" }));
26
+ export {
27
+ _ as C,
28
+ d as i
29
+ };
30
+ //# sourceMappingURL=index-BfrhwVwQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BfrhwVwQ.js","sources":["../src/editors/ColorEditor/index.tsx"],"sourcesContent":["import { useState, useEffect, FC } from 'react';\nimport styles from './ColorEditor.module.css';\nimport { ActionIcon } from '@embeddable.com/remarkable-ui';\nimport { IconX } from '@tabler/icons-react';\n\ntype ColorInputProps = {\n value: string;\n onChange: (color?: string) => void;\n};\n\nconst ColorInput: FC<ColorInputProps> = ({ value, onChange }) => {\n const [color, setColor] = useState<string>(value);\n\n useEffect(() => {\n setColor(value);\n }, [value, setColor]);\n\n return (\n <div className={styles.colorInputContainer}>\n <input\n type=\"color\"\n className={styles.colorInput}\n value={color ?? '#FFFFFF'}\n onChange={(e) => onChange(e.target.value)}\n />\n {color && <ActionIcon icon={IconX} onClick={() => onChange(undefined)} />}\n </div>\n );\n};\n\nexport default ColorInput;\n"],"names":["ColorInput","value","onChange","color","setColor","useState","useEffect","jsxs","styles","jsx","e","ActionIcon","IconX"],"mappings":";;;;;GAUMA,IAAkC,CAAC,EAAE,OAAAC,GAAO,UAAAC,QAAe;AAC/D,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAiBJ,CAAK;AAEhD,SAAAK,EAAU,MAAM;AACd,IAAAF,EAASH,CAAK;AAAA,EAChB,GAAG,CAACA,GAAOG,CAAQ,CAAC,GAGlBG,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAWC,EAAO,qBACrB,UAAA;AAAA,IAAAC,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAWD,EAAO;AAAA,QAClB,OAAOL,KAAS;AAAA,QAChB,UAAU,CAACO,MAAMR,EAASQ,EAAE,OAAO,KAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAEzCP,2BAAUQ,GAAA,EAAW,MAAMC,GAAO,SAAS,MAAMV,EAAS,MAAS,EAAA,CAAG;AAAA,EAAA,GACzE;AAEJ;;;;"}
@@ -1,16 +1,16 @@
1
- import { j as i, K as x } from "./Color.type.emb-DyMeb06O.js";
2
- import { useTheme as v } from "@embeddable.com/react";
3
- import { a as C, r as K } from "./component.inputs.constants-DIuvtpIr.js";
4
- import { C as S } from "./ChartCard-lY9ll4LQ.js";
5
- import { g as b } from "./formatter.utils-7mfdOwJE.js";
1
+ import { j as i, K as x } from "./Color.type.emb-JBTB4VAn.js";
2
+ import { useTheme as b } from "@embeddable.com/react";
3
+ import { b as v, r as C } from "./component.inputs.constants-Cj-atN8w.js";
4
+ import { C as K } from "./ChartCard-Bu-80NJh.js";
5
+ import { g as S } from "./preview.data.constants-DWqfMVjy.js";
6
6
  import { g as F } from "./kpis.utils-DsZ2GzuB.js";
7
7
  const M = (r) => {
8
8
  var a, n;
9
- const o = v();
10
- C(o);
11
- const { title: m, description: l, tooltip: u, displayNullAs: s } = K(r), { measure: e, fontSize: d, hideMenu: p, results: t } = r, c = (n = (a = t.data) == null ? void 0 : a[0]) == null ? void 0 : n[e.name], f = b(o), h = (j) => f.data(e, j), g = F(t, e, !!s);
9
+ const o = b();
10
+ v(o);
11
+ const { title: m, description: l, tooltip: u, displayNullAs: s } = C(r), { measure: e, fontSize: d, hideMenu: p, results: t } = r, c = (n = (a = t.data) == null ? void 0 : a[0]) == null ? void 0 : n[e.name], f = S(o), h = (j) => f.data(e, j), g = F(t, e, !!s);
12
12
  return /* @__PURE__ */ i.jsx(
13
- S,
13
+ K,
14
14
  {
15
15
  data: g,
16
16
  dimensionsAndMeasures: [e],
@@ -38,4 +38,4 @@ export {
38
38
  M as K,
39
39
  A as i
40
40
  };
41
- //# sourceMappingURL=index-GErBkwin.js.map
41
+ //# sourceMappingURL=index-BownhTSN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BownhTSN.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n displayNullAs?: string;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const { measure, fontSize, hideMenu, results } = props;\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n const resultsWithNullsHandled = getKpiResults(results, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","measure","fontSize","hideMenu","results","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart"],"mappings":";;;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAiBR,CAAK,GACvE,EAAE,SAAAS,GAAS,UAAAC,GAAU,UAAAC,GAAU,SAAAC,MAAYZ,GAE3Ca,KAAQC,KAAAC,IAAAH,EAAQ,SAAR,gBAAAG,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBhB,CAAK,GACxCiB,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa,GAEtFC,IAA0BC,EAAcT,GAASH,GAAS,EAAQF,CAAc;AAEtF,SACEe,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAACX,CAAO;AAAA,MAC/B,cAAcG,EAAQ;AAAA,MACtB,aAAAP;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAK;AAAA,MAEA,UAAAW,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,eAAAjB;AAAA,UACA,OAAAM;AAAA,UACA,gBAAAK;AAAA,UACA,eAAeR;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB;AAAA,EAAA;AAGN;;;;"}
@@ -1,10 +1,10 @@
1
- import { x as z, y as N, j as t, z as q, E as B, F as d, G, J, N as Q, O as A, Q as H, R as K } from "./Color.type.emb-DyMeb06O.js";
1
+ import { v as z, w as N, j as t, x as q, y as B, z as d, E as G, F as J, G as A, J as H, N as K, O as Q } from "./Color.type.emb-JBTB4VAn.js";
2
2
  import { useTheme as U } from "@embeddable.com/react";
3
- import { g as P, u as W, a as X, c as v, b as Y } from "./dates.utils-BF32dTLi.js";
4
- import { c as Z, a as $, r as V, i as m } from "./component.inputs.constants-DIuvtpIr.js";
5
- import { E as ee } from "./EditorCard-BT_swxOl.js";
3
+ import { c as P, u as W, g as X, b as v, a as Y } from "./dates.utils-D13NY0HZ.js";
4
+ import { e as Z, b as $, r as V, i as m } from "./component.inputs.constants-Cj-atN8w.js";
5
+ import { E as ee } from "./EditorCard-DlwWVuY3.js";
6
6
  import { useState as R, useEffect as ae } from "react";
7
- import { I as te } from "./IconCalendarFilled-CnWTSJdY.js";
7
+ import { I as te } from "./IconCalendarFilled-DPibPYqC.js";
8
8
  const ne = (o) => o.map((n) => ({
9
9
  rightLabel: P(n.getRange(), n.dateFormat),
10
10
  value: n.value,
@@ -25,17 +25,17 @@ const ne = (o) => o.map((n) => ({
25
25
  z(a, e) || s(a);
26
26
  }, [e, i, s, r]), !i)
27
27
  return null;
28
- const { description: T, placeholder: C, title: O, tooltip: L } = V(o), h = ne(r), F = (a) => {
28
+ const { description: T, placeholder: C, title: O, tooltip: L } = V(o), h = ne(r), w = (a) => {
29
29
  const g = v(
30
30
  { relativeTimeString: a },
31
31
  r
32
32
  );
33
33
  s(g), c(void 0);
34
- }, I = (a) => {
34
+ }, F = (a) => {
35
35
  s(Y(a)), p(!1);
36
- }, _ = () => {
36
+ }, I = () => {
37
37
  c(void 0), s(void 0);
38
- }, w = (() => {
38
+ }, _ = (() => {
39
39
  if (e != null && e.relativeTimeString) {
40
40
  const a = h.find((g) => g.value === e.relativeTimeString);
41
41
  if (a)
@@ -50,13 +50,13 @@ const ne = (o) => o.map((n) => ({
50
50
  onOpenChange: p,
51
51
  avoidCollisions: !1,
52
52
  triggerComponent: /* @__PURE__ */ t.jsx(
53
- K,
53
+ Q,
54
54
  {
55
55
  startIcon: te,
56
56
  "aria-label": C,
57
57
  placeholder: C,
58
- valueLabel: w,
59
- onClear: _,
58
+ valueLabel: _,
59
+ onClear: I,
60
60
  isClearable: k
61
61
  }
62
62
  ),
@@ -81,15 +81,15 @@ const ne = (o) => o.map((n) => ({
81
81
  }
82
82
  ),
83
83
  /* @__PURE__ */ t.jsx(
84
- Q,
84
+ A,
85
85
  {
86
86
  size: "small",
87
87
  disabled: E,
88
- onClick: () => I(l),
88
+ onClick: () => F(l),
89
89
  children: m.t("editors.dateRangePicker.apply")
90
90
  }
91
91
  )
92
- ] }) : /* @__PURE__ */ t.jsxs(A, { children: [
92
+ ] }) : /* @__PURE__ */ t.jsxs(H, { children: [
93
93
  /* @__PURE__ */ t.jsx(
94
94
  d,
95
95
  {
@@ -97,7 +97,7 @@ const ne = (o) => o.map((n) => ({
97
97
  onClick: (a) => {
98
98
  a.preventDefault(), f(!0);
99
99
  },
100
- endIcon: /* @__PURE__ */ t.jsx(H, {})
100
+ endIcon: /* @__PURE__ */ t.jsx(K, {})
101
101
  }
102
102
  ),
103
103
  h.map((a) => /* @__PURE__ */ t.jsx(
@@ -105,7 +105,7 @@ const ne = (o) => o.map((n) => ({
105
105
  {
106
106
  ...a,
107
107
  isSelected: (e == null ? void 0 : e.relativeTimeString) === a.value,
108
- onClick: () => F(a.value)
108
+ onClick: () => w(a.value)
109
109
  },
110
110
  a.value
111
111
  ))
@@ -121,4 +121,4 @@ export {
121
121
  ne as g,
122
122
  fe as i
123
123
  };
124
- //# sourceMappingURL=index-xEBUfTFG.js.map
124
+ //# sourceMappingURL=index-BwwtBJde.js.map