@embeddable.com/remarkable-pro 0.1.1 → 0.1.3
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.
- package/dist/BarChartDefaultHorizontalPro.js +9 -8
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +5 -4
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +5 -4
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +7 -6
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +10 -9
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +13 -12
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/ChartCard-OT66j3V3.js +117 -0
- package/dist/ChartCard-OT66j3V3.js.map +1 -0
- package/dist/{ChartGranularitySelectField-C_6Mugcw.js → ChartGranularitySelectField-awLCjaEw.js} +3 -3
- package/dist/{ChartGranularitySelectField-C_6Mugcw.js.map → ChartGranularitySelectField-awLCjaEw.js.map} +1 -1
- package/dist/{Color.type.emb-De2K8PVb.js → Color.type.emb-Chs0ckWV.js} +11493 -11117
- package/dist/Color.type.emb-Chs0ckWV.js.map +1 -0
- package/dist/ColorEditor.js +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +9 -8
- package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
- package/dist/DateRangePickerCustomPro.js +42 -41
- package/dist/DateRangePickerCustomPro.js.map +1 -1
- package/dist/DateRangeSelectFieldPro.js +6 -5
- package/dist/DateRangeSelectFieldPro.js.map +1 -1
- package/dist/{DimensionAndMeasureSingleSelectField-CJ1yAcRd.js → DimensionAndMeasureSingleSelectField-BDdFGAJw.js} +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-CJ1yAcRd.js.map → DimensionAndMeasureSingleSelectField-BDdFGAJw.js.map} +1 -1
- package/dist/DimensionSingleSelectFieldPro.js +32 -31
- package/dist/DimensionSingleSelectFieldPro.js.map +1 -1
- package/dist/DonutChartPro.js +16 -15
- package/dist/DonutChartPro.js.map +1 -1
- package/dist/DonutLabelChartPro.js +10 -9
- package/dist/DonutLabelChartPro.js.map +1 -1
- package/dist/EditorCard-C79wijeo.js +33 -0
- package/dist/EditorCard-C79wijeo.js.map +1 -0
- package/dist/{GranularitySelectField-DuRk6qY8.js → GranularitySelectField-BVQgGkjc.js} +3 -3
- package/dist/{GranularitySelectField-DuRk6qY8.js.map → GranularitySelectField-BVQgGkjc.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +18 -17
- package/dist/GranularitySelectFieldPro.js.map +1 -1
- package/dist/HeatMapPro.js +5 -4
- package/dist/HeatMapPro.js.map +1 -1
- package/dist/{IconCalendarFilled-CYiLMPm9.js → IconCalendarFilled-CPoPNAfd.js} +2 -2
- package/dist/{IconCalendarFilled-CYiLMPm9.js.map → IconCalendarFilled-CPoPNAfd.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +5 -4
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +12 -5
- package/dist/KpiChartNumberPro.js.map +1 -1
- package/dist/LineChartComparisonDefaultPro.js +8 -7
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +5 -4
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +5 -4
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MeasureSingleSelectFieldPro.js +32 -31
- package/dist/MeasureSingleSelectFieldPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +9 -8
- package/dist/MultiSelectFieldPro.js.map +1 -1
- package/dist/PieChartPro.js +9 -8
- package/dist/PieChartPro.js.map +1 -1
- package/dist/PivotTablePro.js +5 -4
- package/dist/PivotTablePro.js.map +1 -1
- package/dist/SingleSelectFieldPro.js +23 -22
- package/dist/SingleSelectFieldPro.js.map +1 -1
- package/dist/TableChartPaginated.js +10 -9
- package/dist/TableChartPaginated.js.map +1 -1
- package/dist/TableScrollable.js +244 -242
- package/dist/TableScrollable.js.map +1 -1
- package/dist/{bars.utils-7WiIKMS8.js → bars.utils-DzcvCtRj.js} +7 -7
- package/dist/{bars.utils-7WiIKMS8.js.map → bars.utils-DzcvCtRj.js.map} +1 -1
- package/dist/{charts.utils-CeUb1OP-.js → charts.utils-B9hA-AJt.js} +725 -688
- package/dist/charts.utils-B9hA-AJt.js.map +1 -0
- package/dist/{component.inputs.constants-DzpzJ9Na.js → component.inputs.constants-DMsQ1KIy.js} +92 -86
- package/dist/component.inputs.constants-DMsQ1KIy.js.map +1 -0
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/shared/ChartCard/ChartCard.d.ts +1 -0
- package/dist/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
- package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
- package/dist/components/component.inputs.constants.d.ts +6 -0
- package/dist/components/component.inputs.constants.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +2 -2
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +2 -2
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/MultiSelectFieldPro/index.d.ts +2 -2
- package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/SingleSelectFieldPro/index.d.ts +2 -2
- package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +2 -2
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +2 -2
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
- package/dist/components/editors/shared/EditorCard/EditorCard.d.ts +6 -3
- package/dist/components/editors/shared/EditorCard/EditorCard.d.ts.map +1 -1
- package/dist/embeddable-components.json +28 -28
- package/dist/embeddable-theme-0137e.js +1090 -1053
- package/dist/{formatter.utils-CiN6axbW.js → formatter.utils-wIg0a9Bk.js} +2 -2
- package/dist/{formatter.utils-CiN6axbW.js.map → formatter.utils-wIg0a9Bk.js.map} +1 -1
- package/dist/index-5XDqQ63V.js +60 -0
- package/dist/index-5XDqQ63V.js.map +1 -0
- package/dist/{index-Cd59K5g3.js → index-B8Ssaj05.js} +6 -6
- package/dist/{index-Cd59K5g3.js.map → index-B8Ssaj05.js.map} +1 -1
- package/dist/{index-APJ7mYHR.js → index-BBNdJ1lY.js} +5 -5
- package/dist/{index-APJ7mYHR.js.map → index-BBNdJ1lY.js.map} +1 -1
- package/dist/index-BJ0atkgQ.js +93 -0
- package/dist/index-BJ0atkgQ.js.map +1 -0
- package/dist/index-BNh5_nFd.js +37 -0
- package/dist/index-BNh5_nFd.js.map +1 -0
- package/dist/index-BPkVCSJK.js +99 -0
- package/dist/index-BPkVCSJK.js.map +1 -0
- package/dist/index-Bhm26I4T.js +94 -0
- package/dist/index-Bhm26I4T.js.map +1 -0
- package/dist/index-BqknHuCo.js +88 -0
- package/dist/index-BqknHuCo.js.map +1 -0
- package/dist/index-CdwBu2mT.js +83 -0
- package/dist/index-CdwBu2mT.js.map +1 -0
- package/dist/index-CjU578lr.js +98 -0
- package/dist/index-CjU578lr.js.map +1 -0
- package/dist/index-CoDJGGqe.js +346 -0
- package/dist/{index-BEckqi71.js.map → index-CoDJGGqe.js.map} +1 -1
- package/dist/index-CzcB2c9U.js +114 -0
- package/dist/index-CzcB2c9U.js.map +1 -0
- package/dist/index-D00O-VX5.js +178 -0
- package/dist/index-D00O-VX5.js.map +1 -0
- package/dist/index-D01rdEuG.js +183 -0
- package/dist/index-D01rdEuG.js.map +1 -0
- package/dist/index-DDMj32YH.js +32 -0
- package/dist/index-DDMj32YH.js.map +1 -0
- package/dist/index-DI4o8g2o.js +92 -0
- package/dist/index-DI4o8g2o.js.map +1 -0
- package/dist/index-DViBsw3u.js +91 -0
- package/dist/index-DViBsw3u.js.map +1 -0
- package/dist/index-DlmQkA1e.js +37 -0
- package/dist/index-DlmQkA1e.js.map +1 -0
- package/dist/{index-CTds3eHF.js → index-oVUlHLZC.js} +5 -5
- package/dist/{index-CTds3eHF.js.map → index-oVUlHLZC.js.map} +1 -1
- package/dist/index-uoo8E0Rh.js +84 -0
- package/dist/index-uoo8E0Rh.js.map +1 -0
- package/dist/{index-BCVHDZZk.js → index-x7_4cBXP.js} +51 -51
- package/dist/index-x7_4cBXP.js.map +1 -0
- package/dist/index.js +29 -29
- package/dist/{pies.utils-MOzFigDD.js → pies.utils-Cwg8P8bS.js} +5 -5
- package/dist/{pies.utils-MOzFigDD.js.map → pies.utils-Cwg8P8bS.js.map} +1 -1
- package/dist/{preview.data.constants-BBIMPXYy.js → preview.data.constants-DHMnpP3S.js} +2 -2
- package/dist/{preview.data.constants-BBIMPXYy.js.map → preview.data.constants-DHMnpP3S.js.map} +1 -1
- package/dist/remarkable-pro.css +1 -1
- package/dist/{tables.utils-C7MWIQsp.js → tables.utils-C7oD63FD.js} +4 -4
- package/dist/tables.utils-C7oD63FD.js.map +1 -0
- package/dist/{timeRange.utils-LHM3sXwE.js → timeRange.utils-CzFonlg0.js} +2 -2
- package/dist/{timeRange.utils-LHM3sXwE.js.map → timeRange.utils-CzFonlg0.js.map} +1 -1
- package/package.json +8 -7
- package/dist/ChartCard-CfVMn37p.js +0 -116
- package/dist/ChartCard-CfVMn37p.js.map +0 -1
- package/dist/Color.type.emb-De2K8PVb.js.map +0 -1
- package/dist/EditorCard-B9UFM_uA.js +0 -32
- package/dist/EditorCard-B9UFM_uA.js.map +0 -1
- package/dist/charts.utils-CeUb1OP-.js.map +0 -1
- package/dist/component.inputs.constants-DzpzJ9Na.js.map +0 -1
- package/dist/index-387srVl0.js +0 -93
- package/dist/index-387srVl0.js.map +0 -1
- package/dist/index-3xjxWqDJ.js +0 -90
- package/dist/index-3xjxWqDJ.js.map +0 -1
- package/dist/index-7JWw7tI5.js +0 -47
- package/dist/index-7JWw7tI5.js.map +0 -1
- package/dist/index-BCVHDZZk.js.map +0 -1
- package/dist/index-BEckqi71.js +0 -346
- package/dist/index-BYB6yWhD.js +0 -92
- package/dist/index-BYB6yWhD.js.map +0 -1
- package/dist/index-BnOZcps-.js +0 -98
- package/dist/index-BnOZcps-.js.map +0 -1
- package/dist/index-Bv9-6Ht7.js +0 -113
- package/dist/index-Bv9-6Ht7.js.map +0 -1
- package/dist/index-C26JokZs.js +0 -91
- package/dist/index-C26JokZs.js.map +0 -1
- package/dist/index-CEDNCQK8.js +0 -31
- package/dist/index-CEDNCQK8.js.map +0 -1
- package/dist/index-ClEmYHgx.js +0 -60
- package/dist/index-ClEmYHgx.js.map +0 -1
- package/dist/index-Cp90DbOu.js +0 -83
- package/dist/index-Cp90DbOu.js.map +0 -1
- package/dist/index-Crpz4FA4.js +0 -87
- package/dist/index-Crpz4FA4.js.map +0 -1
- package/dist/index-D37a5H7U.js +0 -182
- package/dist/index-D37a5H7U.js.map +0 -1
- package/dist/index-DADSJYlJ.js +0 -177
- package/dist/index-DADSJYlJ.js.map +0 -1
- package/dist/index-DeWASjPW.js +0 -97
- package/dist/index-DeWASjPW.js.map +0 -1
- package/dist/index-DffpQwrs.js +0 -82
- package/dist/index-DffpQwrs.js.map +0 -1
- package/dist/index-mtJHlsB1.js +0 -47
- package/dist/index-mtJHlsB1.js.map +0 -1
- package/dist/tables.utils-C7MWIQsp.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as g, e as D } from "./component.inputs.constants-
|
|
1
|
+
import { D as g, e as D } from "./component.inputs.constants-DMsQ1KIy.js";
|
|
2
2
|
const o = (a) => {
|
|
3
3
|
const s = {};
|
|
4
4
|
return (m) => {
|
|
@@ -51,4 +51,4 @@ const o = (a) => {
|
|
|
51
51
|
export {
|
|
52
52
|
S as g
|
|
53
53
|
};
|
|
54
|
-
//# sourceMappingURL=formatter.utils-
|
|
54
|
+
//# sourceMappingURL=formatter.utils-wIg0a9Bk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.utils-
|
|
1
|
+
{"version":3,"file":"formatter.utils-wIg0a9Bk.js","sources":["../src/utils.ts/cache.utils.ts","../src/utils.ts/data.utils.ts","../src/theme/formatter/formatter.utils.ts"],"sourcesContent":["/**\n * Creates a formatter cache.\n * Cache used to prevent unnecessary (expensive) creation of formatter objects\n */\nexport const cache = <Params, Formatter>(factory: (params?: Params) => Formatter) => {\n const internalCache: { [key: string]: Formatter } = {};\n const get = (params?: Params) => {\n const key = JSON.stringify(params);\n let formatter = internalCache[key];\n if (formatter) {\n return formatter;\n }\n formatter = factory(params);\n internalCache[key] = formatter;\n return formatter;\n };\n return get;\n};\n","const ISO_DATE_TIME_REGEX = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}$/;\n\nexport const isValidISODate = (value: string): boolean => {\n return Boolean(value && ISO_DATE_TIME_REGEX.test(value));\n};\n","import { DimensionOrMeasure } from '@embeddable.com/core';\nimport { DateTimeFormatter, NumberFormatter, StringFormatter } from './formatter.types';\nimport { Theme } from '../theme.types';\nimport { cache } from '../../utils.ts/cache.utils';\nimport { isValidISODate } from '../../utils.ts/data.utils';\nimport { resolveI18nString } from '../../components/component.utils';\nimport { DisplayFormatTypeOptions } from '../../components/types/DisplayFormat.type.emb';\n\nexport type GetThemeFormatter = {\n string: (key: string) => string;\n number: (value: number | bigint, options?: Intl.NumberFormatOptions) => string;\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions) => string;\n dimensionOrMeasureTitle: (key: DimensionOrMeasure) => string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any) => string;\n};\n\nexport const getThemeFormatter = (theme: Theme): GetThemeFormatter => {\n const cachedNumberFormatter = cache<Intl.NumberFormatOptions, NumberFormatter>((options) =>\n theme.formatter.numberFormatter(theme, options),\n );\n\n const cachedDataNumberFormatter = cache<DimensionOrMeasure, NumberFormatter>((key) =>\n theme.formatter.dataNumberFormatter(theme, key!),\n );\n\n const cachedDateTimeFormatter = cache<Intl.DateTimeFormatOptions, DateTimeFormatter>((options) =>\n theme.formatter.dateTimeFormatter(theme, options),\n );\n\n const cachedDataDateTimeFormatter = cache<DimensionOrMeasure, DateTimeFormatter>((key) =>\n theme.formatter.dataDateTimeFormatter(theme, key!),\n );\n\n const cachedDataOthersFormatter = cache<DimensionOrMeasure, StringFormatter>((key) =>\n theme.formatter.dataOthersFormatter(theme, key!),\n );\n\n return {\n string: (key: string) => theme.formatter.stringFormatter().format(key),\n number: (value: number | bigint, options?: Intl.NumberFormatOptions): string => {\n return cachedNumberFormatter(options).format(value);\n },\n dateTime: (value: Date, options?: Intl.DateTimeFormatOptions): string => {\n return cachedDateTimeFormatter(options).format(value);\n },\n dimensionOrMeasureTitle: (key: DimensionOrMeasure): string => {\n const displayName = key.inputs?.displayName;\n if (displayName) {\n if (displayName.includes('|')) {\n return resolveI18nString(displayName);\n }\n return displayName;\n }\n\n const resolved = cachedDataOthersFormatter(key).format(key.name);\n return resolved === key.name ? (key.title ?? key.name) : resolved;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data: (key: DimensionOrMeasure, value: any): string => {\n let newValue = value;\n\n // Nulls\n if (value == null) {\n return key.inputs?.displayNullAs ?? '';\n }\n\n // JSON and Markdown\n if (key.inputs?.displayFormat === DisplayFormatTypeOptions.JSON) {\n return JSON.stringify(value, null, 2);\n } else if (key.inputs?.displayFormat === DisplayFormatTypeOptions.MARKDOWN) {\n return value;\n }\n // Objects\n if (typeof value === 'object') {\n return JSON.stringify(value);\n }\n\n // Number\n if (key.nativeType === 'number') {\n newValue = cachedDataNumberFormatter(key).format(value);\n }\n\n // Time\n if (key.nativeType === 'time' && isValidISODate(value)) {\n newValue = cachedDataDateTimeFormatter(key).format(new Date(value));\n }\n\n // Others (boolean and string)\n if (key.nativeType === 'boolean' || key.nativeType === 'string') {\n newValue = cachedDataOthersFormatter(key).format(value);\n }\n\n // Prefix and suffix\n const appended = `${key.inputs?.prefix || ''}${newValue}${key.inputs?.suffix || ''}`;\n\n // Max characters\n if (key.inputs?.maxCharacters) {\n if (appended.length <= key.inputs.maxCharacters) {\n return appended;\n }\n return appended.substring(0, key.inputs.maxCharacters) + '...';\n }\n\n return appended;\n },\n };\n};\n"],"names":["cache","factory","internalCache","params","key","formatter","ISO_DATE_TIME_REGEX","isValidISODate","value","getThemeFormatter","theme","cachedNumberFormatter","options","cachedDataNumberFormatter","cachedDateTimeFormatter","cachedDataDateTimeFormatter","cachedDataOthersFormatter","displayName","_a","resolveI18nString","resolved","newValue","_b","DisplayFormatTypeOptions","_c","appended","_d","_e","_f"],"mappings":";AAIO,MAAMA,IAAQ,CAAoBC,MAA4C;AACnF,QAAMC,IAA8C,CAAA;AAWpD,SAVY,CAACC,MAAoB;AAC/B,UAAMC,IAAM,KAAK,UAAUD,CAAM;AACjC,QAAIE,IAAYH,EAAcE,CAAG;AACjC,WAAIC,MAGJA,IAAYJ,EAAQE,CAAM,GAC1BD,EAAcE,CAAG,IAAIC,GACdA;AAAA,EACT;AAEF,GCjBMC,IAAsB,gDAEfC,IAAiB,CAACC,MACtB,GAAQA,KAASF,EAAoB,KAAKE,CAAK,ICc3CC,IAAoB,CAACC,MAAoC;AACpE,QAAMC,IAAwBX;AAAA,IAAiD,CAACY,MAC9EF,EAAM,UAAU,gBAAgBA,GAAOE,CAAO;AAAA,EAAA,GAG1CC,IAA4Bb;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA,GAG3CU,IAA0Bd;AAAA,IAAqD,CAACY,MACpFF,EAAM,UAAU,kBAAkBA,GAAOE,CAAO;AAAA,EAAA,GAG5CG,IAA8Bf;AAAA,IAA6C,CAACI,MAChFM,EAAM,UAAU,sBAAsBA,GAAON,CAAI;AAAA,EAAA,GAG7CY,IAA4BhB;AAAA,IAA2C,CAACI,MAC5EM,EAAM,UAAU,oBAAoBA,GAAON,CAAI;AAAA,EAAA;AAGjD,SAAO;AAAA,IACL,QAAQ,CAACA,MAAgBM,EAAM,UAAU,gBAAA,EAAkB,OAAON,CAAG;AAAA,IACrE,QAAQ,CAACI,GAAwBI,MACxBD,EAAsBC,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEpD,UAAU,CAACA,GAAaI,MACfE,EAAwBF,CAAO,EAAE,OAAOJ,CAAK;AAAA,IAEtD,yBAAyB,CAACJ,MAAoC;;AAC5D,YAAMa,KAAcC,IAAAd,EAAI,WAAJ,gBAAAc,EAAY;AAChC,UAAID;AACF,eAAIA,EAAY,SAAS,GAAG,IACnBE,EAAkBF,CAAW,IAE/BA;AAGT,YAAMG,IAAWJ,EAA0BZ,CAAG,EAAE,OAAOA,EAAI,IAAI;AAC/D,aAAOgB,MAAahB,EAAI,OAAQA,EAAI,SAASA,EAAI,OAAQgB;AAAA,IAC3D;AAAA;AAAA,IAEA,MAAM,CAAChB,GAAyBI,MAAuB;;AACrD,UAAIa,IAAWb;AAGf,UAAIA,KAAS;AACX,iBAAOU,IAAAd,EAAI,WAAJ,gBAAAc,EAAY,kBAAiB;AAItC,YAAII,IAAAlB,EAAI,WAAJ,gBAAAkB,EAAY,mBAAkBC,EAAyB;AACzD,eAAO,KAAK,UAAUf,GAAO,MAAM,CAAC;AACtC,YAAWgB,IAAApB,EAAI,WAAJ,gBAAAoB,EAAY,mBAAkBD,EAAyB;AAChE,eAAOf;AAGT,UAAI,OAAOA,KAAU;AACnB,eAAO,KAAK,UAAUA,CAAK;AAI7B,MAAIJ,EAAI,eAAe,aACrBiB,IAAWR,EAA0BT,CAAG,EAAE,OAAOI,CAAK,IAIpDJ,EAAI,eAAe,UAAUG,EAAeC,CAAK,MACnDa,IAAWN,EAA4BX,CAAG,EAAE,OAAO,IAAI,KAAKI,CAAK,CAAC,KAIhEJ,EAAI,eAAe,aAAaA,EAAI,eAAe,cACrDiB,IAAWL,EAA0BZ,CAAG,EAAE,OAAOI,CAAK;AAIxD,YAAMiB,IAAW,KAAGC,IAAAtB,EAAI,WAAJ,gBAAAsB,EAAY,WAAU,EAAE,GAAGL,CAAQ,KAAGM,IAAAvB,EAAI,WAAJ,gBAAAuB,EAAY,WAAU,EAAE;AAGlF,cAAIC,IAAAxB,EAAI,WAAJ,QAAAwB,EAAY,gBACVH,EAAS,UAAUrB,EAAI,OAAO,gBACzBqB,IAEFA,EAAS,UAAU,GAAGrB,EAAI,OAAO,aAAa,IAAI,QAGpDqB;AAAA,IACT;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { i as g, j as i, S as v } from "./Color.type.emb-Chs0ckWV.js";
|
|
2
|
+
import { useTheme as f } from "@embeddable.com/react";
|
|
3
|
+
import { g as h, u as y, c as b } from "./dates.utils-BF32dTLi.js";
|
|
4
|
+
import { e as P, a as M, r as S, i as j } from "./component.inputs.constants-DMsQ1KIy.js";
|
|
5
|
+
import { E as C } from "./EditorCard-C79wijeo.js";
|
|
6
|
+
import { useMemo as O, useEffect as R } from "react";
|
|
7
|
+
/**
|
|
8
|
+
* @license @tabler/icons-react v3.36.1 - MIT
|
|
9
|
+
*
|
|
10
|
+
* This source code is licensed under the MIT license.
|
|
11
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
+
*/
|
|
13
|
+
const k = [["path", { d: "M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4", key: "svg-0" }], ["path", { d: "M14 18a4 4 0 1 0 8 0a4 4 0 1 0 -8 0", key: "svg-1" }], ["path", { d: "M15 3v4", key: "svg-2" }], ["path", { d: "M7 3v4", key: "svg-3" }], ["path", { d: "M3 11h16", key: "svg-4" }], ["path", { d: "M18 16.496v1.504l1 1", key: "svg-5" }]], x = g("outline", "calendar-time", "CalendarTime", k), _ = (e, a) => !e || a.some((o) => o.value === e), D = (e, a) => e.map((o) => ({
|
|
14
|
+
rightLabel: a ? h(o.getRange(a), o.dateFormat) : "",
|
|
15
|
+
value: o.value,
|
|
16
|
+
label: P(o.label)
|
|
17
|
+
})), F = (e) => {
|
|
18
|
+
const a = f();
|
|
19
|
+
M(a);
|
|
20
|
+
const { description: o, placeholder: l, title: c, tooltip: d } = S(e), { comparisonPeriod: t, onChange: s } = e, r = a.defaults.comparisonPeriodsOptions, n = O(
|
|
21
|
+
() => _(t, r),
|
|
22
|
+
[t, r]
|
|
23
|
+
);
|
|
24
|
+
R(() => {
|
|
25
|
+
n || s(void 0);
|
|
26
|
+
}, [n, s]);
|
|
27
|
+
const { dayjsLocaleReady: m } = y(), p = b(
|
|
28
|
+
e.primaryDateRange,
|
|
29
|
+
a.defaults.dateRangesOptions
|
|
30
|
+
);
|
|
31
|
+
if (!m)
|
|
32
|
+
return null;
|
|
33
|
+
const u = D(
|
|
34
|
+
r,
|
|
35
|
+
p
|
|
36
|
+
);
|
|
37
|
+
return /* @__PURE__ */ i.jsx(C, { title: c, description: o, tooltip: d, children: /* @__PURE__ */ i.jsx(
|
|
38
|
+
v,
|
|
39
|
+
{
|
|
40
|
+
startIcon: x,
|
|
41
|
+
clearable: !0,
|
|
42
|
+
placeholder: l,
|
|
43
|
+
value: n ? t : void 0,
|
|
44
|
+
onChange: s,
|
|
45
|
+
options: u,
|
|
46
|
+
noOptionsMessage: j.t("common.noOptionsAvailable"),
|
|
47
|
+
avoidCollisions: !1
|
|
48
|
+
}
|
|
49
|
+
) });
|
|
50
|
+
}, N = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
51
|
+
__proto__: null,
|
|
52
|
+
default: F
|
|
53
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
54
|
+
export {
|
|
55
|
+
F as D,
|
|
56
|
+
_ as a,
|
|
57
|
+
D as g,
|
|
58
|
+
N as i
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=index-5XDqQ63V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-5XDqQ63V.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.36.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 18a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { resolveI18nString } from '../../component.utils';\nimport { getTimeRangeLabel } from '../dates/dates.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { useEffect, useMemo } from 'react';\nimport { getTimeRangeFromPresets } from '../dates/dates.utils';\n\ntype DateComparisonSelectFieldPro = {\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n} & EditorCardHeaderProps;\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, tooltip } = resolveI18nProps(props);\n const { comparisonPeriod, onChange } = props;\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromPresets(\n props.primaryDateRange,\n theme.defaults.dateRangesOptions,\n );\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","tooltip","resolveI18nProps","comparisonPeriod","onChange","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromPresets","options","jsx","EditorCard","SingleSelectField","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,2EAA2E,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,uCAAuC,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,WAAW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,UAAU,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,YAAY,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,wBAAwB,KAAO,QAAO,CAAE,CAAC,GACzYC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU,GCHvFG,IAA8B,CACzCC,GACAC,MAEO,CAACD,KAAUC,EAAsC,KAAK,CAACC,MAAQA,EAAI,UAAUF,CAAM,GAG/EG,IAA2C,CACtDF,GACAG,MAEOH,EAAsC,IAAI,CAACD,OACzC;AAAA,EACL,YAAYI,IACRC,EAAkBL,EAAO,SAASI,CAAkB,GAAGJ,EAAO,UAAU,IACxE;AAAA,EACJ,OAAOA,EAAO;AAAA,EACd,OAAOM,EAAkBN,EAAO,KAAK;AAAA,EAExC,GCHGO,IAA+B,CAACC,MAAwC;AAC5E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,aAAAC,GAAa,OAAAC,GAAO,SAAAC,EAAA,IAAYC,EAAiBR,CAAK,GACrE,EAAE,kBAAAS,GAAkB,UAAAC,EAAA,IAAaV,GAEjCW,IAA0BV,EAAM,SAAS,0BAEzCW,IAA4BC;AAAA,IAChC,MAAMtB,EAA4BkB,GAAkBE,CAAuB;AAAA,IAC3E,CAACF,GAAkBE,CAAuB;AAAA,EAAA;AAI5C,EAAAG,EAAU,MAAM;AACd,IAAKF,KACHF,EAAS,MAAS;AAAA,EAEtB,GAAG,CAACE,GAA2BF,CAAQ,CAAC;AAExC,QAAM,EAAE,kBAAAK,EAAA,IAAqBC,EAAA,GAGvBC,IAAmBC;AAAA,IACvBlB,EAAM;AAAA,IACNC,EAAM,SAAS;AAAA,EAAA;AAGjB,MAAI,CAACc;AACH,WAAO;AAGT,QAAMI,IAAUxB;AAAA,IACdgB;AAAA,IACAM;AAAA,EAAA;AAGF,SACEG,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAf,GAAc,aAAAF,GAA0B,SAAAG,GAClD,UAAAa,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWjC;AAAA,MACX,WAAS;AAAA,MACT,aAAAgB;AAAA,MACA,OAAOO,IAA4BH,IAAmB;AAAA,MACtD,UAAAC;AAAA,MACA,SAAAS;AAAA,MACA,kBAAkBI,EAAK,EAAE,2BAA2B;AAAA,MACpD,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { m as _, j as p, D as k } from "./Color.type.emb-
|
|
1
|
+
import { m as _, j as p, D as k } from "./Color.type.emb-Chs0ckWV.js";
|
|
2
2
|
import { useTheme as w } from "@embeddable.com/react";
|
|
3
|
-
import { g as O, a as y } from "./pies.utils-
|
|
4
|
-
import { g as F } from "./formatter.utils-
|
|
5
|
-
import { a as V, r as z } from "./component.inputs.constants-
|
|
6
|
-
import { C as A } from "./ChartCard-
|
|
3
|
+
import { g as O, a as y } from "./pies.utils-Cwg8P8bS.js";
|
|
4
|
+
import { g as F } from "./formatter.utils-wIg0a9Bk.js";
|
|
5
|
+
import { a as V, r as z } from "./component.inputs.constants-DMsQ1KIy.js";
|
|
6
|
+
import { C as A } from "./ChartCard-OT66j3V3.js";
|
|
7
7
|
const E = (s) => {
|
|
8
8
|
var m, d, l;
|
|
9
9
|
const e = w(), g = F(e);
|
|
@@ -69,4 +69,4 @@ export {
|
|
|
69
69
|
E as D,
|
|
70
70
|
J as i
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=index-
|
|
72
|
+
//# sourceMappingURL=index-B8Ssaj05.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-B8Ssaj05.js","sources":["../src/components/charts/pies/DonutLabelChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype 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 description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n innerLabelMeasure,\n resultsInnerLabel,\n innerLabelText,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\n\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n const label = themeFormatter.data(\n innerLabelMeasure,\n resultsInnerLabel?.data?.[0]?.[innerLabelMeasure.name],\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutLabelChartPro?.options ?? {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <DonutChart\n label={label}\n subLabel={innerLabelText}\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","themeFormatter","getThemeFormatter","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","innerLabelMeasure","resultsInnerLabel","innerLabelText","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","handleSegmentClick","index","_b","_a","label","options","mergician","getPieChartProOptions","_c","jsx","ChartCard","DonutChart"],"mappings":";;;;;;AAkBA,MAAMA,IAAgB,CAACC,MAAmC;;AACxD,QAAMC,IAAQC,EAAA,GACRC,IAAiBC,EAAkBH,CAAK;AAC9C,EAAAI,EAAUJ,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAK;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBnB,CAAK,GAEpB,EAAE,UAAAoB,MAAapB,GAEfqB,IAAOC;AAAA,IACX,EAAE,MAAMZ,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CP;AAAA,EAAA,GAGIsB,IAAqB,CAACC,MAA8B;;AACxD,IAAKN,KAELA,EAAe;AAAA,MACb,gBAAgBM,MAAU,WAAwBC,KAAAC,IAAAhB,EAAQ,SAAR,gBAAAgB,EAAeF,OAAf,OAAZ,SAAYC,EAAwBlB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH,GAEMoB,IAAQxB,EAAe;AAAA,IAC3BY;AAAA,KACAU,KAAAC,IAAAV,KAAA,gBAAAA,EAAmB,SAAnB,gBAAAU,EAA0B,OAA1B,gBAAAD,EAA+BV,EAAkB;AAAA,EAAI,GAGjDa,IAAUC;AAAA,IACdC,EAAsBrB,GAASR,CAAK;AAAA,MACpC8B,IAAA9B,EAAM,OAAO,uBAAb,gBAAA8B,EAAiC,YAAW,CAAA;AAAA,EAAC;AAG/C,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMvB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,aAAAJ;AAAA,MACA,OAAAQ;AAAA,MACA,UAAAM;AAAA,MAEA,UAAAY,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAAP;AAAA,UACA,UAAUV;AAAA,UACV,MAAAI;AAAA,UACA,SAAAO;AAAA,UACA,YAAAjB;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBU;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { m as S, j as l, D } from "./Color.type.emb-
|
|
1
|
+
import { m as S, j as l, D } from "./Color.type.emb-Chs0ckWV.js";
|
|
2
2
|
import { useTheme as b } from "@embeddable.com/react";
|
|
3
|
-
import { g as v, a as M } from "./pies.utils-
|
|
4
|
-
import { a as _, r as k } from "./component.inputs.constants-
|
|
5
|
-
import { C as w } from "./ChartCard-
|
|
3
|
+
import { g as v, a as M } from "./pies.utils-Cwg8P8bS.js";
|
|
4
|
+
import { a as _, r as k } from "./component.inputs.constants-DMsQ1KIy.js";
|
|
5
|
+
import { C as w } from "./ChartCard-OT66j3V3.js";
|
|
6
6
|
const L = (s) => {
|
|
7
7
|
var n;
|
|
8
8
|
const e = b();
|
|
@@ -60,4 +60,4 @@ export {
|
|
|
60
60
|
L as D,
|
|
61
61
|
z as i
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=index-
|
|
63
|
+
//# sourceMappingURL=index-BBNdJ1lY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-
|
|
1
|
+
{"version":3,"file":"index-BBNdJ1lY.js","sources":["../src/components/charts/pies/DonutChartPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getPieChartProOptions, getPieChartProData } from '../pies.utils';\nimport { DefaultPieChartProps } from '../pies.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { DonutChart } from '@embeddable.com/remarkable-ui';\nimport { mergician } from 'mergician';\nimport { resolveI18nProps } from '../../../component.utils';\n\ntype DonutChartProProps = DefaultPieChartProps;\n\nconst DonutChartPro = (props: DonutChartProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n maxLegendItems,\n measure,\n results,\n showLegend,\n showTooltips,\n showValueLabels,\n title,\n onSegmentClick,\n } = resolveI18nProps(props);\n\n const { hideMenu } = props;\n\n const data = getPieChartProData(\n { data: results.data, dimension, measure, maxLegendItems },\n theme,\n );\n\n const options = mergician(\n getPieChartProOptions(measure, theme),\n theme.charts.donutChartPro?.options ?? {},\n );\n\n const handleSegmentClick = (index: number | undefined) => {\n if (!onSegmentClick) return;\n onSegmentClick({\n dimensionValue: index === undefined ? undefined : results.data?.[index]?.[dimension.name],\n });\n };\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n hideMenu={hideMenu}\n >\n <DonutChart\n data={data}\n options={options}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n onSegmentClick={handleSegmentClick}\n />\n </ChartCard>\n );\n};\n\nexport default DonutChartPro;\n"],"names":["DonutChartPro","props","theme","useTheme","i18nSetup","description","dimension","maxLegendItems","measure","results","showLegend","showTooltips","showValueLabels","title","onSegmentClick","resolveI18nProps","hideMenu","data","getPieChartProData","options","mergician","getPieChartProOptions","_a","handleSegmentClick","index","_b","jsx","ChartCard","DonutChart"],"mappings":";;;;;AAYA,MAAMA,IAAgB,CAACC,MAA8B;;AACnD,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpB,EAAE,UAAAe,MAAaf,GAEfgB,IAAOC;AAAA,IACX,EAAE,MAAMT,EAAQ,MAAM,WAAAH,GAAW,SAAAE,GAAS,gBAAAD,EAAA;AAAA,IAC1CL;AAAA,EAAA,GAGIiB,IAAUC;AAAA,IACdC,EAAsBb,GAASN,CAAK;AAAA,MACpCoB,IAAApB,EAAM,OAAO,kBAAb,gBAAAoB,EAA4B,YAAW,CAAA;AAAA,EAAC,GAGpCC,IAAqB,CAACC,MAA8B;;AACxD,IAAKV,KACLA,EAAe;AAAA,MACb,gBAAgBU,MAAU,WAAwBC,KAAAH,IAAAb,EAAQ,SAAR,gBAAAa,EAAeE,OAAf,OAAZ,SAAYC,EAAwBnB,EAAU;AAAA,IAAI,CACzF;AAAA,EACH;AAEA,SACEoB,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMlB;AAAA,MACN,uBAAuB,CAACH,GAAWE,CAAO;AAAA,MAC1C,cAAcC,EAAQ;AAAA,MACtB,aAAAJ;AAAA,MACA,OAAAQ;AAAA,MACA,UAAAG;AAAA,MAEA,UAAAU,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAX;AAAA,UACA,SAAAE;AAAA,UACA,YAAAT;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,gBAAgBW;AAAA,QAAA;AAAA,MAAA;AAAA,IAClB;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { m as T, j as t, B as w } from "./Color.type.emb-Chs0ckWV.js";
|
|
2
|
+
import { useTheme as z } from "@embeddable.com/react";
|
|
3
|
+
import { a as G, r as _ } from "./component.inputs.constants-DMsQ1KIy.js";
|
|
4
|
+
import { C as v } from "./ChartCard-OT66j3V3.js";
|
|
5
|
+
import { b as H, a as O } from "./bars.utils-DzcvCtRj.js";
|
|
6
|
+
import { u as R } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
+
import { C as k } from "./ChartGranularitySelectField-awLCjaEw.js";
|
|
8
|
+
const D = (o) => {
|
|
9
|
+
var d, h;
|
|
10
|
+
const e = z();
|
|
11
|
+
G(e);
|
|
12
|
+
const { tooltip: i, description: n, title: l, xAxisLabel: p, yAxisLabel: c } = _(o), {
|
|
13
|
+
yAxis: r,
|
|
14
|
+
hideMenu: x,
|
|
15
|
+
groupBy: m,
|
|
16
|
+
measure: a,
|
|
17
|
+
reverseYAxis: g,
|
|
18
|
+
showLegend: C,
|
|
19
|
+
showLogarithmicScale: f,
|
|
20
|
+
showTooltips: b,
|
|
21
|
+
showTotalLabels: y,
|
|
22
|
+
showValueLabels: B,
|
|
23
|
+
xAxisRangeMax: M,
|
|
24
|
+
xAxisRangeMin: j,
|
|
25
|
+
setGranularity: A,
|
|
26
|
+
onBarClicked: S
|
|
27
|
+
} = o, s = R({
|
|
28
|
+
results: o.results,
|
|
29
|
+
dimension: r
|
|
30
|
+
}), u = H(
|
|
31
|
+
{
|
|
32
|
+
data: s.data,
|
|
33
|
+
dimension: r,
|
|
34
|
+
groupDimension: m,
|
|
35
|
+
measure: a
|
|
36
|
+
},
|
|
37
|
+
e
|
|
38
|
+
), L = T(
|
|
39
|
+
O(
|
|
40
|
+
{ measures: [a], horizontal: !0, onBarClicked: S, data: u, dimension: r },
|
|
41
|
+
e
|
|
42
|
+
),
|
|
43
|
+
((h = (d = e.charts) == null ? void 0 : d.barChartGroupedHorizontalPro) == null ? void 0 : h.options) || {}
|
|
44
|
+
), P = !l && !n && !i;
|
|
45
|
+
return /* @__PURE__ */ t.jsxs(
|
|
46
|
+
v,
|
|
47
|
+
{
|
|
48
|
+
data: s,
|
|
49
|
+
dimensionsAndMeasures: [a, r, m],
|
|
50
|
+
errorMessage: s.error,
|
|
51
|
+
description: n,
|
|
52
|
+
title: l,
|
|
53
|
+
tooltip: i,
|
|
54
|
+
hideMenu: x,
|
|
55
|
+
children: [
|
|
56
|
+
/* @__PURE__ */ t.jsx(
|
|
57
|
+
k,
|
|
58
|
+
{
|
|
59
|
+
hasMarginTop: P,
|
|
60
|
+
dimension: r,
|
|
61
|
+
onChange: A
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ t.jsx(
|
|
65
|
+
w,
|
|
66
|
+
{
|
|
67
|
+
data: u,
|
|
68
|
+
showLegend: C,
|
|
69
|
+
showTooltips: b,
|
|
70
|
+
showValueLabels: B,
|
|
71
|
+
showLogarithmicScale: f,
|
|
72
|
+
xAxisLabel: p,
|
|
73
|
+
yAxisLabel: c,
|
|
74
|
+
reverseYAxis: g,
|
|
75
|
+
xAxisRangeMin: j,
|
|
76
|
+
xAxisRangeMax: M,
|
|
77
|
+
showTotalLabels: y,
|
|
78
|
+
options: L,
|
|
79
|
+
horizontal: !0
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
);
|
|
85
|
+
}, K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
86
|
+
__proto__: null,
|
|
87
|
+
default: D
|
|
88
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
89
|
+
export {
|
|
90
|
+
D as B,
|
|
91
|
+
K as i
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=index-BJ0atkgQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BJ0atkgQ.js","sources":["../src/components/charts/bars/BarChartGroupedHorizontalPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\ntype BarChartGroupedHorizontalProProps = {\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n yAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n setGranularity: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartGroupedHorizontalPro = (props: BarChartGroupedHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n yAxis,\n hideMenu,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n xAxisRangeMax,\n xAxisRangeMin,\n setGranularity,\n onBarClicked,\n } = props;\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 },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartGroupedHorizontalPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\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 horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartGroupedHorizontalPro;\n"],"names":["BarChartGroupedHorizontalPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","yAxis","hideMenu","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart"],"mappings":";;;;;;;AAkCA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,SAAAG,GAAS,aAAAC,GAAa,OAAAC,GAAO,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBT,CAAK,GAEhF;AAAA,IACJ,OAAAU;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEvB,GAEEwB,IAAUC,EAAY;AAAA,IAC1B,SAASzB,EAAM;AAAA,IACf,WAAWU;AAAA,EAAA,CACZ,GAEKgB,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWd;AAAA,MACX,gBAAgBE;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFZ;AAAA,EAAA,GAGI2B,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAACjB,CAAO,GAAG,YAAY,IAAM,cAAAU,GAAc,MAAAG,GAAM,WAAWhB,EAAA;AAAA,MACxET;AAAA,IAAA;AAAA,MAEF8B,KAAAC,IAAA/B,EAAM,WAAN,gBAAA+B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAAC3B,KAAS,CAACD,KAAe,CAACD;AAEnE,SACE8B,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAACX,GAASH,GAAOE,CAAO;AAAA,MAC/C,cAAcY,EAAQ;AAAA,MACtB,aAAAnB;AAAA,MACA,OAAAC;AAAA,MACA,SAAAF;AAAA,MACA,UAAAO;AAAA,MAEA,UAAA;AAAA,QAAAyB,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAWvB;AAAA,YACX,UAAUY;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZc,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAZ;AAAA,YACA,YAAAX;AAAA,YACA,cAAAE;AAAA,YACA,iBAAAE;AAAA,YACA,sBAAAH;AAAA,YACA,YAAAT;AAAA,YACA,YAAAC;AAAA,YACA,cAAAM;AAAA,YACA,eAAAO;AAAA,YACA,eAAAD;AAAA,YACA,iBAAAF;AAAA,YACA,SAAAU;AAAA,YACA,YAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACZ;AAAA,IAAA;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { j as l, S as b } from "./Color.type.emb-Chs0ckWV.js";
|
|
2
|
+
import { g as j } from "./formatter.utils-wIg0a9Bk.js";
|
|
3
|
+
import { useTheme as v } from "@embeddable.com/react";
|
|
4
|
+
import { E as x } from "./EditorCard-C79wijeo.js";
|
|
5
|
+
import { r as F, i as M } from "./component.inputs.constants-DMsQ1KIy.js";
|
|
6
|
+
const _ = 200, P = (n) => {
|
|
7
|
+
var i, r;
|
|
8
|
+
const m = v(), c = j(m), { title: d, description: p, dimension: t, placeholder: u, tooltip: g } = F(n), { optionalSecondDimension: a, results: o, selectedValue: S, setSearchValue: h, onChange: s } = n, f = ((i = o.data) == null ? void 0 : i.map((e) => ({
|
|
9
|
+
value: a ? e[a.name] : e[t.name],
|
|
10
|
+
label: c.data(t, e[t.name])
|
|
11
|
+
}))) ?? [], O = !o.isLoading && (((r = o.data) == null ? void 0 : r.length) ?? 0) === 0;
|
|
12
|
+
return /* @__PURE__ */ l.jsx(x, { title: d, description: p, tooltip: g, children: /* @__PURE__ */ l.jsx(
|
|
13
|
+
b,
|
|
14
|
+
{
|
|
15
|
+
clearable: !0,
|
|
16
|
+
searchable: !0,
|
|
17
|
+
isLoading: o.isLoading,
|
|
18
|
+
value: S,
|
|
19
|
+
options: f,
|
|
20
|
+
placeholder: u,
|
|
21
|
+
noOptionsMessage: O ? M.t("common.noOptionsFound") : void 0,
|
|
22
|
+
onChange: (e) => s == null ? void 0 : s(e),
|
|
23
|
+
onSearch: h,
|
|
24
|
+
avoidCollisions: !1
|
|
25
|
+
}
|
|
26
|
+
) });
|
|
27
|
+
}, I = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
28
|
+
__proto__: null,
|
|
29
|
+
MAX_OPTIONS: _,
|
|
30
|
+
default: P
|
|
31
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
32
|
+
export {
|
|
33
|
+
_ as M,
|
|
34
|
+
P as S,
|
|
35
|
+
I as i
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=index-BNh5_nFd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BNh5_nFd.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\ntype SingleSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue?: string;\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = props;\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue: string) => onChange?.(newValue)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AASO,MAAMA,IAAc,KAarBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC,EAAE,OAAAI,GAAO,aAAAC,GAAa,WAAAC,GAAW,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GAChF,EAAE,yBAAAW,GAAyB,SAAAC,GAAS,eAAAC,GAAe,gBAAAC,GAAgB,UAAAC,MAAaf,GAEhFgB,MACJC,IAAAL,EAAQ,SAAR,gBAAAK,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOP,IAA0BO,EAAKP,EAAwB,IAAI,IAAIO,EAAKX,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWW,EAAKX,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFY,IAA+B,CAACP,EAAQ,gBAAcQ,IAAAR,EAAQ,SAAR,gBAAAQ,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAjB,GAAc,aAAAC,GAA0B,SAAAG,GAClD,UAAAY,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,YAAU;AAAA,MACV,WAAWX,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAG;AAAA,MACA,aAAAR;AAAA,MACA,kBAAkBW,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAqBV,KAAA,gBAAAA,EAAWU;AAAA,MAC3C,UAAUX;AAAA,MACV,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;;"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { j as u, q as j } from "./Color.type.emb-Chs0ckWV.js";
|
|
2
|
+
import { useTheme as x } from "@embeddable.com/react";
|
|
3
|
+
import { a as O, r as S, i as G } from "./component.inputs.constants-DMsQ1KIy.js";
|
|
4
|
+
import { C as _ } from "./ChartCard-OT66j3V3.js";
|
|
5
|
+
import { useRef as B } from "react";
|
|
6
|
+
import { u as c } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
+
import { g as f } from "./formatter.utils-wIg0a9Bk.js";
|
|
8
|
+
import { u as k } from "./tables.hooks-BQdyUxau.js";
|
|
9
|
+
const N = (e, t) => {
|
|
10
|
+
const o = f(t);
|
|
11
|
+
return e.measures.map((s) => {
|
|
12
|
+
var a, n;
|
|
13
|
+
return {
|
|
14
|
+
key: s.name,
|
|
15
|
+
label: o.dimensionOrMeasureTitle(s),
|
|
16
|
+
showAsPercentage: !!((a = s.inputs) != null && a.showAsPercentage),
|
|
17
|
+
percentageDecimalPlaces: ((n = s.inputs) == null ? void 0 : n.decimalPlaces) ?? 1,
|
|
18
|
+
accessor: (r) => r[s.name] == null ? e.displayNullAs : o.data(s, r[s.name])
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
}, d = (e, t) => {
|
|
22
|
+
const o = f(t);
|
|
23
|
+
return {
|
|
24
|
+
key: e.dimension.name,
|
|
25
|
+
label: o.dimensionOrMeasureTitle(e.dimension),
|
|
26
|
+
formatValue: (s) => o.data(e.dimension, s)
|
|
27
|
+
};
|
|
28
|
+
}, W = (e) => e.filter((t) => {
|
|
29
|
+
var o;
|
|
30
|
+
return (o = t.inputs) == null ? void 0 : o.showColumnTotal;
|
|
31
|
+
}).map((t) => t.name), q = (e) => e.filter((t) => {
|
|
32
|
+
var o;
|
|
33
|
+
return (o = t.inputs) == null ? void 0 : o.showRowTotal;
|
|
34
|
+
}).map((t) => t.name), z = (e) => {
|
|
35
|
+
var m;
|
|
36
|
+
const t = x();
|
|
37
|
+
O(t);
|
|
38
|
+
const { title: o, description: s, tooltip: a } = S(e), {
|
|
39
|
+
measures: n,
|
|
40
|
+
rowDimension: r,
|
|
41
|
+
columnDimension: i,
|
|
42
|
+
displayNullAs: p,
|
|
43
|
+
columnWidth: T,
|
|
44
|
+
firstColumnWidth: v,
|
|
45
|
+
hideMenu: h
|
|
46
|
+
} = e, w = Array.from(
|
|
47
|
+
new Set((e.results.data ?? []).filter(Boolean).map((l) => l[i.name]))
|
|
48
|
+
), P = Array.from(
|
|
49
|
+
new Set((e.results.data ?? []).filter(Boolean).map((l) => l[r.name]))
|
|
50
|
+
), g = c({
|
|
51
|
+
results: e.results,
|
|
52
|
+
dimension: i
|
|
53
|
+
}), F = c({
|
|
54
|
+
results: g,
|
|
55
|
+
dimension: r
|
|
56
|
+
}), C = k({
|
|
57
|
+
results: F,
|
|
58
|
+
columnOrder: w,
|
|
59
|
+
rowOrder: P,
|
|
60
|
+
columnDimension: i,
|
|
61
|
+
rowDimension: r,
|
|
62
|
+
measures: n
|
|
63
|
+
}), b = B(null), D = N({ measures: n, displayNullAs: p }, t), R = d({ dimension: r }, t), y = d({ dimension: i }, t), M = W(n), A = q(n);
|
|
64
|
+
return /* @__PURE__ */ u.jsx(
|
|
65
|
+
_,
|
|
66
|
+
{
|
|
67
|
+
ref: b,
|
|
68
|
+
title: o,
|
|
69
|
+
description: s,
|
|
70
|
+
tooltip: a,
|
|
71
|
+
data: e.results,
|
|
72
|
+
dimensionsAndMeasures: [r, i, ...n],
|
|
73
|
+
errorMessage: (m = e.results) == null ? void 0 : m.error,
|
|
74
|
+
hideMenu: h,
|
|
75
|
+
children: /* @__PURE__ */ u.jsx(
|
|
76
|
+
j,
|
|
77
|
+
{
|
|
78
|
+
firstColumnWidth: v,
|
|
79
|
+
columnWidth: T,
|
|
80
|
+
totalLabel: G.t("charts.pivotTable.total"),
|
|
81
|
+
data: C,
|
|
82
|
+
measures: D,
|
|
83
|
+
rowDimension: R,
|
|
84
|
+
columnDimension: y,
|
|
85
|
+
columnTotalsFor: M,
|
|
86
|
+
rowTotalsFor: A
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
}, U = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
92
|
+
__proto__: null,
|
|
93
|
+
default: z
|
|
94
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
95
|
+
export {
|
|
96
|
+
z as P,
|
|
97
|
+
U as i
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=index-BPkVCSJK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BPkVCSJK.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useRef } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype PivotTableProProps = {\n results: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n measures,\n rowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","rowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","jsx","ChartCard","PivotTable","i18n"],"mappings":";;;;;;;;AAOO,MAAMA,IAAmB,CAC9BC,GACAC,MACqC;AACrC,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAOD,EAAM,SAAS,IAAI,CAACI,MAAY;;AACrC,WAAO;AAAA,MACL,KAAKA,EAAQ;AAAA,MACb,OAAOF,EAAe,wBAAwBE,CAAO;AAAA,MACrD,kBAAkB,IAAQC,IAAAD,EAAQ,WAAR,QAAAC,EAAgB;AAAA,MAC1C,2BAAyBC,IAAAF,EAAQ,WAAR,gBAAAE,EAAgB,kBAAiB;AAAA,MAC1D,UAAU,CAACC,MACKA,EAAIH,EAAQ,IAAI,KAEd,OACZJ,EAAM,gBACNE,EAAe,KAAKE,GAASG,EAAIH,EAAQ,IAAI,CAAC;AAAA,IACpD;AAAA,EAEJ,CAAC;AACH,GAEaI,IAAoB,CAC/BR,GACAC,MAC6D;AAC7D,QAAMC,IAAiBC,EAAkBF,CAAK;AAE9C,SAAO;AAAA,IACL,KAAKD,EAAM,UAAU;AAAA,IACrB,OAAOE,EAAe,wBAAwBF,EAAM,SAAS;AAAA,IAC7D,aAAa,CAACS,MAAkBP,EAAe,KAAKF,EAAM,WAAWS,CAAK;AAAA,EAAA;AAE9E,GAEaC,IAA0B,CACrCC,MAEOA,EAAS,OAAO,CAACC,MAAA;;AAAM,UAAAP,IAAAO,EAAE,WAAF,gBAAAP,EAAU;AAAA,CAAe,EAAE,IAAI,CAACO,MAAMA,EAAE,IAAI,GAG/DC,IAAuB,CAClCF,MAEOA,EAAS,OAAO,CAACC,MAAA;;AAAM,UAAAP,IAAAO,EAAE,WAAF,gBAAAP,EAAU;AAAA,CAAY,EAAE,IAAI,CAACO,MAAMA,EAAE,IAAI,GCvBnEE,IAAgB,CAACd,MAA8B;;AACnD,QAAMC,IAAQc,EAAA;AACd,EAAAC,EAAUf,CAAK;AAEf,QAAM,EAAE,OAAAgB,GAAO,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAiBpB,CAAK,GACxD;AAAA,IACJ,UAAAW;AAAA,IACA,cAAAU;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,aAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACE1B,GAEE2B,IAAc,MAAM;AAAA,IACxB,IAAI,KAAK3B,EAAM,QAAQ,QAAQ,CAAA,GAAI,OAAO,OAAO,EAAE,IAAI,CAAC4B,MAAMA,EAAEN,EAAgB,IAAI,CAAC,CAAC;AAAA,EAAA,GAGlFO,IAAW,MAAM;AAAA,IACrB,IAAI,KAAK7B,EAAM,QAAQ,QAAQ,CAAA,GAAI,OAAO,OAAO,EAAE,IAAI,CAAC4B,MAAMA,EAAEP,EAAa,IAAI,CAAC,CAAC;AAAA,EAAA,GAI/ES,IAAiCC,EAAY;AAAA,IACjD,SAAS/B,EAAM;AAAA,IACf,WAAWsB;AAAA,EAAA,CACZ,GAGKU,IAAoCD,EAAY;AAAA,IACpD,SAASD;AAAA,IACT,WAAWT;AAAA,EAAA,CACZ,GAEKY,IAAUC,EAAyB;AAAA,IACvC,SAASF;AAAA,IACT,aAAAL;AAAA,IACA,UAAAE;AAAA,IACA,iBAAAP;AAAA,IACA,cAAAD;AAAA,IACA,UAAAV;AAAA,EAAA,CACD,GAEKwB,IAAiBC,EAAuB,IAAI,GAE5CC,IAAgBtC,EAAiB,EAAE,UAAAY,GAAU,eAAAY,EAAA,GAAiBtB,CAAK,GACnEqC,IAAoB9B,EAAkB,EAAE,WAAWa,EAAA,GAAgBpB,CAAK,GACxEsC,IAAuB/B,EAAkB,EAAE,WAAWc,EAAA,GAAmBrB,CAAK,GAC9EuC,IAAuB9B,EAAwBC,CAAQ,GACvD8B,IAAoB5B,EAAqBF,CAAQ;AACvD,SACE+B,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKR;AAAA,MACL,OAAAlB;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,MACA,MAAMnB,EAAM;AAAA,MACZ,uBAAuB,CAACqB,GAAcC,GAAiB,GAAGX,CAAQ;AAAA,MAClE,eAAcN,IAAAL,EAAM,YAAN,gBAAAK,EAAe;AAAA,MAC7B,UAAAqB;AAAA,MAEA,UAAAgB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,kBAAAnB;AAAA,UACA,aAAAD;AAAA,UACA,YAAYqB,EAAK,EAAE,yBAAyB;AAAA,UAC5C,MAAMZ;AAAA,UACN,UAAUI;AAAA,UACV,cAAcC;AAAA,UACd,iBAAiBC;AAAA,UACjB,iBAAiBC;AAAA,UACjB,cAAcC;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { m as T, j as s, B as k } from "./Color.type.emb-Chs0ckWV.js";
|
|
2
|
+
import { useTheme as w } from "@embeddable.com/react";
|
|
3
|
+
import { a as z, r as _ } from "./component.inputs.constants-DMsQ1KIy.js";
|
|
4
|
+
import { C as v } from "./ChartCard-OT66j3V3.js";
|
|
5
|
+
import { b as G, a as H } from "./bars.utils-DzcvCtRj.js";
|
|
6
|
+
import { u as O } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
+
import { C as R } from "./ChartGranularitySelectField-awLCjaEw.js";
|
|
8
|
+
const D = (e) => {
|
|
9
|
+
var d, c;
|
|
10
|
+
const a = w();
|
|
11
|
+
z(a);
|
|
12
|
+
const { tooltip: i, description: n, title: l, xAxisLabel: h, yAxisLabel: p } = _(e), {
|
|
13
|
+
hideMenu: x,
|
|
14
|
+
groupBy: m,
|
|
15
|
+
measure: t,
|
|
16
|
+
reverseYAxis: g,
|
|
17
|
+
showLegend: C,
|
|
18
|
+
showLogarithmicScale: f,
|
|
19
|
+
showTooltips: b,
|
|
20
|
+
showTotalLabels: y,
|
|
21
|
+
showValueLabels: S,
|
|
22
|
+
yAxis: r,
|
|
23
|
+
xAxisRangeMax: A,
|
|
24
|
+
xAxisRangeMin: B,
|
|
25
|
+
setGranularity: M,
|
|
26
|
+
onBarClicked: j
|
|
27
|
+
} = e, o = O({
|
|
28
|
+
results: e.results,
|
|
29
|
+
dimension: e.yAxis
|
|
30
|
+
}), u = G(
|
|
31
|
+
{
|
|
32
|
+
data: o.data,
|
|
33
|
+
dimension: r,
|
|
34
|
+
groupDimension: m,
|
|
35
|
+
measure: t
|
|
36
|
+
},
|
|
37
|
+
a
|
|
38
|
+
), L = T(
|
|
39
|
+
H(
|
|
40
|
+
{ measures: [t], horizontal: !0, onBarClicked: j, data: u, dimension: r },
|
|
41
|
+
a
|
|
42
|
+
),
|
|
43
|
+
((c = (d = a.charts) == null ? void 0 : d.barChartStackedHorizontalPro) == null ? void 0 : c.options) || {}
|
|
44
|
+
), P = !l && !n && !i;
|
|
45
|
+
return /* @__PURE__ */ s.jsxs(
|
|
46
|
+
v,
|
|
47
|
+
{
|
|
48
|
+
data: o,
|
|
49
|
+
dimensionsAndMeasures: [t, r, m],
|
|
50
|
+
errorMessage: o.error,
|
|
51
|
+
description: n,
|
|
52
|
+
title: l,
|
|
53
|
+
tooltip: i,
|
|
54
|
+
hideMenu: x,
|
|
55
|
+
children: [
|
|
56
|
+
/* @__PURE__ */ s.jsx(
|
|
57
|
+
R,
|
|
58
|
+
{
|
|
59
|
+
hasMarginTop: P,
|
|
60
|
+
dimension: r,
|
|
61
|
+
onChange: M
|
|
62
|
+
}
|
|
63
|
+
),
|
|
64
|
+
/* @__PURE__ */ s.jsx(
|
|
65
|
+
k,
|
|
66
|
+
{
|
|
67
|
+
data: u,
|
|
68
|
+
showLegend: C,
|
|
69
|
+
showTooltips: b,
|
|
70
|
+
showValueLabels: S,
|
|
71
|
+
showLogarithmicScale: f,
|
|
72
|
+
xAxisLabel: h,
|
|
73
|
+
yAxisLabel: p,
|
|
74
|
+
reverseYAxis: g,
|
|
75
|
+
xAxisRangeMin: B,
|
|
76
|
+
xAxisRangeMax: A,
|
|
77
|
+
showTotalLabels: y,
|
|
78
|
+
options: L,
|
|
79
|
+
stacked: !0,
|
|
80
|
+
horizontal: !0
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
);
|
|
86
|
+
}, K = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
87
|
+
__proto__: null,
|
|
88
|
+
default: D
|
|
89
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
90
|
+
export {
|
|
91
|
+
D as B,
|
|
92
|
+
K as i
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=index-Bhm26I4T.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Bhm26I4T.js","sources":["../src/components/charts/bars/BarChartStackedHorizontalPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProOptions, getBarStackedChartProData } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\ntype BarChartHorizontalStackedProProps = {\n groupBy: Dimension;\n measure: Measure;\n results: DataResponse;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showTotalLabels?: boolean;\n showValueLabels?: boolean;\n yAxis: Dimension;\n xAxisLabel?: string;\n yAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n setGranularity: (granularity: Granularity) => void;\n onBarClicked?: (args: {\n axisDimensionValue: string | null;\n groupingDimensionValue: string | null;\n }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartHorizontalStackedPro = (props: BarChartHorizontalStackedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { tooltip, description, title, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const {\n hideMenu,\n groupBy,\n measure,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showTotalLabels,\n showValueLabels,\n yAxis,\n xAxisRangeMax,\n xAxisRangeMin,\n setGranularity,\n onBarClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: props.yAxis,\n });\n\n const data = getBarStackedChartProData(\n {\n data: results.data,\n dimension: yAxis,\n groupDimension: groupBy,\n measure,\n },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions(\n { measures: [measure], horizontal: true, onBarClicked, data, dimension: yAxis },\n theme,\n ),\n theme.charts?.barChartStackedHorizontalPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure, yAxis, groupBy]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={yAxis}\n onChange={setGranularity}\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 stacked\n horizontal\n />\n </ChartCard>\n );\n};\n\nexport default BarChartHorizontalStackedPro;\n"],"names":["BarChartHorizontalStackedPro","props","theme","useTheme","i18nSetup","tooltip","description","title","xAxisLabel","yAxisLabel","resolveI18nProps","hideMenu","groupBy","measure","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","showTotalLabels","showValueLabels","yAxis","xAxisRangeMax","xAxisRangeMin","setGranularity","onBarClicked","results","useFillGaps","data","getBarStackedChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart"],"mappings":";;;;;;;AAkCA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,SAAAG,GAAS,aAAAC,GAAa,OAAAC,GAAO,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBT,CAAK,GAEhF;AAAA,IACJ,UAAAU;AAAA,IACA,SAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEvB,GAEEwB,IAAUC,EAAY;AAAA,IAC1B,SAASzB,EAAM;AAAA,IACf,WAAWA,EAAM;AAAA,EAAA,CAClB,GAEK0B,IAAOC;AAAA,IACX;AAAA,MACE,MAAMH,EAAQ;AAAA,MACd,WAAWL;AAAA,MACX,gBAAgBR;AAAA,MAChB,SAAAC;AAAA,IAAA;AAAA,IAEFX;AAAA,EAAA,GAGI2B,IAAUC;AAAA,IACdC;AAAA,MACE,EAAE,UAAU,CAAClB,CAAO,GAAG,YAAY,IAAM,cAAAW,GAAc,MAAAG,GAAM,WAAWP,EAAA;AAAA,MACxElB;AAAA,IAAA;AAAA,MAEF8B,KAAAC,IAAA/B,EAAM,WAAN,gBAAA+B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAAC3B,KAAS,CAACD,KAAe,CAACD;AAEnE,SACE8B,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAACZ,GAASO,GAAOR,CAAO;AAAA,MAC/C,cAAca,EAAQ;AAAA,MACtB,aAAAnB;AAAA,MACA,OAAAC;AAAA,MACA,SAAAF;AAAA,MACA,UAAAM;AAAA,MAEA,UAAA;AAAA,QAAA0B,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAWd;AAAA,YACX,UAAUG;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZc,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,MAAAZ;AAAA,YACA,YAAAZ;AAAA,YACA,cAAAE;AAAA,YACA,iBAAAE;AAAA,YACA,sBAAAH;AAAA,YACA,YAAAR;AAAA,YACA,YAAAC;AAAA,YACA,cAAAK;AAAA,YACA,eAAAQ;AAAA,YACA,eAAAD;AAAA,YACA,iBAAAH;AAAA,YACA,SAAAW;AAAA,YACA,SAAO;AAAA,YACP,YAAU;AAAA,UAAA;AAAA,QAAA;AAAA,MACZ;AAAA,IAAA;AAAA,EAAA;AAGN;;;;"}
|