@embeddable.com/remarkable-pro 0.1.29 → 0.1.31

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 (418) 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-DRvWAJbb.js → ChartCard-Cqhxv7xl.js} +26 -26
  8. package/dist/{ChartCard-DRvWAJbb.js.map → ChartCard-Cqhxv7xl.js.map} +1 -1
  9. package/dist/{Color.type.emb-CRUYbuDg.js → Color.type.emb-BGRJh_zP.js} +2 -2
  10. package/dist/{Color.type.emb-CRUYbuDg.js.map → Color.type.emb-BGRJh_zP.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-BezbVKco.js → DimensionAndMeasureSingleSelectField-ClbFwtXO.js} +11 -11
  16. package/dist/{DimensionAndMeasureSingleSelectField-BezbVKco.js.map → DimensionAndMeasureSingleSelectField-ClbFwtXO.js.map} +1 -1
  17. package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
  18. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  19. package/dist/DonutChartPro.js +1 -1
  20. package/dist/DonutLabelChartPro.js +1 -1
  21. package/dist/{EditorCard-D8Cir6hQ.js → EditorCard-BABTQLwW.js} +4 -4
  22. package/dist/{EditorCard-D8Cir6hQ.js.map → EditorCard-BABTQLwW.js.map} +1 -1
  23. package/dist/FilterBuilderPro.js +538 -0
  24. package/dist/FilterBuilderPro.js.map +1 -0
  25. package/dist/{GranularitySelectField-DhOjNEDu.js → GranularitySelectField-Di0ay_uj.js} +4 -4
  26. package/dist/{GranularitySelectField-DhOjNEDu.js.map → GranularitySelectField-Di0ay_uj.js.map} +1 -1
  27. package/dist/GranularitySelectFieldPro.js +1 -1
  28. package/dist/HeatMapPro.js +1 -1
  29. package/dist/HorizontalDividerPro.js +1 -1
  30. package/dist/{IconAlertCircle-P7OeCkcO.js → IconAlertCircle-DDf6dlAS.js} +4 -4
  31. package/dist/{IconAlertCircle-P7OeCkcO.js.map → IconAlertCircle-DDf6dlAS.js.map} +1 -1
  32. package/dist/{IconCalendarFilled-_9ZuXVCG.js → IconCalendarFilled-DqyDZZ9z.js} +2 -2
  33. package/dist/{IconCalendarFilled-_9ZuXVCG.js.map → IconCalendarFilled-DqyDZZ9z.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-D8GT1CB1.js → Markdown.type.emb-CY0MAwRX.js} +2 -2
  40. package/dist/{Markdown.type.emb-D8GT1CB1.js.map → Markdown.type.emb-CY0MAwRX.js.map} +1 -1
  41. package/dist/MarkdownEditor.js +3 -3
  42. package/dist/MarkdownPro.js +1 -1
  43. package/dist/MeasureMultiSelectFieldPro.js +1 -1
  44. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  45. package/dist/MultiSelectFieldPro.js +1 -1
  46. package/dist/PieChartPro.js +1 -1
  47. package/dist/PivotTablePro.js +1 -1
  48. package/dist/SingleSelectFieldPro.js +1 -1
  49. package/dist/TableChartPaginated.js +1 -1
  50. package/dist/TableScrollable.js +1 -1
  51. package/dist/TextFieldPro.js +1 -1
  52. package/dist/{af-CAM9S5kv.js → af-BrvHtZBo.js} +3 -3
  53. package/dist/{af-CAM9S5kv.js.map → af-BrvHtZBo.js.map} +1 -1
  54. package/dist/{am-BH5TBIrb.js → am-DJLTWhlZ.js} +3 -3
  55. package/dist/{am-BH5TBIrb.js.map → am-DJLTWhlZ.js.map} +1 -1
  56. package/dist/{ar-BWUqSmox.js → ar-B66LflOo.js} +3 -3
  57. package/dist/{ar-BWUqSmox.js.map → ar-B66LflOo.js.map} +1 -1
  58. package/dist/{az-DEGt6WzK.js → az-pPS8UBLr.js} +3 -3
  59. package/dist/{az-DEGt6WzK.js.map → az-pPS8UBLr.js.map} +1 -1
  60. package/dist/{bars.utils-CXXoLZ16.js → bars.utils-B8_oDn4j.js} +8 -8
  61. package/dist/{bars.utils-CXXoLZ16.js.map → bars.utils-B8_oDn4j.js.map} +1 -1
  62. package/dist/{be-DgOql2LX.js → be-GyX8tJb3.js} +5 -5
  63. package/dist/{be-DgOql2LX.js.map → be-GyX8tJb3.js.map} +1 -1
  64. package/dist/{bg-CTQjC-uS.js → bg-BSDWmw0m.js} +3 -3
  65. package/dist/{bg-CTQjC-uS.js.map → bg-BSDWmw0m.js.map} +1 -1
  66. package/dist/{bi-D-AesDMj.js → bi-CKCbMFbi.js} +3 -3
  67. package/dist/{bi-D-AesDMj.js.map → bi-CKCbMFbi.js.map} +1 -1
  68. package/dist/{bm-B1NrMeoM.js → bm-DgNrGarv.js} +3 -3
  69. package/dist/{bm-B1NrMeoM.js.map → bm-DgNrGarv.js.map} +1 -1
  70. package/dist/{bn-_5_MxTt_.js → bn-DcQ1jt5h.js} +15 -15
  71. package/dist/{bn-_5_MxTt_.js.map → bn-DcQ1jt5h.js.map} +1 -1
  72. package/dist/{bo-CL5jYLwg.js → bo-D9ylr7BC.js} +3 -3
  73. package/dist/{bo-CL5jYLwg.js.map → bo-D9ylr7BC.js.map} +1 -1
  74. package/dist/{br-C1fLNbKd.js → br-DaIFKpjv.js} +5 -5
  75. package/dist/{br-C1fLNbKd.js.map → br-DaIFKpjv.js.map} +1 -1
  76. package/dist/{bs-M58FOPqo.js → bs-aKJ1MWiY.js} +3 -3
  77. package/dist/{bs-M58FOPqo.js.map → bs-aKJ1MWiY.js.map} +1 -1
  78. package/dist/{ca-DqmpCTG9.js → ca-BpA-zfaJ.js} +3 -3
  79. package/dist/{ca-DqmpCTG9.js.map → ca-BpA-zfaJ.js.map} +1 -1
  80. package/dist/{charts.fillGaps.hooks-pnsCGEcn.js → charts.fillGaps.hooks-DDOGO5JR.js} +8 -8
  81. package/dist/{charts.fillGaps.hooks-pnsCGEcn.js.map → charts.fillGaps.hooks-DDOGO5JR.js.map} +1 -1
  82. package/dist/{charts.utils-BLrFZl8Q.js → charts.utils-ZAdb7oJ-.js} +1646 -1501
  83. package/dist/charts.utils-ZAdb7oJ-.js.map +1 -0
  84. package/dist/{component.inputs.constants-CV2cw73o.js → component.inputs.constants-C-vfrygQ.js} +4 -4
  85. package/dist/{component.inputs.constants-CV2cw73o.js.map → component.inputs.constants-C-vfrygQ.js.map} +1 -1
  86. package/dist/{component.utils-CKQTC8YE.js → component.utils-Dua9clQJ.js} +4 -4
  87. package/dist/{component.utils-CKQTC8YE.js.map → component.utils-Dua9clQJ.js.map} +1 -1
  88. package/dist/components/charts/tables/TableChartPaginated/definition.d.ts +1 -2
  89. package/dist/components/charts/tables/TableChartPaginated/definition.d.ts.map +1 -1
  90. package/dist/components/charts/tables/TableChartPaginated/index.d.ts +0 -1
  91. package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
  92. package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.emb.d.ts +72 -0
  93. package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.emb.d.ts.map +1 -0
  94. package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.utils.d.ts +41 -0
  95. package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.utils.d.ts.map +1 -0
  96. package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.utils.test.d.ts +2 -0
  97. package/dist/components/editors/FilterBuilderPro/FilterBuilderPro.utils.test.d.ts.map +1 -0
  98. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItem.d.ts +17 -0
  99. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItem.d.ts.map +1 -0
  100. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItem.test.d.ts +2 -0
  101. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItem.test.d.ts.map +1 -0
  102. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemNumberValueField.d.ts +8 -0
  103. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemNumberValueField.d.ts.map +1 -0
  104. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemNumberValueField.test.d.ts +2 -0
  105. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemNumberValueField.test.d.ts.map +1 -0
  106. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemOperatorValueFields.d.ts +15 -0
  107. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemOperatorValueFields.d.ts.map +1 -0
  108. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemOperatorValueFields.test.d.ts +2 -0
  109. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemOperatorValueFields.test.d.ts.map +1 -0
  110. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemValueField.d.ts +14 -0
  111. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemValueField.d.ts.map +1 -0
  112. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemValueField.test.d.ts +2 -0
  113. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemValueField.test.d.ts.map +1 -0
  114. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemValueField.utils.d.ts +6 -0
  115. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderItemValueField.utils.d.ts.map +1 -0
  116. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderProAndOrButton.d.ts +9 -0
  117. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderProAndOrButton.d.ts.map +1 -0
  118. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderProAndOrButton.test.d.ts +2 -0
  119. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderProAndOrButton.test.d.ts.map +1 -0
  120. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderTextValueField.d.ts +8 -0
  121. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderTextValueField.d.ts.map +1 -0
  122. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderTextValueField.test.d.ts +2 -0
  123. package/dist/components/editors/FilterBuilderPro/components/FilterBuilderTextValueField.test.d.ts.map +1 -0
  124. package/dist/components/editors/FilterBuilderPro/definition.d.ts +164 -0
  125. package/dist/components/editors/FilterBuilderPro/definition.d.ts.map +1 -0
  126. package/dist/components/editors/FilterBuilderPro/index.d.ts +12 -0
  127. package/dist/components/editors/FilterBuilderPro/index.d.ts.map +1 -0
  128. package/dist/components/editors/FilterBuilderPro/index.test.d.ts +2 -0
  129. package/dist/components/editors/FilterBuilderPro/index.test.d.ts.map +1 -0
  130. package/dist/components/editors/SingleSelectFieldPro/definition.d.ts +2 -4
  131. package/dist/components/editors/SingleSelectFieldPro/definition.d.ts.map +1 -1
  132. package/dist/components/editors/utils/dimensionsAndMeasures.utils.d.ts +1 -1
  133. package/dist/components/editors/utils/dimensionsAndMeasures.utils.d.ts.map +1 -1
  134. package/dist/{cs-BRjD6XeR.js → cs-C8lkTXb1.js} +3 -3
  135. package/dist/{cs-BRjD6XeR.js.map → cs-C8lkTXb1.js.map} +1 -1
  136. package/dist/{cv-li7STMMO.js → cv-BRA6lGJh.js} +3 -3
  137. package/dist/{cv-li7STMMO.js.map → cv-BRA6lGJh.js.map} +1 -1
  138. package/dist/{cy-Dttadd5R.js → cy-BzRamyEg.js} +5 -5
  139. package/dist/{cy-Dttadd5R.js.map → cy-BzRamyEg.js.map} +1 -1
  140. package/dist/{da--O0sKZ4m.js → da-B3Yxzfq_.js} +3 -3
  141. package/dist/{da--O0sKZ4m.js.map → da-B3Yxzfq_.js.map} +1 -1
  142. package/dist/dates.utils-C3LPV893.js +169 -0
  143. package/dist/{dates.utils-g0Zm49s9.js.map → dates.utils-C3LPV893.js.map} +1 -1
  144. package/dist/{de-BLOnYVkO.js → de-C07ay6Xp.js} +3 -3
  145. package/dist/{de-BLOnYVkO.js.map → de-C07ay6Xp.js.map} +1 -1
  146. package/dist/{definition-BLavB-t_.js → definition-5T5HRGnj.js} +9 -9
  147. package/dist/{definition-BLavB-t_.js.map → definition-5T5HRGnj.js.map} +1 -1
  148. package/dist/{definition-DNJCRcRb.js → definition-5a__Y0lx.js} +34 -33
  149. package/dist/{definition-DNJCRcRb.js.map → definition-5a__Y0lx.js.map} +1 -1
  150. package/dist/{definition-bk8me2Pp.js → definition-B9E-HZdm.js} +7 -7
  151. package/dist/{definition-bk8me2Pp.js.map → definition-B9E-HZdm.js.map} +1 -1
  152. package/dist/{definition-BZ8VCB3E.js → definition-BKX3li26.js} +25 -24
  153. package/dist/{definition-BZ8VCB3E.js.map → definition-BKX3li26.js.map} +1 -1
  154. package/dist/{definition-BNU59-Na.js → definition-Bdcy082b.js} +7 -7
  155. package/dist/{definition-BNU59-Na.js.map → definition-Bdcy082b.js.map} +1 -1
  156. package/dist/{definition-8y9BIadu.js → definition-Bhvd22lu.js} +6 -6
  157. package/dist/{definition-8y9BIadu.js.map → definition-Bhvd22lu.js.map} +1 -1
  158. package/dist/{definition-CQARTw1R.js → definition-BtJ2IsdK.js} +9 -9
  159. package/dist/{definition-CQARTw1R.js.map → definition-BtJ2IsdK.js.map} +1 -1
  160. package/dist/{definition-CCp6yl0G.js → definition-Bxj6nf61.js} +9 -9
  161. package/dist/{definition-CCp6yl0G.js.map → definition-Bxj6nf61.js.map} +1 -1
  162. package/dist/{definition-BWFtyM5q.js → definition-C4aPFAKq.js} +9 -9
  163. package/dist/{definition-BWFtyM5q.js.map → definition-C4aPFAKq.js.map} +1 -1
  164. package/dist/{definition-B_vkVnWo.js → definition-C8CAdqhV.js} +8 -8
  165. package/dist/{definition-B_vkVnWo.js.map → definition-C8CAdqhV.js.map} +1 -1
  166. package/dist/{definition-BkhyuytP.js → definition-CBevT5lk.js} +11 -11
  167. package/dist/{definition-BkhyuytP.js.map → definition-CBevT5lk.js.map} +1 -1
  168. package/dist/{definition-B4yqHUEq.js → definition-CV2xoi69.js} +7 -7
  169. package/dist/{definition-B4yqHUEq.js.map → definition-CV2xoi69.js.map} +1 -1
  170. package/dist/{definition-DSp-zxyJ.js → definition-CWVSN9UB.js} +29 -28
  171. package/dist/{definition-DSp-zxyJ.js.map → definition-CWVSN9UB.js.map} +1 -1
  172. package/dist/{definition-C2SKMCiR.js → definition-ChFv8Vq8.js} +16 -16
  173. package/dist/{definition-C2SKMCiR.js.map → definition-ChFv8Vq8.js.map} +1 -1
  174. package/dist/{definition-B93D90-m.js → definition-Cl_4hkGI.js} +33 -32
  175. package/dist/{definition-B93D90-m.js.map → definition-Cl_4hkGI.js.map} +1 -1
  176. package/dist/{definition-DD_7yXSy.js → definition-Cxji761B.js} +6 -6
  177. package/dist/{definition-DD_7yXSy.js.map → definition-Cxji761B.js.map} +1 -1
  178. package/dist/{definition-BfcrCqUL.js → definition-CzAzy1Hk.js} +15 -15
  179. package/dist/{definition-BfcrCqUL.js.map → definition-CzAzy1Hk.js.map} +1 -1
  180. package/dist/{definition-CQxnC7W6.js → definition-D1wwcuOy.js} +14 -14
  181. package/dist/{definition-CQxnC7W6.js.map → definition-D1wwcuOy.js.map} +1 -1
  182. package/dist/{definition-B5FHm4bc.js → definition-DETLn9Wn.js} +9 -9
  183. package/dist/{definition-B5FHm4bc.js.map → definition-DETLn9Wn.js.map} +1 -1
  184. package/dist/{definition-Clp-iCGV.js → definition-DM13nXMm.js} +19 -19
  185. package/dist/{definition-Clp-iCGV.js.map → definition-DM13nXMm.js.map} +1 -1
  186. package/dist/{definition-C_O50_G7.js → definition-DRFMnEQh.js} +27 -26
  187. package/dist/definition-DRFMnEQh.js.map +1 -0
  188. package/dist/{definition-DfZXbg6N.js → definition-DSAR_Bsa.js} +7 -7
  189. package/dist/{definition-DfZXbg6N.js.map → definition-DSAR_Bsa.js.map} +1 -1
  190. package/dist/{definition-BEjk2-SO.js → definition-Di3x_6Rh.js} +13 -12
  191. package/dist/{definition-BEjk2-SO.js.map → definition-Di3x_6Rh.js.map} +1 -1
  192. package/dist/{definition-CCobBmxq.js → definition-DpFvucVl.js} +33 -32
  193. package/dist/{definition-CCobBmxq.js.map → definition-DpFvucVl.js.map} +1 -1
  194. package/dist/{definition-DuyGzfcU.js → definition-DsDQF6Da.js} +11 -10
  195. package/dist/{definition-DuyGzfcU.js.map → definition-DsDQF6Da.js.map} +1 -1
  196. package/dist/{definition-CcCRcbo-.js → definition-DxkipQYz.js} +21 -21
  197. package/dist/{definition-CcCRcbo-.js.map → definition-DxkipQYz.js.map} +1 -1
  198. package/dist/definition-FEz36Zkx.js +242 -0
  199. package/dist/definition-FEz36Zkx.js.map +1 -0
  200. package/dist/{definition-hO7-nyHb.js → definition-j7sh3jCh.js} +9 -9
  201. package/dist/{definition-hO7-nyHb.js.map → definition-j7sh3jCh.js.map} +1 -1
  202. package/dist/{definition-BptFS0pI.js → definition-mtzDmBoh.js} +84 -83
  203. package/dist/{definition-BptFS0pI.js.map → definition-mtzDmBoh.js.map} +1 -1
  204. package/dist/{definition-HbeIHH7u.js → definition-wDuSjm3O.js} +16 -16
  205. package/dist/{definition-HbeIHH7u.js.map → definition-wDuSjm3O.js.map} +1 -1
  206. package/dist/{definition-2uvm5wdh.js → definition-xGVDcBlW.js} +13 -12
  207. package/dist/{definition-2uvm5wdh.js.map → definition-xGVDcBlW.js.map} +1 -1
  208. package/dist/dimensionsAndMeasures.utils-x51eIYbW.js +16 -0
  209. package/dist/dimensionsAndMeasures.utils-x51eIYbW.js.map +1 -0
  210. package/dist/{dv-vEMbJshF.js → dv-CWfIXgZi.js} +3 -3
  211. package/dist/{dv-vEMbJshF.js.map → dv-CWfIXgZi.js.map} +1 -1
  212. package/dist/{el-DN12O58s.js → el-DcM20K9x.js} +3 -3
  213. package/dist/{el-DN12O58s.js.map → el-DcM20K9x.js.map} +1 -1
  214. package/dist/embeddable-components.json +48 -46
  215. package/dist/embeddable-theme-0137e.js +872 -727
  216. package/dist/{en-C0-BFZOx.js → en-1S_hLj8n.js} +2 -2
  217. package/dist/{en-C0-BFZOx.js.map → en-1S_hLj8n.js.map} +1 -1
  218. package/dist/{eo-BXAtqwqY.js → eo-B4okZbtx.js} +3 -3
  219. package/dist/{eo-BXAtqwqY.js.map → eo-B4okZbtx.js.map} +1 -1
  220. package/dist/{es-DHWHtyME.js → es-DB2OJfN5.js} +3 -3
  221. package/dist/{es-DHWHtyME.js.map → es-DB2OJfN5.js.map} +1 -1
  222. package/dist/{et-tYlxB4zB.js → et-mYAcrjSc.js} +3 -3
  223. package/dist/{et-tYlxB4zB.js.map → et-mYAcrjSc.js.map} +1 -1
  224. package/dist/{eu-Cchy2V2Z.js → eu-BqW9SsOG.js} +3 -3
  225. package/dist/{eu-Cchy2V2Z.js.map → eu-BqW9SsOG.js.map} +1 -1
  226. package/dist/{fa-DA0brS62.js → fa-_vHhpf3j.js} +3 -3
  227. package/dist/{fa-DA0brS62.js.map → fa-_vHhpf3j.js.map} +1 -1
  228. package/dist/{fi-D7AhhQp-.js → fi-DKhsNmJ-.js} +3 -3
  229. package/dist/{fi-D7AhhQp-.js.map → fi-DKhsNmJ-.js.map} +1 -1
  230. package/dist/{fo-iqTPDxer.js → fo-BnNRah2G.js} +3 -3
  231. package/dist/{fo-iqTPDxer.js.map → fo-BnNRah2G.js.map} +1 -1
  232. package/dist/formatter.utils-DXI8s5Y5.js +59 -0
  233. package/dist/formatter.utils-DXI8s5Y5.js.map +1 -0
  234. package/dist/{fr-CgO1xALD.js → fr-J_fteHLO.js} +3 -3
  235. package/dist/{fr-CgO1xALD.js.map → fr-J_fteHLO.js.map} +1 -1
  236. package/dist/{fy-g_wqLbPL.js → fy-DlI3iJ8-.js} +3 -3
  237. package/dist/{fy-g_wqLbPL.js.map → fy-DlI3iJ8-.js.map} +1 -1
  238. package/dist/{ga-B1JiQVXX.js → ga-05UQWJpB.js} +13 -13
  239. package/dist/{ga-B1JiQVXX.js.map → ga-05UQWJpB.js.map} +1 -1
  240. package/dist/{gd-BQEoDtY9.js → gd-CVRsj1Mi.js} +11 -11
  241. package/dist/{gd-BQEoDtY9.js.map → gd-CVRsj1Mi.js.map} +1 -1
  242. package/dist/{gl-Cv5Q65Hr.js → gl-NWqlFCUl.js} +3 -3
  243. package/dist/{gl-Cv5Q65Hr.js.map → gl-NWqlFCUl.js.map} +1 -1
  244. package/dist/{granularity.utils-BVNxXibN.js → granularity.utils-DYOJiFaK.js} +3 -3
  245. package/dist/{granularity.utils-BVNxXibN.js.map → granularity.utils-DYOJiFaK.js.map} +1 -1
  246. package/dist/{gu-BvnqT8N8.js → gu-BFvg4Rf0.js} +3 -3
  247. package/dist/{gu-BvnqT8N8.js.map → gu-BFvg4Rf0.js.map} +1 -1
  248. package/dist/{he-DH7YlDbD.js → he-BlX7HFR2.js} +3 -3
  249. package/dist/{he-DH7YlDbD.js.map → he-BlX7HFR2.js.map} +1 -1
  250. package/dist/{hi-DUF5gchx.js → hi-0LesvI1G.js} +3 -3
  251. package/dist/{hi-DUF5gchx.js.map → hi-0LesvI1G.js.map} +1 -1
  252. package/dist/{hr-6MMGz8ry.js → hr-BD5iWQnE.js} +3 -3
  253. package/dist/{hr-6MMGz8ry.js.map → hr-BD5iWQnE.js.map} +1 -1
  254. package/dist/{ht-Bcyx4M97.js → ht-lIYqPdIJ.js} +3 -3
  255. package/dist/{ht-Bcyx4M97.js.map → ht-lIYqPdIJ.js.map} +1 -1
  256. package/dist/{hu-BVqoKOPD.js → hu-Av0cVt-Y.js} +3 -3
  257. package/dist/{hu-BVqoKOPD.js.map → hu-Av0cVt-Y.js.map} +1 -1
  258. package/dist/{id-CTnkrepT.js → id-CH9onwyI.js} +3 -3
  259. package/dist/{id-CTnkrepT.js.map → id-CH9onwyI.js.map} +1 -1
  260. package/dist/{index-CN9HcpbW.js → index-Bo7tyDqZ.js} +2 -2
  261. package/dist/{index-CN9HcpbW.js.map → index-Bo7tyDqZ.js.map} +1 -1
  262. package/dist/{index-C_yieA4G.js → index-CJYh9LRs.js} +95 -82
  263. package/dist/{index-C_yieA4G.js.map → index-CJYh9LRs.js.map} +1 -1
  264. package/dist/{index--SVweTss.js → index-DMsxz8Oj.js} +2 -2
  265. package/dist/{index--SVweTss.js.map → index-DMsxz8Oj.js.map} +1 -1
  266. package/dist/index.js +195 -194
  267. package/dist/index.js.map +1 -1
  268. package/dist/{is-dhjQNpAC.js → is-DOmWFn-Z.js} +3 -3
  269. package/dist/{is-dhjQNpAC.js.map → is-DOmWFn-Z.js.map} +1 -1
  270. package/dist/{it-HMVJ580T.js → it-C2oWtsSz.js} +3 -3
  271. package/dist/{it-HMVJ580T.js.map → it-C2oWtsSz.js.map} +1 -1
  272. package/dist/{ja-BrrmBUgC.js → ja-DmxVCSbE.js} +3 -3
  273. package/dist/{ja-BrrmBUgC.js.map → ja-DmxVCSbE.js.map} +1 -1
  274. package/dist/{jv-XG5Jn3RO.js → jv-LHSOrAiL.js} +3 -3
  275. package/dist/{jv-XG5Jn3RO.js.map → jv-LHSOrAiL.js.map} +1 -1
  276. package/dist/{ka-CtbVoMZT.js → ka-B5qWX5-x.js} +3 -3
  277. package/dist/{ka-CtbVoMZT.js.map → ka-B5qWX5-x.js.map} +1 -1
  278. package/dist/{kk-CthBHObS.js → kk-8pJaAh0T.js} +3 -3
  279. package/dist/{kk-CthBHObS.js.map → kk-8pJaAh0T.js.map} +1 -1
  280. package/dist/{km--83V6RKj.js → km-Bxyq7X9e.js} +3 -3
  281. package/dist/{km--83V6RKj.js.map → km-Bxyq7X9e.js.map} +1 -1
  282. package/dist/{kn-DajpzhNv.js → kn-nlmQyejG.js} +3 -3
  283. package/dist/{kn-DajpzhNv.js.map → kn-nlmQyejG.js.map} +1 -1
  284. package/dist/{ko-CHfNi6UI.js → ko-C96LipJV.js} +3 -3
  285. package/dist/{ko-CHfNi6UI.js.map → ko-C96LipJV.js.map} +1 -1
  286. package/dist/{ku-Cier-11K.js → ku-DtZlSn78.js} +3 -3
  287. package/dist/{ku-Cier-11K.js.map → ku-DtZlSn78.js.map} +1 -1
  288. package/dist/{ky-C9WU8YBJ.js → ky-BK9lDm_3.js} +3 -3
  289. package/dist/{ky-C9WU8YBJ.js.map → ky-BK9lDm_3.js.map} +1 -1
  290. package/dist/{lb-CpuMS-jc.js → lb-BLionTeO.js} +3 -3
  291. package/dist/{lb-CpuMS-jc.js.map → lb-BLionTeO.js.map} +1 -1
  292. package/dist/{lo-C9GF_jXB.js → lo-GY0TqEpn.js} +3 -3
  293. package/dist/{lo-C9GF_jXB.js.map → lo-GY0TqEpn.js.map} +1 -1
  294. package/dist/{lt-CyTaqJbA.js → lt-Bqs3rOV9.js} +14 -14
  295. package/dist/{lt-CyTaqJbA.js.map → lt-Bqs3rOV9.js.map} +1 -1
  296. package/dist/{lv-DowZjugX.js → lv-4JFTHI7C.js} +3 -3
  297. package/dist/{lv-DowZjugX.js.map → lv-4JFTHI7C.js.map} +1 -1
  298. package/dist/{me-i627YNM-.js → me-C5a0YbaI.js} +3 -3
  299. package/dist/{me-i627YNM-.js.map → me-C5a0YbaI.js.map} +1 -1
  300. package/dist/{mi-NWL9eIc_.js → mi-B6c6mIJf.js} +3 -3
  301. package/dist/{mi-NWL9eIc_.js.map → mi-B6c6mIJf.js.map} +1 -1
  302. package/dist/{mk-Co0ShANI.js → mk-BwgzKTpo.js} +3 -3
  303. package/dist/{mk-Co0ShANI.js.map → mk-BwgzKTpo.js.map} +1 -1
  304. package/dist/{ml-5GpCpap1.js → ml-BQBMcjCX.js} +3 -3
  305. package/dist/{ml-5GpCpap1.js.map → ml-BQBMcjCX.js.map} +1 -1
  306. package/dist/{mn-DIFw9cjr.js → mn-C-lGsL6b.js} +3 -3
  307. package/dist/{mn-DIFw9cjr.js.map → mn-C-lGsL6b.js.map} +1 -1
  308. package/dist/{mr-BCHtJNCm.js → mr-q2H5-Hcj.js} +3 -3
  309. package/dist/{mr-BCHtJNCm.js.map → mr-q2H5-Hcj.js.map} +1 -1
  310. package/dist/{ms-pDH4FBpX.js → ms-sMf_Ci6r.js} +3 -3
  311. package/dist/{ms-pDH4FBpX.js.map → ms-sMf_Ci6r.js.map} +1 -1
  312. package/dist/{mt-D5OldI2L.js → mt-CDjx_yKs.js} +13 -13
  313. package/dist/{mt-D5OldI2L.js.map → mt-CDjx_yKs.js.map} +1 -1
  314. package/dist/{my-QjXUbs8A.js → my-CUw9LR-6.js} +3 -3
  315. package/dist/{my-QjXUbs8A.js.map → my-CUw9LR-6.js.map} +1 -1
  316. package/dist/{nb-rXUHfoK1.js → nb-CE-uQOZZ.js} +3 -3
  317. package/dist/{nb-rXUHfoK1.js.map → nb-CE-uQOZZ.js.map} +1 -1
  318. package/dist/{ne-C6UIGTTG.js → ne-BSGYS974.js} +3 -3
  319. package/dist/{ne-C6UIGTTG.js.map → ne-BSGYS974.js.map} +1 -1
  320. package/dist/{nl-BLBlu9gW.js → nl-2NMEpvAI.js} +3 -3
  321. package/dist/{nl-BLBlu9gW.js.map → nl-2NMEpvAI.js.map} +1 -1
  322. package/dist/{nn-Uq4lgLRa.js → nn-Cn4SF9I7.js} +3 -3
  323. package/dist/{nn-Uq4lgLRa.js.map → nn-Cn4SF9I7.js.map} +1 -1
  324. package/dist/{pies.utils-CkZgyjXM.js → pies.utils-4osQ9x_J.js} +13 -13
  325. package/dist/{pies.utils-CkZgyjXM.js.map → pies.utils-4osQ9x_J.js.map} +1 -1
  326. package/dist/{pl-DB2j9GlE.js → pl-CXr-fOgF.js} +5 -5
  327. package/dist/{pl-DB2j9GlE.js.map → pl-CXr-fOgF.js.map} +1 -1
  328. package/dist/preview.data.constants--FLtEcg5.js +71 -0
  329. package/dist/preview.data.constants--FLtEcg5.js.map +1 -0
  330. package/dist/{pt-pJ_84FKI.js → pt-7xG_bX_n.js} +3 -3
  331. package/dist/{pt-pJ_84FKI.js.map → pt-7xG_bX_n.js.map} +1 -1
  332. package/dist/{quarterOfYear-W-gF2iCq.js → quarterOfYear-DG6zAl_Q.js} +4 -4
  333. package/dist/{quarterOfYear-W-gF2iCq.js.map → quarterOfYear-DG6zAl_Q.js.map} +1 -1
  334. package/dist/remarkable-pro.css +1 -1
  335. package/dist/{ro-D_2Vf-4A.js → ro-ORlgCeG6.js} +3 -3
  336. package/dist/{ro-D_2Vf-4A.js.map → ro-ORlgCeG6.js.map} +1 -1
  337. package/dist/{ru-clCRDNDV.js → ru-DNWe_4qe.js} +3 -3
  338. package/dist/{ru-clCRDNDV.js.map → ru-DNWe_4qe.js.map} +1 -1
  339. package/dist/{rw-LlEWc1s6.js → rw-Blj2kDq6.js} +19 -19
  340. package/dist/{rw-LlEWc1s6.js.map → rw-Blj2kDq6.js.map} +1 -1
  341. package/dist/{sd-Dl5kx0Mf.js → sd-Dh6b4g0V.js} +3 -3
  342. package/dist/{sd-Dl5kx0Mf.js.map → sd-Dh6b4g0V.js.map} +1 -1
  343. package/dist/{se-g9qeL_tj.js → se-CcjBgwqX.js} +3 -3
  344. package/dist/{se-g9qeL_tj.js.map → se-CcjBgwqX.js.map} +1 -1
  345. package/dist/{si-DJ0iTjr2.js → si-C4Bf2aZN.js} +3 -3
  346. package/dist/{si-DJ0iTjr2.js.map → si-C4Bf2aZN.js.map} +1 -1
  347. package/dist/{sk-DIIKWodo.js → sk-CoXQ8MVn.js} +17 -17
  348. package/dist/{sk-DIIKWodo.js.map → sk-CoXQ8MVn.js.map} +1 -1
  349. package/dist/{sl-Dk0mkoln.js → sl-LVwBMZ8g.js} +3 -3
  350. package/dist/{sl-Dk0mkoln.js.map → sl-LVwBMZ8g.js.map} +1 -1
  351. package/dist/{sq-CnrtDqiL.js → sq-Ce5d-lFW.js} +3 -3
  352. package/dist/{sq-CnrtDqiL.js.map → sq-Ce5d-lFW.js.map} +1 -1
  353. package/dist/{sr-BpRm2EQA.js → sr-h1Eu1XvF.js} +3 -3
  354. package/dist/{sr-BpRm2EQA.js.map → sr-h1Eu1XvF.js.map} +1 -1
  355. package/dist/{ss-DGmpLJS8.js → ss-BsdSig4-.js} +12 -12
  356. package/dist/{ss-DGmpLJS8.js.map → ss-BsdSig4-.js.map} +1 -1
  357. package/dist/{sv-yhfmwUN6.js → sv-0_QXf1d4.js} +3 -3
  358. package/dist/{sv-yhfmwUN6.js.map → sv-0_QXf1d4.js.map} +1 -1
  359. package/dist/{sw-Dw_JKeax.js → sw-BsrENJtP.js} +3 -3
  360. package/dist/{sw-Dw_JKeax.js.map → sw-BsrENJtP.js.map} +1 -1
  361. package/dist/{ta-Cs0FIxAS.js → ta-CFro1Q60.js} +3 -3
  362. package/dist/{ta-Cs0FIxAS.js.map → ta-CFro1Q60.js.map} +1 -1
  363. package/dist/{tables.utils-DTj9IxKE.js → tables.utils-BpqebRcu.js} +8 -8
  364. package/dist/{tables.utils-DTj9IxKE.js.map → tables.utils-BpqebRcu.js.map} +1 -1
  365. package/dist/{te-8eHnL3e7.js → te-fNrExfO4.js} +3 -3
  366. package/dist/{te-8eHnL3e7.js.map → te-fNrExfO4.js.map} +1 -1
  367. package/dist/{tet-De-u15cD.js → tet-C1SiSOHo.js} +3 -3
  368. package/dist/{tet-De-u15cD.js.map → tet-C1SiSOHo.js.map} +1 -1
  369. package/dist/{tg-BKfyKu3X.js → tg-XoO28Ax8.js} +3 -3
  370. package/dist/{tg-BKfyKu3X.js.map → tg-XoO28Ax8.js.map} +1 -1
  371. package/dist/{th-ZOogHr9T.js → th-BD0a9Tsr.js} +3 -3
  372. package/dist/{th-ZOogHr9T.js.map → th-BD0a9Tsr.js.map} +1 -1
  373. package/dist/theme/i18n/translations/de.d.ts.map +1 -1
  374. package/dist/theme/i18n/translations/en.d.ts.map +1 -1
  375. package/dist/theme/styles/styles.constants.d.ts +220 -0
  376. package/dist/theme/styles/styles.constants.d.ts.map +1 -1
  377. package/dist/{timeRange.utils-BEVObMeY.js → timeRange.utils-D1hjtzlU.js} +2 -2
  378. package/dist/{timeRange.utils-BEVObMeY.js.map → timeRange.utils-D1hjtzlU.js.map} +1 -1
  379. package/dist/{tk-CwC21M7O.js → tk-BhOK0VAQ.js} +3 -3
  380. package/dist/{tk-CwC21M7O.js.map → tk-BhOK0VAQ.js.map} +1 -1
  381. package/dist/{tlh-89ONuvwF.js → tlh-Dqbn66Us.js} +3 -3
  382. package/dist/{tlh-89ONuvwF.js.map → tlh-Dqbn66Us.js.map} +1 -1
  383. package/dist/{tr-B2p8A8wK.js → tr-3tXGYFt6.js} +3 -3
  384. package/dist/{tr-B2p8A8wK.js.map → tr-3tXGYFt6.js.map} +1 -1
  385. package/dist/{tzl-Bt6lhPHi.js → tzl-CJB2gpe5.js} +13 -13
  386. package/dist/{tzl-Bt6lhPHi.js.map → tzl-CJB2gpe5.js.map} +1 -1
  387. package/dist/{tzm-BeJOYuvO.js → tzm-Cdf7EqCZ.js} +3 -3
  388. package/dist/{tzm-BeJOYuvO.js.map → tzm-Cdf7EqCZ.js.map} +1 -1
  389. package/dist/{uk-6ccfCNSX.js → uk-C8HeWoez.js} +3 -3
  390. package/dist/{uk-6ccfCNSX.js.map → uk-C8HeWoez.js.map} +1 -1
  391. package/dist/{ur-JRX9JRM0.js → ur-BL1Urm5y.js} +15 -15
  392. package/dist/{ur-JRX9JRM0.js.map → ur-BL1Urm5y.js.map} +1 -1
  393. package/dist/{utc-B5c5BK1a.js → utc-CeNUjiDo.js} +2 -2
  394. package/dist/{utc-B5c5BK1a.js.map → utc-CeNUjiDo.js.map} +1 -1
  395. package/dist/{uz-CDPiUc3r.js → uz-CNvbnKCL.js} +3 -3
  396. package/dist/{uz-CDPiUc3r.js.map → uz-CNvbnKCL.js.map} +1 -1
  397. package/dist/{vi-DeBlweVE.js → vi-C9FpvKdC.js} +3 -3
  398. package/dist/{vi-DeBlweVE.js.map → vi-C9FpvKdC.js.map} +1 -1
  399. package/dist/{x-pseudo-wygz_Ct7.js → x-pseudo-C6fpKQdk.js} +3 -3
  400. package/dist/{x-pseudo-wygz_Ct7.js.map → x-pseudo-C6fpKQdk.js.map} +1 -1
  401. package/dist/{yo-Dn9cfVRJ.js → yo-Ct-UwHTf.js} +3 -3
  402. package/dist/{yo-Dn9cfVRJ.js.map → yo-Ct-UwHTf.js.map} +1 -1
  403. package/dist/{zh-cn-ciL_mBXD.js → zh-cn-QPB_mEp2.js} +3 -3
  404. package/dist/{zh-cn-ciL_mBXD.js.map → zh-cn-QPB_mEp2.js.map} +1 -1
  405. package/dist/{zh-hk-MitkAoxx.js → zh-hk-8MN_4jQA.js} +3 -3
  406. package/dist/{zh-hk-MitkAoxx.js.map → zh-hk-8MN_4jQA.js.map} +1 -1
  407. package/dist/{zh-tw-D1Zvdtff.js → zh-tw-_gFpvI1c.js} +3 -3
  408. package/dist/{zh-tw-D1Zvdtff.js.map → zh-tw-_gFpvI1c.js.map} +1 -1
  409. package/package.json +7 -6
  410. package/dist/charts.utils-BLrFZl8Q.js.map +0 -1
  411. package/dist/dates.utils-g0Zm49s9.js +0 -169
  412. package/dist/definition-C_O50_G7.js.map +0 -1
  413. package/dist/definition-DgMAhPPp.js +0 -254
  414. package/dist/definition-DgMAhPPp.js.map +0 -1
  415. package/dist/dimensionsAndMeasures.utils-Dk2-L1xC.js +0 -16
  416. package/dist/dimensionsAndMeasures.utils-Dk2-L1xC.js.map +0 -1
  417. package/dist/preview.data.constants-CF2ixBjn.js +0 -126
  418. package/dist/preview.data.constants-CF2ixBjn.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"definition-BEjk2-SO.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-Di3x_6Rh.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,33 +1,34 @@
