@embeddable.com/remarkable-pro 0.0.15 → 0.0.17

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 (93) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +3 -3
  2. package/dist/BarChartDefaultPro.js +3 -3
  3. package/dist/BarChartGroupedHorizontalPro.js +3 -3
  4. package/dist/BarChartGroupedPro.js +3 -3
  5. package/dist/BarChartStackedHorizontalPro.js +3 -3
  6. package/dist/BarChartStackedPro.js +3 -3
  7. package/dist/{ChartCard-BEIVgW77.js → ChartCard-CuGtJlaW.js} +3 -3
  8. package/dist/{ChartCard-BEIVgW77.js.map → ChartCard-CuGtJlaW.js.map} +1 -1
  9. package/dist/{Color.type.emb-ByiNbaI7.js → Color.type.emb-CLYI-rua.js} +282 -283
  10. package/dist/{Color.type.emb-ByiNbaI7.js.map → Color.type.emb-CLYI-rua.js.map} +1 -1
  11. package/dist/ColorEditor.js +1 -1
  12. package/dist/ComparisonPeriodSelectFieldPro.js +3 -3
  13. package/dist/DateRangePickerCustomPro.js +3 -3
  14. package/dist/DateRangeSelectFieldPro.js +3 -3
  15. package/dist/DonutChartPro.js +3 -3
  16. package/dist/DonutLabelChartPro.js +3 -3
  17. package/dist/{EditorCard-NEIuygkP.js → EditorCard-CNtTIFGO.js} +3 -3
  18. package/dist/{EditorCard-NEIuygkP.js.map → EditorCard-CNtTIFGO.js.map} +1 -1
  19. package/dist/HeatMapPro.js +18 -17
  20. package/dist/HeatMapPro.js.map +1 -1
  21. package/dist/KpiChartNumberComparisonPro.js +3 -3
  22. package/dist/KpiChartNumberPro.js +3 -3
  23. package/dist/LineChartComparisonDefaultPro.js +3 -3
  24. package/dist/LineChartDefaultPro.js +3 -3
  25. package/dist/LineChartGroupedPro.js +3 -3
  26. package/dist/MultiSelectFieldPro.js +3 -3
  27. package/dist/PieChartPro.js +3 -3
  28. package/dist/PivotTablePro.js +3 -3
  29. package/dist/SingleSelectFieldPro.js +3 -3
  30. package/dist/TableChartPaginated.js +3 -3
  31. package/dist/{bars.utils-D12lq8bm.js → bars.utils-c9bi5X5n.js} +4 -4
  32. package/dist/{bars.utils-D12lq8bm.js.map → bars.utils-c9bi5X5n.js.map} +1 -1
  33. package/dist/{charts.utils-Bq6c6ccK.js → charts.utils-nkrr8Yy8.js} +6 -5
  34. package/dist/charts.utils-nkrr8Yy8.js.map +1 -0
  35. package/dist/{component.inputs.constants-FaX3B1CO.js → component.inputs.constants-CpWMPDsp.js} +258 -232
  36. package/dist/{component.inputs.constants-FaX3B1CO.js.map → component.inputs.constants-CpWMPDsp.js.map} +1 -1
  37. package/dist/components/component.inputs.constants.d.ts +1 -1
  38. package/dist/embeddable-components.json +12 -12
  39. package/dist/embeddable-theme-0137e.js +2 -1
  40. package/dist/{formatter.utils-IGbSBsIu.js → formatter.utils-DPI9zC1z.js} +2 -2
  41. package/dist/{formatter.utils-IGbSBsIu.js.map → formatter.utils-DPI9zC1z.js.map} +1 -1
  42. package/dist/{index-oK1pn0Vk.js → index-1Pthtw-F.js} +5 -5
  43. package/dist/{index-oK1pn0Vk.js.map → index-1Pthtw-F.js.map} +1 -1
  44. package/dist/{index-EAQjfjEJ.js → index-8dPSbeeV.js} +4 -4
  45. package/dist/{index-EAQjfjEJ.js.map → index-8dPSbeeV.js.map} +1 -1
  46. package/dist/{index-CR69kGQc.js → index-B0gfoUZP.js} +5 -5
  47. package/dist/{index-CR69kGQc.js.map → index-B0gfoUZP.js.map} +1 -1
  48. package/dist/{index-BNFqHQr3.js → index-B6Nckx8Z.js} +6 -6
  49. package/dist/{index-BNFqHQr3.js.map → index-B6Nckx8Z.js.map} +1 -1
  50. package/dist/{index-BKcWHLSf.js → index-BBmMB5DD.js} +5 -5
  51. package/dist/{index-BKcWHLSf.js.map → index-BBmMB5DD.js.map} +1 -1
  52. package/dist/{index-CdjbmThq.js → index-BHVaEsvO.js} +5 -5
  53. package/dist/{index-CdjbmThq.js.map → index-BHVaEsvO.js.map} +1 -1
  54. package/dist/{index-DLCspqkx.js → index-BQKTtuOl.js} +5 -5
  55. package/dist/{index-DLCspqkx.js.map → index-BQKTtuOl.js.map} +1 -1
  56. package/dist/{index-BDPQ_c46.js → index-BTdWqSDj.js} +5 -5
  57. package/dist/{index-BDPQ_c46.js.map → index-BTdWqSDj.js.map} +1 -1
  58. package/dist/{index-CwiND2Ct.js → index-BUnUdDZd.js} +5 -5
  59. package/dist/{index-CwiND2Ct.js.map → index-BUnUdDZd.js.map} +1 -1
  60. package/dist/{index-RHaWI3AH.js → index-BaSNws-A.js} +5 -5
  61. package/dist/{index-RHaWI3AH.js.map → index-BaSNws-A.js.map} +1 -1
  62. package/dist/{index-Dhj9KjfQ.js → index-CB5nTme1.js} +5 -5
  63. package/dist/{index-Dhj9KjfQ.js.map → index-CB5nTme1.js.map} +1 -1
  64. package/dist/{index-B15C4kTf.js → index-CSH6Tke5.js} +5 -5
  65. package/dist/{index-B15C4kTf.js.map → index-CSH6Tke5.js.map} +1 -1
  66. package/dist/{index-DRIH3L5J.js → index-CwL7feVe.js} +5 -5
  67. package/dist/{index-DRIH3L5J.js.map → index-CwL7feVe.js.map} +1 -1
  68. package/dist/{index-DdeFtB5C.js → index-DbQoW48_.js} +6 -6
  69. package/dist/{index-DdeFtB5C.js.map → index-DbQoW48_.js.map} +1 -1
  70. package/dist/{index-_fEx7Sbh.js → index-DfXkoWel.js} +4 -4
  71. package/dist/{index-_fEx7Sbh.js.map → index-DfXkoWel.js.map} +1 -1
  72. package/dist/{index-CQZhGtUT.js → index-DjA9mRxV.js} +6 -6
  73. package/dist/{index-CQZhGtUT.js.map → index-DjA9mRxV.js.map} +1 -1
  74. package/dist/{index-hHVOyy6e.js → index-Dz6llBs_.js} +5 -5
  75. package/dist/{index-hHVOyy6e.js.map → index-Dz6llBs_.js.map} +1 -1
  76. package/dist/{index-BzF8GFHy.js → index-WDuZPeli.js} +5 -5
  77. package/dist/{index-BzF8GFHy.js.map → index-WDuZPeli.js.map} +1 -1
  78. package/dist/{index-DNXqnRoE.js → index-hmfJGJBH.js} +5 -5
  79. package/dist/{index-DNXqnRoE.js.map → index-hmfJGJBH.js.map} +1 -1
  80. package/dist/{index-BjaJdNzu.js → index-natSwnW-.js} +5 -5
  81. package/dist/{index-BjaJdNzu.js.map → index-natSwnW-.js.map} +1 -1
  82. package/dist/{index-BiTSd5Wd.js → index-z0A1zEtp.js} +5 -5
  83. package/dist/{index-BiTSd5Wd.js.map → index-z0A1zEtp.js.map} +1 -1
  84. package/dist/index.d.ts +1 -0
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +80 -77
  87. package/dist/{pies.utils-C5DxeS68.js → pies.utils-BO9fuUwj.js} +5 -5
  88. package/dist/{pies.utils-C5DxeS68.js.map → pies.utils-BO9fuUwj.js.map} +1 -1
  89. package/dist/remarkable-pro.css +1 -1
  90. package/dist/{timeRange.utils-CTEHTF97.js → timeRange.utils-DaDev_JE.js} +2 -2
  91. package/dist/{timeRange.utils-CTEHTF97.js.map → timeRange.utils-DaDev_JE.js.map} +1 -1
  92. package/package.json +2 -2
  93. package/dist/charts.utils-Bq6c6ccK.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { j as i, M } from "./Color.type.emb-ByiNbaI7.js";
