@embeddable.com/remarkable-pro 0.3.7 → 0.3.8

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 (44) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +1 -1
  2. package/dist/BarChartDefaultPro.js +1 -1
  3. package/dist/BarChartGroupedHorizontalPro.js +1 -1
  4. package/dist/BarChartGroupedPro.js +1 -1
  5. package/dist/BarChartStackedHorizontalPro.js +1 -1
  6. package/dist/BarChartStackedPro.js +1 -1
  7. package/dist/BarLineChartPro.js +1 -1
  8. package/dist/DonutChartPro.js +1 -1
  9. package/dist/DonutLabelChartPro.js +1 -1
  10. package/dist/PieChartPro.js +1 -1
  11. package/dist/{bars.utils-Bi7mE9CJ.js → bars.utils-CsufVR7j.js} +2 -2
  12. package/dist/{bars.utils-Bi7mE9CJ.js.map → bars.utils-CsufVR7j.js.map} +1 -1
  13. package/dist/{definition-VPzgXkdw.js → definition-B8mXQ9MU.js} +2 -2
  14. package/dist/{definition-VPzgXkdw.js.map → definition-B8mXQ9MU.js.map} +1 -1
  15. package/dist/{definition-RHWt10JN.js → definition-BDqI_0a1.js} +2 -2
  16. package/dist/{definition-RHWt10JN.js.map → definition-BDqI_0a1.js.map} +1 -1
  17. package/dist/{definition-CAjFl--e.js → definition-BkYMMXzW.js} +2 -2
  18. package/dist/{definition-CAjFl--e.js.map → definition-BkYMMXzW.js.map} +1 -1
  19. package/dist/{definition-C9dBnkof.js → definition-CVEFL-6_.js} +2 -2
  20. package/dist/{definition-C9dBnkof.js.map → definition-CVEFL-6_.js.map} +1 -1
  21. package/dist/{definition-CmPgka6x.js → definition-CfAViwzx.js} +2 -2
  22. package/dist/{definition-CmPgka6x.js.map → definition-CfAViwzx.js.map} +1 -1
  23. package/dist/{definition-Cxe578BR.js → definition-ChKlVRtM.js} +2 -2
  24. package/dist/{definition-Cxe578BR.js.map → definition-ChKlVRtM.js.map} +1 -1
  25. package/dist/{definition-DnD69Iuv.js → definition-DP4a1pBF.js} +2 -2
  26. package/dist/{definition-DnD69Iuv.js.map → definition-DP4a1pBF.js.map} +1 -1
  27. package/dist/{definition-B1-nii15.js → definition-DWE6nkLY.js} +2 -2
  28. package/dist/{definition-B1-nii15.js.map → definition-DWE6nkLY.js.map} +1 -1
  29. package/dist/{definition-CJMrnR4k.js → definition-DsJ7KXSG.js} +2 -2
  30. package/dist/{definition-CJMrnR4k.js.map → definition-DsJ7KXSG.js.map} +1 -1
  31. package/dist/{definition-Dkpznjd4.js → definition-k-ot6tpW.js} +2 -2
  32. package/dist/{definition-Dkpznjd4.js.map → definition-k-ot6tpW.js.map} +1 -1
  33. package/dist/embeddable-components.json +52 -52
  34. package/dist/embeddable-theme-0137e.js +21 -1
  35. package/dist/index-3F2_3p7g.js.map +1 -1
  36. package/dist/index.js +13 -13
  37. package/dist/{pies.utils-BugpaUpo.js → pies.utils-DzYnG_XU.js} +2 -2
  38. package/dist/{pies.utils-BugpaUpo.js.map → pies.utils-DzYnG_XU.js.map} +1 -1
  39. package/dist/theme/styles/styles.constants.d.ts +20 -0
  40. package/dist/theme/styles/styles.constants.d.ts.map +1 -1
  41. package/dist/{theme.constants-Q2MoUvbH.js → theme.constants-BiBxPvNY.js} +597 -577
  42. package/dist/theme.constants-BiBxPvNY.js.map +1 -0
  43. package/package.json +2 -2
  44. package/dist/theme.constants-Q2MoUvbH.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"definition-Cxe578BR.js","sources":["../src/components/charts/pies/DonutLabelChartPro/index.tsx","../src/components/charts/pies/DonutLabelChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData, createPieClickHandler } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\nexport type DonutLabelChartProProps = DefaultPieChartProps & {\n innerLabelMeasure: Measure;\n innerLabelText?: string;\n resultsInnerLabel: DataResponse;\n};\n\nconst DonutChartPro = (props: DonutLabelChartProProps) => {\n const theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n i18nSetup(theme);\n\n const {\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n resultsInnerLabel,\n innerLabelMeasure,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { innerLabelText, onSegmentClick } = resolvedI18nProps;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const handleClick = createPieClickHandler({ results, dimension, onClicked: onSegmentClick });\n\n const label = themeFormatter.data(\n innerLabelMeasure,\n resultsInnerLabel?.data?.[0]?.[innerLabelMeasure.name],\n );\n\n const options = mergician(\n getPieChartProOptions({ measure, dimension }, theme),\n theme.charts.donutLabelChartPro?.options ?? {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n <DonutChart\n label={label}\n subLabel={innerLabelText}\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n","import { DataResponse, LoadDataRequest, Measure, Value, loadData } from '@embeddable.com/core';\nimport { PieChartClickArg } from '../pies.types';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'DonutLabelChartPro',\n label: 'Donut Label Chart',\n description:\n 'Same as DonutChartPro with a customizable center text label. Use when the center space can provide a useful summary (e.g. total, label).',\n category: 'Pie Charts',\n defaultHeight: 442,\n defaultWidth: 630,\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n { ...inputs.measure, name: 'innerLabelMeasure', label: 'Inner label measure' },\n {\n ...inputs.string,\n name: 'innerLabelText',\n label: 'Inner label text',\n description: 'Text to display inside the donut chart',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n {\n name: 'dimensionTimeRange',\n label: 'Clicked dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n innerLabelText: 'Total',\n resultsInnerLabel: {\n isLoading: false,\n error: undefined,\n data: [{ users: 500 }],\n },\n innerLabelMeasure: {\n name: 'users',\n title: 'Users',\n nativeType: 'number',\n __type__: 'measure',\n } as Measure,\n showValueLabels: false,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst loadDataResultsInnerLabelArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.innerLabelMeasure],\n});\n\nconst loadDataResultsInnerLabel = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsInnerLabelArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: PieChartClickArg) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n dimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n resultsInnerLabel: loadDataResultsInnerLabel(inputs),\n});\n\nexport const donutLabelChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsInnerLabel: {\n loadDataArgs: loadDataResultsInnerLabelArgs,\n loadData: loadDataResultsInnerLabel,\n },\n} as const;\n"],"names":["DonutChartPro","props","theme","useTheme","themeFormatter","getThemeFormatter","i18nSetup","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","resultsInnerLabel","innerLabelMeasure","resolvedI18nProps","resolveI18nProps","innerLabelText","onSegmentClick","data","getPieChartProData","handleClick","createPieClickHandler","label","_b","_a","options","mergician","getPieChartProOptions","_c","jsx","ChartCard","asChartCardHeaderProps","DonutChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","loadDataResultsInnerLabelArgs","loadDataResultsInnerLabel","events","value","Value","donutLabelChartPro"],"mappings":";;;;;;;;AAkBA,MAAMA,IAAgB,CAACC,MAAmC;;AACxD,QAAMC,IAAQC,EAAA,GACRC,IAAiBC,EAAkBH,CAAK;AAC9C,EAAAI,EAAUJ,CAAK;AAEf,QAAM;AAAA,IACJ,WAAAK;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACEd,GAEEe,IAAoBC,EAAiBhB,CAAK,GAC1C,EAAE,gBAAAiB,GAAgB,gBAAAC,EAAA,IAAmBH,GAErCI,IAAOC;AAAA,IACX,EAAE,MAAMX,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CN;AAAA,EAAA,GAGIoB,IAAcC,EAAsB,EAAE,SAAAb,GAAS,WAAAH,GAAW,WAAWY,GAAgB,GAErFK,IAAQpB,EAAe;AAAA,IAC3BW;AAAA,KACAU,KAAAC,IAAAZ,KAAA,gBAAAA,EAAmB,SAAnB,gBAAAY,EAA0B,OAA1B,gBAAAD,EAA+BV,EAAkB;AAAA,EAAI,GAGjDY,IAAUC;AAAA,IACdC,EAAsB,EAAE,SAAApB,GAAS,WAAAF,EAAA,GAAaL,CAAK;AAAA,MACnD4B,IAAA5B,EAAM,OAAO,uBAAb,gBAAA4B,EAAiC,YAAW,CAAA;AAAA,EAAC;AAG/C,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMtB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACrB,GAAGuB,EAAuBhC,CAAK;AAAA,MAEhC,UAAA8B,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAAV;AAAA,UACA,UAAUN;AAAA,UACV,MAAAE;AAAA,UACA,SAAAO;AAAA,UACA,YAAAhB;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,SAASS;AAAA,QAAA;AAAA,MAAA;AAAA,IACX;AAAA,EAAA;AAGN;;;8CClEMa,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aACE;AAAA,EACF,UAAU;AAAA,EACV,eAAe;AAAA,EACf,cAAc;AAAA,EACd,QAAQ;AAAA,IACNC,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,SAAS,QAAQ,CAAC,GAAGA,EAAO,QAAQ,QAAQC,EAAU,qBAAqB,EAAA;AAAA,IACvFD,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,SAAS,MAAM,qBAAqB,OAAO,sBAAA;AAAA,IACvD;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAAA,EAET,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,QAER;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAEME,IAAgB;AAAA,EACpB,WAAWC,EAAY;AAAA,EACvB,SAASA,EAAY;AAAA,EACrB,SAASA,EAAY;AAAA,EACrB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,IACjB,WAAW;AAAA,IACX,OAAO;AAAA,IACP,MAAM,CAAC,EAAE,OAAO,KAAK;AAAA,EAAA;AAAA,EAEvB,mBAAmB;AAAA,IACjB,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA;AAAA,EAEZ,iBAAiB;AAAA,EACjB,UAAU;AACZ,GAEMC,IAAUC,EAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAACP,OAAkD;AAAA,EAC7E,MAAMA,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,SAASA,EAAO,SAAS;AAC3C,IAEMQ,IAAkB,CAACR,MACvBS,EAASF,EAAoBP,CAAM,CAAC,GAEhCU,IAAgC,CAACV,OAAkD;AAAA,EACvF,MAAMA,EAAO;AAAA,EACb,QAAQ,CAACA,EAAO,iBAAiB;AACnC,IAEMW,IAA4B,CAACX,MACjCS,EAASC,EAA8BV,CAAM,CAAC,GAE1CY,IAAS;AAAA,EACb,gBAAgB,CAACC,OAA6B;AAAA,IAC5C,gBAAgBA,EAAM,kBAAkBC,EAAM,SAAA;AAAA,IAC9C,oBAAoBD,EAAM,sBAAsBC,EAAM,SAAA;AAAA,EAAS;AAEnE,GAEMjD,IAAQ,CAACmC,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,SAASQ,EAAgBR,CAAM;AAAA,EAC/B,mBAAmBW,EAA0BX,CAAM;AACrD,IAEae,KAAqB;AAAA,EAAA,WAChCT;AAAAA,EACA,MAAAP;AAAA,EACA,SAAAK;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAArC;AAAA,IACA,QAAA+C;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcL;AAAA,IACd,UAAUC;AAAA,EAAA;AAAA,EAEZ,mBAAmB;AAAA,IACjB,cAAcE;AAAA,IACd,UAAUC;AAAA,EAAA;AAEd;"}