1
- import { j as p, H as V, y as k, l as N } from "./index-C_yieA4G.js";
1
+ import { j as p, H as V, J as k, l as N } from "./index-CJYh9LRs.js";
2
2
  import { useTheme as z, definePreview as I } from "@embeddable.com/react";
3
- import { i as q, r as J } from "./component.utils-CKQTC8YE.js";
4
- import { C as K } from "./ChartCard-DRvWAJbb.js";
5
- import { g, p as r } from "./preview.data.constants-CF2ixBjn.js";
6
- import { u as h } from "./charts.fillGaps.hooks-pnsCGEcn.js";
3
+ import { a as J, r as q } from "./component.utils-Dua9clQJ.js";
4
+ import { C as K } from "./ChartCard-Cqhxv7xl.js";
5
+ import { g } from "./formatter.utils-DXI8s5Y5.js";
6
+ import { u as h } from "./charts.fillGaps.hooks-DDOGO5JR.js";
7
7
  import { u as L } from "./tables.hooks-fVC_4V5K.js";
8
- import { i as o } from "./component.inputs.constants-CV2cw73o.js";
9
- const C = (e, t) => {
8
+ import { i as o } from "./component.inputs.constants-C-vfrygQ.js";
9
+ import { p as r } from "./preview.data.constants--FLtEcg5.js";
10
+ const f = (e, t) => {
10
11
  const n = g(t);
11
12
  return {
12
13
  key: e.measure.name,
13
14
  label: n.dimensionOrMeasureTitle(e.measure),
14
- format: (s) => n.data(e.measure, s)
15
+ format: (a) => n.data(e.measure, a)
15
16
  };
16
17
  }, u = (e, t) => {
17
18
  const n = g(t);
18
19
  return {
19
20
  key: e.dimension.name,
20
21
  label: n.dimensionOrMeasureTitle(e.dimension),
21
- format: (s) => n.data(e.dimension, s)
22
+ format: (a) => n.data(e.dimension, a)
22
23
  };
23
24
  }, d = (e) => {
24
25
  var c;
25
26
  const t = z();
26
- q(t);
27
- const { title: n, description: s, tooltip: D } = J(e), {
27
+ J(t);
28
+ const { title: n, description: a, tooltip: D } = q(e), {
28
29
  hideMenu: M,
29
- measure: l,
30
- rowDimension: a,
30
+ measure: m,
31
+ rowDimension: s,
31
32
  columnDimension: i,
32
33
  maxColor: x,
33
34
  midColor: y,
@@ -39,31 +40,31 @@ const C = (e, t) => {
39
40
  minThreshold: A,
40
41
  maxThreshold: H
41
42
  } = e, j = Array.from(
42
- new Set((e.results.data ?? []).filter(Boolean).map((m) => m[i.name]))
43
+ new Set((e.results.data ?? []).filter(Boolean).map((l) => l[i.name]))
43
44
  ), O = Array.from(
44
- new Set((e.results.data ?? []).filter(Boolean).map((m) => m[a.name]))
45
+ new Set((e.results.data ?? []).filter(Boolean).map((l) => l[s.name]))
45
46
  ), P = h({
46
47
  results: e.results,
47
48
  dimension: i
48
49
  }), W = h({
49
50
  results: P,
50
- dimension: a
51
+ dimension: s
51
52
  }), G = L({
52
53
  results: W,
53
54
  columnOrder: j,
54
55
  rowOrder: O,
55
56
  columnDimension: i,
56
- rowDimension: a,
57
- measures: [l]
58
- }), B = C({ measure: l }, t), _ = u({ dimension: a }, t), E = u({ dimension: i }, t);
57
+ rowDimension: s,
58
+ measures: [m]
59
+ }), B = f({ measure: m }, t), _ = u({ dimension: s }, t), E = u({ dimension: i }, t);
59
60
  return /* @__PURE__ */ p.jsx(
60
61
  K,
61
62
  {
62
63
  title: n,
63
- description: s,
64
+ description: a,
64
65
  tooltip: D,
65
66
  data: e.results,
66
- dimensionsAndMeasures: [a, i, l],
67
+ dimensionsAndMeasures: [s, i, m],
67
68
  errorMessage: (c = e.results) == null ? void 0 : c.error,
68
69
  hideMenu: M,
69
70
  children: /* @__PURE__ */ p.jsx(
@@ -86,11 +87,11 @@ const C = (e, t) => {
86
87
  )
87
88
  }
88
89
  );
89
- }, ae = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
90
+ }, ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
90
91
  __proto__: null,
91
92
  default: d,
92
93
  getHeatDimension: u,
93
- getHeatMeasure: C
94
+ getHeatMeasure: f
94
95
  }, Symbol.toStringTag, { value: "Module" })), Q = {
95
96
  name: "HeatMapPro",
96
97
  label: "Heat Map",
@@ -164,35 +165,35 @@ const C = (e, t) => {
164
165
  },
165
166
  o.maxResults
166
167
  ]
