@embeddable.com/remarkable-pro 0.1.24 → 0.1.26

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 (360) 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-DTKoe0RT.js → ChartCard-BspcYgwu.js} +3 -3
  8. package/dist/{ChartCard-DTKoe0RT.js.map → ChartCard-BspcYgwu.js.map} +1 -1
  9. package/dist/{Color.type.emb-BWbn5KAT.js → Color.type.emb-0IS03NK7.js} +2 -2
  10. package/dist/{Color.type.emb-BWbn5KAT.js.map → Color.type.emb-0IS03NK7.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-ZjxP2UaF.js → DimensionAndMeasureSingleSelectField-BFjwAGok.js} +3 -3
  16. package/dist/{DimensionAndMeasureSingleSelectField-ZjxP2UaF.js.map → DimensionAndMeasureSingleSelectField-BFjwAGok.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-DhASZ5NL.js → EditorCard-D7fZyKnm.js} +3 -3
  22. package/dist/{EditorCard-DhASZ5NL.js.map → EditorCard-D7fZyKnm.js.map} +1 -1
  23. package/dist/{GranularitySelectField-USDUQ-JX.js → GranularitySelectField-CbNb053Q.js} +3 -3
  24. package/dist/{GranularitySelectField-USDUQ-JX.js.map → GranularitySelectField-CbNb053Q.js.map} +1 -1
  25. package/dist/GranularitySelectFieldPro.js +1 -1
  26. package/dist/HeatMapPro.js +1 -1
  27. package/dist/HorizontalDividerPro.js +1 -1
  28. package/dist/{IconAlertCircle-b2Z57ZbD.js → IconAlertCircle-Bf38VJj5.js} +2 -2
  29. package/dist/{IconAlertCircle-b2Z57ZbD.js.map → IconAlertCircle-Bf38VJj5.js.map} +1 -1
  30. package/dist/{IconCalendarFilled-DaTHLPcZ.js → IconCalendarFilled-jmst8WSH.js} +2 -2
  31. package/dist/{IconCalendarFilled-DaTHLPcZ.js.map → IconCalendarFilled-jmst8WSH.js.map} +1 -1
  32. package/dist/KpiChartNumberComparisonPro.js +1 -1
  33. package/dist/KpiChartNumberPro.js +1 -1
  34. package/dist/LineChartComparisonDefaultPro.js +1 -1
  35. package/dist/LineChartDefaultPro.js +1 -1
  36. package/dist/LineChartGroupedPro.js +1 -1
  37. package/dist/{Markdown.type.emb-DQYuUHBo.js → Markdown.type.emb-rkVod_CL.js} +2 -2
  38. package/dist/{Markdown.type.emb-DQYuUHBo.js.map → Markdown.type.emb-rkVod_CL.js.map} +1 -1
  39. package/dist/MarkdownEditor.js +3 -3
  40. package/dist/MarkdownPro.js +1 -1
  41. package/dist/MeasureMultiSelectFieldPro.js +1 -1
  42. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  43. package/dist/MultiSelectFieldPro.js +1 -1
  44. package/dist/PieChartPro.js +1 -1
  45. package/dist/PivotTablePro.js +1 -1
  46. package/dist/SingleSelectFieldPro.js +1 -1
  47. package/dist/TableChartPaginated.js +1 -1
  48. package/dist/TableScrollable.js +1 -1
  49. package/dist/TextFieldPro.js +1 -1
  50. package/dist/{af-BHbhCdO9.js → af-DDNjI9PP.js} +3 -3
  51. package/dist/{af-BHbhCdO9.js.map → af-DDNjI9PP.js.map} +1 -1
  52. package/dist/{am-DbXni8Na.js → am-BU71l3n5.js} +3 -3
  53. package/dist/{am-DbXni8Na.js.map → am-BU71l3n5.js.map} +1 -1
  54. package/dist/{ar-BqJT7YGT.js → ar-DvXLs7ZB.js} +3 -3
  55. package/dist/{ar-BqJT7YGT.js.map → ar-DvXLs7ZB.js.map} +1 -1
  56. package/dist/{az-DNcXLM2v.js → az-n3QqlQTp.js} +3 -3
  57. package/dist/{az-DNcXLM2v.js.map → az-n3QqlQTp.js.map} +1 -1
  58. package/dist/{bars.utils-DUfgYLSr.js → bars.utils-CcXvZj57.js} +4 -4
  59. package/dist/{bars.utils-DUfgYLSr.js.map → bars.utils-CcXvZj57.js.map} +1 -1
  60. package/dist/{be-1gzExvdt.js → be-DWCIS67c.js} +3 -3
  61. package/dist/{be-1gzExvdt.js.map → be-DWCIS67c.js.map} +1 -1
  62. package/dist/{bg-Bf3uHYQf.js → bg-DqEAnLbJ.js} +3 -3
  63. package/dist/{bg-Bf3uHYQf.js.map → bg-DqEAnLbJ.js.map} +1 -1
  64. package/dist/{bi-9q9nwDvu.js → bi-BNZVMQQC.js} +3 -3
  65. package/dist/{bi-9q9nwDvu.js.map → bi-BNZVMQQC.js.map} +1 -1
  66. package/dist/{bm-ZvzXvj2R.js → bm-CL1afAo5.js} +3 -3
  67. package/dist/{bm-ZvzXvj2R.js.map → bm-CL1afAo5.js.map} +1 -1
  68. package/dist/{bn-Am7sQ86o.js → bn-DPDrjCA5.js} +3 -3
  69. package/dist/{bn-Am7sQ86o.js.map → bn-DPDrjCA5.js.map} +1 -1
  70. package/dist/{bo-DQLTvAdX.js → bo-Ch8lTxgu.js} +3 -3
  71. package/dist/{bo-DQLTvAdX.js.map → bo-Ch8lTxgu.js.map} +1 -1
  72. package/dist/{br-C_W6dR8r.js → br-Cz0GK0ea.js} +3 -3
  73. package/dist/{br-C_W6dR8r.js.map → br-Cz0GK0ea.js.map} +1 -1
  74. package/dist/{bs-Cs5A3Pvr.js → bs-Dg0KrE2S.js} +3 -3
  75. package/dist/{bs-Cs5A3Pvr.js.map → bs-Dg0KrE2S.js.map} +1 -1
  76. package/dist/{ca-CuZ4I6q7.js → ca-DOK5LCh4.js} +3 -3
  77. package/dist/{ca-CuZ4I6q7.js.map → ca-DOK5LCh4.js.map} +1 -1
  78. package/dist/{charts.fillGaps.hooks-PCeJ5uuu.js → charts.fillGaps.hooks-D9U_831E.js} +5 -5
  79. package/dist/{charts.fillGaps.hooks-PCeJ5uuu.js.map → charts.fillGaps.hooks-D9U_831E.js.map} +1 -1
  80. package/dist/{charts.utils-c8yku90J.js → charts.utils-CHX0_brR.js} +5 -5
  81. package/dist/{charts.utils-c8yku90J.js.map → charts.utils-CHX0_brR.js.map} +1 -1
  82. package/dist/{component.inputs.constants-Cs7gX1rI.js → component.inputs.constants-aLGsJNMS.js} +4 -4
  83. package/dist/{component.inputs.constants-Cs7gX1rI.js.map → component.inputs.constants-aLGsJNMS.js.map} +1 -1
  84. package/dist/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
  85. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
  86. package/dist/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
  87. package/dist/components/editors/SingleSelectFieldPro/index.d.ts +1 -1
  88. package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
  89. package/dist/{cs-DSsdwY9t.js → cs-D6uCj0rs.js} +3 -3
  90. package/dist/{cs-DSsdwY9t.js.map → cs-D6uCj0rs.js.map} +1 -1
  91. package/dist/{cv-CF_UhAm6.js → cv-DE5hsuRs.js} +3 -3
  92. package/dist/{cv-CF_UhAm6.js.map → cv-DE5hsuRs.js.map} +1 -1
  93. package/dist/{cy-oSzEI_HI.js → cy-C8lS_WZk.js} +3 -3
  94. package/dist/{cy-oSzEI_HI.js.map → cy-C8lS_WZk.js.map} +1 -1
  95. package/dist/{da-DWJSYMVH.js → da-lfecFLyA.js} +3 -3
  96. package/dist/{da-DWJSYMVH.js.map → da-lfecFLyA.js.map} +1 -1
  97. package/dist/dates.utils-echGGA1j.js +169 -0
  98. package/dist/{dates.utils-BkOKKqSH.js.map → dates.utils-echGGA1j.js.map} +1 -1
  99. package/dist/{de-yNuYoAIk.js → de-B3PPRFoi.js} +3 -3
  100. package/dist/{de-yNuYoAIk.js.map → de-B3PPRFoi.js.map} +1 -1
  101. package/dist/{definition-CxcF8TcQ.js → definition-8WTymWKV.js} +8 -8
  102. package/dist/{definition-CxcF8TcQ.js.map → definition-8WTymWKV.js.map} +1 -1
  103. package/dist/{definition-BSwWyWnH.js → definition-B-LEtdmC.js} +7 -7
  104. package/dist/{definition-BSwWyWnH.js.map → definition-B-LEtdmC.js.map} +1 -1
  105. package/dist/{definition-CpilKf_f.js → definition-BJf-G6VH.js} +6 -6
  106. package/dist/{definition-CpilKf_f.js.map → definition-BJf-G6VH.js.map} +1 -1
  107. package/dist/{definition-CBNh4l83.js → definition-BZOlWeB5.js} +6 -6
  108. package/dist/{definition-CBNh4l83.js.map → definition-BZOlWeB5.js.map} +1 -1
  109. package/dist/{definition-DzFPFv2i.js → definition-BZqYGoqY.js} +5 -5
  110. package/dist/definition-BZqYGoqY.js.map +1 -0
  111. package/dist/{definition-BFuxOQNH.js → definition-BiCm9V7b.js} +6 -6
  112. package/dist/{definition-BFuxOQNH.js.map → definition-BiCm9V7b.js.map} +1 -1
  113. package/dist/{definition-C3gy5J0u.js → definition-Bv8GFARZ.js} +5 -5
  114. package/dist/{definition-C3gy5J0u.js.map → definition-Bv8GFARZ.js.map} +1 -1
  115. package/dist/{definition-ghLrDO7_.js → definition-C2Ulud-X.js} +6 -6
  116. package/dist/{definition-ghLrDO7_.js.map → definition-C2Ulud-X.js.map} +1 -1
  117. package/dist/{definition-D2O-mHJv.js → definition-C8b9zR5H.js} +5 -5
  118. package/dist/{definition-D2O-mHJv.js.map → definition-C8b9zR5H.js.map} +1 -1
  119. package/dist/{definition-DnMzopoJ.js → definition-CCQyn-7-.js} +8 -8
  120. package/dist/{definition-DnMzopoJ.js.map → definition-CCQyn-7-.js.map} +1 -1
  121. package/dist/{definition-Bvgmq0Y0.js → definition-CQyRND1p.js} +51 -54
  122. package/dist/definition-CQyRND1p.js.map +1 -0
  123. package/dist/{definition-I1tZR9Mu.js → definition-CY4LcOu2.js} +6 -6
  124. package/dist/{definition-I1tZR9Mu.js.map → definition-CY4LcOu2.js.map} +1 -1
  125. package/dist/{definition-BSqRW5IT.js → definition-C_cMArH3.js} +6 -6
  126. package/dist/{definition-BSqRW5IT.js.map → definition-C_cMArH3.js.map} +1 -1
  127. package/dist/{definition-BsgCyaQ7.js → definition-CoKH5e53.js} +6 -6
  128. package/dist/{definition-BsgCyaQ7.js.map → definition-CoKH5e53.js.map} +1 -1
  129. package/dist/{definition-DbTSq8TE.js → definition-CpeLirdO.js} +8 -8
  130. package/dist/{definition-DbTSq8TE.js.map → definition-CpeLirdO.js.map} +1 -1
  131. package/dist/{definition-C-atn8UX.js → definition-D3iG4dr_.js} +6 -6
  132. package/dist/{definition-C-atn8UX.js.map → definition-D3iG4dr_.js.map} +1 -1
  133. package/dist/{definition-Cy7jirkQ.js → definition-D9SZZXJ-.js} +8 -8
  134. package/dist/{definition-Cy7jirkQ.js.map → definition-D9SZZXJ-.js.map} +1 -1
  135. package/dist/definition-DE5LcVOt.js +127 -0
  136. package/dist/definition-DE5LcVOt.js.map +1 -0
  137. package/dist/{definition-DvYcZXNL.js → definition-DFVqua7K.js} +5 -5
  138. package/dist/{definition-DvYcZXNL.js.map → definition-DFVqua7K.js.map} +1 -1
  139. package/dist/{definition-Crkfoxb6.js → definition-Dp6ZOKNA.js} +6 -6
  140. package/dist/{definition-Crkfoxb6.js.map → definition-Dp6ZOKNA.js.map} +1 -1
  141. package/dist/{definition-DMDXT1Tj.js → definition-DstE2TXY.js} +8 -8
  142. package/dist/{definition-DMDXT1Tj.js.map → definition-DstE2TXY.js.map} +1 -1
  143. package/dist/{definition-CmBHiNwT.js → definition-DvttqiSn.js} +6 -6
  144. package/dist/{definition-CmBHiNwT.js.map → definition-DvttqiSn.js.map} +1 -1
  145. package/dist/{definition-Dx_ekjOR.js → definition-JQqWoNRy.js} +3 -3
  146. package/dist/{definition-Dx_ekjOR.js.map → definition-JQqWoNRy.js.map} +1 -1
  147. package/dist/definition-NYzyp2Or.js +122 -0
  148. package/dist/definition-NYzyp2Or.js.map +1 -0
  149. package/dist/{definition-Sr664oUL.js → definition-NmsCZiD3.js} +5 -5
  150. package/dist/{definition-Sr664oUL.js.map → definition-NmsCZiD3.js.map} +1 -1
  151. package/dist/{definition-Dxfa1Pgg.js → definition-_4eLdude.js} +3 -3
  152. package/dist/{definition-Dxfa1Pgg.js.map → definition-_4eLdude.js.map} +1 -1
  153. package/dist/{definition-CCbRSqPX.js → definition-aipxDLOM.js} +7 -7
  154. package/dist/{definition-CCbRSqPX.js.map → definition-aipxDLOM.js.map} +1 -1
  155. package/dist/{definition-CP4ychWJ.js → definition-epgu4in6.js} +8 -8
  156. package/dist/{definition-CP4ychWJ.js.map → definition-epgu4in6.js.map} +1 -1
  157. package/dist/{definition-CyqvuOwz.js → definition-m5cX4vpq.js} +4 -4
  158. package/dist/{definition-CyqvuOwz.js.map → definition-m5cX4vpq.js.map} +1 -1
  159. package/dist/{definition-BeeYKKmk.js → definition-pCZhqxRT.js} +7 -7
  160. package/dist/{definition-BeeYKKmk.js.map → definition-pCZhqxRT.js.map} +1 -1
  161. package/dist/{definition-DMbgucms.js → definition-ptY0pkfd.js} +5 -5
  162. package/dist/{definition-DMbgucms.js.map → definition-ptY0pkfd.js.map} +1 -1
  163. package/dist/{dimensionsAndMeasures.utils-TtQ5NCLw.js → dimensionsAndMeasures.utils-Bm_aEgUi.js} +2 -2
  164. package/dist/{dimensionsAndMeasures.utils-TtQ5NCLw.js.map → dimensionsAndMeasures.utils-Bm_aEgUi.js.map} +1 -1
  165. package/dist/{dv-BiPgy4vh.js → dv-DD2Aq0j-.js} +3 -3
  166. package/dist/{dv-BiPgy4vh.js.map → dv-DD2Aq0j-.js.map} +1 -1
  167. package/dist/{el-C38IT5ja.js → el-BKdcoiTt.js} +3 -3
  168. package/dist/{el-C38IT5ja.js.map → el-BKdcoiTt.js.map} +1 -1
  169. package/dist/embeddable-components.json +38 -38
  170. package/dist/{en-WMDSKslU.js → en-DttxOeT1.js} +2 -2
  171. package/dist/{en-WMDSKslU.js.map → en-DttxOeT1.js.map} +1 -1
  172. package/dist/{eo-CM3am7kS.js → eo-DSu1JbmJ.js} +3 -3
  173. package/dist/{eo-CM3am7kS.js.map → eo-DSu1JbmJ.js.map} +1 -1
  174. package/dist/{es-Do58tLz3.js → es-BEkS015k.js} +3 -3
  175. package/dist/{es-Do58tLz3.js.map → es-BEkS015k.js.map} +1 -1
  176. package/dist/{et-Ch1UD_N7.js → et-Dsp-PTGH.js} +3 -3
  177. package/dist/{et-Ch1UD_N7.js.map → et-Dsp-PTGH.js.map} +1 -1
  178. package/dist/{eu-Bx0OOE0x.js → eu-Bcc_Swas.js} +3 -3
  179. package/dist/{eu-Bx0OOE0x.js.map → eu-Bcc_Swas.js.map} +1 -1
  180. package/dist/{fa-DFII9iGG.js → fa-Bpp0W3ll.js} +3 -3
  181. package/dist/{fa-DFII9iGG.js.map → fa-Bpp0W3ll.js.map} +1 -1
  182. package/dist/{fi-BWJz80Be.js → fi-CAljRwd-.js} +3 -3
  183. package/dist/{fi-BWJz80Be.js.map → fi-CAljRwd-.js.map} +1 -1
  184. package/dist/{fo-B3XvhbID.js → fo-s_iFEvG5.js} +3 -3
  185. package/dist/{fo-B3XvhbID.js.map → fo-s_iFEvG5.js.map} +1 -1
  186. package/dist/{fr-uhqgKBZ2.js → fr-DOZeiJt0.js} +3 -3
  187. package/dist/{fr-uhqgKBZ2.js.map → fr-DOZeiJt0.js.map} +1 -1
  188. package/dist/{fy-B-8rsaFe.js → fy-CjRv5AfN.js} +3 -3
  189. package/dist/{fy-B-8rsaFe.js.map → fy-CjRv5AfN.js.map} +1 -1
  190. package/dist/{ga-B0bBXDHs.js → ga-DH_Jh4oJ.js} +3 -3
  191. package/dist/{ga-B0bBXDHs.js.map → ga-DH_Jh4oJ.js.map} +1 -1
  192. package/dist/{gd-C9edRiA_.js → gd-DO0uqD9J.js} +3 -3
  193. package/dist/{gd-C9edRiA_.js.map → gd-DO0uqD9J.js.map} +1 -1
  194. package/dist/{gl-EtfdfI-R.js → gl-CNNbvOLn.js} +3 -3
  195. package/dist/{gl-EtfdfI-R.js.map → gl-CNNbvOLn.js.map} +1 -1
  196. package/dist/{granularity.utils-zeE7RDIY.js → granularity.utils-0TIiQ2yP.js} +3 -3
  197. package/dist/{granularity.utils-zeE7RDIY.js.map → granularity.utils-0TIiQ2yP.js.map} +1 -1
  198. package/dist/{gu-CIww3cyY.js → gu-SiR64kCs.js} +3 -3
  199. package/dist/{gu-CIww3cyY.js.map → gu-SiR64kCs.js.map} +1 -1
  200. package/dist/{he-D99b18hQ.js → he-CuT0EuFj.js} +3 -3
  201. package/dist/{he-D99b18hQ.js.map → he-CuT0EuFj.js.map} +1 -1
  202. package/dist/{hi-D6GluGo8.js → hi-B1dg7rU7.js} +3 -3
  203. package/dist/{hi-D6GluGo8.js.map → hi-B1dg7rU7.js.map} +1 -1
  204. package/dist/{hr-CxqKUaRz.js → hr-CJRtiUCH.js} +3 -3
  205. package/dist/{hr-CxqKUaRz.js.map → hr-CJRtiUCH.js.map} +1 -1
  206. package/dist/{ht-QXFGF_yz.js → ht-BkWHpWvV.js} +3 -3
  207. package/dist/{ht-QXFGF_yz.js.map → ht-BkWHpWvV.js.map} +1 -1
  208. package/dist/{hu-QnL8bPs3.js → hu-gyhRpg50.js} +3 -3
  209. package/dist/{hu-QnL8bPs3.js.map → hu-gyhRpg50.js.map} +1 -1
  210. package/dist/{id-D2SNeNJM.js → id-sJkxYw7F.js} +3 -3
  211. package/dist/{id-D2SNeNJM.js.map → id-sJkxYw7F.js.map} +1 -1
  212. package/dist/{index-CnLFSN1m.js → index-BtXsXVuJ.js} +155 -144
  213. package/dist/{index-CnLFSN1m.js.map → index-BtXsXVuJ.js.map} +1 -1
  214. package/dist/{index-_XI9rsPI.js → index-NPrGz65V.js} +2 -2
  215. package/dist/{index-_XI9rsPI.js.map → index-NPrGz65V.js.map} +1 -1
  216. package/dist/{index-DY7Kz_Z_.js → index-pggBJ_Fx.js} +2 -2
  217. package/dist/{index-DY7Kz_Z_.js.map → index-pggBJ_Fx.js.map} +1 -1
  218. package/dist/index.js +47 -47
  219. package/dist/{is-UcEUyT2U.js → is-C8Brc1jO.js} +3 -3
  220. package/dist/{is-UcEUyT2U.js.map → is-C8Brc1jO.js.map} +1 -1
  221. package/dist/{it-B4-Y3D2n.js → it-CP7Dk9wI.js} +3 -3
  222. package/dist/{it-B4-Y3D2n.js.map → it-CP7Dk9wI.js.map} +1 -1
  223. package/dist/{ja-Divem4ZN.js → ja-BwultWG3.js} +3 -3
  224. package/dist/{ja-Divem4ZN.js.map → ja-BwultWG3.js.map} +1 -1
  225. package/dist/{jv-D4Hpu0KV.js → jv-CWcP0KSd.js} +3 -3
  226. package/dist/{jv-D4Hpu0KV.js.map → jv-CWcP0KSd.js.map} +1 -1
  227. package/dist/{ka-DLhqF5zu.js → ka-DoBJwfbv.js} +3 -3
  228. package/dist/{ka-DLhqF5zu.js.map → ka-DoBJwfbv.js.map} +1 -1
  229. package/dist/{kk-_mnYDOa1.js → kk-DBZw30-5.js} +3 -3
  230. package/dist/{kk-_mnYDOa1.js.map → kk-DBZw30-5.js.map} +1 -1
  231. package/dist/{km-DVInE0MH.js → km-CIciusIB.js} +3 -3
  232. package/dist/{km-DVInE0MH.js.map → km-CIciusIB.js.map} +1 -1
  233. package/dist/{kn-DW4Rh-mj.js → kn-gkrHt7yd.js} +3 -3
  234. package/dist/{kn-DW4Rh-mj.js.map → kn-gkrHt7yd.js.map} +1 -1
  235. package/dist/{ko-BIjkG-X2.js → ko-toq5asQj.js} +3 -3
  236. package/dist/{ko-BIjkG-X2.js.map → ko-toq5asQj.js.map} +1 -1
  237. package/dist/{ku-C1uAobZb.js → ku-DFIn9vOZ.js} +3 -3
  238. package/dist/{ku-C1uAobZb.js.map → ku-DFIn9vOZ.js.map} +1 -1
  239. package/dist/{ky-xgj6Gcwf.js → ky-CqZLOuSE.js} +3 -3
  240. package/dist/{ky-xgj6Gcwf.js.map → ky-CqZLOuSE.js.map} +1 -1
  241. package/dist/{lb-C7cF6f-g.js → lb-BWzcN7R3.js} +3 -3
  242. package/dist/{lb-C7cF6f-g.js.map → lb-BWzcN7R3.js.map} +1 -1
  243. package/dist/{lo-FaIVc2eA.js → lo-DGoymVg5.js} +3 -3
  244. package/dist/{lo-FaIVc2eA.js.map → lo-DGoymVg5.js.map} +1 -1
  245. package/dist/{lt-B7wp3hbG.js → lt-rr_0lzTU.js} +3 -3
  246. package/dist/{lt-B7wp3hbG.js.map → lt-rr_0lzTU.js.map} +1 -1
  247. package/dist/{lv-BykbEb2K.js → lv-D5XPeTnJ.js} +3 -3
  248. package/dist/{lv-BykbEb2K.js.map → lv-D5XPeTnJ.js.map} +1 -1
  249. package/dist/{me-DkHp_0Gh.js → me-BGuHG9nI.js} +3 -3
  250. package/dist/{me-DkHp_0Gh.js.map → me-BGuHG9nI.js.map} +1 -1
  251. package/dist/{mi-Cc5Vvuhu.js → mi-Pyah4T76.js} +3 -3
  252. package/dist/{mi-Cc5Vvuhu.js.map → mi-Pyah4T76.js.map} +1 -1
  253. package/dist/{mk-1ERieVdU.js → mk-Bq9D_tYW.js} +3 -3
  254. package/dist/{mk-1ERieVdU.js.map → mk-Bq9D_tYW.js.map} +1 -1
  255. package/dist/{ml-B4N_N2Tz.js → ml-MnUyCHNf.js} +3 -3
  256. package/dist/{ml-B4N_N2Tz.js.map → ml-MnUyCHNf.js.map} +1 -1
  257. package/dist/{mn-CPE3K1O4.js → mn-COJ445Iu.js} +3 -3
  258. package/dist/{mn-CPE3K1O4.js.map → mn-COJ445Iu.js.map} +1 -1
  259. package/dist/{mr-BCMTBOaB.js → mr-bPNfDD_a.js} +3 -3
  260. package/dist/{mr-BCMTBOaB.js.map → mr-bPNfDD_a.js.map} +1 -1
  261. package/dist/{ms-DmO1bIlb.js → ms-DjSJDgBw.js} +3 -3
  262. package/dist/{ms-DmO1bIlb.js.map → ms-DjSJDgBw.js.map} +1 -1
  263. package/dist/{mt-CmjQyTfP.js → mt-DXpvARPB.js} +3 -3
  264. package/dist/{mt-CmjQyTfP.js.map → mt-DXpvARPB.js.map} +1 -1
  265. package/dist/{my-CUdu1hRW.js → my-rcNN2n0m.js} +3 -3
  266. package/dist/{my-CUdu1hRW.js.map → my-rcNN2n0m.js.map} +1 -1
  267. package/dist/{nb-BAPLn7-c.js → nb-BxSN9xAc.js} +3 -3
  268. package/dist/{nb-BAPLn7-c.js.map → nb-BxSN9xAc.js.map} +1 -1
  269. package/dist/{ne-BLcv-PjQ.js → ne-BLnzWgBq.js} +3 -3
  270. package/dist/{ne-BLcv-PjQ.js.map → ne-BLnzWgBq.js.map} +1 -1
  271. package/dist/{nl-BXHQtVn6.js → nl-CvBTEWMa.js} +3 -3
  272. package/dist/{nl-BXHQtVn6.js.map → nl-CvBTEWMa.js.map} +1 -1
  273. package/dist/{nn-BRiokkKV.js → nn-Bf0Pgofo.js} +3 -3
  274. package/dist/{nn-BRiokkKV.js.map → nn-Bf0Pgofo.js.map} +1 -1
  275. package/dist/{pies.utils-CjGWf1L1.js → pies.utils-DWaAsN_r.js} +4 -4
  276. package/dist/{pies.utils-CjGWf1L1.js.map → pies.utils-DWaAsN_r.js.map} +1 -1
  277. package/dist/{pl-Dn913KCd.js → pl-B7UDxmnS.js} +3 -3
  278. package/dist/{pl-Dn913KCd.js.map → pl-B7UDxmnS.js.map} +1 -1
  279. package/dist/{preview.data.constants-BZ8b6ZQ1.js → preview.data.constants-BEQuz0Jp.js} +3 -3
  280. package/dist/{preview.data.constants-BZ8b6ZQ1.js.map → preview.data.constants-BEQuz0Jp.js.map} +1 -1
  281. package/dist/{pt-ztNuHZvN.js → pt-BX1A3XxP.js} +3 -3
  282. package/dist/{pt-ztNuHZvN.js.map → pt-BX1A3XxP.js.map} +1 -1
  283. package/dist/{quarterOfYear-BLO_Qaw2.js → quarterOfYear-CoIntHiE.js} +2 -2
  284. package/dist/{quarterOfYear-BLO_Qaw2.js.map → quarterOfYear-CoIntHiE.js.map} +1 -1
  285. package/dist/{ro-DnRa-yLa.js → ro-DFLrkEj_.js} +3 -3
  286. package/dist/{ro-DnRa-yLa.js.map → ro-DFLrkEj_.js.map} +1 -1
  287. package/dist/{ru-B17T7YXz.js → ru-Wt5j1lKj.js} +3 -3
  288. package/dist/{ru-B17T7YXz.js.map → ru-Wt5j1lKj.js.map} +1 -1
  289. package/dist/{rw-dfvx0j_c.js → rw-ebXdGETj.js} +3 -3
  290. package/dist/{rw-dfvx0j_c.js.map → rw-ebXdGETj.js.map} +1 -1
  291. package/dist/{sd-cVwDrcow.js → sd-CYCv4vXG.js} +3 -3
  292. package/dist/{sd-cVwDrcow.js.map → sd-CYCv4vXG.js.map} +1 -1
  293. package/dist/{se-CS_WO_qF.js → se-DhyyIjKr.js} +3 -3
  294. package/dist/{se-CS_WO_qF.js.map → se-DhyyIjKr.js.map} +1 -1
  295. package/dist/{si-CE8rfUDW.js → si-x7OOY-lX.js} +3 -3
  296. package/dist/{si-CE8rfUDW.js.map → si-x7OOY-lX.js.map} +1 -1
  297. package/dist/{sk-CAMFgh-X.js → sk-DWt2dpl5.js} +3 -3
  298. package/dist/{sk-CAMFgh-X.js.map → sk-DWt2dpl5.js.map} +1 -1
  299. package/dist/{sl-CpGnBko6.js → sl-D89kyLxU.js} +3 -3
  300. package/dist/{sl-CpGnBko6.js.map → sl-D89kyLxU.js.map} +1 -1
  301. package/dist/{sq-BhALWUWq.js → sq-CtuTGJCY.js} +3 -3
  302. package/dist/{sq-BhALWUWq.js.map → sq-CtuTGJCY.js.map} +1 -1
  303. package/dist/{sr-CyISptVy.js → sr-DFxoqLI3.js} +3 -3
  304. package/dist/{sr-CyISptVy.js.map → sr-DFxoqLI3.js.map} +1 -1
  305. package/dist/{ss-DJR7n6FE.js → ss-B2YuTnPL.js} +3 -3
  306. package/dist/{ss-DJR7n6FE.js.map → ss-B2YuTnPL.js.map} +1 -1
  307. package/dist/{sv-CHIPKZsb.js → sv-DhIm13sS.js} +3 -3
  308. package/dist/{sv-CHIPKZsb.js.map → sv-DhIm13sS.js.map} +1 -1
  309. package/dist/{sw-DTkRmhtP.js → sw-CLJkTlTI.js} +3 -3
  310. package/dist/{sw-DTkRmhtP.js.map → sw-CLJkTlTI.js.map} +1 -1
  311. package/dist/{ta-CGFUN13n.js → ta-DW8adzZ8.js} +3 -3
  312. package/dist/{ta-CGFUN13n.js.map → ta-DW8adzZ8.js.map} +1 -1
  313. package/dist/{tables.utils-o7rLEWDn.js → tables.utils-cB849TK4.js} +4 -4
  314. package/dist/{tables.utils-o7rLEWDn.js.map → tables.utils-cB849TK4.js.map} +1 -1
  315. package/dist/{te-B_lhF00-.js → te-BGpS2I33.js} +3 -3
  316. package/dist/{te-B_lhF00-.js.map → te-BGpS2I33.js.map} +1 -1
  317. package/dist/{tet-BcxwTdX8.js → tet-DTFZMPiZ.js} +3 -3
  318. package/dist/{tet-BcxwTdX8.js.map → tet-DTFZMPiZ.js.map} +1 -1
  319. package/dist/{tg-CP_affLn.js → tg-MqXrkUVx.js} +3 -3
  320. package/dist/{tg-CP_affLn.js.map → tg-MqXrkUVx.js.map} +1 -1
  321. package/dist/{th-bAebajDP.js → th-BGi9VIsF.js} +3 -3
  322. package/dist/{th-bAebajDP.js.map → th-BGi9VIsF.js.map} +1 -1
  323. package/dist/{tk-Bb_sbstL.js → tk-CzZefJ9t.js} +3 -3
  324. package/dist/{tk-Bb_sbstL.js.map → tk-CzZefJ9t.js.map} +1 -1
  325. package/dist/{tlh-CFh0r2li.js → tlh-Bra__Url.js} +3 -3
  326. package/dist/{tlh-CFh0r2li.js.map → tlh-Bra__Url.js.map} +1 -1
  327. package/dist/{tr-BjG2Zq1u.js → tr-B9DO9ESc.js} +3 -3
  328. package/dist/{tr-BjG2Zq1u.js.map → tr-B9DO9ESc.js.map} +1 -1
  329. package/dist/{tzl-BrQzVyFe.js → tzl-DUdmImoA.js} +3 -3
  330. package/dist/{tzl-BrQzVyFe.js.map → tzl-DUdmImoA.js.map} +1 -1
  331. package/dist/{tzm-CZRbdbPB.js → tzm-BYJ0QyyX.js} +3 -3
  332. package/dist/{tzm-CZRbdbPB.js.map → tzm-BYJ0QyyX.js.map} +1 -1
  333. package/dist/{uk-1EGi3xXq.js → uk-BkZR40_4.js} +3 -3
  334. package/dist/{uk-1EGi3xXq.js.map → uk-BkZR40_4.js.map} +1 -1
  335. package/dist/{ur-w9CD4c6z.js → ur-3mgKQ2eI.js} +3 -3
  336. package/dist/{ur-w9CD4c6z.js.map → ur-3mgKQ2eI.js.map} +1 -1
  337. package/dist/{utc-OYNdM3Of.js → utc-CZDMUme5.js} +2 -2
  338. package/dist/{utc-OYNdM3Of.js.map → utc-CZDMUme5.js.map} +1 -1
  339. package/dist/{uz-C0-0xpFg.js → uz-BAQ_be59.js} +3 -3
  340. package/dist/{uz-C0-0xpFg.js.map → uz-BAQ_be59.js.map} +1 -1
  341. package/dist/{vi-o3kl04CL.js → vi-Cz0xPfER.js} +3 -3
  342. package/dist/{vi-o3kl04CL.js.map → vi-Cz0xPfER.js.map} +1 -1
  343. package/dist/{x-pseudo-Bpdxtjwi.js → x-pseudo-CB6QA3fL.js} +3 -3
  344. package/dist/{x-pseudo-Bpdxtjwi.js.map → x-pseudo-CB6QA3fL.js.map} +1 -1
  345. package/dist/{yo-HNhGkPRC.js → yo-br0K4JO7.js} +3 -3
  346. package/dist/{yo-HNhGkPRC.js.map → yo-br0K4JO7.js.map} +1 -1
  347. package/dist/{zh-cn-CXPsCwmH.js → zh-cn-DfL-yOJY.js} +3 -3
  348. package/dist/{zh-cn-CXPsCwmH.js.map → zh-cn-DfL-yOJY.js.map} +1 -1
  349. package/dist/{zh-hk-Dkw_O0EJ.js → zh-hk-DxFIs93M.js} +3 -3
  350. package/dist/{zh-hk-Dkw_O0EJ.js.map → zh-hk-DxFIs93M.js.map} +1 -1
  351. package/dist/{zh-tw-Crtx9ZQU.js → zh-tw-6AX1ZyY0.js} +3 -3
  352. package/dist/{zh-tw-Crtx9ZQU.js.map → zh-tw-6AX1ZyY0.js.map} +1 -1
  353. package/package.json +2 -2
  354. package/dist/dates.utils-BkOKKqSH.js +0 -169
  355. package/dist/definition-Bvgmq0Y0.js.map +0 -1
  356. package/dist/definition-DP0Iwp6_.js +0 -121
  357. package/dist/definition-DP0Iwp6_.js.map +0 -1
  358. package/dist/definition-DzFPFv2i.js.map +0 -1
  359. package/dist/definition-EyeTQ0qK.js +0 -123
  360. package/dist/definition-EyeTQ0qK.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  import { useTheme as W, definePreview as q } from "@embeddable.com/react";
