@embeddable.com/remarkable-pro 0.2.4 → 0.2.5

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 (401) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +1 -1
  2. package/dist/BarChartDefaultPro.js +1 -1
  3. package/dist/BarChartGroupedHorizontalPro.js +1 -1
  4. package/dist/BarChartGroupedPro.js +1 -1
  5. package/dist/BarChartStackedHorizontalPro.js +1 -1
  6. package/dist/BarChartStackedPro.js +1 -1
  7. package/dist/{ChartCard-B28gklGR.js → ChartCard-Cv9hqNdM.js} +3 -3
  8. package/dist/{ChartCard-B28gklGR.js.map → ChartCard-Cv9hqNdM.js.map} +1 -1
  9. package/dist/{Color.type.emb-BAg1Vt58.js → Color.type.emb-jykKMaTr.js} +2 -2
  10. package/dist/{Color.type.emb-BAg1Vt58.js.map → Color.type.emb-jykKMaTr.js.map} +1 -1
  11. package/dist/ColorEditor.js +3 -3
  12. package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
  13. package/dist/DateRangePickerCustomPro.js +1 -1
  14. package/dist/DateRangeSelectFieldPro.js +1 -1
  15. package/dist/{DimensionAndMeasureSingleSelectField-BMbNNgQC.js → DimensionAndMeasureSingleSelectField-HJcwoxiQ.js} +3 -3
  16. package/dist/{DimensionAndMeasureSingleSelectField-BMbNNgQC.js.map → DimensionAndMeasureSingleSelectField-HJcwoxiQ.js.map} +1 -1
  17. package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
  18. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  19. package/dist/DonutChartPro.js +1 -1
  20. package/dist/DonutLabelChartPro.js +1 -1
  21. package/dist/{EditorCard-Ay5OE28n.js → EditorCard-DdYPPSGd.js} +3 -3
  22. package/dist/{EditorCard-Ay5OE28n.js.map → EditorCard-DdYPPSGd.js.map} +1 -1
  23. package/dist/FilterBuilderPro.js +5 -5
  24. package/dist/{GranularitySelectField-cVDnk7z-.js → GranularitySelectField-l18OwBvC.js} +3 -3
  25. package/dist/{GranularitySelectField-cVDnk7z-.js.map → GranularitySelectField-l18OwBvC.js.map} +1 -1
  26. package/dist/GranularitySelectFieldPro.js +1 -1
  27. package/dist/HeatMapPro.js +1 -1
  28. package/dist/HorizontalDividerPro.js +1 -1
  29. package/dist/{IconAlertCircle-WnJ5u8pV.js → IconAlertCircle-CHZDt5DS.js} +2 -2
  30. package/dist/{IconAlertCircle-WnJ5u8pV.js.map → IconAlertCircle-CHZDt5DS.js.map} +1 -1
  31. package/dist/{IconCalendarFilled-B3ev90HC.js → IconCalendarFilled-L8UApe7i.js} +2 -2
  32. package/dist/{IconCalendarFilled-B3ev90HC.js.map → IconCalendarFilled-L8UApe7i.js.map} +1 -1
  33. package/dist/KpiChartNumberComparisonPro.js +1 -1
  34. package/dist/KpiChartNumberPro.js +1 -1
  35. package/dist/LineChartComparisonDefaultPro.js +1 -1
  36. package/dist/LineChartDefaultPro.js +1 -1
  37. package/dist/LineChartGroupedPro.js +1 -1
  38. package/dist/LineChartWithKpiTabsPro.js +1 -1
  39. package/dist/{Markdown.type.emb-DXUQ08bq.js → Markdown.type.emb-F2hZmGcL.js} +2 -2
  40. package/dist/{Markdown.type.emb-DXUQ08bq.js.map → Markdown.type.emb-F2hZmGcL.js.map} +1 -1
  41. package/dist/MarkdownEditor.js +3 -3
  42. package/dist/MarkdownPro.js +1 -1
  43. package/dist/MeasureMultiSelectFieldPro.js +1 -1
  44. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  45. package/dist/MultiSelectFieldPro.js +1 -1
  46. package/dist/PieChartPro.js +1 -1
  47. package/dist/PivotTablePro.js +1 -1
  48. package/dist/ScatterChartPro.js +9 -0
  49. package/dist/ScatterChartPro.js.map +1 -0
  50. package/dist/SingleSelectFieldPro.js +1 -1
  51. package/dist/TableChartPaginated.js +1 -1
  52. package/dist/TableScrollable.js +1 -1
  53. package/dist/TextFieldPro.js +1 -1
  54. package/dist/{af-C1Mo4AOS.js → af-BNW5QZCu.js} +3 -3
  55. package/dist/{af-C1Mo4AOS.js.map → af-BNW5QZCu.js.map} +1 -1
  56. package/dist/{am-DhzZuZg_.js → am-qnais6l-.js} +3 -3
  57. package/dist/{am-DhzZuZg_.js.map → am-qnais6l-.js.map} +1 -1
  58. package/dist/{ar-DSWGKYR7.js → ar-D0AmvTLW.js} +7 -7
  59. package/dist/{ar-DSWGKYR7.js.map → ar-D0AmvTLW.js.map} +1 -1
  60. package/dist/{az-BviejeMx.js → az-BeoNlSrN.js} +3 -3
  61. package/dist/{az-BviejeMx.js.map → az-BeoNlSrN.js.map} +1 -1
  62. package/dist/{bars.loadData.utils-tW4sWIvn.js → bars.loadData.utils-DpaXxzT5.js} +4 -4
  63. package/dist/{bars.loadData.utils-tW4sWIvn.js.map → bars.loadData.utils-DpaXxzT5.js.map} +1 -1
  64. package/dist/bars.utils-DG6iNy-i.js +158 -0
  65. package/dist/bars.utils-DG6iNy-i.js.map +1 -0
  66. package/dist/{be-CJaT0Uqh.js → be-hoLZCE8h.js} +5 -5
  67. package/dist/{be-CJaT0Uqh.js.map → be-hoLZCE8h.js.map} +1 -1
  68. package/dist/{bg-BM-0ieP8.js → bg-qoGRr6um.js} +3 -3
  69. package/dist/{bg-BM-0ieP8.js.map → bg-qoGRr6um.js.map} +1 -1
  70. package/dist/{bi-BISsIg79.js → bi-BlaUb64p.js} +3 -3
  71. package/dist/{bi-BISsIg79.js.map → bi-BlaUb64p.js.map} +1 -1
  72. package/dist/{bm-oIJVFGP0.js → bm-1jLQo2WM.js} +3 -3
  73. package/dist/{bm-oIJVFGP0.js.map → bm-1jLQo2WM.js.map} +1 -1
  74. package/dist/{bn-BwI1EB1H.js → bn-B-bBuw50.js} +3 -3
  75. package/dist/{bn-BwI1EB1H.js.map → bn-B-bBuw50.js.map} +1 -1
  76. package/dist/{bo-BiaUxa6J.js → bo-tDd58zyG.js} +3 -3
  77. package/dist/{bo-BiaUxa6J.js.map → bo-tDd58zyG.js.map} +1 -1
  78. package/dist/{br-D43Yyb1k.js → br-A5fIRCzj.js} +8 -8
  79. package/dist/{br-D43Yyb1k.js.map → br-A5fIRCzj.js.map} +1 -1
  80. package/dist/{bs-DAjMZlNe.js → bs-CCn4YO7d.js} +3 -3
  81. package/dist/{bs-DAjMZlNe.js.map → bs-CCn4YO7d.js.map} +1 -1
  82. package/dist/{ca-9MnGOwMl.js → ca-Dq9SIumK.js} +3 -3
  83. package/dist/{ca-9MnGOwMl.js.map → ca-Dq9SIumK.js.map} +1 -1
  84. package/dist/{charts.fillGaps.hooks-BjeTpaLs.js → charts.fillGaps.hooks-CPpTEo01.js} +16 -16
  85. package/dist/{charts.fillGaps.hooks-BjeTpaLs.js.map → charts.fillGaps.hooks-CPpTEo01.js.map} +1 -1
  86. package/dist/{charts.utils-Bbj0SUBk.js → charts.utils-CJLmr9Q8.js} +207 -152
  87. package/dist/{charts.utils-Bbj0SUBk.js.map → charts.utils-CJLmr9Q8.js.map} +1 -1
  88. package/dist/{component.inputs.constants-CcSXGMBZ.js → component.inputs.constants-Bf2Ty2En.js} +114 -104
  89. package/dist/{component.inputs.constants-CcSXGMBZ.js.map → component.inputs.constants-Bf2Ty2En.js.map} +1 -1
  90. package/dist/components/charts/bars/bars.utils.d.ts.map +1 -1
  91. package/dist/components/charts/charts.types.d.ts +7 -0
  92. package/dist/components/charts/charts.types.d.ts.map +1 -0
  93. package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.emb.d.ts +178 -0
  94. package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.emb.d.ts.map +1 -0
  95. package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.utils.d.ts +27 -0
  96. package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.utils.d.ts.map +1 -0
  97. package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.utils.test.d.ts +2 -0
  98. package/dist/components/charts/scatter/ScatterChartPro/ScatterChartPro.utils.test.d.ts.map +1 -0
  99. package/dist/components/charts/scatter/ScatterChartPro/definition.d.ts +421 -0
  100. package/dist/components/charts/scatter/ScatterChartPro/definition.d.ts.map +1 -0
  101. package/dist/components/charts/scatter/ScatterChartPro/index.d.ts +28 -0
  102. package/dist/components/charts/scatter/ScatterChartPro/index.d.ts.map +1 -0
  103. package/dist/components/charts/scatter/ScatterChartPro/index.test.d.ts +2 -0
  104. package/dist/components/charts/scatter/ScatterChartPro/index.test.d.ts.map +1 -0
  105. package/dist/components/component.inputs.constants.d.ts +22 -0
  106. package/dist/components/component.inputs.constants.d.ts.map +1 -1
  107. package/dist/components/editors/GranularitySelectFieldPro/definition.d.ts +2 -2
  108. package/dist/components/preview.data.constants.d.ts +2 -0
  109. package/dist/components/preview.data.constants.d.ts.map +1 -1
  110. package/dist/{cs-tg4AiDKR.js → cs-zcjldYkz.js} +3 -3
  111. package/dist/{cs-tg4AiDKR.js.map → cs-zcjldYkz.js.map} +1 -1
  112. package/dist/{cv-BzdVlJkn.js → cv-CXL9F9L0.js} +5 -5
  113. package/dist/{cv-BzdVlJkn.js.map → cv-CXL9F9L0.js.map} +1 -1
  114. package/dist/{cy-DvXePrfu.js → cy-Crx4vRUX.js} +5 -5
  115. package/dist/{cy-DvXePrfu.js.map → cy-Crx4vRUX.js.map} +1 -1
  116. package/dist/{da-C8AWNzzQ.js → da-ByOY30AJ.js} +3 -3
  117. package/dist/{da-C8AWNzzQ.js.map → da-ByOY30AJ.js.map} +1 -1
  118. package/dist/dates.utils-Dai9OZEP.js +169 -0
  119. package/dist/{dates.utils-BJCRShK6.js.map → dates.utils-Dai9OZEP.js.map} +1 -1
  120. package/dist/{de-LCa6Oz9V.js → de-Dwo8uXsn.js} +5 -5
  121. package/dist/{de-LCa6Oz9V.js.map → de-Dwo8uXsn.js.map} +1 -1
  122. package/dist/{definition-CGA4uJGF.js → definition-B0EoSD5U.js} +6 -6
  123. package/dist/{definition-CGA4uJGF.js.map → definition-B0EoSD5U.js.map} +1 -1
  124. package/dist/{definition-BBAhSArH.js → definition-B2TigGb3.js} +6 -6
  125. package/dist/{definition-BBAhSArH.js.map → definition-B2TigGb3.js.map} +1 -1
  126. package/dist/{definition-BAXBUzAP.js → definition-B5pATGjj.js} +6 -6
  127. package/dist/{definition-BAXBUzAP.js.map → definition-B5pATGjj.js.map} +1 -1
  128. package/dist/{definition-DONQKXIw.js → definition-B_WnKkA9.js} +5 -5
  129. package/dist/{definition-DONQKXIw.js.map → definition-B_WnKkA9.js.map} +1 -1
  130. package/dist/{definition-OQ4WkI6u.js → definition-Bf2gheY1.js} +6 -6
  131. package/dist/{definition-OQ4WkI6u.js.map → definition-Bf2gheY1.js.map} +1 -1
  132. package/dist/{definition-D2kYtuRj.js → definition-C7um17eU.js} +13 -13
  133. package/dist/{definition-D2kYtuRj.js.map → definition-C7um17eU.js.map} +1 -1
  134. package/dist/{definition-RIhsX0Qw.js → definition-CGptoEwG.js} +9 -9
  135. package/dist/{definition-RIhsX0Qw.js.map → definition-CGptoEwG.js.map} +1 -1
  136. package/dist/{definition-DZGxaNQz.js → definition-CJHymHtY.js} +12 -12
  137. package/dist/{definition-DZGxaNQz.js.map → definition-CJHymHtY.js.map} +1 -1
  138. package/dist/{definition-CtXln8JF.js → definition-CQaZAYag.js} +5 -5
  139. package/dist/{definition-CtXln8JF.js.map → definition-CQaZAYag.js.map} +1 -1
  140. package/dist/{definition-Bn_NNsSF.js → definition-CS4RuL8e.js} +6 -6
  141. package/dist/{definition-Bn_NNsSF.js.map → definition-CS4RuL8e.js.map} +1 -1
  142. package/dist/{definition-CX8Hdg5Z.js → definition-CUA9oFdm.js} +6 -6
  143. package/dist/{definition-CX8Hdg5Z.js.map → definition-CUA9oFdm.js.map} +1 -1
  144. package/dist/{definition-C83huciM.js → definition-CdcpkNRA.js} +6 -6
  145. package/dist/{definition-C83huciM.js.map → definition-CdcpkNRA.js.map} +1 -1
  146. package/dist/{definition-NUwjqgEc.js → definition-CnRhPW66.js} +9 -9
  147. package/dist/{definition-NUwjqgEc.js.map → definition-CnRhPW66.js.map} +1 -1
  148. package/dist/{definition-Ct1a-NhS.js → definition-D6c43j2_.js} +8 -8
  149. package/dist/{definition-Ct1a-NhS.js.map → definition-D6c43j2_.js.map} +1 -1
  150. package/dist/{definition-EhS1cF9H.js → definition-D6fsmeL7.js} +6 -6
  151. package/dist/{definition-EhS1cF9H.js.map → definition-D6fsmeL7.js.map} +1 -1
  152. package/dist/{definition-CzZP7HQi.js → definition-D9ZlqgLF.js} +4 -4
  153. package/dist/{definition-CzZP7HQi.js.map → definition-D9ZlqgLF.js.map} +1 -1
  154. package/dist/{definition-Cwtl1sFI.js → definition-DCNv1r9i.js} +8 -8
  155. package/dist/{definition-Cwtl1sFI.js.map → definition-DCNv1r9i.js.map} +1 -1
  156. package/dist/{definition-CuvZ8t4I.js → definition-DEqyuC5t.js} +6 -6
  157. package/dist/{definition-CuvZ8t4I.js.map → definition-DEqyuC5t.js.map} +1 -1
  158. package/dist/{definition-Bbh5lbLl.js → definition-DLsqkPjT.js} +15 -15
  159. package/dist/{definition-Bbh5lbLl.js.map → definition-DLsqkPjT.js.map} +1 -1
  160. package/dist/{definition-Cezkbdk3.js → definition-DOQkt6mp.js} +7 -7
  161. package/dist/{definition-Cezkbdk3.js.map → definition-DOQkt6mp.js.map} +1 -1
  162. package/dist/{definition-B9bgOJA5.js → definition-DWIyItYm.js} +8 -8
  163. package/dist/{definition-B9bgOJA5.js.map → definition-DWIyItYm.js.map} +1 -1
  164. package/dist/{definition-BSVSOlpM.js → definition-DbspoO9C.js} +6 -6
  165. package/dist/{definition-BSVSOlpM.js.map → definition-DbspoO9C.js.map} +1 -1
  166. package/dist/{definition-B483jhd3.js → definition-DfHOG4Fd.js} +8 -8
  167. package/dist/{definition-B483jhd3.js.map → definition-DfHOG4Fd.js.map} +1 -1
  168. package/dist/{definition-Ce0UKRlD.js → definition-Dpo-1FJs.js} +6 -6
  169. package/dist/{definition-Ce0UKRlD.js.map → definition-Dpo-1FJs.js.map} +1 -1
  170. package/dist/{definition-DjYNIckX.js → definition-DxTb-MOm.js} +3 -3
  171. package/dist/{definition-DjYNIckX.js.map → definition-DxTb-MOm.js.map} +1 -1
  172. package/dist/definition-JPgTRMBs.js +330 -0
  173. package/dist/definition-JPgTRMBs.js.map +1 -0
  174. package/dist/{definition-cDDnvqii.js → definition-RYVGlC6K.js} +8 -8
  175. package/dist/{definition-cDDnvqii.js.map → definition-RYVGlC6K.js.map} +1 -1
  176. package/dist/{definition-DQCk8l47.js → definition-YVbooAf6.js} +9 -9
  177. package/dist/{definition-DQCk8l47.js.map → definition-YVbooAf6.js.map} +1 -1
  178. package/dist/{definition-Bw6OCqB7.js → definition-b_Q1K06P.js} +9 -9
  179. package/dist/{definition-Bw6OCqB7.js.map → definition-b_Q1K06P.js.map} +1 -1
  180. package/dist/{definition-BBzYLX76.js → definition-eDsz1LSa.js} +6 -6
  181. package/dist/{definition-BBzYLX76.js.map → definition-eDsz1LSa.js.map} +1 -1
  182. package/dist/{definition-D7SGSe6g.js → definition-hgg6kcIq.js} +14 -14
  183. package/dist/{definition-D7SGSe6g.js.map → definition-hgg6kcIq.js.map} +1 -1
  184. package/dist/{definition-DGnt_l1B.js → definition-mP5KhZwN.js} +3 -3
  185. package/dist/{definition-DGnt_l1B.js.map → definition-mP5KhZwN.js.map} +1 -1
  186. package/dist/{definition-D7iihZ0-.js → definition-uwrGYsP0.js} +8 -8
  187. package/dist/{definition-D7iihZ0-.js.map → definition-uwrGYsP0.js.map} +1 -1
  188. package/dist/{dimensionsAndMeasures.utils-D1G9Uqy3.js → dimensionsAndMeasures.utils-z1Fh_wO2.js} +2 -2
  189. package/dist/{dimensionsAndMeasures.utils-D1G9Uqy3.js.map → dimensionsAndMeasures.utils-z1Fh_wO2.js.map} +1 -1
  190. package/dist/{dv-D76Jug7B.js → dv-CSQZ-879.js} +3 -3
  191. package/dist/{dv-D76Jug7B.js.map → dv-CSQZ-879.js.map} +1 -1
  192. package/dist/{el-Cb32DcEX.js → el-RAp1zwB3.js} +3 -3
  193. package/dist/{el-Cb32DcEX.js.map → el-RAp1zwB3.js.map} +1 -1
  194. package/dist/embeddable-components.json +46 -44
  195. package/dist/embeddable-theme-0137e.js +880 -825
  196. package/dist/{en-Dnm5Er0T.js → en-CmtnfsUT.js} +2 -2
  197. package/dist/{en-Dnm5Er0T.js.map → en-CmtnfsUT.js.map} +1 -1
  198. package/dist/{eo-Bb6YMRuq.js → eo-BiIrseM2.js} +3 -3
  199. package/dist/{eo-Bb6YMRuq.js.map → eo-BiIrseM2.js.map} +1 -1
  200. package/dist/{es-5LByU2iz.js → es-DvpLHX62.js} +3 -3
  201. package/dist/{es-5LByU2iz.js.map → es-DvpLHX62.js.map} +1 -1
  202. package/dist/{et-717hp54n.js → et-BpiT84MQ.js} +5 -5
  203. package/dist/{et-717hp54n.js.map → et-BpiT84MQ.js.map} +1 -1
  204. package/dist/{eu-G0p3xX_g.js → eu-CAeOg5qv.js} +3 -3
  205. package/dist/{eu-G0p3xX_g.js.map → eu-CAeOg5qv.js.map} +1 -1
  206. package/dist/{fa-CJUN0r0j.js → fa-uhw6Cj00.js} +3 -3
  207. package/dist/{fa-CJUN0r0j.js.map → fa-uhw6Cj00.js.map} +1 -1
  208. package/dist/{fi-Dd6LRvy_.js → fi-D1Mwemgh.js} +3 -3
  209. package/dist/{fi-Dd6LRvy_.js.map → fi-D1Mwemgh.js.map} +1 -1
  210. package/dist/{fo-CpeIdCl8.js → fo-HXGAjbhZ.js} +3 -3
  211. package/dist/{fo-CpeIdCl8.js.map → fo-HXGAjbhZ.js.map} +1 -1
  212. package/dist/formatter.utils-ClBgeuH1.js +64 -0
  213. package/dist/formatter.utils-ClBgeuH1.js.map +1 -0
  214. package/dist/{fr-DIzbd_n9.js → fr-DYjR92qT.js} +3 -3
  215. package/dist/{fr-DIzbd_n9.js.map → fr-DYjR92qT.js.map} +1 -1
  216. package/dist/{fy-BhHZODr6.js → fy-BrFASG7Q.js} +3 -3
  217. package/dist/{fy-BhHZODr6.js.map → fy-BrFASG7Q.js.map} +1 -1
  218. package/dist/{ga-Ctsaa8N6.js → ga-Co7viW5j.js} +3 -3
  219. package/dist/{ga-Ctsaa8N6.js.map → ga-Co7viW5j.js.map} +1 -1
  220. package/dist/{gd-CJMqayQ8.js → gd-D0bffb_u.js} +3 -3
  221. package/dist/{gd-CJMqayQ8.js.map → gd-D0bffb_u.js.map} +1 -1
  222. package/dist/{gl-CgKt_Bpy.js → gl-CE36L27o.js} +3 -3
  223. package/dist/{gl-CgKt_Bpy.js.map → gl-CE36L27o.js.map} +1 -1
  224. package/dist/{granularity.utils-B3m_RWlr.js → granularity.utils-DqPJsdYT.js} +3 -3
  225. package/dist/{granularity.utils-B3m_RWlr.js.map → granularity.utils-DqPJsdYT.js.map} +1 -1
  226. package/dist/{gu-B4gHXtGz.js → gu-BRL6LbPI.js} +3 -3
  227. package/dist/{gu-B4gHXtGz.js.map → gu-BRL6LbPI.js.map} +1 -1
  228. package/dist/{he-CcQvLbrF.js → he-nmQc8TVO.js} +3 -3
  229. package/dist/{he-CcQvLbrF.js.map → he-nmQc8TVO.js.map} +1 -1
  230. package/dist/{hi-chsNIDYi.js → hi-uxgrQPde.js} +3 -3
  231. package/dist/{hi-chsNIDYi.js.map → hi-uxgrQPde.js.map} +1 -1
  232. package/dist/{hr-8Lnl0n9t.js → hr-XSh9yrA7.js} +3 -3
  233. package/dist/{hr-8Lnl0n9t.js.map → hr-XSh9yrA7.js.map} +1 -1
  234. package/dist/{ht-ZqwhG8g8.js → ht-FJ2oRpp6.js} +5 -5
  235. package/dist/{ht-ZqwhG8g8.js.map → ht-FJ2oRpp6.js.map} +1 -1
  236. package/dist/{hu-DdlOoUdu.js → hu-CcMPhZY5.js} +3 -3
  237. package/dist/{hu-DdlOoUdu.js.map → hu-CcMPhZY5.js.map} +1 -1
  238. package/dist/{id-Vu-Dr44K.js → id-6h_8-hbi.js} +3 -3
  239. package/dist/{id-Vu-Dr44K.js.map → id-6h_8-hbi.js.map} +1 -1
  240. package/dist/{index-CBm5oDU7.js → index-B9eYAQkT.js} +13920 -13506
  241. package/dist/{index-CBm5oDU7.js.map → index-B9eYAQkT.js.map} +1 -1
  242. package/dist/{index--KIPGKyh.js → index-BikfLMXU.js} +2 -2
  243. package/dist/{index--KIPGKyh.js.map → index-BikfLMXU.js.map} +1 -1
  244. package/dist/{index-BJEYgYRi.js → index-ZWtLBqwf.js} +5 -5
  245. package/dist/{index-BJEYgYRi.js.map → index-ZWtLBqwf.js.map} +1 -1
  246. package/dist/index.d.ts +3 -0
  247. package/dist/index.d.ts.map +1 -1
  248. package/dist/index.js +204 -200
  249. package/dist/index.js.map +1 -1
  250. package/dist/{is-DhjdLtD-.js → is-CdBOM_ek.js} +5 -5
  251. package/dist/{is-DhjdLtD-.js.map → is-CdBOM_ek.js.map} +1 -1
  252. package/dist/{it-rd4t-Bhz.js → it-DG-wqGdN.js} +3 -3
  253. package/dist/{it-rd4t-Bhz.js.map → it-DG-wqGdN.js.map} +1 -1
  254. package/dist/{ja-us1BlZsD.js → ja-DYW3Ioha.js} +3 -3
  255. package/dist/{ja-us1BlZsD.js.map → ja-DYW3Ioha.js.map} +1 -1
  256. package/dist/{jv-jnL2rGi8.js → jv-cv-nEFwd.js} +5 -5
  257. package/dist/{jv-jnL2rGi8.js.map → jv-cv-nEFwd.js.map} +1 -1
  258. package/dist/{ka-DHR3pKbs.js → ka-LTLnl8Rc.js} +3 -3
  259. package/dist/{ka-DHR3pKbs.js.map → ka-LTLnl8Rc.js.map} +1 -1
  260. package/dist/{kk-BtzTm72v.js → kk-RZ-3E_zc.js} +3 -3
  261. package/dist/{kk-BtzTm72v.js.map → kk-RZ-3E_zc.js.map} +1 -1
  262. package/dist/{km-B3uYumpt.js → km-qlBK-4Sl.js} +3 -3
  263. package/dist/{km-B3uYumpt.js.map → km-qlBK-4Sl.js.map} +1 -1
  264. package/dist/{kn-CY6o4oGb.js → kn-lAUI_N-I.js} +3 -3
  265. package/dist/{kn-CY6o4oGb.js.map → kn-lAUI_N-I.js.map} +1 -1
  266. package/dist/{ko-CvDpiXpp.js → ko-BcRQaZ74.js} +3 -3
  267. package/dist/{ko-CvDpiXpp.js.map → ko-BcRQaZ74.js.map} +1 -1
  268. package/dist/{ku-dTFZoAmi.js → ku-NrBZBE5F.js} +3 -3
  269. package/dist/{ku-dTFZoAmi.js.map → ku-NrBZBE5F.js.map} +1 -1
  270. package/dist/{ky-BlGRND_v.js → ky-CsbbIBL3.js} +3 -3
  271. package/dist/{ky-BlGRND_v.js.map → ky-CsbbIBL3.js.map} +1 -1
  272. package/dist/{lb-Dvro5gBf.js → lb-BrU2xT4v.js} +3 -3
  273. package/dist/{lb-Dvro5gBf.js.map → lb-BrU2xT4v.js.map} +1 -1
  274. package/dist/{lo-DnWdhzE0.js → lo-B7aYw7eW.js} +3 -3
  275. package/dist/{lo-DnWdhzE0.js.map → lo-B7aYw7eW.js.map} +1 -1
  276. package/dist/{lt-B0tGo40x.js → lt-DlT2xJ1d.js} +7 -7
  277. package/dist/{lt-B0tGo40x.js.map → lt-DlT2xJ1d.js.map} +1 -1
  278. package/dist/{lv-CwjhARO0.js → lv-CZheryd_.js} +3 -3
  279. package/dist/{lv-CwjhARO0.js.map → lv-CZheryd_.js.map} +1 -1
  280. package/dist/{me-DRmhQrVF.js → me-BPy97kUC.js} +3 -3
  281. package/dist/{me-DRmhQrVF.js.map → me-BPy97kUC.js.map} +1 -1
  282. package/dist/{mi-C02ROmyP.js → mi-CHjC2E9B.js} +3 -3
  283. package/dist/{mi-C02ROmyP.js.map → mi-CHjC2E9B.js.map} +1 -1
  284. package/dist/{mk-Dhsaf__9.js → mk-xCX8HmhB.js} +3 -3
  285. package/dist/{mk-Dhsaf__9.js.map → mk-xCX8HmhB.js.map} +1 -1
  286. package/dist/{ml-BMUVf6Gp.js → ml-Bz_znVW1.js} +3 -3
  287. package/dist/{ml-BMUVf6Gp.js.map → ml-Bz_znVW1.js.map} +1 -1
  288. package/dist/{mn-CRRvpLcS.js → mn-wGZk32mv.js} +3 -3
  289. package/dist/{mn-CRRvpLcS.js.map → mn-wGZk32mv.js.map} +1 -1
  290. package/dist/{mr-kHXTtefN.js → mr-CXsMWV0u.js} +3 -3
  291. package/dist/{mr-kHXTtefN.js.map → mr-CXsMWV0u.js.map} +1 -1
  292. package/dist/{ms-DaBFcHOL.js → ms-Bujk--b1.js} +3 -3
  293. package/dist/{ms-DaBFcHOL.js.map → ms-Bujk--b1.js.map} +1 -1
  294. package/dist/{mt-DScPzmhA.js → mt-CHoih__f.js} +3 -3
  295. package/dist/{mt-DScPzmhA.js.map → mt-CHoih__f.js.map} +1 -1
  296. package/dist/{my-gqO0CISk.js → my-zuNEDIfc.js} +3 -3
  297. package/dist/{my-gqO0CISk.js.map → my-zuNEDIfc.js.map} +1 -1
  298. package/dist/{nb-BG_HY1iJ.js → nb-B3c82zOj.js} +3 -3
  299. package/dist/{nb-BG_HY1iJ.js.map → nb-B3c82zOj.js.map} +1 -1
  300. package/dist/{ne-C8My0kbI.js → ne-CDNgYrsH.js} +3 -3
  301. package/dist/{ne-C8My0kbI.js.map → ne-CDNgYrsH.js.map} +1 -1
  302. package/dist/{nl-C23pI1G-.js → nl-DHffN2U4.js} +3 -3
  303. package/dist/{nl-C23pI1G-.js.map → nl-DHffN2U4.js.map} +1 -1
  304. package/dist/{nn-B03EIwe5.js → nn-Bb1TmkSB.js} +3 -3
  305. package/dist/{nn-B03EIwe5.js.map → nn-Bb1TmkSB.js.map} +1 -1
  306. package/dist/{pies.utils-BEu4wdiy.js → pies.utils-DyBQ0LjG.js} +4 -4
  307. package/dist/{pies.utils-BEu4wdiy.js.map → pies.utils-DyBQ0LjG.js.map} +1 -1
  308. package/dist/{pl-CU83i4pQ.js → pl-DuXDdF4t.js} +6 -6
  309. package/dist/{pl-CU83i4pQ.js.map → pl-DuXDdF4t.js.map} +1 -1
  310. package/dist/preview.data.constants-Cf1TpbZu.js +92 -0
  311. package/dist/preview.data.constants-Cf1TpbZu.js.map +1 -0
  312. package/dist/{pt-BNoOqBZS.js → pt-DfYSe7Ch.js} +3 -3
  313. package/dist/{pt-BNoOqBZS.js.map → pt-DfYSe7Ch.js.map} +1 -1
  314. package/dist/{quarterOfYear-BqFYmTZI.js → quarterOfYear-d8ZftuS6.js} +4 -4
  315. package/dist/{quarterOfYear-BqFYmTZI.js.map → quarterOfYear-d8ZftuS6.js.map} +1 -1
  316. package/dist/remarkable-pro.css +1 -1
  317. package/dist/{ro-CIPhABtP.js → ro-uEG8YJTg.js} +3 -3
  318. package/dist/{ro-CIPhABtP.js.map → ro-uEG8YJTg.js.map} +1 -1
  319. package/dist/{ru-BJnfbQbQ.js → ru-BlAT_7-Q.js} +3 -3
  320. package/dist/{ru-BJnfbQbQ.js.map → ru-BlAT_7-Q.js.map} +1 -1
  321. package/dist/{rw-BkQ3CDWj.js → rw-Cl1PUvSn.js} +7 -7
  322. package/dist/{rw-BkQ3CDWj.js.map → rw-Cl1PUvSn.js.map} +1 -1
  323. package/dist/{sd-4M0j1DP7.js → sd-BArpjtWw.js} +3 -3
  324. package/dist/{sd-4M0j1DP7.js.map → sd-BArpjtWw.js.map} +1 -1
  325. package/dist/{se-CA86VhyS.js → se-CrKDU_Zo.js} +3 -3
  326. package/dist/{se-CA86VhyS.js.map → se-CrKDU_Zo.js.map} +1 -1
  327. package/dist/{si-DWsu8Ss5.js → si-f5g-si2Z.js} +3 -3
  328. package/dist/{si-DWsu8Ss5.js.map → si-f5g-si2Z.js.map} +1 -1
  329. package/dist/{sk-DKDLuVp6.js → sk-C8xwZvjk.js} +5 -5
  330. package/dist/{sk-DKDLuVp6.js.map → sk-C8xwZvjk.js.map} +1 -1
  331. package/dist/{sl-HDB1IZnq.js → sl-DKkxeo6N.js} +3 -3
  332. package/dist/{sl-HDB1IZnq.js.map → sl-DKkxeo6N.js.map} +1 -1
  333. package/dist/{sq-D5LKJD4s.js → sq-Dc5OKFGl.js} +3 -3
  334. package/dist/{sq-D5LKJD4s.js.map → sq-Dc5OKFGl.js.map} +1 -1
  335. package/dist/{sr-BXCd3ZQl.js → sr-9iCNW12k.js} +3 -3
  336. package/dist/{sr-BXCd3ZQl.js.map → sr-9iCNW12k.js.map} +1 -1
  337. package/dist/{ss-BozZ8MUs.js → ss-BQ9k2hqU.js} +3 -3
  338. package/dist/{ss-BozZ8MUs.js.map → ss-BQ9k2hqU.js.map} +1 -1
  339. package/dist/{sv-JCQbs-hW.js → sv-CDWOROvP.js} +3 -3
  340. package/dist/{sv-JCQbs-hW.js.map → sv-CDWOROvP.js.map} +1 -1
  341. package/dist/{sw-DHOsl8t6.js → sw-D3onDX4W.js} +3 -3
  342. package/dist/{sw-DHOsl8t6.js.map → sw-D3onDX4W.js.map} +1 -1
  343. package/dist/{ta-CCz4kHkj.js → ta-B0YH3u4n.js} +3 -3
  344. package/dist/{ta-CCz4kHkj.js.map → ta-B0YH3u4n.js.map} +1 -1
  345. package/dist/{tables.utils-B2EwwG22.js → tables.utils-D0oPxjdp.js} +4 -4
  346. package/dist/{tables.utils-B2EwwG22.js.map → tables.utils-D0oPxjdp.js.map} +1 -1
  347. package/dist/{te-MBxfQ5IT.js → te-De306B8U.js} +3 -3
  348. package/dist/{te-MBxfQ5IT.js.map → te-De306B8U.js.map} +1 -1
  349. package/dist/{tet-9NP7tedL.js → tet-CTkp5J0b.js} +3 -3
  350. package/dist/{tet-9NP7tedL.js.map → tet-CTkp5J0b.js.map} +1 -1
  351. package/dist/{tg-TyGWF_-R.js → tg-CPg2ydj6.js} +3 -3
  352. package/dist/{tg-TyGWF_-R.js.map → tg-CPg2ydj6.js.map} +1 -1
  353. package/dist/{th-BxsW2GEX.js → th-R3e-65_3.js} +3 -3
  354. package/dist/{th-BxsW2GEX.js.map → th-R3e-65_3.js.map} +1 -1
  355. package/dist/theme/defaults/defaults.GranularityOptions.constants.d.ts +1 -1
  356. package/dist/theme/i18n/translations/de.d.ts.map +1 -1
  357. package/dist/theme/i18n/translations/en.d.ts.map +1 -1
  358. package/dist/theme/styles/styles.constants.d.ts +50 -1
  359. package/dist/theme/styles/styles.constants.d.ts.map +1 -1
  360. package/dist/theme/theme.types.d.ts +3 -0
  361. package/dist/theme/theme.types.d.ts.map +1 -1
  362. package/dist/{tk-B8aOMw2I.js → tk-kyiwq3u4.js} +3 -3
  363. package/dist/{tk-B8aOMw2I.js.map → tk-kyiwq3u4.js.map} +1 -1
  364. package/dist/{tlh-DiZ0I9e-.js → tlh-CRhhUHh9.js} +3 -3
  365. package/dist/{tlh-DiZ0I9e-.js.map → tlh-CRhhUHh9.js.map} +1 -1
  366. package/dist/{tr-Dqw1TnHp.js → tr-BwmJO2C6.js} +3 -3
  367. package/dist/{tr-Dqw1TnHp.js.map → tr-BwmJO2C6.js.map} +1 -1
  368. package/dist/{tzl-DUFBFy0h.js → tzl-DaKTHPnu.js} +3 -3
  369. package/dist/{tzl-DUFBFy0h.js.map → tzl-DaKTHPnu.js.map} +1 -1
  370. package/dist/{tzm-ClXbGGjK.js → tzm-Bf2zy2CU.js} +3 -3
  371. package/dist/{tzm-ClXbGGjK.js.map → tzm-Bf2zy2CU.js.map} +1 -1
  372. package/dist/{uk-CUY_DgwX.js → uk-CRUuUoEO.js} +7 -7
  373. package/dist/{uk-CUY_DgwX.js.map → uk-CRUuUoEO.js.map} +1 -1
  374. package/dist/{ur-DIng2SVA.js → ur-D6J4gKiT.js} +3 -3
  375. package/dist/{ur-DIng2SVA.js.map → ur-D6J4gKiT.js.map} +1 -1
  376. package/dist/{utc-DonAsWlv.js → utc-DtBPRhZT.js} +2 -2
  377. package/dist/{utc-DonAsWlv.js.map → utc-DtBPRhZT.js.map} +1 -1
  378. package/dist/utils/data.utils.d.ts +2 -0
  379. package/dist/utils/data.utils.d.ts.map +1 -1
  380. package/dist/{uz-CVsG1GcX.js → uz-D1xRHJqh.js} +3 -3
  381. package/dist/{uz-CVsG1GcX.js.map → uz-D1xRHJqh.js.map} +1 -1
  382. package/dist/{vi-CFPBaJYz.js → vi-DDB-C1yY.js} +3 -3
  383. package/dist/{vi-CFPBaJYz.js.map → vi-DDB-C1yY.js.map} +1 -1
  384. package/dist/{x-pseudo-CfhHZYYc.js → x-pseudo-B02U-DsI.js} +3 -3
  385. package/dist/{x-pseudo-CfhHZYYc.js.map → x-pseudo-B02U-DsI.js.map} +1 -1
  386. package/dist/{yo-D5XPSPu-.js → yo-DOzsoo7T.js} +3 -3
  387. package/dist/{yo-D5XPSPu-.js.map → yo-DOzsoo7T.js.map} +1 -1
  388. package/dist/{zh-cn-ijtCMtnP.js → zh-cn-C36jgiDJ.js} +3 -3
  389. package/dist/{zh-cn-ijtCMtnP.js.map → zh-cn-C36jgiDJ.js.map} +1 -1
  390. package/dist/{zh-hk-DzFq7Nkv.js → zh-hk-D9UhJlEq.js} +3 -3
  391. package/dist/{zh-hk-DzFq7Nkv.js.map → zh-hk-D9UhJlEq.js.map} +1 -1
  392. package/dist/{zh-tw-D7gdtveN.js → zh-tw-ezNIUVTb.js} +3 -3
  393. package/dist/{zh-tw-D7gdtveN.js.map → zh-tw-ezNIUVTb.js.map} +1 -1
  394. package/package.json +2 -2
  395. package/dist/bars.utils-BAUTqWKn.js +0 -159
  396. package/dist/bars.utils-BAUTqWKn.js.map +0 -1
  397. package/dist/dates.utils-BJCRShK6.js +0 -169
  398. package/dist/formatter.utils-BpAQmGN5.js +0 -59
  399. package/dist/formatter.utils-BpAQmGN5.js.map +0 -1
  400. package/dist/preview.data.constants-CXCiAONb.js +0 -72
  401. package/dist/preview.data.constants-CXCiAONb.js.map +0 -1
