@embeddable.com/remarkable-pro 0.1.17 → 0.1.19

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 (373) 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-tzNf4sgN.js → ChartCard-DjUR715I.js} +25 -25
  8. package/dist/{ChartCard-tzNf4sgN.js.map → ChartCard-DjUR715I.js.map} +1 -1
  9. package/dist/{Color.type.emb-D7koDjTL.js → Color.type.emb-Dkp2L9zz.js} +2 -2
  10. package/dist/{Color.type.emb-D7koDjTL.js.map → Color.type.emb-Dkp2L9zz.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-CP8PnJXl.js → DimensionAndMeasureSingleSelectField-De3lAcg-.js} +3 -3
  16. package/dist/{DimensionAndMeasureSingleSelectField-CP8PnJXl.js.map → DimensionAndMeasureSingleSelectField-De3lAcg-.js.map} +1 -1
  17. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  18. package/dist/DonutChartPro.js +1 -1
  19. package/dist/DonutLabelChartPro.js +1 -1
  20. package/dist/{EditorCard-xBCZTXiG.js → EditorCard-Cof5a9zj.js} +7 -7
  21. package/dist/{EditorCard-xBCZTXiG.js.map → EditorCard-Cof5a9zj.js.map} +1 -1
  22. package/dist/EmptyBlockPro.js +6 -12
  23. package/dist/EmptyBlockPro.js.map +1 -1
  24. package/dist/{GranularitySelectField-QyT5dhfg.js → GranularitySelectField-BmiGbW9N.js} +3 -3
  25. package/dist/{GranularitySelectField-QyT5dhfg.js.map → GranularitySelectField-BmiGbW9N.js.map} +1 -1
  26. package/dist/GranularitySelectFieldPro.js +1 -1
  27. package/dist/HeatMapPro.js +1 -1
  28. package/dist/HorizontalDividerPro.js +6 -31
  29. package/dist/HorizontalDividerPro.js.map +1 -1
  30. package/dist/{IconAlertCircle-Cp1razZr.js → IconAlertCircle-xoasvzWz.js} +2 -2
  31. package/dist/{IconAlertCircle-Cp1razZr.js.map → IconAlertCircle-xoasvzWz.js.map} +1 -1
  32. package/dist/{IconCalendarFilled-CVkB_sR0.js → IconCalendarFilled-DhaKl-zg.js} +2 -2
  33. package/dist/{IconCalendarFilled-CVkB_sR0.js.map → IconCalendarFilled-DhaKl-zg.js.map} +1 -1
  34. package/dist/KpiChartNumberComparisonPro.js +1 -1
  35. package/dist/KpiChartNumberPro.js +1 -1
  36. package/dist/LineChartComparisonDefaultPro.js +1 -1
  37. package/dist/LineChartDefaultPro.js +1 -1
  38. package/dist/LineChartGroupedPro.js +1 -1
  39. package/dist/{Markdown.type.emb-DIkNZoKg.js → Markdown.type.emb-BGRYnmO0.js} +2 -2
  40. package/dist/{Markdown.type.emb-DIkNZoKg.js.map → Markdown.type.emb-BGRYnmO0.js.map} +1 -1
  41. package/dist/MarkdownEditor.js +9 -8
  42. package/dist/MarkdownEditor.js.map +1 -1
  43. package/dist/MarkdownPro.js +6 -41
  44. package/dist/MarkdownPro.js.map +1 -1
  45. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  46. package/dist/MultiSelectFieldPro.js +1 -1
  47. package/dist/PieChartPro.js +1 -1
  48. package/dist/PivotTablePro.js +1 -1
  49. package/dist/SingleSelectFieldPro.js +1 -1
  50. package/dist/TableChartPaginated.js +1 -1
  51. package/dist/TableScrollable.js +1 -1
  52. package/dist/TextFieldPro.js +9 -0
  53. package/dist/TextFieldPro.js.map +1 -0
  54. package/dist/{af-DO50fFVp.js → af-okeflfyo.js} +3 -3
  55. package/dist/{af-DO50fFVp.js.map → af-okeflfyo.js.map} +1 -1
  56. package/dist/{am-DOoCx2BJ.js → am-8uMgKwbg.js} +3 -3
  57. package/dist/{am-DOoCx2BJ.js.map → am-8uMgKwbg.js.map} +1 -1
  58. package/dist/{ar-sSh1jtMP.js → ar-sFqMLn5g.js} +6 -6
  59. package/dist/{ar-sSh1jtMP.js.map → ar-sFqMLn5g.js.map} +1 -1
  60. package/dist/{az-CM0t5glR.js → az-Bl7Fb2Ie.js} +9 -9
  61. package/dist/{az-CM0t5glR.js.map → az-Bl7Fb2Ie.js.map} +1 -1
  62. package/dist/{bars.utils-DMANbPt8.js → bars.utils-ByhjP0ZG.js} +4 -4
  63. package/dist/{bars.utils-DMANbPt8.js.map → bars.utils-ByhjP0ZG.js.map} +1 -1
  64. package/dist/{be-CHMOUU2Q.js → be-ENrbG05s.js} +3 -3
  65. package/dist/{be-CHMOUU2Q.js.map → be-ENrbG05s.js.map} +1 -1
  66. package/dist/{bg-CXc2KEbz.js → bg-YOq-HygI.js} +3 -3
  67. package/dist/{bg-CXc2KEbz.js.map → bg-YOq-HygI.js.map} +1 -1
  68. package/dist/{bi-BerMvi7L.js → bi-CGSuIE00.js} +3 -3
  69. package/dist/{bi-BerMvi7L.js.map → bi-CGSuIE00.js.map} +1 -1
  70. package/dist/{bm-DyOOfs4-.js → bm-B8RWN_ms.js} +3 -3
  71. package/dist/{bm-DyOOfs4-.js.map → bm-B8RWN_ms.js.map} +1 -1
  72. package/dist/{bn-DByTHRtm.js → bn-B_ktUmkU.js} +7 -7
  73. package/dist/{bn-DByTHRtm.js.map → bn-B_ktUmkU.js.map} +1 -1
  74. package/dist/{bo-CcQKMatQ.js → bo-BrcW1_lA.js} +5 -5
  75. package/dist/{bo-CcQKMatQ.js.map → bo-BrcW1_lA.js.map} +1 -1
  76. package/dist/{br-Cuk7ORdf.js → br-DSAn10-m.js} +3 -3
  77. package/dist/{br-Cuk7ORdf.js.map → br-DSAn10-m.js.map} +1 -1
  78. package/dist/{bs-DAJ3n32m.js → bs-ClCZwvZK.js} +3 -3
  79. package/dist/{bs-DAJ3n32m.js.map → bs-ClCZwvZK.js.map} +1 -1
  80. package/dist/{ca-DjrCJviy.js → ca-C29qOTnn.js} +3 -3
  81. package/dist/{ca-DjrCJviy.js.map → ca-C29qOTnn.js.map} +1 -1
  82. package/dist/{charts.fillGaps.hooks-DQr3NBBt.js → charts.fillGaps.hooks-CuEAVcgu.js} +11 -11
  83. package/dist/{charts.fillGaps.hooks-DQr3NBBt.js.map → charts.fillGaps.hooks-CuEAVcgu.js.map} +1 -1
  84. package/dist/{charts.utils-BlYgZHeT.js → charts.utils-CsL-ekdk.js} +5 -5
  85. package/dist/{charts.utils-BlYgZHeT.js.map → charts.utils-CsL-ekdk.js.map} +1 -1
  86. package/dist/{component.inputs.constants-wcCJBrGh.js → component.inputs.constants-CNRRRvsh.js} +4 -4
  87. package/dist/{component.inputs.constants-wcCJBrGh.js.map → component.inputs.constants-CNRRRvsh.js.map} +1 -1
  88. package/dist/components/editors/TextFieldPro/TextFieldPro.emb.d.ts +69 -0
  89. package/dist/components/editors/TextFieldPro/TextFieldPro.emb.d.ts.map +1 -0
  90. package/dist/components/editors/TextFieldPro/definition.d.ts +144 -0
  91. package/dist/components/editors/TextFieldPro/definition.d.ts.map +1 -0
  92. package/dist/components/editors/TextFieldPro/index.d.ts +9 -0
  93. package/dist/components/editors/TextFieldPro/index.d.ts.map +1 -0
  94. package/dist/components/editors/TextFieldPro/index.test.d.ts +2 -0
  95. package/dist/components/editors/TextFieldPro/index.test.d.ts.map +1 -0
  96. package/dist/components/shared/EmptyContainerPro/EmptyBlockPro.emb.d.ts +7 -7
  97. package/dist/components/shared/EmptyContainerPro/EmptyBlockPro.emb.d.ts.map +1 -1
  98. package/dist/components/shared/EmptyContainerPro/definition.d.ts +21 -0
  99. package/dist/components/shared/EmptyContainerPro/definition.d.ts.map +1 -0
  100. package/dist/components/shared/HorizontalDividerPro/HorizontalDividerPro.emb.d.ts +7 -7
  101. package/dist/components/shared/HorizontalDividerPro/HorizontalDividerPro.emb.d.ts.map +1 -1
  102. package/dist/components/shared/HorizontalDividerPro/definition.d.ts +62 -0
  103. package/dist/components/shared/HorizontalDividerPro/definition.d.ts.map +1 -0
  104. package/dist/components/shared/MarkdownPro/MarkdownPro.emb.d.ts +1 -1
  105. package/dist/components/shared/MarkdownPro/definition.d.ts +2 -2
  106. package/dist/{cs-zA-pQr7z.js → cs-DMxSPQQI.js} +3 -3
  107. package/dist/{cs-zA-pQr7z.js.map → cs-DMxSPQQI.js.map} +1 -1
  108. package/dist/{cv-CqEW0E49.js → cv-BizQOkR2.js} +3 -3
  109. package/dist/{cv-CqEW0E49.js.map → cv-BizQOkR2.js.map} +1 -1
  110. package/dist/{cy-D9LWiCmm.js → cy-CYFAhcCR.js} +3 -3
  111. package/dist/{cy-D9LWiCmm.js.map → cy-CYFAhcCR.js.map} +1 -1
  112. package/dist/{da-DpRvecIx.js → da-BHMvMKPZ.js} +3 -3
  113. package/dist/{da-DpRvecIx.js.map → da-BHMvMKPZ.js.map} +1 -1
  114. package/dist/dates.utils-D3E75VEi.js +169 -0
  115. package/dist/{dates.utils-B8tkcAh2.js.map → dates.utils-D3E75VEi.js.map} +1 -1
  116. package/dist/{de-o2KOAorQ.js → de-Cx4UZsM5.js} +7 -7
  117. package/dist/{de-o2KOAorQ.js.map → de-Cx4UZsM5.js.map} +1 -1
  118. package/dist/{definition-DTR391PA.js → definition-AxrzcLR_.js} +5 -5
  119. package/dist/{definition-DTR391PA.js.map → definition-AxrzcLR_.js.map} +1 -1
  120. package/dist/definition-B4ALO0PD.js +23 -0
  121. package/dist/definition-B4ALO0PD.js.map +1 -0
  122. package/dist/{definition-m7bYQnDl.js → definition-BP4nn5N1.js} +8 -8
  123. package/dist/{definition-m7bYQnDl.js.map → definition-BP4nn5N1.js.map} +1 -1
  124. package/dist/{definition-Dyf-1MxZ.js → definition-BP8FAKgD.js} +5 -5
  125. package/dist/{definition-Dyf-1MxZ.js.map → definition-BP8FAKgD.js.map} +1 -1
  126. package/dist/{definition-BXS6x1aF.js → definition-BU0Ksu9i.js} +6 -6
  127. package/dist/{definition-BXS6x1aF.js.map → definition-BU0Ksu9i.js.map} +1 -1
  128. package/dist/{definition-D-Cf2L9P.js → definition-BWjj6V_U.js} +6 -6
  129. package/dist/{definition-D-Cf2L9P.js.map → definition-BWjj6V_U.js.map} +1 -1
  130. package/dist/definition-BYKXnGby.js +43 -0
  131. package/dist/definition-BYKXnGby.js.map +1 -0
  132. package/dist/{definition-CTWBYLw4.js → definition-Bn4kaJiP.js} +7 -7
  133. package/dist/{definition-CTWBYLw4.js.map → definition-Bn4kaJiP.js.map} +1 -1
  134. package/dist/{definition-DQC4LwM-.js → definition-BpH1RlFo.js} +8 -8
  135. package/dist/{definition-DQC4LwM-.js.map → definition-BpH1RlFo.js.map} +1 -1
  136. package/dist/{definition-BMUFUoOq.js → definition-Bsn9rsPY.js} +8 -8
  137. package/dist/{definition-BMUFUoOq.js.map → definition-Bsn9rsPY.js.map} +1 -1
  138. package/dist/{definition-DYK0WhCv.js → definition-C0f_iImo.js} +8 -8
  139. package/dist/{definition-DYK0WhCv.js.map → definition-C0f_iImo.js.map} +1 -1
  140. package/dist/{definition-tLksvKhk.js → definition-CBfia0Hk.js} +6 -6
  141. package/dist/{definition-tLksvKhk.js.map → definition-CBfia0Hk.js.map} +1 -1
  142. package/dist/definition-CD-sRSxl.js +89 -0
  143. package/dist/definition-CD-sRSxl.js.map +1 -0
  144. package/dist/{definition-DJYUUfsO.js → definition-CTFPPP7-.js} +6 -6
  145. package/dist/{definition-DJYUUfsO.js.map → definition-CTFPPP7-.js.map} +1 -1
  146. package/dist/{definition-BACZZo9U.js → definition-CWvIznQG.js} +6 -6
  147. package/dist/{definition-BACZZo9U.js.map → definition-CWvIznQG.js.map} +1 -1
  148. package/dist/{definition-BeWwG-Qu.js → definition-C_mtYzBd.js} +6 -6
  149. package/dist/{definition-BeWwG-Qu.js.map → definition-C_mtYzBd.js.map} +1 -1
  150. package/dist/{definition-B79UnUV-.js → definition-Ce32SCGc.js} +10 -10
  151. package/dist/{definition-B79UnUV-.js.map → definition-Ce32SCGc.js.map} +1 -1
  152. package/dist/{definition-G9tOF0CP.js → definition-CnXw9to4.js} +6 -6
  153. package/dist/{definition-G9tOF0CP.js.map → definition-CnXw9to4.js.map} +1 -1
  154. package/dist/{definition-DSB8YaHJ.js → definition-Cu9fQ2nz.js} +5 -5
  155. package/dist/{definition-DSB8YaHJ.js.map → definition-Cu9fQ2nz.js.map} +1 -1
  156. package/dist/{definition-Bx0JfDgg.js → definition-D6l1mjPE.js} +5 -5
  157. package/dist/{definition-Bx0JfDgg.js.map → definition-D6l1mjPE.js.map} +1 -1
  158. package/dist/{definition-C31ukYUr.js → definition-D8QBA-eU.js} +5 -5
  159. package/dist/{definition-C31ukYUr.js.map → definition-D8QBA-eU.js.map} +1 -1
  160. package/dist/definition-DOF1O2AV.js +46 -0
  161. package/dist/definition-DOF1O2AV.js.map +1 -0
  162. package/dist/{definition-CDwKb2dN.js → definition-DYWiPjbJ.js} +18 -18
  163. package/dist/{definition-CDwKb2dN.js.map → definition-DYWiPjbJ.js.map} +1 -1
  164. package/dist/{definition-Bpz3efVF.js → definition-DaAhN5ck.js} +8 -8
  165. package/dist/{definition-Bpz3efVF.js.map → definition-DaAhN5ck.js.map} +1 -1
  166. package/dist/{definition-DKXoLV_S.js → definition-DlPTj3ys.js} +7 -7
  167. package/dist/{definition-DKXoLV_S.js.map → definition-DlPTj3ys.js.map} +1 -1
  168. package/dist/{definition-I8W3Xf6-.js → definition-b5K1341G.js} +6 -6
  169. package/dist/{definition-I8W3Xf6-.js.map → definition-b5K1341G.js.map} +1 -1
  170. package/dist/{definition-BdCeMhHC.js → definition-j_g5eki7.js} +8 -8
  171. package/dist/{definition-BdCeMhHC.js.map → definition-j_g5eki7.js.map} +1 -1
  172. package/dist/{definition-B6Dndc8X.js → definition-qOH7F6eg.js} +5 -5
  173. package/dist/{definition-B6Dndc8X.js.map → definition-qOH7F6eg.js.map} +1 -1
  174. package/dist/{definition-DSSGfWyV.js → definition-s-aOBxXj.js} +6 -6
  175. package/dist/{definition-DSSGfWyV.js.map → definition-s-aOBxXj.js.map} +1 -1
  176. package/dist/{definition-A2-yJ-tJ.js → definition-wjS-xbwo.js} +7 -7
  177. package/dist/{definition-A2-yJ-tJ.js.map → definition-wjS-xbwo.js.map} +1 -1
  178. package/dist/{dv-BCdc-n04.js → dv-pvUzos3d.js} +5 -5
  179. package/dist/{dv-BCdc-n04.js.map → dv-pvUzos3d.js.map} +1 -1
  180. package/dist/{el-DEYSzbSP.js → el-DHUmQBn1.js} +5 -5
  181. package/dist/{el-DEYSzbSP.js.map → el-DHUmQBn1.js.map} +1 -1
  182. package/dist/embeddable-components.json +36 -34
  183. package/dist/{en-DOHyfrat.js → en-DnMxOJbi.js} +4 -4
  184. package/dist/{en-DOHyfrat.js.map → en-DnMxOJbi.js.map} +1 -1
  185. package/dist/{eo-C0YUaLTD.js → eo-Cl_ORBP9.js} +5 -5
  186. package/dist/{eo-C0YUaLTD.js.map → eo-Cl_ORBP9.js.map} +1 -1
  187. package/dist/{es-DcAS87vc.js → es-5yPSl4rk.js} +5 -5
  188. package/dist/{es-DcAS87vc.js.map → es-5yPSl4rk.js.map} +1 -1
  189. package/dist/{et-Kuh3Ybeu.js → et-DmzNppY5.js} +3 -3
  190. package/dist/{et-Kuh3Ybeu.js.map → et-DmzNppY5.js.map} +1 -1
  191. package/dist/{eu-DovshHl_.js → eu-BUeSx0AD.js} +3 -3
  192. package/dist/{eu-DovshHl_.js.map → eu-BUeSx0AD.js.map} +1 -1
  193. package/dist/{fa-DqzaM0ye.js → fa-DRlxIXqX.js} +5 -5
  194. package/dist/{fa-DqzaM0ye.js.map → fa-DRlxIXqX.js.map} +1 -1
  195. package/dist/{fi-B4g9wFwF.js → fi-CI5vCmQs.js} +3 -3
  196. package/dist/{fi-B4g9wFwF.js.map → fi-CI5vCmQs.js.map} +1 -1
  197. package/dist/{fo-C4qUomw-.js → fo-CbwD6aKi.js} +3 -3
  198. package/dist/{fo-C4qUomw-.js.map → fo-CbwD6aKi.js.map} +1 -1
  199. package/dist/{fr-CPCT5cbZ.js → fr-GA12HLOd.js} +3 -3
  200. package/dist/{fr-CPCT5cbZ.js.map → fr-GA12HLOd.js.map} +1 -1
  201. package/dist/{fy-BomadC2U.js → fy-DZNQlX1t.js} +3 -3
  202. package/dist/{fy-BomadC2U.js.map → fy-DZNQlX1t.js.map} +1 -1
  203. package/dist/{ga-Cng1RhcU.js → ga-PYAI761N.js} +3 -3
  204. package/dist/{ga-Cng1RhcU.js.map → ga-PYAI761N.js.map} +1 -1
  205. package/dist/{gd-QsCA6mcT.js → gd-tr4ruQwL.js} +3 -3
  206. package/dist/{gd-QsCA6mcT.js.map → gd-tr4ruQwL.js.map} +1 -1
  207. package/dist/{gl-B-G7j7bt.js → gl-BWRMJ6N_.js} +3 -3
  208. package/dist/{gl-B-G7j7bt.js.map → gl-BWRMJ6N_.js.map} +1 -1
  209. package/dist/{granularity.utils-Aatamp-_.js → granularity.utils-BigKv7gb.js} +5 -5
  210. package/dist/{granularity.utils-Aatamp-_.js.map → granularity.utils-BigKv7gb.js.map} +1 -1
  211. package/dist/{gu-9bR4qu0u.js → gu-DKm7Xugh.js} +5 -5
  212. package/dist/{gu-9bR4qu0u.js.map → gu-DKm7Xugh.js.map} +1 -1
  213. package/dist/{he--mV3JbfN.js → he-BktO6ydD.js} +5 -5
  214. package/dist/{he--mV3JbfN.js.map → he-BktO6ydD.js.map} +1 -1
  215. package/dist/{hi-DqxAYprl.js → hi-C1Uo934G.js} +5 -5
  216. package/dist/{hi-DqxAYprl.js.map → hi-C1Uo934G.js.map} +1 -1
  217. package/dist/{hr-4MengmDN.js → hr-pMshv9vT.js} +5 -5
  218. package/dist/{hr-4MengmDN.js.map → hr-pMshv9vT.js.map} +1 -1
  219. package/dist/{ht-BTRhk_kp.js → ht-CL1yJbq0.js} +3 -3
  220. package/dist/{ht-BTRhk_kp.js.map → ht-CL1yJbq0.js.map} +1 -1
  221. package/dist/{hu-D_mF9Tyk.js → hu-BgobG2Vp.js} +7 -7
  222. package/dist/{hu-D_mF9Tyk.js.map → hu-BgobG2Vp.js.map} +1 -1
  223. package/dist/{id-CQTnhwwL.js → id-DVocgmIz.js} +5 -5
  224. package/dist/{id-CQTnhwwL.js.map → id-DVocgmIz.js.map} +1 -1
  225. package/dist/index-B6PlsjQl.js +10 -0
  226. package/dist/index-B6PlsjQl.js.map +1 -0
  227. package/dist/{index-CeHVQdh8.js → index-D3wOlvn9.js} +32 -30
  228. package/dist/{index-CeHVQdh8.js.map → index-D3wOlvn9.js.map} +1 -1
  229. package/dist/{index-CYPbtEro.js → index-eUS8Vqmt.js} +2 -2
  230. package/dist/{index-CYPbtEro.js.map → index-eUS8Vqmt.js.map} +1 -1
  231. package/dist/index.d.ts +9 -0
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +126 -114
  234. package/dist/index.js.map +1 -1
  235. package/dist/{is-vn9dFPNe.js → is-B2YZtn5g.js} +3 -3
  236. package/dist/{is-vn9dFPNe.js.map → is-B2YZtn5g.js.map} +1 -1
  237. package/dist/{it-CH1pAtvg.js → it-dx19zX7w.js} +3 -3
  238. package/dist/{it-CH1pAtvg.js.map → it-dx19zX7w.js.map} +1 -1
  239. package/dist/{ja-CsenQBxt.js → ja-4DmNjY9e.js} +3 -3
  240. package/dist/{ja-CsenQBxt.js.map → ja-4DmNjY9e.js.map} +1 -1
  241. package/dist/{jv-CVTdSltx.js → jv-86FJ8g_y.js} +3 -3
  242. package/dist/{jv-CVTdSltx.js.map → jv-86FJ8g_y.js.map} +1 -1
  243. package/dist/{ka-DaOwjbyh.js → ka-2VRS_tNr.js} +5 -5
  244. package/dist/{ka-DaOwjbyh.js.map → ka-2VRS_tNr.js.map} +1 -1
  245. package/dist/{kk-BcF2K48J.js → kk-dzocVcoD.js} +5 -5
  246. package/dist/{kk-BcF2K48J.js.map → kk-dzocVcoD.js.map} +1 -1
  247. package/dist/{km-DzVjmb4Z.js → km-7os2ymU5.js} +5 -5
  248. package/dist/{km-DzVjmb4Z.js.map → km-7os2ymU5.js.map} +1 -1
  249. package/dist/{kn-CtzjLduC.js → kn-DTBQsO7Y.js} +5 -5
  250. package/dist/{kn-CtzjLduC.js.map → kn-DTBQsO7Y.js.map} +1 -1
  251. package/dist/{ko-CqBr6JjZ.js → ko-B74qeftS.js} +5 -5
  252. package/dist/{ko-CqBr6JjZ.js.map → ko-B74qeftS.js.map} +1 -1
  253. package/dist/{ku-CoInUHWc.js → ku-NIjttHpt.js} +3 -3
  254. package/dist/{ku-CoInUHWc.js.map → ku-NIjttHpt.js.map} +1 -1
  255. package/dist/{ky-DgWFWGT-.js → ky-CwGENX4f.js} +3 -3
  256. package/dist/{ky-DgWFWGT-.js.map → ky-CwGENX4f.js.map} +1 -1
  257. package/dist/{lb-CJ1Ibsh0.js → lb-NibvCcmh.js} +3 -3
  258. package/dist/{lb-CJ1Ibsh0.js.map → lb-NibvCcmh.js.map} +1 -1
  259. package/dist/{lo-ChtSml_b.js → lo-CnUkzu86.js} +5 -5
  260. package/dist/{lo-ChtSml_b.js.map → lo-CnUkzu86.js.map} +1 -1
  261. package/dist/{lt-DQ7tYDns.js → lt-Q5L9WrUi.js} +3 -3
  262. package/dist/{lt-DQ7tYDns.js.map → lt-Q5L9WrUi.js.map} +1 -1
  263. package/dist/{lv-_3flnKc8.js → lv-6Mq_Wq_-.js} +3 -3
  264. package/dist/{lv-_3flnKc8.js.map → lv-6Mq_Wq_-.js.map} +1 -1
  265. package/dist/{me-DOdXNlcp.js → me-BK6Fnaok.js} +3 -3
  266. package/dist/{me-DOdXNlcp.js.map → me-BK6Fnaok.js.map} +1 -1
  267. package/dist/{mi-DFpsXzYn.js → mi-CGLMKFkB.js} +3 -3
  268. package/dist/{mi-DFpsXzYn.js.map → mi-CGLMKFkB.js.map} +1 -1
  269. package/dist/{mk-C6PSBOmZ.js → mk-CZ8G7wp3.js} +5 -5
  270. package/dist/{mk-C6PSBOmZ.js.map → mk-CZ8G7wp3.js.map} +1 -1
  271. package/dist/{ml-D8VAKSlu.js → ml-D7o8zJDT.js} +5 -5
  272. package/dist/{ml-D8VAKSlu.js.map → ml-D7o8zJDT.js.map} +1 -1
  273. package/dist/{mn-Df27aHTq.js → mn-DFkFz0BK.js} +5 -5
  274. package/dist/{mn-Df27aHTq.js.map → mn-DFkFz0BK.js.map} +1 -1
  275. package/dist/{mr-TC3DCCMK.js → mr-1R9UT7NO.js} +3 -3
  276. package/dist/{mr-TC3DCCMK.js.map → mr-1R9UT7NO.js.map} +1 -1
  277. package/dist/{ms-CeJA0BPb.js → ms-Cfb64blT.js} +3 -3
  278. package/dist/{ms-CeJA0BPb.js.map → ms-Cfb64blT.js.map} +1 -1
  279. package/dist/{mt-DETVsFMY.js → mt-gkVGVOzF.js} +5 -5
  280. package/dist/{mt-DETVsFMY.js.map → mt-gkVGVOzF.js.map} +1 -1
  281. package/dist/{my-wZJSPbDe.js → my-CL7SUvm8.js} +3 -3
  282. package/dist/{my-wZJSPbDe.js.map → my-CL7SUvm8.js.map} +1 -1
  283. package/dist/{nb-99JEr60n.js → nb-D2jZpOc9.js} +3 -3
  284. package/dist/{nb-99JEr60n.js.map → nb-D2jZpOc9.js.map} +1 -1
  285. package/dist/{ne-D_v9392K.js → ne-DPAJkrbQ.js} +3 -3
  286. package/dist/{ne-D_v9392K.js.map → ne-DPAJkrbQ.js.map} +1 -1
  287. package/dist/{nl-DbICG9-s.js → nl-GHAYEpfT.js} +5 -5
  288. package/dist/{nl-DbICG9-s.js.map → nl-GHAYEpfT.js.map} +1 -1
  289. package/dist/{nn-BjLNu5z3.js → nn-BDUJm5oa.js} +5 -5
  290. package/dist/{nn-BjLNu5z3.js.map → nn-BDUJm5oa.js.map} +1 -1
  291. package/dist/{pies.utils-CBTJBsiN.js → pies.utils-CFBxfonj.js} +4 -4
  292. package/dist/{pies.utils-CBTJBsiN.js.map → pies.utils-CFBxfonj.js.map} +1 -1
  293. package/dist/{pl-DL3ex-0R.js → pl-qBglIGhY.js} +3 -3
  294. package/dist/{pl-DL3ex-0R.js.map → pl-qBglIGhY.js.map} +1 -1
  295. package/dist/{preview.data.constants-D-OHaJ8F.js → preview.data.constants-D1HZ67VS.js} +3 -3
  296. package/dist/{preview.data.constants-D-OHaJ8F.js.map → preview.data.constants-D1HZ67VS.js.map} +1 -1
  297. package/dist/{pt-C1llzzSQ.js → pt-a8HzePT-.js} +5 -5
  298. package/dist/{pt-C1llzzSQ.js.map → pt-a8HzePT-.js.map} +1 -1
  299. package/dist/{quarterOfYear-Di6-Vznz.js → quarterOfYear-D2IgLNnH.js} +7 -7
  300. package/dist/{quarterOfYear-Di6-Vznz.js.map → quarterOfYear-D2IgLNnH.js.map} +1 -1
  301. package/dist/remarkable-pro.css +1 -1
  302. package/dist/{ro-CVmSv0XV.js → ro-F3d2EIBA.js} +5 -5
  303. package/dist/{ro-CVmSv0XV.js.map → ro-F3d2EIBA.js.map} +1 -1
  304. package/dist/{ru-BMCr4YWw.js → ru-_Lvi_pED.js} +3 -3
  305. package/dist/{ru-BMCr4YWw.js.map → ru-_Lvi_pED.js.map} +1 -1
  306. package/dist/{rw-CQqWdx9-.js → rw-sO7Xw9NO.js} +3 -3
  307. package/dist/{rw-CQqWdx9-.js.map → rw-sO7Xw9NO.js.map} +1 -1
  308. package/dist/{sd-OTaNqWHO.js → sd-CoaJVftw.js} +5 -5
  309. package/dist/{sd-OTaNqWHO.js.map → sd-CoaJVftw.js.map} +1 -1
  310. package/dist/{se-BNoHZuBu.js → se-uG6o0c20.js} +3 -3
  311. package/dist/{se-BNoHZuBu.js.map → se-uG6o0c20.js.map} +1 -1
  312. package/dist/{si-Cgc6O-Qn.js → si-B2LysnDA.js} +5 -5
  313. package/dist/{si-Cgc6O-Qn.js.map → si-B2LysnDA.js.map} +1 -1
  314. package/dist/{sk-DVh5-SRO.js → sk-D0ZzIyZE.js} +6 -6
  315. package/dist/{sk-DVh5-SRO.js.map → sk-D0ZzIyZE.js.map} +1 -1
  316. package/dist/{sl-DKfUEGV8.js → sl-DMPskdXm.js} +7 -7
  317. package/dist/{sl-DKfUEGV8.js.map → sl-DMPskdXm.js.map} +1 -1
  318. package/dist/{sq-CsVpz_h8.js → sq-lGzT5uKO.js} +3 -3
  319. package/dist/{sq-CsVpz_h8.js.map → sq-lGzT5uKO.js.map} +1 -1
  320. package/dist/{sr-BWeHJX1V.js → sr-CISnUrtz.js} +3 -3
  321. package/dist/{sr-BWeHJX1V.js.map → sr-CISnUrtz.js.map} +1 -1
  322. package/dist/{ss-WOzM-F-Q.js → ss-CYA7jCos.js} +3 -3
  323. package/dist/{ss-WOzM-F-Q.js.map → ss-CYA7jCos.js.map} +1 -1
  324. package/dist/{sv-DtSrwoDt.js → sv-BneaTv1-.js} +3 -3
  325. package/dist/{sv-DtSrwoDt.js.map → sv-BneaTv1-.js.map} +1 -1
  326. package/dist/{sw-C3rXqeb5.js → sw-BkJdXgf2.js} +5 -5
  327. package/dist/{sw-C3rXqeb5.js.map → sw-BkJdXgf2.js.map} +1 -1
  328. package/dist/{ta-CHBCCcxc.js → ta-CN0enTZj.js} +5 -5
  329. package/dist/{ta-CHBCCcxc.js.map → ta-CN0enTZj.js.map} +1 -1
  330. package/dist/{tables.utils-DZqSWyHn.js → tables.utils-EBz0SoE-.js} +4 -4
  331. package/dist/{tables.utils-DZqSWyHn.js.map → tables.utils-EBz0SoE-.js.map} +1 -1
  332. package/dist/{te-h4knV5gZ.js → te-RBMP4vbo.js} +5 -5
  333. package/dist/{te-h4knV5gZ.js.map → te-RBMP4vbo.js.map} +1 -1
  334. package/dist/{tet-DJ_GW0Vj.js → tet-p7Gq1cxO.js} +3 -3
  335. package/dist/{tet-DJ_GW0Vj.js.map → tet-p7Gq1cxO.js.map} +1 -1
  336. package/dist/{tg-DsxJE7RS.js → tg-Cz5rcIFE.js} +5 -5
  337. package/dist/{tg-DsxJE7RS.js.map → tg-Cz5rcIFE.js.map} +1 -1
  338. package/dist/{th-DpiL0k5W.js → th-y4Ooy6TB.js} +5 -5
  339. package/dist/{th-DpiL0k5W.js.map → th-y4Ooy6TB.js.map} +1 -1
  340. package/dist/{tk-B1T-QQqH.js → tk-Cid10Asm.js} +3 -3
  341. package/dist/{tk-B1T-QQqH.js.map → tk-Cid10Asm.js.map} +1 -1
  342. package/dist/{tlh-yhjfR3f5.js → tlh-BkD8ilke.js} +3 -3
  343. package/dist/{tlh-yhjfR3f5.js.map → tlh-BkD8ilke.js.map} +1 -1
  344. package/dist/{tr-BBUOFaIX.js → tr--0WfqfyX.js} +3 -3
  345. package/dist/{tr-BBUOFaIX.js.map → tr--0WfqfyX.js.map} +1 -1
  346. package/dist/{tzl-CLmIHb4j.js → tzl-r_iKHtF6.js} +3 -3
  347. package/dist/{tzl-CLmIHb4j.js.map → tzl-r_iKHtF6.js.map} +1 -1
  348. package/dist/{tzm-i0EKRCpE.js → tzm-Bc-MMr7G.js} +5 -5
  349. package/dist/{tzm-i0EKRCpE.js.map → tzm-Bc-MMr7G.js.map} +1 -1
  350. package/dist/{uk-BnuGB3R-.js → uk-DPpwhMHf.js} +3 -3
  351. package/dist/{uk-BnuGB3R-.js.map → uk-DPpwhMHf.js.map} +1 -1
  352. package/dist/{ur-BTn8sdzD.js → ur-CQBXg7nO.js} +5 -5
  353. package/dist/{ur-BTn8sdzD.js.map → ur-CQBXg7nO.js.map} +1 -1
  354. package/dist/{utc-B85LwV_u.js → utc-DFMtRhWZ.js} +34 -34
  355. package/dist/{utc-B85LwV_u.js.map → utc-DFMtRhWZ.js.map} +1 -1
  356. package/dist/{uz-C4zbbste.js → uz-DVKxv2QI.js} +5 -5
  357. package/dist/{uz-C4zbbste.js.map → uz-DVKxv2QI.js.map} +1 -1
  358. package/dist/{vi-BGSVPkmr.js → vi-XVfeMEM9.js} +3 -3
  359. package/dist/{vi-BGSVPkmr.js.map → vi-XVfeMEM9.js.map} +1 -1
  360. package/dist/{x-pseudo-CkniwI5g.js → x-pseudo-Df3JNAFe.js} +3 -3
  361. package/dist/{x-pseudo-CkniwI5g.js.map → x-pseudo-Df3JNAFe.js.map} +1 -1
  362. package/dist/{yo-BKQoYM97.js → yo-CHgdOXC0.js} +3 -3
  363. package/dist/{yo-BKQoYM97.js.map → yo-CHgdOXC0.js.map} +1 -1
  364. package/dist/{zh-cn-CUx8SU0w.js → zh-cn-DTng-BqK.js} +3 -3
  365. package/dist/{zh-cn-CUx8SU0w.js.map → zh-cn-DTng-BqK.js.map} +1 -1
  366. package/dist/{zh-hk-CPOznMld.js → zh-hk-DvcBC01L.js} +3 -3
  367. package/dist/{zh-hk-CPOznMld.js.map → zh-hk-DvcBC01L.js.map} +1 -1
  368. package/dist/{zh-tw-DzUcXZG3.js → zh-tw-CWU5L3PW.js} +3 -3
  369. package/dist/{zh-tw-DzUcXZG3.js.map → zh-tw-CWU5L3PW.js.map} +1 -1
  370. package/package.json +1 -1
  371. package/dist/dates.utils-B8tkcAh2.js +0 -169
  372. package/dist/index-CzKKN6Om.js +0 -9
  373. package/dist/index-CzKKN6Om.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"definition-Dyf-1MxZ.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx","../src/components/editors/ComparisonPeriodSelectFieldPro/definition.ts"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.38.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 18a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { resolveI18nString } from '../../component.utils';\nimport { getTimeRangeLabel } from '../dates/dates.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { useEffect, useMemo } from 'react';\nimport { getTimeRangeFromPresets } from '../dates/dates.utils';\n\nexport type DateComparisonSelectFieldPro = {\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n} & EditorCardHeaderProps;\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n const { comparisonPeriod, onChange } = props;\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromPresets(\n props.primaryDateRange,\n theme.defaults.dateRangesOptions,\n );\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from './index';\nimport ComparisonPeriodType from '../../types/ComparisonPeriod.type.emb';\nimport { inputs } from '../../component.inputs.constants';\n\nconst meta = {\n name: 'ComparisonPeriodSelectFieldPro',\n label: 'Comparison Period Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-comparison' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n category: 'Pre-configured variables',\n description: 'Pick the main time period. The comparison range is based on this selection.',\n },\n {\n ...inputs.comparisonPeriod,\n label: 'Selected comparison period',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected comparison-period updated',\n properties: [\n {\n name: 'value',\n label: 'Selected comparison-period',\n type: ComparisonPeriodType,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'comparison-period value',\n type: ComparisonPeriodType,\n defaultValue: Value.noFilter(),\n inputs: ['comparisonPeriod'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => inputs;\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: value || Value.noFilter(),\n };\n },\n};\n\nexport const comparisonPeriodSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","tooltip","resolveI18nProps","comparisonPeriod","onChange","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromPresets","options","jsx","EditorCard","SingleSelectField","i18n","meta","inputs","ComparisonPeriodType","Value","preview","definePreview","Component","events","value","comparisonPeriodSelectFieldPro"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"definition-BP8FAKgD.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx","../src/components/editors/ComparisonPeriodSelectFieldPro/definition.ts"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.38.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 18a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { resolveI18nString } from '../../component.utils';\nimport { getTimeRangeLabel } from '../dates/dates.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { useEffect, useMemo } from 'react';\nimport { getTimeRangeFromPresets } from '../dates/dates.utils';\n\nexport type DateComparisonSelectFieldPro = {\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n} & EditorCardHeaderProps;\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n const { comparisonPeriod, onChange } = props;\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromPresets(\n props.primaryDateRange,\n theme.defaults.dateRangesOptions,\n );\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from './index';\nimport ComparisonPeriodType from '../../types/ComparisonPeriod.type.emb';\nimport { inputs } from '../../component.inputs.constants';\n\nconst meta = {\n name: 'ComparisonPeriodSelectFieldPro',\n label: 'Comparison Period Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-comparison' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n category: 'Pre-configured variables',\n description: 'Pick the main time period. The comparison range is based on this selection.',\n },\n {\n ...inputs.comparisonPeriod,\n label: 'Selected comparison period',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected comparison-period updated',\n properties: [\n {\n name: 'value',\n label: 'Selected comparison-period',\n type: ComparisonPeriodType,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'comparison-period value',\n type: ComparisonPeriodType,\n defaultValue: Value.noFilter(),\n inputs: ['comparisonPeriod'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => inputs;\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: value || Value.noFilter(),\n };\n },\n};\n\nexport const comparisonPeriodSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","tooltip","resolveI18nProps","comparisonPeriod","onChange","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromPresets","options","jsx","EditorCard","SingleSelectField","i18n","meta","inputs","ComparisonPeriodType","Value","preview","definePreview","Component","events","value","comparisonPeriodSelectFieldPro"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,10 +1,10 @@