2
- import { Q as B, R as H, j as n, U as Q, W as U, X as p, Y as X, Z as Y, _ as Z, $, a0 as A, a1 as G, V as i } from "./index-CnLFSN1m.js";
3
- import { c as k, u as J, g as K, b as D, a as ee } from "./dates.utils-BkOKKqSH.js";
2
+ import { Q as B, R as H, j as n, U as Q, W as U, X as p, Y as X, Z as Y, _ as Z, $, a0 as A, a1 as G, V as i } from "./index-BtXsXVuJ.js";
3
+ import { c as k, u as J, g as K, b as D, a as ee } from "./dates.utils-echGGA1j.js";
4
4
  import { b as te, a as ae, r as ne, i as m } from "./component.utils-CbnwaSi1.js";
5
- import { E as oe } from "./EditorCard-DhASZ5NL.js";
5
+ import { E as oe } from "./EditorCard-D7fZyKnm.js";
6
6
  import { useState as f, useEffect as se } from "react";
7
- import { I as re } from "./IconCalendarFilled-DaTHLPcZ.js";
8
- import { i as s } from "./component.inputs.constants-Cs7gX1rI.js";
7
+ import { I as re } from "./IconCalendarFilled-jmst8WSH.js";
8
+ import { i as s } from "./component.inputs.constants-aLGsJNMS.js";
9
9
  const le = (e) => e.map((o) => ({
10
10
  rightLabel: k(o.getRange(), o.dateFormat),
11
11
  value: o.value,
@@ -206,4 +206,4 @@ export {
206
206
  le as g,
207
207
  Re as i
208
208
  };
209
- //# sourceMappingURL=definition-I1tZR9Mu.js.map
209
+ //# sourceMappingURL=definition-CY4LcOu2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-I1tZR9Mu.js","sources":["../src/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.ts","../src/components/editors/dates/DateRangePickerPresetsPro/index.tsx","../src/components/editors/dates/DateRangePickerPresetsPro/definition.ts"],"sourcesContent":["import { DateRangeSelectFieldProOption } from './DateRangePickerPresetsPro.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { resolveI18nString } from '../../../component.utils';\nimport { getTimeRangeLabel } from '../dates.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport {\n Button,\n DateRangePicker,\n Dropdown,\n SelectFieldContent,\n SelectFieldContentList,\n SelectListOption,\n DateRange,\n SelectFieldTrigger,\n isSameDateRange,\n shallowEqual,\n} from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangePickerPresetsPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled, IconChevronLeft, IconChevronRight } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\nimport styles from './DateRangePickerPresetsPro.module.css';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeFromPresets,\n getTimeRangeLabel,\n} from '../dates.utils';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n\n clearable?: boolean;\n showCustomRangeOptions?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n const { onChange, clearable, selectedValue, showCustomRangeOptions, showTwoMonths } = props;\n const onlyDateRangePicker = !showCustomRangeOptions;\n const [showDateRangePicker, setShowDateRangePicker] = useState(onlyDateRangePicker);\n\n const [isOpen, setIsOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | undefined>(\n getDateRangeFromTimeRange(selectedValue),\n );\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n useEffect(() => {\n if (!dayjsLocaleReady) {\n return;\n }\n // Step 1: Convert relativeTimeString to actual time range (from/to)\n const newTimeRange = getTimeRangeFromPresets(selectedValue, dateRangeOptions);\n\n if (!shallowEqual(newTimeRange, selectedValue)) {\n onChange(newTimeRange);\n }\n }, [selectedValue, dayjsLocaleReady, onChange, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n const handleOptionChange = (newValue: string | undefined) => {\n const newTimeRange = getTimeRangeFromPresets(\n { relativeTimeString: newValue } as TimeRange,\n dateRangeOptions,\n );\n\n onChange(newTimeRange);\n setDateRange(undefined);\n };\n\n const handleDateRangeChange = (newDateRange: DateRange | undefined) => {\n onChange(getTimeRangeFromDateRange(newDateRange));\n setIsOpen(false);\n };\n\n const handleClear = () => {\n setDateRange(undefined);\n onChange(undefined);\n };\n\n const getValueLabel = () => {\n if (selectedValue?.relativeTimeString) {\n const option = options.find((option) => option.value === selectedValue.relativeTimeString);\n if (option) {\n return option.label;\n }\n }\n\n if (selectedValue?.from && selectedValue?.to) {\n return getTimeRangeLabel(selectedValue, 'MMM DD');\n }\n\n return '';\n };\n\n const valueLabel = getValueLabel();\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n const isSubmitDisabled = isSameDateRange(dateRange, selectedValue);\n const numberOfMonths = showTwoMonths ? 2 : 1;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n avoidCollisions={false}\n triggerComponent={\n <SelectFieldTrigger\n startIcon={IconCalendarFilled}\n aria-label={placeholder}\n placeholder={placeholder}\n valueLabel={valueLabel}\n onClear={handleClear}\n isClearable={clearable}\n />\n }\n >\n <SelectFieldContent fitContent className={styles.dateRangePickerContent}>\n {showDateRangePicker ? (\n <div className={styles.dateRangePickerContainer}>\n {!onlyDateRangePicker && (\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.backToPresets')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(false);\n }}\n startIcon={<IconChevronLeft />}\n />\n )}\n <DateRangePicker\n locale={locale}\n numberOfMonths={numberOfMonths}\n value={dateRange}\n onChange={setDateRange}\n />\n <Button\n size=\"small\"\n disabled={isSubmitDisabled}\n onClick={() => handleDateRangeChange(dateRange)}\n >\n {i18n.t('editors.dateRangePicker.apply')}\n </Button>\n </div>\n ) : (\n <SelectFieldContentList>\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.custom')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(true);\n }}\n endIcon={<IconChevronRight />}\n />\n {options.map((option) => (\n <SelectListOption\n key={option.value}\n {...option}\n isSelected={selectedValue?.relativeTimeString === option.value}\n onClick={() => handleOptionChange(option.value)}\n />\n ))}\n </SelectFieldContentList>\n )}\n </SelectFieldContent>\n </Dropdown>\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { TimeRange, Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangeSelectFieldPro',\n label: 'Date-Range Picker - Presets',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n {\n ...inputs.boolean,\n name: 'showCustomRangeOptions',\n label: 'Show custom date-range option',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two-month view',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n {\n name: 'fromDate',\n label: 'Start date of selected range',\n type: 'time',\n },\n {\n name: 'toDate',\n label: 'To date of selected range',\n type: 'time',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n showCustomRangeOptions: true,\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (timeRange: TimeRange) => {\n return {\n value: timeRange ?? Value.noFilter(),\n fromDate: timeRange?.from ? { date: timeRange?.from } : Value.noFilter(),\n toDate: timeRange?.to ? { date: timeRange?.to } : Value.noFilter(),\n };\n },\n};\n\nexport const dateRangeSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","onChange","clearable","selectedValue","showCustomRangeOptions","showTwoMonths","onlyDateRangePicker","showDateRangePicker","setShowDateRangePicker","useState","isOpen","setIsOpen","dateRange","setDateRange","getDateRangeFromTimeRange","dateRangeOptions","useEffect","newTimeRange","getTimeRangeFromPresets","shallowEqual","description","placeholder","title","tooltip","resolveI18nProps","options","handleOptionChange","newValue","handleDateRangeChange","newDateRange","getTimeRangeFromDateRange","handleClear","valueLabel","locale","isSubmitDisabled","isSameDateRange","numberOfMonths","jsx","EditorCard","Dropdown","SelectFieldTrigger","IconCalendarFilled","SelectFieldContent","styles","jsxs","SelectListOption","i18n","e","IconChevronLeft","DateRangePicker","Button","SelectFieldContentList","IconChevronRight","meta","inputs","Value","preview","definePreview","Component","events","timeRange","dateRangeSelectFieldPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-CY4LcOu2.js","sources":["../src/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.ts","../src/components/editors/dates/DateRangePickerPresetsPro/index.tsx","../src/components/editors/dates/DateRangePickerPresetsPro/definition.ts"],"sourcesContent":["import { DateRangeSelectFieldProOption } from './DateRangePickerPresetsPro.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { resolveI18nString } from '../../../component.utils';\nimport { getTimeRangeLabel } from '../dates.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport {\n Button,\n DateRangePicker,\n Dropdown,\n SelectFieldContent,\n SelectFieldContentList,\n SelectListOption,\n DateRange,\n SelectFieldTrigger,\n isSameDateRange,\n shallowEqual,\n} from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangePickerPresetsPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled, IconChevronLeft, IconChevronRight } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\nimport styles from './DateRangePickerPresetsPro.module.css';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeFromPresets,\n getTimeRangeLabel,\n} from '../dates.utils';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n\n clearable?: boolean;\n showCustomRangeOptions?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n const { onChange, clearable, selectedValue, showCustomRangeOptions, showTwoMonths } = props;\n const onlyDateRangePicker = !showCustomRangeOptions;\n const [showDateRangePicker, setShowDateRangePicker] = useState(onlyDateRangePicker);\n\n const [isOpen, setIsOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | undefined>(\n getDateRangeFromTimeRange(selectedValue),\n );\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n useEffect(() => {\n if (!dayjsLocaleReady) {\n return;\n }\n // Step 1: Convert relativeTimeString to actual time range (from/to)\n const newTimeRange = getTimeRangeFromPresets(selectedValue, dateRangeOptions);\n\n if (!shallowEqual(newTimeRange, selectedValue)) {\n onChange(newTimeRange);\n }\n }, [selectedValue, dayjsLocaleReady, onChange, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n const handleOptionChange = (newValue: string | undefined) => {\n const newTimeRange = getTimeRangeFromPresets(\n { relativeTimeString: newValue } as TimeRange,\n dateRangeOptions,\n );\n\n onChange(newTimeRange);\n setDateRange(undefined);\n };\n\n const handleDateRangeChange = (newDateRange: DateRange | undefined) => {\n onChange(getTimeRangeFromDateRange(newDateRange));\n setIsOpen(false);\n };\n\n const handleClear = () => {\n setDateRange(undefined);\n onChange(undefined);\n };\n\n const getValueLabel = () => {\n if (selectedValue?.relativeTimeString) {\n const option = options.find((option) => option.value === selectedValue.relativeTimeString);\n if (option) {\n return option.label;\n }\n }\n\n if (selectedValue?.from && selectedValue?.to) {\n return getTimeRangeLabel(selectedValue, 'MMM DD');\n }\n\n return '';\n };\n\n const valueLabel = getValueLabel();\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n const isSubmitDisabled = isSameDateRange(dateRange, selectedValue);\n const numberOfMonths = showTwoMonths ? 2 : 1;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n avoidCollisions={false}\n triggerComponent={\n <SelectFieldTrigger\n startIcon={IconCalendarFilled}\n aria-label={placeholder}\n placeholder={placeholder}\n valueLabel={valueLabel}\n onClear={handleClear}\n isClearable={clearable}\n />\n }\n >\n <SelectFieldContent fitContent className={styles.dateRangePickerContent}>\n {showDateRangePicker ? (\n <div className={styles.dateRangePickerContainer}>\n {!onlyDateRangePicker && (\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.backToPresets')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(false);\n }}\n startIcon={<IconChevronLeft />}\n />\n )}\n <DateRangePicker\n locale={locale}\n numberOfMonths={numberOfMonths}\n value={dateRange}\n onChange={setDateRange}\n />\n <Button\n size=\"small\"\n disabled={isSubmitDisabled}\n onClick={() => handleDateRangeChange(dateRange)}\n >\n {i18n.t('editors.dateRangePicker.apply')}\n </Button>\n </div>\n ) : (\n <SelectFieldContentList>\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.custom')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(true);\n }}\n endIcon={<IconChevronRight />}\n />\n {options.map((option) => (\n <SelectListOption\n key={option.value}\n {...option}\n isSelected={selectedValue?.relativeTimeString === option.value}\n onClick={() => handleOptionChange(option.value)}\n />\n ))}\n </SelectFieldContentList>\n )}\n </SelectFieldContent>\n </Dropdown>\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { TimeRange, Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangeSelectFieldPro',\n label: 'Date-Range Picker - Presets',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n {\n ...inputs.boolean,\n name: 'showCustomRangeOptions',\n label: 'Show custom date-range option',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two-month view',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n {\n name: 'fromDate',\n label: 'Start date of selected range',\n type: 'time',\n },\n {\n name: 'toDate',\n label: 'To date of selected range',\n type: 'time',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n showCustomRangeOptions: true,\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (timeRange: TimeRange) => {\n return {\n value: timeRange ?? Value.noFilter(),\n fromDate: timeRange?.from ? { date: timeRange?.from } : Value.noFilter(),\n toDate: timeRange?.to ? { date: timeRange?.to } : Value.noFilter(),\n };\n },\n};\n\nexport const dateRangeSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","onChange","clearable","selectedValue","showCustomRangeOptions","showTwoMonths","onlyDateRangePicker","showDateRangePicker","setShowDateRangePicker","useState","isOpen","setIsOpen","dateRange","setDateRange","getDateRangeFromTimeRange","dateRangeOptions","useEffect","newTimeRange","getTimeRangeFromPresets","shallowEqual","description","placeholder","title","tooltip","resolveI18nProps","options","handleOptionChange","newValue","handleDateRangeChange","newDateRange","getTimeRangeFromDateRange","handleClear","valueLabel","locale","isSubmitDisabled","isSameDateRange","numberOfMonths","jsx","EditorCard","Dropdown","SelectFieldTrigger","IconCalendarFilled","SelectFieldContent","styles","jsxs","SelectListOption","i18n","e","IconChevronLeft","DateRangePicker","Button","SelectFieldContentList","IconChevronRight","meta","inputs","Value","preview","definePreview","Component","events","timeRange","dateRangeSelectFieldPro"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { j as u, r as F, V as d } from "./index-CnLFSN1m.js";
1
+ import { j as u, r as F, V as d } from "./index-BtXsXVuJ.js";
2
2
  import { useTheme as j, definePreview as x } from "@embeddable.com/react";
3
3
  import { useState as c, useEffect as w } from "react";
4
4
  import { a as A, r as E, i as _ } from "./component.utils-CbnwaSi1.js";
5
- import { E as D } from "./EditorCard-DhASZ5NL.js";
6
- import { g as N } from "./dimensionsAndMeasures.utils-TtQ5NCLw.js";
7
- import { i as t } from "./component.inputs.constants-Cs7gX1rI.js";
8
- import { p as m } from "./preview.data.constants-BZ8b6ZQ1.js";
5
+ import { E as D } from "./EditorCard-D7fZyKnm.js";
6
+ import { g as N } from "./dimensionsAndMeasures.utils-Bm_aEgUi.js";
7
+ import { i as t } from "./component.inputs.constants-aLGsJNMS.js";
8
+ import { p as m } from "./preview.data.constants-BEQuz0Jp.js";
9
9
  const l = (e) => {
10
10
  const i = j();
11
11
  A(i);
@@ -116,4 +116,4 @@ export {
116
116
  L as i,
117
117
  Q as m
118
118
  };
119
- //# sourceMappingURL=definition-BSqRW5IT.js.map
119
+ //# sourceMappingURL=definition-C_cMArH3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-BSqRW5IT.js","sources":["../src/components/editors/MeasureMultiSelectFieldPro/index.tsx","../src/components/editors/MeasureMultiSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\nimport { useState, useEffect } from 'react';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../theme/i18n/i18n';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { getDimensionAndMeasureOptions } from '../utils/dimensionsAndMeasures.utils';\n\nexport type MeasureMultiSelectFieldProProps = {\n selectedMeasures?: Measure[];\n measureOptions?: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure[]) => void;\n} & EditorCardHeaderProps;\n\nconst MeasureMultiSelectFieldPro = (props: MeasureMultiSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasures = [], measureOptions = [], clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n const [searchValue, setSearchValue] = useState('');\n const [pendingValues, setPendingValues] = useState<string[]>([]);\n\n useEffect(() => {\n if (clearable) return;\n if (selectedMeasures.length > 0) return;\n const first = measureOptions[0];\n if (!first) return;\n\n onChange([first]);\n }, [clearable, selectedMeasures.length, measureOptions, onChange]);\n\n const currentMeasureName = selectedMeasures.map((m) => m.name);\n\n const options = getDimensionAndMeasureOptions({\n dimensionsAndMeasures: measureOptions,\n searchValue,\n theme,\n });\n\n const handleChange = (newValues: string[]) => {\n const selectedNamesSet = new Set(newValues);\n onChange(measureOptions.filter((m) => selectedNamesSet.has(m.name)));\n };\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable={clearable}\n disableApplyButton={!clearable && pendingValues.length === 0}\n isSearchable\n values={currentMeasureName}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={i18n.t('common.noOptionsFound')}\n onChange={handleChange}\n onPendingChange={setPendingValues}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureMultiSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureMultiSelectFieldPro',\n label: 'Measure Multi Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.measureOptions,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.measure,\n array: true,\n name: 'selectedMeasures',\n label: 'Selected measures',\n category: 'Pre-configured Variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measures updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'measure',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure multi-select values',\n type: 'measure',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasures'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n selectedMeasures: inputs.selectedMeasures ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: Array.isArray(value) && value.length ? value : Value.noFilter(),\n };\n },\n};\n\nexport const measureMultiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureMultiSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasures","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","searchValue","setSearchValue","useState","pendingValues","setPendingValues","useEffect","first","currentMeasureName","m","options","getDimensionAndMeasureOptions","handleChange","newValues","selectedNamesSet","jsx","EditorCard","MultiSelectField","i18n","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureMultiSelectFieldPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-C_cMArH3.js","sources":["../src/components/editors/MeasureMultiSelectFieldPro/index.tsx","../src/components/editors/MeasureMultiSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\nimport { useState, useEffect } from 'react';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../theme/i18n/i18n';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { getDimensionAndMeasureOptions } from '../utils/dimensionsAndMeasures.utils';\n\nexport type MeasureMultiSelectFieldProProps = {\n selectedMeasures?: Measure[];\n measureOptions?: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure[]) => void;\n} & EditorCardHeaderProps;\n\nconst MeasureMultiSelectFieldPro = (props: MeasureMultiSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasures = [], measureOptions = [], clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n const [searchValue, setSearchValue] = useState('');\n const [pendingValues, setPendingValues] = useState<string[]>([]);\n\n useEffect(() => {\n if (clearable) return;\n if (selectedMeasures.length > 0) return;\n const first = measureOptions[0];\n if (!first) return;\n\n onChange([first]);\n }, [clearable, selectedMeasures.length, measureOptions, onChange]);\n\n const currentMeasureName = selectedMeasures.map((m) => m.name);\n\n const options = getDimensionAndMeasureOptions({\n dimensionsAndMeasures: measureOptions,\n searchValue,\n theme,\n });\n\n const handleChange = (newValues: string[]) => {\n const selectedNamesSet = new Set(newValues);\n onChange(measureOptions.filter((m) => selectedNamesSet.has(m.name)));\n };\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable={clearable}\n disableApplyButton={!clearable && pendingValues.length === 0}\n isSearchable\n values={currentMeasureName}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={i18n.t('common.noOptionsFound')}\n onChange={handleChange}\n onPendingChange={setPendingValues}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureMultiSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureMultiSelectFieldPro',\n label: 'Measure Multi Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.measureOptions,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.measure,\n array: true,\n name: 'selectedMeasures',\n label: 'Selected measures',\n category: 'Pre-configured Variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measures updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'measure',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure multi-select values',\n type: 'measure',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasures'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n selectedMeasures: inputs.selectedMeasures ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: Array.isArray(value) && value.length ? value : Value.noFilter(),\n };\n },\n};\n\nexport const measureMultiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureMultiSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasures","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","searchValue","setSearchValue","useState","pendingValues","setPendingValues","useEffect","first","currentMeasureName","m","options","getDimensionAndMeasureOptions","handleChange","newValues","selectedNamesSet","jsx","EditorCard","MultiSelectField","i18n","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureMultiSelectFieldPro"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { j as C, N as ae, l as F } from "./index-CnLFSN1m.js";
1
+ import { j as C, N as ae, l as F } from "./index-BtXsXVuJ.js";
2
2
  import { useTheme as ie, definePreview as re } from "@embeddable.com/react";
3
3
  import { a as le, r as me, i as ue } from "./component.utils-CbnwaSi1.js";
4
- import { C as de } from "./ChartCard-DTKoe0RT.js";
4
+ import { C as de } from "./ChartCard-BspcYgwu.js";
5
5
  import { useRef as ce, useState as P, useEffect as we } from "react";
6
- import { u as A } from "./charts.fillGaps.hooks-PCeJ5uuu.js";
7
- import { a as M, p as b } from "./preview.data.constants-BZ8b6ZQ1.js";
6
+ import { u as A } from "./charts.fillGaps.hooks-D9U_831E.js";
7
+ import { a as M, p as b } from "./preview.data.constants-BEQuz0Jp.js";
8
8
  import { u as be } from "./tables.hooks-fVC_4V5K.js";
9
- import { i as a, s as f } from "./component.inputs.constants-Cs7gX1rI.js";
9
+ import { i as a, s as f } from "./component.inputs.constants-aLGsJNMS.js";
10
10
  const pe = (e, o) => {
11
11
  const n = M(o);
12
12
  return e.measures.map((s) => {
@@ -255,4 +255,4 @@ export {
255
255
  Ee as i,
256
256
  We as p
257
257
  };
258
- //# sourceMappingURL=definition-BsgCyaQ7.js.map
258
+ //# sourceMappingURL=definition-CoKH5e53.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-BsgCyaQ7.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx","../src/components/charts/tables/PivotTablePro/definition.ts"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","export const sortArrayByProp = <T, K extends keyof T>(\n arr: T[],\n prop: K,\n order: 'asc' | 'desc' = 'asc',\n): T[] => {\n return [...arr].sort((a, b) => {\n if (a[prop] < b[prop]) return order === 'asc' ? -1 : 1;\n if (a[prop] > b[prop]) return order === 'asc' ? 1 : -1;\n return 0;\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useEffect, useRef, useState } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\nimport { sortArrayByProp } from '../../../../utils/array.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PivotTableProProps = {\n results: DataResponse;\n resultsSubRows?: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n subRowDimension?: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n expandedRowKeys: string[];\n setExpandedRowKey: (expandedRowKeys: string) => void;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n resultsSubRows,\n measures,\n rowDimension,\n subRowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n expandedRowKeys,\n setExpandedRowKey,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotSubRowDimension = subRowDimension\n ? getPivotDimension({ dimension: subRowDimension }, theme)\n : undefined;\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n const [loadingRows, setLoadingRows] = useState(new Set<string>());\n const [subRowsByRow, setSubRowsByRow] = useState(new Map<string, any[]>());\n\n const handleRowExpand = (rowKey: string) => {\n setLoadingRows((prev) => new Set(prev).add(rowKey));\n setExpandedRowKey(rowKey);\n };\n\n useEffect(() => {\n // No results or no expandedRowKeys, nothing to load\n if (!resultsSubRows || !resultsSubRows?.data || expandedRowKeys.length === 0) {\n return;\n }\n\n const subRowsByRowData = new Map<string, any[]>();\n expandedRowKeys.forEach((rowKey) => {\n const containsSubRow = resultsSubRows.data?.some(\n (row) => String(row[rowDimension.name]) === rowKey,\n );\n\n if (containsSubRow) {\n const subRows =\n resultsSubRows.data?.filter((row) => String(row[rowDimension.name]) === rowKey) ?? [];\n const subRowsSorted = subRowDimension\n ? sortArrayByProp(subRows, subRowDimension.name, 'asc')\n : subRows;\n\n subRowsByRowData.set(rowKey, subRowsSorted);\n setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n }\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n const data: DataResponse = {\n ...props.results,\n isLoading: Boolean(props.results?.isLoading || resultsSubRows?.isLoading),\n };\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={data}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n expandableRows={Boolean(subRowDimension)}\n subRowsByRow={subRowsByRow}\n loadingRows={loadingRows}\n onRowExpand={handleRowExpand}\n subRowDimension={pivotSubRowDimension}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n","import { DataResponse, LoadDataRequest, 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';\n\nconst meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n label: 'Measures to display',\n inputs: [\n ...inputs.measures.inputs,\n {\n ...subInputs.boolean,\n name: 'showColumnTotal',\n label: 'Show column total',\n },\n {\n ...subInputs.boolean,\n name: 'showRowTotal',\n label: 'Show row total',\n },\n {\n ...subInputs.boolean,\n name: 'showAsPercentage',\n label: 'Show as percentage',\n description: 'If turned on, other measures may be ignored',\n defaultValue: false,\n },\n ],\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Primary row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimension,\n label: 'Secondary row dimension (optional)',\n name: 'subRowDimension',\n required: false,\n description:\n 'When set, each primary row becomes expandable. Clicking a row loads a breakdown by the second dimension.',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type PivotTableProState = {\n expandedRowKeys?: string[];\n};\n\nconst previewConfig = {\n measures: [{ ...previewData.measure, inputs: { showRowTotal: true, showColumnTotal: true } }],\n rowDimension: previewData.dimension,\n columnDimension: previewData.dimensionGroup,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n expandedRowKeys: [],\n setExpandedRowKey: () => {},\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst loadDataResultsSubRowsArgs = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.subRowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n filters: [\n {\n property: inputs.rowDimension,\n operator: 'equals',\n value: expandedRowKeys,\n },\n ],\n});\n\nconst loadDataResultsSubRows = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n): DataResponse | undefined => {\n if (expandedRowKeys.length > 0) {\n return loadData(loadDataResultsSubRowsArgs(inputs, expandedRowKeys));\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [PivotTableProState, (state: PivotTableProState) => void],\n) => {\n const expandedRowKeys = state?.expandedRowKeys ?? [];\n\n return {\n ...inputs,\n state,\n expandedRowKeys,\n setExpandedRowKey: (rowKey: string) =>\n setState({ expandedRowKeys: [...expandedRowKeys, rowKey] }),\n results: loadDataResults(inputs),\n resultsSubRows: loadDataResultsSubRows(inputs, expandedRowKeys),\n };\n};\n\nexport const pivotTablePro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsSubRows: {\n loadDataArgs: loadDataResultsSubRowsArgs,\n loadData: loadDataResultsSubRows,\n },\n} as const;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","sortArrayByProp","arr","prop","order","a","b","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","resultsSubRows","rowDimension","subRowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","expandedRowKeys","setExpandedRowKey","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotSubRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","loadingRows","setLoadingRows","useState","subRowsByRow","setSubRowsByRow","handleRowExpand","rowKey","prev","useEffect","subRowsByRowData","subRows","subRowsSorted","next","data","jsx","ChartCard","PivotTable","i18n","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","loadDataResultsSubRowsArgs","loadDataResultsSubRows","state","setState","pivotTablePro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-CoKH5e53.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx","../src/components/charts/tables/PivotTablePro/definition.ts"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","export const sortArrayByProp = <T, K extends keyof T>(\n arr: T[],\n prop: K,\n order: 'asc' | 'desc' = 'asc',\n): T[] => {\n return [...arr].sort((a, b) => {\n if (a[prop] < b[prop]) return order === 'asc' ? -1 : 1;\n if (a[prop] > b[prop]) return order === 'asc' ? 1 : -1;\n return 0;\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useEffect, useRef, useState } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\nimport { sortArrayByProp } from '../../../../utils/array.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PivotTableProProps = {\n results: DataResponse;\n resultsSubRows?: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n subRowDimension?: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n expandedRowKeys: string[];\n setExpandedRowKey: (expandedRowKeys: string) => void;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n resultsSubRows,\n measures,\n rowDimension,\n subRowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n expandedRowKeys,\n setExpandedRowKey,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotSubRowDimension = subRowDimension\n ? getPivotDimension({ dimension: subRowDimension }, theme)\n : undefined;\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n const [loadingRows, setLoadingRows] = useState(new Set<string>());\n const [subRowsByRow, setSubRowsByRow] = useState(new Map<string, any[]>());\n\n const handleRowExpand = (rowKey: string) => {\n setLoadingRows((prev) => new Set(prev).add(rowKey));\n setExpandedRowKey(rowKey);\n };\n\n useEffect(() => {\n // No results or no expandedRowKeys, nothing to load\n if (!resultsSubRows || !resultsSubRows?.data || expandedRowKeys.length === 0) {\n return;\n }\n\n const subRowsByRowData = new Map<string, any[]>();\n expandedRowKeys.forEach((rowKey) => {\n const containsSubRow = resultsSubRows.data?.some(\n (row) => String(row[rowDimension.name]) === rowKey,\n );\n\n if (containsSubRow) {\n const subRows =\n resultsSubRows.data?.filter((row) => String(row[rowDimension.name]) === rowKey) ?? [];\n const subRowsSorted = subRowDimension\n ? sortArrayByProp(subRows, subRowDimension.name, 'asc')\n : subRows;\n\n subRowsByRowData.set(rowKey, subRowsSorted);\n setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n }\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n const data: DataResponse = {\n ...props.results,\n isLoading: Boolean(props.results?.isLoading || resultsSubRows?.isLoading),\n };\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={data}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n expandableRows={Boolean(subRowDimension)}\n subRowsByRow={subRowsByRow}\n loadingRows={loadingRows}\n onRowExpand={handleRowExpand}\n subRowDimension={pivotSubRowDimension}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n","import { DataResponse, LoadDataRequest, 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';\n\nconst meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n label: 'Measures to display',\n inputs: [\n ...inputs.measures.inputs,\n {\n ...subInputs.boolean,\n name: 'showColumnTotal',\n label: 'Show column total',\n },\n {\n ...subInputs.boolean,\n name: 'showRowTotal',\n label: 'Show row total',\n },\n {\n ...subInputs.boolean,\n name: 'showAsPercentage',\n label: 'Show as percentage',\n description: 'If turned on, other measures may be ignored',\n defaultValue: false,\n },\n ],\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Primary row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimension,\n label: 'Secondary row dimension (optional)',\n name: 'subRowDimension',\n required: false,\n description:\n 'When set, each primary row becomes expandable. Clicking a row loads a breakdown by the second dimension.',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type PivotTableProState = {\n expandedRowKeys?: string[];\n};\n\nconst previewConfig = {\n measures: [{ ...previewData.measure, inputs: { showRowTotal: true, showColumnTotal: true } }],\n rowDimension: previewData.dimension,\n columnDimension: previewData.dimensionGroup,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n expandedRowKeys: [],\n setExpandedRowKey: () => {},\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst loadDataResultsSubRowsArgs = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.subRowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n filters: [\n {\n property: inputs.rowDimension,\n operator: 'equals',\n value: expandedRowKeys,\n },\n ],\n});\n\nconst loadDataResultsSubRows = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n): DataResponse | undefined => {\n if (expandedRowKeys.length > 0) {\n return loadData(loadDataResultsSubRowsArgs(inputs, expandedRowKeys));\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [PivotTableProState, (state: PivotTableProState) => void],\n) => {\n const expandedRowKeys = state?.expandedRowKeys ?? [];\n\n return {\n ...inputs,\n state,\n expandedRowKeys,\n setExpandedRowKey: (rowKey: string) =>\n setState({ expandedRowKeys: [...expandedRowKeys, rowKey] }),\n results: loadDataResults(inputs),\n resultsSubRows: loadDataResultsSubRows(inputs, expandedRowKeys),\n };\n};\n\nexport const pivotTablePro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsSubRows: {\n loadDataArgs: loadDataResultsSubRowsArgs,\n loadData: loadDataResultsSubRows,\n },\n} as const;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","sortArrayByProp","arr","prop","order","a","b","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","resultsSubRows","rowDimension","subRowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","expandedRowKeys","setExpandedRowKey","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotSubRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","loadingRows","setLoadingRows","useState","subRowsByRow","setSubRowsByRow","handleRowExpand","rowKey","prev","useEffect","subRowsByRowData","subRows","subRowsSorted","next","data","jsx","ChartCard","PivotTable","i18n","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","loadDataResultsSubRowsArgs","loadDataResultsSubRows","state","setState","pivotTablePro"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { m as k, j as m, B as T, V as y, l as H } from "./index-CnLFSN1m.js";
1
+ import { m as k, j as m, B as T, V as y, l as H } from "./index-BtXsXVuJ.js";
2
2
  import { useTheme as F, definePreview as _ } from "@embeddable.com/react";
3
3
  import { a as O, r as W } from "./component.utils-CbnwaSi1.js";
4
- import { C as Y } from "./ChartCard-DTKoe0RT.js";
5
- import { b as E, a as I } from "./bars.utils-DUfgYLSr.js";
6
- import { u as q } from "./charts.fillGaps.hooks-PCeJ5uuu.js";
7
- import { C as J, g as K } from "./granularity.utils-zeE7RDIY.js";
8
- import { i as a } from "./component.inputs.constants-Cs7gX1rI.js";
9
- import { p as n } from "./preview.data.constants-BZ8b6ZQ1.js";
4
+ import { C as Y } from "./ChartCard-BspcYgwu.js";
5
+ import { b as E, a as I } from "./bars.utils-CcXvZj57.js";
6
+ import { u as q } from "./charts.fillGaps.hooks-D9U_831E.js";
7
+ import { C as J, g as K } from "./granularity.utils-0TIiQ2yP.js";
8
+ import { i as a } from "./component.inputs.constants-aLGsJNMS.js";
9
+ import { p as n } from "./preview.data.constants-BEQuz0Jp.js";
10
10
  const d = (e) => {
11
11
  var x, h;
12
12
  const s = F();
@@ -169,4 +169,4 @@ export {
169
169
  le as b,
170
170
  ne as i
171
171
  };
172
- //# sourceMappingURL=definition-DbTSq8TE.js.map
172
+ //# sourceMappingURL=definition-CpeLirdO.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-DbTSq8TE.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';\n\nexport type BarChartGroupedHorizontalProProps = {\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\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 yAxis,\n hideMenu,\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 } = props;\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 },\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}\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 {\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 { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\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.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};\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 loadDataResultsArgs = (inputs: Inputs<typeof meta>, yAxis?: Dimension): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [yAxis ?? inputs.yAxis, inputs.groupBy, inputs.measure],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>, yAxis: Dimension): DataResponse =>\n loadData(loadDataResultsArgs(inputs, yAxis));\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) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, yAxisWithGranularity),\n };\n};\n\nexport const barChartGroupedHorizontalPro = {\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":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","yAxis","hideMenu","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","state","setState","yAxisWithGranularity","getDimensionWithGranularity","granularity","barChartGroupedHorizontalPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-CpeLirdO.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';\n\nexport type BarChartGroupedHorizontalProProps = {\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\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 yAxis,\n hideMenu,\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 } = props;\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 },\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}\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 {\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 { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\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.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};\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 loadDataResultsArgs = (inputs: Inputs<typeof meta>, yAxis?: Dimension): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [yAxis ?? inputs.yAxis, inputs.groupBy, inputs.measure],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>, yAxis: Dimension): DataResponse =>\n loadData(loadDataResultsArgs(inputs, yAxis));\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) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, yAxisWithGranularity),\n };\n};\n\nexport const barChartGroupedHorizontalPro = {\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":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","yAxis","hideMenu","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","state","setState","yAxisWithGranularity","getDimensionWithGranularity","granularity","barChartGroupedHorizontalPro"],"mappings":";;;;;;;;;AAkCA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,SAAAG,GAAS,aAAAC,GAAa,OAAAC,GAAO,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBT,CAAK,GAEhF;AAAA,IACJ,OAAAU;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEvB,GAEEwB,IAAUC,EAAY;AAAA,IAC1B,SAASzB,EAAM;AAAA,IACf,WAAWU;AAAA,EAAA,CACZ,GAEKgB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWd;AAAA,MACX,gBAAgBE;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFZ;AAAA,EAAA,GAGI2B,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACjB,CAAO,GAAG,YAAY,IAAM,cAAAU,GAAc,MAAAG,GAAM,WAAWhB,EAAA;AAAA,MACxET;AAAA,IAAA;AAAA,MAEF8B,KAAAC,IAAA/B,EAAM,WAAN,gBAAA+B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAAC3B,KAAS,CAACD,KAAe,CAACD;AAEnE,SACE8B,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAACX,GAASH,GAAOE,CAAO;AAAA,MAC/C,cAAcY,EAAQ;AAAA,MACtB,aAAAnB;AAAA,MACA,OAAAC;AAAA,MACA,SAAAF;AAAA,MACA,UAAAO;AAAA,MAEC,UAAA;AAAA,QAAAW,KACCc,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAWvB;AAAA,YACX,UAAUY;AAAA,UAAA;AAAA,QAAA;AAAA,QAGdc,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAZ;AAAA,YACA,YAAAX;AAAA,YACA,cAAAE;AAAA,YACA,iBAAAE;AAAA,YACA,sBAAAH;AAAA,YACA,YAAAT;AAAA,YACA,YAAAC;AAAA,YACA,cAAAM;AAAA,YACA,eAAAO;AAAA,YACA,eAAAD;AAAA,YACA,iBAAAF;AAAA,YACA,SAAAU;AAAA,YACA,YAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACZ;AAAA,IAAA;AAAA,EAAA;AAGN;;;8CCtGMW,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,qCAAqC,MAAM,SAAS,OAAO,SAAA;AAAA,IACvE,EAAE,GAAGA,EAAO,WAAW,MAAM,WAAW,OAAO,WAAA;AAAA,IAC/CA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,iBAAiB,cAAc,GAAA;AAAA,IAC3CA,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,CAACN,GAA6B9B,OAAwC;AAAA,EAChG,OAAO8B,EAAO;AAAA,EACd,MAAMA,EAAO;AAAA,EACb,QAAQ,CAAC9B,KAAS8B,EAAO,OAAOA,EAAO,SAASA,EAAO,OAAO;AAChE,IAEMO,IAAkB,CAACP,GAA6B9B,MACpDsC,EAASF,EAAoBN,GAAQ9B,CAAK,CAAC,GAEvCuC,IAAS;AAAA,EACb,cAAc,CAACC,OAA6E;AAAA,IAC1F,oBAAoBA,EAAM,sBAAsBC,EAAM,SAAA;AAAA,IACtD,wBAAwBD,EAAM,0BAA0BC,EAAM,SAAA;AAAA,EAAS;AAE3E,GAEMnD,IAAQ,CACZwC,GACA,CAACY,GAAOC,CAAQ,MAIb;AACH,QAAMC,IAAuBC,EAA4Bf,EAAO,OAAOY,KAAA,gBAAAA,EAAO,WAAW;AAEzF,SAAO;AAAA,IACL,GAAGZ;AAAAA,IACH,OAAOc;AAAA,IACP,gBAAgB,CAACE,MAA6BH,EAAS,EAAE,aAAAG,GAAa;AAAA,IACtE,SAAST,EAAgBP,GAAQc,CAAoB;AAAA,EAAA;AAEzD,GAEaG,KAA+B;AAAA,EAAA,WAC1CZ;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAzC;AAAA,IACA,QAAAiD;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcH;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
@@ -1,10 +1,10 @@
1
- import { j as r, V as l } from "./index-CnLFSN1m.js";
1
+ import { j as r, V as l } from "./index-BtXsXVuJ.js";
2
2
  import { useTheme as g, definePreview as S } from "@embeddable.com/react";
3
- import { E as v } from "./EditorCard-DhASZ5NL.js";
3
+ import { E as v } from "./EditorCard-D7fZyKnm.js";
4
4
  import { a as h, r as b } from "./component.utils-CbnwaSi1.js";
5
- import { D as M } from "./DimensionAndMeasureSingleSelectField-ZjxP2UaF.js";
6
- import { i as e } from "./component.inputs.constants-Cs7gX1rI.js";
7
- import { p as s } from "./preview.data.constants-BZ8b6ZQ1.js";
5
+ import { D as M } from "./DimensionAndMeasureSingleSelectField-BFjwAGok.js";
6
+ import { i as e } from "./component.inputs.constants-aLGsJNMS.js";
7
+ import { p as s } from "./preview.data.constants-BEQuz0Jp.js";
8
8
  const t = (a) => {
9
9
  const n = g();
10
10
  h(n);
@@ -92,4 +92,4 @@ export {
92
92
  E as i,
93
93
  T as m
94
94
  };
95
- //# sourceMappingURL=definition-C-atn8UX.js.map
95
+ //# sourceMappingURL=definition-D3iG4dr_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-C-atn8UX.js","sources":["../src/components/editors/MeasureSingleSelectFieldPro/index.tsx","../src/components/editors/MeasureSingleSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type MeasureSingleSelectFieldProProps = {\n selectedMeasure?: Measure;\n measureOptions: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst MeasureSingleSelectFieldPro = (props: MeasureSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasure, measureOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Measure>\n selectedValue={selectedMeasure}\n options={measureOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureSingleSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureSingleSelectFieldPro',\n label: 'Measure Single Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n inputs.measureOptions,\n {\n ...inputs.measure,\n name: 'selectedMeasure',\n label: 'Selected measure',\n category: 'Pre-configured variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measure updated',\n properties: [\n {\n name: 'value',\n label: 'Selected measure',\n type: 'measure',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure single-select value',\n type: 'measure',\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasure'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: value ?? Value.noFilter(),\n };\n },\n};\n\nexport const measureSingleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasure","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureSingleSelectFieldPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAA8B,CAACC,MAA4C;AAC/E,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,iBAAAG,GAAiB,gBAAAC,GAAgB,WAAAC,GAAW,UAAAC,MAAaP,GAC3D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;8CC7BMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,kBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,EAAE,GAAGA,EAAO,WAAW,cAAc,GAAA;AAAA,EAAM;AAAA,EAE7C,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,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,iBAAiB;AAAA,MAC1B,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,gBAAgB,CAACC,EAAY,SAASA,EAAY,cAAc;AAAA,EAChE,UAAU,MAAM;AAClB,CAAC,GAEKtB,IAAQ,CAACiB,OACN;AAAA,EACL,GAAGA;AAAAA,EACH,gBAAgBA,EAAO,kBAAkB,CAAA;AAAC,IAIxCM,IAAS;AAAA,EACb,UAAU,CAACC,OACF;AAAA,IACL,OAAOA,KAASN,EAAM,SAAA;AAAA,EAAS;AAGrC,GAEaO,IAA8B;AAAA,EAAA,WACzCJ;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAnB;AAAA,IACA,QAAAuB;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"definition-D3iG4dr_.js","sources":["../src/components/editors/MeasureSingleSelectFieldPro/index.tsx","../src/components/editors/MeasureSingleSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type MeasureSingleSelectFieldProProps = {\n selectedMeasure?: Measure;\n measureOptions: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst MeasureSingleSelectFieldPro = (props: MeasureSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasure, measureOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Measure>\n selectedValue={selectedMeasure}\n options={measureOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureSingleSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureSingleSelectFieldPro',\n label: 'Measure Single Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n inputs.measureOptions,\n {\n ...inputs.measure,\n name: 'selectedMeasure',\n label: 'Selected measure',\n category: 'Pre-configured variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measure updated',\n properties: [\n {\n name: 'value',\n label: 'Selected measure',\n type: 'measure',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure single-select value',\n type: 'measure',\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasure'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: value ?? Value.noFilter(),\n };\n },\n};\n\nexport const measureSingleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasure","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureSingleSelectFieldPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAA8B,CAACC,MAA4C;AAC/E,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,iBAAAG,GAAiB,gBAAAC,GAAgB,WAAAC,GAAW,UAAAC,MAAaP,GAC3D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;8CC7BMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,kBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,EAAE,GAAGA,EAAO,WAAW,cAAc,GAAA;AAAA,EAAM;AAAA,EAE7C,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,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,iBAAiB;AAAA,MAC1B,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,gBAAgB,CAACC,EAAY,SAASA,EAAY,cAAc;AAAA,EAChE,UAAU,MAAM;AAClB,CAAC,GAEKtB,IAAQ,CAACiB,OACN;AAAA,EACL,GAAGA;AAAAA,EACH,gBAAgBA,EAAO,kBAAkB,CAAA;AAAC,IAIxCM,IAAS;AAAA,EACb,UAAU,CAACC,OACF;AAAA,IACL,OAAOA,KAASN,EAAM,SAAA;AAAA,EAAS;AAGrC,GAEaO,IAA8B;AAAA,EAAA,WACzCJ;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAnB;AAAA,IACA,QAAAuB;AAAA,EAAA;AAEJ;"}
@@ -1,12 +1,12 @@
1
- import { m as G, j as n, B as H, V as T, l as k } from "./index-CnLFSN1m.js";
1
+ import { m as G, j as n, B as H, V as T, l as k } from "./index-BtXsXVuJ.js";
2
2
  import { useTheme as I, definePreview as F } from "@embeddable.com/react";
3
3
  import { a as _, r as O } from "./component.utils-CbnwaSi1.js";
4
- import { C as W } from "./ChartCard-DTKoe0RT.js";
5
- import { g as Y, a as E } from "./bars.utils-DUfgYLSr.js";
6
- import { u as q } from "./charts.fillGaps.hooks-PCeJ5uuu.js";
7
- import { C as J, g as K } from "./granularity.utils-zeE7RDIY.js";
8
- import { i as e, s as f } from "./component.inputs.constants-Cs7gX1rI.js";
9
- import { p as l } from "./preview.data.constants-BZ8b6ZQ1.js";
4
+ import { C as W } from "./ChartCard-BspcYgwu.js";
5
+ import { g as Y, a as E } from "./bars.utils-CcXvZj57.js";
6
+ import { u as q } from "./charts.fillGaps.hooks-D9U_831E.js";
7
+ import { C as J, g as K } from "./granularity.utils-0TIiQ2yP.js";
8
+ import { i as e, s as f } from "./component.inputs.constants-aLGsJNMS.js";
9
+ import { p as l } from "./preview.data.constants-BEQuz0Jp.js";
10
10
  const m = (a) => {
11
11
  var p, g;
12
12
  const s = I();
@@ -159,4 +159,4 @@ export {
159
159
  le as b,
160
160
  ne as i
161
161
  };
162
- //# sourceMappingURL=definition-Cy7jirkQ.js.map
162
+ //# sourceMappingURL=definition-D9SZZXJ-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-Cy7jirkQ.js","sources":["../src/components/charts/bars/BarChartDefaultHorizontalPro/index.tsx","../src/components/charts/bars/BarChartDefaultHorizontalPro/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 { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type BarChartDefaultHorizontalProProps = {\n dimension: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n yAxisLabel?: string;\n yAxisMaxItems?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: { axisDimensionValue: string | null }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartDefaultHorizontalPro = (props: BarChartDefaultHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n hideMenu,\n dimension,\n measures,\n showValueLabels,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n xAxisRangeMax,\n xAxisRangeMin,\n yAxisMaxItems,\n setGranularity,\n onBarClicked,\n } = props;\n\n const { description, title, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: yAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: true, onBarClicked, data, dimension }, theme), // Format X axis based on first measure\n theme.charts?.barChartDefaultHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n horizontal\n data={data}\n options={options}\n reverseYAxis={reverseYAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n xAxisRangeMax={xAxisRangeMax}\n xAxisRangeMin={xAxisRangeMin}\n yAxisLabel={yAxisLabel}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultHorizontalPro;\n","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 { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'BarChartDefaultHorizontalPro',\n label: 'Bar Chart - Default Horizontal',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'Y-axis' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.yAxisMaxItems,\n inputs.maxResults,\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 },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultHorizontalProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n limit: inputs.maxResults,\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>, dimension: Dimension): DataResponse =>\n loadData(loadDataResultsArgs(inputs, dimension));\n\nconst events = {\n onBarClicked: (value: { axisDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartDefaultHorizontalProState,\n (state: BarChartDefaultHorizontalProState) => void,\n ],\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity),\n };\n};\n\nexport const barChartDefaultHorizontalPro = {\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":["BarChartDefaultHorizontalPro","props","theme","useTheme","i18nSetup","hideMenu","dimension","measures","showValueLabels","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","xAxisRangeMax","xAxisRangeMin","yAxisMaxItems","setGranularity","onBarClicked","description","title","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","granularity","barChartDefaultHorizontalPro"],"mappings":";;;;;;;;;AA8BA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,UAAAG;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEhB,GAEE,EAAE,aAAAiB,GAAa,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBtB,CAAK,GAEhFuB,IAAUC,EAAY;AAAA,IAC1B,SAASxB,EAAM;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKoB,IAAOC;AAAA,IACX,EAAE,MAAMH,EAAQ,MAAM,WAAAlB,GAAW,UAAAC,GAAU,UAAUQ,EAAA;AAAA,IACrDb;AAAA,EAAA,GAGI0B,IAAUC;AAAA,IACdC,EAAsB,EAAE,UAAAvB,GAAU,YAAY,IAAM,cAAAU,GAAc,MAAAS,GAAM,WAAApB,EAAA,GAAaJ,CAAK;AAAA;AAAA,MAC1F6B,KAAAC,IAAA9B,EAAM,WAAN,gBAAA8B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAACd,KAAS,CAACD,KAAe,CAACE;AAEnE,SACEc,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAAClB,GAAW,GAAGC,CAAQ;AAAA,MAC9C,cAAciB,EAAQ;AAAA,MACtB,aAAAN;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAf;AAAA,MAEC,UAAA;AAAA,QAAAW,KACCoB,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAA3B;AAAA,YACA,UAAUU;AAAA,UAAA;AAAA,QAAA;AAAA,QAGdoB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,YAAU;AAAA,YACV,MAAAZ;AAAA,YACA,SAAAE;AAAA,YACA,cAAAnB;AAAA,YACA,YAAAC;AAAA,YACA,sBAAAC;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAJ;AAAA,YACA,YAAAa;AAAA,YACA,eAAAR;AAAA,YACA,eAAAC;AAAA,YACA,YAAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;8CCvFMiB,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,CAAC,GAAGA,EAAO,SAAS,QAAQC,EAAU,OAAOA,EAAU,qBAAqB;AAAA,IAAA;AAAA,IAEtF,EAAE,GAAGD,EAAO,qCAAqC,OAAO,SAAA;AAAA,IACxDA,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,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAMME,IAAgB;AAAA,EACpB,WAAWC,EAAY;AAAA,EACvB,UAAU,CAACA,EAAY,OAAO;AAAA,EAC9B,SAASA,EAAY;AAAA,EACrB,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAC1BP,GACAlC,OACqB;AAAA,EACrB,MAAMkC,EAAO;AAAA,EACb,QAAQ,CAAC,GAAGA,EAAO,UAAUlC,KAAakC,EAAO,SAAS;AAAA,EAC1D,OAAOA,EAAO;AAChB,IAEMQ,IAAkB,CAACR,GAA6BlC,MACpD2C,EAASF,EAAoBP,GAAQlC,CAAS,CAAC,GAE3C4C,IAAS;AAAA,EACb,cAAc,CAACC,OAA4C;AAAA,IACzD,oBAAoBA,EAAM,sBAAsBC,EAAM,SAAA;AAAA,EAAS;AAEnE,GAEMnD,IAAQ,CACZuC,GACA,CAACa,GAAOC,CAAQ,MAIb;AACH,QAAMC,IAA2BC;AAAA,IAC/BhB,EAAO;AAAA,IACPa,KAAA,gBAAAA,EAAO;AAAA,EAAA;AAGT,SAAO;AAAA,IACL,GAAGb;AAAAA,IACH,WAAWe;AAAA,IACX,gBAAgB,CAACE,MAA6BH,EAAS,EAAE,aAAAG,GAAa;AAAA,IACtE,SAAST,EAAgBR,GAAQe,CAAwB;AAAA,EAAA;AAE7D,GAEaG,KAA+B;AAAA,EAAA,WAC1CZ;AAAAA,EACA,MAAAP;AAAA,EACA,SAAAK;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAzC;AAAA,IACA,QAAAiD;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcH;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"definition-D9SZZXJ-.js","sources":["../src/components/charts/bars/BarChartDefaultHorizontalPro/index.tsx","../src/components/charts/bars/BarChartDefaultHorizontalPro/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 { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type BarChartDefaultHorizontalProProps = {\n dimension: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n yAxisLabel?: string;\n yAxisMaxItems?: number;\n setGranularity?: (granularity: Granularity) => void;\n onBarClicked?: (args: { axisDimensionValue: string | null }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartDefaultHorizontalPro = (props: BarChartDefaultHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n hideMenu,\n dimension,\n measures,\n showValueLabels,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n xAxisRangeMax,\n xAxisRangeMin,\n yAxisMaxItems,\n setGranularity,\n onBarClicked,\n } = props;\n\n const { description, title, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: yAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: true, onBarClicked, data, dimension }, theme), // Format X axis based on first measure\n theme.charts?.barChartDefaultHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n horizontal\n data={data}\n options={options}\n reverseYAxis={reverseYAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n xAxisRangeMax={xAxisRangeMax}\n xAxisRangeMin={xAxisRangeMin}\n yAxisLabel={yAxisLabel}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultHorizontalPro;\n","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 { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'BarChartDefaultHorizontalPro',\n label: 'Bar Chart - Default Horizontal',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'Y-axis' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.yAxisMaxItems,\n inputs.maxResults,\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 },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultHorizontalProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n limit: inputs.maxResults,\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>, dimension: Dimension): DataResponse =>\n loadData(loadDataResultsArgs(inputs, dimension));\n\nconst events = {\n onBarClicked: (value: { axisDimensionValue?: string }) => ({\n axisDimensionValue: value.axisDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartDefaultHorizontalProState,\n (state: BarChartDefaultHorizontalProState) => void,\n ],\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity),\n };\n};\n\nexport const barChartDefaultHorizontalPro = {\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":["BarChartDefaultHorizontalPro","props","theme","useTheme","i18nSetup","hideMenu","dimension","measures","showValueLabels","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","xAxisRangeMax","xAxisRangeMin","yAxisMaxItems","setGranularity","onBarClicked","description","title","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","granularity","barChartDefaultHorizontalPro"],"mappings":";;;;;;;;;AA8BA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,UAAAG;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEhB,GAEE,EAAE,aAAAiB,GAAa,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBtB,CAAK,GAEhFuB,IAAUC,EAAY;AAAA,IAC1B,SAASxB,EAAM;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKoB,IAAOC;AAAA,IACX,EAAE,MAAMH,EAAQ,MAAM,WAAAlB,GAAW,UAAAC,GAAU,UAAUQ,EAAA;AAAA,IACrDb;AAAA,EAAA,GAGI0B,IAAUC;AAAA,IACdC,EAAsB,EAAE,UAAAvB,GAAU,YAAY,IAAM,cAAAU,GAAc,MAAAS,GAAM,WAAApB,EAAA,GAAaJ,CAAK;AAAA;AAAA,MAC1F6B,KAAAC,IAAA9B,EAAM,WAAN,gBAAA8B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAACd,KAAS,CAACD,KAAe,CAACE;AAEnE,SACEc,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAAClB,GAAW,GAAGC,CAAQ;AAAA,MAC9C,cAAciB,EAAQ;AAAA,MACtB,aAAAN;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAf;AAAA,MAEC,UAAA;AAAA,QAAAW,KACCoB,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAA3B;AAAA,YACA,UAAUU;AAAA,UAAA;AAAA,QAAA;AAAA,QAGdoB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,YAAU;AAAA,YACV,MAAAZ;AAAA,YACA,SAAAE;AAAA,YACA,cAAAnB;AAAA,YACA,YAAAC;AAAA,YACA,sBAAAC;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAJ;AAAA,YACA,YAAAa;AAAA,YACA,eAAAR;AAAA,YACA,eAAAC;AAAA,YACA,YAAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;8CCvFMiB,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,CAAC,GAAGA,EAAO,SAAS,QAAQC,EAAU,OAAOA,EAAU,qBAAqB;AAAA,IAAA;AAAA,IAEtF,EAAE,GAAGD,EAAO,qCAAqC,OAAO,SAAA;AAAA,IACxDA,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,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAMME,IAAgB;AAAA,EACpB,WAAWC,EAAY;AAAA,EACvB,UAAU,CAACA,EAAY,OAAO;AAAA,EAC9B,SAASA,EAAY;AAAA,EACrB,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAC1BP,GACAlC,OACqB;AAAA,EACrB,MAAMkC,EAAO;AAAA,EACb,QAAQ,CAAC,GAAGA,EAAO,UAAUlC,KAAakC,EAAO,SAAS;AAAA,EAC1D,OAAOA,EAAO;AAChB,IAEMQ,IAAkB,CAACR,GAA6BlC,MACpD2C,EAASF,EAAoBP,GAAQlC,CAAS,CAAC,GAE3C4C,IAAS;AAAA,EACb,cAAc,CAACC,OAA4C;AAAA,IACzD,oBAAoBA,EAAM,sBAAsBC,EAAM,SAAA;AAAA,EAAS;AAEnE,GAEMnD,IAAQ,CACZuC,GACA,CAACa,GAAOC,CAAQ,MAIb;AACH,QAAMC,IAA2BC;AAAA,IAC/BhB,EAAO;AAAA,IACPa,KAAA,gBAAAA,EAAO;AAAA,EAAA;AAGT,SAAO;AAAA,IACL,GAAGb;AAAAA,IACH,WAAWe;AAAA,IACX,gBAAgB,CAACE,MAA6BH,EAAS,EAAE,aAAAG,GAAa;AAAA,IACtE,SAAST,EAAgBR,GAAQe,CAAwB;AAAA,EAAA;AAE7D,GAEaG,KAA+B;AAAA,EAAA,WAC1CZ;AAAAA,EACA,MAAAP;AAAA,EACA,SAAAK;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAzC;AAAA,IACA,QAAAiD;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcH;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}