@embeddable.com/remarkable-pro 0.0.21 → 0.0.23

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 (230) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +17 -10
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +17 -10
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +19 -11
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +19 -11
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +18 -10
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +19 -11
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/ChartCard-B3B1rFYh.js +116 -0
  14. package/dist/ChartCard-B3B1rFYh.js.map +1 -0
  15. package/dist/{Color.type.emb-Dkh_ZrO6.js → Color.type.emb-sebikYGW.js} +8424 -8398
  16. package/dist/{Color.type.emb-Dkh_ZrO6.js.map → Color.type.emb-sebikYGW.js.map} +1 -1
  17. package/dist/ColorEditor.js +1 -1
  18. package/dist/ComparisonPeriodSelectFieldPro.js +11 -8
  19. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  20. package/dist/DateRangePickerCustomPro.js +33 -28
  21. package/dist/DateRangePickerCustomPro.js.map +1 -1
  22. package/dist/DateRangeSelectFieldPro.js +12 -8
  23. package/dist/DateRangeSelectFieldPro.js.map +1 -1
  24. package/dist/DonutChartPro.js +23 -15
  25. package/dist/DonutChartPro.js.map +1 -1
  26. package/dist/DonutLabelChartPro.js +31 -11
  27. package/dist/DonutLabelChartPro.js.map +1 -1
  28. package/dist/{EditorCard-1Z3UFd1D.js → EditorCard-DpSCsmZJ.js} +3 -3
  29. package/dist/{EditorCard-1Z3UFd1D.js.map → EditorCard-DpSCsmZJ.js.map} +1 -1
  30. package/dist/GranularitySelectFieldPro.js +97 -81
  31. package/dist/GranularitySelectFieldPro.js.map +1 -1
  32. package/dist/HeatMapPro.js +18 -10
  33. package/dist/HeatMapPro.js.map +1 -1
  34. package/dist/IconCalendarFilled-Bfm3jkzE.js +12 -0
  35. package/dist/IconCalendarFilled-Bfm3jkzE.js.map +1 -0
  36. package/dist/KpiChartNumberComparisonPro.js +25 -14
  37. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  38. package/dist/KpiChartNumberPro.js +23 -14
  39. package/dist/KpiChartNumberPro.js.map +1 -1
  40. package/dist/LineChartComparisonDefaultPro.js +37 -19
  41. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  42. package/dist/LineChartDefaultPro.js +21 -14
  43. package/dist/LineChartDefaultPro.js.map +1 -1
  44. package/dist/LineChartGroupedPro.js +25 -17
  45. package/dist/LineChartGroupedPro.js.map +1 -1
  46. package/dist/MultiSelectFieldPro.js +22 -16
  47. package/dist/MultiSelectFieldPro.js.map +1 -1
  48. package/dist/PieChartPro.js +23 -15
  49. package/dist/PieChartPro.js.map +1 -1
  50. package/dist/PivotTablePro.js +19 -11
  51. package/dist/PivotTablePro.js.map +1 -1
  52. package/dist/SingleSelectFieldPro.js +22 -16
  53. package/dist/SingleSelectFieldPro.js.map +1 -1
  54. package/dist/TableChartPaginated.js +62 -43
  55. package/dist/TableChartPaginated.js.map +1 -1
  56. package/dist/TableScrollable.js +324 -315
  57. package/dist/TableScrollable.js.map +1 -1
  58. package/dist/{bars.utils-CsJD9MNL.js → bars.utils-DJnFf-V0.js} +10 -9
  59. package/dist/bars.utils-DJnFf-V0.js.map +1 -0
  60. package/dist/{charts.utils-CUPowt7F.js → charts.utils-udVhj9f6.js} +321 -321
  61. package/dist/charts.utils-udVhj9f6.js.map +1 -0
  62. package/dist/{component.inputs.constants-CNdmawDt.js → component.inputs.constants-Ds7YpNhT.js} +35 -35
  63. package/dist/{component.inputs.constants-CNdmawDt.js.map → component.inputs.constants-Ds7YpNhT.js.map} +1 -1
  64. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +11 -12
  65. package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
  66. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +11 -12
  67. package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
  68. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +10 -11
  69. package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  70. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +10 -11
  71. package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  72. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +10 -11
  73. package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  74. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +10 -11
  75. package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  76. package/dist/components/charts/bars/bars.utils.d.ts +1 -1
  77. package/dist/components/charts/bars/bars.utils.d.ts.map +1 -1
  78. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +6 -7
  79. package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
  80. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts +3 -4
  81. package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
  82. package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts +3 -3
  83. package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
  84. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +12 -13
  85. package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
  86. package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts +1 -1
  87. package/dist/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +1 -1
  88. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +10 -11
  89. package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
  90. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts +1 -1
  91. package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
  92. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +10 -11
  93. package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
  94. package/dist/components/charts/lines/lines.utils.d.ts +1 -1
  95. package/dist/components/charts/lines/lines.utils.d.ts.map +1 -1
  96. package/dist/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
  97. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts +1 -1
  98. package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
  99. package/dist/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
  100. package/dist/components/charts/pies/pies.types.d.ts +7 -8
  101. package/dist/components/charts/pies/pies.types.d.ts.map +1 -1
  102. package/dist/components/charts/shared/ChartCard/ChartCard.d.ts +1 -1
  103. package/dist/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
  104. package/dist/components/charts/tables/HeatMapPro/index.d.ts +3 -4
  105. package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
  106. package/dist/components/charts/tables/PivotTablePro/index.d.ts +2 -3
  107. package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
  108. package/dist/components/charts/tables/TableChartPaginated/index.d.ts +6 -8
  109. package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
  110. package/dist/components/charts/tables/TableScrollable/TableScrollable.utils.d.ts +1 -1
  111. package/dist/components/charts/tables/TableScrollable/index.d.ts +6 -8
  112. package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
  113. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +2 -3
  114. package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
  115. package/dist/components/editors/GranularitySelectFieldPro/GranularitySelectFieldPro.utils.d.ts.map +1 -1
  116. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +6 -6
  117. package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
  118. package/dist/components/editors/MultiSelectFieldPro/index.d.ts +4 -5
  119. package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
  120. package/dist/components/editors/SingleSelectFieldPro/index.d.ts +4 -5
  121. package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
  122. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +3 -4
  123. package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
  124. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +3 -4
  125. package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
  126. package/dist/components/preview.data.constants.d.ts +18 -0
  127. package/dist/components/preview.data.constants.d.ts.map +1 -0
  128. package/dist/embeddable-components.json +38 -13
  129. package/dist/embeddable-theme-0137e.js +3 -3
  130. package/dist/{formatter.utils-BiWZBhcE.js → formatter.utils-tS15PLXn.js} +2 -2
  131. package/dist/{formatter.utils-BiWZBhcE.js.map → formatter.utils-tS15PLXn.js.map} +1 -1
  132. package/dist/index--Dbq1zrZ.js +31 -0
  133. package/dist/index--Dbq1zrZ.js.map +1 -0
  134. package/dist/index-APU1GD5M.js +166 -0
  135. package/dist/index-APU1GD5M.js.map +1 -0
  136. package/dist/index-BMiribI6.js +72 -0
  137. package/dist/index-BMiribI6.js.map +1 -0
  138. package/dist/index-BUk63KEk.js +87 -0
  139. package/dist/index-BUk63KEk.js.map +1 -0
  140. package/dist/index-BWbZ-eYD.js +83 -0
  141. package/dist/index-BWbZ-eYD.js.map +1 -0
  142. package/dist/index-Bqp4yCd3.js +75 -0
  143. package/dist/index-Bqp4yCd3.js.map +1 -0
  144. package/dist/index-BsWftigv.js +123 -0
  145. package/dist/index-BsWftigv.js.map +1 -0
  146. package/dist/{index-CSoASUv1.js → index-CBgU-nlM.js} +5 -5
  147. package/dist/index-CBgU-nlM.js.map +1 -0
  148. package/dist/{index-tjFCL7Y-.js → index-CCdQwMMN.js} +6 -6
  149. package/dist/index-CCdQwMMN.js.map +1 -0
  150. package/dist/{index-DoFkdyxp.js → index-CDtF3MO_.js} +45 -36
  151. package/dist/index-CDtF3MO_.js.map +1 -0
  152. package/dist/{index-Du2TCRQq.js → index-CTC3YNmw.js} +5 -5
  153. package/dist/index-CTC3YNmw.js.map +1 -0
  154. package/dist/index-CbL0nET2.js +63 -0
  155. package/dist/index-CbL0nET2.js.map +1 -0
  156. package/dist/index-D6h8s36F.js +84 -0
  157. package/dist/index-D6h8s36F.js.map +1 -0
  158. package/dist/index-D9J4M9sd.js +82 -0
  159. package/dist/index-D9J4M9sd.js.map +1 -0
  160. package/dist/{index-yOOAOJHG.js → index-DtGheuiZ.js} +32 -31
  161. package/dist/index-DtGheuiZ.js.map +1 -0
  162. package/dist/index-DxpfQVmG.js +113 -0
  163. package/dist/index-DxpfQVmG.js.map +1 -0
  164. package/dist/index-DxpjYqqB.js +63 -0
  165. package/dist/index-DxpjYqqB.js.map +1 -0
  166. package/dist/index-DzPftkGV.js +73 -0
  167. package/dist/index-DzPftkGV.js.map +1 -0
  168. package/dist/index-Nj7bJ8tg.js +161 -0
  169. package/dist/index-Nj7bJ8tg.js.map +1 -0
  170. package/dist/index-h3GKi8po.js +332 -0
  171. package/dist/index-h3GKi8po.js.map +1 -0
  172. package/dist/index-t7YCtFvf.js +97 -0
  173. package/dist/index-t7YCtFvf.js.map +1 -0
  174. package/dist/index.js +29 -29
  175. package/dist/lines.utils-COGf_F0b.js +40 -0
  176. package/dist/lines.utils-COGf_F0b.js.map +1 -0
  177. package/dist/{pies.utils-DCy5LWcY.js → pies.utils-Dgs6TAkX.js} +12 -12
  178. package/dist/{pies.utils-DCy5LWcY.js.map → pies.utils-Dgs6TAkX.js.map} +1 -1
  179. package/dist/preview.data.constants-tDMYNi0n.js +71 -0
  180. package/dist/preview.data.constants-tDMYNi0n.js.map +1 -0
  181. package/dist/{tables.utils-8OmfcPmH.js → tables.utils-33eWJN_a.js} +5 -9
  182. package/dist/tables.utils-33eWJN_a.js.map +1 -0
  183. package/dist/theme/formatter/formatter.constants.d.ts.map +1 -1
  184. package/dist/{timeRange.utils-81KUBS9O.js → timeRange.utils-Dz0fdD_b.js} +2 -2
  185. package/dist/{timeRange.utils-81KUBS9O.js.map → timeRange.utils-Dz0fdD_b.js.map} +1 -1
  186. package/package.json +5 -5
  187. package/dist/ChartCard-D_A88_bS.js +0 -116
  188. package/dist/ChartCard-D_A88_bS.js.map +0 -1
  189. package/dist/bars.utils-CsJD9MNL.js.map +0 -1
  190. package/dist/charts.utils-CUPowt7F.js.map +0 -1
  191. package/dist/index-1vsLONt_.js +0 -111
  192. package/dist/index-1vsLONt_.js.map +0 -1
  193. package/dist/index-8PpbF7SA.js +0 -82
  194. package/dist/index-8PpbF7SA.js.map +0 -1
  195. package/dist/index-B3m93Z4r.js +0 -81
  196. package/dist/index-B3m93Z4r.js.map +0 -1
  197. package/dist/index-BBcQWvRk.js +0 -159
  198. package/dist/index-BBcQWvRk.js.map +0 -1
  199. package/dist/index-BOI6FOwo.js +0 -62
  200. package/dist/index-BOI6FOwo.js.map +0 -1
  201. package/dist/index-Boogtc12.js +0 -71
  202. package/dist/index-Boogtc12.js.map +0 -1
  203. package/dist/index-BuBn1ktN.js +0 -83
  204. package/dist/index-BuBn1ktN.js.map +0 -1
  205. package/dist/index-CQ_mo5Eg.js +0 -330
  206. package/dist/index-CQ_mo5Eg.js.map +0 -1
  207. package/dist/index-CSoASUv1.js.map +0 -1
  208. package/dist/index-CVJKjJGv.js +0 -72
  209. package/dist/index-CVJKjJGv.js.map +0 -1
  210. package/dist/index-Cv4JGkHO.js +0 -95
  211. package/dist/index-Cv4JGkHO.js.map +0 -1
  212. package/dist/index-D5CZAWnJ.js +0 -128
  213. package/dist/index-D5CZAWnJ.js.map +0 -1
  214. package/dist/index-DVUJikiN.js +0 -73
  215. package/dist/index-DVUJikiN.js.map +0 -1
  216. package/dist/index-Dhzhtagm.js +0 -30
  217. package/dist/index-Dhzhtagm.js.map +0 -1
  218. package/dist/index-DkmPuuV8.js +0 -84
  219. package/dist/index-DkmPuuV8.js.map +0 -1
  220. package/dist/index-DoFkdyxp.js.map +0 -1
  221. package/dist/index-Dp7Av-Oy.js +0 -62
  222. package/dist/index-Dp7Av-Oy.js.map +0 -1
  223. package/dist/index-Du2TCRQq.js.map +0 -1
  224. package/dist/index-XTTodJI4.js +0 -163
  225. package/dist/index-XTTodJI4.js.map +0 -1
  226. package/dist/index-tjFCL7Y-.js.map +0 -1
  227. package/dist/index-yOOAOJHG.js.map +0 -1
  228. package/dist/lines.utils-CFEUUo4k.js +0 -40
  229. package/dist/lines.utils-CFEUUo4k.js.map +0 -1
  230. package/dist/tables.utils-8OmfcPmH.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-t7YCtFvf.js","sources":["../src/components/charts/tables/HeatMapPro/index.tsx"],"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 { HeatMap, HeatMapPropsDimension, HeatMapPropsMeasure } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\ntype 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 { description, title } = 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 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}\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"],"names":["getHeatMeasure","props","theme","themeFormatter","getThemeFormatter","value","getHeatDimension","HeatMapPro","useTheme","i18nSetup","description","title","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"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,34 +1,34 @@