167
- }, b = {
168
+ }, C = {
168
169
  rowDimension: r.dimension,
169
170
  columnDimension: r.dimensionGroup,
170
171
  measure: r.measure,
171
172
  results: r.results1Measure2Dimensions,
172
173
  hideMenu: !0
173
- }, U = I(d, b), f = (e) => ({
174
+ }, U = I(d, C), b = (e) => ({
174
175
  from: e.dataset,
175
176
  select: [e.rowDimension, e.columnDimension, e.measure],
176
177
  limit: e.maxResults,
177
178
  countRows: !0
178
- }), w = (e) => N(f(e)), X = (e) => ({
179
+ }), w = (e) => N(b(e)), X = (e) => ({
179
180
  ...e,
180
181
  results: w(e)
181
- }), ie = {
182
+ }), re = {
182
183
  Component: d,
183
184
  meta: Q,
184
185
  preview: U,
185
- previewConfig: b,
186
+ previewConfig: C,
186
187
  config: {
187
188
  props: X
188
189
  },
189
190
  results: {
190
- loadDataArgs: f,
191
+ loadDataArgs: b,
191
192
  loadData: w
192
193
  }
193
194
  };
194
195
  export {
195
- ie as h,
196
- ae as i
196
+ re as h,
197
+ ie as i
197
198
  };