1
+ {"version":3,"file":"definition-ChKlVRtM.js","sources":["../src/components/charts/pies/DonutLabelChartPro/index.tsx","../src/components/charts/pies/DonutLabelChartPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData, createPieClickHandler } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\nexport type DonutLabelChartProProps = DefaultPieChartProps & {\n innerLabelMeasure: Measure;\n innerLabelText?: string;\n resultsInnerLabel: DataResponse;\n};\n\nconst DonutChartPro = (props: DonutLabelChartProProps) => {\n const theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n i18nSetup(theme);\n\n const {\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n resultsInnerLabel,\n innerLabelMeasure,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { innerLabelText, onSegmentClick } = resolvedI18nProps;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const handleClick = createPieClickHandler({ results, dimension, onClicked: onSegmentClick });\n\n const label = themeFormatter.data(\n innerLabelMeasure,\n resultsInnerLabel?.data?.[0]?.[innerLabelMeasure.name],\n );\n\n const options = mergician(\n getPieChartProOptions({ measure, dimension }, theme),\n theme.charts.donutLabelChartPro?.options ?? {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n <DonutChart\n label={label}\n subLabel={innerLabelText}\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n","import { DataResponse, LoadDataRequest, Measure, Value, loadData } from '@embeddable.com/core';\nimport { PieChartClickArg } from '../pies.types';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\n\nconst meta = {\n name: 'DonutLabelChartPro',\n label: 'Donut Label Chart',\n description:\n 'Same as DonutChartPro with a customizable center text label. Use when the center space can provide a useful summary (e.g. total, label).',\n category: 'Pie Charts',\n defaultHeight: 442,\n defaultWidth: 630,\n inputs: [\n inputs.dataset,\n { ...inputs.measure, inputs: [...inputs.measure.inputs, subInputs.showValueAsPercentage] },\n inputs.dimension,\n { ...inputs.measure, name: 'innerLabelMeasure', label: 'Inner label measure' },\n {\n ...inputs.string,\n name: 'innerLabelText',\n label: 'Inner label text',\n description: 'Text to display inside the donut chart',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.maxLegendItems,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onSegmentClick',\n label: 'A segment is clicked',\n properties: [\n {\n name: 'dimensionValue',\n label: 'Clicked dimension',\n type: 'string',\n },\n {\n name: 'dimensionTimeRange',\n label: 'Clicked dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measure: previewData.measure,\n results: previewData.results1Measure1Dimension,\n innerLabelText: 'Total',\n resultsInnerLabel: {\n isLoading: false,\n error: undefined,\n data: [{ users: 500 }],\n },\n innerLabelMeasure: {\n name: 'users',\n title: 'Users',\n nativeType: 'number',\n __type__: 'measure',\n } as Measure,\n showValueLabels: false,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure, inputs.dimension],\n});\n\nconst loadDataResults = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsArgs(inputs));\n\nconst loadDataResultsInnerLabelArgs = (inputs: Inputs<typeof meta>): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.innerLabelMeasure],\n});\n\nconst loadDataResultsInnerLabel = (inputs: Inputs<typeof meta>): DataResponse =>\n loadData(loadDataResultsInnerLabelArgs(inputs));\n\nconst events = {\n onSegmentClick: (value: PieChartClickArg) => ({\n dimensionValue: value.dimensionValue ?? Value.noFilter(),\n dimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n results: loadDataResults(inputs),\n resultsInnerLabel: loadDataResultsInnerLabel(inputs),\n});\n\nexport const donutLabelChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsInnerLabel: {\n loadDataArgs: loadDataResultsInnerLabelArgs,\n loadData: loadDataResultsInnerLabel,\n },\n} as const;\n"],"names":["DonutChartPro","props","theme","useTheme","themeFormatter","getThemeFormatter","i18nSetup","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","resultsInnerLabel","innerLabelMeasure","resolvedI18nProps","resolveI18nProps","innerLabelText","onSegmentClick","data","getPieChartProData","handleClick","createPieClickHandler","label","_b","_a","options","mergician","getPieChartProOptions","_c","jsx","ChartCard","asChartCardHeaderProps","DonutChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","loadDataResults","loadData","loadDataResultsInnerLabelArgs","loadDataResultsInnerLabel","events","value","Value","donutLabelChartPro"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { m as G, j as m, B as I, V as p, l as F } from "./index-3F2_3p7g.js";
2
2
  import { useTheme as O, definePreview as _ } from "@embeddable.com/react";
3
3
  import { i as W, r as Y } from "./component.utils-oQMZT7TK.js";
4
4
  import { C as E, a as q } from "./ChartCard-DoGFLbS2.js";
5
- import { g as J, a as K } from "./bars.utils-Bi7mE9CJ.js";
5
+ import { g as J, a as K } from "./bars.utils-CsufVR7j.js";
6
6
  import { u as N } from "./charts.fillGaps.hooks-CWY0cZuI.js";
7
7
  import { C as Q, g as U } from "./granularity.utils-D8sR_MWc.js";
8
8
  import { c as X } from "./charts.utils-B-Ryq4Nc.js";
@@ -173,4 +173,4 @@ export {
173
173
  pe as b,
174
174
  ge as i
175
175
  };
176
- //# sourceMappingURL=definition-DnD69Iuv.js.map
176
+ //# sourceMappingURL=definition-DP4a1pBF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-DnD69Iuv.js","sources":["../src/components/charts/bars/BarChartDefaultHorizontalPro/index.tsx","../src/components/charts/bars/BarChartDefaultHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { BarChartBaseProps } from '../bars.types';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type BarChartDefaultHorizontalProProps = BarChartBaseProps & {\n reverseYAxis?: boolean;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n yAxisMaxItems?: number;\n};\n\nconst BarChartDefaultHorizontalPro = (props: BarChartDefaultHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n dimension,\n measures,\n showValueLabels,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n xAxisRangeMax,\n xAxisRangeMin,\n yAxisMaxItems,\n granularity,\n setGranularity,\n onBarClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { description, title, tooltip, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: yAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: true, data, dimension }, theme), // Format X axis based on first measure\n theme.charts?.barChartDefaultHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n horizontal\n data={data}\n options={options}\n reverseYAxis={reverseYAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n xAxisRangeMax={xAxisRangeMax}\n xAxisRangeMin={xAxisRangeMin}\n yAxisLabel={yAxisLabel}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultHorizontalPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartDefaultHorizontalPro',\n label: 'Bar Chart - Default Horizontal',\n description:\n 'Same as BarChartDefaultPro but with horizontal bars. Pick when category labels are long or numerous.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'Y-axis' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.yAxisMaxItems,\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultHorizontalProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n limit: inputs.maxResults,\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartDefaultHorizontalProState,\n (state: BarChartDefaultHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barChartDefaultHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["BarChartDefaultHorizontalPro","props","theme","useTheme","i18nSetup","dimension","measures","showValueLabels","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","xAxisRangeMax","xAxisRangeMin","yAxisMaxItems","granularity","setGranularity","onBarClicked","resolvedI18nProps","resolveI18nProps","description","title","tooltip","xAxisLabel","yAxisLabel","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barChartDefaultHorizontalPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-DP4a1pBF.js","sources":["../src/components/charts/bars/BarChartDefaultHorizontalPro/index.tsx","../src/components/charts/bars/BarChartDefaultHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { BarChartBaseProps } from '../bars.types';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type BarChartDefaultHorizontalProProps = BarChartBaseProps & {\n reverseYAxis?: boolean;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n yAxisMaxItems?: number;\n};\n\nconst BarChartDefaultHorizontalPro = (props: BarChartDefaultHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n dimension,\n measures,\n showValueLabels,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n xAxisRangeMax,\n xAxisRangeMin,\n yAxisMaxItems,\n granularity,\n setGranularity,\n onBarClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { description, title, tooltip, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: yAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: true, data, dimension }, theme), // Format X axis based on first measure\n theme.charts?.barChartDefaultHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n horizontal\n data={data}\n options={options}\n reverseYAxis={reverseYAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n xAxisRangeMax={xAxisRangeMax}\n xAxisRangeMin={xAxisRangeMin}\n yAxisLabel={yAxisLabel}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultHorizontalPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartDefaultHorizontalPro',\n label: 'Bar Chart - Default Horizontal',\n description:\n 'Same as BarChartDefaultPro but with horizontal bars. Pick when category labels are long or numerous.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'Y-axis' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.yAxisMaxItems,\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultHorizontalProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n limit: inputs.maxResults,\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartDefaultHorizontalProState,\n (state: BarChartDefaultHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barChartDefaultHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["BarChartDefaultHorizontalPro","props","theme","useTheme","i18nSetup","dimension","measures","showValueLabels","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","xAxisRangeMax","xAxisRangeMin","yAxisMaxItems","granularity","setGranularity","onBarClicked","resolvedI18nProps","resolveI18nProps","description","title","tooltip","xAxisLabel","yAxisLabel","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barChartDefaultHorizontalPro"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { m as j, j as y, B as F, V as p } from "./index-3F2_3p7g.js";
2
2
  import { useTheme as K, definePreview as _ } from "@embeddable.com/react";
3
3
  import { i as W, r as I } from "./component.utils-oQMZT7TK.js";
4
4
  import { C as E, a as U } from "./ChartCard-DoGFLbS2.js";
5
- import { b as q, c as J } from "./bars.utils-Bi7mE9CJ.js";
5
+ import { b as q, c as J } from "./bars.utils-CsufVR7j.js";
6
6
  import { u as N } from "./charts.fillGaps.hooks-CWY0cZuI.js";
7
7
  import { C as Q, g as X } from "./granularity.utils-D8sR_MWc.js";
8
8
  import { u as Z, g as $, a as ee, l as ie, b as ae } from "./bars.loadData.utils-C0aBNT5b.js";
@@ -231,4 +231,4 @@ export {
231
231
  Te as b,
232
232
  De as i
233
233
  };
234
- //# sourceMappingURL=definition-B1-nii15.js.map
234
+ //# sourceMappingURL=definition-DWE6nkLY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-B1-nii15.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartGroupedHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarStackedChartProData, getBarStackedChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { Dimension } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\nimport { BarChartStackedBaseProps } from '../bars.types';\nimport { createGroupedClickHandler } from '../../charts.utils';\n\nexport type BarChartGroupedHorizontalProProps = BarChartStackedBaseProps & {\n yAxis: Dimension;\n reverseYAxis?: boolean;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n};\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const {\n yAxis,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxisRangeMax,\n xAxisRangeMin,\n granularity,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: yAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarStackedChartProOptions(\n {\n measures: [measure],\n groupDimension: groupBy,\n horizontal: true,\n data,\n dimension: yAxis,\n },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createGroupedClickHandler({\n data,\n dimension: yAxis,\n groupBy,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n onClick={handleClick}\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\n","import { Granularity, OrderDirection, Value } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport {\n getAxisOrderCacheKey,\n getCachedAxisOrder,\n loadDataResultsAxisOrder,\n loadDataResults,\n} from '../bars.loadData.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartStackedProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartGroupedHorizontalPro',\n label: 'Bar Chart - Grouped Horizontal',\n description:\n 'Same as BarChartGroupedPro but with horizontal bars. Pick when category labels are long or numerous.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n { ...inputs.dimension, name: 'groupBy', label: 'Group by' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n { ...inputs.showValueLabels, defaultValue: false },\n inputs.showLogarithmicScale,\n inputs.sortDirectionTopYAxis,\n inputs.limitTopYAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionTimeRange',\n label: 'Clicked grouping dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedHorizontalProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n yAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst events = {\n onBarClicked: (value: BarChartStackedProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n groupingDimensionTimeRange: value.groupingDimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartGroupedHorizontalProState,\n (state: BarChartGroupedHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopYAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopYAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n granularity: state?.granularity,\n axisOrder: cachedAxisOrder,\n axisOrderCacheKey,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n setAxisOrderAndCacheKey: (axisOrder: string[], cacheKey: string) =>\n setState({ ...state, axisOrder, axisOrderCacheKey: cacheKey }),\n resultsAxisOrder: loadDataResultsAxisOrder({\n dataset: inputs.dataset,\n limitTopAxis: inputs.limitTopYAxis,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopYAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartGroupedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","yAxis","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","granularity","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarStackedChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createGroupedClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedHorizontalPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-DWE6nkLY.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx","../src/components/charts/bars/BarChartGroupedHorizontalPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarStackedChartProData, getBarStackedChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { Dimension } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useUpdateAxisOrderAndCacheKey } from '../bars.hooks';\nimport { BarChartStackedBaseProps } from '../bars.types';\nimport { createGroupedClickHandler } from '../../charts.utils';\n\nexport type BarChartGroupedHorizontalProProps = BarChartStackedBaseProps & {\n yAxis: Dimension;\n reverseYAxis?: boolean;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n};\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const {\n yAxis,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxisRangeMax,\n xAxisRangeMin,\n granularity,\n setGranularity,\n onBarClicked,\n axisOrder,\n resultsAxisOrder,\n axisOrderCacheKey,\n setAxisOrderAndCacheKey,\n } = props;\n\n useUpdateAxisOrderAndCacheKey({\n resultsAxisOrder,\n axisDimension: yAxis,\n setAxisOrderAndCacheKey,\n axisOrderCacheKey,\n });\n\n const results = useFillGaps({\n results: props.results,\n dimension: yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results?.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n axisOrder,\n },\n theme,\n );\n\n const options = mergician(\n getBarStackedChartProOptions(\n {\n measures: [measure],\n groupDimension: groupBy,\n horizontal: true,\n data,\n dimension: yAxis,\n },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createGroupedClickHandler({\n data,\n dimension: yAxis,\n groupBy,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results?.error || resultsAxisOrder?.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseYAxis={reverseYAxis}\n xAxisRangeMin={xAxisRangeMin}\n xAxisRangeMax={xAxisRangeMax}\n showTotalLabels={showTotalLabels}\n options={options}\n onClick={handleClick}\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\n","import { Granularity, OrderDirection, Value } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport {\n getAxisOrderCacheKey,\n getCachedAxisOrder,\n loadDataResultsAxisOrder,\n loadDataResults,\n} from '../bars.loadData.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartStackedProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartGroupedHorizontalPro',\n label: 'Bar Chart - Grouped Horizontal',\n description:\n 'Same as BarChartGroupedPro but with horizontal bars. Pick when category labels are long or numerous.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionWithGranularitySelectField, name: 'yAxis', label: 'Y-axis' },\n { ...inputs.dimension, name: 'groupBy', label: 'Group by' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.maxResults,\n inputs.showLegend,\n inputs.showTooltips,\n { ...inputs.showValueLabels, defaultValue: false },\n inputs.showLogarithmicScale,\n inputs.sortDirectionTopYAxis,\n inputs.limitTopYAxis,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseYAxis,\n inputs.xAxisRangeMin,\n inputs.xAxisRangeMax,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n {\n name: 'groupingDimensionValue',\n label: 'Clicked grouping dimension value',\n type: 'string',\n },\n {\n name: 'groupingDimensionTimeRange',\n label: 'Clicked grouping dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartGroupedHorizontalProState = {\n granularity?: Granularity;\n axisOrder?: string[];\n axisOrderCacheKey?: string;\n};\n\nconst previewConfig = {\n yAxis: previewData.dimension,\n groupBy: previewData.dimensionGroup,\n measure: previewData.measure,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst events = {\n onBarClicked: (value: BarChartStackedProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n groupingDimensionValue: value.groupingDimensionValue ?? Value.noFilter(),\n groupingDimensionTimeRange: value.groupingDimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n BarChartGroupedHorizontalProState,\n (state: BarChartGroupedHorizontalProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const yAxisWithGranularity = getDimensionWithGranularity(inputs.yAxis, state?.granularity);\n const sortDirection = inputs.sortDirectionTopYAxis as OrderDirection | undefined;\n const timezone = getClientContextTimezone(clientContext?.timezone);\n\n const axisOrderCacheKey = getAxisOrderCacheKey({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n limit: inputs.limitTopYAxis,\n timezone,\n });\n\n const cachedAxisOrder = getCachedAxisOrder(axisOrderCacheKey, state);\n\n return {\n ...inputs,\n yAxis: yAxisWithGranularity,\n granularity: state?.granularity,\n axisOrder: cachedAxisOrder,\n axisOrderCacheKey,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n setAxisOrderAndCacheKey: (axisOrder: string[], cacheKey: string) =>\n setState({ ...state, axisOrder, axisOrderCacheKey: cacheKey }),\n resultsAxisOrder: loadDataResultsAxisOrder({\n dataset: inputs.dataset,\n limitTopAxis: inputs.limitTopYAxis,\n axis: yAxisWithGranularity,\n measure: inputs.measure,\n sortDirection,\n timezone,\n }),\n results: loadDataResults({\n dataset: inputs.dataset,\n axis: yAxisWithGranularity,\n groupBy: inputs.groupBy,\n measure: inputs.measure,\n sortDirection,\n limitTopAxis: inputs.limitTopYAxis,\n maxResults: inputs.maxResults,\n axisOrder: cachedAxisOrder,\n timezone,\n }),\n };\n};\n\nexport const barChartGroupedHorizontalPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","yAxis","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","granularity","setGranularity","onBarClicked","axisOrder","resultsAxisOrder","axisOrderCacheKey","setAxisOrderAndCacheKey","useUpdateAxisOrderAndCacheKey","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarStackedChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createGroupedClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","events","value","Value","state","setState","clientContext","yAxisWithGranularity","getDimensionWithGranularity","sortDirection","timezone","getClientContextTimezone","getAxisOrderCacheKey","cachedAxisOrder","getCachedAxisOrder","cacheKey","loadDataResultsAxisOrder","loadDataResults","barChartGroupedHorizontalPro"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { g as W } from "./formatter.utils-D8VAiDYp.js";
8
8
  import { g as T } from "./styles.utils-C8CnV0SB.js";
9
9
  import { i as z, s as ue } from "./color.utils-BSg_DFOh.js";
10
10
  import { g as pe, a as Y, b as be } from "./charts.utils-B-Ryq4Nc.js";
11
- import { a as ge } from "./bars.utils-Bi7mE9CJ.js";
11
+ import { a as ge } from "./bars.utils-CsufVR7j.js";
12
12
  import { g as xe } from "./dimension.utils-4qaXsySV.js";
13
13
  import { i as s, s as D } from "./component.inputs.constants-C1gOvjv8.js";
14
14
  import { p as v } from "./preview.data.constants-Cg6C5D3p.js";
@@ -421,4 +421,4 @@ export {
421
421
  ye as g,
422
422
  Ye as i
423
423
  };
424
- //# sourceMappingURL=definition-CJMrnR4k.js.map
424
+ //# sourceMappingURL=definition-DsJ7KXSG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-CJMrnR4k.js","sources":["../src/components/charts/combo/BarLineChartPro/BarLineChartPro.utils.ts","../src/components/charts/combo/BarLineChartPro/index.tsx","../src/components/charts/combo/BarLineChartPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { mergician } from 'mergician';\nimport type { ChartClickArgs } from '@embeddable.com/remarkable-ui';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport {\n getDatalabelPercentage,\n getDimensionWithoutTruncation,\n groupTailAsOther,\n} from '../../charts.utils';\nimport { getBarChartProOptions } from '../../bars/bars.utils';\nimport { getTimeRangeFromDimensionValue } from '../../../utils/dimension.utils';\nimport { BarLineChartProClickArg } from '../combo.types';\n\nexport const getBarLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n barMeasures: Measure[];\n lineMeasures: Measure[];\n maxItems?: number;\n showSecondaryAxis: boolean;\n },\n theme: Theme,\n): ChartData<'bar'> => {\n if (!props.data) {\n return { labels: [], datasets: [{ data: [] }] };\n }\n\n const { data, dimension, barMeasures, lineMeasures, maxItems, showSecondaryAxis } = props;\n const measures = [...barMeasures, ...lineMeasures];\n const groupedData = groupTailAsOther(data, dimension, measures, maxItems);\n const themeFormatter = getThemeFormatter(theme);\n const chartColors = getChartColors();\n\n const labels = groupedData.map((item) => item[dimension.name]);\n\n const barDatasets = barMeasures.map((measure, index) => ({\n order: 1,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: groupedData.map((item) => item[measure.name] ?? 0),\n backgroundColor: getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n index,\n chartColors,\n }),\n borderColor: getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n index,\n chartColors,\n }),\n }));\n\n const lineDatasets = lineMeasures.map((measure, index) => {\n const colorIndex = barMeasures.length + index;\n const lineColor = measure.inputs?.['lineColor'];\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n index: colorIndex,\n chartColors,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n index: colorIndex,\n chartColors,\n });\n\n return {\n type: 'line' as const,\n order: 0,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null)),\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderColor,\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 fill: Boolean(measure.inputs?.['fillUnderLine']),\n yAxisID: showSecondaryAxis && Boolean(measure.inputs?.['useSecondaryAxis']) ? 'y1' : 'y',\n };\n });\n\n return {\n labels,\n datasets: [...barDatasets, ...lineDatasets] as ChartData<'bar'>['datasets'],\n };\n};\n\nexport const getBarLineChartProOptions = (\n options: {\n barMeasures: Measure[];\n lineMeasures: Measure[];\n dimension: Dimension;\n data: ChartData<'bar'>;\n showSecondaryAxis: boolean;\n showValueLabels?: boolean;\n showValueLabelsLine?: boolean;\n yAxisSecondaryLabel?: string;\n yAxisSecondaryMin?: number;\n yAxisSecondaryMax?: number;\n },\n theme: Theme,\n): Partial<ChartOptions<'bar'>> => {\n const {\n barMeasures,\n lineMeasures,\n dimension,\n data,\n showSecondaryAxis,\n showValueLabels,\n showValueLabelsLine,\n yAxisSecondaryLabel,\n yAxisSecondaryMin,\n yAxisSecondaryMax,\n } = options;\n\n const measures = [...barMeasures, ...lineMeasures];\n const themeFormatter = getThemeFormatter(theme);\n\n const baseOptions = getBarChartProOptions(\n { measures: barMeasures, horizontal: false, data, dimension },\n theme,\n );\n\n const datalabelsOptions: Partial<ChartOptions<'bar'>> = {\n plugins: {\n datalabels: {\n display: (context) => {\n const isLineSeries = context.datasetIndex >= barMeasures.length;\n const show = isLineSeries ? showValueLabelsLine : showValueLabels;\n return show && context.dataset.data[context.dataIndex] !== 0 ? 'auto' : false;\n },\n labels: {\n value: {\n formatter: (value, context) => {\n const measure = measures[context.datasetIndex];\n if (!measure) return value;\n if (measure.inputs?.showValueAsPercentage) {\n return getDatalabelPercentage(\n Number(value),\n context.dataset.data,\n measure.inputs?.decimalPlaces,\n );\n }\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n },\n };\n\n const tooltipOptions: Partial<ChartOptions<'bar'>> = {\n plugins: {\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(getDimensionWithoutTruncation(dimension), label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex];\n if (!measure) return '';\n const raw = context.raw as number;\n const formatted = themeFormatter.data(measure, raw);\n const percentage = measure.inputs?.showValueAsPercentage\n ? ` (${getDatalabelPercentage(raw, context.dataset.data, measure.inputs?.decimalPlaces)})`\n : '';\n return `${context.dataset.label}: ${formatted}${percentage}`;\n },\n },\n },\n },\n };\n\n const interactionOptions: Partial<ChartOptions<'bar'>> = {\n interaction: {\n mode: 'index',\n intersect: false,\n },\n };\n\n const secondaryAxisOptions: Partial<ChartOptions<'bar'>> = showSecondaryAxis\n ? {\n scales: {\n y1: {\n type: 'linear',\n position: 'right',\n min: yAxisSecondaryMin,\n max: yAxisSecondaryMax,\n title: {\n display: Boolean(yAxisSecondaryLabel),\n text: yAxisSecondaryLabel ?? '',\n },\n grid: { drawOnChartArea: false },\n ticks: {\n callback: (value) => {\n const firstLineMeasure = lineMeasures[0];\n if (!firstLineMeasure) return value;\n return themeFormatter.data(firstLineMeasure, value);\n },\n },\n },\n },\n }\n : {};\n\n return mergician(\n baseOptions,\n datalabelsOptions,\n tooltipOptions,\n interactionOptions,\n secondaryAxisOptions,\n theme.charts?.barLineChartPro?.options ?? {},\n );\n};\n\nexport const createBarLineClickHandler = ({\n data,\n dimension,\n granularity,\n barMeasures,\n onBarClicked,\n onLineClicked,\n}: {\n data: ChartData;\n dimension: Dimension;\n granularity?: Granularity;\n barMeasures: Measure[];\n onBarClicked?: (args: BarLineChartProClickArg) => void;\n onLineClicked?: (args: BarLineChartProClickArg) => void;\n}): ((args: ChartClickArgs) => void) => {\n return ({ elementAtEvent }) => {\n const element = elementAtEvent[0];\n if (!element) return;\n\n const dimensionValue = data?.labels?.[element.index] as string | undefined;\n const dimensionTimeRange = getTimeRangeFromDimensionValue({\n value: dimensionValue,\n stateGranularity: granularity,\n dimension,\n });\n const clickArg: BarLineChartProClickArg = { dimensionValue, dimensionTimeRange };\n\n if (element.datasetIndex < barMeasures.length) {\n onBarClicked?.(clickArg);\n } else {\n onLineClicked?.(clickArg);\n }\n };\n};\n","import { Chart as ChartJS, LineController, LineElement, PointElement } from 'chart.js';\nimport { useTheme } from '@embeddable.com/react';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarLineChartProProps } from '../combo.types';\nimport {\n createBarLineClickHandler,\n getBarLineChartProData,\n getBarLineChartProOptions,\n} from './BarLineChartPro.utils';\n\nChartJS.register(LineController, LineElement, PointElement);\n\nconst BarLineChartPro = (props: BarLineChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n lineMeasures = [],\n xAxisMaxItems,\n yAxisRangeMin,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n showValueLabelsLine,\n yAxisSecondaryLabel,\n yAxisSecondaryMin,\n yAxisSecondaryMax,\n reverseXAxis,\n dimension,\n granularity,\n setGranularity,\n onBarClicked,\n onLineClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const showSecondaryAxis = lineMeasures.some((m) => Boolean(m.inputs?.['useSecondaryAxis']));\n\n const results = useFillGaps({ results: props.results, dimension });\n\n const data = getBarLineChartProData(\n {\n data: results.data,\n dimension,\n barMeasures: measures,\n lineMeasures,\n maxItems: xAxisMaxItems,\n showSecondaryAxis,\n },\n theme,\n );\n\n const options = getBarLineChartProOptions(\n {\n barMeasures: measures,\n lineMeasures,\n dimension,\n data,\n showSecondaryAxis,\n showValueLabels,\n showValueLabelsLine,\n yAxisSecondaryLabel,\n yAxisSecondaryMin,\n yAxisSecondaryMax,\n },\n theme,\n );\n\n const handleClick = createBarLineClickHandler({\n data,\n dimension,\n granularity,\n barMeasures: measures,\n onBarClicked,\n onLineClicked,\n });\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures, ...lineMeasures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels || showValueLabelsLine}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarLineChartPro;\nexport type { BarLineChartProProps };\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarLineChartProClickArg } from '../combo.types';\n\nconst meta = {\n name: 'BarLineChartPro',\n label: 'Bar + Line Chart',\n category: 'Combo Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n label: 'Bar measures',\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n {\n ...inputs.measures,\n name: 'lineMeasures',\n label: 'Line measures',\n required: false,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.color, name: 'lineColor', label: 'Line color' },\n { ...subInputs.boolean, name: 'dashedLine', label: 'Dashed line', defaultValue: false },\n { ...subInputs.boolean, name: 'connectGaps', label: 'Connect gaps', defaultValue: true },\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n { ...subInputs.boolean, name: 'useSecondaryAxis', label: 'Assign to secondary axis' },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n { ...inputs.showValueLabels, name: 'showValueLabelsLine', label: 'Show value labels - line' },\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.reverseXAxis,\n inputs.xAxisMaxItems,\n {\n ...inputs.yAxisLabel,\n name: 'yAxisSecondaryLabel',\n label: 'Secondary Y-axis label',\n description: 'Label for the right-hand Y-axis used by line series.',\n },\n {\n ...inputs.yAxisRangeMin,\n name: 'yAxisSecondaryMin',\n label: 'Secondary Y-axis min',\n description: 'Minimum value for the right-hand Y-axis used by line series.',\n },\n {\n ...inputs.yAxisRangeMax,\n name: 'yAxisSecondaryMax',\n label: 'Secondary Y-axis max',\n description: 'Maximum value for the right-hand Y-axis used by line series.',\n },\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n { name: 'axisDimensionValue', label: 'Clicked axis dimension value', type: 'string' },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n { name: 'axisDimensionValue', label: 'Clicked axis dimension value', type: 'string' },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarLineChartProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n lineMeasures: [previewData.measureVariant],\n results: previewData.results2Measures1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [\n ...(inputs.measures ?? []),\n ...(inputs.lineMeasures ?? []),\n dimension ?? inputs.dimension,\n ],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarLineChartProClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n onLineClicked: (value: BarLineChartProClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarLineChartProState, (state: BarLineChartProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barLineChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getBarLineChartProData","props","theme","data","dimension","barMeasures","lineMeasures","maxItems","showSecondaryAxis","measures","groupedData","groupTailAsOther","themeFormatter","getThemeFormatter","chartColors","getChartColors","labels","item","barDatasets","measure","index","getDimensionMeasureColor","lineDatasets","colorIndex","lineColor","_a","zeroFill","_b","backgroundColor","isColorValid","borderColor","setColorAlpha","_c","getStyleNumber","_d","_e","getBarLineChartProOptions","options","showValueLabels","showValueLabelsLine","yAxisSecondaryLabel","yAxisSecondaryMin","yAxisSecondaryMax","baseOptions","getBarChartProOptions","mergician","context","value","getDatalabelPercentage","label","getDimensionWithoutTruncation","raw","formatted","percentage","firstLineMeasure","createBarLineClickHandler","granularity","onBarClicked","onLineClicked","elementAtEvent","element","dimensionValue","dimensionTimeRange","getTimeRangeFromDimensionValue","clickArg","ChartJS","LineController","LineElement","PointElement","BarLineChartPro","useTheme","i18nSetup","xAxisMaxItems","yAxisRangeMin","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","reverseXAxis","setGranularity","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","m","results","useFillGaps","handleClick","granularitySelectorHasMarginTop","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barLineChartPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-DsJ7KXSG.js","sources":["../src/components/charts/combo/BarLineChartPro/BarLineChartPro.utils.ts","../src/components/charts/combo/BarLineChartPro/index.tsx","../src/components/charts/combo/BarLineChartPro/definition.ts"],"sourcesContent":["import { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { mergician } from 'mergician';\nimport type { ChartClickArgs } from '@embeddable.com/remarkable-ui';\nimport { getChartColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getDimensionMeasureColor } from '../../../../theme/styles/styles.utils';\nimport { isColorValid, setColorAlpha } from '../../../../utils/color.utils';\nimport {\n getDatalabelPercentage,\n getDimensionWithoutTruncation,\n groupTailAsOther,\n} from '../../charts.utils';\nimport { getBarChartProOptions } from '../../bars/bars.utils';\nimport { getTimeRangeFromDimensionValue } from '../../../utils/dimension.utils';\nimport { BarLineChartProClickArg } from '../combo.types';\n\nexport const getBarLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n barMeasures: Measure[];\n lineMeasures: Measure[];\n maxItems?: number;\n showSecondaryAxis: boolean;\n },\n theme: Theme,\n): ChartData<'bar'> => {\n if (!props.data) {\n return { labels: [], datasets: [{ data: [] }] };\n }\n\n const { data, dimension, barMeasures, lineMeasures, maxItems, showSecondaryAxis } = props;\n const measures = [...barMeasures, ...lineMeasures];\n const groupedData = groupTailAsOther(data, dimension, measures, maxItems);\n const themeFormatter = getThemeFormatter(theme);\n const chartColors = getChartColors();\n\n const labels = groupedData.map((item) => item[dimension.name]);\n\n const barDatasets = barMeasures.map((measure, index) => ({\n order: 1,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: groupedData.map((item) => item[measure.name] ?? 0),\n backgroundColor: getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n index,\n chartColors,\n }),\n borderColor: getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n index,\n chartColors,\n }),\n }));\n\n const lineDatasets = lineMeasures.map((measure, index) => {\n const colorIndex = barMeasures.length + index;\n const lineColor = measure.inputs?.['lineColor'];\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'background',\n value: measure.name,\n index: colorIndex,\n chartColors,\n });\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getDimensionMeasureColor({\n dimensionOrMeasure: measure,\n theme,\n color: 'border',\n value: measure.name,\n index: colorIndex,\n chartColors,\n });\n\n return {\n type: 'line' as const,\n order: 0,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null)),\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderColor,\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 fill: Boolean(measure.inputs?.['fillUnderLine']),\n yAxisID: showSecondaryAxis && Boolean(measure.inputs?.['useSecondaryAxis']) ? 'y1' : 'y',\n };\n });\n\n return {\n labels,\n datasets: [...barDatasets, ...lineDatasets] as ChartData<'bar'>['datasets'],\n };\n};\n\nexport const getBarLineChartProOptions = (\n options: {\n barMeasures: Measure[];\n lineMeasures: Measure[];\n dimension: Dimension;\n data: ChartData<'bar'>;\n showSecondaryAxis: boolean;\n showValueLabels?: boolean;\n showValueLabelsLine?: boolean;\n yAxisSecondaryLabel?: string;\n yAxisSecondaryMin?: number;\n yAxisSecondaryMax?: number;\n },\n theme: Theme,\n): Partial<ChartOptions<'bar'>> => {\n const {\n barMeasures,\n lineMeasures,\n dimension,\n data,\n showSecondaryAxis,\n showValueLabels,\n showValueLabelsLine,\n yAxisSecondaryLabel,\n yAxisSecondaryMin,\n yAxisSecondaryMax,\n } = options;\n\n const measures = [...barMeasures, ...lineMeasures];\n const themeFormatter = getThemeFormatter(theme);\n\n const baseOptions = getBarChartProOptions(\n { measures: barMeasures, horizontal: false, data, dimension },\n theme,\n );\n\n const datalabelsOptions: Partial<ChartOptions<'bar'>> = {\n plugins: {\n datalabels: {\n display: (context) => {\n const isLineSeries = context.datasetIndex >= barMeasures.length;\n const show = isLineSeries ? showValueLabelsLine : showValueLabels;\n return show && context.dataset.data[context.dataIndex] !== 0 ? 'auto' : false;\n },\n labels: {\n value: {\n formatter: (value, context) => {\n const measure = measures[context.datasetIndex];\n if (!measure) return value;\n if (measure.inputs?.showValueAsPercentage) {\n return getDatalabelPercentage(\n Number(value),\n context.dataset.data,\n measure.inputs?.decimalPlaces,\n );\n }\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n },\n };\n\n const tooltipOptions: Partial<ChartOptions<'bar'>> = {\n plugins: {\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(getDimensionWithoutTruncation(dimension), label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex];\n if (!measure) return '';\n const raw = context.raw as number;\n const formatted = themeFormatter.data(measure, raw);\n const percentage = measure.inputs?.showValueAsPercentage\n ? ` (${getDatalabelPercentage(raw, context.dataset.data, measure.inputs?.decimalPlaces)})`\n : '';\n return `${context.dataset.label}: ${formatted}${percentage}`;\n },\n },\n },\n },\n };\n\n const interactionOptions: Partial<ChartOptions<'bar'>> = {\n interaction: {\n mode: 'index',\n intersect: false,\n },\n };\n\n const secondaryAxisOptions: Partial<ChartOptions<'bar'>> = showSecondaryAxis\n ? {\n scales: {\n y1: {\n type: 'linear',\n position: 'right',\n min: yAxisSecondaryMin,\n max: yAxisSecondaryMax,\n title: {\n display: Boolean(yAxisSecondaryLabel),\n text: yAxisSecondaryLabel ?? '',\n },\n grid: { drawOnChartArea: false },\n ticks: {\n callback: (value) => {\n const firstLineMeasure = lineMeasures[0];\n if (!firstLineMeasure) return value;\n return themeFormatter.data(firstLineMeasure, value);\n },\n },\n },\n },\n }\n : {};\n\n return mergician(\n baseOptions,\n datalabelsOptions,\n tooltipOptions,\n interactionOptions,\n secondaryAxisOptions,\n theme.charts?.barLineChartPro?.options ?? {},\n );\n};\n\nexport const createBarLineClickHandler = ({\n data,\n dimension,\n granularity,\n barMeasures,\n onBarClicked,\n onLineClicked,\n}: {\n data: ChartData;\n dimension: Dimension;\n granularity?: Granularity;\n barMeasures: Measure[];\n onBarClicked?: (args: BarLineChartProClickArg) => void;\n onLineClicked?: (args: BarLineChartProClickArg) => void;\n}): ((args: ChartClickArgs) => void) => {\n return ({ elementAtEvent }) => {\n const element = elementAtEvent[0];\n if (!element) return;\n\n const dimensionValue = data?.labels?.[element.index] as string | undefined;\n const dimensionTimeRange = getTimeRangeFromDimensionValue({\n value: dimensionValue,\n stateGranularity: granularity,\n dimension,\n });\n const clickArg: BarLineChartProClickArg = { dimensionValue, dimensionTimeRange };\n\n if (element.datasetIndex < barMeasures.length) {\n onBarClicked?.(clickArg);\n } else {\n onLineClicked?.(clickArg);\n }\n };\n};\n","import { Chart as ChartJS, LineController, LineElement, PointElement } from 'chart.js';\nimport { useTheme } from '@embeddable.com/react';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarLineChartProProps } from '../combo.types';\nimport {\n createBarLineClickHandler,\n getBarLineChartProData,\n getBarLineChartProOptions,\n} from './BarLineChartPro.utils';\n\nChartJS.register(LineController, LineElement, PointElement);\n\nconst BarLineChartPro = (props: BarLineChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n lineMeasures = [],\n xAxisMaxItems,\n yAxisRangeMin,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n showValueLabelsLine,\n yAxisSecondaryLabel,\n yAxisSecondaryMin,\n yAxisSecondaryMax,\n reverseXAxis,\n dimension,\n granularity,\n setGranularity,\n onBarClicked,\n onLineClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const showSecondaryAxis = lineMeasures.some((m) => Boolean(m.inputs?.['useSecondaryAxis']));\n\n const results = useFillGaps({ results: props.results, dimension });\n\n const data = getBarLineChartProData(\n {\n data: results.data,\n dimension,\n barMeasures: measures,\n lineMeasures,\n maxItems: xAxisMaxItems,\n showSecondaryAxis,\n },\n theme,\n );\n\n const options = getBarLineChartProOptions(\n {\n barMeasures: measures,\n lineMeasures,\n dimension,\n data,\n showSecondaryAxis,\n showValueLabels,\n showValueLabelsLine,\n yAxisSecondaryLabel,\n yAxisSecondaryMin,\n yAxisSecondaryMax,\n },\n theme,\n );\n\n const handleClick = createBarLineClickHandler({\n data,\n dimension,\n granularity,\n barMeasures: measures,\n onBarClicked,\n onLineClicked,\n });\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures, ...lineMeasures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels || showValueLabelsLine}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarLineChartPro;\nexport type { BarLineChartProProps };\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarLineChartProClickArg } from '../combo.types';\n\nconst meta = {\n name: 'BarLineChartPro',\n label: 'Bar + Line Chart',\n category: 'Combo Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n label: 'Bar measures',\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n {\n ...inputs.measures,\n name: 'lineMeasures',\n label: 'Line measures',\n required: false,\n inputs: [\n ...inputs.measures.inputs,\n { ...subInputs.color, name: 'lineColor', label: 'Line color' },\n { ...subInputs.boolean, name: 'dashedLine', label: 'Dashed line', defaultValue: false },\n { ...subInputs.boolean, name: 'connectGaps', label: 'Connect gaps', defaultValue: true },\n { ...subInputs.boolean, name: 'fillUnderLine', label: 'Fill under line' },\n { ...subInputs.boolean, name: 'useSecondaryAxis', label: 'Assign to secondary axis' },\n ],\n },\n { ...inputs.dimensionWithGranularitySelectField, label: 'X-axis' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n { ...inputs.showValueLabels, name: 'showValueLabelsLine', label: 'Show value labels - line' },\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.reverseXAxis,\n inputs.xAxisMaxItems,\n {\n ...inputs.yAxisLabel,\n name: 'yAxisSecondaryLabel',\n label: 'Secondary Y-axis label',\n description: 'Label for the right-hand Y-axis used by line series.',\n },\n {\n ...inputs.yAxisRangeMin,\n name: 'yAxisSecondaryMin',\n label: 'Secondary Y-axis min',\n description: 'Minimum value for the right-hand Y-axis used by line series.',\n },\n {\n ...inputs.yAxisRangeMax,\n name: 'yAxisSecondaryMax',\n label: 'Secondary Y-axis max',\n description: 'Maximum value for the right-hand Y-axis used by line series.',\n },\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n { name: 'axisDimensionValue', label: 'Clicked axis dimension value', type: 'string' },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n { name: 'axisDimensionValue', label: 'Clicked axis dimension value', type: 'string' },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarLineChartProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n lineMeasures: [previewData.measureVariant],\n results: previewData.results2Measures1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [\n ...(inputs.measures ?? []),\n ...(inputs.lineMeasures ?? []),\n dimension ?? inputs.dimension,\n ],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarLineChartProClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n onLineClicked: (value: BarLineChartProClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarLineChartProState, (state: BarLineChartProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barLineChartPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["getBarLineChartProData","props","theme","data","dimension","barMeasures","lineMeasures","maxItems","showSecondaryAxis","measures","groupedData","groupTailAsOther","themeFormatter","getThemeFormatter","chartColors","getChartColors","labels","item","barDatasets","measure","index","getDimensionMeasureColor","lineDatasets","colorIndex","lineColor","_a","zeroFill","_b","backgroundColor","isColorValid","borderColor","setColorAlpha","_c","getStyleNumber","_d","_e","getBarLineChartProOptions","options","showValueLabels","showValueLabelsLine","yAxisSecondaryLabel","yAxisSecondaryMin","yAxisSecondaryMax","baseOptions","getBarChartProOptions","mergician","context","value","getDatalabelPercentage","label","getDimensionWithoutTruncation","raw","formatted","percentage","firstLineMeasure","createBarLineClickHandler","granularity","onBarClicked","onLineClicked","elementAtEvent","element","dimensionValue","dimensionTimeRange","getTimeRangeFromDimensionValue","clickArg","ChartJS","LineController","LineElement","PointElement","BarLineChartPro","useTheme","i18nSetup","xAxisMaxItems","yAxisRangeMin","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","reverseXAxis","setGranularity","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","m","results","useFillGaps","handleClick","granularitySelectorHasMarginTop","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barLineChartPro"],"mappings":";;;;;;;;;;;;;;;AAkBO,MAAMA,KAAyB,CACpCC,GAQAC,MACqB;AACrB,MAAI,CAACD,EAAM;AACT,WAAO,EAAE,QAAQ,IAAI,UAAU,CAAC,EAAE,MAAM,CAAA,EAAC,CAAG,EAAA;AAG9C,QAAM,EAAE,MAAAE,GAAM,WAAAC,GAAW,aAAAC,GAAa,cAAAC,GAAc,UAAAC,GAAU,mBAAAC,MAAsBP,GAC9EQ,IAAW,CAAC,GAAGJ,GAAa,GAAGC,CAAY,GAC3CI,IAAcC,GAAiBR,GAAMC,GAAWK,GAAUF,CAAQ,GAClEK,IAAiBC,EAAkBX,CAAK,GACxCY,IAAcC,EAAA,GAEdC,IAASN,EAAY,IAAI,CAACO,MAASA,EAAKb,EAAU,IAAI,CAAC,GAEvDc,IAAcb,EAAY,IAAI,CAACc,GAASC,OAAW;AAAA,IACvD,OAAO;AAAA,IACP,OAAOR,EAAe,wBAAwBO,CAAO;AAAA,IACrD,MAAMT,EAAY,IAAI,CAACO,MAASA,EAAKE,EAAQ,IAAI,KAAK,CAAC;AAAA,IACvD,iBAAiBE,EAAyB;AAAA,MACxC,oBAAoBF;AAAA,MACpB,OAAAjB;AAAA,MACA,OAAO;AAAA,MACP,OAAOiB,EAAQ;AAAA,MACf,OAAAC;AAAA,MACA,aAAAN;AAAA,IAAA,CACD;AAAA,IACD,aAAaO,EAAyB;AAAA,MACpC,oBAAoBF;AAAA,MACpB,OAAAjB;AAAA,MACA,OAAO;AAAA,MACP,OAAOiB,EAAQ;AAAA,MACf,OAAAC;AAAA,MACA,aAAAN;AAAA,IAAA,CACD;AAAA,EAAA,EACD,GAEIQ,IAAehB,EAAa,IAAI,CAACa,GAASC,MAAU;;AACxD,UAAMG,IAAalB,EAAY,SAASe,GAClCI,KAAYC,IAAAN,EAAQ,WAAR,gBAAAM,EAAiB,WAC7BC,IAAW,IAAQC,IAAAR,EAAQ,WAAR,QAAAQ,EAAiB,cAEpCC,IAAkBC,EAAaL,CAAS,IAC1CA,IACAH,EAAyB;AAAA,MACvB,oBAAoBF;AAAA,MACpB,OAAAjB;AAAA,MACA,OAAO;AAAA,MACP,OAAOiB,EAAQ;AAAA,MACf,OAAOI;AAAA,MACP,aAAAT;AAAA,IAAA,CACD,GAECgB,IAAcD,EAAaL,CAAS,IACtCA,IACAH,EAAyB;AAAA,MACvB,oBAAoBF;AAAA,MACpB,OAAAjB;AAAA,MACA,OAAO;AAAA,MACP,OAAOiB,EAAQ;AAAA,MACf,OAAOI;AAAA,MACP,aAAAT;AAAA,IAAA,CACD;AAEL,WAAO;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,OAAOF,EAAe,wBAAwBO,CAAO;AAAA,MACrD,MAAMT,EAAY,IAAI,CAACO,MAASA,EAAKE,EAAQ,IAAI,MAAMO,IAAW,IAAI,KAAK;AAAA,MAC3E,iBAAiBK,GAAcH,GAAiB,GAAG;AAAA,MACnD,sBAAsBA;AAAA,MACtB,aAAAE;AAAA,MACA,aAAYE,IAAAb,EAAQ,WAAR,QAAAa,EAAiB,aACzB;AAAA,QACEC,EAAe,4BAA4B,SAAS;AAAA,QACpDA,EAAe,2BAA2B,SAAS;AAAA,MAAA,IAErD;AAAA,MACJ,MAAM,IAAQC,IAAAf,EAAQ,WAAR,QAAAe,EAAiB;AAAA,MAC/B,SAAS1B,OAA6B2B,IAAAhB,EAAQ,WAAR,QAAAgB,EAAiB,oBAAuB,OAAO;AAAA,IAAA;AAAA,EAEzF,CAAC;AAED,SAAO;AAAA,IACL,QAAAnB;AAAA,IACA,UAAU,CAAC,GAAGE,GAAa,GAAGI,CAAY;AAAA,EAAA;AAE9C,GAEac,KAA4B,CACvCC,GAYAnC,MACiC;;AACjC,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,cAAAC;AAAA,IACA,WAAAF;AAAA,IACA,MAAAD;AAAA,IACA,mBAAAK;AAAA,IACA,iBAAA8B;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACEL,GAEE5B,IAAW,CAAC,GAAGJ,GAAa,GAAGC,CAAY,GAC3CM,IAAiBC,EAAkBX,CAAK,GAExCyC,IAAcC;AAAA,IAClB,EAAE,UAAUvC,GAAa,YAAY,IAAO,MAAAF,GAAM,WAAAC,EAAA;AAAA,IAClDF;AAAA,EAAA;AAsFF,SAAO2C;AAAA,IACLF;AAAA,IApFsD;AAAA,MACtD,SAAS;AAAA,QACP,YAAY;AAAA,UACV,SAAS,CAACG,OACaA,EAAQ,gBAAgBzC,EAAY,SAC7BkC,IAAsBD,MACnCQ,EAAQ,QAAQ,KAAKA,EAAQ,SAAS,MAAM,IAAI,SAAS;AAAA,UAE1E,QAAQ;AAAA,YACN,OAAO;AAAA,cACL,WAAW,CAACC,GAAOD,MAAY;;AAC7B,sBAAM3B,IAAUV,EAASqC,EAAQ,YAAY;AAC7C,uBAAK3B,KACDM,IAAAN,EAAQ,WAAR,QAAAM,EAAgB,wBACXuB;AAAA,kBACL,OAAOD,CAAK;AAAA,kBACZD,EAAQ,QAAQ;AAAA,mBAChBnB,IAAAR,EAAQ,WAAR,gBAAAQ,EAAgB;AAAA,gBAAA,IAGbf,EAAe,KAAKO,GAAS4B,CAAK,IARpBA;AAAA,cASvB;AAAA,YAAA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAGmD;AAAA,MACnD,SAAS;AAAA,QACP,SAAS;AAAA,UACP,WAAW;AAAA,YACT,OAAO,CAACD,MAAY;;AAClB,oBAAMG,KAAQxB,IAAAqB,EAAQ,CAAC,MAAT,gBAAArB,EAAY;AAC1B,qBAAOb,EAAe,KAAKsC,GAA8B9C,CAAS,GAAG6C,CAAK;AAAA,YAC5E;AAAA,YACA,OAAO,CAACH,MAAY;;AAClB,oBAAM3B,IAAUV,EAASqC,EAAQ,YAAY;AAC7C,kBAAI,CAAC3B,EAAS,QAAO;AACrB,oBAAMgC,IAAML,EAAQ,KACdM,IAAYxC,EAAe,KAAKO,GAASgC,CAAG,GAC5CE,KAAa5B,IAAAN,EAAQ,WAAR,QAAAM,EAAgB,wBAC/B,KAAKuB,EAAuBG,GAAKL,EAAQ,QAAQ,OAAMnB,IAAAR,EAAQ,WAAR,gBAAAQ,EAAgB,aAAa,CAAC,MACrF;AACJ,qBAAO,GAAGmB,EAAQ,QAAQ,KAAK,KAAKM,CAAS,GAAGC,CAAU;AAAA,YAC5D;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAGuD;AAAA,MACvD,aAAa;AAAA,QACX,MAAM;AAAA,QACN,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAGyD7C,IACvD;AAAA,MACE,QAAQ;AAAA,QACN,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,KAAKiC;AAAA,UACL,KAAKC;AAAA,UACL,OAAO;AAAA,YACL,SAAS,EAAQF;AAAA,YACjB,MAAMA,KAAuB;AAAA,UAAA;AAAA,UAE/B,MAAM,EAAE,iBAAiB,GAAA;AAAA,UACzB,OAAO;AAAA,YACL,UAAU,CAACO,MAAU;AACnB,oBAAMO,IAAmBhD,EAAa,CAAC;AACvC,qBAAKgD,IACE1C,EAAe,KAAK0C,GAAkBP,CAAK,IADpBA;AAAA,YAEhC;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAAA,IACF,IAEF,CAAA;AAAA,MAQFpB,KAAAF,IAAAvB,EAAM,WAAN,gBAAAuB,EAAc,oBAAd,gBAAAE,EAA+B,YAAW,CAAA;AAAA,EAAC;AAE/C,GAEa4B,KAA4B,CAAC;AAAA,EACxC,MAAApD;AAAA,EACA,WAAAC;AAAA,EACA,aAAAoD;AAAA,EACA,aAAAnD;AAAA,EACA,cAAAoD;AAAA,EACA,eAAAC;AACF,MAQS,CAAC,EAAE,gBAAAC,QAAqB;;AAC7B,QAAMC,IAAUD,EAAe,CAAC;AAChC,MAAI,CAACC,EAAS;AAEd,QAAMC,KAAiBpC,IAAAtB,KAAA,gBAAAA,EAAM,WAAN,gBAAAsB,EAAemC,EAAQ,QACxCE,IAAqBC,GAA+B;AAAA,IACxD,OAAOF;AAAA,IACP,kBAAkBL;AAAA,IAClB,WAAApD;AAAA,EAAA,CACD,GACK4D,IAAoC,EAAE,gBAAAH,GAAgB,oBAAAC,EAAA;AAE5D,EAAIF,EAAQ,eAAevD,EAAY,SACrCoD,KAAA,QAAAA,EAAeO,KAEfN,KAAA,QAAAA,EAAgBM;AAEpB;ACpQFC,EAAQ,SAASC,GAAgBC,GAAaC,EAAY;AAE1D,MAAMC,IAAkB,CAACpE,MAAgC;AACvD,QAAMC,IAAQoE,GAAA;AACd,EAAAC,GAAUrE,CAAK;AAEf,QAAM;AAAA,IACJ,UAAAO;AAAA,IACA,cAAAH,IAAe,CAAA;AAAA,IACf,eAAAkE;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,iBAAAvC;AAAA,IACA,qBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,cAAAoC;AAAA,IACA,WAAA1E;AAAA,IACA,aAAAoD;AAAA,IACA,gBAAAuB;AAAA,IACA,cAAAtB;AAAA,IACA,eAAAC;AAAA,EAAA,IACEzD,GAEE+E,IAAoBC,GAAiBhF,CAAK,GAC1C,EAAE,SAAAiF,GAAS,aAAAC,GAAa,OAAAC,GAAO,YAAAC,GAAY,YAAAC,MAAeN,GAE1DxE,IAAoBF,EAAa,KAAK,CAACiF;;AAAM,eAAQ9D,IAAA8D,EAAE,WAAF,QAAA9D,EAAW;AAAA,GAAoB,GAEpF+D,IAAUC,GAAY,EAAE,SAASxF,EAAM,SAAS,WAAAG,GAAW,GAE3DD,IAAOH;AAAA,IACX;AAAA,MACE,MAAMwF,EAAQ;AAAA,MACd,WAAApF;AAAA,MACA,aAAaK;AAAA,MACb,cAAAH;AAAA,MACA,UAAUkE;AAAA,MACV,mBAAAhE;AAAA,IAAA;AAAA,IAEFN;AAAA,EAAA,GAGImC,IAAUD;AAAA,IACd;AAAA,MACE,aAAa3B;AAAA,MACb,cAAAH;AAAA,MACA,WAAAF;AAAA,MACA,MAAAD;AAAA,MACA,mBAAAK;AAAA,MACA,iBAAA8B;AAAA,MACA,qBAAAC;AAAA,MACA,qBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,mBAAAC;AAAA,IAAA;AAAA,IAEFxC;AAAA,EAAA,GAGIwF,IAAcnC,GAA0B;AAAA,IAC5C,MAAApD;AAAA,IACA,WAAAC;AAAA,IACA,aAAAoD;AAAA,IACA,aAAa/C;AAAA,IACb,cAAAgD;AAAA,IACA,eAAAC;AAAA,EAAA,CACD,GAEKiC,IAAkC,CAACP,KAAS,CAACD,KAAe,CAACD;AAEnE,SACEU,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAML;AAAA,MACN,uBAAuB,CAACpF,GAAW,GAAGK,GAAU,GAAGH,CAAY;AAAA,MAC/D,cAAckF,EAAQ;AAAA,MACrB,GAAGM,GAAuB7F,CAAK;AAAA,MAE/B,UAAA;AAAA,QAAA8E,KACCgB,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcL;AAAA,YACd,WAAAvF;AAAA,YACA,UAAU2E;AAAA,UAAA;AAAA,QAAA;AAAA,QAGdgB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAA9F;AAAA,YACA,YAAAwE;AAAA,YACA,cAAAC;AAAA,YACA,iBAAiBtC,KAAmBC;AAAA,YACpC,sBAAAsC;AAAA,YACA,YAAAQ;AAAA,YACA,YAAAC;AAAA,YACA,cAAAR;AAAA,YACA,eAAAL;AAAA,YACA,eAAAC;AAAA,YACA,SAAArC;AAAA,YACA,SAASqD;AAAA,UAAA;AAAA,QAAA;AAAA,MACX;AAAA,IAAA;AAAA,EAAA;AAGN;;;8CCtGMQ,KAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,OAAO;AAAA,MACP,QAAQ,CAAC,GAAGA,EAAO,SAAS,QAAQC,EAAU,OAAOA,EAAU,qBAAqB;AAAA,IAAA;AAAA,IAEtF;AAAA,MACE,GAAGD,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,GAAGA,EAAO,SAAS;AAAA,QACnB,EAAE,GAAGC,EAAU,OAAO,MAAM,aAAa,OAAO,aAAA;AAAA,QAChD,EAAE,GAAGA,EAAU,SAAS,MAAM,cAAc,OAAO,eAAe,cAAc,GAAA;AAAA,QAChF,EAAE,GAAGA,EAAU,SAAS,MAAM,eAAe,OAAO,gBAAgB,cAAc,GAAA;AAAA,QAClF,EAAE,GAAGA,EAAU,SAAS,MAAM,iBAAiB,OAAO,kBAAA;AAAA,QACtD,EAAE,GAAGA,EAAU,SAAS,MAAM,oBAAoB,OAAO,2BAAA;AAAA,MAA2B;AAAA,IACtF;AAAA,IAEF,EAAE,GAAGD,EAAO,qCAAqC,OAAO,SAAA;AAAA,IACxDA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,iBAAiB,MAAM,uBAAuB,OAAO,2BAAA;AAAA,IACjEA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEf;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,IAAA;AAAA,IAEfA,EAAO;AAAA,IACPA,EAAO;AAAA,EAAA;AAAA,EAET,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV,EAAE,MAAM,sBAAsB,OAAO,gCAAgC,MAAM,SAAA;AAAA,QAC3E;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,IAEF;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV,EAAE,MAAM,sBAAsB,OAAO,gCAAgC,MAAM,SAAA;AAAA,QAC3E;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEJ,GAMME,IAAgB;AAAA,EACpB,WAAWC,EAAY;AAAA,EACvB,UAAU,CAACA,EAAY,OAAO;AAAA,EAC9B,cAAc,CAACA,EAAY,cAAc;AAAA,EACzC,SAASA,EAAY;AAAA,EACrB,UAAU;AACZ,GAEMC,KAAUC,GAAcC,GAAWJ,CAAa,GAEhDK,IAAsB,CAC1BP,GACA/F,GACAuG,OACqB;AAAA,EACrB,OAAOR,EAAO;AAAA,EACd,MAAMA,EAAO;AAAA,EACb,QAAQ;AAAA,IACN,GAAIA,EAAO,YAAY,CAAA;AAAA,IACvB,GAAIA,EAAO,gBAAgB,CAAA;AAAA,IAC3B/F,KAAa+F,EAAO;AAAA,EAAA;AAAA,EAEtB,UAAUS,GAAyBD,KAAA,gBAAAA,EAAe,QAAQ;AAC5D,IAEME,IAAkB,CACtBV,GACA/F,GACAuG,MACiBG,GAASJ,EAAoBP,GAAQ/F,GAAWuG,CAAa,CAAC,GAE3EI,KAAS;AAAA,EACb,cAAc,CAAChE,OAAoC;AAAA,IACjD,oBAAoBA,EAAM,kBAAkBiE,EAAM,SAAA;AAAA,IAClD,wBAAwBjE,EAAM,sBAAsBiE,EAAM,SAAA;AAAA,EAAS;AAAA,EAErE,eAAe,CAACjE,OAAoC;AAAA,IAClD,oBAAoBA,EAAM,kBAAkBiE,EAAM,SAAA;AAAA,IAClD,wBAAwBjE,EAAM,sBAAsBiE,EAAM,SAAA;AAAA,EAAS;AAEvE,GAEM/G,KAAQ,CACZkG,GACA,CAACc,GAAOC,CAAQ,GAChBP,MACG;AACH,QAAMQ,IAA2BC;AAAA,IAC/BjB,EAAO;AAAA,IACPc,KAAA,gBAAAA,EAAO;AAAA,EAAA;AAGT,SAAO;AAAA,IACL,GAAGd;AAAAA,IACH,WAAWgB;AAAA,IACX,aAAaF,KAAA,gBAAAA,EAAO;AAAA,IACpB,gBAAgB,CAACzD,MAA6B0D,EAAS,EAAE,aAAA1D,GAAa;AAAA,IACtE,SAASqD,EAAgBV,GAAQgB,GAA0BR,CAAa;AAAA,EAAA;AAE5E,GAEaU,KAAkB;AAAA,EAAA,WAC7BZ;AAAAA,EACA,MAAAP;AAAA,EACA,SAAAK;AAAA,EACA,eAAAF;AAAA,EACA,QAAQ;AAAA,IACN,OAAApG;AAAA,IACA,QAAA8G;AAAA,EAAA;AAAA,EAEF,SAAS;AAAA,IACP,cAAcL;AAAA,IACd,UAAUG;AAAA,EAAA;AAEd;"}
@@ -2,7 +2,7 @@ import { m as z, j as u, B as F, V as x, l as O } from "./index-3F2_3p7g.js";
2
2
  import { useTheme as _, definePreview as H } from "@embeddable.com/react";
3
3
  import { i as W, r as X } from "./component.utils-oQMZT7TK.js";
4
4
  import { C as E, a as U } from "./ChartCard-DoGFLbS2.js";
5
- import { g as q, a as J } from "./bars.utils-Bi7mE9CJ.js";
5
+ import { g as q, a as J } from "./bars.utils-CsufVR7j.js";
6
6
  import { u as K } from "./charts.fillGaps.hooks-CWY0cZuI.js";
7
7
  import { C as N, g as Q } from "./granularity.utils-D8sR_MWc.js";
8
8
  import { c as Y } from "./charts.utils-B-Ryq4Nc.js";
@@ -176,4 +176,4 @@ export {
176
176
  he as b,
177
177
  pe as i
178
178
  };
179
- //# sourceMappingURL=definition-Dkpznjd4.js.map
179
+ //# sourceMappingURL=definition-k-ot6tpW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition-Dkpznjd4.js","sources":["../src/components/charts/bars/BarChartDefaultPro/index.tsx","../src/components/charts/bars/BarChartDefaultPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { BarChartBaseProps } from '../bars.types';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type BarChartDefaultProProps = BarChartBaseProps & {\n reverseXAxis?: boolean;\n xAxisMaxItems?: number;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n};\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n yAxisRangeMin,\n xAxisMaxItems,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n reverseXAxis,\n dimension,\n granularity,\n setGranularity,\n onBarClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartDefaultPro',\n label: 'Bar Chart - Default',\n description:\n 'Vertical bar chart with one categorical x-axis dimension and one or more measures. Use to compare values across discrete categories.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n {\n ...inputs.dimensionWithGranularitySelectField,\n label: 'X-axis',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.xAxisMaxItems,\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartDefaultProState, (state: BarChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barChartDefaultPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","measures","yAxisRangeMin","xAxisMaxItems","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","showValueLabels","reverseXAxis","dimension","granularity","setGranularity","onBarClicked","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barChartDefaultPro"],"mappings":"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"}
1
+ {"version":3,"file":"definition-k-ot6tpW.js","sources":["../src/components/charts/bars/BarChartDefaultPro/index.tsx","../src/components/charts/bars/BarChartDefaultPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { BarChartBaseProps } from '../bars.types';\nimport { createSimpleClickHandler } from '../../charts.utils';\n\nexport type BarChartDefaultProProps = BarChartBaseProps & {\n reverseXAxis?: boolean;\n xAxisMaxItems?: number;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n};\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n measures,\n yAxisRangeMin,\n xAxisMaxItems,\n yAxisRangeMax,\n showLegend,\n showTooltips,\n showLogarithmicScale,\n showValueLabels,\n reverseXAxis,\n dimension,\n granularity,\n setGranularity,\n onBarClicked,\n } = props;\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options ?? {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n const handleClick = createSimpleClickHandler({\n data,\n dimension,\n granularity,\n onClicked: onBarClicked,\n });\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n )}\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n","import {\n DataResponse,\n Dimension,\n Granularity,\n LoadDataRequest,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getDimensionWithGranularity } from '../../utils/granularity.utils';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\nimport { BarChartProOptionsClickArg } from '../bars.types';\n\nconst meta = {\n name: 'BarChartDefaultPro',\n label: 'Bar Chart - Default',\n description:\n 'Vertical bar chart with one categorical x-axis dimension and one or more measures. Use to compare values across discrete categories.',\n category: 'Bar Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n inputs: [...inputs.measures.inputs, subInputs.color, subInputs.showValueAsPercentage],\n },\n {\n ...inputs.dimensionWithGranularitySelectField,\n label: 'X-axis',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.showLegend,\n inputs.showTooltips,\n inputs.showValueLabels,\n inputs.showLogarithmicScale,\n inputs.xAxisLabel,\n inputs.yAxisLabel,\n inputs.reverseXAxis,\n inputs.yAxisRangeMin,\n inputs.yAxisRangeMax,\n inputs.xAxisMaxItems,\n inputs.maxResults,\n inputs.menuOptions,\n ],\n events: [\n {\n name: 'onBarClicked',\n label: 'A bar is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked axis dimension value',\n type: 'string',\n },\n {\n name: 'axisDimensionTimeRange',\n label: 'Clicked axis dimension time range',\n type: 'timeRange',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type BarChartDefaultProState = {\n granularity?: Granularity;\n};\n\nconst previewConfig = {\n dimension: previewData.dimension,\n measures: [previewData.measure],\n results: previewData.results1Measure1Dimension,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n dimension?: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, dimension ?? inputs.dimension],\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n dimension: Dimension,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, dimension, clientContext));\n\nconst events = {\n onBarClicked: (value: BarChartProOptionsClickArg) => ({\n axisDimensionValue: value.dimensionValue ?? Value.noFilter(),\n axisDimensionTimeRange: value.dimensionTimeRange ?? Value.noFilter(),\n }),\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [BarChartDefaultProState, (state: BarChartDefaultProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const dimensionWithGranularity = getDimensionWithGranularity(\n inputs.dimension,\n state?.granularity,\n );\n\n return {\n ...inputs,\n dimension: dimensionWithGranularity,\n granularity: state?.granularity,\n setGranularity: (granularity: Granularity) => setState({ granularity }),\n results: loadDataResults(inputs, dimensionWithGranularity, clientContext),\n };\n};\n\nexport const barChartDefaultPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","measures","yAxisRangeMin","xAxisMaxItems","yAxisRangeMax","showLegend","showTooltips","showLogarithmicScale","showValueLabels","reverseXAxis","dimension","granularity","setGranularity","onBarClicked","resolvedI18nProps","resolveI18nProps","tooltip","description","title","xAxisLabel","yAxisLabel","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","handleClick","createSimpleClickHandler","jsxs","ChartCard","asChartCardHeaderProps","jsx","ChartGranularitySelectField","BarChart","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","events","value","Value","state","setState","dimensionWithGranularity","getDimensionWithGranularity","barChartDefaultPro"],"mappings":"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"}