@embeddable.com/remarkable-pro 0.1.8 → 0.1.11

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 (234) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +5 -5
  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-BmBTN11g.js → ChartCard-C94clFr-.js} +10 -10
  8. package/dist/{ChartCard-BmBTN11g.js.map → ChartCard-C94clFr-.js.map} +1 -1
  9. package/dist/{Color.type.emb-tRPNtuPs.js → Color.type.emb-Ba6kRLMO.js} +8032 -8019
  10. package/dist/{Color.type.emb-tRPNtuPs.js.map → Color.type.emb-Ba6kRLMO.js.map} +1 -1
  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-Bap43crU.js → DimensionAndMeasureSingleSelectField-Btd0k1WN.js} +8 -7
  18. package/dist/DimensionAndMeasureSingleSelectField-Btd0k1WN.js.map +1 -0
  19. package/dist/DimensionSingleSelectFieldPro.js +12 -27
  20. package/dist/DimensionSingleSelectFieldPro.js.map +1 -1
  21. package/dist/DonutChartPro.js +7 -7
  22. package/dist/DonutLabelChartPro.js +4 -4
  23. package/dist/{EditorCard-BEOWlY3S.js → EditorCard-CvzyUx4Z.js} +11 -11
  24. package/dist/EditorCard-CvzyUx4Z.js.map +1 -0
  25. package/dist/EmptyBlockPro.js +7 -6
  26. package/dist/EmptyBlockPro.js.map +1 -1
  27. package/dist/{GranularitySelectField-D0AUovNu.js → GranularitySelectField-YRGQFZcI.js} +44 -40
  28. package/dist/{GranularitySelectField-D0AUovNu.js.map → GranularitySelectField-YRGQFZcI.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/HorizontalDividerPro.js +34 -0
  33. package/dist/HorizontalDividerPro.js.map +1 -0
  34. package/dist/{IconCalendarFilled-Dlxre0eW.js → IconCalendarFilled-Bez59Tbf.js} +2 -2
  35. package/dist/{IconCalendarFilled-Dlxre0eW.js.map → IconCalendarFilled-Bez59Tbf.js.map} +1 -1
  36. package/dist/KpiChartNumberComparisonPro.js +4 -4
  37. package/dist/KpiChartNumberPro.js +4 -4
  38. package/dist/LineChartComparisonDefaultPro.js +5 -5
  39. package/dist/LineChartDefaultPro.js +5 -5
  40. package/dist/LineChartGroupedPro.js +5 -5
  41. package/dist/MeasureSingleSelectFieldPro.js +14 -29
  42. package/dist/MeasureSingleSelectFieldPro.js.map +1 -1
  43. package/dist/MultiSelectFieldPro.js +4 -4
  44. package/dist/PieChartPro.js +4 -4
  45. package/dist/PivotTablePro.js +4 -4
  46. package/dist/SingleSelectFieldPro.js +4 -4
  47. package/dist/TableChartPaginated.js +8 -8
  48. package/dist/TableScrollable.js +58 -480
  49. package/dist/TableScrollable.js.map +1 -1
  50. package/dist/{bars.utils-C6w2ekZW.js → bars.utils-D-RpVOx4.js} +7 -7
  51. package/dist/{bars.utils-C6w2ekZW.js.map → bars.utils-D-RpVOx4.js.map} +1 -1
  52. package/dist/{charts.utils-5taHDsqH.js → charts.utils-zx_rdFOh.js} +14 -5
  53. package/dist/{charts.utils-5taHDsqH.js.map → charts.utils-zx_rdFOh.js.map} +1 -1
  54. package/dist/component.inputs.constants-CafM9zee.js +564 -0
  55. package/dist/component.inputs.constants-CafM9zee.js.map +1 -0
  56. package/dist/{component.inputs.constants-DIZMtQw0.js → component.utils-DIYAoUYH.js} +332 -888
  57. package/dist/component.utils-DIYAoUYH.js.map +1 -0
  58. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +1 -1
  59. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
  60. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +1 -1
  61. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
  62. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +1 -1
  63. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  64. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +1 -1
  65. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  66. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +1 -1
  67. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  68. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +1 -1
  69. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  70. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +1 -1
  71. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
  72. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts +1 -1
  73. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
  74. package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
  75. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +1 -1
  76. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  77. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +1 -1
  78. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
  79. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
  80. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +1 -1
  81. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
  82. package/dist/components/charts/lines/lines.utils.d.ts +1 -1
  83. package/dist/components/charts/lines/lines.utils.d.ts.map +1 -1
  84. package/dist/components/charts/pies/DonutChartPro/index.d.ts +1 -1
  85. package/dist/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
  86. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts +1 -1
  87. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
  88. package/dist/components/charts/pies/PieChartPro/index.d.ts +1 -1
  89. package/dist/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
  90. package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts +1 -2
  91. package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts.map +1 -1
  92. package/dist/components/charts/tables/HeatMapPro/index.d.ts +1 -1
  93. package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
  94. package/dist/components/charts/tables/PivotTablePro/index.d.ts +1 -1
  95. package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
  96. package/dist/components/charts/tables/TableChartPaginated/index.d.ts +1 -1
  97. package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
  98. package/dist/components/charts/tables/TableScrollable/index.d.ts +1 -1
  99. package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
  100. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +1 -1
  101. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
  102. package/dist/components/editors/DimensionSingleSelectFieldPro/index.d.ts +1 -1
  103. package/dist/components/editors/DimensionSingleSelectFieldPro/index.d.ts.map +1 -1
  104. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +1 -1
  105. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
  106. package/dist/components/editors/MeasureSingleSelectFieldPro/index.d.ts +1 -1
  107. package/dist/components/editors/MeasureSingleSelectFieldPro/index.d.ts.map +1 -1
  108. package/dist/components/editors/MultiSelectFieldPro/index.d.ts +1 -1
  109. package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
  110. package/dist/components/editors/SingleSelectFieldPro/index.d.ts +1 -1
  111. package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
  112. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +1 -1
  113. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
  114. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +1 -1
  115. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
  116. package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.d.ts +1 -2
  117. package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.d.ts.map +1 -1
  118. package/dist/components/editors/shared/EditorCard/EditorCard.d.ts +1 -2
  119. package/dist/components/editors/shared/EditorCard/EditorCard.d.ts.map +1 -1
  120. package/dist/components/shared/HorizontalDividerPro/index.d.ts +7 -0
  121. package/dist/components/shared/HorizontalDividerPro/index.d.ts.map +1 -0
  122. package/dist/{dates.utils-BF32dTLi.js → dates.utils-D13NY0HZ.js} +32 -27
  123. package/dist/{dates.utils-BF32dTLi.js.map → dates.utils-D13NY0HZ.js.map} +1 -1
  124. package/dist/embeddable-components.json +32 -30
  125. package/dist/embeddable-theme-0137e.js +1397 -1395
  126. package/dist/{granularity.utils-DAAi-602.js → granularity.utils-SZItYXwU.js} +3 -3
  127. package/dist/granularity.utils-SZItYXwU.js.map +1 -0
  128. package/dist/index-21gf7llZ.js +30 -0
  129. package/dist/index-21gf7llZ.js.map +1 -0
  130. package/dist/{index-D4nH7Tfx.js → index-BIO7gVaq.js} +5 -5
  131. package/dist/index-BIO7gVaq.js.map +1 -0
  132. package/dist/{index-miobE3AH.js → index-BNT6NKHx.js} +6 -6
  133. package/dist/index-BNT6NKHx.js.map +1 -0
  134. package/dist/{index-B3L4DXwu.js → index-BXFoQPId.js} +6 -6
  135. package/dist/index-BXFoQPId.js.map +1 -0
  136. package/dist/{index-CGmgAyAB.js → index-BdxHzCYZ.js} +5 -5
  137. package/dist/index-BdxHzCYZ.js.map +1 -0
  138. package/dist/{index-DJeAhPf-.js → index-BpXWgDYM.js} +6 -6
  139. package/dist/index-BpXWgDYM.js.map +1 -0
  140. package/dist/index-BvV-vs_w.js +28 -0
  141. package/dist/index-BvV-vs_w.js.map +1 -0
  142. package/dist/{index-B5__yodm.js → index-C944U_JG.js} +5 -5
  143. package/dist/index-C944U_JG.js.map +1 -0
  144. package/dist/{index-C4C09WJe.js → index-CAyJ0NrS.js} +6 -6
  145. package/dist/index-CAyJ0NrS.js.map +1 -0
  146. package/dist/index-CIEihjtV.js +28 -0
  147. package/dist/index-CIEihjtV.js.map +1 -0
  148. package/dist/{index-BDpQF_cG.js → index-CMHKa6yP.js} +14 -14
  149. package/dist/index-CMHKa6yP.js.map +1 -0
  150. package/dist/{index-BKikv8mC.js → index-CZgS6ETq.js} +6 -6
  151. package/dist/index-CZgS6ETq.js.map +1 -0
  152. package/dist/{index-BRywHn8j.js → index-Ce0UWspv.js} +8 -8
  153. package/dist/index-Ce0UWspv.js.map +1 -0
  154. package/dist/{index-GK0v6bfO.js → index-CfEzNLT4.js} +6 -6
  155. package/dist/index-CfEzNLT4.js.map +1 -0
  156. package/dist/{index-BSXcd7SN.js → index-CwFEQ-aM.js} +5 -5
  157. package/dist/index-CwFEQ-aM.js.map +1 -0
  158. package/dist/index-CzKKN6Om.js +9 -0
  159. package/dist/index-CzKKN6Om.js.map +1 -0
  160. package/dist/{index-CvQFVQLU.js → index-D4PsdoMC.js} +5 -5
  161. package/dist/index-D4PsdoMC.js.map +1 -0
  162. package/dist/index-D7xFEool.js +436 -0
  163. package/dist/index-D7xFEool.js.map +1 -0
  164. package/dist/{index-De7NmChy.js → index-DXP25cW2.js} +6 -6
  165. package/dist/index-DXP25cW2.js.map +1 -0
  166. package/dist/{index-CfscOxbu.js → index-DehXK1Sh.js} +6 -6
  167. package/dist/index-DehXK1Sh.js.map +1 -0
  168. package/dist/{index-B8IHON3t.js → index-DjT6EyFA.js} +5 -5
  169. package/dist/index-DjT6EyFA.js.map +1 -0
  170. package/dist/{index-C3QKhnf_.js → index-DmCl_k4C.js} +6 -6
  171. package/dist/index-DmCl_k4C.js.map +1 -0
  172. package/dist/{index-DhA_rNUY.js → index-Do_uwX96.js} +6 -6
  173. package/dist/index-Do_uwX96.js.map +1 -0
  174. package/dist/{index-DQDBupb0.js → index-Fd2bQqMW.js} +60 -60
  175. package/dist/index-Fd2bQqMW.js.map +1 -0
  176. package/dist/index-MLteceEX.js +29 -0
  177. package/dist/index-MLteceEX.js.map +1 -0
  178. package/dist/{index-BL76s-yZ.js → index-S9WNhMoH.js} +15 -11
  179. package/dist/index-S9WNhMoH.js.map +1 -0
  180. package/dist/{index-SfB11gF_.js → index-bL_N9uYo.js} +14 -14
  181. package/dist/index-bL_N9uYo.js.map +1 -0
  182. package/dist/index-qtPDcHs8.js +40 -0
  183. package/dist/index-qtPDcHs8.js.map +1 -0
  184. package/dist/index.d.ts +67 -8
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +153 -91
  187. package/dist/index.js.map +1 -1
  188. package/dist/{lines.utils-COGf_F0b.js → lines.utils-CEGfmIHB.js} +5 -5
  189. package/dist/lines.utils-CEGfmIHB.js.map +1 -0
  190. package/dist/{pies.utils-FfqwwwDi.js → pies.utils-USn2uI6V.js} +5 -5
  191. package/dist/{pies.utils-FfqwwwDi.js.map → pies.utils-USn2uI6V.js.map} +1 -1
  192. package/dist/preview.data.constants-1No1RU-q.js +124 -0
  193. package/dist/preview.data.constants-1No1RU-q.js.map +1 -0
  194. package/dist/remarkable-pro.css +1 -1
  195. package/dist/styles.utils-BfpH_m_W.js.map +1 -1
  196. package/dist/{tables.hooks-DFEu8kZn.js → tables.hooks-fVC_4V5K.js} +2 -1
  197. package/dist/{tables.hooks-DFEu8kZn.js.map → tables.hooks-fVC_4V5K.js.map} +1 -1
  198. package/dist/{tables.utils-CBn15nfE.js → tables.utils-BxlCEGVt.js} +4 -4
  199. package/dist/{tables.utils-CBn15nfE.js.map → tables.utils-BxlCEGVt.js.map} +1 -1
  200. package/dist/theme/styles/styles.utils.d.ts +1 -2
  201. package/dist/theme/styles/styles.utils.d.ts.map +1 -1
  202. package/dist/{timeRange.utils-B4CCk0Na.js → timeRange.utils--6XjFw64.js} +2 -2
  203. package/dist/{timeRange.utils-B4CCk0Na.js.map → timeRange.utils--6XjFw64.js.map} +1 -1
  204. package/package.json +1 -1
  205. package/dist/DimensionAndMeasureSingleSelectField-Bap43crU.js.map +0 -1
  206. package/dist/EditorCard-BEOWlY3S.js.map +0 -1
  207. package/dist/component.inputs.constants-DIZMtQw0.js.map +0 -1
  208. package/dist/formatter.utils-BuiHCNHH.js +0 -54
  209. package/dist/formatter.utils-BuiHCNHH.js.map +0 -1
  210. package/dist/granularity.utils-DAAi-602.js.map +0 -1
  211. package/dist/index-B3L4DXwu.js.map +0 -1
  212. package/dist/index-B5__yodm.js.map +0 -1
  213. package/dist/index-B8IHON3t.js.map +0 -1
  214. package/dist/index-BDpQF_cG.js.map +0 -1
  215. package/dist/index-BKikv8mC.js.map +0 -1
  216. package/dist/index-BL76s-yZ.js.map +0 -1
  217. package/dist/index-BRywHn8j.js.map +0 -1
  218. package/dist/index-BSXcd7SN.js.map +0 -1
  219. package/dist/index-C3QKhnf_.js.map +0 -1
  220. package/dist/index-C4C09WJe.js.map +0 -1
  221. package/dist/index-CGmgAyAB.js.map +0 -1
  222. package/dist/index-CfscOxbu.js.map +0 -1
  223. package/dist/index-CvQFVQLU.js.map +0 -1
  224. package/dist/index-D4nH7Tfx.js.map +0 -1
  225. package/dist/index-DJeAhPf-.js.map +0 -1
  226. package/dist/index-DQDBupb0.js.map +0 -1
  227. package/dist/index-De7NmChy.js.map +0 -1
  228. package/dist/index-DhA_rNUY.js.map +0 -1
  229. package/dist/index-GK0v6bfO.js.map +0 -1
  230. package/dist/index-SfB11gF_.js.map +0 -1
  231. package/dist/index-miobE3AH.js.map +0 -1
  232. package/dist/lines.utils-COGf_F0b.js.map +0 -1
  233. package/dist/preview.data.constants-DDnGcvzL.js +0 -72
  234. package/dist/preview.data.constants-DDnGcvzL.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Ce0UWspv.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.36.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 18a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { resolveI18nString } from '../../component.utils';\nimport { getTimeRangeLabel } from '../dates/dates.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { useEffect, useMemo } from 'react';\nimport { getTimeRangeFromPresets } from '../dates/dates.utils';\n\nexport type DateComparisonSelectFieldPro = {\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n} & EditorCardHeaderProps;\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n const { comparisonPeriod, onChange } = props;\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromPresets(\n props.primaryDateRange,\n theme.defaults.dateRangesOptions,\n );\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","tooltip","resolveI18nProps","comparisonPeriod","onChange","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromPresets","options","jsx","EditorCard","SingleSelectField","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,2EAA2E,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,uCAAuC,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,WAAW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,UAAU,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,YAAY,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,wBAAwB,KAAO,QAAO,CAAE,CAAC,GACzYC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU,GCHvFG,IAA8B,CACzCC,GACAC,MAEO,CAACD,KAAUC,EAAsC,KAAK,CAACC,MAAQA,EAAI,UAAUF,CAAM,GAG/EG,IAA2C,CACtDF,GACAG,MAEOH,EAAsC,IAAI,CAACD,OACzC;AAAA,EACL,YAAYI,IACRC,EAAkBL,EAAO,SAASI,CAAkB,GAAGJ,EAAO,UAAU,IACxE;AAAA,EACJ,OAAOA,EAAO;AAAA,EACd,OAAOM,EAAkBN,EAAO,KAAK;AAAA,EAExC,GCHGO,IAA+B,CAACC,MAAwC;AAC5E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,aAAAC,GAAa,OAAAC,GAAO,SAAAC,EAAA,IAAYC,EAAiBR,CAAK,GACrE,EAAE,kBAAAS,GAAkB,UAAAC,EAAA,IAAaV,GAEjCW,IAA0BV,EAAM,SAAS,0BAEzCW,IAA4BC;AAAA,IAChC,MAAMtB,EAA4BkB,GAAkBE,CAAuB;AAAA,IAC3E,CAACF,GAAkBE,CAAuB;AAAA,EAAA;AAI5C,EAAAG,EAAU,MAAM;AACd,IAAKF,KACHF,EAAS,MAAS;AAAA,EAEtB,GAAG,CAACE,GAA2BF,CAAQ,CAAC;AAExC,QAAM,EAAE,kBAAAK,EAAA,IAAqBC,EAAA,GAGvBC,IAAmBC;AAAA,IACvBlB,EAAM;AAAA,IACNC,EAAM,SAAS;AAAA,EAAA;AAGjB,MAAI,CAACc;AACH,WAAO;AAGT,QAAMI,IAAUxB;AAAA,IACdgB;AAAA,IACAM;AAAA,EAAA;AAGF,SACEG,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAf,GAAc,aAAAF,GAA0B,SAAAG,GAClD,UAAAa,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWjC;AAAA,MACX,WAAS;AAAA,MACT,aAAAgB;AAAA,MACA,OAAOO,IAA4BH,IAAmB;AAAA,MACtD,UAAAC;AAAA,MACA,SAAAS;AAAA,MACA,kBAAkBI,EAAK,EAAE,2BAA2B;AAAA,MACpD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;","x_google_ignoreList":[0]}
@@ -1,12 +1,12 @@
1
- import { d as S, e as M, m as T, j as x, L as w } from "./Color.type.emb-tRPNtuPs.js";
1
+ import { a as S, c as M, m as T, j as x, L as w } from "./Color.type.emb-Ba6kRLMO.js";
2
2
  import { useTheme as F } from "@embeddable.com/react";
3
- import { a as P, r as D } from "./component.inputs.constants-DIZMtQw0.js";
4
- import { C as R } from "./ChartCard-BmBTN11g.js";
5
- import { g as v } from "./formatter.utils-BuiHCNHH.js";
3
+ import { a as P, r as D } from "./component.utils-DIYAoUYH.js";
4
+ import { C as R } from "./ChartCard-C94clFr-.js";
5
+ import { g as v } from "./preview.data.constants-1No1RU-q.js";
6
6
  import { a as L } from "./styles.utils-BfpH_m_W.js";
7
7
  import { i as k, s as _ } from "./color.utils-BSg_DFOh.js";
8
8
  import { u as B } from "./charts.fillGaps.hooks-C7KsWcZb.js";
9
- import { C as G } from "./granularity.utils-DAAi-602.js";
9
+ import { C as G } from "./granularity.utils-SZItYXwU.js";
10
10
  const I = (o, l) => {
11
11
  if (!o.data)
12
12
  return {
@@ -180,4 +180,4 @@ export {
180
180
  I as g,
181
181
  K as i
182
182
  };
183
- //# sourceMappingURL=index-GK0v6bfO.js.map
183
+ //# sourceMappingURL=index-CfEzNLT4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CfEzNLT4.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.['dashedLine']\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.['fillUnderLine']),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\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 label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, context.dataset.label) || ''}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\n });\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProp = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartPro;\n"],"names":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart"],"mappings":"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"}
@@ -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-tRPNtuPs.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-Ba6kRLMO.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-DIZMtQw0.js";
4
- import { C as B } from "./ChartCard-BmBTN11g.js";
3
+ import { a as U, r as V, i as q } from "./component.utils-DIYAoUYH.js";
4
+ import { C as B } from "./ChartCard-C94clFr-.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-CBn15nfE.js";
6
+ import { b as Q, c as W } from "./tables.utils-BxlCEGVt.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-BSXcd7SN.js.map
114
+ //# sourceMappingURL=index-CwFEQ-aM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CwFEQ-aM.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":"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"}
@@ -0,0 +1,9 @@
1
+ const e = () => null, t = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2
+ __proto__: null,
3
+ default: e
4
+ }, Symbol.toStringTag, { value: "Module" }));
5
+ export {
6
+ e as E,
7
+ t as i
8
+ };
9
+ //# sourceMappingURL=index-CzKKN6Om.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CzKKN6Om.js","sources":["../src/components/shared/EmptyContainerPro/index.tsx"],"sourcesContent":["const EmptyBlockPro = () => {\n return null;\n};\n\nexport default EmptyBlockPro;\n"],"names":["EmptyBlockPro"],"mappings":"AAAA,MAAMA,IAAgB,MACb;;;;"}
@@ -1,8 +1,8 @@
1
- import { j as i, K as x } from "./Color.type.emb-tRPNtuPs.js";
1
+ import { j as i, K as x } from "./Color.type.emb-Ba6kRLMO.js";
2
2
  import { useTheme as v } from "@embeddable.com/react";