198
- //# sourceMappingURL=definition-CCobBmxq.js.map
199
+ //# sourceMappingURL=definition-DpFvucVl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-CCobBmxq.js","sources":["../src/components/charts/tables/HeatMapPro/index.tsx","../src/components/charts/tables/HeatMapPro/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 { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport {\n getStyle,\n HeatMap,\n HeatMapPropsDimension,\n HeatMapPropsMeasure,\n} from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\nexport type HeatMapProProps = {\n columnDimension: Dimension;\n columnWidth?: number;\n\n displayNullAs?: string;\n firstColumnWidth?: number;\n maxColor?: string;\n maxThreshold?: string;\n measure: Measure;\n midColor?: string;\n minColor?: string;\n minThreshold?: string;\n results: DataResponse;\n rowDimension: Dimension;\n showValues?: boolean;\n} & ChartCardHeaderProps;\n\nexport const getHeatMeasure = (\n props: { measure: Measure },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsMeasure<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.measure),\n format: (value) => {\n return themeFormatter.data(props.measure, value);\n },\n };\n};\n\nexport const getHeatDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsDimension<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n format: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nconst HeatMapPro = (props: HeatMapProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n rowDimension,\n columnDimension,\n maxColor,\n midColor,\n minColor,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n showValues,\n minThreshold,\n maxThreshold,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures: [measure],\n });\n\n const pivotMeasures = getHeatMeasure({ measure }, theme);\n const pivotRowDimension = getHeatDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getHeatDimension({ dimension: columnDimension }, theme);\n\n return (\n <ChartCard\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <HeatMap\n data={results}\n measure={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n maxColor={maxColor}\n midColor={midColor ?? getStyle('--em-tablechart-heatmap-color', '#FF5400')}\n minColor={minColor}\n showValues={showValues}\n minThreshold={minThreshold}\n maxThreshold={maxThreshold}\n columnWidth={columnWidth}\n firstColumnWidth={firstColumnWidth}\n displayNullAs={displayNullAs}\n />\n </ChartCard>\n );\n};\n\nexport default HeatMapPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'HeatMapPro',\n label: 'Heat Map',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.color,\n name: 'midColor',\n label: 'Mid-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'maxColor',\n label: 'Max-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'minColor',\n label: 'Min-point color (optional)',\n },\n {\n ...inputs.string,\n name: 'minThreshold',\n label: 'Max-point range lower limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.string,\n name: 'maxThreshold',\n label: 'Min-point range upper limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showValues',\n label: 'Show values',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n rowDimension: previewData.dimension,\n columnDimension: 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>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, inputs.measure],\n limit: inputs.maxResults,\n countRows: true,\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const heatMapPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getHeatMeasure","props","theme","themeFormatter","getThemeFormatter","value","getHeatDimension","HeatMapPro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","hideMenu","measure","rowDimension","columnDimension","maxColor","midColor","minColor","displayNullAs","columnWidth","firstColumnWidth","showValues","minThreshold","maxThreshold","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","pivotMeasures","pivotRowDimension","pivotColumnDimension","jsx","ChartCard","_a","HeatMap","getStyle","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","heatMapPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-DpFvucVl.js","sources":["../src/components/charts/tables/HeatMapPro/index.tsx","../src/components/charts/tables/HeatMapPro/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 { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport {\n getStyle,\n HeatMap,\n HeatMapPropsDimension,\n HeatMapPropsMeasure,\n} from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\nexport type HeatMapProProps = {\n columnDimension: Dimension;\n columnWidth?: number;\n\n displayNullAs?: string;\n firstColumnWidth?: number;\n maxColor?: string;\n maxThreshold?: string;\n measure: Measure;\n midColor?: string;\n minColor?: string;\n minThreshold?: string;\n results: DataResponse;\n rowDimension: Dimension;\n showValues?: boolean;\n} & ChartCardHeaderProps;\n\nexport const getHeatMeasure = (\n props: { measure: Measure },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsMeasure<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.measure),\n format: (value) => {\n return themeFormatter.data(props.measure, value);\n },\n };\n};\n\nexport const getHeatDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): HeatMapPropsDimension<any> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n format: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nconst HeatMapPro = (props: HeatMapProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n measure,\n rowDimension,\n columnDimension,\n maxColor,\n midColor,\n minColor,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n showValues,\n minThreshold,\n maxThreshold,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures: [measure],\n });\n\n const pivotMeasures = getHeatMeasure({ measure }, theme);\n const pivotRowDimension = getHeatDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getHeatDimension({ dimension: columnDimension }, theme);\n\n return (\n <ChartCard\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <HeatMap\n data={results}\n measure={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n maxColor={maxColor}\n midColor={midColor ?? getStyle('--em-tablechart-heatmap-color', '#FF5400')}\n minColor={minColor}\n showValues={showValues}\n minThreshold={minThreshold}\n maxThreshold={maxThreshold}\n columnWidth={columnWidth}\n firstColumnWidth={firstColumnWidth}\n displayNullAs={displayNullAs}\n />\n </ChartCard>\n );\n};\n\nexport default HeatMapPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'HeatMapPro',\n label: 'Heat Map',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.color,\n name: 'midColor',\n label: 'Mid-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'maxColor',\n label: 'Max-point color (optional)',\n },\n {\n ...inputs.color,\n name: 'minColor',\n label: 'Min-point color (optional)',\n },\n {\n ...inputs.string,\n name: 'minThreshold',\n label: 'Max-point range lower limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.string,\n name: 'maxThreshold',\n label: 'Min-point range upper limit',\n description: 'Enter a value as either a number (e.g. 20) or a percentage (e.g. 20%)',\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showValues',\n label: 'Show values',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n rowDimension: previewData.dimension,\n columnDimension: 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>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, inputs.measure],\n limit: inputs.maxResults,\n countRows: true,\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const heatMapPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getHeatMeasure","props","theme","themeFormatter","getThemeFormatter","value","getHeatDimension","HeatMapPro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","hideMenu","measure","rowDimension","columnDimension","maxColor","midColor","minColor","displayNullAs","columnWidth","firstColumnWidth","showValues","minThreshold","maxThreshold","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","pivotMeasures","pivotRowDimension","pivotColumnDimension","jsx","ChartCard","_a","HeatMap","getStyle","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","heatMapPro"],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { j as m, K as x, l as D } from "./index-C_yieA4G.js";
1
+ import { j as m, K as x, l as D } from "./index-CJYh9LRs.js";
2
2
  import { useTheme as M, definePreview as P } from "@embeddable.com/react";