1
1
  import { useTheme as y, definePreview as P } from "@embeddable.com/react";
2
- import { j as s, o as D, V as r } from "./index-CeHVQdh8.js";
3
- import { u as w, c as S, g as V, a as j } from "./dates.utils-B8tkcAh2.js";
2
+ import { j as s, v as D, V as r } from "./index-D3wOlvn9.js";
3
+ import { u as w, c as S, g as V, a as j } from "./dates.utils-D3E75VEi.js";
4
4
  import { a as M, r as T, i as k } from "./component.utils-_CF49NeV.js";
5
- import { E as x } from "./EditorCard-xBCZTXiG.js";
6
- import { I as F } from "./IconCalendarFilled-CVkB_sR0.js";
7
- import { i as e } from "./component.inputs.constants-wcCJBrGh.js";
5
+ import { E as x } from "./EditorCard-Cof5a9zj.js";
6
+ import { I as F } from "./IconCalendarFilled-DhaKl-zg.js";
7
+ import { i as e } from "./component.inputs.constants-CNRRRvsh.js";
8
8
  const n = (a) => {
9
9
  const t = y();
10
10
  M(t);
@@ -102,4 +102,4 @@ export {
102
102
  J as d,
103
103
  G as i
104
104
  };
105
- //# sourceMappingURL=definition-BXS6x1aF.js.map
105
+ //# sourceMappingURL=definition-BU0Ksu9i.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-BXS6x1aF.js","sources":["../src/components/editors/dates/DateRangePickerCustomPro/index.tsx","../src/components/editors/dates/DateRangePickerCustomPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { DateRange, DateRangePickerField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeLabel,\n} from '../dates.utils';\nimport { IconCalendarFilled } from '@tabler/icons-react';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n clearable?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n const { onChange, clearable, selectedValue, showTwoMonths } = props;\n\n const handleChange = (newDateRange: DateRange | undefined) => {\n const timeRange: TimeRange = getTimeRangeFromDateRange(newDateRange);\n onChange(timeRange);\n };\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n const displayValue = getTimeRangeLabel(selectedValue, 'MMM DD', dateRangeOptions);\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DateRangePickerField\n startIcon={IconCalendarFilled}\n locale={locale}\n clearable={clearable}\n placeholder={placeholder}\n displayValue={displayValue}\n numberOfMonths={showTwoMonths ? 2 : 1}\n value={getDateRangeFromTimeRange(selectedValue, dateRangeOptions)}\n onChange={handleChange}\n submitLabel={i18n.t('editors.dateRangePicker.apply')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangePickerCustomPro',\n label: 'Date-Range Picker - Custom',\n category: 'Dropdowns',\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 inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two months',\n defaultValue: false,\n category: 'Component Settings',\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 },\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 onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (range: unknown) => ({\n value: range ?? Value.noFilter(),\n }),\n};\n\nexport const dateRangePickerCustomPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","description","placeholder","title","tooltip","resolveI18nProps","onChange","clearable","selectedValue","showTwoMonths","handleChange","newDateRange","timeRange","getTimeRangeFromDateRange","dateRangeOptions","displayValue","getTimeRangeLabel","locale","jsx","EditorCard","DateRangePickerField","IconCalendarFilled","getDateRangeFromTimeRange","i18n","meta","inputs","Value","preview","definePreview","Component","events","range","dateRangePickerCustomPro"],"mappings":";;;;;;;AAuBA,MAAMA,IAAyB,CAACC,MAAuC;AACrE,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,kBAAAG,EAAA,IAAqBC,EAAA;AAE7B,MAAI,CAACD;AACH,WAAO;AAGT,QAAM,EAAE,aAAAE,GAAa,aAAAC,GAAa,OAAAC,GAAO,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GACrE,EAAE,UAAAW,GAAU,WAAAC,GAAW,eAAAC,GAAe,eAAAC,MAAkBd,GAExDe,IAAe,CAACC,MAAwC;AAC5D,UAAMC,IAAuBC,EAA0BF,CAAY;AACnE,IAAAL,EAASM,CAAS;AAAA,EACpB,GAEME,IAAmBlB,EAAM,SAAS,mBAClCmB,IAAeC,EAAkBR,GAAe,UAAUM,CAAgB,GAE1EG,IAASrB,EAAM,KAAK,YAAYA,EAAM,UAAU;AAEtD,SACEsB,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,aAAAF,GAA0B,SAAAG,GAClD,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,MACX,QAAAJ;AAAA,MACA,WAAAV;AAAA,MACA,aAAAL;AAAA,MACA,cAAAa;AAAA,MACA,gBAAgBN,IAAgB,IAAI;AAAA,MACpC,OAAOa,EAA0Bd,GAAeM,CAAgB;AAAA,MAChE,UAAUJ;AAAA,MACV,aAAaa,EAAK,EAAE,+BAA+B;AAAA,MACnD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;8CCzDMC,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,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,sBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,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,eAAe;AAAA,MACxB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,UAAU,MAAM;AAClB,CAAC,GAEKlC,IAAQ,CAAC8B,OACN;AAAA,EACL,GAAGA;AAAA,IAIDK,IAAS;AAAA,EACb,UAAU,CAACC,OAAoB;AAAA,IAC7B,OAAOA,KAASL,EAAM,SAAA;AAAA,EAAS;AAEnC,GAEaM,IAA2B;AAAA,EAAA,WACtCH;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAhC;AAAA,IACA,QAAAmC;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"definition-BU0Ksu9i.js","sources":["../src/components/editors/dates/DateRangePickerCustomPro/index.tsx","../src/components/editors/dates/DateRangePickerCustomPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { DateRange, DateRangePickerField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeLabel,\n} from '../dates.utils';\nimport { IconCalendarFilled } from '@tabler/icons-react';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n clearable?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n const { onChange, clearable, selectedValue, showTwoMonths } = props;\n\n const handleChange = (newDateRange: DateRange | undefined) => {\n const timeRange: TimeRange = getTimeRangeFromDateRange(newDateRange);\n onChange(timeRange);\n };\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n const displayValue = getTimeRangeLabel(selectedValue, 'MMM DD', dateRangeOptions);\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DateRangePickerField\n startIcon={IconCalendarFilled}\n locale={locale}\n clearable={clearable}\n placeholder={placeholder}\n displayValue={displayValue}\n numberOfMonths={showTwoMonths ? 2 : 1}\n value={getDateRangeFromTimeRange(selectedValue, dateRangeOptions)}\n onChange={handleChange}\n submitLabel={i18n.t('editors.dateRangePicker.apply')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangePickerCustomPro',\n label: 'Date-Range Picker - Custom',\n category: 'Dropdowns',\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 inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two months',\n defaultValue: false,\n category: 'Component Settings',\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 },\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 onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (range: unknown) => ({\n value: range ?? Value.noFilter(),\n }),\n};\n\nexport const dateRangePickerCustomPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","description","placeholder","title","tooltip","resolveI18nProps","onChange","clearable","selectedValue","showTwoMonths","handleChange","newDateRange","timeRange","getTimeRangeFromDateRange","dateRangeOptions","displayValue","getTimeRangeLabel","locale","jsx","EditorCard","DateRangePickerField","IconCalendarFilled","getDateRangeFromTimeRange","i18n","meta","inputs","Value","preview","definePreview","Component","events","range","dateRangePickerCustomPro"],"mappings":";;;;;;;AAuBA,MAAMA,IAAyB,CAACC,MAAuC;AACrE,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,kBAAAG,EAAA,IAAqBC,EAAA;AAE7B,MAAI,CAACD;AACH,WAAO;AAGT,QAAM,EAAE,aAAAE,GAAa,aAAAC,GAAa,OAAAC,GAAO,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GACrE,EAAE,UAAAW,GAAU,WAAAC,GAAW,eAAAC,GAAe,eAAAC,MAAkBd,GAExDe,IAAe,CAACC,MAAwC;AAC5D,UAAMC,IAAuBC,EAA0BF,CAAY;AACnE,IAAAL,EAASM,CAAS;AAAA,EACpB,GAEME,IAAmBlB,EAAM,SAAS,mBAClCmB,IAAeC,EAAkBR,GAAe,UAAUM,CAAgB,GAE1EG,IAASrB,EAAM,KAAK,YAAYA,EAAM,UAAU;AAEtD,SACEsB,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,aAAAF,GAA0B,SAAAG,GAClD,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,MACX,QAAAJ;AAAA,MACA,WAAAV;AAAA,MACA,aAAAL;AAAA,MACA,cAAAa;AAAA,MACA,gBAAgBN,IAAgB,IAAI;AAAA,MACpC,OAAOa,EAA0Bd,GAAeM,CAAgB;AAAA,MAChE,UAAUJ;AAAA,MACV,aAAaa,EAAK,EAAE,+BAA+B;AAAA,MACnD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;8CCzDMC,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,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,sBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,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,eAAe;AAAA,MACxB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,UAAU,MAAM;AAClB,CAAC,GAEKlC,IAAQ,CAAC8B,OACN;AAAA,EACL,GAAGA;AAAA,IAIDK,IAAS;AAAA,EACb,UAAU,CAACC,OAAoB;AAAA,IAC7B,OAAOA,KAASL,EAAM,SAAA;AAAA,EAAS;AAEnC,GAEaM,IAA2B;AAAA,EAAA,WACtCH;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAhC;AAAA,IACA,QAAAmC;AAAA,EAAA;AAEJ;"}
@@ -1,11 +1,11 @@
1
- import { b as v, u as X, h as Y, j as L, i as Z, k as $, V as ee, m as ae, l as P } from "./index-CeHVQdh8.js";
1
+ import { b as v, u as X, h as Y, j as L, i as Z, k as $, V as ee, m as ae, l as P } from "./index-D3wOlvn9.js";
2
2
  import { useTheme as oe, definePreview as se } from "@embeddable.com/react";
3
3
  import { a as ne, r as te, i as ie } from "./component.utils-_CF49NeV.js";
4
- import { C as le } from "./ChartCard-tzNf4sgN.js";
4
+ import { C as le } from "./ChartCard-DjUR715I.js";
5
5
  import { useState as re, useRef as de, useCallback as ce, useEffect as w } from "react";
6
- import { b as me, c as ue } from "./tables.utils-DZqSWyHn.js";
7
- import { i as t, s as M } from "./component.inputs.constants-wcCJBrGh.js";
8
- import { p } from "./preview.data.constants-D-OHaJ8F.js";
6
+ import { b as me, c as ue } from "./tables.utils-EBz0SoE-.js";
7
+ import { i as t, s as M } from "./component.inputs.constants-CNRRRvsh.js";
8
+ import { p } from "./preview.data.constants-D1HZ67VS.js";
9
9
  const ge = v("--em-tablechart-cell-height", "2.5rem"), he = v("--em-tablechart-cell-height", "2.5rem"), pe = v("--em-tablechart-pagination-height", "3rem");
10
10
  let j;
11
11
  const k = (a) => {
@@ -251,4 +251,4 @@ export {
251
251
  ye as i,
252
252
  Se as t
253
253
  };
254
- //# sourceMappingURL=definition-D-Cf2L9P.js.map
254
+ //# sourceMappingURL=definition-BWjj6V_U.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-D-Cf2L9P.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n hasTotalResults: boolean;\n};\n\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState?.((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Sync total from results\n useEffect(() => {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: false,\n }));\n }, [dimensionsAndMeasures, pageSize]);\n\n useEffect(() => {\n if (totalResults?.total) {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: true,\n }));\n }\n }, [totalResults]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import { DataResponse, LoadDataRequest, OrderBy, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport { mergician } from 'mergician';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.dimensionsAndMeasures,\n label: 'Columns',\n inputs: [\n ...inputs.dimensionsAndMeasures.inputs,\n subInputs.width,\n subInputs.align,\n subInputs.tableCellStyle,\n ],\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n {\n ...inputs.boolean,\n name: 'showIndex',\n label: 'Show index column',\n defaultValue: true,\n category: 'Component Settings',\n },\n inputs.displayNullAs,\n { ...inputs.maxResults, label: 'Max results to download' },\n {\n ...inputs.dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n ],\n events: [\n {\n name: 'onRowClicked',\n label: 'A row is clicked',\n properties: [\n {\n name: 'rowDimensionValue',\n label: 'Clicked row dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewMaxResults = 3;\n\nconst previewConfig = {\n dimensionsAndMeasures: [previewData.dimension, previewData.dimensionGroup, previewData.measure],\n results: {\n ...previewData.results1Measure2Dimensions,\n data: previewData.results1Measure2Dimensions.data?.slice(0, previewMaxResults),\n },\n totalResults: { data: [], total: previewMaxResults, isLoading: false },\n state: {\n page: 0,\n pageSize: previewMaxResults,\n isLoadingDownloadData: false,\n hasTotalResults: true,\n hideMenu: true,\n },\n hideMenu: true,\n};\n\nconst preview = definePreview(TablePaginatedChart, previewConfig);\n\nexport const defaultTableChartPaginatedState: TableChartPaginatedProState = {\n page: 0,\n pageSize: undefined,\n sort: undefined,\n isLoadingDownloadData: false,\n hasTotalResults: true,\n};\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: page * pageSize,\n limit: pageSize,\n orderBy,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse =>\n loadData(loadDataResultsArgs(inputs, page, pageSize, orderBy, dimensionsAndMeasuresToLoad));\n\nconst loadDataTotalResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: 0,\n limit: 0,\n countRows: true,\n});\n\nconst loadDataTotalResults = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse => loadData(loadDataTotalResultsArgs(inputs, dimensionsAndMeasuresToLoad));\n\nconst loadDataAllResultsArgs = (\n inputs: Inputs<typeof meta>,\n orderBy: OrderBy[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n});\n\nconst loadDataAllResults = (inputs: Inputs<typeof meta>, orderBy: OrderBy[]): DataResponse =>\n loadData(loadDataAllResultsArgs(inputs, orderBy));\n\nconst events = {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => ({\n rowDimensionValue: rowDimensionValue !== undefined ? rowDimensionValue : Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n) => {\n const orderDimensionAndMeasure = inputs.dimensionsAndMeasures.find(\n (x) => x.name === state?.sort?.id,\n );\n\n const orderBy: OrderBy[] =\n orderDimensionAndMeasure && state?.sort\n ? [{ property: orderDimensionAndMeasure, direction: state.sort.direction }]\n : [];\n\n const clickDimensionInDimensionsAndMeasures = inputs.dimensionsAndMeasures.some(\n (dimOrMeas) => dimOrMeas.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n ...(clickDimensionInDimensionsAndMeasures ? [] : [inputs.clickDimension]),\n ];\n\n return {\n ...inputs,\n state: mergician(defaultTableChartPaginatedState, state ?? {}),\n setState,\n results: state?.pageSize\n ? loadDataResults(inputs, state.page, state.pageSize, orderBy, dimensionsAndMeasuresToLoad)\n : undefined,\n totalResults: !state?.hasTotalResults\n ? loadDataTotalResults(inputs, dimensionsAndMeasuresToLoad)\n : undefined,\n allResults: state?.isLoadingDownloadData ? loadDataAllResults(inputs, orderBy) : undefined,\n };\n};\n\nexport const tableChartPaginated = {\n Component: TablePaginatedChart,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n totalResults: {\n loadDataArgs: loadDataTotalResultsArgs,\n loadData: loadDataTotalResults,\n },\n allResults: {\n loadDataArgs: loadDataAllResultsArgs,\n loadData: loadDataAllResults,\n },\n} as const;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage","meta","inputs","subInputs","previewMaxResults","previewConfig","previewData","preview","definePreview","TablePaginatedChart","defaultTableChartPaginatedState","loadDataResultsArgs","page","orderBy","dimensionsAndMeasuresToLoad","loadDataResults","loadData","loadDataTotalResultsArgs","loadDataTotalResults","loadDataAllResultsArgs","loadDataAllResults","events","Value","orderDimensionAndMeasure","x","clickDimensionInDimensionsAndMeasures","dimOrMeas","mergician","tableChartPaginated"],"mappings":"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"}
1
+ {"version":3,"file":"definition-BWjj6V_U.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx","../src/components/charts/tables/TableChartPaginated/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n hasTotalResults: boolean;\n};\n\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState?.((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Sync total from results\n useEffect(() => {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: false,\n }));\n }, [dimensionsAndMeasures, pageSize]);\n\n useEffect(() => {\n if (totalResults?.total) {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: true,\n }));\n }\n }, [totalResults]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n","import { DataResponse, LoadDataRequest, OrderBy, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport TablePaginatedChart, {\n TableChartPaginatedProOnRowClickArg,\n TableChartPaginatedProState,\n} from './index';\nimport { mergician } from 'mergician';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'TableChartPaginated',\n label: 'Table Chart - Paginated',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.dimensionsAndMeasures,\n label: 'Columns',\n inputs: [\n ...inputs.dimensionsAndMeasures.inputs,\n subInputs.width,\n subInputs.align,\n subInputs.tableCellStyle,\n ],\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n {\n ...inputs.boolean,\n name: 'showIndex',\n label: 'Show index column',\n defaultValue: true,\n category: 'Component Settings',\n },\n inputs.displayNullAs,\n { ...inputs.maxResults, label: 'Max results to download' },\n {\n ...inputs.dimensionSimple,\n label: 'Dimension to set on click',\n name: 'clickDimension',\n category: 'Data Mapping for Interactions',\n required: false,\n },\n ],\n events: [\n {\n name: 'onRowClicked',\n label: 'A row is clicked',\n properties: [\n {\n name: 'rowDimensionValue',\n label: 'Clicked row dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewMaxResults = 3;\n\nconst previewConfig = {\n dimensionsAndMeasures: [previewData.dimension, previewData.dimensionGroup, previewData.measure],\n results: {\n ...previewData.results1Measure2Dimensions,\n data: previewData.results1Measure2Dimensions.data?.slice(0, previewMaxResults),\n },\n totalResults: { data: [], total: previewMaxResults, isLoading: false },\n state: {\n page: 0,\n pageSize: previewMaxResults,\n isLoadingDownloadData: false,\n hasTotalResults: true,\n hideMenu: true,\n },\n hideMenu: true,\n};\n\nconst preview = definePreview(TablePaginatedChart, previewConfig);\n\nexport const defaultTableChartPaginatedState: TableChartPaginatedProState = {\n page: 0,\n pageSize: undefined,\n sort: undefined,\n isLoadingDownloadData: false,\n hasTotalResults: true,\n};\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: page * pageSize,\n limit: pageSize,\n orderBy,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n page: number,\n pageSize: number,\n orderBy: OrderBy[],\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse =>\n loadData(loadDataResultsArgs(inputs, page, pageSize, orderBy, dimensionsAndMeasuresToLoad));\n\nconst loadDataTotalResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: dimensionsAndMeasuresToLoad,\n offset: 0,\n limit: 0,\n countRows: true,\n});\n\nconst loadDataTotalResults = (\n inputs: Inputs<typeof meta>,\n dimensionsAndMeasuresToLoad: Parameters<typeof loadData>[0]['select'],\n): DataResponse => loadData(loadDataTotalResultsArgs(inputs, dimensionsAndMeasuresToLoad));\n\nconst loadDataAllResultsArgs = (\n inputs: Inputs<typeof meta>,\n orderBy: OrderBy[],\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: inputs.dimensionsAndMeasures,\n orderBy,\n limit: inputs.maxResults,\n});\n\nconst loadDataAllResults = (inputs: Inputs<typeof meta>, orderBy: OrderBy[]): DataResponse =>\n loadData(loadDataAllResultsArgs(inputs, orderBy));\n\nconst events = {\n onRowClicked: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => ({\n rowDimensionValue: rowDimensionValue !== undefined ? rowDimensionValue : Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [TableChartPaginatedProState, (state: TableChartPaginatedProState) => void],\n) => {\n const orderDimensionAndMeasure = inputs.dimensionsAndMeasures.find(\n (x) => x.name === state?.sort?.id,\n );\n\n const orderBy: OrderBy[] =\n orderDimensionAndMeasure && state?.sort\n ? [{ property: orderDimensionAndMeasure, direction: state.sort.direction }]\n : [];\n\n const clickDimensionInDimensionsAndMeasures = inputs.dimensionsAndMeasures.some(\n (dimOrMeas) => dimOrMeas.name === inputs.clickDimension?.name,\n );\n\n const dimensionsAndMeasuresToLoad = [\n ...inputs.dimensionsAndMeasures,\n ...(clickDimensionInDimensionsAndMeasures ? [] : [inputs.clickDimension]),\n ];\n\n return {\n ...inputs,\n state: mergician(defaultTableChartPaginatedState, state ?? {}),\n setState,\n results: state?.pageSize\n ? loadDataResults(inputs, state.page, state.pageSize, orderBy, dimensionsAndMeasuresToLoad)\n : undefined,\n totalResults: !state?.hasTotalResults\n ? loadDataTotalResults(inputs, dimensionsAndMeasuresToLoad)\n : undefined,\n allResults: state?.isLoadingDownloadData ? loadDataAllResults(inputs, orderBy) : undefined,\n };\n};\n\nexport const tableChartPaginated = {\n Component: TablePaginatedChart,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n totalResults: {\n loadDataArgs: loadDataTotalResultsArgs,\n loadData: loadDataTotalResults,\n },\n allResults: {\n loadDataArgs: loadDataAllResultsArgs,\n loadData: loadDataAllResults,\n },\n} as const;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage","meta","inputs","subInputs","previewMaxResults","previewConfig","previewData","preview","definePreview","TablePaginatedChart","defaultTableChartPaginatedState","loadDataResultsArgs","page","orderBy","dimensionsAndMeasuresToLoad","loadDataResults","loadData","loadDataTotalResultsArgs","loadDataTotalResults","loadDataAllResultsArgs","loadDataAllResults","events","Value","orderDimensionAndMeasure","x","clickDimensionInDimensionsAndMeasures","dimOrMeas","mergician","tableChartPaginated"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { definePreview as s } from "@embeddable.com/react";
2
+ import { j as i, z as a, f as l } from "./index-D3wOlvn9.js";
3
+ import { i as t } from "./component.inputs.constants-CNRRRvsh.js";
4
+ const c = "_horizontalDividerContainer_y6kms_1", d = {
5
+ horizontalDividerContainer: c
6
+ }, o = (e) => {
7
+ const { color: r, thickness: n } = e;
8
+ return /* @__PURE__ */ i.jsx("div", { className: d.horizontalDividerContainer, children: /* @__PURE__ */ i.jsx(a, { color: r, thickness: n }) });
9
+ }, z = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
10
+ __proto__: null,
11
+ default: o
12
+ }, Symbol.toStringTag, { value: "Module" })), m = {
13
+ name: "HorizontalDividerPro",
14
+ label: "Horizontal Divider",
15
+ category: "Layout",
16
+ defaultWidth: 450,
17
+ defaultHeight: 120,
18
+ inputs: [
19
+ {
20
+ ...t.number,
21
+ name: "thickness",
22
+ label: "Thickness",
23
+ category: "Component Settings",
24
+ description: "Thickness of the divider in pixels"
25
+ },
26
+ { ...t.color, defaultValue: l("--em-divider-color", "#e4e4ea") }
27
+ ]
28
+ }, p = s(o, {}), v = (e) => ({
29
+ ...e,
30
+ color: e.color
31
+ }), D = {
32
+ Component: o,
33
+ meta: m,
34
+ preview: p,
35
+ config: {
36
+ props: v
37
+ }
38
+ };
39
+ export {
40
+ D as h,
41
+ z as i
42
+ };
43
+ //# sourceMappingURL=definition-BYKXnGby.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-BYKXnGby.js","sources":["../src/components/shared/HorizontalDividerPro/index.tsx","../src/components/shared/HorizontalDividerPro/definition.ts"],"sourcesContent":["import { Divider } from '@embeddable.com/remarkable-ui';\nimport styles from './HorizontalDividerPro.module.css';\n\ntype HorizontalDividerProProps = {\n color?: string;\n thickness?: number;\n};\n\nconst HorizontalDividerPro = (props: HorizontalDividerProProps) => {\n const { color, thickness } = props;\n\n return (\n <div className={styles.horizontalDividerContainer}>\n <Divider color={color} thickness={thickness} />\n </div>\n );\n};\n\nexport default HorizontalDividerPro;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { getStyle } from '@embeddable.com/remarkable-ui';\n\nconst meta = {\n name: 'HorizontalDividerPro',\n label: 'Horizontal Divider',\n category: 'Layout',\n defaultWidth: 450,\n defaultHeight: 120,\n inputs: [\n {\n ...inputs.number,\n name: 'thickness',\n label: 'Thickness',\n category: 'Component Settings',\n description: 'Thickness of the divider in pixels',\n },\n { ...inputs.color, defaultValue: getStyle('--em-divider-color', '#e4e4ea') },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {});\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n color: inputs.color as string | undefined,\n});\n\nexport const horizontalDividerPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n },\n} as const;\n"],"names":["HorizontalDividerPro","props","color","thickness","jsx","styles","Divider","meta","inputs","getStyle","preview","definePreview","Component","horizontalDividerPro"],"mappings":";;;;;GAQMA,IAAuB,CAACC,MAAqC;AACjE,QAAM,EAAE,OAAAC,GAAO,WAAAC,EAAA,IAAcF;AAE7B,SACEG,gBAAAA,EAAAA,IAAC,SAAI,WAAWC,EAAO,4BACrB,UAAAD,gBAAAA,EAAAA,IAACE,GAAA,EAAQ,OAAAJ,GAAc,WAAAC,EAAA,CAAsB,EAAA,CAC/C;AAEJ;;;8CCXMI,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACN;AAAA,MACE,GAAGC,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,IAEf,EAAE,GAAGA,EAAO,OAAO,cAAcC,EAAS,sBAAsB,SAAS,EAAA;AAAA,EAAE;AAE/E,GAEMC,IAAUC,EAAcC,GAAW,EAAE,GAErCX,IAAQ,CAACO,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,OAAOA,EAAO;AAChB,IAEaK,IAAuB;AAAA,EAAA,WAClCD;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAT;AAAA,EAAA;AAEJ;"}
@@ -1,14 +1,14 @@
1
- import { g as O, m as j, j as k, L as T, V as D, l as $ } from "./index-CeHVQdh8.js";
1
+ import { g as O, m as j, j as k, L as T, V as D, l as $ } from "./index-D3wOlvn9.js";
2
2
  import { useTheme as _, definePreview as B } from "@embeddable.com/react";
