@embeddable.com/remarkable-pro 0.1.14 → 0.1.16

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 (214) 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/ComparisonPeriodSelectFieldPro.js +1 -1
  8. package/dist/DateRangePickerCustomPro.js +1 -1
  9. package/dist/DateRangeSelectFieldPro.js +1 -1
  10. package/dist/{DimensionAndMeasureSingleSelectField-CuDSeRWL.js → DimensionAndMeasureSingleSelectField-zC2mD-wg.js} +2 -2
  11. package/dist/{DimensionAndMeasureSingleSelectField-CuDSeRWL.js.map → DimensionAndMeasureSingleSelectField-zC2mD-wg.js.map} +1 -1
  12. package/dist/DimensionSingleSelectFieldPro.js +1 -1
  13. package/dist/DonutChartPro.js +1 -1
  14. package/dist/DonutLabelChartPro.js +1 -1
  15. package/dist/{GranularitySelectField-DhmzFuG_.js → GranularitySelectField-DOrz96Nx.js} +2 -2
  16. package/dist/{GranularitySelectField-DhmzFuG_.js.map → GranularitySelectField-DOrz96Nx.js.map} +1 -1
  17. package/dist/GranularitySelectFieldPro.js +1 -1
  18. package/dist/HeatMapPro.js +1 -1
  19. package/dist/HorizontalDividerPro.js +1 -1
  20. package/dist/KpiChartNumberComparisonPro.js +1 -1
  21. package/dist/KpiChartNumberPro.js +1 -1
  22. package/dist/LineChartComparisonDefaultPro.js +1 -1
  23. package/dist/LineChartDefaultPro.js +1 -1
  24. package/dist/LineChartGroupedPro.js +1 -1
  25. package/dist/MeasureSingleSelectFieldPro.js +1 -1
  26. package/dist/MultiSelectFieldPro.js +1 -1
  27. package/dist/PieChartPro.js +1 -1
  28. package/dist/PivotTablePro.js +1 -1
  29. package/dist/SingleSelectFieldPro.js +1 -1
  30. package/dist/TableChartPaginated.js +1 -1
  31. package/dist/TableScrollable.js +1 -1
  32. package/dist/bars.utils-Cp3p2Uwb.js +157 -0
  33. package/dist/bars.utils-Cp3p2Uwb.js.map +1 -0
  34. package/dist/{charts.fillGaps.hooks-CZW4DsTE.js → charts.fillGaps.hooks-pjSNsjXn.js} +2 -2
  35. package/dist/{charts.fillGaps.hooks-CZW4DsTE.js.map → charts.fillGaps.hooks-pjSNsjXn.js.map} +1 -1
  36. package/dist/{charts.utils-DqZruys0.js → charts.utils-Bm2RzdsJ.js} +10 -5
  37. package/dist/charts.utils-Bm2RzdsJ.js.map +1 -0
  38. package/dist/{component.inputs.constants-DqFfoZ5R.js → component.inputs.constants-Bt7Cg1U3.js} +126 -120
  39. package/dist/component.inputs.constants-Bt7Cg1U3.js.map +1 -0
  40. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/BarChartDefaultHorizontalPro.emb.d.ts +5 -1
  41. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/BarChartDefaultHorizontalPro.emb.d.ts.map +1 -1
  42. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts +10 -2
  43. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts.map +1 -1
  44. package/dist/components/charts/bars/BarChartDefaultPro/BarChartDefaultPro.emb.d.ts +5 -1
  45. package/dist/components/charts/bars/BarChartDefaultPro/BarChartDefaultPro.emb.d.ts.map +1 -1
  46. package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts +10 -2
  47. package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts.map +1 -1
  48. package/dist/components/charts/bars/bars.utils.d.ts.map +1 -1
  49. package/dist/components/charts/bars/bars.utils.test.d.ts +2 -0
  50. package/dist/components/charts/bars/bars.utils.test.d.ts.map +1 -0
  51. package/dist/components/charts/charts.utils.d.ts +1 -0
  52. package/dist/components/charts/charts.utils.d.ts.map +1 -1
  53. package/dist/components/charts/charts.utils.test.d.ts +2 -0
  54. package/dist/components/charts/charts.utils.test.d.ts.map +1 -0
  55. package/dist/components/charts/kpis/kpis.utils.test.d.ts +2 -0
  56. package/dist/components/charts/kpis/kpis.utils.test.d.ts.map +1 -0
  57. package/dist/components/charts/lines/lines.utils.test.d.ts +2 -0
  58. package/dist/components/charts/lines/lines.utils.test.d.ts.map +1 -0
  59. package/dist/components/charts/pies/DonutChartPro/DonutChartPro.emb.d.ts +6 -1
  60. package/dist/components/charts/pies/DonutChartPro/DonutChartPro.emb.d.ts.map +1 -1
  61. package/dist/components/charts/pies/DonutChartPro/definition.d.ts +13 -3
  62. package/dist/components/charts/pies/DonutChartPro/definition.d.ts.map +1 -1
  63. package/dist/components/charts/pies/DonutLabelChartPro/DonutLabelChartPro.emb.d.ts +6 -1
  64. package/dist/components/charts/pies/DonutLabelChartPro/DonutLabelChartPro.emb.d.ts.map +1 -1
  65. package/dist/components/charts/pies/DonutLabelChartPro/definition.d.ts +13 -3
  66. package/dist/components/charts/pies/DonutLabelChartPro/definition.d.ts.map +1 -1
  67. package/dist/components/charts/pies/PieChartPro/PieChartPro.emb.d.ts +6 -1
  68. package/dist/components/charts/pies/PieChartPro/PieChartPro.emb.d.ts.map +1 -1
  69. package/dist/components/charts/pies/PieChartPro/definition.d.ts +13 -3
  70. package/dist/components/charts/pies/PieChartPro/definition.d.ts.map +1 -1
  71. package/dist/components/charts/pies/pies.types.d.ts +1 -0
  72. package/dist/components/charts/pies/pies.types.d.ts.map +1 -1
  73. package/dist/components/charts/pies/pies.utils.d.ts.map +1 -1
  74. package/dist/components/charts/pies/pies.utils.test.d.ts +2 -0
  75. package/dist/components/charts/pies/pies.utils.test.d.ts.map +1 -0
  76. package/dist/components/charts/shared/ChartCard/ChartCard.test.d.ts +2 -0
  77. package/dist/components/charts/shared/ChartCard/ChartCard.test.d.ts.map +1 -0
  78. package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.test.d.ts +2 -0
  79. package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.test.d.ts.map +1 -0
  80. package/dist/components/charts/tables/PivotTablePro/PivotPro.utils.test.d.ts +2 -0
  81. package/dist/components/charts/tables/PivotTablePro/PivotPro.utils.test.d.ts.map +1 -0
  82. package/dist/components/charts/tables/tables.utils.d.ts.map +1 -1
  83. package/dist/components/charts/tables/tables.utils.test.d.ts +2 -0
  84. package/dist/components/charts/tables/tables.utils.test.d.ts.map +1 -0
  85. package/dist/components/component.subinputs.constants.d.ts +6 -0
  86. package/dist/components/component.subinputs.constants.d.ts.map +1 -1
  87. package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.test.d.ts +2 -0
  88. package/dist/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.test.d.ts.map +1 -0
  89. package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.test.d.ts +2 -0
  90. package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.test.d.ts.map +1 -0
  91. package/dist/components/editors/dates/dates.utils.test.d.ts +2 -0
  92. package/dist/components/editors/dates/dates.utils.test.d.ts.map +1 -0
  93. package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.test.d.ts +2 -0
  94. package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.test.d.ts.map +1 -0
  95. package/dist/components/editors/shared/EditorCard/EditorCard.test.d.ts +2 -0
  96. package/dist/components/editors/shared/EditorCard/EditorCard.test.d.ts.map +1 -0
  97. package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.test.d.ts +2 -0
  98. package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.test.d.ts.map +1 -0
  99. package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.utils.test.d.ts +2 -0
  100. package/dist/components/editors/shared/GranularitySelectField/GranularitySelectField.utils.test.d.ts.map +1 -0
  101. package/dist/components/shared/EmptyContainerPro/index.test.d.ts +2 -0
  102. package/dist/components/shared/EmptyContainerPro/index.test.d.ts.map +1 -0
  103. package/dist/components/shared/HorizontalDividerPro/index.test.d.ts +2 -0
  104. package/dist/components/shared/HorizontalDividerPro/index.test.d.ts.map +1 -0
  105. package/dist/components/utils/timeRange.utils.test.d.ts +2 -0
  106. package/dist/components/utils/timeRange.utils.test.d.ts.map +1 -0
  107. package/dist/{definition-pGb2HvrT.js → definition-7YcKSzMc.js} +6 -6
  108. package/dist/{definition-pGb2HvrT.js.map → definition-7YcKSzMc.js.map} +1 -1
  109. package/dist/{definition-5X_7D7PB.js → definition-B0BZOtFb.js} +5 -5
  110. package/dist/{definition-5X_7D7PB.js.map → definition-B0BZOtFb.js.map} +1 -1
  111. package/dist/{definition-BcQzo4D5.js → definition-B1eFycgF.js} +56 -53
  112. package/dist/definition-B1eFycgF.js.map +1 -0
  113. package/dist/{definition-Bzfn9qRU.js → definition-B5IubDTh.js} +2 -2
  114. package/dist/{definition-Bzfn9qRU.js.map → definition-B5IubDTh.js.map} +1 -1
  115. package/dist/{definition-DK_Of-Gy.js → definition-B9-NkNs1.js} +36 -36
  116. package/dist/definition-B9-NkNs1.js.map +1 -0
  117. package/dist/{definition-Db_zvoxg.js → definition-BTxQOtrb.js} +4 -4
  118. package/dist/{definition-Db_zvoxg.js.map → definition-BTxQOtrb.js.map} +1 -1
  119. package/dist/{definition-Boah9FmY.js → definition-BVDxicxq.js} +6 -6
  120. package/dist/{definition-Boah9FmY.js.map → definition-BVDxicxq.js.map} +1 -1
  121. package/dist/{definition-CRo-ay8-.js → definition-BZfh0d5G.js} +4 -4
  122. package/dist/{definition-CRo-ay8-.js.map → definition-BZfh0d5G.js.map} +1 -1
  123. package/dist/{definition-DGu0W1N5.js → definition-BfPzjM5E.js} +3 -3
  124. package/dist/{definition-DGu0W1N5.js.map → definition-BfPzjM5E.js.map} +1 -1
  125. package/dist/{definition-D1ImuDYw.js → definition-BqpI59h1.js} +2 -2
  126. package/dist/{definition-D1ImuDYw.js.map → definition-BqpI59h1.js.map} +1 -1
  127. package/dist/{definition-KVzTbAIw.js → definition-BymWALVZ.js} +37 -39
  128. package/dist/definition-BymWALVZ.js.map +1 -0
  129. package/dist/{definition-B1JPVIaV.js → definition-C-qWM-Pj.js} +3 -3
  130. package/dist/{definition-B1JPVIaV.js.map → definition-C-qWM-Pj.js.map} +1 -1
  131. package/dist/{definition-DpxkZ7BE.js → definition-C1VV9G0e.js} +6 -6
  132. package/dist/{definition-DpxkZ7BE.js.map → definition-C1VV9G0e.js.map} +1 -1
  133. package/dist/{definition-BvNvRUNa.js → definition-CMz7w0QV.js} +4 -4
  134. package/dist/{definition-BvNvRUNa.js.map → definition-CMz7w0QV.js.map} +1 -1
  135. package/dist/{definition-DlXlQNWS.js → definition-CiHy_fws.js} +3 -3
  136. package/dist/{definition-DlXlQNWS.js.map → definition-CiHy_fws.js.map} +1 -1
  137. package/dist/{definition-DKxaARfb.js → definition-CwTis5em.js} +2 -2
  138. package/dist/{definition-DKxaARfb.js.map → definition-CwTis5em.js.map} +1 -1
  139. package/dist/{definition-MJqJAv-G.js → definition-DcFzlbIT.js} +4 -4
  140. package/dist/{definition-MJqJAv-G.js.map → definition-DcFzlbIT.js.map} +1 -1
  141. package/dist/{definition-DVZj79R-.js → definition-De-Rad1b.js} +6 -6
  142. package/dist/{definition-DVZj79R-.js.map → definition-De-Rad1b.js.map} +1 -1
  143. package/dist/{definition-C3bUC419.js → definition-DjSj_Mf9.js} +5 -5
  144. package/dist/{definition-C3bUC419.js.map → definition-DjSj_Mf9.js.map} +1 -1
  145. package/dist/{definition-BNiUf3pa.js → definition-DrM3lQgj.js} +4 -4
  146. package/dist/{definition-BNiUf3pa.js.map → definition-DrM3lQgj.js.map} +1 -1
  147. package/dist/{definition-MqJ_B4_d.js → definition-DuznYX_X.js} +38 -38
  148. package/dist/definition-DuznYX_X.js.map +1 -0
  149. package/dist/{definition-C0bSa4wt.js → definition-SzFQwepb.js} +3 -3
  150. package/dist/{definition-C0bSa4wt.js.map → definition-SzFQwepb.js.map} +1 -1
  151. package/dist/{definition-CPlHt0VT.js → definition-WczJhf4R.js} +3 -3
  152. package/dist/{definition-CPlHt0VT.js.map → definition-WczJhf4R.js.map} +1 -1
  153. package/dist/{definition-D7mkYIUq.js → definition-YCcNs37E.js} +4 -4
  154. package/dist/{definition-D7mkYIUq.js.map → definition-YCcNs37E.js.map} +1 -1
  155. package/dist/{definition-C7o_MYiT.js → definition-gkxKuLIZ.js} +5 -5
  156. package/dist/{definition-C7o_MYiT.js.map → definition-gkxKuLIZ.js.map} +1 -1
  157. package/dist/{definition-B8pymNp8.js → definition-zJlVKfyf.js} +58 -55
  158. package/dist/definition-zJlVKfyf.js.map +1 -0
  159. package/dist/editors/ColorEditor/index.test.d.ts +2 -0
  160. package/dist/editors/ColorEditor/index.test.d.ts.map +1 -0
  161. package/dist/embeddable-components.json +30 -30
  162. package/dist/embeddable-theme-0137e.js +1 -0
  163. package/dist/{granularity.utils-DFrZaG56.js → granularity.utils-B0Km_S2c.js} +2 -2
  164. package/dist/{granularity.utils-DFrZaG56.js.map → granularity.utils-B0Km_S2c.js.map} +1 -1
  165. package/dist/index.js +158 -157
  166. package/dist/pies.utils-eTSHQEF7.js +76 -0
  167. package/dist/pies.utils-eTSHQEF7.js.map +1 -0
  168. package/dist/{preview.data.constants-D0uQPYd1.js → preview.data.constants-D-2xm7Qk.js} +2 -2
  169. package/dist/{preview.data.constants-D0uQPYd1.js.map → preview.data.constants-D-2xm7Qk.js.map} +1 -1
  170. package/dist/{tables.utils-t7VvK_RS.js → tables.utils-BlL_7T9C.js} +5 -5
  171. package/dist/{tables.utils-t7VvK_RS.js.map → tables.utils-BlL_7T9C.js.map} +1 -1
  172. package/dist/theme/defaults/defaults.ChartCardMenu.constants.test.d.ts +2 -0
  173. package/dist/theme/defaults/defaults.ChartCardMenu.constants.test.d.ts.map +1 -0
  174. package/dist/theme/defaults/defaults.ComparisonPeriods.constants.test.d.ts +2 -0
  175. package/dist/theme/defaults/defaults.ComparisonPeriods.constants.test.d.ts.map +1 -0
  176. package/dist/theme/defaults/defaults.DateRanges.constants.test.d.ts +2 -0
  177. package/dist/theme/defaults/defaults.DateRanges.constants.test.d.ts.map +1 -0
  178. package/dist/theme/defaults/defaults.GranularityOptions.constants.test.d.ts +2 -0
  179. package/dist/theme/defaults/defaults.GranularityOptions.constants.test.d.ts.map +1 -0
  180. package/dist/theme/defaults/defaults.TableCellStyle.constants.test.d.ts +2 -0
  181. package/dist/theme/defaults/defaults.TableCellStyle.constants.test.d.ts.map +1 -0
  182. package/dist/theme/formatter/formatter.constants.d.ts.map +1 -1
  183. package/dist/theme/formatter/formatter.constants.test.d.ts +2 -0
  184. package/dist/theme/formatter/formatter.constants.test.d.ts.map +1 -0
  185. package/dist/theme/formatter/formatter.utils.test.d.ts +2 -0
  186. package/dist/theme/formatter/formatter.utils.test.d.ts.map +1 -0
  187. package/dist/theme/styles/styles.utils.test.d.ts +2 -0
  188. package/dist/theme/styles/styles.utils.test.d.ts.map +1 -0
  189. package/dist/theme/utils/export.utils.test.d.ts +2 -0
  190. package/dist/theme/utils/export.utils.test.d.ts.map +1 -0
  191. package/dist/utils/array.utils.test.d.ts +2 -0
  192. package/dist/utils/array.utils.test.d.ts.map +1 -0
  193. package/dist/utils/cache.utils.test.d.ts +2 -0
  194. package/dist/utils/cache.utils.test.d.ts.map +1 -0
  195. package/dist/utils/color.utils.test.d.ts +2 -0
  196. package/dist/utils/color.utils.test.d.ts.map +1 -0
  197. package/dist/utils/data.utils.test.d.ts +2 -0
  198. package/dist/utils/data.utils.test.d.ts.map +1 -0
  199. package/dist/utils/date.utils.test.d.ts +2 -0
  200. package/dist/utils/date.utils.test.d.ts.map +1 -0
  201. package/dist/utils/object.utils.test.d.ts +2 -0
  202. package/dist/utils/object.utils.test.d.ts.map +1 -0
  203. package/package.json +9 -2
  204. package/dist/bars.utils-KAfWV1-z.js +0 -154
  205. package/dist/bars.utils-KAfWV1-z.js.map +0 -1
  206. package/dist/charts.utils-DqZruys0.js.map +0 -1
  207. package/dist/component.inputs.constants-DqFfoZ5R.js.map +0 -1
  208. package/dist/definition-B8pymNp8.js.map +0 -1
  209. package/dist/definition-BcQzo4D5.js.map +0 -1
  210. package/dist/definition-DK_Of-Gy.js.map +0 -1
  211. package/dist/definition-KVzTbAIw.js.map +0 -1
  212. package/dist/definition-MqJ_B4_d.js.map +0 -1
  213. package/dist/pies.utils-C8bEmCaz.js +0 -77
  214. package/dist/pies.utils-C8bEmCaz.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"definition-C3bUC419.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx","../src/components/charts/lines/LineChartDefaultPro/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 { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.['dashedLine']\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.['fillUnderLine']),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, context.dataset.label) || ''}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\n });\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProps = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {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 LineChartPro;\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 { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\n\nconst meta = {\n name: 'LineChartDefaultPro',\n label: 'Line Chart - Default',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputs.color,\n name: 'lineColor',\n label: 'Line color',\n },\n {\n ...subInputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n },\n {\n ...subInputs.boolean,\n name: 'dashedLine',\n label: 'Dashed line',\n defaultValue: false,\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis', name: 'xAxis' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.maxResults,\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 },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\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: [...inputs.measures, xAxis ?? inputs.xAxis],\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 }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => 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 lineChartDefaultPro = {\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":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartDefaultPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-DjSj_Mf9.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx","../src/components/charts/lines/LineChartDefaultPro/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 { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartColors = getChartColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n chartColors,\n index,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n chartColors,\n index,\n });\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.['dashedLine']\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.['fillUnderLine']),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n onLineClicked?: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, context.dataset.label) || ''}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n if (!onLineClicked) return;\n\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\n });\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\nexport type LineChartProProps = {\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n yAxisLabel?: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n setGranularity?: (granularity: Granularity) => void;\n onLineClicked?: LineChartProOptionsClick;\n} & ChartCardHeaderProps;\n\nconst LineChartPro = (props: LineChartProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n hideMenu,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n setGranularity,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n {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 LineChartPro;\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 { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\n\nconst meta = {\n name: 'LineChartDefaultPro',\n label: 'Line Chart - Default',\n category: 'Line Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputs.color,\n name: 'lineColor',\n label: 'Line color',\n },\n {\n ...subInputs.boolean,\n name: 'connectGaps',\n label: 'Connect gaps',\n defaultValue: true,\n },\n {\n ...subInputs.boolean,\n name: 'dashedLine',\n label: 'Dashed line',\n defaultValue: false,\n },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis', name: 'xAxis' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.maxResults,\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 },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\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: [...inputs.measures, xAxis ?? inputs.xAxis],\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 }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [LineChartDefaultProState, (state: LineChartDefaultProState) => 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 lineChartDefaultPro = {\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":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartColors","getChartColors","backgroundColor","isColorValid","getDimensionMeasureColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","setGranularity","results","useFillGaps","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","LineChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","Value","state","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartDefaultPro"],"mappings":"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"}
@@ -2,10 +2,10 @@ import { j as p, H as V, b as k, l as N } from "./Color.type.emb-BBdbJHvt.js";
2
2
  import { useTheme as z, definePreview as I } from "@embeddable.com/react";
3
3
  import { a as q, r as J } from "./component.utils-DNw0iugA.js";
4
4
  import { C as K } from "./ChartCard-rrXP6aUC.js";
5
- import { g, p as r } from "./preview.data.constants-D0uQPYd1.js";
6
- import { u as h } from "./charts.fillGaps.hooks-CZW4DsTE.js";
5
+ import { g, p as r } from "./preview.data.constants-D-2xm7Qk.js";
6
+ import { u as h } from "./charts.fillGaps.hooks-pjSNsjXn.js";
7
7
  import { u as L } from "./tables.hooks-fVC_4V5K.js";
8
- import { i as o } from "./component.inputs.constants-DqFfoZ5R.js";
8
+ import { i as o } from "./component.inputs.constants-Bt7Cg1U3.js";
9
9
  const b = (e, t) => {
10
10
  const n = g(t);
11
11
  return {
@@ -195,4 +195,4 @@ export {
195
195
  ie as h,
196
196
  se as i
197
197
  };
198
- //# sourceMappingURL=definition-BNiUf3pa.js.map
198
+ //# sourceMappingURL=definition-DrM3lQgj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-BNiUf3pa.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-DrM3lQgj.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,14 +1,14 @@
1
- import { m as L, j as p, D as j, V as M, l as y } from "./Color.type.emb-BBdbJHvt.js";
2
- import { useTheme as A, definePreview as T } from "@embeddable.com/react";
3
- import { g as _, a as I } from "./pies.utils-C8bEmCaz.js";
1
+ import { m as L, j as p, D as j, V as M, l as A } from "./Color.type.emb-BBdbJHvt.js";
2
+ import { useTheme as y, definePreview as I } from "@embeddable.com/react";
3
+ import { g as T, a as _ } from "./pies.utils-eTSHQEF7.js";
4
4
  import { a as O, r as R } from "./component.utils-DNw0iugA.js";
5
5
  import { C as z } from "./ChartCard-rrXP6aUC.js";
6
- import { i as t } from "./component.inputs.constants-DqFfoZ5R.js";
7
- import { p as r } from "./preview.data.constants-D0uQPYd1.js";
6
+ import { i as s, s as E } from "./component.inputs.constants-Bt7Cg1U3.js";
7
+ import { p as r } from "./preview.data.constants-D-2xm7Qk.js";
8
8
  const i = (e) => {
9
9
  var m;
10
- const s = A();
11
- O(s);
10
+ const t = y();
11
+ O(t);
12
12
  const {
13
13
  description: f,
14
14
  dimension: a,
@@ -17,15 +17,15 @@ const i = (e) => {
17
17
  results: o,
18
18
  showLegend: P,
19
19
  showTooltips: w,
20
- showValueLabels: v,
21
- title: b,
20
+ showValueLabels: b,
21
+ title: v,
22
22
  onSegmentClick: l
23
- } = R(e), { hideMenu: V } = e, S = _(
23
+ } = R(e), { hideMenu: V } = e, S = T(
24
24
  { data: o.data, dimension: a, measure: n, maxLegendItems: D },
25
- s
25
+ t
26
26
  ), k = L(
27
- I(n, s),
28
- ((m = s.charts.donutChartPro) == null ? void 0 : m.options) ?? {}
27
+ _(n, t),
28
+ ((m = t.charts.donutChartPro) == null ? void 0 : m.options) ?? {}
29
29
  ), x = (d) => {
30
30
  var u, c;
31
31
  l && l({
@@ -39,7 +39,7 @@ const i = (e) => {
39
39
  dimensionsAndMeasures: [a, n],
40
40
  errorMessage: o.error,
41
41
  description: f,
42
- title: b,
42
+ title: v,
43
43
  hideMenu: V,
44
44
  children: /* @__PURE__ */ p.jsx(
45
45
  j,
@@ -48,30 +48,30 @@ const i = (e) => {
48
48
  options: k,
49
49
  showLegend: P,
50
50
  showTooltips: w,
51
- showValueLabels: v,
51
+ showValueLabels: b,
52
52
  onSegmentClick: x
53
53
  }
54
54
  )
55
55
  }
56
56
  );
57
- }, W = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
57
+ }, X = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
58
58
  __proto__: null,
59
59
  default: i
60
- }, Symbol.toStringTag, { value: "Module" })), E = {
60
+ }, Symbol.toStringTag, { value: "Module" })), F = {
61
61
  name: "DonutChartPro",
62
62
  label: "Donut Chart",
63
63
  category: "Pie Charts",
64
64
  inputs: [
65
- t.dataset,
66
- t.measure,
67
- t.dimension,
68
- t.title,
69
- t.description,
70
- t.tooltip,
71
- t.showLegend,
72
- t.maxLegendItems,
73
- t.showTooltips,
74
- t.showValueLabels
65
+ s.dataset,
66
+ { ...s.measure, inputs: [...s.measure.inputs, E.showValueAsPercentage] },
67
+ s.dimension,
68
+ s.title,
69
+ s.description,
70
+ s.tooltip,
71
+ s.showLegend,
72
+ s.maxLegendItems,
73
+ s.showTooltips,
74
+ s.showValueLabels
75
75
  ],
76
76
  events: [
77
77
  {
@@ -92,24 +92,24 @@ const i = (e) => {
92
92
  results: r.results1Measure1Dimension,
93
93
  showValueLabels: !1,
94
94
  hideMenu: !0
95
- }, F = T(i, h), g = (e) => ({
95
+ }, q = I(i, h), g = (e) => ({
96
96
  from: e.dataset,
97
97
  select: [e.measure, e.dimension]
98
- }), C = (e) => y(g(e)), q = {
98
+ }), C = (e) => A(g(e)), B = {
99
99
  onSegmentClick: (e) => ({
100
100
  dimensionValue: e.dimensionValue ?? M.noFilter()
101
101
  })
102
- }, B = (e) => ({
102
+ }, G = (e) => ({
103
103
  ...e,
104
104
  results: C(e)
105
- }), X = {
105
+ }), Y = {
106
106
  Component: i,
107
- meta: E,
108
- preview: F,
107
+ meta: F,
108
+ preview: q,
109
109
  previewConfig: h,
110
110
  config: {
111
- props: B,
112
- events: q
111
+ props: G,
112
+ events: B
113
113
  },
114
114
  results: {
115
115
  loadDataArgs: g,
@@ -117,7 +117,7 @@ const i = (e) => {
117
117
  }
118
118
  };
119
119
  export {
120
- X as d,
121
- W as i
120
+ Y as d,
121
+ X as i
122
122
  };
123
- //# sourceMappingURL=definition-MqJ_B4_d.js.map
123
+ //# sourceMappingURL=definition-DuznYX_X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition-DuznYX_X.js","sources":["../src/components/charts/pies/DonutChartPro/index.tsx","../src/components/charts/pies/DonutChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\nexport type DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <DonutChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n","import { DataResponse, LoadDataRequest, Value, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'DonutChartPro',\n label: 'Donut Chart',\n category: 'Pie Charts',\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n showValueLabels: false,\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, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: { dimensionValue?: string }) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n});\n\nexport const donutChartPro = {\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":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","events","value","Value","donutChartPro"],"mappings":"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"}
@@ -2,9 +2,9 @@ import { j as m, K as x, l as D } from "./Color.type.emb-BBdbJHvt.js";
2
2
  import { useTheme as M, definePreview as P } from "@embeddable.com/react";
3
3
  import { a as y, r as z } from "./component.utils-DNw0iugA.js";
4
4
  import { C as A } from "./ChartCard-rrXP6aUC.js";
5
- import { g as w, p as u } from "./preview.data.constants-D0uQPYd1.js";
5
+ import { g as w, p as u } from "./preview.data.constants-D-2xm7Qk.js";
6
6
  import { g as F } from "./kpis.utils-DsZ2GzuB.js";
7
- import { i as t } from "./component.inputs.constants-DqFfoZ5R.js";
7
+ import { i as t } from "./component.inputs.constants-Bt7Cg1U3.js";
8
8
  const a = (e) => {
9
9
  var n, l;
10
10
  const o = M();
@@ -75,4 +75,4 @@ export {
75
75
  q as i,
76
76
  G as k
77
77
  };
78
- //# sourceMappingURL=definition-C0bSa4wt.js.map
78
+ //# sourceMappingURL=definition-SzFQwepb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-C0bSa4wt.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-SzFQwepb.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,9 +1,9 @@
1
1
  import { useTheme as C, definePreview as M } from "@embeddable.com/react";
2
2
  import { j as g, S as P, V as d, l as w } from "./Color.type.emb-BBdbJHvt.js";
3
- import { g as j, p as f } from "./preview.data.constants-D0uQPYd1.js";
3
+ import { g as j, p as f } from "./preview.data.constants-D-2xm7Qk.js";
4
4
  import { E as T } from "./EditorCard-drvq5XVw.js";
5
5
  import { r as _, i as q } from "./component.utils-DNw0iugA.js";
6
- import { i as n } from "./component.inputs.constants-DqFfoZ5R.js";
6
+ import { i as n } from "./component.inputs.constants-Bt7Cg1U3.js";
7
7
  const v = 200, c = (e) => {
8
8
  var u, p;
9
9
  const o = C(), a = j(o), { title: i, description: b, dimension: s, placeholder: D, tooltip: y } = _(e), { optionalSecondDimension: m, results: l, selectedValue: O, setSearchValue: V, onChange: r } = e, x = ((u = l.data) == null ? void 0 : u.map((t) => ({
@@ -127,4 +127,4 @@ export {
127
127
  W as i,
128
128
  X as s
129
129
  };
130
- //# sourceMappingURL=definition-CPlHt0VT.js.map
130
+ //# sourceMappingURL=definition-WczJhf4R.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-CPlHt0VT.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx","../src/components/editors/SingleSelectFieldPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type SingleSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue?: string;\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = props;\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue: string) => onChange?.(newValue)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData, LoadDataRequest, DataResponse } from '@embeddable.com/core';\nimport Component, { MAX_OPTIONS } from '.';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'SingleSelectFieldPro',\n label: 'Single Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n { ...inputs.dimension, label: 'Dimension (to load Dropdown values)' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n {\n ...inputs.number,\n name: 'maxOptions',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n ...inputs.string,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n config: {\n dataset: 'dataset',\n },\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional secondary dimension',\n category: 'Data Mapping for Interactions',\n description: 'Send a different dimension to embeddable when the user clicks. Must be unique.',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected value updated',\n properties: [\n {\n name: 'value',\n label: 'Selected value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'single-select value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type SingleSelectDropdownState = {\n searchValue?: string;\n};\n\nconst preview = definePreview(Component, {\n dimension: previewData.dimension,\n results: previewData.results1Measure1Dimension,\n onChange: () => null,\n});\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): LoadDataRequest => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [{ operator, property: inputs.dimension, value: state.searchValue }]\n : undefined,\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n) => ({\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValue: string) => {\n if (selectedValue === '') {\n return { value: Value.noFilter() };\n }\n\n return {\n value: selectedValue ?? Value.noFilter(),\n };\n },\n};\n\nexport const singleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","singleSelectFieldPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-WczJhf4R.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx","../src/components/editors/SingleSelectFieldPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type SingleSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue?: string;\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = props;\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue: string) => onChange?.(newValue)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData, LoadDataRequest, DataResponse } from '@embeddable.com/core';\nimport Component, { MAX_OPTIONS } from '.';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'SingleSelectFieldPro',\n label: 'Single Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n { ...inputs.dimension, label: 'Dimension (to load Dropdown values)' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n {\n ...inputs.number,\n name: 'maxOptions',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n ...inputs.string,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n config: {\n dataset: 'dataset',\n },\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional secondary dimension',\n category: 'Data Mapping for Interactions',\n description: 'Send a different dimension to embeddable when the user clicks. Must be unique.',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected value updated',\n properties: [\n {\n name: 'value',\n label: 'Selected value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'single-select value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type SingleSelectDropdownState = {\n searchValue?: string;\n};\n\nconst preview = definePreview(Component, {\n dimension: previewData.dimension,\n results: previewData.results1Measure1Dimension,\n onChange: () => null,\n});\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): LoadDataRequest => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [{ operator, property: inputs.dimension, value: state.searchValue }]\n : undefined,\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n) => ({\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValue: string) => {\n if (selectedValue === '') {\n return { value: Value.noFilter() };\n }\n\n return {\n value: selectedValue ?? Value.noFilter(),\n };\n },\n};\n\nexport const singleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","singleSelectFieldPro"],"mappings":"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"}
@@ -3,9 +3,9 @@ import { useTheme as ge, definePreview as he } from "@embeddable.com/react";
3
3
  import { a as be, r as we, i as Ee } from "./component.utils-DNw0iugA.js";
4
4
  import { C as ye } from "./ChartCard-rrXP6aUC.js";
5
5
  import { useState as z, useRef as M, useEffect as k, useCallback as je } from "react";
6
- import { b as Ae, c as De } from "./tables.utils-t7VvK_RS.js";
7
- import { i as E, s as S } from "./component.inputs.constants-DqFfoZ5R.js";
8
- import { p as x } from "./preview.data.constants-D0uQPYd1.js";
6
+ import { b as Ae, c as De } from "./tables.utils-BlL_7T9C.js";
7
+ import { i as E, s as S } from "./component.inputs.constants-Bt7Cg1U3.js";
8
+ import { p as x } from "./preview.data.constants-D-2xm7Qk.js";
9
9
  const P = 50, { getOwnPropertyNames: Ce, getOwnPropertySymbols: qe } = Object, { hasOwnProperty: Oe } = Object.prototype;
10
10
  function _(t, e) {
11
11
  return function(r, a, l) {
@@ -557,4 +557,4 @@ export {
557
557
  st as i,
558
558
  it as t
559
559
  };
560
- //# sourceMappingURL=definition-D7mkYIUq.js.map
560
+ //# sourceMappingURL=definition-YCcNs37E.js.map