3
- import { i as y, r as z } from "./component.utils-CKQTC8YE.js";
4
- import { C as A } from "./ChartCard-DRvWAJbb.js";
5
- import { g as w, p as u } from "./preview.data.constants-CF2ixBjn.js";
3
+ import { a as y, r as z } from "./component.utils-Dua9clQJ.js";
4
+ import { C as A } from "./ChartCard-Cqhxv7xl.js";
5
+ import { g as w } from "./formatter.utils-DXI8s5Y5.js";
6
6
  import { g as F } from "./kpis.utils-DsZ2GzuB.js";
7
- import { i as t } from "./component.inputs.constants-CV2cw73o.js";
7
+ import { i as t } from "./component.inputs.constants-C-vfrygQ.js";
8
+ import { p as u } from "./preview.data.constants--FLtEcg5.js";
8
9
  const a = (e) => {
9
10
  var n, l;
10
11
  const o = M();
@@ -31,7 +32,7 @@ const a = (e) => {
31
32
  )
32
33
  }
33
34
  );
34
- }, q = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
35
+ }, G = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
35
36
  __proto__: null,
36
37
  default: a
37
38
  }, Symbol.toStringTag, { value: "Module" })), R = {
@@ -58,7 +59,7 @@ const a = (e) => {
58
59
  }), c = (e) => D(d(e)), T = (e) => ({
59
60
  ...e,
60
61
  results: c(e)
61
- }), G = {
62
+ }), J = {
62
63
  Component: a,
63
64
  meta: R,
64
65
  preview: _,
@@ -72,7 +73,7 @@ const a = (e) => {
72
73
  }
73
74
  };