2
- import { g as b } from "./formatter.utils-IGbSBsIu.js";
1
+ import { j as i, M } from "./Color.type.emb-CLYI-rua.js";
2
+ import { g as b } from "./formatter.utils-DPI9zC1z.js";
3
3
  import { useTheme as O } from "@embeddable.com/react";
4
- import { E as j } from "./EditorCard-NEIuygkP.js";
5
- import { r as x, i as v } from "./component.inputs.constants-FaX3B1CO.js";
4
+ import { E as j } from "./EditorCard-CNtTIFGO.js";
5
+ import { r as x, i as v } from "./component.inputs.constants-CpWMPDsp.js";
6
6
  const F = 200, _ = (l) => {
7
7
  var a, r;
8
8
  const m = O(), c = b(m), {
@@ -43,4 +43,4 @@ export {
43
43
  _ as a,
44
44
  C as i
45
45
  };
46
- //# sourceMappingURL=index-BzF8GFHy.js.map
46
+ //# sourceMappingURL=index-WDuZPeli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BzF8GFHy.js","sources":["../src/components/editors/MultiSelectFieldPro/index.tsx"],"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 } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\ntype MultiSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues: string[];\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n};\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValues,\n setSearchValue,\n onChange,\n } = resolveI18nProps(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} subtitle={description}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n"],"names":["MAX_OPTIONS","MultiSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValues","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","MultiSelectField","i18n","newValues"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAsB,CAACC,MAAoC;;AAC/D,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GACxC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,QAAQC,KAAkB,CAAA;AAAA,MAC1B,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAcX,KAAA,gBAAAA,EAAWW;AAAA,MACpC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
1
+ {"version":3,"file":"index-WDuZPeli.js","sources":["../src/components/editors/MultiSelectFieldPro/index.tsx"],"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 } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\ntype MultiSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues: string[];\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n};\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValues,\n setSearchValue,\n onChange,\n } = resolveI18nProps(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} subtitle={description}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n"],"names":["MAX_OPTIONS","MultiSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValues","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","MultiSelectField","i18n","newValues"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAsB,CAACC,MAAoC;;AAC/D,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GACxC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,QAAQC,KAAkB,CAAA;AAAA,MAC1B,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAcX,KAAA,gBAAAA,EAAWW;AAAA,MACpC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
@@ -1,8 +1,8 @@
1
- import { m as L, j as m, B as P } from "./Color.type.emb-ByiNbaI7.js";
1
+ import { m as L, j as m, B as P } from "./Color.type.emb-CLYI-rua.js";
2
2
  import { useTheme as w } from "@embeddable.com/react";
3
- import { a as M, r as S } from "./component.inputs.constants-FaX3B1CO.js";
4
- import { C as T } from "./ChartCard-BEIVgW77.js";
5
- import { g as _, b as v } from "./bars.utils-D12lq8bm.js";
3
+ import { a as M, r as S } from "./component.inputs.constants-CpWMPDsp.js";
4
+ import { C as T } from "./ChartCard-CuGtJlaW.js";
5
+ import { g as _, b as v } from "./bars.utils-c9bi5X5n.js";
6
6
  import { u as G } from "./charts.fillGaps.hooks-zCMYcjxz.js";
7
7
  const O = (s) => {
8
8
  var n, l;
@@ -78,4 +78,4 @@ export {
78
78
  O as B,
79
79
  I as i
80
80
  };
81
- //# sourceMappingURL=index-DNXqnRoE.js.map
81
+ //# sourceMappingURL=index-hmfJGJBH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-DNXqnRoE.js","sources":["../src/components/charts/bars/BarChartGroupedPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartGroupedProProps = {\n description: string;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showTotalLabels?: boolean;\n showValueLabels: boolean;\n title: string;\n xAxis: Dimension;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n};\n\nconst BarChartGroupedPro = (props: BarChartGroupedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n groupBy,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n title,\n xAxis,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: false, onBarClicked, data, dimension: xAxis },\n theme,\n ),\n theme.charts?.barChartGroupedPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedPro;\n"],"names":["BarChartGroupedPro","props","theme","useTheme","i18nSetup","description","groupBy","measure","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","title","xAxis","xAxisLabel","yAxisLabel","yAxisRangeMax","yAxisRangeMin","onBarClicked","resolveI18nProps","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AAkCA,MAAMA,IAAqB,CAACC,MAAmC;;AAC7D,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBpB,CAAK,GAEpBqB,IAAUC,EAAY;AAAA,IAC1B,SAAStB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKuB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWP;AAAA,MACX,gBAAgBT;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFL;AAAA,EAAA,GAGIwB,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACrB,CAAO,GAAG,YAAY,IAAO,cAAAa,GAAc,MAAAI,GAAM,WAAWT,EAAA;AAAA,MACzEb;AAAA,IAAA;AAAA,MAEF2B,KAAAC,IAAA5B,EAAM,WAAN,gBAAA4B,EAAc,uBAAd,gBAAAD,EAAkC,YAAW,CAAA;AAAA,EAAC;AAGhD,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAACf,GAASQ,GAAOT,CAAO;AAAA,MAC/C,cAAcgB,EAAQ;AAAA,MACtB,UAAUjB;AAAA,MACV,OAAAS;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAf;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAE;AAAA,UACA,sBAAAH;AAAA,UACA,YAAAM;AAAA,UACA,YAAAC;AAAA,UACA,cAAAT;AAAA,UACA,eAAAW;AAAA,UACA,eAAAD;AAAA,UACA,iBAAAN;AAAA,UACA,SAAAc;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
1
+ {"version":3,"file":"index-hmfJGJBH.js","sources":["../src/components/charts/bars/BarChartGroupedPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartGroupedProProps = {\n description: string;\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showTotalLabels?: boolean;\n showValueLabels: boolean;\n title: string;\n xAxis: Dimension;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onBarClicked: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n};\n\nconst BarChartGroupedPro = (props: BarChartGroupedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n groupBy,\n measure,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n title,\n xAxis,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.xAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: xAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: false, onBarClicked, data, dimension: xAxis },\n theme,\n ),\n theme.charts?.barChartGroupedPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, xAxis, groupBy]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedPro;\n"],"names":["BarChartGroupedPro","props","theme","useTheme","i18nSetup","description","groupBy","measure","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","title","xAxis","xAxisLabel","yAxisLabel","yAxisRangeMax","yAxisRangeMin","onBarClicked","resolveI18nProps","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AAkCA,MAAMA,IAAqB,CAACC,MAAmC;;AAC7D,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBpB,CAAK,GAEpBqB,IAAUC,EAAY;AAAA,IAC1B,SAAStB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEKuB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWP;AAAA,MACX,gBAAgBT;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFL;AAAA,EAAA,GAGIwB,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACrB,CAAO,GAAG,YAAY,IAAO,cAAAa,GAAc,MAAAI,GAAM,WAAWT,EAAA;AAAA,MACzEb;AAAA,IAAA;AAAA,MAEF2B,KAAAC,IAAA5B,EAAM,WAAN,gBAAA4B,EAAc,uBAAd,gBAAAD,EAAkC,YAAW,CAAA;AAAA,EAAC;AAGhD,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAACf,GAASQ,GAAOT,CAAO;AAAA,MAC/C,cAAcgB,EAAQ;AAAA,MACtB,UAAUjB;AAAA,MACV,OAAAS;AAAA,MAEA,UAAAiB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAf;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAE;AAAA,UACA,sBAAAH;AAAA,UACA,YAAAM;AAAA,UACA,YAAAC;AAAA,UACA,cAAAT;AAAA,UACA,eAAAW;AAAA,UACA,eAAAD;AAAA,UACA,iBAAAN;AAAA,UACA,SAAAc;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
@@ -1,8 +1,8 @@
1
- import { b as y, d as x, m as v, j as f, L as j } from "./Color.type.emb-ByiNbaI7.js";
1
+ import { b as y, d as x, m as v, j as f, L as j } from "./Color.type.emb-CLYI-rua.js";
2
2
  import { useTheme as O } from "@embeddable.com/react";
3
- import { a as w, r as P } from "./component.inputs.constants-FaX3B1CO.js";
4
- import { C as S } from "./ChartCard-BEIVgW77.js";
5
- import { g as A } from "./formatter.utils-IGbSBsIu.js";
3
+ import { a as w, r as P } from "./component.inputs.constants-CpWMPDsp.js";
4
+ import { C as S } from "./ChartCard-CuGtJlaW.js";
5
+ import { g as A } from "./formatter.utils-DPI9zC1z.js";
6
6
  import { g as F, a as L } from "./object.utils-D_Zzon-H.js";
7
7
  import { i as k, s as R } from "./color.utils-BSg_DFOh.js";
8
8
  import { u as T } from "./charts.fillGaps.hooks-zCMYcjxz.js";
@@ -160,4 +160,4 @@ export {
160
160
  _ as g,
161
161
  E as i
162
162
  };
163
- //# sourceMappingURL=index-BjaJdNzu.js.map
163
+ //# sourceMappingURL=index-natSwnW-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BjaJdNzu.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx"],"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 { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getChartContrastColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils.ts/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 themeKey = getObjectStableKey(theme);\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 chartContrastColors = getChartContrastColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getColor(\n `${themeKey}.charts.backgroundColors`,\n measure.name,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getColor(\n `${themeKey}.charts.borderColors`,\n measure.name,\n theme.charts.borderColors ?? chartContrastColors,\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 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, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } 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';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\ntype LineChartProProp = {\n description: string;\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 title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst LineChartPro = (props: LineChartProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\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 return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\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"],"names":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","themeKey","getObjectStableKey","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartContrastColors","getChartContrastColors","backgroundColor","isColorValid","getColor","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","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart"],"mappings":";;;;;;;;AAWO,MAAMA,IAAsB,CACjCC,GAMAC,MACsB;AACtB,MAAI,CAACD,EAAM;AACT,WAAO;AAAA,MACL,QAAQ,CAAA;AAAA,MACR,UAAU,CAAC,EAAE,MAAM,IAAI;AAAA,IAAA;AAI3B,QAAME,IAAiBC,EAAkBF,CAAK,GAExCG,IAAWC,EAAmBJ,CAAK,GACnCK,IAAcN,EAAM;AAE1B,SAAO;AAAA,IACL,QAAQM,EAAY,IAAI,CAACC,MAChBA,EAAKP,EAAM,UAAU,IAAI,CACjC;AAAA,IACD,UAAUA,EAAM,SAAS,IAAI,CAACQ,GAASC,MAAU;;AAC/C,YAAMC,IAAW,IAAQC,IAAAH,EAAQ,WAAR,QAAAG,EAAiB,cACpCC,IAASN,EAAY,IAAI,CAACC,MAASA,EAAKC,EAAQ,IAAI,MAAME,IAAW,IAAI,KAAK,GAE9EG,KAAYC,IAAAN,EAAQ,WAAR,gBAAAM,EAAiB,WAC7BC,IAAsBC,EAAA,GACtBC,IAAkBC,EAAaL,CAAS,IAC1CA,IACAM;AAAA,QACE,GAAGf,CAAQ;AAAA,QACXI,EAAQ;AAAA,QACRP,EAAM,OAAO,oBAAoBc;AAAA,QACjCN;AAAA,MAAA,GAGAW,IAAcF,EAAaL,CAAS,IACtCA,IACAM;AAAA,QACE,GAAGf,CAAQ;AAAA,QACXI,EAAQ;AAAA,QACRP,EAAM,OAAO,gBAAgBc;AAAA,QAC7BN;AAAA,MAAA;AAGN,aAAO;AAAA,QACL,MAAMT,EAAM;AAAA,QACZ,OAAOE,EAAe,wBAAwBM,CAAO;AAAA,QACrD,MAAMI;AAAA,QACN,iBAAiBS,EAAcJ,GAAiB,GAAG;AAAA,QACnD,sBAAsBA;AAAA,QACtB,aAAYK,IAAAd,EAAQ,WAAR,QAAAc,EAAiB,aACzB;AAAA,UACEC,EAAe,4BAA4B,SAAS;AAAA,UACpDA,EAAe,2BAA2B,SAAS;AAAA,QAAA,IAErD;AAAA,QACJ,aAAAH;AAAA,QACA,MAAM,IAAQI,IAAAhB,EAAQ,WAAR,QAAAgB,EAAiB;AAAA,MAAgB;AAAA,IAEnD,CAAC;AAAA,EAAA;AAEL,GAEaC,IAAyB,CACpCC,GAMAzB,MACyB;;AACzB,QAAM,EAAE,WAAA0B,GAAW,MAAAC,GAAM,UAAAC,GAAU,eAAAC,MAAkBJ,GAC/CxB,IAAiBC,EAAkBF,CAAK;AAyD9C,SAAO8B,EAvDwC;AAAA,IAC7C,SAAS;AAAA,MACP,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,OAAO;AAAA,YACL,WAAW,CAACC,GAAwBC,MAAY;AAC9C,oBAAMzB,IAAUqB,EAASI,EAAQ,YAAY;AAC7C,qBAAO/B,EAAe,KAAKM,GAASwB,CAAK;AAAA,YAC3C;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAAA,MAEF,SAAS;AAAA,QACP,WAAW;AAAA,UACT,OAAO,CAACC,MAAY;;AAClB,kBAAMC,KAAQvB,IAAAsB,EAAQ,CAAC,MAAT,gBAAAtB,EAAY;AAC1B,mBAAOT,EAAe,KAAKyB,GAAWO,CAAK;AAAA,UAC7C;AAAA,UACA,OAAO,CAACD,MAAY;AAClB,kBAAMzB,IAAUqB,EAASI,EAAQ,YAAY,GACvCE,IAAMF,EAAQ;AACpB,mBAAO,GAAG/B,EAAe,KAAKyB,GAAWM,EAAQ,QAAQ,KAAK,KAAK,EAAE,KAAK/B,EAAe,KAAKM,GAAS2B,CAAG,CAAC;AAAA,UAC7G;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEF,QAAQ;AAAA,MACN,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACH,MAAU;AACnB,gBAAI,CAACJ,KAAQ,CAACA,EAAK,OAAQ;AAE3B,kBAAMM,IAAQN,EAAK,OAAO,OAAOI,CAAK,CAAC;AACvC,mBAAO9B,EAAe,KAAKyB,GAAWO,CAAK;AAAA,UAC7C;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACF,MACF9B,EAAe,KAAK2B,EAAS,CAAC,GAAIG,CAAK;AAAA,QAChD;AAAA,MACF;AAAA,IACF;AAAA,IAEF,SAAS,CAACI,GAAQC,GAAUC,MAAU;AACpC,YAAMC,IAAUF,EAAS,CAAC,GACpBG,IAAkBD,IAAUD,EAAM,KAAK,OAAQC,EAAQ,KAAK,IAAI;AAEtE,MAAAT,EAAc;AAAA,QACZ,gBAAAU;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAAA,KAGiC1B,KAAAH,IAAAV,EAAM,WAAN,gBAAAU,EAAc,wBAAd,gBAAAG,EAAmC,YAAW,EAAE;AACrF,GCpHM2B,IAAe,CAACzC,MAA4B;AAChD,QAAMC,IAAeyC,EAAA;AACrB,EAAAC,EAAU1C,CAAK;AAEf,QAAM,EAAE,OAAA2C,GAAO,aAAAC,GAAa,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBhD,CAAK,GACvE;AAAA,IACJ,UAAA6B;AAAA,IACA,OAAAoB;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAA1B;AAAA,EAAA,IACE9B,GAEEyD,IAAUC,EAAY;AAAA,IAC1B,SAAS1D,EAAM;AAAA,IACf,WAAWiD;AAAA,EAAA,CACZ,GAEKrB,IAAO7B;AAAA,IACX;AAAA,MACE,MAAM0D,EAAQ;AAAA,MACd,WAAWR;AAAA,MACX,UAAApB;AAAA,MACA,qBAA6B2B,KAAiB,QAAQD,KAAiB;AAAA,IAAI;AAAA,IAE7EtD;AAAA,EAAA,GAEIyB,IAAUD;AAAA,IACd,EAAE,MAAAG,GAAM,WAAWqB,GAAO,UAAApB,GAAU,eAAAC,EAAA;AAAA,IACpC7B;AAAA,EAAA;AAGF,SACE0D,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAAC,GAAG5B,GAAUoB,CAAK;AAAA,MAC1C,cAAcQ,EAAQ;AAAA,MACtB,UAAUZ;AAAA,MACV,OAAAD;AAAA,MAEA,UAAAe,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAjC;AAAA,UACA,cAAAsB;AAAA,UACA,YAAAC;AAAA,UACA,sBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,YAAAR;AAAA,UACA,YAAAC;AAAA,UACA,eAAAQ;AAAA,UACA,eAAAC;AAAA,UACA,SAAA9B;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
1
+ {"version":3,"file":"index-natSwnW-.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx"],"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 { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getChartContrastColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils.ts/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 themeKey = getObjectStableKey(theme);\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 chartContrastColors = getChartContrastColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getColor(\n `${themeKey}.charts.backgroundColors`,\n measure.name,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getColor(\n `${themeKey}.charts.borderColors`,\n measure.name,\n theme.charts.borderColors ?? chartContrastColors,\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 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, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } 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';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\ntype LineChartProProp = {\n description: string;\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 title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst LineChartPro = (props: LineChartProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\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 return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\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"],"names":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","themeKey","getObjectStableKey","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartContrastColors","getChartContrastColors","backgroundColor","isColorValid","getColor","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","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { j as u, H as A } from "./Color.type.emb-ByiNbaI7.js";
1
+ import { j as u, H as A } from "./Color.type.emb-CLYI-rua.js";
2
2
  import { useTheme as G } from "@embeddable.com/react";
3
- import { a as R, r as _ } from "./component.inputs.constants-FaX3B1CO.js";
4
- import { C as P } from "./ChartCard-BEIVgW77.js";
5
- import { g as c } from "./formatter.utils-IGbSBsIu.js";
3
+ import { a as R, r as _ } from "./component.inputs.constants-CpWMPDsp.js";
4
+ import { C as P } from "./ChartCard-CuGtJlaW.js";
5
+ import { g as c } from "./formatter.utils-DPI9zC1z.js";
6
6
  import { u as d } from "./charts.fillGaps.hooks-zCMYcjxz.js";
7
7
  import { u as k } from "./tables.hooks-BQdyUxau.js";
8
8
  const f = (e, s) => {
@@ -92,4 +92,4 @@ export {
92
92
  B as H,
93
93
  J as i
94
94
  };
95
- //# sourceMappingURL=index-BiTSd5Wd.js.map
95
+ //# sourceMappingURL=index-z0A1zEtp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BiTSd5Wd.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 } 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 description: string;\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 title: string;\n};\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 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 subtitle={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={props.results?.error}\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","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":";;;;;;;AA6BO,MAAMA,IAAiB,CAC5BC,GACAC,MAE6B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAO;AAAA,IACL,KAAKD,EAAM,QAAQ;AAAA,IACnB,OAAOE,EAAe,wBAAwBF,EAAM,OAAO;AAAA,IAC3D,QAAQ,CAACI,MACAF,EAAe,KAAKF,EAAM,SAASI,CAAK;AAAA,EACjD;AAEJ,GAEaC,IAAmB,CAC9BL,GACAC,MAE+B;AAC/B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAO;AAAA,IACL,KAAKD,EAAM,UAAU;AAAA,IACrB,OAAOE,EAAe,wBAAwBF,EAAM,SAAS;AAAA,IAC7D,QAAQ,CAACI,MAAkBF,EAAe,KAAKF,EAAM,WAAWI,CAAK;AAAA,EAAA;AAEzE,GAEME,IAAa,CAACN,MAA2B;;AAC7C,QAAMC,IAAQM,EAAA;AACd,EAAAC,EAAUP,CAAK;AAEf,QAAM,EAAE,aAAAQ,GAAa,OAAAC,MAAUC,EAAiBX,CAAK,GAC/C;AAAA,IACJ,SAAAY;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEvB,GAEEwB,IAAc,MAAM;AAAA,IACxB,IAAI,KAAKxB,EAAM,QAAQ,QAAQ,CAAA,GAAI,OAAO,OAAO,EAAE,IAAI,CAACyB,MAAMA,EAAEX,EAAgB,IAAI,CAAC,CAAC;AAAA,EAAA,GAGlFY,IAAW,MAAM;AAAA,IACrB,IAAI,KAAK1B,EAAM,QAAQ,QAAQ,CAAA,GAAI,OAAO,OAAO,EAAE,IAAI,CAACyB,MAAMA,EAAEZ,EAAa,IAAI,CAAC,CAAC;AAAA,EAAA,GAI/Ec,IAAiCC,EAAY;AAAA,IACjD,SAAS5B,EAAM;AAAA,IACf,WAAWc;AAAA,EAAA,CACZ,GAGKe,IAAoCD,EAAY;AAAA,IACpD,SAASD;AAAA,IACT,WAAWd;AAAA,EAAA,CACZ,GAEKiB,IAAUC,EAAyB;AAAA,IACvC,SAASF;AAAA,IACT,aAAAL;AAAA,IACA,UAAAE;AAAA,IACA,iBAAAZ;AAAA,IACA,cAAAD;AAAA,IACA,UAAU,CAACD,CAAO;AAAA,EAAA,CACnB,GAEKoB,IAAgBjC,EAAe,EAAE,SAAAa,EAAA,GAAWX,CAAK,GACjDgC,IAAoB5B,EAAiB,EAAE,WAAWQ,EAAA,GAAgBZ,CAAK,GACvEiC,IAAuB7B,EAAiB,EAAE,WAAWS,EAAA,GAAmBb,CAAK;AAEnF,SACEkC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAA1B;AAAA,MACA,UAAUD;AAAA,MACV,MAAMT,EAAM;AAAA,MACZ,uBAAuB,CAACa,GAAcC,GAAiBF,CAAO;AAAA,MAC9D,eAAcyB,IAAArC,EAAM,YAAN,gBAAAqC,EAAe;AAAA,MAE7B,UAAAF,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACC,MAAMR;AAAA,UACN,SAASE;AAAA,UACT,cAAcC;AAAA,UACd,iBAAiBC;AAAA,UACjB,UAAAnB;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,YAAAI;AAAA,UACA,cAAAC;AAAA,UACA,cAAAC;AAAA,UACA,aAAAJ;AAAA,UACA,kBAAAC;AAAA,UACA,eAAAF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;;;"}
1
+ {"version":3,"file":"index-z0A1zEtp.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 } 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 description: string;\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 title: string;\n};\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 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 subtitle={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, measure]}\n errorMessage={props.results?.error}\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","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":";;;;;;;AA6BO,MAAMA,IAAiB,CAC5BC,GACAC,MAE6B;AAC7B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAO;AAAA,IACL,KAAKD,EAAM,QAAQ;AAAA,IACnB,OAAOE,EAAe,wBAAwBF,EAAM,OAAO;AAAA,IAC3D,QAAQ,CAACI,MACAF,EAAe,KAAKF,EAAM,SAASI,CAAK;AAAA,EACjD;AAEJ,GAEaC,IAAmB,CAC9BL,GACAC,MAE+B;AAC/B,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAO;AAAA,IACL,KAAKD,EAAM,UAAU;AAAA,IACrB,OAAOE,EAAe,wBAAwBF,EAAM,SAAS;AAAA,IAC7D,QAAQ,CAACI,MAAkBF,EAAe,KAAKF,EAAM,WAAWI,CAAK;AAAA,EAAA;AAEzE,GAEME,IAAa,CAACN,MAA2B;;AAC7C,QAAMC,IAAQM,EAAA;AACd,EAAAC,EAAUP,CAAK;AAEf,QAAM,EAAE,aAAAQ,GAAa,OAAAC,MAAUC,EAAiBX,CAAK,GAC/C;AAAA,IACJ,SAAAY;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEvB,GAEEwB,IAAc,MAAM;AAAA,IACxB,IAAI,KAAKxB,EAAM,QAAQ,QAAQ,CAAA,GAAI,OAAO,OAAO,EAAE,IAAI,CAACyB,MAAMA,EAAEX,EAAgB,IAAI,CAAC,CAAC;AAAA,EAAA,GAGlFY,IAAW,MAAM;AAAA,IACrB,IAAI,KAAK1B,EAAM,QAAQ,QAAQ,CAAA,GAAI,OAAO,OAAO,EAAE,IAAI,CAACyB,MAAMA,EAAEZ,EAAa,IAAI,CAAC,CAAC;AAAA,EAAA,GAI/Ec,IAAiCC,EAAY;AAAA,IACjD,SAAS5B,EAAM;AAAA,IACf,WAAWc;AAAA,EAAA,CACZ,GAGKe,IAAoCD,EAAY;AAAA,IACpD,SAASD;AAAA,IACT,WAAWd;AAAA,EAAA,CACZ,GAEKiB,IAAUC,EAAyB;AAAA,IACvC,SAASF;AAAA,IACT,aAAAL;AAAA,IACA,UAAAE;AAAA,IACA,iBAAAZ;AAAA,IACA,cAAAD;AAAA,IACA,UAAU,CAACD,CAAO;AAAA,EAAA,CACnB,GAEKoB,IAAgBjC,EAAe,EAAE,SAAAa,EAAA,GAAWX,CAAK,GACjDgC,IAAoB5B,EAAiB,EAAE,WAAWQ,EAAA,GAAgBZ,CAAK,GACvEiC,IAAuB7B,EAAiB,EAAE,WAAWS,EAAA,GAAmBb,CAAK;AAEnF,SACEkC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAA1B;AAAA,MACA,UAAUD;AAAA,MACV,MAAMT,EAAM;AAAA,MACZ,uBAAuB,CAACa,GAAcC,GAAiBF,CAAO;AAAA,MAC9D,eAAcyB,IAAArC,EAAM,YAAN,gBAAAqC,EAAe;AAAA,MAE7B,UAAAF,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACC,MAAMR;AAAA,UACN,SAASE;AAAA,UACT,cAAcC;AAAA,UACd,iBAAiBC;AAAA,UACjB,UAAAnB;AAAA,UACA,UAAAC;AAAA,UACA,UAAAC;AAAA,UACA,YAAAI;AAAA,UACA,cAAAC;AAAA,UACA,cAAAC;AAAA,UACA,aAAAJ;AAAA,UACA,kBAAAC;AAAA,UACA,eAAAF;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;;;"}
package/dist/index.d.ts CHANGED
@@ -32,6 +32,7 @@ export * as TableChartPaginatedPro from './components/charts/tables/TableChartPa
32
32
  export * from './components/charts/tables/tables.utils';
33
33
  export { ChartCard } from './components/charts/shared/ChartCard/ChartCard';
34
34
  export * from './components/component.inputs.constants';
35
+ export * from './components/component.subinputs.constants';
35
36
  export * as ComparisonPeriodSelectFieldPro from './components/editors/ComparisonPeriodSelectFieldPro';
36
37
  export * from './components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils';
37
38
  export * as DateRangeSelectFieldPro from './components/editors/dates/DateRangePickerPresetsPro';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AAGxC,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,cAAc,qCAAqC,CAAC;AAEpD,OAAO,KAAK,iBAAiB,MAAM,4CAA4C,CAAC;AAChF,OAAO,KAAK,2BAA2B,MAAM,sDAAsD,CAAC;AAEpG,OAAO,KAAK,mBAAmB,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,mBAAmB,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,6BAA6B,MAAM,yDAAyD,CAAC;AACzG,cAAc,6FAA6F,CAAC;AAC5G,cAAc,yEAAyE,CAAC;AACxF,cAAc,yEAAyE,CAAC;AAExF,OAAO,KAAK,aAAa,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,WAAW,MAAM,sCAAsC,CAAC;AACpE,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AAEpD,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAC;AACpE,OAAO,KAAK,aAAa,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,gDAAgD,CAAC;AACzF,cAAc,yCAAyC,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,cAAc,yCAAyC,CAAC;AAGxD,OAAO,KAAK,8BAA8B,MAAM,qDAAqD,CAAC;AACtG,cAAc,0FAA0F,CAAC;AACzG,OAAO,KAAK,uBAAuB,MAAM,sDAAsD,CAAC;AAChG,cAAc,sFAAsF,CAAC;AACrG,OAAO,KAAK,mBAAmB,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,oBAAoB,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,mDAAmD,CAAC;AAG/E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AAGxC,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,cAAc,qCAAqC,CAAC;AAEpD,OAAO,KAAK,iBAAiB,MAAM,4CAA4C,CAAC;AAChF,OAAO,KAAK,2BAA2B,MAAM,sDAAsD,CAAC;AAEpG,OAAO,KAAK,mBAAmB,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,mBAAmB,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,6BAA6B,MAAM,yDAAyD,CAAC;AACzG,cAAc,6FAA6F,CAAC;AAC5G,cAAc,yEAAyE,CAAC;AACxF,cAAc,yEAAyE,CAAC;AAExF,OAAO,KAAK,aAAa,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,WAAW,MAAM,sCAAsC,CAAC;AACpE,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AAEpD,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAC;AACpE,OAAO,KAAK,aAAa,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,gDAAgD,CAAC;AACzF,cAAc,yCAAyC,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,cAAc,yCAAyC,CAAC;AACxD,cAAc,4CAA4C,CAAC;AAG3D,OAAO,KAAK,8BAA8B,MAAM,qDAAqD,CAAC;AACtG,cAAc,0FAA0F,CAAC;AACzG,OAAO,KAAK,uBAAuB,MAAM,sDAAsD,CAAC;AAChG,cAAc,sFAAsF,CAAC;AACrG,OAAO,KAAK,mBAAmB,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,oBAAoB,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,mDAAmD,CAAC;AAG/E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -1,84 +1,87 @@
1
1
  import { g as o } from "./object.utils-D_Zzon-H.js";
2
- import { C as t, i, a as s, b as p, r as m } from "./component.inputs.constants-FaX3B1CO.js";
3
- import { r as C } from "./charts.utils-Bq6c6ccK.js";
4
- import { g as l } from "./formatter.utils-IGbSBsIu.js";
5
- import { i as g } from "./index-BKcWHLSf.js";
6
- import { i as x } from "./index-B15C4kTf.js";
7
- import { i as b } from "./index-DNXqnRoE.js";
8
- import { i as D } from "./index-oK1pn0Vk.js";
9
- import { i as c } from "./index-CR69kGQc.js";
10
- import { i as B } from "./index-BDPQ_c46.js";
11
- import { a as O, b as F, g as H } from "./bars.utils-D12lq8bm.js";
12
- import { i as k } from "./index-DLCspqkx.js";
13
- import { i as z } from "./index-CQZhGtUT.js";
14
- import { i as K, g as M, a as R } from "./index-BjaJdNzu.js";
15
- import { i as E, g as N, a as j } from "./index-CwiND2Ct.js";
16
- import { i as I, g as V, a as W } from "./index-DdeFtB5C.js";
17
- import { i as J } from "./index-DRIH3L5J.js";
18
- import { i as U } from "./index-CdjbmThq.js";
19
- import { i as Y } from "./index-BNFqHQr3.js";
20
- import { g as _, a as $ } from "./pies.utils-C5DxeS68.js";
21
- import { i as ar } from "./index-BiTSd5Wd.js";
22
- import { i as er } from "./index-Dhj9KjfQ.js";
23
- import { i as ir, g as sr, a as pr, b as mr, c as Pr } from "./index-hHVOyy6e.js";
24
- import { C as nr } from "./ChartCard-BEIVgW77.js";
25
- import { i as fr, g as gr, a as hr } from "./index-_fEx7Sbh.js";
26
- import { i as dr, g as br } from "./index-EAQjfjEJ.js";
27
- import { i as Dr } from "./index-BzF8GFHy.js";
28
- import { i as cr } from "./index-RHaWI3AH.js";
29
- import { E as Br } from "./EditorCard-NEIuygkP.js";
30
- import { i as Or, s as Fr } from "./color.utils-BSg_DFOh.js";
2
+ import { C as t, d as s, i, a as p, b as m, r as n, s as P, t as C } from "./component.inputs.constants-CpWMPDsp.js";
3
+ import { r as f } from "./charts.utils-nkrr8Yy8.js";
4
+ import { g as h } from "./formatter.utils-DPI9zC1z.js";
5
+ import { i as d } from "./index-BBmMB5DD.js";
6
+ import { i as b } from "./index-CSH6Tke5.js";
7
+ import { i as S } from "./index-hmfJGJBH.js";
8
+ import { i as L } from "./index-1Pthtw-F.js";
9
+ import { i as T } from "./index-B0gfoUZP.js";
10
+ import { i as F } from "./index-BTdWqSDj.js";
11
+ import { a as G, b as k, g as I } from "./bars.utils-c9bi5X5n.js";
12
+ import { i as v } from "./index-BQKTtuOl.js";
13
+ import { i as A } from "./index-DjA9mRxV.js";
14
+ import { i as R, g as y, a as E } from "./index-natSwnW-.js";
15
+ import { i as j, g as w, a as V } from "./index-BUnUdDZd.js";
16
+ import { i as q, g as J, a as Q } from "./index-DbQoW48_.js";
17
+ import { i as X } from "./index-CwL7feVe.js";
18
+ import { i as Z } from "./index-BHVaEsvO.js";
19
+ import { i as $ } from "./index-B6Nckx8Z.js";
20
+ import { g as ar, a as or } from "./pies.utils-BO9fuUwj.js";
21
+ import { i as tr } from "./index-z0A1zEtp.js";
22
+ import { i as ir } from "./index-CB5nTme1.js";
23
+ import { i as mr, g as nr, a as Pr, b as Cr, c as lr } from "./index-Dz6llBs_.js";
24
+ import { C as gr } from "./ChartCard-CuGtJlaW.js";
25
+ import { i as xr, g as dr, a as ur } from "./index-DfXkoWel.js";
26
+ import { i as Dr, g as Sr } from "./index-8dPSbeeV.js";
27
+ import { i as Lr } from "./index-WDuZPeli.js";
28
+ import { i as Tr } from "./index-BaSNws-A.js";
29
+ import { E as Fr } from "./EditorCard-CNtTIFGO.js";
30
+ import { i as Gr, s as kr } from "./color.utils-BSg_DFOh.js";
31
31
  export {
32
- D as BarChartDefaultHorizontalPro,
33
- g as BarChartDefaultPro,
34
- B as BarChartGroupedHorizontalPro,
35
- b as BarChartGroupedPro,
36
- c as BarChartStackedHorizontalPro,
37
- x as BarChartStackedPro,
38
- nr as ChartCard,
39
- fr as ComparisonPeriodSelectFieldPro,
32
+ L as BarChartDefaultHorizontalPro,
33
+ d as BarChartDefaultPro,
34
+ F as BarChartGroupedHorizontalPro,
35
+ S as BarChartGroupedPro,
36
+ T as BarChartStackedHorizontalPro,
37
+ b as BarChartStackedPro,
38
+ gr as ChartCard,
39
+ xr as ComparisonPeriodSelectFieldPro,
40
40
  t as ComparisonPeriodType,
41
- dr as DateRangeSelectFieldPro,
42
- J as DonutChartPro,
43
- Y as DonutLabelChartPro,
44
- Br as EditorCard,
45
- ar as HeatMapPro,
46
- z as KpiChartNumberComparisonPro,
47
- k as KpiChartNumberPro,
48
- I as LineChartComparisonDefaultPro,
49
- K as LineChartDefaultPro,
50
- E as LineChartGroupedPro,
51
- Dr as MultiSelectFieldPro,
52
- U as PieChartPro,
53
- er as PivotTablePro,
54
- cr as SingleSelectFieldPro,
55
- ir as TableChartPaginatedPro,
56
- O as getBarChartProData,
57
- F as getBarChartProOptions,
58
- H as getBarStackedChartProData,
59
- gr as getComparisonPeriodSelectFieldProOptions,
60
- br as getDateRangeSelectFieldProOptions,
61
- V as getLineChartComparisonProData,
62
- W as getLineChartComparisonProOptions,
63
- N as getLineChartGroupedProData,
64
- j as getLineChartGroupedProOptions,
65
- M as getLineChartProData,
66
- R as getLineChartProOptions,
41
+ Dr as DateRangeSelectFieldPro,
42
+ X as DonutChartPro,
43
+ $ as DonutLabelChartPro,
44
+ Fr as EditorCard,
45
+ tr as HeatMapPro,
46
+ A as KpiChartNumberComparisonPro,
47
+ v as KpiChartNumberPro,
48
+ q as LineChartComparisonDefaultPro,
49
+ R as LineChartDefaultPro,
50
+ j as LineChartGroupedPro,
51
+ Lr as MultiSelectFieldPro,
52
+ Z as PieChartPro,
53
+ ir as PivotTablePro,
54
+ Tr as SingleSelectFieldPro,
55
+ mr as TableChartPaginatedPro,
56
+ s as dimensionMeasureSubInputs,
57
+ G as getBarChartProData,
58
+ k as getBarChartProOptions,
59
+ I as getBarStackedChartProData,
60
+ dr as getComparisonPeriodSelectFieldProOptions,
61
+ Sr as getDateRangeSelectFieldProOptions,
62
+ J as getLineChartComparisonProData,
63
+ Q as getLineChartComparisonProOptions,
64
+ w as getLineChartGroupedProData,
65
+ V as getLineChartGroupedProOptions,
66
+ y as getLineChartProData,
67
+ E as getLineChartProOptions,
67
68
  o as getObjectStableKey,
68
- _ as getPieChartProData,
69
- $ as getPieChartProOptions,
70
- sr as getTableHeaderAlign,
71
- pr as getTableHeaderMinWidth,
72
- mr as getTableHeaders,
73
- Pr as getTableRows,
74
- l as getThemeFormatter,
69
+ ar as getPieChartProData,
70
+ or as getPieChartProOptions,
71
+ nr as getTableHeaderAlign,
72
+ Pr as getTableHeaderMinWidth,
73
+ Cr as getTableHeaders,
74
+ lr as getTableRows,
75
+ h as getThemeFormatter,
75
76
  i as i18n,
76
- s as i18nSetup,
77
- p as inputs,
78
- Or as isColorValid,
79
- hr as isComparisonPeriodAvailable,
80
- C as remarkableTheme,
81
- m as resolveI18nProps,
82
- Fr as setColorAlpha
77
+ p as i18nSetup,
78
+ m as inputs,
79
+ Gr as isColorValid,
80
+ ur as isComparisonPeriodAvailable,
81
+ f as remarkableTheme,
82
+ n as resolveI18nProps,
83
+ kr as setColorAlpha,
84
+ P as subInputs,
85
+ C as timeDimensionSubInputs
83
86
  };
84
87
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
- import { r as g, g as b } from "./charts.utils-Bq6c6ccK.js";
2
- import { g as u } from "./formatter.utils-IGbSBsIu.js";
1
+ import { r as g, g as b } from "./charts.utils-nkrr8Yy8.js";
2
+ import { g as u } from "./formatter.utils-DPI9zC1z.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-ByiNbaI7.js";
5
- import { i as f } from "./component.inputs.constants-FaX3B1CO.js";
4
+ import { a as C } from "./Color.type.emb-CLYI-rua.js";
5
+ import { i as f } from "./component.inputs.constants-CpWMPDsp.js";
6
6
  const T = (a, o = g) => {
7
7
  const s = u(o);
8
8
  if (!a.data)
@@ -70,4 +70,4 @@ export {
70
70
  w as a,
71
71
  T as g
72
72
  };
73
- //# sourceMappingURL=pies.utils-C5DxeS68.js.map
73
+ //# sourceMappingURL=pies.utils-BO9fuUwj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pies.utils-C5DxeS68.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-BO9fuUwj.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;"}