1
1
  import { g as o } from "./object.utils-D_Zzon-H.js";
2
2
  import { i as t, s } from "./color.utils-BSg_DFOh.js";
3
- import { C as p, d as m, i as n, a as P, b as C, r as l, s as f, t as g } from "./component.inputs.constants-CNdmawDt.js";
4
- import { r as x } from "./charts.utils-CUPowt7F.js";
5
- import { g as u } from "./formatter.utils-BiWZBhcE.js";
6
- import { i as D } from "./index-CVJKjJGv.js";
7
- import { i as c } from "./index-8PpbF7SA.js";
8
- import { i as B } from "./index-B3m93Z4r.js";
9
- import { i as O } from "./index-DVUJikiN.js";
10
- import { i as H } from "./index-BuBn1ktN.js";
11
- import { i as k } from "./index-yOOAOJHG.js";
12
- import { a as M, b as v, g as z } from "./bars.utils-CsJD9MNL.js";
13
- import { i as K } from "./index-Dhzhtagm.js";
14
- import { i as y } from "./index-DkmPuuV8.js";
15
- import { i as N, g as j, a as w } from "./index-XTTodJI4.js";
16
- import { i as W, g as q, a as J } from "./index-BBcQWvRk.js";
17
- import { i as U, g as X, a as Y } from "./index-CQ_mo5Eg.js";
18
- import { i as _ } from "./index-BOI6FOwo.js";
19
- import { i as rr } from "./index-Dp7Av-Oy.js";
20
- import { i as or } from "./index-Boogtc12.js";
21
- import { g as tr, a as sr } from "./pies.utils-DCy5LWcY.js";
22
- import { i as pr } from "./index-Cv4JGkHO.js";
23
- import { i as nr } from "./index-DoFkdyxp.js";
24
- import { i as Cr } from "./index-1vsLONt_.js";
25
- import { g as fr, a as gr, b as hr, c as xr } from "./tables.utils-8OmfcPmH.js";
26
- import { C as ur } from "./ChartCard-D_A88_bS.js";
27
- import { i as Dr, g as Sr, a as cr } from "./index-tjFCL7Y-.js";
28
- import { i as Br, g as Tr } from "./index-D5CZAWnJ.js";
29
- import { i as Fr } from "./index-CSoASUv1.js";
30
- import { i as Gr } from "./index-Du2TCRQq.js";
31
- import { E as Ir } from "./EditorCard-1Z3UFd1D.js";
3
+ import { C as p, d as m, i as n, a as P, b as C, r as l, s as f, t as g } from "./component.inputs.constants-Ds7YpNhT.js";
4
+ import { r as x } from "./charts.utils-udVhj9f6.js";
5
+ import { g as u } from "./formatter.utils-tS15PLXn.js";
6
+ import { i as D } from "./index-DzPftkGV.js";
7
+ import { i as c } from "./index-BWbZ-eYD.js";
8
+ import { i as B } from "./index-D9J4M9sd.js";
9
+ import { i as O } from "./index-Bqp4yCd3.js";
10
+ import { i as H } from "./index-D6h8s36F.js";
11
+ import { i as k } from "./index-DtGheuiZ.js";
12
+ import { a as M, b as v, g as z } from "./bars.utils-DJnFf-V0.js";
13
+ import { i as K } from "./index--Dbq1zrZ.js";
14
+ import { i as y } from "./index-BUk63KEk.js";
15
+ import { i as N, g as j, a as w } from "./index-APU1GD5M.js";
16
+ import { i as W, g as q, a as J } from "./index-Nj7bJ8tg.js";
17
+ import { i as U, g as X, a as Y } from "./index-h3GKi8po.js";
18
+ import { i as _ } from "./index-DxpjYqqB.js";
19
+ import { i as rr } from "./index-CbL0nET2.js";
20
+ import { i as or } from "./index-BMiribI6.js";
21
+ import { g as tr, a as sr } from "./pies.utils-Dgs6TAkX.js";
22
+ import { i as pr } from "./index-t7YCtFvf.js";
23
+ import { i as nr } from "./index-CDtF3MO_.js";
24
+ import { i as Cr } from "./index-DxpfQVmG.js";
25
+ import { g as fr, a as gr, b as hr, c as xr } from "./tables.utils-33eWJN_a.js";
26
+ import { C as ur } from "./ChartCard-B3B1rFYh.js";
27
+ import { i as Dr, g as Sr, a as cr } from "./index-CCdQwMMN.js";
28
+ import { i as Br, g as Tr } from "./index-BsWftigv.js";
29
+ import { i as Fr } from "./index-CBgU-nlM.js";
30
+ import { i as Gr } from "./index-CTC3YNmw.js";
31
+ import { E as Ir } from "./EditorCard-DpSCsmZJ.js";
32
32
  export {
33
33
  O as BarChartDefaultHorizontalPro,
34
34
  D as BarChartDefaultPro,
@@ -0,0 +1,40 @@
1
+ const m = (c) => {
2
+ const { onLineClicked: l } = c;
3
+ return l ? {
4
+ onClick: (o, x, e) => {
5
+ var u;
6
+ const r = o.native ?? o, n = e.getElementsAtEventForMode(r, "x", { intersect: !1 }, !1);
7
+ if (!(n != null && n.length)) {
8
+ l({
9
+ dimensionValue: null,
10
+ groupingDimensionValue: null
11
+ });
12
+ return;
13
+ }
14
+ const i = n[0].index, f = ((u = e.data.labels) == null ? void 0 : u[i]) ?? null;
15
+ let t = e.getElementsAtEventForMode(
16
+ r,
17
+ "nearest",
18
+ { intersect: !0 },
19
+ !1
20
+ )[0];
21
+ (!t || t.index !== i) && (t = n.find((a) => {
22
+ const s = e.data.datasets[a.datasetIndex], g = Array.isArray(s == null ? void 0 : s.data) ? s.data[i] : void 0;
23
+ return g != null;
24
+ }));
25
+ let d;
26
+ if (t) {
27
+ const a = e.data.datasets[t.datasetIndex];
28
+ d = (a == null ? void 0 : a.rawLabel) ?? null;
29
+ }
30
+ l({
31
+ dimensionValue: f,
32
+ groupingDimensionValue: d
33
+ });
34
+ }
35
+ } : {};
36
+ };
37
+ export {
38
+ m as g
39
+ };
40
+ //# sourceMappingURL=lines.utils-COGf_F0b.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lines.utils-COGf_F0b.js","sources":["../src/components/charts/lines/lines.utils.ts"],"sourcesContent":["import { ChartDataset, ChartOptions, InteractionItem } from 'chart.js';\n\nexport type LineChartProOptionsClickArg = {\n dimensionValue: string | number | null;\n groupingDimensionValue?: string | boolean | null;\n};\nexport type LineChartProOptionsClick = (arg: LineChartProOptionsClickArg) => void;\n\ntype LineDataset = ChartDataset<'line'> & {\n rawLabel?: string;\n};\n\nexport const getLineChartProOptions = (props: {\n onLineClicked?: LineChartProOptionsClick;\n}): ChartOptions<'line'> => {\n const { onLineClicked } = props;\n\n if (!onLineClicked) return {};\n\n return {\n onClick: (event, _elements, chart) => {\n const native = (event as unknown as { native?: Event }).native ?? (event as unknown as Event);\n\n // 1. Resolve the X-axis slice (all datasets at the same X)\n const slice = chart.getElementsAtEventForMode(native, 'x', { intersect: false }, false);\n\n if (!slice?.length) {\n onLineClicked({\n dimensionValue: null,\n groupingDimensionValue: null,\n });\n return;\n }\n\n const xIndex = slice[0]!.index;\n const dimensionValue = (chart.data.labels?.[xIndex] ?? null) as string | number | null;\n\n // 2. Resolve the specific series (group) via nearest point\n let nearest: InteractionItem | undefined = chart.getElementsAtEventForMode(\n native,\n 'nearest',\n { intersect: true },\n false,\n )[0];\n\n // If nearest is missing or points to a different X, fall back to an element in the slice\n if (!nearest || nearest.index !== xIndex) {\n nearest = slice.find((el) => {\n const ds: LineDataset = chart.data.datasets[el.datasetIndex] as LineDataset;\n const val = Array.isArray(ds?.data) ? ds.data[xIndex] : undefined;\n return val !== null && val !== undefined;\n });\n }\n\n // 3. Compute the grouping key with the requested fallbacks\n let groupingDimensionValue; // default when X is found but no nearest\n\n if (!nearest) {\n // No nearest even after fallback — keep false to signal \"no series picked\"\n // (axisDimensionValue is valid because slice existed)\n } else {\n const ds: LineDataset = chart.data.datasets[nearest.datasetIndex] as LineDataset;\n groupingDimensionValue = (ds?.rawLabel ?? null) as string | boolean | null;\n }\n\n onLineClicked({\n dimensionValue,\n groupingDimensionValue,\n });\n },\n };\n};\n"],"names":["getLineChartProOptions","props","onLineClicked","event","_elements","chart","_a","native","slice","xIndex","dimensionValue","nearest","el","ds","val","groupingDimensionValue"],"mappings":"AAYO,MAAMA,IAAyB,CAACC,MAEX;AAC1B,QAAM,EAAE,eAAAC,MAAkBD;AAE1B,SAAKC,IAEE;AAAA,IACL,SAAS,CAACC,GAAOC,GAAWC,MAAU;AARnC,UAAAC;AASD,YAAMC,IAAUJ,EAAwC,UAAWA,GAG7DK,IAAQH,EAAM,0BAA0BE,GAAQ,KAAK,EAAE,WAAW,GAAA,GAAS,EAAK;AAEtF,UAAI,EAACC,KAAA,QAAAA,EAAO,SAAQ;AAClB,QAAAN,EAAc;AAAA,UACZ,gBAAgB;AAAA,UAChB,wBAAwB;AAAA,QAAA,CACzB;AACD;AAAA,MACF;AAEA,YAAMO,IAASD,EAAM,CAAC,EAAG,OACnBE,MAAkBJ,IAAAD,EAAM,KAAK,WAAX,gBAAAC,EAAoBG,OAAW;AAGvD,UAAIE,IAAuCN,EAAM;AAAA,QAC/CE;AAAA,QACA;AAAA,QACA,EAAE,WAAW,GAAA;AAAA,QACb;AAAA,MAAA,EACA,CAAC;AAGH,OAAI,CAACI,KAAWA,EAAQ,UAAUF,OAChCE,IAAUH,EAAM,KAAK,CAACI,MAAO;AAC3B,cAAMC,IAAkBR,EAAM,KAAK,SAASO,EAAG,YAAY,GACrDE,IAAM,MAAM,QAAQD,KAAA,gBAAAA,EAAI,IAAI,IAAIA,EAAG,KAAKJ,CAAM,IAAI;AACxD,eAAOK,KAAQ;AAAA,MACjB,CAAC;AAIH,UAAIC;AAEJ,UAAKJ,GAGE;AACL,cAAME,IAAkBR,EAAM,KAAK,SAASM,EAAQ,YAAY;AAChE,QAAAI,KAA0BF,KAAA,gBAAAA,EAAI,aAAY;AAAA,MAC5C;AAEA,MAAAX,EAAc;AAAA,QACZ,gBAAAQ;AAAA,QACA,wBAAAK;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA,IApDyB,CAAA;AAsD7B;"}
@@ -1,8 +1,8 @@
1
- import { r as g, g as b } from "./charts.utils-CUPowt7F.js";
2
- import { g as u } from "./formatter.utils-BiWZBhcE.js";
1
+ import { r as g, g as b } from "./charts.utils-udVhj9f6.js";
2
+ import { g as u } from "./formatter.utils-tS15PLXn.js";
3
3
  import { g as h, a as c } from "./object.utils-D_Zzon-H.js";
4
- import { a as C } from "./Color.type.emb-Dkh_ZrO6.js";
5
- import { i as f } from "./component.inputs.constants-CNdmawDt.js";
4
+ import { d as C } from "./Color.type.emb-sebikYGW.js";
5
+ import { i as f } from "./component.inputs.constants-Ds7YpNhT.js";
6
6
  const T = (a, o = g) => {
7
7
  const s = u(o);
8
8
  if (!a.data)
@@ -15,14 +15,14 @@ const T = (a, o = g) => {
15
15
  a.dimension,
16
16
  [a.measure],
17
17
  a.maxLegendItems
18
- ), n = h(o), m = C(), i = t.map(
18
+ ), n = h(o), m = C(), d = t.map(
19
19
  (e, r) => c(
20
20
  `${n}.charts.backgroundColors`,
21
21
  `${a.dimension.name}.${e[a.dimension.name]}`,
22
22
  o.charts.backgroundColors ?? m,
23
23
  r
24
24
  )
25
- ), d = t.map(
25
+ ), i = t.map(
26
26
  (e, r) => c(
27
27
  `${n}.charts.borderColors`,
28
28
  `${a.dimension.name}.${e[a.dimension.name]}`,
@@ -38,8 +38,8 @@ const T = (a, o = g) => {
38
38
  datasets: [
39
39
  {
40
40
  data: t.map((e) => e[a.measure.name]),
41
- backgroundColor: i,
42
- borderColor: d
41
+ backgroundColor: d,
42
+ borderColor: i
43
43
  }
44
44
  ]
45
45
  };
@@ -56,10 +56,10 @@ const T = (a, o = g) => {
56
56
  label(t) {
57
57
  const n = t.raw, m = t.dataset.data.reduce(
58
58
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
- (d, e) => d + parseFloat(e),
59
+ (i, e) => i + parseFloat(e),
60
60
  0
61
- ), i = Math.round(n / m * 100);
62
- return `${s.data(a, n)} (${i}%)`;
61
+ ), d = Math.round(n / m * 100);
62
+ return `${s.data(a, n)} (${d}%)`;
63
63
  }
64
64
  }
65
65
  }
@@ -70,4 +70,4 @@ export {
70
70
  w as a,
71
71
  T as g
72
72
  };
73
- //# sourceMappingURL=pies.utils-DCy5LWcY.js.map
73
+ //# sourceMappingURL=pies.utils-Dgs6TAkX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pies.utils-DCy5LWcY.js","sources":["../src/components/charts/pies/pies.utils.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { groupTailAsOther } from '../charts.utils';\nimport { Theme } from '../../../theme/theme.types';\nimport { remarkableTheme } from '../../../theme/theme.constants';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { getColor } from '../../../theme/styles/styles.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { getObjectStableKey } from '../../../utils.ts/object.utils';\n\nexport const getPieChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measure: Measure;\n maxLegendItems?: number;\n },\n theme: Theme = remarkableTheme,\n): ChartData<'pie'> => {\n const themeFormatter = getThemeFormatter(theme);\n\n if (!props.data)\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n\n const groupedData = groupTailAsOther(\n props.data,\n props.dimension,\n [props.measure],\n props.maxLegendItems,\n );\n\n const themeKey = getObjectStableKey(theme);\n const chartColors = getChartColors();\n const backgroundColor = groupedData.map((item, i) =>\n getColor(\n `${themeKey}.charts.backgroundColors`,\n `${props.dimension.name}.${item[props.dimension.name]}`,\n theme.charts.backgroundColors ?? chartColors,\n i,\n ),\n );\n\n const borderColor = groupedData.map((item, i) =>\n getColor(\n `${themeKey}.charts.borderColors`,\n `${props.dimension.name}.${item[props.dimension.name]}`,\n theme.charts.borderColors ?? chartColors,\n i,\n ),\n );\n\n return {\n labels: groupedData.map((item) => {\n const value = item[props.dimension.name];\n const formattedValue = themeFormatter.data(props.dimension, value);\n\n // If formatter did not work, try i18n translation\n if (value === formattedValue) {\n return i18n.t(value);\n }\n return formattedValue;\n }),\n datasets: [\n {\n data: groupedData.map((item) => item[props.measure.name]),\n backgroundColor,\n borderColor,\n },\n ],\n };\n};\n\nexport const getPieChartProOptions = (\n measure: Measure,\n theme: Theme = remarkableTheme,\n): Partial<ChartOptions<'pie'>> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n plugins: {\n legend: { position: theme.charts.legendPosition ?? 'bottom' },\n datalabels: {\n formatter: (value: string | number) => themeFormatter.data(measure, value),\n },\n tooltip: {\n callbacks: {\n label(context) {\n const raw = context.raw as number;\n const total = context.dataset.data.reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (sum: number, v: any) => sum + parseFloat(v),\n 0,\n );\n const pct = Math.round((raw / total) * 100);\n return `${themeFormatter.data(measure, raw)} (${pct}%)`;\n },\n },\n },\n },\n };\n};\n"],"names":["getPieChartProData","props","theme","remarkableTheme","themeFormatter","getThemeFormatter","groupedData","groupTailAsOther","themeKey","getObjectStableKey","chartColors","getChartColors","backgroundColor","item","i","getColor","borderColor","value","formattedValue","i18n","getPieChartProOptions","measure","context","raw","total","sum","v","pct"],"mappings":";;;;;AAWO,MAAMA,IAAqB,CAChCC,GAMAC,IAAeC,MACM;AACrB,QAAMC,IAAiBC,EAAkBH,CAAK;AAE9C,MAAI,CAACD,EAAM;AACT,WAAO;AAAA,MACL,QAAQ,CAAA;AAAA,MACR,UAAU,CAAC,EAAE,MAAM,IAAI;AAAA,IAAA;AAG3B,QAAMK,IAAcC;AAAA,IAClBN,EAAM;AAAA,IACNA,EAAM;AAAA,IACN,CAACA,EAAM,OAAO;AAAA,IACdA,EAAM;AAAA,EAAA,GAGFO,IAAWC,EAAmBP,CAAK,GACnCQ,IAAcC,EAAA,GACdC,IAAkBN,EAAY;AAAA,IAAI,CAACO,GAAMC,MAC7CC;AAAA,MACE,GAAGP,CAAQ;AAAA,MACX,GAAGP,EAAM,UAAU,IAAI,IAAIY,EAAKZ,EAAM,UAAU,IAAI,CAAC;AAAA,MACrDC,EAAM,OAAO,oBAAoBQ;AAAA,MACjCI;AAAA,IAAA;AAAA,EACF,GAGIE,IAAcV,EAAY;AAAA,IAAI,CAACO,GAAMC,MACzCC;AAAA,MACE,GAAGP,CAAQ;AAAA,MACX,GAAGP,EAAM,UAAU,IAAI,IAAIY,EAAKZ,EAAM,UAAU,IAAI,CAAC;AAAA,MACrDC,EAAM,OAAO,gBAAgBQ;AAAA,MAC7BI;AAAA,IAAA;AAAA,EACF;AAGF,SAAO;AAAA,IACL,QAAQR,EAAY,IAAI,CAACO,MAAS;AAChC,YAAMI,IAAQJ,EAAKZ,EAAM,UAAU,IAAI,GACjCiB,IAAiBd,EAAe,KAAKH,EAAM,WAAWgB,CAAK;AAGjE,aAAIA,MAAUC,IACLC,EAAK,EAAEF,CAAK,IAEdC;AAAA,IACT,CAAC;AAAA,IACD,UAAU;AAAA,MACR;AAAA,QACE,MAAMZ,EAAY,IAAI,CAACO,MAASA,EAAKZ,EAAM,QAAQ,IAAI,CAAC;AAAA,QACxD,iBAAAW;AAAA,QACA,aAAAI;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ,GAEaI,IAAwB,CACnCC,GACAnB,IAAeC,MACkB;AACjC,QAAMC,IAAiBC,EAAkBH,CAAK;AAE9C,SAAO;AAAA,IACL,SAAS;AAAA,MACP,QAAQ,EAAE,UAAUA,EAAM,OAAO,kBAAkB,SAAA;AAAA,MACnD,YAAY;AAAA,QACV,WAAW,CAACe,MAA2Bb,EAAe,KAAKiB,GAASJ,CAAK;AAAA,MAAA;AAAA,MAE3E,SAAS;AAAA,QACP,WAAW;AAAA,UACT,MAAMK,GAAS;AACb,kBAAMC,IAAMD,EAAQ,KACdE,IAAQF,EAAQ,QAAQ,KAAK;AAAA;AAAA,cAEjC,CAACG,GAAaC,MAAWD,IAAM,WAAWC,CAAC;AAAA,cAC3C;AAAA,YAAA,GAEIC,IAAM,KAAK,MAAOJ,IAAMC,IAAS,GAAG;AAC1C,mBAAO,GAAGpB,EAAe,KAAKiB,GAASE,CAAG,CAAC,KAAKI,CAAG;AAAA,UACrD;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEJ;"}
1
+ {"version":3,"file":"pies.utils-Dgs6TAkX.js","sources":["../src/components/charts/pies/pies.utils.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { groupTailAsOther } from '../charts.utils';\nimport { Theme } from '../../../theme/theme.types';\nimport { remarkableTheme } from '../../../theme/theme.constants';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { getColor } from '../../../theme/styles/styles.utils';\nimport { getChartColors } from '@embeddable.com/remarkable-ui';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { getObjectStableKey } from '../../../utils.ts/object.utils';\n\nexport const getPieChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measure: Measure;\n maxLegendItems?: number;\n },\n theme: Theme = remarkableTheme,\n): ChartData<'pie'> => {\n const themeFormatter = getThemeFormatter(theme);\n\n if (!props.data)\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n\n const groupedData = groupTailAsOther(\n props.data,\n props.dimension,\n [props.measure],\n props.maxLegendItems,\n );\n\n const themeKey = getObjectStableKey(theme);\n const chartColors = getChartColors();\n const backgroundColor = groupedData.map((item, i) =>\n getColor(\n `${themeKey}.charts.backgroundColors`,\n `${props.dimension.name}.${item[props.dimension.name]}`,\n theme.charts.backgroundColors ?? chartColors,\n i,\n ),\n );\n\n const borderColor = groupedData.map((item, i) =>\n getColor(\n `${themeKey}.charts.borderColors`,\n `${props.dimension.name}.${item[props.dimension.name]}`,\n theme.charts.borderColors ?? chartColors,\n i,\n ),\n );\n\n return {\n labels: groupedData.map((item) => {\n const value = item[props.dimension.name];\n const formattedValue = themeFormatter.data(props.dimension, value);\n\n // If formatter did not work, try i18n translation\n if (value === formattedValue) {\n return i18n.t(value);\n }\n return formattedValue;\n }),\n datasets: [\n {\n data: groupedData.map((item) => item[props.measure.name]),\n backgroundColor,\n borderColor,\n },\n ],\n };\n};\n\nexport const getPieChartProOptions = (\n measure: Measure,\n theme: Theme = remarkableTheme,\n): Partial<ChartOptions<'pie'>> => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n plugins: {\n legend: { position: theme.charts.legendPosition ?? 'bottom' },\n datalabels: {\n formatter: (value: string | number) => themeFormatter.data(measure, value),\n },\n tooltip: {\n callbacks: {\n label(context) {\n const raw = context.raw as number;\n const total = context.dataset.data.reduce(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (sum: number, v: any) => sum + parseFloat(v),\n 0,\n );\n const pct = Math.round((raw / total) * 100);\n return `${themeFormatter.data(measure, raw)} (${pct}%)`;\n },\n },\n },\n },\n };\n};\n"],"names":["getPieChartProData","props","theme","remarkableTheme","themeFormatter","getThemeFormatter","groupedData","groupTailAsOther","themeKey","getObjectStableKey","chartColors","getChartColors","backgroundColor","item","i","getColor","borderColor","value","formattedValue","i18n","getPieChartProOptions","measure","context","raw","total","sum","v","pct"],"mappings":";;;;;AAWO,MAAMA,IAAqB,CAChCC,GAMAC,IAAeC,MACM;AACrB,QAAMC,IAAiBC,EAAkBH,CAAK;AAE9C,MAAI,CAACD,EAAM;AACT,WAAO;AAAA,MACL,QAAQ,CAAA;AAAA,MACR,UAAU,CAAC,EAAE,MAAM,IAAI;AAAA,IAAA;AAG3B,QAAMK,IAAcC;AAAA,IAClBN,EAAM;AAAA,IACNA,EAAM;AAAA,IACN,CAACA,EAAM,OAAO;AAAA,IACdA,EAAM;AAAA,EAAA,GAGFO,IAAWC,EAAmBP,CAAK,GACnCQ,IAAcC,EAAA,GACdC,IAAkBN,EAAY;AAAA,IAAI,CAACO,GAAMC,MAC7CC;AAAA,MACE,GAAGP,CAAQ;AAAA,MACX,GAAGP,EAAM,UAAU,IAAI,IAAIY,EAAKZ,EAAM,UAAU,IAAI,CAAC;AAAA,MACrDC,EAAM,OAAO,oBAAoBQ;AAAA,MACjCI;AAAA,IAAA;AAAA,EACF,GAGIE,IAAcV,EAAY;AAAA,IAAI,CAACO,GAAMC,MACzCC;AAAA,MACE,GAAGP,CAAQ;AAAA,MACX,GAAGP,EAAM,UAAU,IAAI,IAAIY,EAAKZ,EAAM,UAAU,IAAI,CAAC;AAAA,MACrDC,EAAM,OAAO,gBAAgBQ;AAAA,MAC7BI;AAAA,IAAA;AAAA,EACF;AAGF,SAAO;AAAA,IACL,QAAQR,EAAY,IAAI,CAACO,MAAS;AAChC,YAAMI,IAAQJ,EAAKZ,EAAM,UAAU,IAAI,GACjCiB,IAAiBd,EAAe,KAAKH,EAAM,WAAWgB,CAAK;AAGjE,aAAIA,MAAUC,IACLC,EAAK,EAAEF,CAAK,IAEdC;AAAA,IACT,CAAC;AAAA,IACD,UAAU;AAAA,MACR;AAAA,QACE,MAAMZ,EAAY,IAAI,CAACO,MAASA,EAAKZ,EAAM,QAAQ,IAAI,CAAC;AAAA,QACxD,iBAAAW;AAAA,QACA,aAAAI;AAAA,MAAA;AAAA,IACF;AAAA,EACF;AAEJ,GAEaI,IAAwB,CACnCC,GACAnB,IAAeC,MACkB;AACjC,QAAMC,IAAiBC,EAAkBH,CAAK;AAE9C,SAAO;AAAA,IACL,SAAS;AAAA,MACP,QAAQ,EAAE,UAAUA,EAAM,OAAO,kBAAkB,SAAA;AAAA,MACnD,YAAY;AAAA,QACV,WAAW,CAACe,MAA2Bb,EAAe,KAAKiB,GAASJ,CAAK;AAAA,MAAA;AAAA,MAE3E,SAAS;AAAA,QACP,WAAW;AAAA,UACT,MAAMK,GAAS;AACb,kBAAMC,IAAMD,EAAQ,KACdE,IAAQF,EAAQ,QAAQ,KAAK;AAAA;AAAA,cAEjC,CAACG,GAAaC,MAAWD,IAAM,WAAWC,CAAC;AAAA,cAC3C;AAAA,YAAA,GAEIC,IAAM,KAAK,MAAOJ,IAAMC,IAAS,GAAG;AAC1C,mBAAO,GAAGpB,EAAe,KAAKiB,GAASE,CAAG,CAAC,KAAKI,CAAG;AAAA,UACrD;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEJ;"}
@@ -0,0 +1,71 @@
1
+ import { a as n, b as o, c as a } from "./Color.type.emb-sebikYGW.js";
2
+ const s = "country", t = "count", e = "category", r = n(s, "string", { title: "Country" }), i = o(t, "number", { title: "Count" }), C = n(e, "string", {
3
+ title: "Category"
4
+ }), u = a(
5
+ [s, t],
6
+ [
7
+ ["US", 120],
8
+ ["GER", 100],
9
+ ["UK", 80],
10
+ ["FRA", 70],
11
+ ["SPA", 55]
12
+ ]
13
+ );
14
+ a(
15
+ [s, e, t],
16
+ [
17
+ ["US", 100],
18
+ ["GER", 90],
19
+ ["UK", 75],
20
+ ["FRA", 85],
21
+ ["SPA", 60]
22
+ ]
23
+ );
24
+ const m = a(
25
+ [s, e, t],
26
+ [
27
+ ["US", "Cat 1", 120],
28
+ ["US", "Cat 2", 130],
29
+ ["GER", "Cat 1", 100],
30
+ ["GER", "Cat 2", 110],
31
+ ["UK", "Cat 1", 80],
32
+ ["UK", "Cat 2", 95],
33
+ ["FRA", "Cat 1", 70],
34
+ ["FRA", "Cat 2", 60],
35
+ ["SPA", "Cat 1", 55],
36
+ ["SPA", "Cat 2", 35]
37
+ ]
38
+ ), c = a(
39
+ [s, e, t],
40
+ [
41
+ ["US", "Cat 1", 100],
42
+ ["US", "Cat 2", 115],
43
+ ["GER", "Cat 1", 90],
44
+ ["GER", "Cat 2", 125],
45
+ ["UK", "Cat 1", 75],
46
+ ["UK", "Cat 2", 105],
47
+ ["FRA", "Cat 1", 85],
48
+ ["FRA", "Cat 2", 55],
49
+ ["SPA", "Cat 1", 60],
50
+ ["SPA", "Cat 2", 30]
51
+ ]
52
+ ), R = a([t], [[120]]), A = a([t], [[100]]), S = {
53
+ embeddableId: "",
54
+ datasetId: "",
55
+ inputName: "",
56
+ variableValues: {}
57
+ }, l = {
58
+ dataset: S,
59
+ dimension: r,
60
+ dimensionGroup: C,
61
+ measure: i,
62
+ results1Measure: R,
63
+ results1MeasureVariant: A,
64
+ results1Measure1Dimension: u,
65
+ results1Measure2Dimensions: m,
66
+ results1Measure2DimensionsVariant: c
67
+ };
68
+ export {
69
+ l as p
70
+ };
71
+ //# sourceMappingURL=preview.data.constants-tDMYNi0n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview.data.constants-tDMYNi0n.js","sources":["../src/components/preview.data.constants.ts"],"sourcesContent":["import { mockDataResponse, mockDimension, mockMeasure } from '@embeddable.com/core';\n\nconst dimensionName = 'country';\nconst measureName = 'count';\nconst dimensionGroupName = 'category';\n\nconst dimension = mockDimension(dimensionName, 'string', { title: 'Country' });\nconst measure = mockMeasure(measureName, 'number', { title: 'Count' });\nconst dimensionGroup = mockDimension(dimensionGroupName, 'string', {\n title: 'Category',\n});\n\nconst results1Measure1Dimension = mockDataResponse(\n [dimensionName, measureName],\n [\n ['US', 120],\n ['GER', 100],\n ['UK', 80],\n ['FRA', 70],\n ['SPA', 55],\n ],\n);\n\nconst results1Measure1DimensionVariant = mockDataResponse(\n [dimensionName, dimensionGroupName, measureName],\n [\n ['US', 100],\n ['GER', 90],\n ['UK', 75],\n ['FRA', 85],\n ['SPA', 60],\n ],\n);\n\nconst results1Measure2Dimensions = mockDataResponse(\n [dimensionName, dimensionGroupName, measureName],\n [\n ['US', 'Cat 1', 120],\n ['US', 'Cat 2', 130],\n\n ['GER', 'Cat 1', 100],\n ['GER', 'Cat 2', 110],\n\n ['UK', 'Cat 1', 80],\n ['UK', 'Cat 2', 95],\n\n ['FRA', 'Cat 1', 70],\n ['FRA', 'Cat 2', 60],\n\n ['SPA', 'Cat 1', 55],\n ['SPA', 'Cat 2', 35],\n ],\n);\n\nconst results1Measure2DimensionsVariant = mockDataResponse(\n [dimensionName, dimensionGroupName, measureName],\n [\n ['US', 'Cat 1', 100],\n ['US', 'Cat 2', 115],\n\n ['GER', 'Cat 1', 90],\n ['GER', 'Cat 2', 125],\n\n ['UK', 'Cat 1', 75],\n ['UK', 'Cat 2', 105],\n\n ['FRA', 'Cat 1', 85],\n ['FRA', 'Cat 2', 55],\n\n ['SPA', 'Cat 1', 60],\n ['SPA', 'Cat 2', 30],\n ],\n);\n\nconst results1Measure = mockDataResponse([measureName], [[120]]);\nconst results1MeasureVariant = mockDataResponse([measureName], [[100]]);\n\nconst dataset = {\n embeddableId: '',\n datasetId: '',\n inputName: '',\n variableValues: {},\n};\n\nexport const previewData = {\n dataset,\n dimension,\n dimensionGroup,\n measure,\n results1Measure,\n results1MeasureVariant,\n results1Measure1Dimension,\n results1Measure1DimensionVariant,\n results1Measure2Dimensions,\n results1Measure2DimensionsVariant,\n} as const;\n"],"names":["dimensionName","measureName","dimensionGroupName","dimension","mockDimension","measure","mockMeasure","dimensionGroup","results1Measure1Dimension","mockDataResponse","results1Measure2Dimensions","results1Measure2DimensionsVariant","results1Measure","results1MeasureVariant","dataset","previewData"],"mappings":";AAEA,MAAMA,IAAgB,WAChBC,IAAc,SACdC,IAAqB,YAErBC,IAAYC,EAAcJ,GAAe,UAAU,EAAE,OAAO,WAAW,GACvEK,IAAUC,EAAYL,GAAa,UAAU,EAAE,OAAO,SAAS,GAC/DM,IAAiBH,EAAcF,GAAoB,UAAU;AAAA,EACjE,OAAO;AACT,CAAC,GAEKM,IAA4BC;AAAA,EAChC,CAACT,GAAeC,CAAW;AAAA,EAC3B;AAAA,IACE,CAAC,MAAM,GAAG;AAAA,IACV,CAAC,OAAO,GAAG;AAAA,IACX,CAAC,MAAM,EAAE;AAAA,IACT,CAAC,OAAO,EAAE;AAAA,IACV,CAAC,OAAO,EAAE;AAAA,EAAA;AAEd;AAEyCQ;AAAA,EACvC,CAACT,GAAeE,GAAoBD,CAAW;AAAA,EAC/C;AAAA,IACE,CAAC,MAAM,GAAG;AAAA,IACV,CAAC,OAAO,EAAE;AAAA,IACV,CAAC,MAAM,EAAE;AAAA,IACT,CAAC,OAAO,EAAE;AAAA,IACV,CAAC,OAAO,EAAE;AAAA,EAAA;AAEd;AAEA,MAAMS,IAA6BD;AAAA,EACjC,CAACT,GAAeE,GAAoBD,CAAW;AAAA,EAC/C;AAAA,IACE,CAAC,MAAM,SAAS,GAAG;AAAA,IACnB,CAAC,MAAM,SAAS,GAAG;AAAA,IAEnB,CAAC,OAAO,SAAS,GAAG;AAAA,IACpB,CAAC,OAAO,SAAS,GAAG;AAAA,IAEpB,CAAC,MAAM,SAAS,EAAE;AAAA,IAClB,CAAC,MAAM,SAAS,EAAE;AAAA,IAElB,CAAC,OAAO,SAAS,EAAE;AAAA,IACnB,CAAC,OAAO,SAAS,EAAE;AAAA,IAEnB,CAAC,OAAO,SAAS,EAAE;AAAA,IACnB,CAAC,OAAO,SAAS,EAAE;AAAA,EAAA;AAEvB,GAEMU,IAAoCF;AAAA,EACxC,CAACT,GAAeE,GAAoBD,CAAW;AAAA,EAC/C;AAAA,IACE,CAAC,MAAM,SAAS,GAAG;AAAA,IACnB,CAAC,MAAM,SAAS,GAAG;AAAA,IAEnB,CAAC,OAAO,SAAS,EAAE;AAAA,IACnB,CAAC,OAAO,SAAS,GAAG;AAAA,IAEpB,CAAC,MAAM,SAAS,EAAE;AAAA,IAClB,CAAC,MAAM,SAAS,GAAG;AAAA,IAEnB,CAAC,OAAO,SAAS,EAAE;AAAA,IACnB,CAAC,OAAO,SAAS,EAAE;AAAA,IAEnB,CAAC,OAAO,SAAS,EAAE;AAAA,IACnB,CAAC,OAAO,SAAS,EAAE;AAAA,EAAA;AAEvB,GAEMW,IAAkBH,EAAiB,CAACR,CAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GACzDY,IAAyBJ,EAAiB,CAACR,CAAW,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAEhEa,IAAU;AAAA,EACd,cAAc;AAAA,EACd,WAAW;AAAA,EACX,WAAW;AAAA,EACX,gBAAgB,CAAA;AAClB,GAEaC,IAAc;AAAA,EACzB,SAAAD;AAAA,EACA,WAAAX;AAAA,EACA,gBAAAI;AAAA,EACA,SAAAF;AAAA,EACA,iBAAAO;AAAA,EACA,wBAAAC;AAAA,EACA,2BAAAL;AAAA,EAEA,4BAAAE;AAAA,EACA,mCAAAC;AACF;"}
@@ -1,6 +1,6 @@
1
- import { j as ze, Z as di, _ as ht, c as Je } from "./Color.type.emb-Dkh_ZrO6.js";
2
- import { g as yi } from "./formatter.utils-BiWZBhcE.js";
3
- import { D as mn } from "./component.inputs.constants-CNdmawDt.js";
1
+ import { j as ze, a0 as di, a1 as ht, f as Je } from "./Color.type.emb-sebikYGW.js";
2
+ import { g as yi } from "./formatter.utils-tS15PLXn.js";
3
+ import { D as mn } from "./component.inputs.constants-Ds7YpNhT.js";
4
4
  import "react";
5
5
  import { g as tr } from "./_commonjsHelpers-C6fGbg64.js";
6
6
  function ki(e, t) {
@@ -1788,11 +1788,7 @@ function Gn(e) {
1788
1788
  const t = "&" + e + ";";
1789
1789
  Et.innerHTML = t;
1790
1790
  const n = Et.textContent;
1791
- return (
1792
- // @ts-expect-error: TypeScript is wrong that `textContent` on elements can
1793
- // yield `null`.
1794
- n.charCodeAt(n.length - 1) === 59 && e !== "semi" || n === t ? !1 : n
1795
- );
1791
+ return n.charCodeAt(n.length - 1) === 59 && e !== "semi" || n === t ? !1 : n;
1796
1792
  }
1797
1793
  function re(e, t, n, r) {
1798
1794
  const i = e.length;
@@ -8751,4 +8747,4 @@ export {
8751
8747
  Kc as c,
8752
8748
  qc as g
8753
8749
  };
8754
- //# sourceMappingURL=tables.utils-8OmfcPmH.js.map
8750
+ //# sourceMappingURL=tables.utils-33eWJN_a.js.map