74
75
  export {
75
- q as i,
76
- G as k
76
+ G as i,
77
+ J as k
77
78
  };
78
- //# sourceMappingURL=definition-DuyGzfcU.js.map
79
+ //# sourceMappingURL=definition-DsDQF6Da.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-DuyGzfcU.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx","../src/components/charts/kpis/KpiChartNumberPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n displayNullAs?: string;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const { measure, fontSize, hideMenu, results } = props;\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n const resultsWithNullsHandled = getKpiResults(results, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n inputs.title,\n inputs.description,\n inputs.displayNullAs,\n inputs.tooltip,\n inputs.fontSize,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const kpiChartNumberPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","measure","fontSize","hideMenu","results","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","kpiChartNumberPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAiBR,CAAK,GACvE,EAAE,SAAAS,GAAS,UAAAC,GAAU,UAAAC,GAAU,SAAAC,MAAYZ,GAE3Ca,KAAQC,KAAAC,IAAAH,EAAQ,SAAR,gBAAAG,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBhB,CAAK,GACxCiB,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa,GAEtFC,IAA0BC,EAAcT,GAASH,GAAS,EAAQF,CAAc;AAEtF,SACEe,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAACX,CAAO;AAAA,MAC/B,cAAcG,EAAQ;AAAA,MACtB,aAAAP;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAK;AAAA,MAEA,UAAAW,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,eAAAjB;AAAA,UACA,OAAAM;AAAA,UACA,gBAAAK;AAAA,UACA,eAAeR;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB;AAAA,EAAA;AAGN;;;8CC3CMe,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAEX,GAEMC,IAAgB;AAAA,EACpB,SAAS,EAAE,GAAGC,EAAY,QAAA;AAAA,EAC1B,SAASA,EAAY;AAAA,EACrB,UAAU;AAAA,EACV,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAACN,OAAkD;AAAA,EAC7E,MAAMA,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AACzB,IAEMO,IAAkB,CAACP,MACvBQ,EAASF,EAAoBN,CAAM,CAAC,GAEhC1B,IAAQ,CAAC0B,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,SAASO,EAAgBP,CAAM;AACjC,IAEaS,IAAoB;AAAA,EAAA,WAC/BJ;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAA3B;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcgC;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"definition-DsDQF6Da.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx","../src/components/charts/kpis/KpiChartNumberPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n displayNullAs?: string;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const { measure, fontSize, hideMenu, results } = props;\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n const resultsWithNullsHandled = getKpiResults(results, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\n\nconst meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n category: 'Kpi Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n inputs.title,\n inputs.description,\n inputs.displayNullAs,\n inputs.tooltip,\n inputs.fontSize,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const kpiChartNumberPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","measure","fontSize","hideMenu","results","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","kpiChartNumberPro"],"mappings":";;;;;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAiBR,CAAK,GACvE,EAAE,SAAAS,GAAS,UAAAC,GAAU,UAAAC,GAAU,SAAAC,MAAYZ,GAE3Ca,KAAQC,KAAAC,IAAAH,EAAQ,SAAR,gBAAAG,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBhB,CAAK,GACxCiB,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa,GAEtFC,IAA0BC,EAAcT,GAASH,GAAS,EAAQF,CAAc;AAEtF,SACEe,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAACX,CAAO;AAAA,MAC/B,cAAcG,EAAQ;AAAA,MACtB,aAAAP;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAK;AAAA,MAEA,UAAAW,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,eAAAjB;AAAA,UACA,OAAAM;AAAA,UACA,gBAAAK;AAAA,UACA,eAAeR;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB;AAAA,EAAA;AAGN;;;8CC3CMe,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAEX,GAEMC,IAAgB;AAAA,EACpB,SAAS,EAAE,GAAGC,EAAY,QAAA;AAAA,EAC1B,SAASA,EAAY;AAAA,EACrB,UAAU;AAAA,EACV,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAACN,OAAkD;AAAA,EAC7E,MAAMA,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,OAAO;AACzB,IAEMO,IAAkB,CAACP,MACvBQ,EAASF,EAAoBN,CAAM,CAAC,GAEhC1B,IAAQ,CAAC0B,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,SAASO,EAAgBP,CAAM;AACjC,IAEaS,IAAoB;AAAA,EAAA,WAC/BJ;AAAAA,EACA,MAAAN;AAAA,EACA,SAAAI;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAA3B;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcgC;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
@@ -1,11 +1,11 @@
1
1
  import { useTheme as q, definePreview as B } from "@embeddable.com/react";
2
- import { X as H, Y as W, j as n, D as X, S as Y, h as p, Z, _ as $, $ as A, a0 as G, a1 as J, a2 as K, V as i } from "./index-C_yieA4G.js";
3
- import { g as k, u as Q, b as U, a as D, c as ee } from "./dates.utils-g0Zm49s9.js";
4
- import { a as te, i as ae, r as ne, b as m } from "./component.utils-CKQTC8YE.js";
5
- import { E as oe } from "./EditorCard-D8Cir6hQ.js";
2
+ import { a0 as H, a1 as W, j as n, D as A, n as G, o as p, d as J, a2 as K, a3 as Q, a4 as U, e as X, a5 as Y, V as i } from "./index-CJYh9LRs.js";
3
+ import { g as k, u as Z, b as $, a as D, c as ee } from "./dates.utils-C3LPV893.js";
4
+ import { b as te, a as ae, r as ne, i as m } from "./component.utils-Dua9clQJ.js";
5
+ import { E as oe } from "./EditorCard-BABTQLwW.js";
6
6
  import { useState as f, useEffect as se } from "react";