@@ -0,0 +1,330 @@
1
+ import { t as G, m as J, j as I, J as U, V, l as Y } from "./index-B9eYAQkT.js";
2
+ import { useTheme as q, definePreview as H } from "@embeddable.com/react";
3
+ import { a as Q, r as W, i as Z } from "./component.utils-Dua9clQJ.js";
4
+ import { C as ee } from "./ChartCard-Cv9hqNdM.js";
5
+ import { a as L, g as $ } from "./formatter.utils-ClBgeuH1.js";
6
+ import { g as te } from "./styles.utils-C8CnV0SB.js";
7
+ import { i as s, s as ae } from "./component.inputs.constants-Bf2Ty2En.js";
8
+ import { p as h } from "./preview.data.constants-Cf1TpbZu.js";
9
+ import { g as ne } from "./clientContext.utils-DpB5KsfX.js";
10
+ const oe = ({
11
+ xMeasure: e,
12
+ yMeasure: n,
13
+ noValueLabel: i
14
+ }, g) => {
15
+ const c = $(g), d = (a, t) => t == null ? i : c.data(a, t);
16
+ return {
17
+ scales: {
18
+ x: {
19
+ ticks: {
20
+ callback: (a) => {
21
+ const t = typeof a == "number" ? a : Number(a);
22
+ return c.data(e, t);
23
+ }
24
+ }
25
+ },
26
+ y: {
27
+ ticks: {
28
+ callback: (a) => {
29
+ const t = typeof a == "number" ? a : Number(a);
30
+ return c.data(n, t);
31
+ }
32
+ }
33
+ }
34
+ },
35
+ plugins: {
36
+ tooltip: {
37
+ callbacks: {
38
+ label: (a) => {
39
+ var m;
40
+ const t = a.dataset, l = ((m = t.originalData) == null ? void 0 : m[a.dataIndex]) ?? a.dataset.data[a.dataIndex], r = t.label ? `${t.label}: ` : "";
41
+ return l ? `${r}(${d(e, l.x)}, ${d(n, l.y)})` : r;
42
+ }
43
+ }
44
+ },
45
+ datalabels: {
46
+ labels: {
47
+ value: {
48
+ formatter: (a, t) => {
49
+ var m;
50
+ const r = ((m = t.dataset.originalData) == null ? void 0 : m[t.dataIndex]) ?? t.dataset.data[t.dataIndex];
51
+ return r ? `(${d(e, r.x)}, ${d(n, r.y)})` : "";
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ };
58
+ }, P = (e) => e == null ? "" : typeof e == "object" ? JSON.stringify(e) : String(e), se = (e, n, i, g, c, d, a) => {
59
+ var x, y;
60
+ const t = (y = (x = n[e.datasetIndex]) == null ? void 0 : x.data[e.index]) == null ? void 0 : y.rowIndex;
61
+ if (t === void 0) return null;
62
+ const l = i == null ? void 0 : i[t];
63
+ if (!l) return null;
64
+ const r = L(d), m = a ? L(a) : void 0;
65
+ return {
66
+ xMeasureValue: P(l[g.name]),
67
+ yMeasureValue: P(l[c.name]),
68
+ pointDimensionValue: P(l[r]),
69
+ groupByDimensionValue: m ? P(l[m]) : null
70
+ };
71
+ }, f = "__scatter_null_group__", N = (e) => {
72
+ if (e == null) return null;
73
+ if (typeof e == "number") return Number.isFinite(e) ? e : null;
74
+ const n = Number(e);
75
+ return Number.isFinite(n) ? n : null;
76
+ }, re = (e, n) => {
77
+ var C;
78
+ const i = $(n), g = G(), c = e.data ?? [], d = L(e.pointDimension), a = ((C = e.pointColor) == null ? void 0 : C.trim()) || void 0;
79
+ if (!c.length)
80
+ return { datasets: [{ label: "", data: [] }] };
81
+ const t = (o, u, b, p) => a ?? te({ dimensionOrMeasure: u, theme: n, color: o, value: b, index: p, chartColors: g }), l = (o, u) => {
82
+ const b = o[d], p = b == null ? e.noValueLabel : String(i.data(e.pointDimension, b));
83
+ return {
84
+ x: N(o[e.xMeasure.name]),
85
+ y: N(o[e.yMeasure.name]),
86
+ pointLabel: p,
87
+ label: p,
88
+ rowIndex: u
89
+ };
90
+ };
91
+ if (!e.groupByDimension)
92
+ return {
93
+ datasets: [
94
+ {
95
+ label: i.dimensionOrMeasureTitle(e.yMeasure),
96
+ data: c.map((o, u) => l(o, u)),
97
+ pointBackgroundColor: t("background", e.xMeasure, e.xMeasure.name, 0),
98
+ pointBorderColor: t("border", e.xMeasure, e.xMeasure.name, 0)
99
+ }
100
+ ]
101
+ };
102
+ const r = e.groupByDimension, m = L(r), x = /* @__PURE__ */ new Map();
103
+ return c.forEach((o, u) => {
104
+ const b = o[m] == null ? f : String(o[m]), p = x.get(b) ?? [];
105
+ p.push(l(o, u)), x.set(b, p);
106
+ }), { datasets: [...x.keys()].sort((o, u) => o === f ? 1 : u === f ? -1 : o.localeCompare(u)).map((o, u) => {
107
+ var D;
108
+ const b = x.get(o), p = b[0].rowIndex, w = o === f ? null : (D = c[p]) == null ? void 0 : D[m], S = o === f ? e.noValueLabel : i.data(r, w), M = o === f ? `${r.name}.null` : `${r.name}.${o}`;
109
+ return {
110
+ label: S,
111
+ data: b,
112
+ pointBackgroundColor: t("background", r, M, u),
113
+ pointBorderColor: t("border", r, M, u)
114
+ };
115
+ }) };
116
+ }, k = (e) => {
117
+ var B;
118
+ const n = q();
119
+ Q(n);
120
+ const {
121
+ xMeasure: i,
122
+ yMeasure: g,
123
+ pointDimension: c,
124
+ groupByDimension: d,
125
+ results: a,
126
+ pointColor: t,
127
+ showLegend: l,
128
+ showTooltips: r,
129
+ showPointLabels: m,
130
+ showValueLabels: x,
131
+ showLogarithmicScale: y,
132
+ xAxisRangeMin: R,
133
+ xAxisRangeMax: C,
134
+ yAxisRangeMin: o,
135
+ yAxisRangeMax: u,
136
+ reverseXAxis: b,
137
+ onPointClick: p,
138
+ hideMenu: w
139
+ } = e, { title: S, description: M, tooltip: D, xAxisLabel: z, yAxisLabel: K } = W(e), A = Z.t("charts.scatterChart.noValue"), _ = re(
140
+ {
141
+ data: a.data,
142
+ xMeasure: i,
143
+ yMeasure: g,
144
+ pointDimension: c,
145
+ groupByDimension: d,
146
+ noValueLabel: A,
147
+ pointColor: t
148
+ },
149
+ n
150
+ ), E = (F) => {
151
+ if (!p || !F) return;
152
+ const v = se(
153
+ F,
154
+ _.datasets,
155
+ a.data,
156
+ i,
157
+ g,
158
+ c,
159
+ d
160
+ );
161
+ v && p(v);
162
+ }, X = J(
163
+ oe({ xMeasure: i, yMeasure: g, noValueLabel: A }, n),
164
+ ((B = n.charts.scatterChartPro) == null ? void 0 : B.options) ?? {}
165
+ );
166
+ return /* @__PURE__ */ I.jsx(
167
+ ee,
168
+ {
169
+ data: a,
170
+ dimensionsAndMeasures: [
171
+ c,
172
+ i,
173
+ g,
174
+ ...d ? [d] : []
175
+ ],
176
+ errorMessage: a.error,
177
+ description: M,
178
+ title: S,
179
+ tooltip: D,
180
+ hideMenu: w,
181
+ children: /* @__PURE__ */ I.jsx(
182
+ U,
183
+ {
184
+ data: _,
185
+ options: X,
186
+ nullBandLabel: A,
187
+ showLegend: l,
188
+ showTooltips: r,
189
+ showPointLabels: m,
190
+ showValueLabels: x,
191
+ showLogarithmicScale: y,
192
+ xAxisLabel: z,
193
+ yAxisLabel: K,
194
+ xAxisRangeMin: R,
195
+ xAxisRangeMax: C,
196
+ yAxisRangeMin: o,
197
+ yAxisRangeMax: u,
198
+ reverseXAxis: b,
199
+ onPointClick: E
200
+ }
201
+ )
202
+ }
203
+ );
204
+ }, Me = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
205
+ __proto__: null,
206
+ default: k
207
+ }, Symbol.toStringTag, { value: "Module" })), ie = {
208
+ ...s.boolean,
209
+ name: "showPointLabels",
210
+ label: "Show point labels",
211
+ defaultValue: !1,
212
+ category: "Component Settings"
213
+ }, le = {
214
+ name: "ScatterChartPro",
215
+ label: "Scatter Chart",
216
+ category: "Scatter Charts",
217
+ inputs: [
218
+ s.dataset,
219
+ s.xMeasure,
220
+ s.yMeasure,
221
+ {
222
+ ...s.dimension,
223
+ name: "pointDimension",
224
+ label: "Point dimension"
225
+ },
226
+ {
227
+ ...s.dimension,
228
+ name: "groupByDimension",
229
+ label: "Group by (optional)",
230
+ required: !1
231
+ },
232
+ {
233
+ ...ae.color,
234
+ name: "pointColor",
235
+ label: "Point color",
236
+ category: "Component Settings"
237
+ },
238
+ s.title,
239
+ s.description,
240
+ s.tooltip,
241
+ s.showLegend,
242
+ s.showTooltips,
243
+ ie,
244
+ s.showValueLabels,
245
+ s.showLogarithmicScale,
246
+ s.xAxisLabel,
247
+ s.yAxisLabel,
248
+ s.reverseXAxis,
249
+ s.xAxisRangeMin,
250
+ s.xAxisRangeMax,
251
+ s.yAxisRangeMin,
252
+ s.yAxisRangeMax,
253
+ s.maxResults
254
+ ],
255
+ events: [
256
+ {
257
+ name: "onPointClick",
258
+ label: "A point is clicked",
259
+ properties: [
260
+ {
261
+ name: "xMeasureValue",
262
+ label: "Clicked X measure value",
263
+ type: "string"
264
+ },
265
+ {
266
+ name: "yMeasureValue",
267
+ label: "Clicked Y measure value",
268
+ type: "string"
269
+ },
270
+ {
271
+ name: "pointDimensionValue",
272
+ label: "Clicked point dimension value",
273
+ type: "string"
274
+ },
275
+ {
276
+ name: "groupByDimensionValue",
277
+ label: "Clicked group by value",
278
+ type: "string"
279
+ }
280
+ ]
281
+ }
282
+ ]
283
+ }, T = {
284
+ dataset: h.dataset,
285
+ xMeasure: h.measure,
286
+ yMeasure: h.measureVariant,
287
+ pointDimension: h.dimension,
288
+ results: h.results2Measures1Dimension,
289
+ showLegend: !0,
290
+ hideMenu: !0
291
+ }, ue = H(k, T), j = (e, n) => ({
292
+ limit: e.maxResults,
293
+ from: e.dataset,
294
+ select: [
295
+ e.xMeasure,
296
+ e.yMeasure,
297
+ e.pointDimension,
298
+ ...e.groupByDimension ? [e.groupByDimension] : []
299
+ ],
300
+ timezone: ne(n == null ? void 0 : n.timezone)
301
+ }), O = (e, n) => Y(j(e, n)), ce = {
302
+ onPointClick: (e) => ({
303
+ xMeasureValue: e.xMeasureValue ?? V.noFilter(),
304
+ yMeasureValue: e.yMeasureValue ?? V.noFilter(),
305
+ pointDimensionValue: e.pointDimensionValue ?? V.noFilter(),
306
+ groupByDimensionValue: e.groupByDimensionValue ?? V.noFilter()
307
+ })
308
+ }, me = (e, [n, i], g) => ({
309
+ ...e,
310
+ pointColor: e.pointColor,
311
+ results: O(e, g)
312
+ }), De = {
313
+ Component: k,
314
+ meta: le,
315
+ preview: ue,
316
+ previewConfig: T,
317
+ config: {
318
+ props: me,
319
+ events: ce
320
+ },
321
+ results: {
322
+ loadDataArgs: j,
323
+ loadData: O
324
+ }
325
+ };
326
+ export {
327
+ Me as i,
328
+ De as s
329
+ };
330
+ //# sourceMappingURL=definition-JPgTRMBs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-JPgTRMBs.js","sources":["../src/components/charts/scatter/ScatterChartPro/ScatterChartPro.utils.ts","../src/components/charts/scatter/ScatterChartPro/index.tsx","../src/components/charts/scatter/ScatterChartPro/definition.ts"],"sourcesContent":["import { ChartData, type ChartOptions } from 'chart.js';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport type {\n ChartPointClicked,\n ScatterChartInputPoint,\n ScatterDatasetWithOriginal,\n} from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { getDimensionFieldName } from '../../../../utils/data.utils';\nimport type { PointClickArgs } from '../../charts.types';\n\nexport { getDimensionFieldName };\n\nexport const getScatterChartProOptions = (\n {\n xMeasure,\n yMeasure,\n noValueLabel,\n }: { xMeasure: Measure; yMeasure: Measure; noValueLabel: string },\n theme: Theme,\n): Partial<ChartOptions<'scatter'>> => {\n const themeFormatter = getThemeFormatter(theme);\n\n const formatValue = (measure: Measure, value: number | null | undefined): string => {\n if (value === null || value === undefined) return noValueLabel;\n return themeFormatter.data(measure, value);\n };\n\n return {\n scales: {\n x: {\n ticks: {\n callback: (tickValue) => {\n const v = typeof tickValue === 'number' ? tickValue : Number(tickValue);\n return themeFormatter.data(xMeasure, v);\n },\n },\n },\n y: {\n ticks: {\n callback: (tickValue) => {\n const v = typeof tickValue === 'number' ? tickValue : Number(tickValue);\n return themeFormatter.data(yMeasure, v);\n },\n },\n },\n },\n plugins: {\n tooltip: {\n callbacks: {\n label: (ctx) => {\n const ds = ctx.dataset as ScatterDatasetWithOriginal;\n const orig =\n ds.originalData?.[ctx.dataIndex] ??\n (ctx.dataset.data[ctx.dataIndex] as\n | { x: number | null; y: number | null }\n | undefined);\n const prefix = ds.label ? `${ds.label}: ` : '';\n if (!orig) return prefix;\n return `${prefix}(${formatValue(xMeasure, orig.x)}, ${formatValue(yMeasure, orig.y)})`;\n },\n },\n },\n datalabels: {\n labels: {\n value: {\n formatter: (_value, context) => {\n const ds = context.dataset as ScatterDatasetWithOriginal;\n const raw =\n ds.originalData?.[context.dataIndex] ??\n (context.dataset.data[context.dataIndex] as\n | { x: number | null; y: number | null }\n | undefined);\n if (!raw) return '';\n return `(${formatValue(xMeasure, raw.x)}, ${formatValue(yMeasure, raw.y)})`;\n },\n },\n },\n },\n },\n };\n};\n\ntype CellValue = string | number | boolean | null | undefined;\n\nconst getCellValue = (value: CellValue): string => {\n if (value === null || value === undefined) return '';\n if (typeof value === 'object') return JSON.stringify(value);\n return String(value);\n};\n\nexport type ScatterPoint = ScatterChartInputPoint & { rowIndex: number };\n\nexport const getPointClickData = (\n point: ChartPointClicked,\n datasets: ChartData<'scatter', ScatterPoint[]>['datasets'],\n data: DataResponse['data'],\n xMeasure: Measure,\n yMeasure: Measure,\n pointDimension: Dimension,\n groupByDimension?: Dimension,\n): PointClickArgs | null => {\n const rowIdx = datasets[point.datasetIndex]?.data[point.index]?.rowIndex;\n if (rowIdx === undefined) return null;\n const row = data?.[rowIdx] as Record<string, CellValue> | undefined;\n if (!row) return null;\n\n const pointField = getDimensionFieldName(pointDimension);\n const groupField = groupByDimension ? getDimensionFieldName(groupByDimension) : undefined;\n\n return {\n xMeasureValue: getCellValue(row[xMeasure.name]),\n yMeasureValue: getCellValue(row[yMeasure.name]),\n pointDimensionValue: getCellValue(row[pointField]),\n groupByDimensionValue: groupField ? getCellValue(row[groupField]) : null,\n };\n};\n\nconst NULL_GROUP_KEY = '__scatter_null_group__';\n\nexport const measureToNullableNumber = (value: unknown): number | null => {\n if (value === null || value === undefined) return null;\n if (typeof value === 'number') return Number.isFinite(value) ? value : null;\n const n = Number(value);\n return Number.isFinite(n) ? n : null;\n};\n\nexport const getScatterChartProData = (\n props: {\n data: DataResponse['data'];\n xMeasure: Measure;\n yMeasure: Measure;\n pointDimension: Dimension;\n groupByDimension?: Dimension | null;\n noValueLabel: string;\n pointColor?: string;\n },\n theme: Theme,\n): ChartData<'scatter', ScatterPoint[]> => {\n const themeFormatter = getThemeFormatter(theme);\n const chartColors = getChartColors();\n const data = (props.data ?? []) as Record<string, unknown>[];\n const pointField = getDimensionFieldName(props.pointDimension);\n const overrideColor = props.pointColor?.trim() || undefined;\n\n if (!data.length) {\n return { datasets: [{ label: '', data: [] }] };\n }\n\n const getColor = (\n color: 'background' | 'border',\n dimensionOrMeasure: Dimension | Measure,\n value: string,\n index: number,\n ) =>\n overrideColor ??\n getDimensionMeasureColor({ dimensionOrMeasure, theme, color, value, index, chartColors });\n\n const buildPoint = (row: Record<string, unknown>, rowIndex: number): ScatterPoint => {\n const rawPoint = row[pointField];\n const pointLabel =\n rawPoint == null\n ? props.noValueLabel\n : String(themeFormatter.data(props.pointDimension, rawPoint as string | number | boolean));\n return {\n x: measureToNullableNumber(row[props.xMeasure.name]),\n y: measureToNullableNumber(row[props.yMeasure.name]),\n pointLabel,\n label: pointLabel,\n rowIndex,\n };\n };\n\n if (!props.groupByDimension) {\n return {\n datasets: [\n {\n label: themeFormatter.dimensionOrMeasureTitle(props.yMeasure),\n data: data.map((row, i) => buildPoint(row, i)),\n pointBackgroundColor: getColor('background', props.xMeasure, props.xMeasure.name, 0),\n pointBorderColor: getColor('border', props.xMeasure, props.xMeasure.name, 0),\n },\n ],\n };\n }\n\n const groupDim = props.groupByDimension;\n const groupField = getDimensionFieldName(groupDim);\n const bucket = new Map<string, ScatterPoint[]>();\n\n data.forEach((row, rowIndex) => {\n const key = row[groupField] == null ? NULL_GROUP_KEY : String(row[groupField]);\n const points = bucket.get(key) ?? [];\n points.push(buildPoint(row, rowIndex));\n bucket.set(key, points);\n });\n\n const sortedKeys = [...bucket.keys()].sort((a, b) => {\n if (a === NULL_GROUP_KEY) return 1;\n if (b === NULL_GROUP_KEY) return -1;\n return a.localeCompare(b);\n });\n\n const datasets = sortedKeys.map((key, index) => {\n const points = bucket.get(key)!;\n const firstRowIndex = points[0]!.rowIndex;\n const groupValue = key === NULL_GROUP_KEY ? null : data[firstRowIndex]?.[groupField];\n const seriesLabel =\n key === NULL_GROUP_KEY\n ? props.noValueLabel\n : themeFormatter.data(groupDim, groupValue as string | number | boolean);\n const colorKey = key === NULL_GROUP_KEY ? `${groupDim.name}.null` : `${groupDim.name}.${key}`;\n\n return {\n label: seriesLabel,\n data: points,\n pointBackgroundColor: getColor('background', groupDim, colorKey, index),\n pointBorderColor: getColor('border', groupDim, colorKey, index),\n };\n });\n\n return { datasets };\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { ScatterChart } from '@embeddable.com/remarkable-ui';\nimport type { ChartPointClicked } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport {\n getPointClickData,\n getScatterChartProData,\n getScatterChartProOptions,\n} from './ScatterChartPro.utils';\n\nimport type { PointClickArgs } from '../../charts.types';\nexport type ScatterChartPointClickArgs = PointClickArgs;\n\nexport type ScatterChartProProps = {\n xMeasure: Measure;\n yMeasure: Measure;\n pointDimension: Dimension;\n groupByDimension?: Dimension;\n results: DataResponse;\n pointColor?: string;\n showLegend?: boolean;\n showTooltips?: boolean;\n showPointLabels?: boolean;\n showValueLabels?: boolean;\n showLogarithmicScale?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMin?: number;\n xAxisRangeMax?: number;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n reverseXAxis?: boolean;\n onPointClick?: (payload: ScatterChartPointClickArgs) => void;\n} & ChartCardHeaderProps;\n\nconst ScatterChartPro = (props: ScatterChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n xMeasure,\n yMeasure,\n pointDimension,\n groupByDimension,\n results,\n pointColor,\n showLegend,\n showTooltips,\n showPointLabels,\n showValueLabels,\n showLogarithmicScale,\n xAxisRangeMin,\n xAxisRangeMax,\n yAxisRangeMin,\n yAxisRangeMax,\n reverseXAxis,\n onPointClick,\n hideMenu,\n } = props;\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const noValueLabel = i18n.t('charts.scatterChart.noValue');\n\n const chartData = getScatterChartProData(\n {\n data: results.data,\n xMeasure,\n yMeasure,\n pointDimension,\n groupByDimension,\n noValueLabel,\n pointColor,\n },\n theme,\n );\n\n const handlePointClick = (point: ChartPointClicked | undefined) => {\n if (!onPointClick || !point) return;\n const clickData = getPointClickData(\n point,\n chartData.datasets,\n results.data,\n xMeasure,\n yMeasure,\n pointDimension,\n groupByDimension,\n );\n if (clickData) onPointClick(clickData);\n };\n\n const chartOptions = mergician(\n getScatterChartProOptions({ xMeasure, yMeasure, noValueLabel }, theme),\n theme.charts.scatterChartPro?.options ?? {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[\n pointDimension,\n xMeasure,\n yMeasure,\n ...(groupByDimension ? [groupByDimension] : []),\n ]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ScatterChart\n data={chartData}\n options={chartOptions}\n nullBandLabel={noValueLabel}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showPointLabels={showPointLabels}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n reverseXAxis={reverseXAxis}\n onPointClick={handlePointClick}\n />\n </ChartCard>\n );\n};\n\nexport default ScatterChartPro;\n","import { DataResponse, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst showPointLabels = {\n ...inputs.boolean,\n name: 'showPointLabels',\n label: 'Show point labels',\n defaultValue: false,\n category: 'Component Settings',\n} as const;\n\nconst meta = {\n name: 'ScatterChartPro',\n label: 'Scatter Chart',\n category: 'Scatter Charts',\n inputs: [\n inputs.dataset,\n inputs.xMeasure,\n inputs.yMeasure,\n {\n ...inputs.dimension,\n name: 'pointDimension',\n label: 'Point dimension',\n },\n {\n ...inputs.dimension,\n name: 'groupByDimension',\n label: 'Group by (optional)',\n required: false,\n },\n {\n ...subInputs.color,\n name: 'pointColor',\n label: 'Point color',\n category: 'Component Settings',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n showPointLabels,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.maxResults,\n ],\n events: [\n {\n name: 'onPointClick',\n label: 'A point is clicked',\n properties: [\n {\n name: 'xMeasureValue',\n label: 'Clicked X measure value',\n type: 'string',\n },\n {\n name: 'yMeasureValue',\n label: 'Clicked Y measure value',\n type: 'string',\n },\n {\n name: 'pointDimensionValue',\n label: 'Clicked point dimension value',\n type: 'string',\n },\n {\n name: 'groupByDimensionValue',\n label: 'Clicked group by value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type ScatterChartProState = Record<string, never>;\n\nconst previewConfig = {\n dataset: previewData.dataset,\n xMeasure: previewData.measure,\n yMeasure: previewData.measureVariant,\n pointDimension: previewData.dimension,\n results: previewData.results2Measures1Dimension,\n showLegend: true,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [\n inputs.xMeasure,\n inputs.yMeasure,\n inputs.pointDimension,\n ...(inputs.groupByDimension ? [inputs.groupByDimension] : []),\n ],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst events = {\n onPointClick: (value: {\n xMeasureValue?: string;\n yMeasureValue?: string;\n pointDimensionValue?: string;\n groupByDimensionValue?: string | null;\n }) => ({\n xMeasureValue: value.xMeasureValue ?? Value.noFilter(),\n yMeasureValue: value.yMeasureValue ?? Value.noFilter(),\n pointDimensionValue: value.pointDimensionValue ?? Value.noFilter(),\n groupByDimensionValue: value.groupByDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [_state, _setState]: [ScatterChartProState, (state: ScatterChartProState) => void],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n pointColor: inputs.pointColor as string | undefined,\n results: loadDataResults(inputs, clientContext),\n});\n\nexport const scatterChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getScatterChartProOptions","xMeasure","yMeasure","noValueLabel","theme","themeFormatter","getThemeFormatter","formatValue","measure","value","tickValue","v","ctx","ds","orig","_a","prefix","_value","context","raw","getCellValue","getPointClickData","point","datasets","data","pointDimension","groupByDimension","rowIdx","_b","row","pointField","getDimensionFieldName","groupField","NULL_GROUP_KEY","measureToNullableNumber","getScatterChartProData","props","chartColors","getChartColors","overrideColor","getColor","color","dimensionOrMeasure","index","getDimensionMeasureColor","buildPoint","rowIndex","rawPoint","pointLabel","i","groupDim","bucket","key","points","a","b","firstRowIndex","groupValue","seriesLabel","colorKey","ScatterChartPro","useTheme","i18nSetup","results","pointColor","showLegend","showTooltips","showPointLabels","showValueLabels","showLogarithmicScale","xAxisRangeMin","xAxisRangeMax","yAxisRangeMin","yAxisRangeMax","reverseXAxis","onPointClick","hideMenu","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","i18n","chartData","handlePointClick","clickData","chartOptions","mergician","jsx","ChartCard","ScatterChart","inputs","meta","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","_state","_setState","scatterChartPro"],"mappings":"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"}
@@ -1,15 +1,15 @@
1
- import { t as O, m as T, j as k, L as j, V as D, l as $ } from "./index-CBm5oDU7.js";
1
+ import { t as O, m as T, j as k, L as j, V as D, l as $ } from "./index-B9eYAQkT.js";
2
2
  import { useTheme as z, definePreview as _ } from "@embeddable.com/react";
3
3
  import { a as B, r as W } from "./component.utils-Dua9clQJ.js";
4
- import { C as X } from "./ChartCard-B28gklGR.js";
5
- import { g as v } from "./formatter.utils-BpAQmGN5.js";
4
+ import { C as X } from "./ChartCard-Cv9hqNdM.js";
5
+ import { g as v } from "./formatter.utils-ClBgeuH1.js";
6
6
  import { g as G } from "./styles.utils-C8CnV0SB.js";
7
7
  import { s as U } from "./color.utils-BSg_DFOh.js";
8
8
  import { g as Y } from "./lines.utils-CEGfmIHB.js";
9
- import { u as E } from "./charts.fillGaps.hooks-BjeTpaLs.js";
10
- import { C as H, g as N } from "./granularity.utils-B3m_RWlr.js";
11
- import { i as a } from "./component.inputs.constants-CcSXGMBZ.js";
12
- import { p as A } from "./preview.data.constants-CXCiAONb.js";
9
+ import { u as E } from "./charts.fillGaps.hooks-CPpTEo01.js";
10
+ import { C as H, g as N } from "./granularity.utils-DqPJsdYT.js";
11
+ import { i as a } from "./component.inputs.constants-Bf2Ty2En.js";
12
+ import { p as A } from "./preview.data.constants-Cf1TpbZu.js";
13
13
  import { g as q } from "./clientContext.utils-DpB5KsfX.js";
14
14
  const J = (e, n) => {
15
15
  const r = v(n), { data: i = [], dimension: l, groupDimension: t, measure: u, hasMinMaxYAxisRange: g } = e, m = [...new Set(i.map((s) => s[l.name]).filter((s) => s != null))].sort(), c = [...new Set(i.map((s) => s[t.name]))].filter((s) => s != null), o = O(), d = c.map((s, C) => {
@@ -274,4 +274,4 @@ export {
274
274
  ge as i,
275
275
  xe as l
276
276
  };
277
- //# sourceMappingURL=definition-cDDnvqii.js.map
277
+ //# sourceMappingURL=definition-RYVGlC6K.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-cDDnvqii.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx","../src/components/charts/lines/LineChartGroupedPro/definition.ts"],"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 { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getLineChartProOptionsOnClick, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, 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) => {\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 raw = context.raw as number;\n return `${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(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptionsOnClick({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\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 {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.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 LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\nexport type LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: 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 LineChartGroupedPro = (props: LineChartGroupedProProp) => {\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 measure,\n xAxis,\n groupBy,\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: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\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 LineChartGroupedPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'LineChartGroupedPro',\n label: 'Line Chart - Grouped',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measure,\n inputs: [\n ...inputs.measure.inputs,\n {\n ...inputs.boolean,\n name: 'fillUnderLine',\n label: 'Fill under line',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n category: 'Component Settings',\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, name: 'xAxis', label: 'X-axis' },\n inputs.groupBy,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartGroupedProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [xAxis ?? inputs.xAxis, inputs.groupBy, inputs.measure],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, xAxis, clientContext));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartGroupedProState, (state: LineChartGroupedProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const lineChartGroupedPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptionsOnClick","_b","LineChartGroupedPro","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","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartGroupedPro"],"mappings":";;;;;;;;;;;;;AAUO,MAAMA,IAA6B,CACxCC,GAOAC,MACsB;AACtB,QAAMC,IAAiBC,EAAkBF,CAAK,GACxC,EAAE,MAAAG,IAAO,IAAI,WAAAC,GAAW,gBAAAC,GAAgB,SAAAC,GAAS,qBAAAC,MAAwBR,GAEzES,IAAO,CAAC,GAAG,IAAI,IAAIL,EAAK,IAAI,CAACM,MAAMA,EAAEL,EAAU,IAAI,CAAC,EAAE,OAAO,CAACK,MAAMA,KAAK,IAAI,CAAC,CAAC,EAAE,KAAA,GACjFC,IAAU,CAAC,GAAG,IAAI,IAAIP,EAAK,IAAI,CAACM,MAAMA,EAAEJ,EAAe,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAACI,MAAMA,KAAK,IAAI,GAEvFE,IAAcC,EAAA,GACdC,IAA0CH,EAAQ,IAAI,CAACI,GAAaC,MAAU;;AAClF,UAAMC,IAAkBC,EAAyB;AAAA,MAC/C,oBAAoBZ;AAAA,MACpB,OAAAL;AAAA,MACA,OAAO;AAAA,MACP,OAAO,GAAGK,EAAe,IAAI,IAAIS,CAAW;AAAA,MAC5C,aAAAH;AAAA,MACA,OAAAI;AAAA,IAAA,CACD,GAEKG,IAAcD,EAAyB;AAAA,MAC3C,oBAAoBZ;AAAA,MACpB,OAAAL;AAAA,MACA,OAAO;AAAA,MACP,OAAO,GAAGK,EAAe,IAAI,IAAIS,CAAW;AAAA,MAC5C,aAAAH;AAAA,MACA,OAAAI;AAAA,IAAA,CACD;AAkBD,WAhBgB;AAAA,MACd,MAAMR;AAAA,MACN,OAAON,EAAe,KAAKI,GAAgBS,CAAW;AAAA,MACtD,UAAUA;AAAA,MACV,iBAAiBK,EAAcH,GAAiB,GAAG;AAAA,MACnD,sBAAsBA;AAAA,MACtB,OAAMI,IAAAd,EAAQ,WAAR,gBAAAc,EAAiB;AAAA,MACvB,aAAAF;AAAA,MACA,MAAMV,EAAK,IAAI,CAACa,MAAa;;AAC3B,cAAMC,IAASnB,EAAK;AAAA,UAClB,CAACM,MAAMA,EAAEJ,EAAe,IAAI,MAAMS,KAAeL,EAAEL,EAAU,IAAI,MAAMiB;AAAA,QAAA;AAEzE,gBAAOC,KAAA,gBAAAA,EAAShB,EAAQ,YAAUc,IAAAd,EAAQ,WAAR,QAAAc,EAAiB,cAAiB,IAAI;AAAA,MAC1E,CAAC;AAAA,IAAA;AAAA,EAIL,CAAC;AAED,SAAO;AAAA,IACL,QAAQZ;AAAA,IACR,UAAAK;AAAA,EAAA;AAEJ,GAEaU,IAAgC,CAC3CC,GAMAxB,MACyB;;AACzB,QAAM,EAAE,WAAAI,GAAW,MAAAD,GAAM,SAAAG,GAAS,eAAAmB,MAAkBD,GAC9CvB,IAAiBC,EAAkBF,CAAK,GAExC0B,IAAyC;AAAA,IAC7C,SAAS;AAAA,MACP,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,OAAO;AAAA,YACL,WAAW,CAACC,MACH1B,EAAe,KAAKK,GAASqB,CAAK;AAAA,UAC3C;AAAA,QACF;AAAA,MACF;AAAA,MAEF,SAAS;AAAA,QACP,WAAW;AAAA,UACT,OAAO,CAACC,MAAY;;AAClB,kBAAMC,KAAQT,IAAAQ,EAAQ,CAAC,MAAT,gBAAAR,EAAY;AAC1B,mBAAOnB,EAAe,KAAKG,GAAWyB,CAAK;AAAA,UAC7C;AAAA,UACA,OAAO,CAACD,MAAY;AAClB,kBAAME,IAAMF,EAAQ;AACpB,mBAAO,GAAGA,EAAQ,QAAQ,KAAK,KAAK3B,EAAe,KAAKK,GAASwB,CAAG,CAAC;AAAA,UACvE;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEF,QAAQ;AAAA,MACN,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACH,MAAU;AACnB,gBAAI,CAACxB,KAAQ,CAACA,EAAK,OAAQ;AAE3B,kBAAM0B,IAAQ1B,EAAK,OAAO,OAAOwB,CAAK,CAAC;AACvC,mBAAO1B,EAAe,KAAKG,GAAWyB,CAAK;AAAA,UAC7C;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACF,MACF1B,EAAe,KAAKK,GAASqB,CAAK;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGF,SAAOI;AAAA,IACLC,EAA8B,EAAE,eAAAP,GAAe;AAAA,IAC/CC;AAAA,MACAO,KAAAb,IAAApB,EAAM,WAAN,gBAAAoB,EAAc,wBAAd,gBAAAa,EAAmC,YAAW,CAAA;AAAA,EAAC;AAEnD,GC/FMC,IAAsB,CAACnC,MAAmC;AAC9D,QAAMC,IAAemC,EAAA;AACrB,EAAAC,EAAUpC,CAAK;AAEf,QAAM,EAAE,OAAAqC,GAAO,aAAAC,GAAa,SAAAC,GAAS,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiB3C,CAAK,GAChF;AAAA,IACJ,UAAA4C;AAAA,IACA,SAAArC;AAAA,IACA,OAAAsC;AAAA,IACA,SAAAlC;AAAA,IACA,cAAAmC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAA3B;AAAA,EAAA,IACE1B,GAEEsD,IAAUC,EAAY;AAAA,IAC1B,SAASvD,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKI,IAAOL;AAAA,IACX;AAAA,MACE,MAAMuD,EAAQ;AAAA,MACd,WAAWT;AAAA,MACX,gBAAgBlC;AAAA,MAChB,SAAAJ;AAAA,MACA,qBAA6B6C,KAAiB,QAAQD,KAAiB;AAAA,IAAI;AAAA,IAE7ElD;AAAA,EAAA,GAEIwB,IAAUD;AAAA,IACd,EAAE,MAAApB,GAAM,WAAWyC,GAAO,SAAAtC,GAAS,eAAAmB,EAAA;AAAA,IACnCzB;AAAA,EAAA,GAGIuD,IAAkC,CAAClB,KAAS,CAACC,KAAe,CAACC;AAEnE,SACEiB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMJ;AAAA,MACN,uBAAuB,CAAC/C,GAASsC,GAAOlC,CAAO;AAAA,MAC/C,cAAc2C,EAAQ;AAAA,MACtB,aAAAf;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAI;AAAA,MAEC,UAAA;AAAA,QAAAS,KACCM,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAWX;AAAA,YACX,UAAUQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGdM,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAzD;AAAA,YACA,cAAA0C;AAAA,YACA,YAAAC;AAAA,YACA,sBAAAC;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAC;AAAA,YACA,YAAAT;AAAA,YACA,YAAAC;AAAA,YACA,eAAAS;AAAA,YACA,eAAAC;AAAA,YACA,SAAA3B;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;8CChGMqC,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,QAAQ;AAAA,QACN,GAAGA,EAAO,QAAQ;AAAA,QAClB;AAAA,UACE,GAAGA,EAAO;AAAA,UACV,MAAM;AAAA,UACN,OAAO;AAAA,UACP,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,GAAGA,EAAO;AAAA,UACV,MAAM;AAAA,UACN,OAAO;AAAA,UACP,cAAc;AAAA,UACd,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,IACF;AAAA,IAEF,EAAE,GAAGA,EAAO,qCAAqC,MAAM,SAAS,OAAO,SAAA;AAAA,IACvEA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAAA,EAET,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAMMC,IAAgB;AAAA,EACpB,OAAOC,EAAY;AAAA,EACnB,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAC1BN,GACAlB,GACAyB,OACqB;AAAA,EACrB,OAAOP,EAAO;AAAA,EACd,MAAMA,EAAO;AAAA,EACb,QAAQ,CAAClB,KAASkB,EAAO,OAAOA,EAAO,SAASA,EAAO,OAAO;AAAA,EAC9D,UAAUQ,EAAyBD,KAAA,gBAAAA,EAAe,QAAQ;AAC5D,IAEME,IAAkB,CACtBT,GACAlB,GACAyB,MACiBG,EAASJ,EAAoBN,GAAQlB,GAAOyB,CAAa,CAAC,GAEvEI,IAAS;AAAA,EACb,eAAe,CAAC9C,OAAwC;AAAA,IACtD,oBAAoBA,EAAM,kBAAkB+C,EAAM,SAAA;AAAA,IAClD,wBAAwB/C,EAAM,0BAA0B+C,EAAM,SAAA;AAAA,EAAS;AAE3E,GAEM3E,KAAQ,CACZ+D,GACA,CAACa,GAAOC,CAAQ,GAChBP,MACG;AACH,QAAMQ,IAAuBC,EAA4BhB,EAAO,OAAOa,KAAA,gBAAAA,EAAO,WAAW;AAEzF,SAAO;AAAA,IACL,GAAGb;AAAAA,IACH,OAAOe;AAAA,IACP,gBAAgB,CAACE,MAA6BH,EAAS,EAAE,aAAAG,GAAa;AAAA,IACtE,SAASR,EAAgBT,GAAQe,GAAsBR,CAAa;AAAA,EAAA;AAExE,GAEaW,KAAsB;AAAA,EAAA,WACjCb;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAhE;AAAA,IACA,QAAA0E;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcL;AAAA,IACd,UAAUG;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"definition-RYVGlC6K.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx","../src/components/charts/lines/LineChartGroupedPro/definition.ts"],"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 { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getLineChartProOptionsOnClick, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, 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) => {\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 raw = context.raw as number;\n return `${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(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptionsOnClick({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\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 {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.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 LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\nexport type LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: 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 LineChartGroupedPro = (props: LineChartGroupedProProp) => {\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 measure,\n xAxis,\n groupBy,\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: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\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 LineChartGroupedPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'LineChartGroupedPro',\n label: 'Line Chart - Grouped',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measure,\n inputs: [\n ...inputs.measure.inputs,\n {\n ...inputs.boolean,\n name: 'fillUnderLine',\n label: 'Fill under line',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n category: 'Component Settings',\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, name: 'xAxis', label: 'X-axis' },\n inputs.groupBy,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartGroupedProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n xAxis?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [xAxis ?? inputs.xAxis, inputs.groupBy, inputs.measure],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, xAxis, clientContext));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartGroupedProState, (state: LineChartGroupedProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity, clientContext),\n };\n};\n\nexport const lineChartGroupedPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptionsOnClick","_b","LineChartGroupedPro","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","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartGroupedPro"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { m as j, j as g, B as k, V as f } from "./index-CBm5oDU7.js";
1
+ import { m as j, j as g, B as k, V as f } from "./index-B9eYAQkT.js";
2
2
  import { useTheme as K, definePreview as H } from "@embeddable.com/react";
3
3
  import { a as F, r as _ } from "./component.utils-Dua9clQJ.js";
4
- import { C as W } from "./ChartCard-B28gklGR.js";
5
- import { b as E, a as I } from "./bars.utils-BAUTqWKn.js";
6
- import { u as U } from "./charts.fillGaps.hooks-BjeTpaLs.js";
7
- import { C as q, g as J } from "./granularity.utils-B3m_RWlr.js";
8
- import { u as N, g as Q, a as X, l as Z, b as $ } from "./bars.loadData.utils-tW4sWIvn.js";
9
- import { i as a } from "./component.inputs.constants-CcSXGMBZ.js";
10
- import { p } from "./preview.data.constants-CXCiAONb.js";
4
+ import { C as W } from "./ChartCard-Cv9hqNdM.js";
5
+ import { b as E, a as I } from "./bars.utils-DG6iNy-i.js";
6
+ import { u as U } from "./charts.fillGaps.hooks-CPpTEo01.js";
7
+ import { C as q, g as J } from "./granularity.utils-DqPJsdYT.js";
8
+ import { u as N, g as Q, a as X, l as Z, b as $ } from "./bars.loadData.utils-DpaXxzT5.js";
9
+ import { i as a } from "./component.inputs.constants-Bf2Ty2En.js";
10
+ import { p } from "./preview.data.constants-Cf1TpbZu.js";
11
11
  import { g as ee } from "./clientContext.utils-DpB5KsfX.js";
12
12
  const h = (e) => {
13
13
  var C, b;
@@ -205,4 +205,4 @@ export {
205
205
  Ae as b,
206
206
  he as i
207
207
  };
208
- //# sourceMappingURL=definition-DQCk8l47.js.map
208
+ //# sourceMappingURL=definition-YVbooAf6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-DQCk8l47.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartGroupedHorizontalPro/definition.ts"],"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 { getBarChartProOptions, getBarStackedChartProData } 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';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\n\nexport type BarChartGroupedHorizontalProProps = {\n groupBy: Dimension;\n measure: Measure;\n results?: DataResponse;\n resultsAxisOrder?: DataResponse;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n setAxisOrderAndCacheKey?: (values: string[], cacheKey: string) => void;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n yAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n yAxis,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxisRangeMax,\n xAxisRangeMin,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: yAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\n","import { Granularity, OrderDirection, Value } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport {\n getAxisOrderCacheKey,\n getCachedAxisOrder,\n loadDataResultsAxisOrder,\n loadDataResults,\n} from '../bars.loadData.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'BarChartGroupedHorizontalPro',\n label: 'Bar Chart - Grouped Horizontal',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n { ...inputs.dimension, name: 'groupBy', label: 'Group by' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n { ...inputs.showValueLabels, defaultValue: false },\n inputs.showLogarithmicScale,\n inputs.sortDirectionTopYAxis,\n inputs.limitTopYAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedHorizontalProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n yAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst events = {\n onBarClicked: (value: { axisDimensionValue?: string; groupingDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartGroupedHorizontalProState,\n (state: BarChartGroupedHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopYAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopYAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n axisOrder: cachedAxisOrder,\n axisOrderCacheKey,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n setAxisOrderAndCacheKey: (axisOrder: string[], cacheKey: string) =>\n setState({ ...state, axisOrder, axisOrderCacheKey: cacheKey }),\n resultsAxisOrder: loadDataResultsAxisOrder({\n dataset: inputs.dataset,\n limitTopAxis: inputs.limitTopYAxis,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopYAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartGroupedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","yAxis","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","granularity","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedHorizontalPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-YVbooAf6.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartGroupedHorizontalPro/definition.ts"],"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 { getBarChartProOptions, getBarStackedChartProData } 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';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\n\nexport type BarChartGroupedHorizontalProProps = {\n groupBy: Dimension;\n measure: Measure;\n results?: DataResponse;\n resultsAxisOrder?: DataResponse;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n setAxisOrderAndCacheKey?: (values: string[], cacheKey: string) => void;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n yAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n yAxis,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxisRangeMax,\n xAxisRangeMin,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: yAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\n","import { Granularity, OrderDirection, Value } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport {\n getAxisOrderCacheKey,\n getCachedAxisOrder,\n loadDataResultsAxisOrder,\n loadDataResults,\n} from '../bars.loadData.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'BarChartGroupedHorizontalPro',\n label: 'Bar Chart - Grouped Horizontal',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n { ...inputs.dimension, name: 'groupBy', label: 'Group by' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n { ...inputs.showValueLabels, defaultValue: false },\n inputs.showLogarithmicScale,\n inputs.sortDirectionTopYAxis,\n inputs.limitTopYAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedHorizontalProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n yAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst events = {\n onBarClicked: (value: { axisDimensionValue?: string; groupingDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartGroupedHorizontalProState,\n (state: BarChartGroupedHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopYAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopYAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n axisOrder: cachedAxisOrder,\n axisOrderCacheKey,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n setAxisOrderAndCacheKey: (axisOrder: string[], cacheKey: string) =>\n setState({ ...state, axisOrder, axisOrderCacheKey: cacheKey }),\n resultsAxisOrder: loadDataResultsAxisOrder({\n dataset: inputs.dataset,\n limitTopAxis: inputs.limitTopYAxis,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopYAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartGroupedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","yAxis","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","granularity","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedHorizontalPro"],"mappings":"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"}