3
3
  import { a as W, r as X } from "./component.utils-_CF49NeV.js";
4
- import { C as U } from "./ChartCard-tzNf4sgN.js";
5
- import { g as v, p as A } from "./preview.data.constants-D-OHaJ8F.js";
4
+ import { C as U } from "./ChartCard-DjUR715I.js";
5
+ import { g as v, p as A } from "./preview.data.constants-D1HZ67VS.js";
6
6
  import { a as G } from "./styles.utils-BfpH_m_W.js";
7
7
  import { s as Y } from "./color.utils-BSg_DFOh.js";
8
8
  import { g as z } from "./lines.utils-CEGfmIHB.js";
9
- import { u as E } from "./charts.fillGaps.hooks-DQr3NBBt.js";
10
- import { C as H, g as N } from "./granularity.utils-Aatamp-_.js";
11
- import { i as a } from "./component.inputs.constants-wcCJBrGh.js";
9
+ import { u as E } from "./charts.fillGaps.hooks-CuEAVcgu.js";
10
+ import { C as H, g as N } from "./granularity.utils-BigKv7gb.js";
11
+ import { i as a } from "./component.inputs.constants-CNRRRvsh.js";
12
12
  const q = (e, n) => {
13
13
  const u = v(n), { data: t = [], dimension: r, groupDimension: i, measure: l, hasMinMaxYAxisRange: g } = e, m = [...new Set(t.map((s) => s[r.name]).filter((s) => s != null))].sort(), c = [...new Set(t.map((s) => s[i.name]))].filter((s) => s != null), o = O(), d = c.map((s, C) => {
14
14
  var x;
@@ -271,4 +271,4 @@ export {
271
271
  ce as i,
272
272
  de as l
273
273
  };
274
- //# sourceMappingURL=definition-CTWBYLw4.js.map
274
+ //# sourceMappingURL=definition-Bn4kaJiP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-CTWBYLw4.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx","../src/components/charts/lines/LineChartGroupedPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getLineChartProOptionsOnClick, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptionsOnClick({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\nexport type LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\n\nconst meta = {\n name: 'LineChartGroupedPro',\n label: 'Line Chart - Grouped',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measure,\n inputs: [\n ...inputs.measure.inputs,\n {\n ...inputs.boolean,\n name: 'fillUnderLine',\n label: 'Fill under line',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n category: 'Component Settings',\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, name: 'xAxis', label: 'X-axis' },\n inputs.groupBy,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartGroupedProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>, xAxis?: Dimension): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [xAxis ?? inputs.xAxis, inputs.groupBy, inputs.measure],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>, xAxis: Dimension): DataResponse =>\n loadData(loadDataResultsArgs(inputs, xAxis));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartGroupedProState, (state: LineChartGroupedProState) => void],\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity),\n };\n};\n\nexport const lineChartGroupedPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptionsOnClick","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartGroupedPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-Bn4kaJiP.js","sources":["../src/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.ts","../src/components/charts/lines/LineChartGroupedPro/index.tsx","../src/components/charts/lines/LineChartGroupedPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { mergician } from 'mergician';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { setColorAlpha } from '../../../../utils/color.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { getLineChartProOptionsOnClick, LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartGroupedProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n groupDimension: Dimension;\n measure: Measure;\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n const themeFormatter = getThemeFormatter(theme);\n const { data = [], dimension, groupDimension, measure, hasMinMaxYAxisRange } = props;\n\n const axis = [...new Set(data.map((d) => d[dimension.name]).filter((d) => d != null))].sort();\n const groupBy = [...new Set(data.map((d) => d[groupDimension.name]))].filter((d) => d != null);\n\n const chartColors = getChartColors();\n const datasets: ChartData<'line'>['datasets'] = groupBy.map((groupByItem, index) => {\n const backgroundColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'background',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const borderColor = getDimensionMeasureColor({\n dimensionOrMeasure: groupDimension,\n theme,\n color: 'border',\n value: `${groupDimension.name}.${groupByItem}`,\n chartColors,\n index,\n });\n\n const dataset = {\n clip: hasMinMaxYAxisRange,\n label: themeFormatter.data(groupDimension, groupByItem),\n rawLabel: groupByItem,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n fill: measure.inputs?.['fillUnderLine'],\n borderColor,\n data: axis.map((axisItem) => {\n const record = data.find(\n (d) => d[groupDimension.name] === groupByItem && d[dimension.name] === axisItem,\n );\n return record?.[measure.name] ?? (measure.inputs?.['connectGaps'] ? 0 : null);\n }),\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n });\n\n return {\n labels: axis,\n datasets,\n };\n};\n\nexport const getLineChartGroupedProOptions = (\n options: {\n dimension: Dimension;\n measure: Measure;\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measure, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n };\n\n return mergician(\n getLineChartProOptionsOnClick({ onLineClicked }),\n lineChartOptions,\n theme.charts?.lineChartGroupedPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport {\n getLineChartGroupedProData,\n getLineChartGroupedProOptions,\n} from './LineChartGroupedPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartGroupedProPropsOnLineClicked = {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n};\n\nexport type LineChartGroupedProProp = {\n xAxis: Dimension;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartGroupedPro = (props: LineChartGroupedProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n xAxis,\n groupBy,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getLineChartGroupedProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartGroupedProOptions(\n { data, dimension: xAxis, measure, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartGroupedPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\n\nconst meta = {\n name: 'LineChartGroupedPro',\n label: 'Line Chart - Grouped',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measure,\n inputs: [\n ...inputs.measure.inputs,\n {\n ...inputs.boolean,\n name: 'fillUnderLine',\n label: 'Fill under line',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n category: 'Component Settings',\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, name: 'xAxis', label: 'X-axis' },\n inputs.groupBy,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartGroupedProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>, xAxis?: Dimension): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [xAxis ?? inputs.xAxis, inputs.groupBy, inputs.measure],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>, xAxis: Dimension): DataResponse =>\n loadData(loadDataResultsArgs(inputs, xAxis));\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartGroupedProState, (state: LineChartGroupedProState) => void],\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, xAxisWithGranularity),\n };\n};\n\nexport const lineChartGroupedPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getLineChartGroupedProData","props","theme","themeFormatter","getThemeFormatter","data","dimension","groupDimension","measure","hasMinMaxYAxisRange","axis","d","groupBy","chartColors","getChartColors","datasets","groupByItem","index","backgroundColor","getDimensionMeasureColor","borderColor","setColorAlpha","_a","axisItem","record","getLineChartGroupedProOptions","options","onLineClicked","lineChartOptions","value","context","label","raw","mergician","getLineChartProOptionsOnClick","_b","LineChartGroupedPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartGroupedPro"],"mappings":";;;;;;;;;;;AAUO,MAAMA,IAA6B,CACxCC,GAOAC,MACsB;AACtB,QAAMC,IAAiBC,EAAkBF,CAAK,GACxC,EAAE,MAAAG,IAAO,IAAI,WAAAC,GAAW,gBAAAC,GAAgB,SAAAC,GAAS,qBAAAC,MAAwBR,GAEzES,IAAO,CAAC,GAAG,IAAI,IAAIL,EAAK,IAAI,CAACM,MAAMA,EAAEL,EAAU,IAAI,CAAC,EAAE,OAAO,CAACK,MAAMA,KAAK,IAAI,CAAC,CAAC,EAAE,KAAA,GACjFC,IAAU,CAAC,GAAG,IAAI,IAAIP,EAAK,IAAI,CAACM,MAAMA,EAAEJ,EAAe,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAACI,MAAMA,KAAK,IAAI,GAEvFE,IAAcC,EAAA,GACdC,IAA0CH,EAAQ,IAAI,CAACI,GAAaC,MAAU;;AAClF,UAAMC,IAAkBC,EAAyB;AAAA,MAC/C,oBAAoBZ;AAAA,MACpB,OAAAL;AAAA,MACA,OAAO;AAAA,MACP,OAAO,GAAGK,EAAe,IAAI,IAAIS,CAAW;AAAA,MAC5C,aAAAH;AAAA,MACA,OAAAI;AAAA,IAAA,CACD,GAEKG,IAAcD,EAAyB;AAAA,MAC3C,oBAAoBZ;AAAA,MACpB,OAAAL;AAAA,MACA,OAAO;AAAA,MACP,OAAO,GAAGK,EAAe,IAAI,IAAIS,CAAW;AAAA,MAC5C,aAAAH;AAAA,MACA,OAAAI;AAAA,IAAA,CACD;AAkBD,WAhBgB;AAAA,MACd,MAAMR;AAAA,MACN,OAAON,EAAe,KAAKI,GAAgBS,CAAW;AAAA,MACtD,UAAUA;AAAA,MACV,iBAAiBK,EAAcH,GAAiB,GAAG;AAAA,MACnD,sBAAsBA;AAAA,MACtB,OAAMI,IAAAd,EAAQ,WAAR,gBAAAc,EAAiB;AAAA,MACvB,aAAAF;AAAA,MACA,MAAMV,EAAK,IAAI,CAACa,MAAa;;AAC3B,cAAMC,IAASnB,EAAK;AAAA,UAClB,CAACM,MAAMA,EAAEJ,EAAe,IAAI,MAAMS,KAAeL,EAAEL,EAAU,IAAI,MAAMiB;AAAA,QAAA;AAEzE,gBAAOC,KAAA,gBAAAA,EAAShB,EAAQ,YAAUc,IAAAd,EAAQ,WAAR,QAAAc,EAAiB,cAAiB,IAAI;AAAA,MAC1E,CAAC;AAAA,IAAA;AAAA,EAIL,CAAC;AAED,SAAO;AAAA,IACL,QAAQZ;AAAA,IACR,UAAAK;AAAA,EAAA;AAEJ,GAEaU,IAAgC,CAC3CC,GAMAxB,MACyB;;AACzB,QAAM,EAAE,WAAAI,GAAW,MAAAD,GAAM,SAAAG,GAAS,eAAAmB,MAAkBD,GAC9CvB,IAAiBC,EAAkBF,CAAK,GAExC0B,IAAyC;AAAA,IAC7C,SAAS;AAAA,MACP,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,OAAO;AAAA,YACL,WAAW,CAACC,MACH1B,EAAe,KAAKK,GAASqB,CAAK;AAAA,UAC3C;AAAA,QACF;AAAA,MACF;AAAA,MAEF,SAAS;AAAA,QACP,WAAW;AAAA,UACT,OAAO,CAACC,MAAY;;AAClB,kBAAMC,KAAQT,IAAAQ,EAAQ,CAAC,MAAT,gBAAAR,EAAY;AAC1B,mBAAOnB,EAAe,KAAKG,GAAWyB,CAAK;AAAA,UAC7C;AAAA,UACA,OAAO,CAACD,MAAY;AAClB,kBAAME,IAAMF,EAAQ;AACpB,mBAAO,GAAGA,EAAQ,QAAQ,KAAK,KAAK3B,EAAe,KAAKK,GAASwB,CAAG,CAAC;AAAA,UACvE;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEF,QAAQ;AAAA,MACN,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACH,MAAU;AACnB,gBAAI,CAACxB,KAAQ,CAACA,EAAK,OAAQ;AAE3B,kBAAM0B,IAAQ1B,EAAK,OAAO,OAAOwB,CAAK,CAAC;AACvC,mBAAO1B,EAAe,KAAKG,GAAWyB,CAAK;AAAA,UAC7C;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACF,MACF1B,EAAe,KAAKK,GAASqB,CAAK;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGF,SAAOI;AAAA,IACLC,EAA8B,EAAE,eAAAP,GAAe;AAAA,IAC/CC;AAAA,MACAO,KAAAb,IAAApB,EAAM,WAAN,gBAAAoB,EAAc,wBAAd,gBAAAa,EAAmC,YAAW,CAAA;AAAA,EAAC;AAEnD,GC/FMC,IAAsB,CAACnC,MAAmC;AAC9D,QAAMC,IAAemC,EAAA;AACrB,EAAAC,EAAUpC,CAAK;AAEf,QAAM,EAAE,OAAAqC,GAAO,aAAAC,GAAa,SAAAC,GAAS,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiB3C,CAAK,GAChF;AAAA,IACJ,UAAA4C;AAAA,IACA,SAAArC;AAAA,IACA,OAAAsC;AAAA,IACA,SAAAlC;AAAA,IACA,cAAAmC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAA3B;AAAA,EAAA,IACE1B,GAEEsD,IAAUC,EAAY;AAAA,IAC1B,SAASvD,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKI,IAAOL;AAAA,IACX;AAAA,MACE,MAAMuD,EAAQ;AAAA,MACd,WAAWT;AAAA,MACX,gBAAgBlC;AAAA,MAChB,SAAAJ;AAAA,MACA,qBAA6B6C,KAAiB,QAAQD,KAAiB;AAAA,IAAI;AAAA,IAE7ElD;AAAA,EAAA,GAEIwB,IAAUD;AAAA,IACd,EAAE,MAAApB,GAAM,WAAWyC,GAAO,SAAAtC,GAAS,eAAAmB,EAAA;AAAA,IACnCzB;AAAA,EAAA,GAGIuD,IAAkC,CAAClB,KAAS,CAACC,KAAe,CAACC;AAEnE,SACEiB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMJ;AAAA,MACN,uBAAuB,CAAC/C,GAASsC,GAAOlC,CAAO;AAAA,MAC/C,cAAc2C,EAAQ;AAAA,MACtB,aAAAf;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAI;AAAA,MAEC,UAAA;AAAA,QAAAS,KACCM,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAWX;AAAA,YACX,UAAUQ;AAAA,UAAA;AAAA,QAAA;AAAA,QAGdM,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAzD;AAAA,YACA,cAAA0C;AAAA,YACA,YAAAC;AAAA,YACA,sBAAAC;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAC;AAAA,YACA,YAAAT;AAAA,YACA,YAAAC;AAAA,YACA,eAAAS;AAAA,YACA,eAAAC;AAAA,YACA,SAAA3B;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;8CClGMqC,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,QAAQ;AAAA,QACN,GAAGA,EAAO,QAAQ;AAAA,QAClB;AAAA,UACE,GAAGA,EAAO;AAAA,UACV,MAAM;AAAA,UACN,OAAO;AAAA,UACP,UAAU;AAAA,QAAA;AAAA,QAEZ;AAAA,UACE,GAAGA,EAAO;AAAA,UACV,MAAM;AAAA,UACN,OAAO;AAAA,UACP,cAAc;AAAA,UACd,UAAU;AAAA,QAAA;AAAA,MACZ;AAAA,IACF;AAAA,IAEF,EAAE,GAAGA,EAAO,qCAAqC,MAAM,SAAS,OAAO,SAAA;AAAA,IACvEA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAAA,EAET,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAMMC,IAAgB;AAAA,EACpB,OAAOC,EAAY;AAAA,EACnB,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAACN,GAA6BlB,OAAwC;AAAA,EAChG,OAAOkB,EAAO;AAAA,EACd,MAAMA,EAAO;AAAA,EACb,QAAQ,CAAClB,KAASkB,EAAO,OAAOA,EAAO,SAASA,EAAO,OAAO;AAChE,IAEMO,IAAkB,CAACP,GAA6BlB,MACpD0B,EAASF,EAAoBN,GAAQlB,CAAK,CAAC,GAEvC2B,IAAS;AAAA,EACb,eAAe,CAAC5C,OAAwC;AAAA,IACtD,oBAAoBA,EAAM,kBAAkB6C,EAAM,SAAA;AAAA,IAClD,wBAAwB7C,EAAM,0BAA0B6C,EAAM,SAAA;AAAA,EAAS;AAE3E,GAEMzE,IAAQ,CACZ+D,GACA,CAACW,GAAOC,CAAQ,MACb;AACH,QAAMC,IAAuBC,EAA4Bd,EAAO,OAAOW,KAAA,gBAAAA,EAAO,WAAW;AAEzF,SAAO;AAAA,IACL,GAAGX;AAAAA,IACH,OAAOa;AAAA,IACP,gBAAgB,CAACE,MAA6BH,EAAS,EAAE,aAAAG,GAAa;AAAA,IACtE,SAASR,EAAgBP,GAAQa,CAAoB;AAAA,EAAA;AAEzD,GAEaG,KAAsB;AAAA,EAAA,WACjCX;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAAhE;AAAA,IACA,QAAAwE;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcH;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
@@ -1,12 +1,12 @@
1
- import { m as k, j as m, B as T, V as y, l as H } from "./index-CeHVQdh8.js";
1
+ import { m as k, j as m, B as T, V as y, l as H } from "./index-D3wOlvn9.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-_CF49NeV.js";
4
- import { C as Y } from "./ChartCard-tzNf4sgN.js";
5
- import { b as E, a as I } from "./bars.utils-DMANbPt8.js";
6
- import { u as q } from "./charts.fillGaps.hooks-DQr3NBBt.js";
7
- import { C as J, g as K } from "./granularity.utils-Aatamp-_.js";
8
- import { i as a } from "./component.inputs.constants-wcCJBrGh.js";
9
- import { p as n } from "./preview.data.constants-D-OHaJ8F.js";
4
+ import { C as Y } from "./ChartCard-DjUR715I.js";
5
+ import { b as E, a as I } from "./bars.utils-ByhjP0ZG.js";
6
+ import { u as q } from "./charts.fillGaps.hooks-CuEAVcgu.js";
7
+ import { C as J, g as K } from "./granularity.utils-BigKv7gb.js";
8
+ import { i as a } from "./component.inputs.constants-CNRRRvsh.js";
9
+ import { p as n } from "./preview.data.constants-D1HZ67VS.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-DQC4LwM-.js.map
172
+ //# sourceMappingURL=definition-BpH1RlFo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-DQC4LwM-.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-BpH1RlFo.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,12 +1,12 @@
1
- import { m as j, j as u, B as F, V as y, l as _ } from "./index-CeHVQdh8.js";
1
+ import { m as j, j as u, B as F, V as y, l as _ } from "./index-D3wOlvn9.js";
2
2
  import { useTheme as O, definePreview as W } from "@embeddable.com/react";
3
3
  import { a as X, r as z } from "./component.utils-_CF49NeV.js";
4
- import { C as E } from "./ChartCard-tzNf4sgN.js";
5
- import { b as H, a as I } from "./bars.utils-DMANbPt8.js";
6
- import { u as q } from "./charts.fillGaps.hooks-DQr3NBBt.js";
7
- import { C as J, g as K } from "./granularity.utils-Aatamp-_.js";
8
- import { i as a } from "./component.inputs.constants-wcCJBrGh.js";
9
- import { p as n } from "./preview.data.constants-D-OHaJ8F.js";
4
+ import { C as E } from "./ChartCard-DjUR715I.js";
5
+ import { b as H, a as I } from "./bars.utils-ByhjP0ZG.js";
6
+ import { u as q } from "./charts.fillGaps.hooks-CuEAVcgu.js";
7
+ import { C as J, g as K } from "./granularity.utils-BigKv7gb.js";
8
+ import { i as a } from "./component.inputs.constants-CNRRRvsh.js";
9
+ import { p as n } from "./preview.data.constants-D1HZ67VS.js";
10
10
  const d = (e) => {
11
11
  var p, h;
12
12
  const s = O();
@@ -169,4 +169,4 @@ export {
169
169
  le as b,
170
170
  ne as i
171
171
  };
172
- //# sourceMappingURL=definition-BMUFUoOq.js.map
172
+ //# sourceMappingURL=definition-Bsn9rsPY.js.map