@embeddable.com/remarkable-pro 0.3.9 → 0.3.12
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/AreaChartPro.js +1 -1
- package/dist/BarChartDefaultHorizontalPro.js +1 -1
- package/dist/BarChartDefaultPro.js +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +1 -1
- package/dist/BarChartGroupedPro.js +1 -1
- package/dist/BarChartStackedHorizontalPro.js +1 -1
- package/dist/BarChartStackedPro.js +1 -1
- package/dist/BarLineChartPro.js +1 -1
- package/dist/BubbleChartPro.js +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
- package/dist/DateRangePickerCustomPro.js +1 -1
- package/dist/DateRangeSelectFieldPro.js +1 -1
- package/dist/{DimensionAndMeasureSingleSelectField-CC5BTau4.js → DimensionAndMeasureSingleSelectField-_jJAx5WA.js} +2 -2
- package/dist/{DimensionAndMeasureSingleSelectField-CC5BTau4.js.map → DimensionAndMeasureSingleSelectField-_jJAx5WA.js.map} +1 -1
- package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
- package/dist/DimensionSingleSelectFieldPro.js +1 -1
- package/dist/DonutChartPro.js +1 -1
- package/dist/DonutLabelChartPro.js +1 -1
- package/dist/FilterBuilderPro.js +1 -1
- package/dist/{GranularitySelectField-D9mv6FF7.js → GranularitySelectField-DqIroVY8.js} +2 -2
- package/dist/{GranularitySelectField-D9mv6FF7.js.map → GranularitySelectField-DqIroVY8.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +1 -1
- package/dist/HeatMapPro.js +1 -1
- package/dist/HorizontalDividerPro.js +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/KpiChartNumberPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartComparisonWithKpiTabsPro.js +1 -1
- package/dist/LineChartDefaultPro.js +1 -1
- package/dist/LineChartGroupedPro.js +1 -1
- package/dist/LineChartWithKpiTabsPro.js +1 -1
- package/dist/MarkdownPro.js +1 -1
- package/dist/MeasureMultiSelectFieldPro.js +1 -1
- package/dist/MeasureSingleSelectFieldPro.js +1 -1
- package/dist/MultiSelectFieldPro.js +1 -1
- package/dist/PieChartPro.js +1 -1
- package/dist/PivotTablePro.js +1 -1
- package/dist/ScatterChartPro.js +1 -1
- package/dist/SingleSelectFieldPro.js +1 -1
- package/dist/TableChartPaginated.js +1 -1
- package/dist/TableScrollable.js +1 -1
- package/dist/TextFieldPro.js +1 -1
- package/dist/{bars.loadData.utils-fZI0VNkB.js → bars.loadData.utils-UhQFoiF3.js} +3 -3
- package/dist/{bars.loadData.utils-fZI0VNkB.js.map → bars.loadData.utils-UhQFoiF3.js.map} +1 -1
- package/dist/{bars.utils-BR7xdKJL.js → bars.utils-BGi2vvkU.js} +3 -3
- package/dist/{bars.utils-BR7xdKJL.js.map → bars.utils-BGi2vvkU.js.map} +1 -1
- package/dist/{charts.fillGaps.hooks-tjjJ-L-X.js → charts.fillGaps.hooks-ImD798b-.js} +34 -34
- package/dist/charts.fillGaps.hooks-ImD798b-.js.map +1 -0
- package/dist/{component.inputs.constants-WqUoEXZX.js → component.inputs.constants-CJRHMXHA.js} +178 -168
- package/dist/component.inputs.constants-CJRHMXHA.js.map +1 -0
- package/dist/components/charts/charts.fillGaps.hooks.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/definition.d.ts +4 -3
- package/dist/components/charts/kpis/KpiChartNumberPro/definition.d.ts.map +1 -1
- package/dist/components/component.subinputs.constants.d.ts +8 -0
- package/dist/components/component.subinputs.constants.d.ts.map +1 -1
- package/dist/{definition-rVkVVeS6.js → definition-3QpYOtAr.js} +3 -3
- package/dist/{definition-rVkVVeS6.js.map → definition-3QpYOtAr.js.map} +1 -1
- package/dist/{definition-CUET0bC2.js → definition-81RJMlxU.js} +3 -3
- package/dist/{definition-CUET0bC2.js.map → definition-81RJMlxU.js.map} +1 -1
- package/dist/{definition-DqaokgFC.js → definition-BAb2u4mc.js} +6 -6
- package/dist/{definition-DqaokgFC.js.map → definition-BAb2u4mc.js.map} +1 -1
- package/dist/{definition-hq9u01ar.js → definition-BLXhy0w7.js} +2 -2
- package/dist/{definition-hq9u01ar.js.map → definition-BLXhy0w7.js.map} +1 -1
- package/dist/{definition-D8XbATlY.js → definition-BObbBhcm.js} +5 -5
- package/dist/{definition-D8XbATlY.js.map → definition-BObbBhcm.js.map} +1 -1
- package/dist/{definition-DeAu3Owr.js → definition-BSCzplhq.js} +3 -3
- package/dist/{definition-DeAu3Owr.js.map → definition-BSCzplhq.js.map} +1 -1
- package/dist/{definition-BWuUDcjc.js → definition-BT_TJ2xu.js} +6 -6
- package/dist/{definition-BWuUDcjc.js.map → definition-BT_TJ2xu.js.map} +1 -1
- package/dist/{definition-DanyoB3T.js → definition-BUb4WQQi.js} +4 -4
- package/dist/{definition-DanyoB3T.js.map → definition-BUb4WQQi.js.map} +1 -1
- package/dist/{definition-BKo_lK59.js → definition-BUjb1Q6D.js} +2 -2
- package/dist/{definition-BKo_lK59.js.map → definition-BUjb1Q6D.js.map} +1 -1
- package/dist/{definition-CUhQEZ6r.js → definition-BVKJiEOy.js} +3 -3
- package/dist/{definition-CUhQEZ6r.js.map → definition-BVKJiEOy.js.map} +1 -1
- package/dist/{definition-o-5gD8vB.js → definition-BWMkkQfu.js} +3 -3
- package/dist/{definition-o-5gD8vB.js.map → definition-BWMkkQfu.js.map} +1 -1
- package/dist/{definition-DvNvLADK.js → definition-BhJTfgLy.js} +3 -3
- package/dist/{definition-DvNvLADK.js.map → definition-BhJTfgLy.js.map} +1 -1
- package/dist/{definition-BNBB0_t9.js → definition-Bhq5zlSY.js} +6 -6
- package/dist/{definition-BNBB0_t9.js.map → definition-Bhq5zlSY.js.map} +1 -1
- package/dist/{definition-C9JkxGxC.js → definition-BhzssiIh.js} +3 -3
- package/dist/{definition-C9JkxGxC.js.map → definition-BhzssiIh.js.map} +1 -1
- package/dist/{definition-7QqFZpBX.js → definition-Bumjg1Nc.js} +5 -5
- package/dist/{definition-7QqFZpBX.js.map → definition-Bumjg1Nc.js.map} +1 -1
- package/dist/definition-BvIUm6Vi.js +82 -0
- package/dist/definition-BvIUm6Vi.js.map +1 -0
- package/dist/{definition-H0k6JdIe.js → definition-BwAHlBSA.js} +3 -3
- package/dist/{definition-H0k6JdIe.js.map → definition-BwAHlBSA.js.map} +1 -1
- package/dist/{definition-a4k4zu-S.js → definition-C7M49DO-.js} +2 -2
- package/dist/{definition-a4k4zu-S.js.map → definition-C7M49DO-.js.map} +1 -1
- package/dist/{definition-DtgG_A8G.js → definition-C9J7qbst.js} +3 -3
- package/dist/{definition-DtgG_A8G.js.map → definition-C9J7qbst.js.map} +1 -1
- package/dist/{definition-Djha-scF.js → definition-CI1F6BYS.js} +4 -4
- package/dist/{definition-Djha-scF.js.map → definition-CI1F6BYS.js.map} +1 -1
- package/dist/{definition-CU5wU8GH.js → definition-CKr3luD3.js} +6 -6
- package/dist/{definition-CU5wU8GH.js.map → definition-CKr3luD3.js.map} +1 -1
- package/dist/{definition-_WRoLhz1.js → definition-CUecLROw.js} +2 -2
- package/dist/{definition-_WRoLhz1.js.map → definition-CUecLROw.js.map} +1 -1
- package/dist/{definition-DkgbKZS3.js → definition-CWC28cKE.js} +2 -2
- package/dist/{definition-DkgbKZS3.js.map → definition-CWC28cKE.js.map} +1 -1
- package/dist/{definition-B-ha7ip9.js → definition-Cc3GuVLL.js} +3 -3
- package/dist/{definition-B-ha7ip9.js.map → definition-Cc3GuVLL.js.map} +1 -1
- package/dist/{definition-oU2ZMz1V.js → definition-Cvmrf_Av.js} +5 -5
- package/dist/{definition-oU2ZMz1V.js.map → definition-Cvmrf_Av.js.map} +1 -1
- package/dist/{definition-B1mBn8UP.js → definition-CzIq3snB.js} +5 -5
- package/dist/{definition-B1mBn8UP.js.map → definition-CzIq3snB.js.map} +1 -1
- package/dist/{definition-BE7dzWJf.js → definition-D5M0-YDz.js} +6 -6
- package/dist/{definition-BE7dzWJf.js.map → definition-D5M0-YDz.js.map} +1 -1
- package/dist/{definition-BrCdk9h7.js → definition-DA1NiTYd.js} +4 -4
- package/dist/{definition-BrCdk9h7.js.map → definition-DA1NiTYd.js.map} +1 -1
- package/dist/{definition-Df9xEGGh.js → definition-DBm7UExP.js} +6 -6
- package/dist/{definition-Df9xEGGh.js.map → definition-DBm7UExP.js.map} +1 -1
- package/dist/{definition-D0Ofarri.js → definition-DCw41pB6.js} +3 -3
- package/dist/{definition-D0Ofarri.js.map → definition-DCw41pB6.js.map} +1 -1
- package/dist/{definition-DwgGLIsi.js → definition-DGm0gnDo.js} +4 -4
- package/dist/{definition-DwgGLIsi.js.map → definition-DGm0gnDo.js.map} +1 -1
- package/dist/{definition-CvLRALjd.js → definition-DOgO1UO1.js} +3 -3
- package/dist/{definition-CvLRALjd.js.map → definition-DOgO1UO1.js.map} +1 -1
- package/dist/{definition-BKTuIe2e.js → definition-DYRmzQG8.js} +5 -5
- package/dist/{definition-BKTuIe2e.js.map → definition-DYRmzQG8.js.map} +1 -1
- package/dist/{definition-BrGnOErk.js → definition-QQGyselv.js} +3 -3
- package/dist/{definition-BrGnOErk.js.map → definition-QQGyselv.js.map} +1 -1
- package/dist/{definition-DwxvVeU1.js → definition-ViiZJXzp.js} +3 -3
- package/dist/{definition-DwxvVeU1.js.map → definition-ViiZJXzp.js.map} +1 -1
- package/dist/{definition-DTw_4bG-.js → definition-WpA0B1mq.js} +5 -5
- package/dist/{definition-DTw_4bG-.js.map → definition-WpA0B1mq.js.map} +1 -1
- package/dist/{definition-DFfB8LEv.js → definition-n2w2opqD.js} +4 -4
- package/dist/{definition-DFfB8LEv.js.map → definition-n2w2opqD.js.map} +1 -1
- package/dist/{definition-Bq-44rMc.js → definition-v65ricVf.js} +2 -2
- package/dist/{definition-Bq-44rMc.js.map → definition-v65ricVf.js.map} +1 -1
- package/dist/{dimensionsAndMeasures.utils-Bkihe1T9.js → dimensionsAndMeasures.utils-6WmCMSx-.js} +2 -2
- package/dist/{dimensionsAndMeasures.utils-Bkihe1T9.js.map → dimensionsAndMeasures.utils-6WmCMSx-.js.map} +1 -1
- package/dist/embeddable-components.json +56 -56
- package/dist/{formatter.utils-CFf9W7Jq.js → formatter.utils-BaA4WFcv.js} +2 -2
- package/dist/{formatter.utils-CFf9W7Jq.js.map → formatter.utils-BaA4WFcv.js.map} +1 -1
- package/dist/{granularity.utils-Ck8am6YG.js → granularity.utils-BXLMSveL.js} +2 -2
- package/dist/{granularity.utils-Ck8am6YG.js.map → granularity.utils-BXLMSveL.js.map} +1 -1
- package/dist/index.js +49 -49
- package/dist/meta/AreaChartPro.meta.json +11 -1
- package/dist/meta/BarChartDefaultHorizontalPro.meta.json +11 -1
- package/dist/meta/BarChartDefaultPro.meta.json +11 -1
- package/dist/meta/BarChartGroupedHorizontalPro.meta.json +11 -1
- package/dist/meta/BarChartGroupedPro.meta.json +11 -1
- package/dist/meta/BarChartStackedHorizontalPro.meta.json +11 -1
- package/dist/meta/BarChartStackedPro.meta.json +11 -1
- package/dist/meta/BarLineChartPro.meta.json +11 -1
- package/dist/meta/HeatMapPro.meta.json +20 -0
- package/dist/meta/LineChartComparisonDefaultPro.meta.json +11 -1
- package/dist/meta/LineChartComparisonWithKpiTabsPro.meta.json +11 -1
- package/dist/meta/LineChartDefaultPro.meta.json +11 -1
- package/dist/meta/LineChartGroupedPro.meta.json +11 -1
- package/dist/meta/LineChartWithKpiTabsPro.meta.json +11 -1
- package/dist/meta/PivotTablePro.meta.json +20 -0
- package/dist/{pies.utils-DmDV0WY9.js → pies.utils-vf7_pmdH.js} +3 -3
- package/dist/{pies.utils-DmDV0WY9.js.map → pies.utils-vf7_pmdH.js.map} +1 -1
- package/dist/{tables.utils-2q0j8fQN.js → tables.utils-Be6yca9d.js} +3 -3
- package/dist/{tables.utils-2q0j8fQN.js.map → tables.utils-Be6yca9d.js.map} +1 -1
- package/dist/{theme.constants-OTt5Bo-V.js → theme.constants-gny2xWxf.js} +3 -3
- package/dist/{theme.constants-OTt5Bo-V.js.map → theme.constants-gny2xWxf.js.map} +1 -1
- package/package.json +1 -1
- package/dist/charts.fillGaps.hooks-tjjJ-L-X.js.map +0 -1
- package/dist/component.inputs.constants-WqUoEXZX.js.map +0 -1
- package/dist/definition-BxGoL7F_.js +0 -80
- package/dist/definition-BxGoL7F_.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.inputs.constants-CJRHMXHA.js","sources":["../src/components/types/DisplayFormat.type.emb.ts","../src/components/types/ExportOption.type.emb.ts","../src/theme/defaults/defaults.GranularityOptions.constants.ts","../src/components/types/Align.type.emb.ts","../src/components/types/TableCellStyle.type.emb.ts","../src/components/component.subinputs.constants.ts","../src/components/types/ComparisonPeriod.type.emb.ts","../src/components/types/SortDirection.type.emb.ts","../src/components/component.inputs.constants.ts"],"sourcesContent":["import { defineOption, defineType } from '@embeddable.com/core';\n\nexport const DisplayFormatTypeOptions = {\n MARKDOWN: 'Markdown',\n JSON: 'Json',\n} as const;\n\nconst DisplayFormatType = defineType('DisplayFormat', {\n label: 'Display format',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(DisplayFormatType, DisplayFormatTypeOptions.MARKDOWN);\ndefineOption(DisplayFormatType, DisplayFormatTypeOptions.JSON);\n\nexport default DisplayFormatType;\n","import { defineOption, defineType } from '@embeddable.com/core';\n\nexport const ExportOptionTypeOptions = {\n csv: 'csv',\n xlsx: 'xlsx',\n png: 'png',\n} as const;\n\nconst ExportOptionType = defineType('exportOption', {\n label: 'Export option',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(ExportOptionType, ExportOptionTypeOptions.csv);\ndefineOption(ExportOptionType, ExportOptionTypeOptions.xlsx);\ndefineOption(ExportOptionType, ExportOptionTypeOptions.png);\n\nexport default ExportOptionType;\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\n\nexport const Granularity = {\n second: 'second',\n minute: 'minute',\n hour: 'hour',\n day: 'day',\n week: 'week',\n month: 'month',\n quarter: 'quarter',\n year: 'year',\n} as const;\n\nexport type TGranularity = keyof typeof Granularity;\nexport type TGranularityValue = (typeof Granularity)[TGranularity];\n\nexport const defaultGranularitySelectFieldOptions: SelectListOptionProps[] = [\n { value: Granularity.second, label: 'defaults.granularityOptions.second|Second' },\n { value: Granularity.minute, label: 'defaults.granularityOptions.minute|Minute' },\n { value: Granularity.hour, label: 'defaults.granularityOptions.hour|Hour' },\n { value: Granularity.day, label: 'defaults.granularityOptions.day|Day' },\n { value: Granularity.week, label: 'defaults.granularityOptions.week|Week' },\n { value: Granularity.month, label: 'defaults.granularityOptions.month|Month' },\n { value: Granularity.quarter, label: 'defaults.granularityOptions.quarter|Quarter' },\n { value: Granularity.year, label: 'defaults.granularityOptions.year|Year' },\n];\n\nexport const granularities = Object.values(Granularity);\n","import { defineOption, defineType } from '@embeddable.com/core';\n\nconst AlignType = defineType('align', {\n label: 'Alignment',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(AlignType, 'left');\ndefineOption(AlignType, 'center');\ndefineOption(AlignType, 'right');\n\nexport default AlignType;\n","import { defineOption, defineType } from '@embeddable.com/core';\n\nconst TableCellStyleType = defineType('tableCellStyle', {\n label: 'Table cell style',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(TableCellStyleType, 'Bold');\ndefineOption(TableCellStyleType, 'Italic');\ndefineOption(TableCellStyleType, 'Positive vs Negative');\n\nexport default TableCellStyleType;\n","import ColorType from '../editors/ColorEditor/Color.type.emb';\nimport { Granularity } from '../theme/defaults/defaults.GranularityOptions.constants';\nimport AlignType from './types/Align.type.emb';\nimport DisplayFormatType from './types/DisplayFormat.type.emb';\nimport TableCellStyleType from './types/TableCellStyle.type.emb';\n\n/* -------------------- */\n/* ----- Generics ----- */\n/* -------------------- */\n\nconst number = {\n name: 'number',\n type: 'number',\n label: 'Number',\n} as const;\n\nconst string = {\n name: 'string',\n type: 'string',\n label: 'String',\n} as const;\n\nconst boolean = {\n name: 'boolean',\n type: 'boolean',\n label: 'Boolean',\n} as const;\n\nconst timeRange = {\n name: 'timeRange',\n type: 'timeRange',\n label: 'Time range',\n} as const;\n\n/* ------------------ */\n/* ----- Common ----- */\n/* ------------------ */\n\nconst width = {\n name: 'width',\n type: 'number',\n label: 'Width',\n description: 'You can input a number in pixels e.g. 400',\n} as const;\n\nconst align = { name: 'align', type: AlignType, label: 'Align' } as const;\n\nconst prefix = { name: 'prefix', type: 'string', label: 'Prefix' } as const;\n\nconst suffix = { name: 'suffix', type: 'string', label: 'Suffix' } as const;\n\nconst displayName = {\n name: 'displayName',\n type: 'string',\n label: 'Display name',\n} as const;\n\nconst maxCharacters = {\n name: 'maxCharacters',\n type: 'number',\n label: 'Maximum characters',\n description: undefined,\n supportedTypes: ['string'],\n} as const;\n\nconst decimalPlaces = {\n name: 'decimalPlaces',\n type: 'number',\n label: 'Decimal places',\n supportedTypes: ['number'],\n} as const;\n\nconst currency = {\n name: 'currency',\n type: 'string',\n label: 'Currency',\n description: 'e.g. EUR',\n supportedTypes: ['number'],\n} as const;\n\nconst abbreviateLargeNumber = {\n name: 'abbreviateLargeNumber',\n type: 'boolean',\n label: 'Abbreviate large number',\n supportedTypes: ['number'],\n} as const;\n\nconst dateBounds = {\n name: 'dateBounds',\n type: 'timeRange',\n label: 'Date bounds',\n description: 'Set the date range for the axis',\n supportedTypes: ['time'],\n} as const;\n\nconst granularity = {\n name: 'granularity',\n type: 'granularity',\n label: 'Granularity',\n supportedTypes: ['time'],\n defaultValue: Granularity.day,\n} as const;\n\nconst color = {\n type: ColorType,\n name: 'color',\n label: 'Color',\n} as const;\n\nconst granularities = {\n name: 'granularities',\n type: 'granularity',\n label: 'Granularities',\n supportedTypes: ['time'],\n array: true,\n // Ignore seconds and minutes\n defaultValue: [\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n} as const;\n\nconst displayFormat = {\n type: DisplayFormatType,\n name: 'displayFormat',\n label: 'Display format',\n} as const;\n\nconst tableCellStyle = {\n type: TableCellStyleType,\n name: 'tableCellStyle',\n label: 'Table cell style',\n} as const;\n\nconst showValueAsPercentage = {\n name: 'showValueAsPercentage',\n type: 'boolean',\n label: 'Show values as percentage',\n defaultValue: false,\n} as const;\n\nconst showGranularityDropdown = {\n type: 'boolean',\n name: 'showGranularityDropdown',\n label: 'Show granularity dropdown',\n description:\n 'Display a granularity selector inside the chart. The Granularity input above is used only as the default when this option is enabled.',\n supportedTypes: ['time'],\n defaultValue: false,\n} as const;\n\nconst ignoreEmptyDate = {\n type: 'boolean',\n name: 'ignoreEmptyDate',\n label: 'Ignore empty dates',\n description: 'When enabled, dates with no data will be omitted instead of shown as empty.',\n supportedTypes: ['time'],\n defaultValue: false,\n} as const;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const dimensionMeasureSubInputs: any[] = [\n prefix,\n suffix,\n displayName,\n maxCharacters,\n decimalPlaces,\n currency,\n abbreviateLargeNumber,\n];\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const timeDimensionSubInputs: any[] = [\n prefix,\n suffix,\n displayName,\n maxCharacters,\n decimalPlaces,\n currency,\n abbreviateLargeNumber,\n granularity,\n dateBounds,\n ignoreEmptyDate,\n];\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const timeDimensionWithGranularitySelectFieldSubInputs: any[] = [\n prefix,\n suffix,\n displayName,\n maxCharacters,\n decimalPlaces,\n currency,\n abbreviateLargeNumber,\n granularity,\n showGranularityDropdown,\n // Not required for now - defaults to day, week, month, quarter, year\n // granularities,\n {\n ...dateBounds,\n description:\n 'Set a date range or connect your primary date-range variable to define the x-axis min and max. If \"Show granularity dropdown\" is enabled, this also enables auto-selection of the most appropriate granularity',\n },\n ignoreEmptyDate,\n];\n\nexport const subInputs = {\n boolean,\n timeRange,\n number,\n string,\n width,\n align,\n prefix,\n suffix,\n displayName,\n maxCharacters,\n decimalPlaces,\n currency,\n abbreviateLargeNumber,\n dateBounds,\n granularity,\n granularities,\n color,\n displayFormat,\n tableCellStyle,\n showGranularityDropdown,\n showValueAsPercentage,\n ignoreEmptyDate,\n};\n","import { defineOption, defineType } from '@embeddable.com/core';\n\nconst ComparisonPeriodType = defineType('comparisonPeriod', {\n label: 'Comparison period',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(ComparisonPeriodType, 'Previous period');\ndefineOption(ComparisonPeriodType, 'Previous week');\ndefineOption(ComparisonPeriodType, 'Previous month');\ndefineOption(ComparisonPeriodType, 'Previous quarter');\ndefineOption(ComparisonPeriodType, 'Previous year');\n\nexport default ComparisonPeriodType;\n","import { defineOption, defineType, OrderDirection } from '@embeddable.com/core';\n\nexport const SortDirectionTypeOptions = {\n asc: 'asc',\n desc: 'desc',\n} as const;\n\nexport const getSortDirectionValue = (\n sortDirection?: OrderDirection,\n): OrderDirection | undefined => {\n if (!sortDirection) return undefined;\n return SortDirectionTypeOptions[sortDirection];\n};\n\nconst sortDirectionLabelMap: Record<OrderDirection, string> = {\n [SortDirectionTypeOptions.asc]: 'Ascending',\n [SortDirectionTypeOptions.desc]: 'Descending',\n};\n\nconst SortDirectionType = defineType('sortDirection', {\n label: 'Sort direction',\n optionLabel: (value: OrderDirection) => sortDirectionLabelMap[value],\n});\n\ndefineOption(SortDirectionType, SortDirectionTypeOptions.asc);\ndefineOption(SortDirectionType, SortDirectionTypeOptions.desc);\n\nexport default SortDirectionType;\n","import ColorType from '../editors/ColorEditor/Color.type.emb';\nimport ExportOptionType, { ExportOptionTypeOptions } from './types/ExportOption.type.emb';\nimport { Granularity } from '../theme/defaults/defaults.GranularityOptions.constants';\nimport {\n dimensionMeasureSubInputs,\n timeDimensionSubInputs,\n timeDimensionWithGranularitySelectFieldSubInputs,\n} from './component.subinputs.constants';\nimport ComparisonPeriodType from './types/ComparisonPeriod.type.emb';\nimport SortDirectionType from './types/SortDirection.type.emb';\nimport MarkdownType from '../editors/MarkdownEditor/Markdown.type.emb';\n\n/* -------------------- */\n/* ----- Generics ----- */\n/* -------------------- */\n\nconst boolean = {\n name: 'boolean',\n type: 'boolean',\n label: 'Boolean',\n} as const;\n\nconst timeRange = {\n name: 'timeRange',\n type: 'timeRange',\n label: 'Time range',\n} as const;\n\nconst number = {\n name: 'number',\n type: 'number',\n label: 'Number',\n} as const;\n\nconst string = {\n name: 'string',\n type: 'string',\n label: 'String',\n} as const;\n\n/* ------------------ */\n/* ----- Common ----- */\n/* ------------------ */\n\nconst title = {\n name: 'title',\n type: 'string',\n label: 'Title',\n category: 'Component Header',\n} as const;\n\nconst description = {\n name: 'description',\n type: 'string',\n label: 'Description',\n category: 'Component Header',\n} as const;\n\nconst tooltip = {\n name: 'tooltip',\n type: 'string',\n label: 'Tooltip',\n category: 'Component Header',\n} as const;\n\nconst dataset = {\n name: 'dataset',\n type: 'dataset',\n label: 'Dataset',\n required: true,\n category: 'Component Data',\n} as const;\n\nconst maxLegendItems = {\n name: 'maxLegendItems',\n type: 'number',\n label: 'Max legend items',\n defaultValue: 10,\n category: 'Component Data',\n} as const;\n\nconst dimension = {\n name: 'dimension',\n type: 'dimension',\n label: 'Dimension',\n config: {\n dataset: 'dataset',\n },\n required: true,\n category: 'Component Data',\n inputs: dimensionMeasureSubInputs,\n} as const;\n\nconst groupBy = {\n ...dimension,\n name: 'groupBy',\n label: 'Group by',\n} as const;\n\nconst granularity = {\n name: 'granularity',\n type: 'granularity',\n label: 'Granularity',\n} as const;\n\nconst granularities = {\n name: 'granularities',\n type: 'granularity',\n label: 'Granularities',\n array: true,\n // Ignore seconds and minutes\n defaultValue: [\n Granularity.hour,\n Granularity.day,\n Granularity.week,\n Granularity.month,\n Granularity.quarter,\n Granularity.year,\n ],\n} as const;\n\nconst dimensionSimple = {\n name: 'dimensionSimple',\n type: 'dimension',\n label: 'Dimension',\n config: {\n dataset: 'dataset',\n hideGranularity: true,\n },\n required: true,\n category: 'Component Data',\n} as const;\n\nconst dimensionTime = {\n name: 'dimensionTime',\n type: 'dimension',\n label: 'Dimension time',\n config: {\n dataset: 'dataset',\n supportedTypes: ['time'],\n hideGranularity: true,\n },\n required: true,\n category: 'Component Data',\n} as const;\n\nconst dimensionWithDateBounds = {\n name: 'dimension',\n type: 'dimension',\n label: 'Dimension',\n config: {\n dataset: 'dataset',\n },\n required: true,\n category: 'Component Data',\n inputs: timeDimensionSubInputs,\n} as const;\n\nconst dimensionWithGranularitySelectField = {\n name: 'dimension',\n type: 'dimension',\n label: 'Dimension',\n config: {\n dataset: 'dataset',\n },\n required: true,\n category: 'Component Data',\n inputs: timeDimensionWithGranularitySelectFieldSubInputs,\n} as const;\n\nconst dimensions = {\n name: 'dimensions',\n type: 'dimension',\n label: 'Dimensions',\n config: {\n dataset: 'dataset',\n },\n array: true,\n required: true,\n category: 'Component Data',\n inputs: dimensionMeasureSubInputs,\n} as const;\n\nconst dimensionOrMeasure = {\n name: 'dimensionOrMeasure',\n type: 'dimensionOrMeasure',\n label: 'Dimension or measure',\n config: {\n dataset: 'dataset',\n },\n category: 'Component Data',\n inputs: dimensionMeasureSubInputs,\n} as const;\n\nconst sortDimensionOrMeasure = {\n name: 'sortDimensionOrMeasure',\n type: 'dimensionOrMeasure',\n label: 'Sort dimension or measure',\n config: {\n dataset: 'dataset',\n },\n category: 'Component Data',\n inputs: undefined, // No need to show the sub-inputs in the UI for this input\n} as const;\n\nconst dimensionsAndMeasures = {\n name: 'dimensionsAndMeasures',\n type: 'dimensionOrMeasure',\n label: 'Dimensions and measures',\n array: true,\n required: true,\n config: {\n dataset: 'dataset',\n },\n category: 'Component Data',\n inputs: dimensionMeasureSubInputs,\n} as const;\n\nconst measure = {\n name: 'measure',\n type: 'measure',\n label: 'Measure',\n config: {\n dataset: 'dataset',\n },\n required: true,\n category: 'Component Data',\n inputs: dimensionMeasureSubInputs,\n} as const;\n\nconst measures = {\n name: 'measures',\n type: 'measure',\n label: 'Measures',\n array: true,\n config: {\n dataset: 'dataset',\n },\n required: true,\n category: 'Component Data',\n inputs: dimensionMeasureSubInputs,\n} as const;\n\nconst measureOptions = {\n ...measures,\n name: 'measureOptions',\n label: 'Measure options',\n};\n\nconst dimensionOptions = {\n ...dimensions,\n name: 'dimensionOptions',\n label: 'Dimension options',\n};\n\nconst dimensionAndMeasureOptions = {\n ...dimensionsAndMeasures,\n name: 'dimensionAndMeasureOptions',\n label: 'Dimension and measure options',\n};\nconst comparisonPeriod = {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Comparison period',\n category: 'Component data',\n};\n\nconst maxResults = {\n name: 'maxResults',\n type: 'number',\n label: 'Max results',\n category: 'Component Settings',\n defaultValue: 1000,\n} as const;\n\nconst placeholder = {\n name: 'placeholder',\n type: 'string',\n label: 'Placeholder',\n category: 'Component Settings',\n} as const;\n\nconst showLegend = {\n name: 'showLegend',\n type: 'boolean',\n label: 'Show legend',\n defaultValue: true,\n category: 'Component Settings',\n} as const;\n\nconst showTooltips = {\n name: 'showTooltips',\n type: 'boolean',\n label: 'Show tooltips',\n defaultValue: true,\n category: 'Component Settings',\n} as const;\n\nconst showValueLabels = {\n name: 'showValueLabels',\n type: 'boolean',\n label: 'Show value labels',\n defaultValue: true,\n category: 'Component Settings',\n} as const;\n\nconst showTotalLabels = {\n name: 'showTotalLabels',\n type: 'boolean',\n label: 'Show total labels',\n defaultValue: false,\n category: 'Component Settings',\n} as const;\n\nconst showLogarithmicScale = {\n name: 'showLogarithmicScale',\n type: 'boolean',\n label: 'Show logarithmic scale',\n defaultValue: false,\n category: 'Component Settings',\n} as const;\n\nconst displayPercentages = {\n name: 'displayPercentages',\n type: 'boolean',\n label: 'Display percentages',\n defaultValue: false,\n category: 'Component Settings',\n} as const;\n\nconst color = {\n type: ColorType,\n name: 'color',\n label: 'Color',\n category: 'Component Settings',\n} as const;\n\nconst fontSize = {\n type: 'number',\n name: 'fontSize',\n label: 'Font size',\n category: 'Component Settings',\n} as const;\n\nconst clearable = {\n type: 'boolean',\n name: 'clearable',\n label: 'Can be cleared',\n defaultValue: true,\n category: 'Component Settings',\n} as const;\n\nconst displayNullAs = {\n ...string,\n name: 'displayNullAs',\n label: 'Display null as',\n category: 'Component Settings',\n} as const;\n\nconst xAxisLabel = {\n name: 'xAxisLabel',\n type: 'string',\n label: 'X-axis Label',\n category: 'Axes Settings',\n} as const;\n\nconst yAxisLabel = {\n name: 'yAxisLabel',\n type: 'string',\n label: 'Y-axis label',\n category: 'Axes Settings',\n} as const;\n\nconst reverseXAxis = {\n name: 'reverseXAxis',\n type: 'boolean',\n label: 'Reverse x-axis',\n defaultValue: false,\n category: 'Axes Settings',\n} as const;\n\nconst reverseYAxis = {\n name: 'reverseYAxis',\n type: 'boolean',\n label: 'Reverse y-axis',\n defaultValue: false,\n category: 'Axes Settings',\n} as const;\n\nconst yAxisRangeMin = {\n name: 'yAxisRangeMin',\n type: 'number',\n label: 'Y-axis range min',\n category: 'Axes Settings',\n} as const;\n\nconst yAxisRangeMax = {\n name: 'yAxisRangeMax',\n type: 'number',\n label: 'Y-axis range max',\n category: 'Axes Settings',\n} as const;\n\nconst xAxisRangeMin = {\n name: 'xAxisRangeMin',\n type: 'number',\n label: 'X-axis range min',\n category: 'Axes Settings',\n} as const;\n\nconst xAxisRangeMax = {\n name: 'xAxisRangeMax',\n type: 'number',\n label: 'X-axis range max',\n category: 'Axes Settings',\n} as const;\n\nconst xAxisMaxItems = {\n name: 'xAxisMaxItems',\n type: 'number',\n label: 'Max x-axis items',\n category: 'Axes Settings',\n} as const;\n\nconst yAxisMaxItems = {\n name: 'yAxisMaxItems',\n type: 'number',\n label: 'Max y-axis items',\n category: 'Axes Settings',\n} as const;\n\nconst sortDirection = {\n name: 'sortDirection',\n type: SortDirectionType,\n label: 'Sort direction',\n category: 'Component Settings',\n} as const;\n\nconst sortDirectionTopXAxis = {\n ...sortDirection,\n name: 'sortDirectionTopXAxis',\n label: 'Sort by x-axis total',\n} as const;\n\nconst sortDirectionTopYAxis = {\n ...sortDirection,\n name: 'sortDirectionTopYAxis',\n label: 'Sort by y-axis total',\n} as const;\n\nconst limitTopXAxis = {\n name: 'limitTopXAxis',\n type: 'number',\n label: 'Limit top x-axis',\n description: 'Load only the top or bottom categories, based on group totals',\n category: 'Component Settings',\n} as const;\n\nconst limitTopYAxis = {\n name: 'limitTopYAxis',\n type: 'number',\n label: 'Limit top y-axis',\n description: 'Load only the top or bottom categories, based on group totals',\n category: 'Component Settings',\n} as const;\n\nconst markdown = {\n name: 'markdown',\n type: MarkdownType,\n label: 'Markdown',\n description:\n 'All markdown features are supported, including tables, images, links, etc. You can also access translations using {{translation_key|fallback value}}.',\n category: 'Component Settings',\n} as const;\n\nconst filters = {\n type: 'filters',\n name: 'filters',\n label: 'Filters',\n category: 'Pre-configured variables',\n defaultValue: null,\n} as const;\n\nconst xMeasure = {\n ...measure,\n name: 'xMeasure',\n label: 'X-axis measure',\n} as const;\n\nconst yMeasure = {\n ...measure,\n name: 'yMeasure',\n label: 'Y-axis measure',\n} as const;\n\nconst menuOptions = {\n name: 'menuOptions',\n type: ExportOptionType,\n label: 'Menu options',\n array: true,\n defaultValue: [\n ExportOptionTypeOptions.csv,\n ExportOptionTypeOptions.xlsx,\n ExportOptionTypeOptions.png,\n ],\n category: 'Component Settings',\n} as const;\n\nexport const inputs = {\n boolean,\n timeRange,\n number,\n string,\n title,\n description,\n tooltip,\n dataset,\n maxLegendItems,\n dimension,\n groupBy,\n dimensionSimple,\n dimensionTime,\n dimensionWithDateBounds,\n dimensionWithGranularitySelectField,\n dimensions,\n dimensionOrMeasure,\n dimensionsAndMeasures,\n measure,\n xMeasure,\n yMeasure,\n measures,\n measureOptions,\n dimensionOptions,\n dimensionAndMeasureOptions,\n sortDimensionOrMeasure,\n comparisonPeriod,\n maxResults,\n placeholder,\n showLegend,\n showTooltips,\n showValueLabels,\n showTotalLabels,\n showLogarithmicScale,\n displayPercentages,\n color,\n fontSize,\n clearable,\n displayNullAs,\n xAxisLabel,\n yAxisLabel,\n reverseXAxis,\n reverseYAxis,\n yAxisRangeMin,\n yAxisRangeMax,\n xAxisRangeMin,\n xAxisRangeMax,\n xAxisMaxItems,\n yAxisMaxItems,\n sortDirection,\n sortDirectionTopXAxis,\n sortDirectionTopYAxis,\n limitTopXAxis,\n limitTopYAxis,\n granularity,\n granularities,\n markdown,\n filters,\n menuOptions,\n} as const;\n"],"names":["DisplayFormatTypeOptions","DisplayFormatType","defineType","value","defineOption","ExportOptionTypeOptions","ExportOptionType","Granularity","defaultGranularitySelectFieldOptions","granularities","AlignType","TableCellStyleType","number","string","boolean","timeRange","width","align","prefix","suffix","displayName","maxCharacters","decimalPlaces","currency","abbreviateLargeNumber","dateBounds","granularity","color","ColorType","displayFormat","tableCellStyle","showValueAsPercentage","showGranularityDropdown","ignoreEmptyDate","dimensionMeasureSubInputs","timeDimensionSubInputs","timeDimensionWithGranularitySelectFieldSubInputs","subInputs","ComparisonPeriodType","SortDirectionTypeOptions","getSortDirectionValue","sortDirection","sortDirectionLabelMap","SortDirectionType","title","description","tooltip","dataset","maxLegendItems","dimension","groupBy","dimensionSimple","dimensionTime","dimensionWithDateBounds","dimensionWithGranularitySelectField","dimensions","dimensionOrMeasure","sortDimensionOrMeasure","dimensionsAndMeasures","measure","measures","measureOptions","dimensionOptions","dimensionAndMeasureOptions","comparisonPeriod","maxResults","placeholder","showLegend","showTooltips","showValueLabels","showTotalLabels","showLogarithmicScale","displayPercentages","fontSize","clearable","displayNullAs","xAxisLabel","yAxisLabel","reverseXAxis","reverseYAxis","yAxisRangeMin","yAxisRangeMax","xAxisRangeMin","xAxisRangeMax","xAxisMaxItems","yAxisMaxItems","sortDirectionTopXAxis","sortDirectionTopYAxis","limitTopXAxis","limitTopYAxis","markdown","MarkdownType","filters","xMeasure","yMeasure","menuOptions","inputs"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"charts.fillGaps.hooks.d.ts","sourceRoot":"","sources":["../../../src/components/charts/charts.fillGaps.hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAmB1E,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"charts.fillGaps.hooks.d.ts","sourceRoot":"","sources":["../../../src/components/charts/charts.fillGaps.hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAmB1E,KAAK,gBAAgB,GAAG;IACtB,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CA+FjE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DataResponse, LoadDataRequest } from '@embeddable.com/core';
|
|
2
2
|
import { Inputs } from '@embeddable.com/react';
|
|
3
|
+
import { ThemeClientContext } from '../../../../theme/theme.types';
|
|
3
4
|
declare const meta: {
|
|
4
5
|
readonly name: "KpiChartNumberPro";
|
|
5
6
|
readonly label: "Kpi Chart - Number";
|
|
@@ -137,7 +138,7 @@ export declare const kpiChartNumberPro: {
|
|
|
137
138
|
hideMenu: boolean;
|
|
138
139
|
};
|
|
139
140
|
readonly config: {
|
|
140
|
-
readonly props: (inputs: Inputs<typeof meta
|
|
141
|
+
readonly props: (inputs: Inputs<typeof meta>, _state: unknown, clientContext: ThemeClientContext) => {
|
|
141
142
|
results: DataResponse;
|
|
142
143
|
title: string;
|
|
143
144
|
description: string;
|
|
@@ -150,8 +151,8 @@ export declare const kpiChartNumberPro: {
|
|
|
150
151
|
};
|
|
151
152
|
};
|
|
152
153
|
readonly results: {
|
|
153
|
-
readonly loadDataArgs: (inputs: Inputs<typeof meta
|
|
154
|
-
readonly loadData: (inputs: Inputs<typeof meta
|
|
154
|
+
readonly loadDataArgs: (inputs: Inputs<typeof meta>, clientContext?: ThemeClientContext) => LoadDataRequest;
|
|
155
|
+
readonly loadData: (inputs: Inputs<typeof meta>, clientContext: ThemeClientContext) => DataResponse;
|
|
155
156
|
};
|
|
156
157
|
};
|
|
157
158
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/kpis/KpiChartNumberPro/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAwC,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../../../../src/components/charts/kpis/KpiChartNumberPro/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAY,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAwC,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBgC,CAAC;AAoC3C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCARpB,MAAM,CAAC,OAAO,IAAI,CAAC,UACnB,OAAO,iBACA,kBAAkB;;;;;;;;;;;;;wCAlBzB,MAAM,CAAC,OAAO,IAAI,CAAC,kBACX,kBAAkB,KACjC,eAAe;oCASR,MAAM,CAAC,OAAO,IAAI,CAAC,iBACZ,kBAAkB,KAChC,YAAY;;CAuBL,CAAC"}
|
|
@@ -125,5 +125,13 @@ export declare const subInputs: {
|
|
|
125
125
|
readonly label: "Show values as percentage";
|
|
126
126
|
readonly defaultValue: false;
|
|
127
127
|
};
|
|
128
|
+
ignoreEmptyDate: {
|
|
129
|
+
readonly type: "boolean";
|
|
130
|
+
readonly name: "ignoreEmptyDate";
|
|
131
|
+
readonly label: "Ignore empty dates";
|
|
132
|
+
readonly description: "When enabled, dates with no data will be omitted instead of shown as empty.";
|
|
133
|
+
readonly supportedTypes: readonly ["time"];
|
|
134
|
+
readonly defaultValue: false;
|
|
135
|
+
};
|
|
128
136
|
};
|
|
129
137
|
//# sourceMappingURL=component.subinputs.constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.subinputs.constants.d.ts","sourceRoot":"","sources":["../../src/components/component.subinputs.constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"component.subinputs.constants.d.ts","sourceRoot":"","sources":["../../src/components/component.subinputs.constants.ts"],"names":[],"mappings":"AAqKA,eAAO,MAAM,yBAAyB,EAAE,GAAG,EAQ1C,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,GAAG,EAWvC,CAAC;AAGF,eAAO,MAAM,gDAAgD,EAAE,GAAG,EAkBjE,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBrB,CAAC"}
|
|
@@ -2,11 +2,11 @@ import { j as R, K as B, l as S } from "./index-BpJ2xsEV.js";
|
|
|
2
2
|
import { useTheme as E, definePreview as W } from "@embeddable.com/react";
|
|
3
3
|
import { i as J, r as Y, a as m } from "./component.utils-oQMZT7TK.js";
|
|
4
4
|
import { C as $, a as G } from "./ChartCard-jnVaCkEl.js";
|
|
5
|
-
import { g as Q } from "./formatter.utils-
|
|
5
|
+
import { g as Q } from "./formatter.utils-BaA4WFcv.js";
|
|
6
6
|
import { useEffect as U } from "react";
|
|
7
7
|
import { g as X, a as Z } from "./timeRange.utils-kK6r26ZO.js";
|
|
8
8
|
import { g as x } from "./kpis.utils-DsZ2GzuB.js";
|
|
9
|
-
import { i as o } from "./component.inputs.constants-
|
|
9
|
+
import { i as o } from "./component.inputs.constants-CJRHMXHA.js";
|
|
10
10
|
import { p as g } from "./preview.data.constants-DyU7ur6g.js";
|
|
11
11
|
import { g as z } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
12
|
const c = (e) => {
|
|
@@ -203,4 +203,4 @@ export {
|
|
|
203
203
|
ue as i,
|
|
204
204
|
fe as k
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=definition-
|
|
206
|
+
//# sourceMappingURL=definition-3QpYOtAr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-rVkVVeS6.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/components/charts/kpis/KpiChartNumberComparisonPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport {\n ChartCard,\n ChartCardHeaderProps,\n asChartCardHeaderProps,\n} from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\n displayNullAs?: string;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { displayNullAs } = resolvedI18nProps;\n const {\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n if (!setComparisonDateRange) return;\n\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n const resultsWithNullsHandled = getKpiResults(resultsCombined, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n trendFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n noPreviousDataLabel={i18n.t('charts.kpiChart.noPreviousData')}\n equalComparisonLabel={i18n.t('charts.kpiChart.equalComparison')}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { DataResponse, loadData, LoadDataRequest, TimeRange } 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 { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n description:\n 'KPI with a delta versus a comparison period. Takes one measure and pairs with a comparison-period variable.',\n category: 'Kpi Charts',\n defaultHeight: 442,\n defaultWidth: 630,\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description:\n 'The comparison period is derived internally using this date range — do not also apply a date filter on the underlying dataset',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n inputs.menuOptions,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n resultsComparison: previewData.results1MeasureVariant,\n primaryDateRange: undefined,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Today', from: undefined, to: undefined },\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsComparisonArgs = (\n inputs: Inputs<typeof meta>,\n comparisonDateRange: TimeRange,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: comparisonDateRange,\n },\n ],\n});\n\nconst loadDataResultsComparison = (\n inputs: Inputs<typeof meta>,\n state: KpiChartNumberComparisonProState,\n clientContext: ThemeClientContext,\n): DataResponse | undefined => {\n if (inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsComparisonArgs(inputs, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadDataResults(inputs, clientContext),\n resultsComparison: loadDataResultsComparison(inputs, state, clientContext),\n});\n\nexport const kpiChartNumberComparisonPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsComparison: {\n loadDataArgs: loadDataResultsComparisonArgs,\n loadData: loadDataResultsComparison,\n },\n} as const;\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","displayNullAs","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","asChartCardHeaderProps","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsComparisonArgs","loadDataResultsComparison","state","setState","kpiChartNumberComparisonPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-3QpYOtAr.js","sources":["../src/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/components/charts/kpis/KpiChartNumberComparisonPro/definition.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport {\n ChartCard,\n ChartCardHeaderProps,\n asChartCardHeaderProps,\n} from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberComparisonProProp = {\n changeFontSize?: number;\n comparisonPeriod?: string;\n displayChangeAsPercentage?: boolean;\n fontSize?: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n percentageDecimalPlaces?: number;\n comparisonDateRange: TimeRange;\n displayNullAs?: string;\n setComparisonDateRange?: (dateRange: TimeRange) => void;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { displayNullAs } = resolvedI18nProps;\n const {\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n if (!setComparisonDateRange) return;\n\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n const resultsWithNullsHandled = getKpiResults(resultsCombined, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n {...asChartCardHeaderProps(props)}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n comparisonValue={resultsCombined.isLoading ? undefined : comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n trendFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n noPreviousDataLabel={i18n.t('charts.kpiChart.noPreviousData')}\n equalComparisonLabel={i18n.t('charts.kpiChart.equalComparison')}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { DataResponse, loadData, LoadDataRequest, TimeRange } 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 { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n description:\n 'KPI with a delta versus a comparison period. Takes one measure and pairs with a comparison-period variable.',\n category: 'Kpi Charts',\n defaultHeight: 442,\n defaultWidth: 630,\n inputs: [\n inputs.dataset,\n inputs.measure,\n { ...inputs.dimensionTime, name: 'timeProperty', label: 'Time property' },\n {\n ...inputs.timeRange,\n name: 'primaryDateRange',\n label: 'Primary date-range',\n description:\n 'The comparison period is derived internally using this date range — do not also apply a date filter on the underlying dataset',\n category: 'Component Data',\n },\n {\n ...inputs.comparisonPeriod,\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n category: 'Component Settings',\n },\n {\n ...inputs.boolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n category: 'Component Settings',\n },\n inputs.fontSize,\n {\n ...inputs.fontSize,\n name: 'changeFontSize',\n label: 'Trend font-size',\n },\n inputs.menuOptions,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nconst previewConfig = {\n measure: { ...previewData.measure },\n results: previewData.results1Measure,\n resultsComparison: previewData.results1MeasureVariant,\n primaryDateRange: undefined,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Today', from: undefined, to: undefined },\n fontSize: 100,\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsComparisonArgs = (\n inputs: Inputs<typeof meta>,\n comparisonDateRange: TimeRange,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: comparisonDateRange,\n },\n ],\n});\n\nconst loadDataResultsComparison = (\n inputs: Inputs<typeof meta>,\n state: KpiChartNumberComparisonProState,\n clientContext: ThemeClientContext,\n): DataResponse | undefined => {\n if (inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsComparisonArgs(inputs, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => ({\n ...inputs,\n comparisonPeriod: inputs.comparisonPeriod as string | undefined,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadDataResults(inputs, clientContext),\n resultsComparison: loadDataResultsComparison(inputs, state, clientContext),\n});\n\nexport const kpiChartNumberComparisonPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsComparison: {\n loadDataArgs: loadDataResultsComparisonArgs,\n loadData: loadDataResultsComparison,\n },\n} as const;\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","displayNullAs","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","asChartCardHeaderProps","KpiChart","meta","inputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsComparisonArgs","loadDataResultsComparison","state","setState","kpiChartNumberComparisonPro"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { j as r, V as l } from "./index-BpJ2xsEV.js";
|
|
|
2
2
|
import { useTheme as g, definePreview as S } from "@embeddable.com/react";
|
|
3
3
|
import { E as v } from "./EditorCard-UMHyz0mi.js";
|
|
4
4
|
import { i as h, r as b } from "./component.utils-oQMZT7TK.js";
|
|
5
|
-
import { D as C } from "./DimensionAndMeasureSingleSelectField-
|
|
6
|
-
import { i as e } from "./component.inputs.constants-
|
|
5
|
+
import { D as C } from "./DimensionAndMeasureSingleSelectField-_jJAx5WA.js";
|
|
6
|
+
import { i as e } from "./component.inputs.constants-CJRHMXHA.js";
|
|
7
7
|
import { p as s } from "./preview.data.constants-DyU7ur6g.js";
|
|
8
8
|
const t = (a) => {
|
|
9
9
|
const n = g();
|
|
@@ -93,4 +93,4 @@ export {
|
|
|
93
93
|
E as i,
|
|
94
94
|
T as m
|
|
95
95
|
};
|
|
96
|
-
//# sourceMappingURL=definition-
|
|
96
|
+
//# sourceMappingURL=definition-81RJMlxU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-81RJMlxU.js","sources":["../src/components/editors/MeasureSingleSelectFieldPro/index.tsx","../src/components/editors/MeasureSingleSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type MeasureSingleSelectFieldProProps = {\n selectedMeasure?: Measure;\n measureOptions: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst MeasureSingleSelectFieldPro = (props: MeasureSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasure, measureOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Measure>\n selectedValue={selectedMeasure}\n options={measureOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureSingleSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureSingleSelectFieldPro',\n label: 'Measure Single Select Field',\n description:\n 'Dropdown for selecting a single measure from a list. Pairs with a measure variable; emits onChange.',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n inputs.measureOptions,\n {\n ...inputs.measure,\n name: 'selectedMeasure',\n label: 'Selected measure',\n category: 'Pre-configured variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measure updated',\n properties: [\n {\n name: 'value',\n label: 'Selected measure',\n type: 'measure',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure single-select value',\n type: 'measure',\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasure'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: value ?? Value.noFilter(),\n };\n },\n};\n\nexport const measureSingleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasure","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureSingleSelectFieldPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAA8B,CAACC,MAA4C;AAC/E,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,iBAAAG,GAAiB,gBAAAC,GAAgB,WAAAC,GAAW,UAAAC,MAAaP,GAC3D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;8CC7BMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aACE;AAAA,EACF,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,kBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,EAAE,GAAGA,EAAO,WAAW,cAAc,GAAA;AAAA,EAAM;AAAA,EAE7C,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,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,iBAAiB;AAAA,MAC1B,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,gBAAgB,CAACC,EAAY,SAASA,EAAY,cAAc;AAAA,EAChE,UAAU,MAAM;AAClB,CAAC,GAEKtB,IAAQ,CAACiB,OACN;AAAA,EACL,GAAGA;AAAAA,EACH,gBAAgBA,EAAO,kBAAkB,CAAA;AAAC,IAIxCM,IAAS;AAAA,EACb,UAAU,CAACC,OACF;AAAA,IACL,OAAOA,KAASN,EAAM,SAAA;AAAA,EAAS;AAGrC,GAEaO,IAA8B;AAAA,EAAA,WACzCJ;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAnB;AAAA,IACA,QAAAuB;AAAA,EAAA;AAEJ;"}
|
|
@@ -3,12 +3,12 @@ import { useTheme as ne, definePreview as ie } from "@embeddable.com/react";
|
|
|
3
3
|
import { useState as te, useEffect as W } from "react";
|
|
4
4
|
import { i as me, r as le } from "./component.utils-oQMZT7TK.js";
|
|
5
5
|
import { C as de, a as ce } from "./ChartCard-jnVaCkEl.js";
|
|
6
|
-
import { u as k } from "./charts.fillGaps.hooks-
|
|
7
|
-
import { C as pe, g as ue } from "./granularity.utils-
|
|
8
|
-
import { g as ge, a as he, c as De, l as D } from "./definition-
|
|
9
|
-
import { g as ve } from "./formatter.utils-
|
|
6
|
+
import { u as k } from "./charts.fillGaps.hooks-ImD798b-.js";
|
|
7
|
+
import { C as pe, g as ue } from "./granularity.utils-BXLMSveL.js";
|
|
8
|
+
import { g as ge, a as he, c as De, l as D } from "./definition-Cvmrf_Av.js";
|
|
9
|
+
import { g as ve } from "./formatter.utils-BaA4WFcv.js";
|
|
10
10
|
import { g as fe } from "./timeRange.utils-kK6r26ZO.js";
|
|
11
|
-
import { s as K } from "./component.inputs.constants-
|
|
11
|
+
import { s as K } from "./component.inputs.constants-CJRHMXHA.js";
|
|
12
12
|
import { p as u } from "./preview.data.constants-DyU7ur6g.js";
|
|
13
13
|
import { g as G } from "./clientContext.utils-DpB5KsfX.js";
|
|
14
14
|
const Ce = ({
|
|
@@ -306,4 +306,4 @@ export {
|
|
|
306
306
|
Be as i,
|
|
307
307
|
Oe as l
|
|
308
308
|
};
|
|
309
|
-
//# sourceMappingURL=definition-
|
|
309
|
+
//# sourceMappingURL=definition-BAb2u4mc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-DqaokgFC.js","sources":["../src/components/charts/lines/LineChartComparisonWithKpiTabsPro/LineChartComparisonWithKpiTabsPro.utils.tsx","../src/components/charts/lines/LineChartComparisonWithKpiTabsPro/index.tsx","../src/components/charts/lines/LineChartComparisonWithKpiTabsPro/definition.ts"],"sourcesContent":["import { ReactNode } from 'react';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { ChartTabsProps, KpiTrend } from '@embeddable.com/remarkable-ui';\nimport { GetThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype ComparisonKpiTabsParams = {\n measures: Measure[];\n resultsKpis: DataResponse | undefined;\n resultsKpisComparison: DataResponse | undefined;\n showDataComparison: boolean;\n themeFormatter: GetThemeFormatter;\n};\n\nexport const getComparisonKpiTabsItems = ({\n measures,\n resultsKpis,\n resultsKpisComparison,\n showDataComparison,\n themeFormatter,\n}: ComparisonKpiTabsParams): ChartTabsProps['items'] =>\n measures.map((measure) => {\n const kpiValue = resultsKpis?.data?.[0]?.[measure.name];\n const kpiComparisonValue = resultsKpisComparison?.data?.[0]?.[measure.name];\n const displayChangeAsPercentage = measure.inputs?.['displayChangeAsPercentage'] as\n | boolean\n | undefined;\n const percentageDecimalPlaces = measure.inputs?.['percentageDecimalPlaces'] as\n | number\n | undefined;\n return {\n id: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n value: kpiValue == null ? '-' : themeFormatter.data(measure, kpiValue),\n slot: getKpiTrendSlot({\n measure,\n kpiValue,\n kpiComparisonValue,\n showDataComparison,\n displayChangeAsPercentage,\n percentageDecimalPlaces,\n themeFormatter,\n }),\n };\n });\n\nconst getKpiTrendSlot = ({\n measure,\n kpiValue,\n kpiComparisonValue,\n showDataComparison,\n displayChangeAsPercentage,\n percentageDecimalPlaces,\n themeFormatter,\n}: {\n measure: Measure;\n kpiValue: unknown;\n kpiComparisonValue: unknown;\n showDataComparison: boolean;\n displayChangeAsPercentage?: boolean;\n percentageDecimalPlaces?: number;\n themeFormatter: GetThemeFormatter;\n}): ReactNode => {\n if (!showDataComparison || kpiValue == null || kpiComparisonValue == null) return undefined;\n\n const diff = (kpiValue as number) - (kpiComparisonValue as number);\n const isPositive = diff > 0;\n const reverseTrend = measure.inputs?.['invertChangeColors'] ? isPositive : !isPositive;\n const trendText = getTrendText({\n diff,\n kpiComparisonValue: kpiComparisonValue as number,\n displayChangeAsPercentage,\n percentageDecimalPlaces,\n measure,\n themeFormatter,\n });\n\n return <KpiTrend value={trendText} reverseTrend={reverseTrend} />;\n};\n\nconst getTrendText = ({\n diff,\n kpiComparisonValue,\n displayChangeAsPercentage,\n percentageDecimalPlaces,\n measure,\n themeFormatter,\n}: {\n diff: number;\n kpiComparisonValue: number;\n displayChangeAsPercentage?: boolean;\n percentageDecimalPlaces?: number;\n measure: Measure;\n themeFormatter: GetThemeFormatter;\n}): string => {\n const isPositive = diff > 0;\n const sign = isPositive ? '+' : '';\n if (displayChangeAsPercentage && kpiComparisonValue !== 0) {\n const pct = (diff / kpiComparisonValue) * 100;\n return `${sign}${pct.toFixed(percentageDecimalPlaces ?? 1)}%`;\n }\n return `${sign}${themeFormatter.data(measure, diff)}`;\n};\n","import { useEffect, useState } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartTabs, LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { getComparisonKpiTabsItems } from './LineChartComparisonWithKpiTabsPro.utils';\nimport {\n createComparisonClickHandler,\n getLineChartComparisonProData,\n getLineChartComparisonProOptions,\n} from '../LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils';\nimport { LineChartComparisonDefaultProProps } from '../LineChartComparisonDefaultPro';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getComparisonPeriodDateRange } from '../../../utils/timeRange.utils';\n\nexport type LineChartComparisonWithKpiTabsProProps = LineChartComparisonDefaultProProps & {\n resultsKpis: DataResponse;\n resultsKpisComparison?: DataResponse;\n};\n\nconst LineChartComparisonWithKpiTabsPro = (props: LineChartComparisonWithKpiTabsProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n const {\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n comparisonPeriod,\n comparisonDateRange,\n showComparisonAxis,\n primaryDateRange,\n setGranularity,\n setComparisonDateRange,\n onLineClicked,\n resultsKpis,\n resultsKpisComparison,\n } = props;\n\n const [activeMeasureName, setActiveMeasureName] = useState(measures[0]?.name ?? '');\n const activeMeasure = measures.find((m) => m.name === activeMeasureName);\n\n useEffect(() => {\n if (measures.length === 0) return;\n if (measures.some((m) => m.name === activeMeasureName)) return;\n setActiveMeasureName(measures[0]!.name);\n }, [measures, activeMeasureName]);\n\n useEffect(() => {\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange?.(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n externalDateBounds: primaryDateRange,\n });\n\n const resultsComparison = useFillGaps({\n results: props.resultsComparison,\n dimension: xAxis,\n externalDateBounds: comparisonDateRange,\n });\n\n const showDataComparison = Boolean(primaryDateRange && comparisonPeriod);\n\n const data = getLineChartComparisonProData(\n {\n data: results.data,\n dataComparison: showDataComparison ? (resultsComparison?.data ?? []) : undefined,\n dimension: xAxis,\n measures: activeMeasure ? [activeMeasure] : [],\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const options = getLineChartComparisonProOptions(\n {\n data,\n dimension: xAxis,\n measures: activeMeasure ? [activeMeasure] : [],\n xAxisLabel,\n showComparisonAxis,\n showDataComparison,\n },\n theme,\n );\n\n const handleClick = createComparisonClickHandler({\n data,\n measures: activeMeasure ? [activeMeasure] : [],\n dimension: xAxis,\n onClicked: onLineClicked,\n });\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [...(results.data ?? []), ...(resultsComparison?.data ?? [])],\n };\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n const themeFormatter = getThemeFormatter(theme);\n\n const chartTabsItems = getComparisonKpiTabsItems({\n measures,\n resultsKpis,\n resultsKpisComparison,\n showDataComparison,\n themeFormatter,\n });\n\n return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error || resultsComparison?.error}\n {...asChartCardHeaderProps(props)}\n >\n <ChartTabs items={chartTabsItems} value={activeMeasureName} onChange={setActiveMeasureName} />\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport { LineChartComparisonWithKpiTabsPro };\nexport default LineChartComparisonWithKpiTabsPro;\n","import {\n Dimension,\n Granularity,\n LoadDataRequest,\n TimeRange,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { LineChartProOptionsClickArg } from '../lines.types';\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 {\n lineChartComparisonDefaultPro,\n LineChartComparisonDefaultProMeasuresInput,\n LineChartComparisonDefaultProState,\n} from '../LineChartComparisonDefaultPro/definition';\n\nconst meta = {\n ...lineChartComparisonDefaultPro.meta,\n name: 'LineChartComparisonWithKpiTabsPro',\n label: 'Line Chart Comparison - With KPI Tabs',\n description:\n 'Line chart with comparison overlay and KPI tabs. Takes one or more measures, a time dimension, a timeRange variable, and a comparison period.',\n defaultHeight: 526,\n defaultWidth: 1280,\n inputs: [\n ...lineChartComparisonDefaultPro.meta.inputs.map((input) => {\n if (input.name === 'measures') {\n const measuresInput = input as LineChartComparisonDefaultProMeasuresInput;\n return {\n ...measuresInput,\n inputs: [\n ...measuresInput.inputs,\n {\n ...subInputs.boolean,\n name: 'invertChangeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n },\n {\n ...subInputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n },\n {\n ...subInputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n },\n ],\n };\n }\n return input;\n }),\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartComparisonWithKpiTabsProState = LineChartComparisonDefaultProState;\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n measures: [previewData.measure, previewData.measureVariant],\n results: previewData.results2Measures1Dimension,\n resultsComparison: previewData.results2Measures1Dimension,\n resultsKpis: previewData.results2Measures,\n resultsKpisComparison: previewData.results2MeasuresVariant,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Previous period', from: undefined, to: undefined },\n primaryDateRange: { relativeTimeString: 'This week', from: undefined, to: undefined },\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResults = lineChartComparisonDefaultPro.results.loadData;\nconst loadDataResultsComparison = lineChartComparisonDefaultPro.resultsComparison.loadData;\n\nconst loadDataResultsKpisArgs = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => {\n const timeProperty =\n xAxis.nativeType === 'time' ? xAxis : inputs.timePropertyForNonTimeDimensions;\n return {\n from: inputs.dataset,\n select: [...inputs.measures],\n filters:\n inputs.primaryDateRange && timeProperty\n ? [{ property: timeProperty, operator: 'inDateRange', value: inputs.primaryDateRange }]\n : undefined,\n timezone: getClientContextTimezone(clientContext?.timezone),\n };\n};\n\nconst loadDataResultsKpis = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n) => loadData(loadDataResultsKpisArgs(inputs, xAxis, clientContext));\n\nconst loadDataResultsKpisComparisonArgs = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n comparisonDateRange: TimeRange,\n clientContext: ThemeClientContext,\n): LoadDataRequest => {\n const timeProperty =\n xAxis.nativeType === 'time' ? xAxis : inputs.timePropertyForNonTimeDimensions;\n return {\n from: inputs.dataset,\n select: [...inputs.measures],\n filters: [{ property: timeProperty, operator: 'inDateRange', value: comparisonDateRange }],\n timezone: getClientContextTimezone(clientContext?.timezone),\n };\n};\n\nconst loadDataResultsKpisComparison = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n state: LineChartComparisonWithKpiTabsProState,\n clientContext: ThemeClientContext,\n) => {\n const timeProperty =\n xAxis.nativeType === 'time' ? xAxis : inputs.timePropertyForNonTimeDimensions;\n if (inputs.primaryDateRange && timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsKpisComparisonArgs(inputs, xAxis, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\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 LineChartComparisonWithKpiTabsProState,\n (state: LineChartComparisonWithKpiTabsProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) =>\n setState({ ...state, comparisonDateRange }),\n results: loadDataResults(inputs as never, xAxisWithGranularity, clientContext),\n resultsComparison: loadDataResultsComparison(\n inputs as never,\n xAxisWithGranularity,\n state,\n clientContext,\n ),\n resultsKpis: loadDataResultsKpis(inputs, xAxisWithGranularity, clientContext),\n resultsKpisComparison: loadDataResultsKpisComparison(\n inputs,\n xAxisWithGranularity,\n state,\n clientContext,\n ),\n };\n};\n\nexport const lineChartComparisonWithKpiTabsPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: { props, events },\n results: lineChartComparisonDefaultPro.results,\n resultsComparison: lineChartComparisonDefaultPro.resultsComparison,\n resultsKpis: {\n loadDataArgs: loadDataResultsKpisArgs,\n loadData: loadDataResultsKpis,\n },\n resultsKpisComparison: {\n loadDataArgs: loadDataResultsKpisComparisonArgs,\n loadData: loadDataResultsKpisComparison,\n },\n} as const;\n"],"names":["getComparisonKpiTabsItems","measures","resultsKpis","resultsKpisComparison","showDataComparison","themeFormatter","measure","kpiValue","_b","_a","kpiComparisonValue","_d","_c","displayChangeAsPercentage","_e","percentageDecimalPlaces","_f","getKpiTrendSlot","diff","isPositive","reverseTrend","trendText","getTrendText","jsx","KpiTrend","sign","pct","LineChartComparisonWithKpiTabsPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","title","description","tooltip","xAxisLabel","yAxisLabel","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","comparisonPeriod","comparisonDateRange","showComparisonAxis","primaryDateRange","setGranularity","setComparisonDateRange","onLineClicked","activeMeasureName","setActiveMeasureName","useState","activeMeasure","m","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","results","useFillGaps","resultsComparison","data","getLineChartComparisonProData","options","getLineChartComparisonProOptions","handleClick","createComparisonClickHandler","resultsCombined","granularitySelectorHasMarginTop","getThemeFormatter","chartTabsItems","jsxs","ChartCard","asChartCardHeaderProps","ChartTabs","ChartGranularitySelectField","LineChart","meta","lineChartComparisonDefaultPro","input","measuresInput","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResults","loadDataResultsComparison","loadDataResultsKpisArgs","inputs","clientContext","timeProperty","getClientContextTimezone","loadDataResultsKpis","loadData","loadDataResultsKpisComparisonArgs","loadDataResultsKpisComparison","state","events","value","Value","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartComparisonWithKpiTabsPro"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definition-BAb2u4mc.js","sources":["../src/components/charts/lines/LineChartComparisonWithKpiTabsPro/LineChartComparisonWithKpiTabsPro.utils.tsx","../src/components/charts/lines/LineChartComparisonWithKpiTabsPro/index.tsx","../src/components/charts/lines/LineChartComparisonWithKpiTabsPro/definition.ts"],"sourcesContent":["import { ReactNode } from 'react';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { ChartTabsProps, KpiTrend } from '@embeddable.com/remarkable-ui';\nimport { GetThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype ComparisonKpiTabsParams = {\n measures: Measure[];\n resultsKpis: DataResponse | undefined;\n resultsKpisComparison: DataResponse | undefined;\n showDataComparison: boolean;\n themeFormatter: GetThemeFormatter;\n};\n\nexport const getComparisonKpiTabsItems = ({\n measures,\n resultsKpis,\n resultsKpisComparison,\n showDataComparison,\n themeFormatter,\n}: ComparisonKpiTabsParams): ChartTabsProps['items'] =>\n measures.map((measure) => {\n const kpiValue = resultsKpis?.data?.[0]?.[measure.name];\n const kpiComparisonValue = resultsKpisComparison?.data?.[0]?.[measure.name];\n const displayChangeAsPercentage = measure.inputs?.['displayChangeAsPercentage'] as\n | boolean\n | undefined;\n const percentageDecimalPlaces = measure.inputs?.['percentageDecimalPlaces'] as\n | number\n | undefined;\n return {\n id: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n value: kpiValue == null ? '-' : themeFormatter.data(measure, kpiValue),\n slot: getKpiTrendSlot({\n measure,\n kpiValue,\n kpiComparisonValue,\n showDataComparison,\n displayChangeAsPercentage,\n percentageDecimalPlaces,\n themeFormatter,\n }),\n };\n });\n\nconst getKpiTrendSlot = ({\n measure,\n kpiValue,\n kpiComparisonValue,\n showDataComparison,\n displayChangeAsPercentage,\n percentageDecimalPlaces,\n themeFormatter,\n}: {\n measure: Measure;\n kpiValue: unknown;\n kpiComparisonValue: unknown;\n showDataComparison: boolean;\n displayChangeAsPercentage?: boolean;\n percentageDecimalPlaces?: number;\n themeFormatter: GetThemeFormatter;\n}): ReactNode => {\n if (!showDataComparison || kpiValue == null || kpiComparisonValue == null) return undefined;\n\n const diff = (kpiValue as number) - (kpiComparisonValue as number);\n const isPositive = diff > 0;\n const reverseTrend = measure.inputs?.['invertChangeColors'] ? isPositive : !isPositive;\n const trendText = getTrendText({\n diff,\n kpiComparisonValue: kpiComparisonValue as number,\n displayChangeAsPercentage,\n percentageDecimalPlaces,\n measure,\n themeFormatter,\n });\n\n return <KpiTrend value={trendText} reverseTrend={reverseTrend} />;\n};\n\nconst getTrendText = ({\n diff,\n kpiComparisonValue,\n displayChangeAsPercentage,\n percentageDecimalPlaces,\n measure,\n themeFormatter,\n}: {\n diff: number;\n kpiComparisonValue: number;\n displayChangeAsPercentage?: boolean;\n percentageDecimalPlaces?: number;\n measure: Measure;\n themeFormatter: GetThemeFormatter;\n}): string => {\n const isPositive = diff > 0;\n const sign = isPositive ? '+' : '';\n if (displayChangeAsPercentage && kpiComparisonValue !== 0) {\n const pct = (diff / kpiComparisonValue) * 100;\n return `${sign}${pct.toFixed(percentageDecimalPlaces ?? 1)}%`;\n }\n return `${sign}${themeFormatter.data(measure, diff)}`;\n};\n","import { useEffect, useState } from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard, asChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartTabs, LineChart } from '@embeddable.com/remarkable-ui';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\nimport { getComparisonKpiTabsItems } from './LineChartComparisonWithKpiTabsPro.utils';\nimport {\n createComparisonClickHandler,\n getLineChartComparisonProData,\n getLineChartComparisonProOptions,\n} from '../LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils';\nimport { LineChartComparisonDefaultProProps } from '../LineChartComparisonDefaultPro';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getComparisonPeriodDateRange } from '../../../utils/timeRange.utils';\n\nexport type LineChartComparisonWithKpiTabsProProps = LineChartComparisonDefaultProProps & {\n resultsKpis: DataResponse;\n resultsKpisComparison?: DataResponse;\n};\n\nconst LineChartComparisonWithKpiTabsPro = (props: LineChartComparisonWithKpiTabsProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const resolvedI18nProps = resolveI18nProps(props);\n const { title, description, tooltip, xAxisLabel, yAxisLabel } = resolvedI18nProps;\n const {\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n comparisonPeriod,\n comparisonDateRange,\n showComparisonAxis,\n primaryDateRange,\n setGranularity,\n setComparisonDateRange,\n onLineClicked,\n resultsKpis,\n resultsKpisComparison,\n } = props;\n\n const [activeMeasureName, setActiveMeasureName] = useState(measures[0]?.name ?? '');\n const activeMeasure = measures.find((m) => m.name === activeMeasureName);\n\n useEffect(() => {\n if (measures.length === 0) return;\n if (measures.some((m) => m.name === activeMeasureName)) return;\n setActiveMeasureName(measures[0]!.name);\n }, [measures, activeMeasureName]);\n\n useEffect(() => {\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange?.(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n externalDateBounds: primaryDateRange,\n });\n\n const resultsComparison = useFillGaps({\n results: props.resultsComparison,\n dimension: xAxis,\n externalDateBounds: comparisonDateRange,\n });\n\n const showDataComparison = Boolean(primaryDateRange && comparisonPeriod);\n\n const data = getLineChartComparisonProData(\n {\n data: results.data,\n dataComparison: showDataComparison ? (resultsComparison?.data ?? []) : undefined,\n dimension: xAxis,\n measures: activeMeasure ? [activeMeasure] : [],\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const options = getLineChartComparisonProOptions(\n {\n data,\n dimension: xAxis,\n measures: activeMeasure ? [activeMeasure] : [],\n xAxisLabel,\n showComparisonAxis,\n showDataComparison,\n },\n theme,\n );\n\n const handleClick = createComparisonClickHandler({\n data,\n measures: activeMeasure ? [activeMeasure] : [],\n dimension: xAxis,\n onClicked: onLineClicked,\n });\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [...(results.data ?? []), ...(resultsComparison?.data ?? [])],\n };\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n const themeFormatter = getThemeFormatter(theme);\n\n const chartTabsItems = getComparisonKpiTabsItems({\n measures,\n resultsKpis,\n resultsKpisComparison,\n showDataComparison,\n themeFormatter,\n });\n\n return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error || resultsComparison?.error}\n {...asChartCardHeaderProps(props)}\n >\n <ChartTabs items={chartTabsItems} value={activeMeasureName} onChange={setActiveMeasureName} />\n {setGranularity && (\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={xAxis}\n onChange={setGranularity}\n />\n )}\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n onClick={handleClick}\n />\n </ChartCard>\n );\n};\n\nexport { LineChartComparisonWithKpiTabsPro };\nexport default LineChartComparisonWithKpiTabsPro;\n","import {\n Dimension,\n Granularity,\n LoadDataRequest,\n TimeRange,\n Value,\n loadData,\n} from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { LineChartProOptionsClickArg } from '../lines.types';\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 {\n lineChartComparisonDefaultPro,\n LineChartComparisonDefaultProMeasuresInput,\n LineChartComparisonDefaultProState,\n} from '../LineChartComparisonDefaultPro/definition';\n\nconst meta = {\n ...lineChartComparisonDefaultPro.meta,\n name: 'LineChartComparisonWithKpiTabsPro',\n label: 'Line Chart Comparison - With KPI Tabs',\n description:\n 'Line chart with comparison overlay and KPI tabs. Takes one or more measures, a time dimension, a timeRange variable, and a comparison period.',\n defaultHeight: 526,\n defaultWidth: 1280,\n inputs: [\n ...lineChartComparisonDefaultPro.meta.inputs.map((input) => {\n if (input.name === 'measures') {\n const measuresInput = input as LineChartComparisonDefaultProMeasuresInput;\n return {\n ...measuresInput,\n inputs: [\n ...measuresInput.inputs,\n {\n ...subInputs.boolean,\n name: 'invertChangeColors',\n label: 'Reverse positive/negative colors',\n defaultValue: false,\n },\n {\n ...subInputs.boolean,\n name: 'displayChangeAsPercentage',\n label: 'Display change as %',\n defaultValue: false,\n },\n {\n ...subInputs.number,\n name: 'percentageDecimalPlaces',\n label: 'Percentage decimal places',\n defaultValue: 1,\n },\n ],\n };\n }\n return input;\n }),\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type LineChartComparisonWithKpiTabsProState = LineChartComparisonDefaultProState;\n\nconst previewConfig = {\n xAxis: previewData.dimension,\n measures: [previewData.measure, previewData.measureVariant],\n results: previewData.results2Measures1Dimension,\n resultsComparison: previewData.results2Measures1Dimension,\n resultsKpis: previewData.results2Measures,\n resultsKpisComparison: previewData.results2MeasuresVariant,\n comparisonPeriod: 'Previous period',\n comparisonDateRange: { relativeTimeString: 'Previous period', from: undefined, to: undefined },\n primaryDateRange: { relativeTimeString: 'This week', from: undefined, to: undefined },\n hideMenu: true,\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResults = lineChartComparisonDefaultPro.results.loadData;\nconst loadDataResultsComparison = lineChartComparisonDefaultPro.resultsComparison.loadData;\n\nconst loadDataResultsKpisArgs = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => {\n const timeProperty =\n xAxis.nativeType === 'time' ? xAxis : inputs.timePropertyForNonTimeDimensions;\n return {\n from: inputs.dataset,\n select: [...inputs.measures],\n filters:\n inputs.primaryDateRange && timeProperty\n ? [{ property: timeProperty, operator: 'inDateRange', value: inputs.primaryDateRange }]\n : undefined,\n timezone: getClientContextTimezone(clientContext?.timezone),\n };\n};\n\nconst loadDataResultsKpis = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n clientContext: ThemeClientContext,\n) => loadData(loadDataResultsKpisArgs(inputs, xAxis, clientContext));\n\nconst loadDataResultsKpisComparisonArgs = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n comparisonDateRange: TimeRange,\n clientContext: ThemeClientContext,\n): LoadDataRequest => {\n const timeProperty =\n xAxis.nativeType === 'time' ? xAxis : inputs.timePropertyForNonTimeDimensions;\n return {\n from: inputs.dataset,\n select: [...inputs.measures],\n filters: [{ property: timeProperty, operator: 'inDateRange', value: comparisonDateRange }],\n timezone: getClientContextTimezone(clientContext?.timezone),\n };\n};\n\nconst loadDataResultsKpisComparison = (\n inputs: Inputs<typeof meta>,\n xAxis: Dimension,\n state: LineChartComparisonWithKpiTabsProState,\n clientContext: ThemeClientContext,\n) => {\n const timeProperty =\n xAxis.nativeType === 'time' ? xAxis : inputs.timePropertyForNonTimeDimensions;\n if (inputs.primaryDateRange && timeProperty && state?.comparisonDateRange) {\n return loadData(\n loadDataResultsKpisComparisonArgs(inputs, xAxis, state.comparisonDateRange, clientContext),\n );\n }\n return undefined;\n};\n\nconst events = {\n onLineClicked: (value: LineChartProOptionsClickArg) => ({\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 LineChartComparisonWithKpiTabsProState,\n (state: LineChartComparisonWithKpiTabsProState) => void,\n ],\n clientContext: ThemeClientContext,\n) => {\n const xAxisWithGranularity = getDimensionWithGranularity(inputs.xAxis, state?.granularity);\n\n return {\n ...inputs,\n xAxis: xAxisWithGranularity,\n setGranularity: (granularity: Granularity) => setState({ ...state, granularity }),\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) =>\n setState({ ...state, comparisonDateRange }),\n results: loadDataResults(inputs as never, xAxisWithGranularity, clientContext),\n resultsComparison: loadDataResultsComparison(\n inputs as never,\n xAxisWithGranularity,\n state,\n clientContext,\n ),\n resultsKpis: loadDataResultsKpis(inputs, xAxisWithGranularity, clientContext),\n resultsKpisComparison: loadDataResultsKpisComparison(\n inputs,\n xAxisWithGranularity,\n state,\n clientContext,\n ),\n };\n};\n\nexport const lineChartComparisonWithKpiTabsPro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: { props, events },\n results: lineChartComparisonDefaultPro.results,\n resultsComparison: lineChartComparisonDefaultPro.resultsComparison,\n resultsKpis: {\n loadDataArgs: loadDataResultsKpisArgs,\n loadData: loadDataResultsKpis,\n },\n resultsKpisComparison: {\n loadDataArgs: loadDataResultsKpisComparisonArgs,\n loadData: loadDataResultsKpisComparison,\n },\n} as const;\n"],"names":["getComparisonKpiTabsItems","measures","resultsKpis","resultsKpisComparison","showDataComparison","themeFormatter","measure","kpiValue","_b","_a","kpiComparisonValue","_d","_c","displayChangeAsPercentage","_e","percentageDecimalPlaces","_f","getKpiTrendSlot","diff","isPositive","reverseTrend","trendText","getTrendText","jsx","KpiTrend","sign","pct","LineChartComparisonWithKpiTabsPro","props","theme","useTheme","i18nSetup","resolvedI18nProps","resolveI18nProps","title","description","tooltip","xAxisLabel","yAxisLabel","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","comparisonPeriod","comparisonDateRange","showComparisonAxis","primaryDateRange","setGranularity","setComparisonDateRange","onLineClicked","activeMeasureName","setActiveMeasureName","useState","activeMeasure","m","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","results","useFillGaps","resultsComparison","data","getLineChartComparisonProData","options","getLineChartComparisonProOptions","handleClick","createComparisonClickHandler","resultsCombined","granularitySelectorHasMarginTop","getThemeFormatter","chartTabsItems","jsxs","ChartCard","asChartCardHeaderProps","ChartTabs","ChartGranularitySelectField","LineChart","meta","lineChartComparisonDefaultPro","input","measuresInput","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResults","loadDataResultsComparison","loadDataResultsKpisArgs","inputs","clientContext","timeProperty","getClientContextTimezone","loadDataResultsKpis","loadData","loadDataResultsKpisComparisonArgs","loadDataResultsKpisComparison","state","events","value","Value","setState","xAxisWithGranularity","getDimensionWithGranularity","granularity","lineChartComparisonWithKpiTabsPro"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { definePreview as s } from "@embeddable.com/react";
|
|
2
2
|
import { j as i, ag as a, O as l } from "./index-BpJ2xsEV.js";
|
|
3
|
-
import { i as t } from "./component.inputs.constants-
|
|
3
|
+
import { i as t } from "./component.inputs.constants-CJRHMXHA.js";
|
|
4
4
|
const d = "_horizontalDividerContainer_y6kms_1", c = {
|
|
5
5
|
horizontalDividerContainer: d
|
|
6
6
|
}, o = (e) => {
|
|
@@ -41,4 +41,4 @@ export {
|
|
|
41
41
|
z as h,
|
|
42
42
|
g as i
|
|
43
43
|
};
|
|
44
|
-
//# sourceMappingURL=definition-
|
|
44
|
+
//# sourceMappingURL=definition-BLXhy0w7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-BLXhy0w7.js","sources":["../src/components/shared/HorizontalDividerPro/index.tsx","../src/components/shared/HorizontalDividerPro/definition.ts"],"sourcesContent":["import { Divider } from '@embeddable.com/remarkable-ui';\nimport styles from './HorizontalDividerPro.module.css';\n\ntype HorizontalDividerProProps = {\n color?: string;\n thickness?: number;\n};\n\nconst HorizontalDividerPro = (props: HorizontalDividerProProps) => {\n const { color, thickness } = props;\n\n return (\n <div className={styles.horizontalDividerContainer}>\n <Divider color={color} thickness={thickness} />\n </div>\n );\n};\n\nexport default HorizontalDividerPro;\n","import { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { getStyle } from '@embeddable.com/remarkable-ui';\n\nconst meta = {\n name: 'HorizontalDividerPro',\n label: 'Horizontal Divider',\n description: 'Visual divider for separating sections of the dashboard.',\n category: 'Layout',\n defaultWidth: 450,\n defaultHeight: 120,\n inputs: [\n {\n ...inputs.number,\n name: 'thickness',\n label: 'Thickness',\n category: 'Component Settings',\n description: 'Thickness of the divider in pixels',\n },\n { ...inputs.color, defaultValue: getStyle('--em-divider-color', '#e4e4ea') },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {});\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n color: inputs.color as string | undefined,\n});\n\nexport const horizontalDividerPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n },\n} as const;\n"],"names":["HorizontalDividerPro","props","color","thickness","jsx","styles","Divider","meta","inputs","getStyle","preview","definePreview","Component","horizontalDividerPro"],"mappings":";;;;;GAQMA,IAAuB,CAACC,MAAqC;AACjE,QAAM,EAAE,OAAAC,GAAO,WAAAC,EAAA,IAAcF;AAE7B,SACEG,gBAAAA,EAAAA,IAAC,SAAI,WAAWC,EAAO,4BACrB,UAAAD,gBAAAA,EAAAA,IAACE,GAAA,EAAQ,OAAAJ,GAAc,WAAAC,EAAA,CAAsB,EAAA,CAC/C;AAEJ;;;8CCXMI,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACN;AAAA,MACE,GAAGC,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,IAEf,EAAE,GAAGA,EAAO,OAAO,cAAcC,EAAS,sBAAsB,SAAS,EAAA;AAAA,EAAE;AAE/E,GAEMC,IAAUC,EAAcC,GAAW,EAAE,GAErCX,IAAQ,CAACO,OAAiC;AAAA,EAC9C,GAAGA;AAAAA,EACH,OAAOA,EAAO;AAChB,IAEaK,IAAuB;AAAA,EAAA,WAClCD;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAT;AAAA,EAAA;AAEJ;"}
|
|
@@ -2,13 +2,13 @@ import { p as $, m as z, j as w, x as W, V as y, l as _ } from "./index-BpJ2xsEV
|
|
|
2
2
|
import { useTheme as B, definePreview as H } from "@embeddable.com/react";
|
|
3
3
|
import { i as X, r as U } from "./component.utils-oQMZT7TK.js";
|
|
4
4
|
import { C as Y, a as E } from "./ChartCard-jnVaCkEl.js";
|
|
5
|
-
import { g as v } from "./formatter.utils-
|
|
5
|
+
import { g as v } from "./formatter.utils-BaA4WFcv.js";
|
|
6
6
|
import { g as M } from "./styles.utils-C8CnV0SB.js";
|
|
7
7
|
import { s as N } from "./color.utils-BSg_DFOh.js";
|
|
8
8
|
import { b as T, d as q } from "./charts.utils-CM-dKk0n.js";
|
|
9
|
-
import { u as J } from "./charts.fillGaps.hooks-
|
|
10
|
-
import { C as K, g as Q } from "./granularity.utils-
|
|
11
|
-
import { i as a } from "./component.inputs.constants-
|
|
9
|
+
import { u as J } from "./charts.fillGaps.hooks-ImD798b-.js";
|
|
10
|
+
import { C as K, g as Q } from "./granularity.utils-BXLMSveL.js";
|
|
11
|
+
import { i as a } from "./component.inputs.constants-CJRHMXHA.js";
|
|
12
12
|
import { p as A } from "./preview.data.constants-DyU7ur6g.js";
|
|
13
13
|
import { g as Z } from "./clientContext.utils-DpB5KsfX.js";
|
|
14
14
|
const I = (e, n) => {
|
|
@@ -292,4 +292,4 @@ export {
|
|
|
292
292
|
Ce as i,
|
|
293
293
|
fe as l
|
|
294
294
|
};
|
|
295
|
-
//# sourceMappingURL=definition-
|
|
295
|
+
//# sourceMappingURL=definition-BObbBhcm.js.map
|