7
- import { I as re } from "./IconCalendarFilled-_9ZuXVCG.js";
8
- import { i as s } from "./component.inputs.constants-CV2cw73o.js";
7
+ import { I as re } from "./IconCalendarFilled-DqyDZZ9z.js";
8
+ import { i as s } from "./component.inputs.constants-C-vfrygQ.js";
9
9
  const le = (e) => e.map((o) => ({
10
10
  rightLabel: k(o.getRange(), o.dateFormat),
11
11
  value: o.value,
@@ -16,8 +16,8 @@ const le = (e) => e.map((o) => ({
16
16
  }, h = (e) => {
17
17
  const o = q();
18
18
  ae(o);
19
- const { dayjsLocaleReady: c } = Q(), { onChange: r, clearable: w, selectedValue: t, showCustomRangeOptions: j, showTwoMonths: x } = e, C = !j, [y, v] = f(C), [T, b] = f(!1), [d, g] = f(
20
- U(t)
19
+ const { dayjsLocaleReady: c } = Z(), { onChange: r, clearable: w, selectedValue: t, showCustomRangeOptions: j, showTwoMonths: x } = e, C = !j, [y, v] = f(C), [T, b] = f(!1), [d, g] = f(
20
+ $(t)
21
21
  ), l = o.defaults.dateRangesOptions;
22
22
  if (se(() => {
23
23
  if (!c)
@@ -26,13 +26,13 @@ const le = (e) => e.map((o) => ({
26
26
  H(a, t) || r(a);
27
27
  }, [t, c, r, l]), !c)
28
28
  return null;
29
- const { description: F, placeholder: S, title: O, tooltip: L } = ne(e), P = le(l), _ = (a) => {
29
+ const { description: F, placeholder: S, title: O, tooltip: L } = ne(e), P = le(l), I = (a) => {
30
30
  const u = D(
31
31
  { relativeTimeString: a },
32
32
  l
33
33
  );
34
34
  r(u), g(void 0);
35
- }, I = (a) => {
35
+ }, _ = (a) => {
36
36
  r(ee(a)), b(!1);
37
37
  }, M = () => {
38
38
  g(void 0), r(void 0);
@@ -45,13 +45,13 @@ const le = (e) => e.map((o) => ({
45
45
  return t != null && t.from && (t != null && t.to) ? k(t, "MMM DD") : "";
46
46
  })(), V = o.i18n.language ?? o.formatter.locale, z = W(d, t), N = x ? 2 : 1;
47
47
  return /* @__PURE__ */ n.jsx(oe, { title: O, description: F, tooltip: L, children: /* @__PURE__ */ n.jsx(
48
- X,
48
+ A,
49
49
  {
50
50
  open: T,
51
51
  onOpenChange: b,
52
52
  avoidCollisions: !1,
53
53
  triggerComponent: /* @__PURE__ */ n.jsx(
54
- K,
54
+ Y,
55
55
  {
56
56
  startIcon: re,
57
57
  "aria-label": S,
@@ -61,7 +61,7 @@ const le = (e) => e.map((o) => ({
61
61
  isClearable: w
62
62
  }
63
63
  ),
64
- children: /* @__PURE__ */ n.jsx(Y, { fitContent: !0, className: R.dateRangePickerContent, children: y ? /* @__PURE__ */ n.jsxs("div", { className: R.dateRangePickerContainer, children: [
64
+ children: /* @__PURE__ */ n.jsx(G, { fitContent: !0, className: R.dateRangePickerContent, children: y ? /* @__PURE__ */ n.jsxs("div", { className: R.dateRangePickerContainer, children: [
65
65
  !C && /* @__PURE__ */ n.jsx(
66
66
  p,
67
67
  {
@@ -69,11 +69,11 @@ const le = (e) => e.map((o) => ({
69
69
  onClick: (a) => {
70
70
  a.preventDefault(), v(!1);
71
71
  },
72
- startIcon: /* @__PURE__ */ n.jsx(Z, {})
72
+ startIcon: /* @__PURE__ */ n.jsx(J, {})
73
73
  }
74
74
  ),
75
75
  /* @__PURE__ */ n.jsx(
76
- $,
76
+ K,
77
77
  {
78
78
  locale: V,
79
79
  numberOfMonths: N,
@@ -82,15 +82,15 @@ const le = (e) => e.map((o) => ({
82
82
  }
83
83
  ),
84
84
  /* @__PURE__ */ n.jsx(
85
- A,
85
+ Q,
86
86
  {
87
87
  size: "small",
88
88
  disabled: z,
89
- onClick: () => I(d),
89
+ onClick: () => _(d),
90
90
  children: m.t("editors.dateRangePicker.apply")
91
91
  }
92
92
  )
93
- ] }) : /* @__PURE__ */ n.jsxs(G, { children: [
93
+ ] }) : /* @__PURE__ */ n.jsxs(U, { children: [
94
94
  /* @__PURE__ */ n.jsx(
95
95
  p,
96
96
  {
@@ -98,7 +98,7 @@ const le = (e) => e.map((o) => ({
98
98
  onClick: (a) => {
99
99
  a.preventDefault(), v(!0);
100
100
  },
101
- endIcon: /* @__PURE__ */ n.jsx(J, {})
101
+ endIcon: /* @__PURE__ */ n.jsx(X, {})
102
102
  }
103
103
  ),
104
104
  P.map((a) => /* @__PURE__ */ n.jsx(
@@ -106,7 +106,7 @@ const le = (e) => e.map((o) => ({
106
106
  {
107
107
  ...a,
108
108
  isSelected: (t == null ? void 0 : t.relativeTimeString) === a.value,
109
- onClick: () => _(a.value)
109
+ onClick: () => I(a.value)
110
110
  },
111
111
  a.value
112
112
  ))
@@ -206,4 +206,4 @@ export {
206
206
  le as g,
207
207
  Re as i
208
208
  };
209
- //# sourceMappingURL=definition-CcCRcbo-.js.map
209
+ //# sourceMappingURL=definition-DxkipQYz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-CcCRcbo-.js","sources":["../src/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.ts","../src/components/editors/dates/DateRangePickerPresetsPro/index.tsx","../src/components/editors/dates/DateRangePickerPresetsPro/definition.ts"],"sourcesContent":["import { DateRangeSelectFieldProOption } from './DateRangePickerPresetsPro.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { resolveI18nString } from '../../../component.utils';\nimport { getTimeRangeLabel } from '../dates.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport {\n Button,\n DateRangePicker,\n Dropdown,\n SelectFieldContent,\n SelectFieldContentList,\n SelectListOption,\n DateRange,\n SelectFieldTrigger,\n isSameDateRange,\n shallowEqual,\n} from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangePickerPresetsPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled, IconChevronLeft, IconChevronRight } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\nimport styles from './DateRangePickerPresetsPro.module.css';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeFromPresets,\n getTimeRangeLabel,\n} from '../dates.utils';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n\n clearable?: boolean;\n showCustomRangeOptions?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n const { onChange, clearable, selectedValue, showCustomRangeOptions, showTwoMonths } = props;\n const onlyDateRangePicker = !showCustomRangeOptions;\n const [showDateRangePicker, setShowDateRangePicker] = useState(onlyDateRangePicker);\n\n const [isOpen, setIsOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | undefined>(\n getDateRangeFromTimeRange(selectedValue),\n );\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n useEffect(() => {\n if (!dayjsLocaleReady) {\n return;\n }\n // Step 1: Convert relativeTimeString to actual time range (from/to)\n const newTimeRange = getTimeRangeFromPresets(selectedValue, dateRangeOptions);\n\n if (!shallowEqual(newTimeRange, selectedValue)) {\n onChange(newTimeRange);\n }\n }, [selectedValue, dayjsLocaleReady, onChange, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n const handleOptionChange = (newValue: string | undefined) => {\n const newTimeRange = getTimeRangeFromPresets(\n { relativeTimeString: newValue } as TimeRange,\n dateRangeOptions,\n );\n\n onChange(newTimeRange);\n setDateRange(undefined);\n };\n\n const handleDateRangeChange = (newDateRange: DateRange | undefined) => {\n onChange(getTimeRangeFromDateRange(newDateRange));\n setIsOpen(false);\n };\n\n const handleClear = () => {\n setDateRange(undefined);\n onChange(undefined);\n };\n\n const getValueLabel = () => {\n if (selectedValue?.relativeTimeString) {\n const option = options.find((option) => option.value === selectedValue.relativeTimeString);\n if (option) {\n return option.label;\n }\n }\n\n if (selectedValue?.from && selectedValue?.to) {\n return getTimeRangeLabel(selectedValue, 'MMM DD');\n }\n\n return '';\n };\n\n const valueLabel = getValueLabel();\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n const isSubmitDisabled = isSameDateRange(dateRange, selectedValue);\n const numberOfMonths = showTwoMonths ? 2 : 1;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n avoidCollisions={false}\n triggerComponent={\n <SelectFieldTrigger\n startIcon={IconCalendarFilled}\n aria-label={placeholder}\n placeholder={placeholder}\n valueLabel={valueLabel}\n onClear={handleClear}\n isClearable={clearable}\n />\n }\n >\n <SelectFieldContent fitContent className={styles.dateRangePickerContent}>\n {showDateRangePicker ? (\n <div className={styles.dateRangePickerContainer}>\n {!onlyDateRangePicker && (\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.backToPresets')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(false);\n }}\n startIcon={<IconChevronLeft />}\n />\n )}\n <DateRangePicker\n locale={locale}\n numberOfMonths={numberOfMonths}\n value={dateRange}\n onChange={setDateRange}\n />\n <Button\n size=\"small\"\n disabled={isSubmitDisabled}\n onClick={() => handleDateRangeChange(dateRange)}\n >\n {i18n.t('editors.dateRangePicker.apply')}\n </Button>\n </div>\n ) : (\n <SelectFieldContentList>\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.custom')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(true);\n }}\n endIcon={<IconChevronRight />}\n />\n {options.map((option) => (\n <SelectListOption\n key={option.value}\n {...option}\n isSelected={selectedValue?.relativeTimeString === option.value}\n onClick={() => handleOptionChange(option.value)}\n />\n ))}\n </SelectFieldContentList>\n )}\n </SelectFieldContent>\n </Dropdown>\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { TimeRange, Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangeSelectFieldPro',\n label: 'Date-Range Picker - Presets',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n {\n ...inputs.boolean,\n name: 'showCustomRangeOptions',\n label: 'Show custom date-range option',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two-month view',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n {\n name: 'fromDate',\n label: 'Start date of selected range',\n type: 'time',\n },\n {\n name: 'toDate',\n label: 'To date of selected range',\n type: 'time',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n showCustomRangeOptions: true,\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (timeRange: TimeRange) => {\n return {\n value: timeRange ?? Value.noFilter(),\n fromDate: timeRange?.from ? { date: timeRange?.from } : Value.noFilter(),\n toDate: timeRange?.to ? { date: timeRange?.to } : Value.noFilter(),\n };\n },\n};\n\nexport const dateRangeSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","onChange","clearable","selectedValue","showCustomRangeOptions","showTwoMonths","onlyDateRangePicker","showDateRangePicker","setShowDateRangePicker","useState","isOpen","setIsOpen","dateRange","setDateRange","getDateRangeFromTimeRange","dateRangeOptions","useEffect","newTimeRange","getTimeRangeFromPresets","shallowEqual","description","placeholder","title","tooltip","resolveI18nProps","options","handleOptionChange","newValue","handleDateRangeChange","newDateRange","getTimeRangeFromDateRange","handleClear","valueLabel","locale","isSubmitDisabled","isSameDateRange","numberOfMonths","jsx","EditorCard","Dropdown","SelectFieldTrigger","IconCalendarFilled","SelectFieldContent","styles","jsxs","SelectListOption","i18n","e","IconChevronLeft","DateRangePicker","Button","SelectFieldContentList","IconChevronRight","meta","inputs","Value","preview","definePreview","Component","events","timeRange","dateRangeSelectFieldPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-DxkipQYz.js","sources":["../src/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.ts","../src/components/editors/dates/DateRangePickerPresetsPro/index.tsx","../src/components/editors/dates/DateRangePickerPresetsPro/definition.ts"],"sourcesContent":["import { DateRangeSelectFieldProOption } from './DateRangePickerPresetsPro.types';\nimport { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { resolveI18nString } from '../../../component.utils';\nimport { getTimeRangeLabel } from '../dates.utils';\n\nexport const getDateRangeSelectFieldProOptions = (\n dateRangeSelectFieldProOptions: DateRangeSelectFieldProOption[],\n): SelectListOptionProps[] => {\n return dateRangeSelectFieldProOptions.map((option) => {\n return {\n rightLabel: getTimeRangeLabel(option.getRange(), option.dateFormat),\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport {\n Button,\n DateRangePicker,\n Dropdown,\n SelectFieldContent,\n SelectFieldContentList,\n SelectListOption,\n DateRange,\n SelectFieldTrigger,\n isSameDateRange,\n shallowEqual,\n} from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../../utils/date.utils';\nimport { getDateRangeSelectFieldProOptions } from './DateRangePickerPresetsPro.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../../shared/EditorCard/EditorCard';\nimport { IconCalendarFilled, IconChevronLeft, IconChevronRight } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { useEffect, useState } from 'react';\nimport styles from './DateRangePickerPresetsPro.module.css';\nimport {\n getDateRangeFromTimeRange,\n getTimeRangeFromDateRange,\n getTimeRangeFromPresets,\n getTimeRangeLabel,\n} from '../dates.utils';\n\nexport type DateRangePickerPresetsProps = {\n onChange: (newDateRange: TimeRange) => void;\n placeholder?: string;\n selectedValue?: TimeRange;\n\n clearable?: boolean;\n showCustomRangeOptions?: boolean;\n showTwoMonths?: boolean;\n} & EditorCardHeaderProps;\n\nconst DateRangePickerPresets = (props: DateRangePickerPresetsProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n const { onChange, clearable, selectedValue, showCustomRangeOptions, showTwoMonths } = props;\n const onlyDateRangePicker = !showCustomRangeOptions;\n const [showDateRangePicker, setShowDateRangePicker] = useState(onlyDateRangePicker);\n\n const [isOpen, setIsOpen] = useState(false);\n const [dateRange, setDateRange] = useState<DateRange | undefined>(\n getDateRangeFromTimeRange(selectedValue),\n );\n\n const dateRangeOptions = theme.defaults.dateRangesOptions;\n\n useEffect(() => {\n if (!dayjsLocaleReady) {\n return;\n }\n // Step 1: Convert relativeTimeString to actual time range (from/to)\n const newTimeRange = getTimeRangeFromPresets(selectedValue, dateRangeOptions);\n\n if (!shallowEqual(newTimeRange, selectedValue)) {\n onChange(newTimeRange);\n }\n }, [selectedValue, dayjsLocaleReady, onChange, dateRangeOptions]);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n\n const options = getDateRangeSelectFieldProOptions(dateRangeOptions);\n\n const handleOptionChange = (newValue: string | undefined) => {\n const newTimeRange = getTimeRangeFromPresets(\n { relativeTimeString: newValue } as TimeRange,\n dateRangeOptions,\n );\n\n onChange(newTimeRange);\n setDateRange(undefined);\n };\n\n const handleDateRangeChange = (newDateRange: DateRange | undefined) => {\n onChange(getTimeRangeFromDateRange(newDateRange));\n setIsOpen(false);\n };\n\n const handleClear = () => {\n setDateRange(undefined);\n onChange(undefined);\n };\n\n const getValueLabel = () => {\n if (selectedValue?.relativeTimeString) {\n const option = options.find((option) => option.value === selectedValue.relativeTimeString);\n if (option) {\n return option.label;\n }\n }\n\n if (selectedValue?.from && selectedValue?.to) {\n return getTimeRangeLabel(selectedValue, 'MMM DD');\n }\n\n return '';\n };\n\n const valueLabel = getValueLabel();\n\n const locale = theme.i18n.language ?? theme.formatter.locale;\n const isSubmitDisabled = isSameDateRange(dateRange, selectedValue);\n const numberOfMonths = showTwoMonths ? 2 : 1;\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n avoidCollisions={false}\n triggerComponent={\n <SelectFieldTrigger\n startIcon={IconCalendarFilled}\n aria-label={placeholder}\n placeholder={placeholder}\n valueLabel={valueLabel}\n onClear={handleClear}\n isClearable={clearable}\n />\n }\n >\n <SelectFieldContent fitContent className={styles.dateRangePickerContent}>\n {showDateRangePicker ? (\n <div className={styles.dateRangePickerContainer}>\n {!onlyDateRangePicker && (\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.backToPresets')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(false);\n }}\n startIcon={<IconChevronLeft />}\n />\n )}\n <DateRangePicker\n locale={locale}\n numberOfMonths={numberOfMonths}\n value={dateRange}\n onChange={setDateRange}\n />\n <Button\n size=\"small\"\n disabled={isSubmitDisabled}\n onClick={() => handleDateRangeChange(dateRange)}\n >\n {i18n.t('editors.dateRangePicker.apply')}\n </Button>\n </div>\n ) : (\n <SelectFieldContentList>\n <SelectListOption\n label={i18n.t('editors.dateRangePicker.custom')}\n onClick={(e) => {\n e.preventDefault();\n setShowDateRangePicker(true);\n }}\n endIcon={<IconChevronRight />}\n />\n {options.map((option) => (\n <SelectListOption\n key={option.value}\n {...option}\n isSelected={selectedValue?.relativeTimeString === option.value}\n onClick={() => handleOptionChange(option.value)}\n />\n ))}\n </SelectFieldContentList>\n )}\n </SelectFieldContent>\n </Dropdown>\n </EditorCard>\n );\n};\n\nexport default DateRangePickerPresets;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport { TimeRange, Value } from '@embeddable.com/core';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\n\nconst meta = {\n name: 'DateRangeSelectFieldPro',\n label: 'Date-Range Picker - Presets',\n category: 'Dropdowns - dates',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select a date-range' },\n {\n ...inputs.boolean,\n name: 'showCustomRangeOptions',\n label: 'Show custom date-range option',\n defaultValue: true,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'showTwoMonths',\n label: 'Show two-month view',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.clearable,\n {\n ...inputs.timeRange,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected date-range updated',\n properties: [\n {\n name: 'value',\n label: 'Selected date-range',\n type: 'timeRange',\n },\n {\n name: 'fromDate',\n label: 'Start date of selected range',\n type: 'time',\n },\n {\n name: 'toDate',\n label: 'To date of selected range',\n type: 'time',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'date-range value',\n type: 'timeRange',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n showCustomRangeOptions: true,\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n };\n};\n\nconst events = {\n onChange: (timeRange: TimeRange) => {\n return {\n value: timeRange ?? Value.noFilter(),\n fromDate: timeRange?.from ? { date: timeRange?.from } : Value.noFilter(),\n toDate: timeRange?.to ? { date: timeRange?.to } : Value.noFilter(),\n };\n },\n};\n\nexport const dateRangeSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["getDateRangeSelectFieldProOptions","dateRangeSelectFieldProOptions","option","getTimeRangeLabel","resolveI18nString","DateRangePickerPresets","props","theme","useTheme","i18nSetup","dayjsLocaleReady","useLoadDayjsLocale","onChange","clearable","selectedValue","showCustomRangeOptions","showTwoMonths","onlyDateRangePicker","showDateRangePicker","setShowDateRangePicker","useState","isOpen","setIsOpen","dateRange","setDateRange","getDateRangeFromTimeRange","dateRangeOptions","useEffect","newTimeRange","getTimeRangeFromPresets","shallowEqual","description","placeholder","title","tooltip","resolveI18nProps","options","handleOptionChange","newValue","handleDateRangeChange","newDateRange","getTimeRangeFromDateRange","handleClear","valueLabel","locale","isSubmitDisabled","isSameDateRange","numberOfMonths","jsx","EditorCard","Dropdown","SelectFieldTrigger","IconCalendarFilled","SelectFieldContent","styles","jsxs","SelectListOption","i18n","e","IconChevronLeft","DateRangePicker","Button","SelectFieldContentList","IconChevronRight","meta","inputs","Value","preview","definePreview","Component","events","timeRange","dateRangeSelectFieldPro"],"mappings":"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"}