3
- import { a as C, r as K } from "./component.inputs.constants-DIZMtQw0.js";
4
- import { C as S } from "./ChartCard-BmBTN11g.js";
5
- import { g as b } from "./formatter.utils-BuiHCNHH.js";
3
+ import { a as C, r as K } from "./component.utils-DIYAoUYH.js";
4
+ import { C as S } from "./ChartCard-C94clFr-.js";
5
+ import { g as b } from "./preview.data.constants-1No1RU-q.js";
6
6
  import { g as F } from "./kpis.utils-DsZ2GzuB.js";
7
7
  const M = (r) => {
8
8
  var a, n;
@@ -38,4 +38,4 @@ export {
38
38
  M as K,
39
39
  A as i
40
40
  };
41
- //# sourceMappingURL=index-CvQFVQLU.js.map
41
+ //# sourceMappingURL=index-D4PsdoMC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D4PsdoMC.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;;;;"}
@@ -0,0 +1,436 @@
1
+ import { j as k, v as ee } from "./Color.type.emb-Ba6kRLMO.js";
2
+ import { useTheme as te } from "@embeddable.com/react";
3
+ import { a as re, r as ne, i as oe } from "./component.utils-DIYAoUYH.js";
4
+ import { C as ae } from "./ChartCard-C94clFr-.js";
5
+ import { useState as B, useRef as I, useEffect as S, useCallback as ue } from "react";
6
+ import { b as ce, c as ie } from "./tables.utils-BxlCEGVt.js";
7
+ const se = 50, { getOwnPropertyNames: le, getOwnPropertySymbols: fe } = Object, { hasOwnProperty: de } = Object.prototype;
8
+ function M(t, e) {
9
+ return function(r, a, i) {
10
+ return t(r, a, i) && e(r, a, i);
11
+ };
12
+ }
13
+ function D(t) {
14
+ return function(n, r, a) {
15
+ if (!n || !r || typeof n != "object" || typeof r != "object")
16
+ return t(n, r, a);
17
+ const { cache: i } = a, c = i.get(n), u = i.get(r);
18
+ if (c && u)
19
+ return c === r && u === n;
20
+ i.set(n, r), i.set(r, n);
21
+ const f = t(n, r, a);
22
+ return i.delete(n), i.delete(r), f;
23
+ };
24
+ }
25
+ function N(t) {
26
+ return le(t).concat(fe(t));
27
+ }
28
+ const pe = (
29
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
30
+ Object.hasOwn || ((t, e) => de.call(t, e))
31
+ ), me = "__v", ge = "__o", he = "_owner", { getOwnPropertyDescriptor: V, keys: T } = Object, q = (
32
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
33
+ Object.is || function(e, n) {
34
+ return e === n ? e !== 0 || 1 / e === 1 / n : e !== e && n !== n;
35
+ }
36
+ );
37
+ function Ee(t, e) {
38
+ return t === e;
39
+ }
40
+ function je(t, e) {
41
+ return t.byteLength === e.byteLength && L(new Uint8Array(t), new Uint8Array(e));
42
+ }
43
+ function be(t, e, n) {
44
+ let r = t.length;
45
+ if (e.length !== r)
46
+ return !1;
47
+ for (; r-- > 0; )
48
+ if (!n.equals(t[r], e[r], r, r, t, e, n))
49
+ return !1;
50
+ return !0;
51
+ }
52
+ function ye(t, e) {
53
+ return t.byteLength === e.byteLength && L(new Uint8Array(t.buffer, t.byteOffset, t.byteLength), new Uint8Array(e.buffer, e.byteOffset, e.byteLength));
54
+ }
55
+ function we(t, e) {
56
+ return q(t.getTime(), e.getTime());
57
+ }
58
+ function qe(t, e) {
59
+ return t.name === e.name && t.message === e.message && t.cause === e.cause && t.stack === e.stack;
60
+ }
61
+ function z(t, e, n) {
62
+ const r = t.size;
63
+ if (r !== e.size)
64
+ return !1;
65
+ if (!r)
66
+ return !0;
67
+ const a = new Array(r), i = t.entries();
68
+ let c, u, f = 0;
69
+ for (; (c = i.next()) && !c.done; ) {
70
+ const m = e.entries();
71
+ let d = !1, s = 0;
72
+ for (; (u = m.next()) && !u.done; ) {
73
+ if (a[s]) {
74
+ s++;
75
+ continue;
76
+ }
77
+ const o = c.value, l = u.value;
78
+ if (n.equals(o[0], l[0], f, s, t, e, n) && n.equals(o[1], l[1], o[0], l[0], t, e, n)) {
79
+ d = a[s] = !0;
80
+ break;
81
+ }
82
+ s++;
83
+ }
84
+ if (!d)
85
+ return !1;
86
+ f++;
87
+ }
88
+ return !0;
89
+ }
90
+ function Ce(t, e, n) {
91
+ const r = T(t);
92
+ let a = r.length;
93
+ if (T(e).length !== a)
94
+ return !1;
95
+ for (; a-- > 0; )
96
+ if (!$(t, e, n, r[a]))
97
+ return !1;
98
+ return !0;
99
+ }
100
+ function x(t, e, n) {
101
+ const r = N(t);
102
+ let a = r.length;
103
+ if (N(e).length !== a)
104
+ return !1;
105
+ let i, c, u;
106
+ for (; a-- > 0; )
107
+ if (i = r[a], !$(t, e, n, i) || (c = V(t, i), u = V(e, i), (c || u) && (!c || !u || c.configurable !== u.configurable || c.enumerable !== u.enumerable || c.writable !== u.writable)))
108
+ return !1;
109
+ return !0;
110
+ }
111
+ function Oe(t, e) {
112
+ return q(t.valueOf(), e.valueOf());
113
+ }
114
+ function Ae(t, e) {
115
+ return t.source === e.source && t.flags === e.flags;
116
+ }
117
+ function F(t, e, n) {
118
+ const r = t.size;
119
+ if (r !== e.size)
120
+ return !1;
121
+ if (!r)
122
+ return !0;
123
+ const a = new Array(r), i = t.values();
124
+ let c, u;
125
+ for (; (c = i.next()) && !c.done; ) {
126
+ const f = e.values();
127
+ let m = !1, d = 0;
128
+ for (; (u = f.next()) && !u.done; ) {
129
+ if (!a[d] && n.equals(c.value, u.value, c.value, u.value, t, e, n)) {
130
+ m = a[d] = !0;
131
+ break;
132
+ }
133
+ d++;
134
+ }
135
+ if (!m)
136
+ return !1;
137
+ }
138
+ return !0;
139
+ }
140
+ function L(t, e) {
141
+ let n = t.byteLength;
142
+ if (e.byteLength !== n || t.byteOffset !== e.byteOffset)
143
+ return !1;
144
+ for (; n-- > 0; )
145
+ if (t[n] !== e[n])
146
+ return !1;
147
+ return !0;
148
+ }
149
+ function xe(t, e) {
150
+ return t.hostname === e.hostname && t.pathname === e.pathname && t.protocol === e.protocol && t.port === e.port && t.hash === e.hash && t.username === e.username && t.password === e.password;
151
+ }
152
+ function $(t, e, n, r) {
153
+ return (r === he || r === ge || r === me) && (t.$$typeof || e.$$typeof) ? !0 : pe(e, r) && n.equals(t[r], e[r], r, r, t, e, n);
154
+ }
155
+ const Ie = Object.prototype.toString;
156
+ function De(t) {
157
+ const e = Me(t), { areArraysEqual: n, areDatesEqual: r, areFunctionsEqual: a, areMapsEqual: i, areNumbersEqual: c, areObjectsEqual: u, areRegExpsEqual: f, areSetsEqual: m, getUnsupportedCustomComparator: d } = t;
158
+ return function(o, l, p) {
159
+ if (o === l)
160
+ return !0;
161
+ if (o == null || l == null)
162
+ return !1;
163
+ const E = typeof o;
164
+ if (E !== typeof l)
165
+ return !1;
166
+ if (E !== "object")
167
+ return E === "number" || E === "bigint" ? c(o, l, p) : E === "function" ? a(o, l, p) : !1;
168
+ const g = o.constructor;
169
+ if (g !== l.constructor)
170
+ return !1;
171
+ if (g === Object)
172
+ return u(o, l, p);
173
+ if (g === Array)
174
+ return n(o, l, p);
175
+ if (g === Date)
176
+ return r(o, l, p);
177
+ if (g === RegExp)
178
+ return f(o, l, p);
179
+ if (g === Map)
180
+ return i(o, l, p);
181
+ if (g === Set)
182
+ return m(o, l, p);
183
+ if (g === Promise)
184
+ return !1;
185
+ if (Array.isArray(o))
186
+ return n(o, l, p);
187
+ const b = Ie.call(o), j = e[b];
188
+ if (j)
189
+ return j(o, l, p);
190
+ const C = d && d(o, l, p, b);
191
+ return C ? C(o, l, p) : !1;
192
+ };
193
+ }
194
+ function Le({ circular: t, createCustomConfig: e, strict: n }) {
195
+ let r = {
196
+ areArrayBuffersEqual: je,
197
+ areArraysEqual: n ? x : be,
198
+ areDataViewsEqual: ye,
199
+ areDatesEqual: we,
200
+ areErrorsEqual: qe,
201
+ areFunctionsEqual: Ee,
202
+ areMapsEqual: n ? M(z, x) : z,
203
+ areNumbersEqual: q,
204
+ areObjectsEqual: n ? x : Ce,
205
+ arePrimitiveWrappersEqual: Oe,
206
+ areRegExpsEqual: Ae,
207
+ areSetsEqual: n ? M(F, x) : F,
208
+ areTypedArraysEqual: n ? M(L, x) : L,
209
+ areUrlsEqual: xe,
210
+ getUnsupportedCustomComparator: void 0
211
+ };
212
+ if (e && (r = Object.assign({}, r, e(r))), t) {
213
+ const a = D(r.areArraysEqual), i = D(r.areMapsEqual), c = D(r.areObjectsEqual), u = D(r.areSetsEqual);
214
+ r = Object.assign({}, r, {
215
+ areArraysEqual: a,
216
+ areMapsEqual: i,
217
+ areObjectsEqual: c,
218
+ areSetsEqual: u
219
+ });
220
+ }
221
+ return r;
222
+ }
223
+ function Re(t) {
224
+ return function(e, n, r, a, i, c, u) {
225
+ return t(e, n, u);
226
+ };
227
+ }
228
+ function Se({ circular: t, comparator: e, createState: n, equals: r, strict: a }) {
229
+ if (n)
230
+ return function(u, f) {
231
+ const { cache: m = t ? /* @__PURE__ */ new WeakMap() : void 0, meta: d } = n();
232
+ return e(u, f, {
233
+ cache: m,
234
+ equals: r,
235
+ meta: d,
236
+ strict: a
237
+ });
238
+ };
239
+ if (t)
240
+ return function(u, f) {
241
+ return e(u, f, {
242
+ cache: /* @__PURE__ */ new WeakMap(),
243
+ equals: r,
244
+ meta: void 0,
245
+ strict: a
246
+ });
247
+ };
248
+ const i = {
249
+ cache: void 0,
250
+ equals: r,
251
+ meta: void 0,
252
+ strict: a
253
+ };
254
+ return function(u, f) {
255
+ return e(u, f, i);
256
+ };
257
+ }
258
+ function Me({ areArrayBuffersEqual: t, areArraysEqual: e, areDataViewsEqual: n, areDatesEqual: r, areErrorsEqual: a, areFunctionsEqual: i, areMapsEqual: c, areNumbersEqual: u, areObjectsEqual: f, arePrimitiveWrappersEqual: m, areRegExpsEqual: d, areSetsEqual: s, areTypedArraysEqual: o, areUrlsEqual: l }) {
259
+ return {
260
+ "[object Arguments]": f,
261
+ "[object Array]": e,
262
+ "[object ArrayBuffer]": t,
263
+ "[object AsyncGeneratorFunction]": i,
264
+ "[object BigInt]": u,
265
+ "[object BigInt64Array]": o,
266
+ "[object BigUint64Array]": o,
267
+ "[object Boolean]": m,
268
+ "[object DataView]": n,
269
+ "[object Date]": r,
270
+ // If an error tag, it should be tested explicitly. Like RegExp, the properties are not
271
+ // enumerable, and therefore will give false positives if tested like a standard object.
272
+ "[object Error]": a,
273
+ "[object Float16Array]": o,
274
+ "[object Float32Array]": o,
275
+ "[object Float64Array]": o,
276
+ "[object Function]": i,
277
+ "[object GeneratorFunction]": i,
278
+ "[object Int8Array]": o,
279
+ "[object Int16Array]": o,
280
+ "[object Int32Array]": o,
281
+ "[object Map]": c,
282
+ "[object Number]": m,
283
+ "[object Object]": (p, E, g) => (
284
+ // The exception for value comparison is custom `Promise`-like class instances. These should
285
+ // be treated the same as standard `Promise` objects, which means strict equality, and if
286
+ // it reaches this point then that strict equality comparison has already failed.
287
+ typeof p.then != "function" && typeof E.then != "function" && f(p, E, g)
288
+ ),
289
+ // For RegExp, the properties are not enumerable, and therefore will give false positives if
290
+ // tested like a standard object.
291
+ "[object RegExp]": d,
292
+ "[object Set]": s,
293
+ "[object String]": m,
294
+ "[object URL]": l,
295
+ "[object Uint8Array]": o,
296
+ "[object Uint8ClampedArray]": o,
297
+ "[object Uint16Array]": o,
298
+ "[object Uint32Array]": o
299
+ };
300
+ }
301
+ const _e = y();
302
+ y({ strict: !0 });
303
+ y({ circular: !0 });
304
+ y({
305
+ circular: !0,
306
+ strict: !0
307
+ });
308
+ y({
309
+ createInternalComparator: () => q
310
+ });
311
+ y({
312
+ strict: !0,
313
+ createInternalComparator: () => q
314
+ });
315
+ y({
316
+ circular: !0,
317
+ createInternalComparator: () => q
318
+ });
319
+ y({
320
+ circular: !0,
321
+ createInternalComparator: () => q,
322
+ strict: !0
323
+ });
324
+ function y(t = {}) {
325
+ const { circular: e = !1, createInternalComparator: n, createState: r, strict: a = !1 } = t, i = Le(t), c = De(i), u = n ? n(c) : Re(c);
326
+ return Se({ circular: e, comparator: c, createState: r, equals: u, strict: a });
327
+ }
328
+ let W;
329
+ const ve = (t) => {
330
+ const e = te();
331
+ re(e);
332
+ const [n, r] = B(!1), [a, i] = B([]), { title: c, description: u, tooltip: f } = ne(t), {
333
+ hideMenu: m,
334
+ dataset: d,
335
+ results: s,
336
+ allResults: o,
337
+ dimensionsAndMeasures: l,
338
+ displayNullAs: p,
339
+ showIndex: E,
340
+ clickDimension: g,
341
+ state: b,
342
+ setState: j,
343
+ onRowClicked: C
344
+ } = t, G = ce({ dimensionsAndMeasures: l, displayNullAs: p }, e), R = (s == null ? void 0 : s.data) ?? [], _ = I(null), v = I(null), O = I(!0), P = I(null);
345
+ S(() => {
346
+ _e(d.variableValues, P.current) || (O.current = !0, P.current = d.variableValues, j == null || j((h) => ({
347
+ ...h,
348
+ page: 0
349
+ })));
350
+ }, [d.variableValues]), S(() => {
351
+ var h;
352
+ if (s != null && s.data) {
353
+ if (O.current) {
354
+ i([...R]), O.current = !1, (h = v.current) == null || h.scrollToTop("smooth");
355
+ return;
356
+ }
357
+ i((w) => [...w, ...R]);
358
+ }
359
+ }, [R]);
360
+ const A = ue(
361
+ (h) => {
362
+ j == null || j((w) => ({
363
+ ...w,
364
+ ...h
365
+ }));
366
+ },
367
+ [j]
368
+ ), K = (h) => {
369
+ r(!0), A({ isLoadingDownloadData: !0 }), W = (w) => h({
370
+ title: c,
371
+ data: w,
372
+ dimensionsAndMeasures: l,
373
+ containerRef: _,
374
+ theme: e
375
+ });
376
+ }, H = (h) => {
377
+ var U;
378
+ if (!g) return;
379
+ const w = (U = a[h]) == null ? void 0 : U[g.name];
380
+ C == null || C(w);
381
+ };
382
+ S(() => {
383
+ if (n) {
384
+ if (!o || o.isLoading)
385
+ return;
386
+ W(o.data), r(!1), A({ isLoadingDownloadData: !1 });
387
+ }
388
+ }, [n, o, A]);
389
+ const Z = () => {
390
+ s.isLoading || A({ page: ((b == null ? void 0 : b.page) ?? 0) + 1 });
391
+ }, J = (h) => {
392
+ O.current = !0, A({ sort: h, page: 0 });
393
+ }, Q = (s == null ? void 0 : s.data) && s.data.length === se, X = !!(s != null && s.isLoading || o != null && o.isLoading), Y = (s == null ? void 0 : s.isLoading) && !O.current;
394
+ return /* @__PURE__ */ k.jsx(
395
+ ae,
396
+ {
397
+ ref: _,
398
+ title: c,
399
+ description: u,
400
+ tooltip: f,
401
+ data: {
402
+ isLoading: X,
403
+ data: a
404
+ },
405
+ dimensionsAndMeasures: l,
406
+ errorMessage: s == null ? void 0 : s.error,
407
+ onCustomDownload: K,
408
+ hideMenu: m,
409
+ children: /* @__PURE__ */ k.jsx(
410
+ ee,
411
+ {
412
+ ref: v,
413
+ hasMoreData: Q,
414
+ onRowIndexClick: H,
415
+ headers: G,
416
+ rows: ie({ rows: a, clickDimension: g }),
417
+ showIndex: E,
418
+ sort: b == null ? void 0 : b.sort,
419
+ isLoading: Y,
420
+ loadingLabel: oe.t("common.loading"),
421
+ onNextPage: Z,
422
+ onSortChange: J
423
+ }
424
+ )
425
+ }
426
+ );
427
+ }, Te = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
428
+ __proto__: null,
429
+ default: ve
430
+ }, Symbol.toStringTag, { value: "Module" }));
431
+ export {
432
+ se as T,
433
+ ve as a,
434
+ Te as i
435
+ };
436
+ //# sourceMappingURL=index-D7xFEool.js.map