@embeddable.com/remarkable-ui 0.1.51 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BarChartDefaultHorizontalPro.js +3 -3
- package/dist/BarChartDefaultPro.js +3 -3
- package/dist/BarChartGroupedHorizontalPro.js +3 -3
- package/dist/BarChartGroupedPro.js +3 -3
- package/dist/BarChartStackedHorizontalPro.js +15 -15
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +33 -33
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/ChartCard-CyemTSay.js +122 -0
- package/dist/ChartCard-CyemTSay.js.map +1 -0
- package/dist/{ComparisonPeriod.type.emb-CYp3nw-9.js → ComparisonPeriod.type.emb-i3iGuRJI.js} +2 -2
- package/dist/{ComparisonPeriod.type.emb-CYp3nw-9.js.map → ComparisonPeriod.type.emb-i3iGuRJI.js.map} +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +4 -4
- package/dist/DateRangeSelectFieldPro.js +2 -2
- package/dist/DonutChartPro.js +2 -2
- package/dist/DonutLabelChartPro.js +2 -2
- package/dist/EditorCard-BICCSvPo.js +74 -0
- package/dist/EditorCard-BICCSvPo.js.map +1 -0
- package/dist/HeatMap-BueWUQTI.js +208 -0
- package/dist/HeatMap-BueWUQTI.js.map +1 -0
- package/dist/HeatMapPro.js +4 -4
- package/dist/KpiChart-BxmGCIn5.js +105 -0
- package/dist/KpiChart-BxmGCIn5.js.map +1 -0
- package/dist/KpiChartNumberComparisonPro.js +21 -21
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +9 -9
- package/dist/KpiChartNumberPro.js.map +1 -1
- package/dist/LineChartComparisonDefaultPro.js +46 -49
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +25 -28
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +47 -50
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +2 -2
- package/dist/PieChartPro.js +2 -2
- package/dist/PivotTable-DrN-dl-H.js +249 -0
- package/dist/PivotTable-DrN-dl-H.js.map +1 -0
- package/dist/PivotTablePro.js +4 -4
- package/dist/SingleSelectField-CSJOpQeh.js +109 -0
- package/dist/SingleSelectField-CSJOpQeh.js.map +1 -0
- package/dist/SingleSelectFieldPro.js +2 -2
- package/dist/TableChartPaginated.js +123 -152
- package/dist/TableChartPaginated.js.map +1 -1
- package/dist/{bars.utils-DTdoPs5N.js → bars.utils-wy9RMO2F.js} +4 -4
- package/dist/bars.utils-wy9RMO2F.js.map +1 -0
- package/dist/{charts.utils-D9TXwxGs.js → charts.utils-eHB_o46Z.js} +2633 -2773
- package/dist/charts.utils-eHB_o46Z.js.map +1 -0
- package/dist/{component.constants-DCOqCFoY.js → component.constants-CYS5-3qd.js} +3553 -3529
- package/dist/component.constants-CYS5-3qd.js.map +1 -0
- package/dist/embeddable-components.json +11 -11
- package/dist/embeddable-theme-2b917.js +3789 -3929
- package/dist/{formatter.utils-B80iNq9Q.js → formatter.utils-CaFr8SlX.js} +2 -2
- package/dist/{formatter.utils-B80iNq9Q.js.map → formatter.utils-CaFr8SlX.js.map} +1 -1
- package/dist/index-B7QvKSGz.js +204 -0
- package/dist/index-B7QvKSGz.js.map +1 -0
- package/dist/{index-CmE__sUg.js → index-BYxqGfuR.js} +15 -14
- package/dist/index-BYxqGfuR.js.map +1 -0
- package/dist/{index-D4oPbYPT.js → index-CGRZXASn.js} +16 -14
- package/dist/index-CGRZXASn.js.map +1 -0
- package/dist/{index--tdFwk_H.js → index-CwCkuHzT.js} +16 -14
- package/dist/index-CwCkuHzT.js.map +1 -0
- package/dist/{index-C3o3AQpK.js → index-DfsOzpdV.js} +9 -14
- package/dist/index-DfsOzpdV.js.map +1 -0
- package/dist/{index-DpIR-B0R.js → index-b_iMiCHA.js} +4 -4
- package/dist/{index-DpIR-B0R.js.map → index-b_iMiCHA.js.map} +1 -1
- package/dist/index.js +216 -254
- package/dist/index.js.map +1 -1
- package/dist/pies.utils-BvSC2qnJ.js +73 -0
- package/dist/pies.utils-BvSC2qnJ.js.map +1 -0
- package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts +1 -7
- package/dist/remarkable-pro/components/charts/pies/pies.utils.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
- package/dist/remarkable-pro/index.d.ts +0 -1
- package/dist/remarkable-pro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/theme/theme.types.d.ts +0 -3
- package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
- package/dist/remarkable-ui/components/charts/bars/BarChart.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/bars/BarChart.stories.d.ts +72 -0
- package/dist/remarkable-ui/components/charts/bars/BarChart.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts → components/charts}/bars/bars.types.d.ts +1 -1
- package/dist/remarkable-ui/components/charts/bars/bars.types.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/bars/bars.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts → components/charts}/chartjs.cartesian.constants.d.ts +1 -0
- package/dist/remarkable-ui/components/charts/chartjs.cartesian.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/chartjs.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/chartjs.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/charts.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.stories.d.ts +32 -0
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts → components/charts}/kpis/KpiChart.types.d.ts +1 -1
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.types.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/kpis/components/KpiChartChange.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/lines/LineChart.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/lines/LineChart.stories.d.ts +35 -0
- package/dist/remarkable-ui/components/charts/lines/LineChart.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/lines/lines.types.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/lines/lines.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts/pies → components/charts/pies/DonutChart}/DonutChart.d.ts +1 -1
- package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.stories.d.ts +28 -0
- package/dist/remarkable-ui/components/charts/pies/DonutChart/DonutChart.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts/pies → components/charts/pies/PieChart}/PieChart.d.ts +1 -1
- package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.stories.d.ts +25 -0
- package/dist/remarkable-ui/components/charts/pies/PieChart/PieChart.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/pies/pies.mock.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts → components/charts}/pies/pies.types.d.ts +6 -1
- package/dist/remarkable-ui/components/charts/pies/pies.types.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/pies/pies.utils.d.ts +9 -0
- package/dist/remarkable-ui/components/charts/pies/pies.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.stories.d.ts +36 -0
- package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.types.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts → components/charts}/tables/HeatMap/HeatMap.utils.d.ts +1 -1
- package/dist/remarkable-ui/components/charts/tables/HeatMap/HeatMap.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.stories.d.ts +43 -0
- package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/PivotTable/PivotTable.types.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/Table/Table.hooks.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/Table/TablePaginated.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts → components/charts}/tables/Table/TablePaginated.stories.d.ts +2 -1
- package/dist/remarkable-ui/components/charts/tables/Table/TablePaginated.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/Table/components/TableBody/TableBody.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/Table/components/TableHeader/TableHeader.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/Table/components/TablePagination/TablePagination.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts → components/charts}/tables/Table/components/TablePagination/TablePagination.stories.d.ts +1 -0
- package/dist/remarkable-ui/components/charts/tables/Table/components/TablePagination/TablePagination.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{charts → components/charts}/tables/Table/table.types.d.ts +1 -1
- package/dist/remarkable-ui/components/charts/tables/Table/table.types.d.ts.map +1 -0
- package/dist/remarkable-ui/components/charts/tables/tables.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/Switch/Switch.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/Switch/Switch.stories.d.ts +27 -0
- package/dist/remarkable-ui/components/editors/Switch/Switch.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{editors → components/editors/inputs}/NumberField/NumberField.d.ts +1 -3
- package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.stories.d.ts +36 -0
- package/dist/remarkable-ui/components/editors/inputs/NumberField/NumberField.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{editors → components/editors/inputs}/TextField/TextField.d.ts +1 -1
- package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.stories.d.ts +40 -0
- package/dist/remarkable-ui/components/editors/inputs/TextField/TextField.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{editors → components/editors/inputs/shared}/InputField/InputField.d.ts +3 -2
- package/dist/remarkable-ui/components/editors/inputs/shared/InputField/InputField.d.ts.map +1 -0
- package/dist/remarkable-ui/{editors/select → components/editors/selects}/MultiSelectField/MultiSelectField.d.ts +5 -2
- package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.stories.d.ts +34 -0
- package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{editors/select → components/editors/selects}/SingleSelectField/SingleSelectField.d.ts +3 -2
- package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.stories.d.ts +34 -0
- package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.d.ts +16 -0
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.d.ts.map +1 -0
- package/dist/remarkable-ui/{editors/select/shared/SelectList/selectList.utils.d.ts → components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.d.ts} +2 -2
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldCategory/SelectFieldCategory.d.ts +7 -0
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldCategory/SelectFieldCategory.d.ts.map +1 -0
- package/dist/remarkable-ui/{editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts → components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldOption/SelectFieldOption.d.ts} +1 -1
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldOption/SelectFieldOption.d.ts.map +1 -0
- package/dist/remarkable-ui/{editors/select/shared/SelectButton/SelectButton.d.ts → components/editors/selects/shared/SelectFieldTrigger/SelectFieldTrigger.d.ts} +2 -2
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldTrigger/SelectFieldTrigger.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/selects/shared/useSelectSearchFocus.hook.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.d.ts +9 -0
- package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.stories.d.ts +23 -0
- package/dist/remarkable-ui/components/shared/ActionIcon/ActionIcon.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{shared → components/shared}/Button/Button.d.ts +4 -4
- package/dist/remarkable-ui/components/shared/Button/Button.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Button/Button.stories.d.ts +47 -0
- package/dist/remarkable-ui/components/shared/Button/Button.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.d.ts +10 -0
- package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.stories.d.ts +30 -0
- package/dist/remarkable-ui/components/shared/ButtonIcon/ButtonIcon.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{shared → components/shared}/Card/Card.d.ts +1 -1
- package/dist/remarkable-ui/components/shared/Card/Card.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Card/Card.stories.d.ts +13 -0
- package/dist/remarkable-ui/components/shared/Card/Card.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Card/CardFeedback/CardFeedback.d.ts +11 -0
- package/dist/remarkable-ui/components/shared/Card/CardFeedback/CardFeedback.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Field/FieldFeedback.d.ts +8 -0
- package/dist/remarkable-ui/components/shared/Field/FieldFeedback.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Field/FieldHeader.d.ts +8 -0
- package/dist/remarkable-ui/components/shared/Field/FieldHeader.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Foundations/BorderRadius.stories.d.ts +6 -0
- package/dist/remarkable-ui/components/shared/Foundations/BorderRadius.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/{shared → components/shared}/Foundations/Colors.stories.d.ts +1 -1
- package/dist/remarkable-ui/components/shared/Foundations/Colors.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Foundations/Size.stories.d.ts +6 -0
- package/dist/remarkable-ui/components/shared/Foundations/Size.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Foundations/Spacing.stories.d.ts +6 -0
- package/dist/remarkable-ui/components/shared/Foundations/Spacing.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.stories.d.ts +29 -0
- package/dist/remarkable-ui/components/shared/GhostButton/GhostButton.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.stories.d.ts +7 -0
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.types.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/remarkable-ui/{shared → components/shared}/Skeleton/Skeleton.stories.d.ts +2 -0
- package/dist/remarkable-ui/components/shared/Skeleton/Skeleton.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Typography/Typography.d.ts.map +1 -0
- package/dist/remarkable-ui/{shared → components/shared}/Typography/Typography.stories.d.ts +1 -0
- package/dist/remarkable-ui/components/shared/Typography/Typography.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Typography/Typography.types.d.ts.map +1 -0
- package/dist/remarkable-ui/index.d.ts +41 -40
- package/dist/remarkable-ui/index.d.ts.map +1 -1
- package/dist/remarkable-ui/storybook.constants.d.ts +8 -0
- package/dist/remarkable-ui/storybook.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/styles/styles.constants.d.ts +7 -603
- package/dist/remarkable-ui/styles/styles.constants.d.ts.map +1 -1
- package/dist/remarkable-ui/styles/styles.tokensComponents.constants.d.ts +347 -0
- package/dist/remarkable-ui/styles/styles.tokensComponents.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/styles/styles.tokensCore.constants.d.ts +90 -0
- package/dist/remarkable-ui/styles/styles.tokensCore.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/styles/styles.tokensSemantic.constants.d.ts +31 -0
- package/dist/remarkable-ui/styles/styles.tokensSemantic.constants.d.ts.map +1 -0
- package/dist/remarkable-ui/styles/styles.utils.d.ts +1 -1
- package/dist/remarkable-ui/styles/styles.utils.d.ts.map +1 -1
- package/dist/remarkable-ui.css +451 -585
- package/dist/tables.utils-D7KXdM2S.js.map +1 -1
- package/dist/{timeRange.utils-u1NZ0u7o.js → timeRange.utils-CplLUFvd.js} +2 -2
- package/dist/{timeRange.utils-u1NZ0u7o.js.map → timeRange.utils-CplLUFvd.js.map} +1 -1
- package/dist/useDebounce.hook-DxiPFcz9.js +36 -0
- package/dist/useDebounce.hook-DxiPFcz9.js.map +1 -0
- package/package.json +3 -1
- package/dist/ChartCard-D-0O5ugW.js +0 -117
- package/dist/ChartCard-D-0O5ugW.js.map +0 -1
- package/dist/EditorCard-BhC7oToX.js +0 -76
- package/dist/EditorCard-BhC7oToX.js.map +0 -1
- package/dist/HeatMap-By9_uzV_.js +0 -223
- package/dist/HeatMap-By9_uzV_.js.map +0 -1
- package/dist/KpiChart-CS9s8nJ4.js +0 -79
- package/dist/KpiChart-CS9s8nJ4.js.map +0 -1
- package/dist/PivotTable-Cx4WG6MV.js +0 -273
- package/dist/PivotTable-Cx4WG6MV.js.map +0 -1
- package/dist/SingleSelectField-DlVCi5Ej.js +0 -107
- package/dist/SingleSelectField-DlVCi5Ej.js.map +0 -1
- package/dist/bars.utils-DTdoPs5N.js.map +0 -1
- package/dist/charts.utils-D9TXwxGs.js.map +0 -1
- package/dist/component.constants-DCOqCFoY.js.map +0 -1
- package/dist/index--tdFwk_H.js.map +0 -1
- package/dist/index-BcPj51g3.js +0 -220
- package/dist/index-BcPj51g3.js.map +0 -1
- package/dist/index-C3o3AQpK.js.map +0 -1
- package/dist/index-CmE__sUg.js.map +0 -1
- package/dist/index-D4oPbYPT.js.map +0 -1
- package/dist/pies.utils-DEkgZgVk.js +0 -75
- package/dist/pies.utils-DEkgZgVk.js.map +0 -1
- package/dist/remarkable-ui/charts/bars/BarChart.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/bars/BarChart.stories.d.ts +0 -29
- package/dist/remarkable-ui/charts/bars/BarChart.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/bars/bars.types.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/bars/bars.utils.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/chartjs.cartesian.constants.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/chartjs.constants.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/chartjs.utils.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/charts.constants.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/kpis/KpiChart.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/kpis/KpiChart.stories.d.ts +0 -23
- package/dist/remarkable-ui/charts/kpis/KpiChart.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/kpis/KpiChart.types.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/kpis/components/KpiChartChange.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/lines/LineChart.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/lines/LineChart.stories.d.ts +0 -8
- package/dist/remarkable-ui/charts/lines/LineChart.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/lines/lines.types.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/lines/lines.utils.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/pies/DonutChart.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/pies/DonutChart.stories.d.ts +0 -8
- package/dist/remarkable-ui/charts/pies/DonutChart.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/pies/PieChart.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/pies/PieChart.stories.d.ts +0 -9
- package/dist/remarkable-ui/charts/pies/PieChart.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/pies/pies.constants.d.ts +0 -5
- package/dist/remarkable-ui/charts/pies/pies.constants.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/pies/pies.mock.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/pies/pies.types.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/pies/pies.utils.d.ts +0 -3
- package/dist/remarkable-ui/charts/pies/pies.utils.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.stories.d.ts +0 -9
- package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.types.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/HeatMap/HeatMap.utils.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.stories.d.ts +0 -24
- package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/PivotTable/PivotTable.types.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/Table/Table.hooks.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/Table/TablePaginated.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/Table/TablePaginated.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/Table/components/TableBody/TableBody.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/Table/components/TableHeader/TableHeader.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/Table/components/TablePagination/TablePagination.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/Table/components/TablePagination/TablePagination.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/Table/table.types.d.ts.map +0 -1
- package/dist/remarkable-ui/charts/tables/tables.utils.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/InputField/InputField.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/NumberField/NumberField.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/NumberField/NumberField.stories.d.ts +0 -23
- package/dist/remarkable-ui/editors/NumberField/NumberField.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/TextField/TextField.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/TextField/TextField.stories.d.ts +0 -28
- package/dist/remarkable-ui/editors/TextField/TextField.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts +0 -15
- package/dist/remarkable-ui/editors/select/MultiSelectField/MultiSelectField.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts +0 -18
- package/dist/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/shared/SelectButton/SelectButton.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectList.d.ts +0 -8
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectList.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory.d.ts +0 -7
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListCategory/SelectListCategory.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOption/SelectListOption.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOptions.d.ts +0 -7
- package/dist/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOptions.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/shared/SelectList/selectList.utils.d.ts.map +0 -1
- package/dist/remarkable-ui/editors/select/shared/useSelectSearchFocus.hook.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/BaseButton/BaseButton.d.ts +0 -8
- package/dist/remarkable-ui/shared/BaseButton/BaseButton.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/BaseButton/index.d.ts +0 -2
- package/dist/remarkable-ui/shared/BaseButton/index.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Button/Button.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Button/Button.stories.d.ts +0 -20
- package/dist/remarkable-ui/shared/Button/Button.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/ButtonIcon/ButtonIcon.d.ts +0 -9
- package/dist/remarkable-ui/shared/ButtonIcon/ButtonIcon.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/ButtonIcon/ButtonIcon.stories.d.ts +0 -11
- package/dist/remarkable-ui/shared/ButtonIcon/ButtonIcon.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Card/Card.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Card/Card.stories.d.ts +0 -8
- package/dist/remarkable-ui/shared/Card/Card.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Card/CardContentInfo/CardContentInfo.d.ts +0 -10
- package/dist/remarkable-ui/shared/Card/CardContentInfo/CardContentInfo.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.d.ts +0 -4
- package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.stories.d.ts +0 -25
- package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.types.d.ts +0 -10
- package/dist/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.types.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/ConfirmCancelModal/index.d.ts +0 -3
- package/dist/remarkable-ui/shared/ConfirmCancelModal/index.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Dropdown/Dropdown.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.d.ts +0 -7
- package/dist/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.stories.d.ts +0 -6
- package/dist/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/FieldErrorMessage/FieldErrorMessage.d.ts +0 -5
- package/dist/remarkable-ui/shared/FieldErrorMessage/FieldErrorMessage.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Foundations/Colors.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/GhostButton/GhostButton.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/GhostButton/GhostButton.stories.d.ts +0 -44
- package/dist/remarkable-ui/shared/GhostButton/GhostButton.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/IconButton/IconButton.d.ts +0 -10
- package/dist/remarkable-ui/shared/IconButton/IconButton.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/IconButton/IconButton.stories.d.ts +0 -11
- package/dist/remarkable-ui/shared/IconButton/IconButton.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/PageOverlay/PageOverlay.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/PageOverlay/PageOverlay.stories.d.ts +0 -10
- package/dist/remarkable-ui/shared/PageOverlay/PageOverlay.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/PageOverlay/PageOverlay.types.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/PageOverlay/index.d.ts +0 -3
- package/dist/remarkable-ui/shared/PageOverlay/index.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Skeleton/Skeleton.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Skeleton/Skeleton.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Switch/Switch.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Switch/Switch.stories.d.ts +0 -36
- package/dist/remarkable-ui/shared/Switch/Switch.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Typography/Typography.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Typography/Typography.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/shared/Typography/Typography.types.d.ts.map +0 -1
- /package/dist/remarkable-ui/{charts → components/charts}/bars/BarChart.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/bars/bars.utils.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/chartjs.constants.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/chartjs.utils.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/charts.constants.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/kpis/KpiChart.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/kpis/components/KpiChartChange.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/lines/LineChart.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/lines/lines.types.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/lines/lines.utils.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/pies/pies.mock.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/HeatMap/HeatMap.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/HeatMap/HeatMap.types.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/PivotTable/PivotTable.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/PivotTable/PivotTable.types.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/Table.hooks.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/TablePaginated.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/components/TableBody/TableBody.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/components/TableHeader/TableHeader.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/Table/components/TablePagination/TablePagination.d.ts +0 -0
- /package/dist/remarkable-ui/{charts → components/charts}/tables/tables.utils.d.ts +0 -0
- /package/dist/remarkable-ui/{shared → components/editors}/Switch/Switch.d.ts +0 -0
- /package/dist/remarkable-ui/{editors/select → components/editors/selects}/shared/useSelectSearchFocus.hook.d.ts +0 -0
- /package/dist/remarkable-ui/{shared → components/shared}/Dropdown/Dropdown.d.ts +0 -0
- /package/dist/remarkable-ui/{shared → components/shared}/GhostButton/GhostButton.d.ts +0 -0
- /package/dist/remarkable-ui/{shared → components/shared}/PageOverlay/PageOverlay.d.ts +0 -0
- /package/dist/remarkable-ui/{shared → components/shared}/PageOverlay/PageOverlay.types.d.ts +0 -0
- /package/dist/remarkable-ui/{shared → components/shared}/Skeleton/Skeleton.d.ts +0 -0
- /package/dist/remarkable-ui/{shared → components/shared}/Typography/Typography.d.ts +0 -0
- /package/dist/remarkable-ui/{shared → components/shared}/Typography/Typography.types.d.ts +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { useTheme as h, defineComponent as f } from "@embeddable.com/react";
|
|
2
|
-
import { i as C, r as b, j as m, d as K, w as g, t as x, c as F, J as N, o as S } from "./component.constants-
|
|
3
|
-
import { C as j } from "./ChartCard-
|
|
2
|
+
import { i as C, r as b, j as m, d as K, w as g, t as x, c as F, J as N, o as S } from "./component.constants-CYS5-3qd.js";
|
|
3
|
+
import { C as j } from "./ChartCard-CyemTSay.js";
|
|
4
4
|
import "react";
|
|
5
|
-
import { K as v } from "./KpiChart-
|
|
6
|
-
import { g as z } from "./formatter.utils-
|
|
5
|
+
import { K as v } from "./KpiChart-BxmGCIn5.js";
|
|
6
|
+
import { g as z } from "./formatter.utils-CaFr8SlX.js";
|
|
7
7
|
const P = (e) => {
|
|
8
8
|
var s, o;
|
|
9
9
|
const a = h();
|
|
10
10
|
C(a);
|
|
11
|
-
const { title: i, description: n, results: t, measure: r, fontSize:
|
|
11
|
+
const { title: i, description: n, results: t, measure: r, fontSize: p } = b(e), u = (o = (s = t.data) == null ? void 0 : s[0]) == null ? void 0 : o[r.name], l = z(a), c = (d) => l.data(r, d);
|
|
12
12
|
return /* @__PURE__ */ m.jsx(
|
|
13
13
|
j,
|
|
14
14
|
{
|
|
@@ -17,7 +17,7 @@ const P = (e) => {
|
|
|
17
17
|
errorMessage: t.error,
|
|
18
18
|
subtitle: n,
|
|
19
19
|
title: i,
|
|
20
|
-
children: /* @__PURE__ */ m.jsx(v, { value:
|
|
20
|
+
children: /* @__PURE__ */ m.jsx(v, { value: u, valueFormatter: c, valueFontSize: p })
|
|
21
21
|
}
|
|
22
22
|
);
|
|
23
23
|
}, M = {
|
|
@@ -29,9 +29,9 @@ const P = (e) => {
|
|
|
29
29
|
g,
|
|
30
30
|
x,
|
|
31
31
|
F,
|
|
32
|
-
{ ...N, name: "fontSize", label: "Font Size"
|
|
32
|
+
{ ...N, name: "fontSize", label: "Font Size" }
|
|
33
33
|
]
|
|
34
|
-
},
|
|
34
|
+
}, I = f(P, M, {
|
|
35
35
|
props: (e) => ({
|
|
36
36
|
...e,
|
|
37
37
|
results: S({
|
|
@@ -41,7 +41,7 @@ const P = (e) => {
|
|
|
41
41
|
})
|
|
42
42
|
});
|
|
43
43
|
export {
|
|
44
|
-
|
|
44
|
+
I as default,
|
|
45
45
|
M as meta
|
|
46
46
|
};
|
|
47
47
|
//# sourceMappingURL=KpiChartNumberPro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KpiChartNumberPro.js","sources":["../src/remarkable-pro/components/charts/kpis/KpiChartNumberPro/index.tsx","../src/remarkable-pro/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '../../../../../remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype KpiChartNumberProProp = {\n title: string;\n description: string;\n results: DataResponse;\n measure: Measure;\n fontSize: number;\n};\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, results, measure, fontSize } = resolveI18nProps(props);\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart value={value} valueFormatter={valueFormatter} valueFontSize={fontSize} />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { dataset, description, genericNumber, measure, title } from '../../../component.constants';\nimport KpiChartNumberPro from './index';\nimport { loadData } from '@embeddable.com/core';\n\nexport const meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n category: 'Kpi Charts',\n inputs: [\n dataset,\n measure,\n title,\n description,\n { ...genericNumber, name: 'fontSize', label: 'Font Size'
|
|
1
|
+
{"version":3,"file":"KpiChartNumberPro.js","sources":["../src/remarkable-pro/components/charts/kpis/KpiChartNumberPro/index.tsx","../src/remarkable-pro/components/charts/kpis/KpiChartNumberPro/KpiChartNumberPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '../../../../../remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\ntype KpiChartNumberProProp = {\n title: string;\n description: string;\n results: DataResponse;\n measure: Measure;\n fontSize: number;\n};\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, results, measure, fontSize } = resolveI18nProps(props);\n\n const value = results.data?.[0]?.[measure.name];\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart value={value} valueFormatter={valueFormatter} valueFontSize={fontSize} />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { dataset, description, genericNumber, measure, title } from '../../../component.constants';\nimport KpiChartNumberPro from './index';\nimport { loadData } from '@embeddable.com/core';\n\nexport const meta = {\n name: 'KpiChartNumberPro',\n label: 'Kpi Chart - Number',\n category: 'Kpi Charts',\n inputs: [\n dataset,\n measure,\n title,\n description,\n { ...genericNumber, name: 'fontSize', label: 'Font Size' },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(KpiChartNumberPro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n }),\n };\n },\n});\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","results","measure","fontSize","resolveI18nProps","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","jsx","ChartCard","KpiChart","meta","dataset","genericNumber","KpiChartNumberPro_emb","defineComponent","inputs","loadData"],"mappings":";;;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,SAAAC,GAAS,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAE3EU,KAAQC,KAAAC,IAAAN,EAAQ,SAAR,gBAAAM,EAAe,OAAf,gBAAAD,EAAoBJ,EAAQ,OAEpCM,IAAiBC,EAAkBb,CAAK,GACxCc,IAAiB,CAACC,MAA0BH,EAAe,KAAKN,GAASS,CAAa;AAE5F,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMZ;AAAA,MACN,uBAAuB,CAACC,CAAO;AAAA,MAC/B,cAAcD,EAAQ;AAAA,MACtB,UAAUD;AAAA,MACV,OAAAD;AAAA,MAEA,UAAAa,gBAAAA,EAAAA,IAACE,GAAA,EAAS,OAAAT,GAAc,gBAAAK,GAAgC,eAAeP,EAAA,CAAU;AAAA,IAAA;AAAA,EAAA;AAGvF,GClCaY,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNC;AAAA,IACAd;AAAA,IACAH;AAAA,IACAC;AAAA,IACA,EAAE,GAAGiB,GAAe,MAAM,YAAY,OAAO,YAAA;AAAA,EAAY;AAE7D,GAEAC,IAAeC,EAAgBzB,GAAmBqB,GAAM;AAAA,EACtD,OAAO,CAACK,OACC;AAAA,IACL,GAAGA;AAAA,IACH,SAASC,EAAS;AAAA,MAChB,MAAMD,EAAO;AAAA,MACb,QAAQ,CAACA,EAAO,OAAO;AAAA,IAAA,CACxB;AAAA,EAAA;AAGP,CAAC;"}
|
|
@@ -1,45 +1,42 @@
|
|
|
1
1
|
import { useTheme as Y, defineComponent as _ } from "@embeddable.com/react";
|
|
2
|
-
import { m as G, E, K as
|
|
3
|
-
import { C as pe } from "./ChartCard-
|
|
2
|
+
import { m as G, E, K as M, F as K, L as w, M as I, i as q, r as z, j as V, N as U, d as H, a as B, I as A, O as S, z as J, H as Q, G as W, t as Z, c as ee, s as ae, e as se, f as ne, g as te, x as ie, y as oe, p as re, q as le, u as me, A as de, V as ce, o as F } from "./component.constants-CYS5-3qd.js";
|
|
3
|
+
import { C as pe } from "./ChartCard-CyemTSay.js";
|
|
4
4
|
import { useEffect as ue } from "react";
|
|
5
|
-
import { g as ge } from "./timeRange.utils-
|
|
6
|
-
import { g as
|
|
7
|
-
import { g as xe, a as
|
|
8
|
-
import { i as
|
|
5
|
+
import { g as ge } from "./timeRange.utils-CplLUFvd.js";
|
|
6
|
+
import { g as O } from "./formatter.utils-CaFr8SlX.js";
|
|
7
|
+
import { g as xe, a as be } from "./object.utils-D_Zzon-H.js";
|
|
8
|
+
import { i as he, s as Ce } from "./color.utils-CVyp-fGP.js";
|
|
9
9
|
import { g as fe } from "./lines.utils-CFEUUo4k.js";
|
|
10
10
|
import { u as N } from "./charts.fillGaps.hooks-5WclK2CD.js";
|
|
11
|
-
import { C as
|
|
11
|
+
import { C as De } from "./ComparisonPeriod.type.emb-i3iGuRJI.js";
|
|
12
12
|
const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
13
|
-
var P, k,
|
|
14
|
-
const { data: n, measure: i, dimension: s, index: c, isPreviousPeriod: r, hasMinMaxYAxisRange:
|
|
15
|
-
const
|
|
16
|
-
return (
|
|
17
|
-
}) : n == null ? void 0 : n.map((C) => C[i.name] ?? (l ? 0 : null)), x =
|
|
13
|
+
var P, k, b, u;
|
|
14
|
+
const { data: n, measure: i, dimension: s, index: c, isPreviousPeriod: r, hasMinMaxYAxisRange: h, labels: e } = a, p = n == null ? void 0 : n.map((C) => C[s.name]), l = !!((P = i.inputs) != null && P.connectGaps), g = e ? e.map((C) => {
|
|
15
|
+
const y = n == null ? void 0 : n.find((T) => T[s.name] === C);
|
|
16
|
+
return (y == null ? void 0 : y[i.name]) ?? (l ? 0 : null);
|
|
17
|
+
}) : n == null ? void 0 : n.map((C) => C[i.name] ?? (l ? 0 : null)), x = O(t), f = xe(t), o = !!((k = i.inputs) != null && k[r ? "previousLineDashed" : "lineDashed"]), m = (b = i.inputs) == null ? void 0 : b[r ? "previousLineColor" : "lineColor"], d = he(m) ? m : be(
|
|
18
18
|
`${f}.charts.backgroundColors`,
|
|
19
19
|
i.name,
|
|
20
20
|
t.charts.backgroundColors ?? E,
|
|
21
21
|
c
|
|
22
|
-
),
|
|
22
|
+
), D = x.dimensionOrMeasureTitle(i);
|
|
23
23
|
return {
|
|
24
24
|
xAxisID: r ? v : L,
|
|
25
25
|
labels: p,
|
|
26
|
-
rawLabel:
|
|
27
|
-
label: (r ? `${K.t("common.compared")} ` : "") +
|
|
26
|
+
rawLabel: D,
|
|
27
|
+
label: (r ? `${K.t("common.compared")} ` : "") + D,
|
|
28
28
|
data: g,
|
|
29
|
-
backgroundColor: Ce(
|
|
30
|
-
d,
|
|
31
|
-
w("--em-line-chart-line-fill-opacity")
|
|
32
|
-
),
|
|
29
|
+
backgroundColor: Ce(d, 0.5),
|
|
33
30
|
pointBackgroundColor: d,
|
|
34
31
|
borderDash: o ? [
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
M("--em-linechart-line-dash", "0.25rem"),
|
|
33
|
+
M("--em-linechart-line-gap", "0.25rem")
|
|
37
34
|
] : void 0,
|
|
38
35
|
borderColor: d,
|
|
39
36
|
fill: (u = i.inputs) == null ? void 0 : u.fillUnderLine,
|
|
40
|
-
clip:
|
|
37
|
+
clip: h
|
|
41
38
|
};
|
|
42
|
-
},
|
|
39
|
+
}, ye = (a, t) => {
|
|
43
40
|
if (!a.data)
|
|
44
41
|
return {
|
|
45
42
|
labels: [],
|
|
@@ -84,7 +81,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
84
81
|
datasets: [...p, ...l]
|
|
85
82
|
};
|
|
86
83
|
}, Ae = (a, t) => {
|
|
87
|
-
const { dimension: n, data: i, measures: s, xAxisLabel: c } = a, r =
|
|
84
|
+
const { dimension: n, data: i, measures: s, xAxisLabel: c } = a, r = O(t);
|
|
88
85
|
return {
|
|
89
86
|
plugins: {
|
|
90
87
|
legend: {
|
|
@@ -122,13 +119,13 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
122
119
|
},
|
|
123
120
|
[L]: {
|
|
124
121
|
title: {
|
|
125
|
-
...
|
|
122
|
+
...I,
|
|
126
123
|
text: c,
|
|
127
124
|
display: !!c
|
|
128
125
|
},
|
|
129
126
|
grid: { display: !1 },
|
|
130
127
|
ticks: {
|
|
131
|
-
...
|
|
128
|
+
...w,
|
|
132
129
|
callback(e) {
|
|
133
130
|
var p;
|
|
134
131
|
return r.data(n, (p = i.labels) == null ? void 0 : p[e]);
|
|
@@ -147,7 +144,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
147
144
|
};
|
|
148
145
|
}, Le = (a, t) => {
|
|
149
146
|
var x, f;
|
|
150
|
-
const { dimension: n, data: i, measures: s, xAxisLabel: c, showComparisonAxis: r, showDataComparison:
|
|
147
|
+
const { dimension: n, data: i, measures: s, xAxisLabel: c, showComparisonAxis: r, showDataComparison: h } = a, e = O(t), p = ((x = i.datasets.find((o) => o.xAxisID === L)) == null ? void 0 : x.labels) ?? [], l = ((f = i.datasets.find((o) => o.xAxisID === v)) == null ? void 0 : f.labels) ?? [];
|
|
151
148
|
return {
|
|
152
149
|
plugins: {
|
|
153
150
|
legend: {
|
|
@@ -173,12 +170,12 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
173
170
|
callbacks: {
|
|
174
171
|
title: (o) => {
|
|
175
172
|
const m = o[0];
|
|
176
|
-
if (!
|
|
173
|
+
if (!h && m)
|
|
177
174
|
return e.data(n, m.label);
|
|
178
175
|
const d = m == null ? void 0 : m.dataIndex;
|
|
179
176
|
if (d === void 0) return "";
|
|
180
|
-
const
|
|
181
|
-
return `${
|
|
177
|
+
const D = p[d] && e.data(n, p[d]), R = l[d] && e.data(n, l[d]);
|
|
178
|
+
return `${D ?? "-"} vs ${R ?? "-"}`;
|
|
182
179
|
},
|
|
183
180
|
label: (o) => {
|
|
184
181
|
const m = s[o.datasetIndex % s.length], d = o.raw;
|
|
@@ -191,26 +188,26 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
191
188
|
x: { display: !1 },
|
|
192
189
|
[L]: {
|
|
193
190
|
title: {
|
|
194
|
-
...
|
|
191
|
+
...I,
|
|
195
192
|
text: c,
|
|
196
193
|
display: !!((!r || l.length === 0) && c)
|
|
197
194
|
},
|
|
198
195
|
grid: { display: !1 },
|
|
199
196
|
ticks: {
|
|
200
|
-
...
|
|
197
|
+
...w,
|
|
201
198
|
callback: (o) => e.data(n, p[Number(o)])
|
|
202
199
|
}
|
|
203
200
|
},
|
|
204
201
|
[v]: {
|
|
205
202
|
title: {
|
|
206
|
-
...
|
|
203
|
+
...I,
|
|
207
204
|
text: c,
|
|
208
205
|
display: !!c
|
|
209
206
|
},
|
|
210
207
|
grid: { display: !1 },
|
|
211
208
|
display: r && l.length > 0,
|
|
212
209
|
ticks: {
|
|
213
|
-
...
|
|
210
|
+
...w,
|
|
214
211
|
callback: (o) => {
|
|
215
212
|
if (l.length === 0)
|
|
216
213
|
return "";
|
|
@@ -239,7 +236,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
239
236
|
q(t);
|
|
240
237
|
const { title: n, description: i, xAxisLabel: s, yAxisLabel: c } = z(a), {
|
|
241
238
|
comparisonPeriod: r,
|
|
242
|
-
measures:
|
|
239
|
+
measures: h,
|
|
243
240
|
xAxis: e,
|
|
244
241
|
reverseXAxis: p,
|
|
245
242
|
showLegend: l,
|
|
@@ -249,7 +246,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
249
246
|
yAxisRangeMax: o,
|
|
250
247
|
yAxisRangeMin: m,
|
|
251
248
|
primaryDateRange: d,
|
|
252
|
-
comparisonDateRange:
|
|
249
|
+
comparisonDateRange: D,
|
|
253
250
|
showComparisonAxis: R,
|
|
254
251
|
setComparisonDateRange: P,
|
|
255
252
|
onLineClicked: k
|
|
@@ -262,24 +259,24 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
262
259
|
);
|
|
263
260
|
P(X);
|
|
264
261
|
}, [r, JSON.stringify(d), t]);
|
|
265
|
-
const
|
|
262
|
+
const b = N({ results: a.results, dimension: e }), u = N({
|
|
266
263
|
results: a.resultsComparison,
|
|
267
264
|
dimension: e,
|
|
268
|
-
externalDateBounds:
|
|
269
|
-
}), C = !!(d && r),
|
|
265
|
+
externalDateBounds: D
|
|
266
|
+
}), C = !!(d && r), y = ye(
|
|
270
267
|
{
|
|
271
|
-
data:
|
|
268
|
+
data: b.data,
|
|
272
269
|
dataComparison: C ? (u == null ? void 0 : u.data) ?? [] : void 0,
|
|
273
270
|
dimension: e,
|
|
274
|
-
measures:
|
|
271
|
+
measures: h,
|
|
275
272
|
hasMinMaxYAxisRange: m != null || o != null
|
|
276
273
|
},
|
|
277
274
|
t
|
|
278
275
|
), T = ve(
|
|
279
276
|
{
|
|
280
|
-
data:
|
|
277
|
+
data: y,
|
|
281
278
|
dimension: e,
|
|
282
|
-
measures:
|
|
279
|
+
measures: h,
|
|
283
280
|
xAxisLabel: s,
|
|
284
281
|
showComparisonAxis: R,
|
|
285
282
|
showDataComparison: C,
|
|
@@ -287,21 +284,21 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
287
284
|
},
|
|
288
285
|
t
|
|
289
286
|
), j = {
|
|
290
|
-
isLoading: !!(
|
|
291
|
-
data: !(
|
|
287
|
+
isLoading: !!(b.isLoading || u != null && u.isLoading),
|
|
288
|
+
data: !(b != null && b.data) && !(u != null && u.data) ? void 0 : [...b.data ?? [], ...(u == null ? void 0 : u.data) ?? []]
|
|
292
289
|
};
|
|
293
290
|
return /* @__PURE__ */ V.jsx(
|
|
294
291
|
pe,
|
|
295
292
|
{
|
|
296
293
|
data: j,
|
|
297
|
-
dimensionsAndMeasures: [...
|
|
298
|
-
errorMessage:
|
|
294
|
+
dimensionsAndMeasures: [...h, e],
|
|
295
|
+
errorMessage: b.error || (u == null ? void 0 : u.error),
|
|
299
296
|
subtitle: i,
|
|
300
297
|
title: n,
|
|
301
298
|
children: /* @__PURE__ */ V.jsx(
|
|
302
299
|
U,
|
|
303
300
|
{
|
|
304
|
-
data:
|
|
301
|
+
data: y,
|
|
305
302
|
reverseXAxis: p,
|
|
306
303
|
showLegend: l,
|
|
307
304
|
showLogarithmicScale: g,
|
|
@@ -358,7 +355,7 @@ const L = "mainAxis", v = "comparisonAxis", $ = (a, t) => {
|
|
|
358
355
|
},
|
|
359
356
|
{
|
|
360
357
|
name: "comparisonPeriod",
|
|
361
|
-
type:
|
|
358
|
+
type: De,
|
|
362
359
|
label: "Comparison Period",
|
|
363
360
|
description: "You can also connect this to a comparison period selector using its variable",
|
|
364
361
|
category: "Component Data"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChartComparisonDefaultPro.js","sources":["../src/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.ts","../src/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.tsx","../src/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.emb.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getStyleNumber } from '../../../../../remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { chartContrastColors } from '../../../../../remarkable-ui/charts/charts.constants';\nimport { i18n } from '../../../../theme/i18n/i18n';\nimport {\n chartjsAxisOptionsScalesTicksDefault,\n chartjsAxisOptionsScalesTitle,\n} from '../../../../../remarkable-ui/charts/chartjs.cartesian.constants';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getLineChartProOptions, LineChartProOptionsClick } from '../lines.utils';\n\nconst AXIS_ID_MAIN = 'mainAxis';\nconst AXIS_ID_COMPARISON = 'comparisonAxis';\n\nconst getLineChartComparisonDataset = (\n props: {\n data: DataResponse['data'];\n measure: Measure;\n dimension: Dimension;\n labels?: string[];\n hasMinMaxYAxisRange: boolean;\n isPreviousPeriod?: boolean;\n index: number;\n },\n theme: Theme,\n): ChartData<'line'>['datasets'][number] => {\n const { data, measure, dimension, index, isPreviousPeriod, hasMinMaxYAxisRange, labels } = props;\n const datasetLabels = data?.map((item) => item[dimension.name]);\n\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n\n const processedData = labels\n ? labels.map((label) => {\n const found = data?.find((item) => item[dimension.name] === label);\n return found?.[measure.name] ?? (zeroFill ? 0 : null);\n })\n : data?.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const themeFormatter = getThemeFormatter(theme);\n const themeKey = getObjectStableKey(theme);\n\n const isLineDashed = Boolean(\n measure.inputs?.[isPreviousPeriod ? 'previousLineDashed' : 'lineDashed'],\n );\n\n const lineColorTemp = measure.inputs?.[isPreviousPeriod ? 'previousLineColor' : 'lineColor'];\n const lineColor = isColorValid(lineColorTemp)\n ? lineColorTemp\n : getColor(\n `${themeKey}.charts.backgroundColors`,\n measure.name,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const rawLabel = themeFormatter.dimensionOrMeasureTitle(measure);\n\n const dataset = {\n xAxisID: isPreviousPeriod ? AXIS_ID_COMPARISON : AXIS_ID_MAIN,\n labels: datasetLabels,\n rawLabel,\n label: (isPreviousPeriod ? `${i18n.t('common.compared')} ` : '') + rawLabel,\n data: processedData,\n backgroundColor: setColorAlpha(\n lineColor,\n getStyleNumber('--em-line-chart-line-fill-opacity') as number,\n ),\n pointBackgroundColor: lineColor,\n borderDash: isLineDashed\n ? [\n getStyleNumber('--em-line-chart-line-dash-length'),\n getStyleNumber('--em-line-chart-line-gap-length'),\n ]\n : undefined,\n borderColor: lineColor,\n fill: measure.inputs?.['fillUnderLine'],\n clip: hasMinMaxYAxisRange,\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n};\n\nexport const getLineChartComparisonProData = (\n props: {\n data: DataResponse['data'];\n dataComparison: DataResponse['data'] | undefined;\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [\n { xAxisID: AXIS_ID_MAIN, data: [] },\n { xAxisID: AXIS_ID_COMPARISON, data: [] },\n ],\n };\n }\n\n const { data, dataComparison, dimension, measures, hasMinMaxYAxisRange } = props;\n\n // Get all the available labels from both datasets if the dimension is not a time type (E.g. join United States with United Kindom and Germany)\n const isTimeDimension = dimension.nativeType === 'time';\n const labels = isTimeDimension\n ? undefined\n : dataComparison\n ? Array.from(\n new Set([\n ...data.map((item) => item[dimension.name]),\n ...(dataComparison?.map((item) => item[dimension.name]) ?? []),\n ]),\n )\n : undefined;\n\n const originalDatasets = measures.map((measure, index) =>\n getLineChartComparisonDataset(\n {\n data,\n measure,\n dimension,\n labels,\n hasMinMaxYAxisRange,\n index,\n },\n theme,\n ),\n );\n\n const comparisonDatasets = measures.map((measure, index) =>\n getLineChartComparisonDataset(\n {\n data: dataComparison,\n measure,\n dimension,\n labels,\n hasMinMaxYAxisRange,\n index,\n isPreviousPeriod: true,\n },\n theme,\n ),\n );\n\n return {\n labels: labels ?? data.map((item) => item[dimension.name]),\n datasets: [...originalDatasets, ...comparisonDatasets],\n };\n};\n\ntype LineChartComparisonProOptionsProps = {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n xAxisLabel?: string;\n showComparisonAxis: boolean;\n showDataComparison: boolean;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst getLineChartComparisonNonTimeOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, xAxisLabel } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n legend: {\n labels: {\n filter: (legendItem, chartData) => {\n if (!legendItem) return false;\n const dataset = chartData.datasets[legendItem.datasetIndex!]!;\n // Only show legend if dataset has at least one data point\n return Array.isArray(dataset.data) && dataset.data.length > 0;\n },\n },\n },\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n if (!context[0]) return '';\n\n return themeFormatter.data(dimension, context[0].label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n display: false,\n },\n [AXIS_ID_MAIN]: {\n title: {\n ...chartjsAxisOptionsScalesTitle,\n text: xAxisLabel,\n display: Boolean(xAxisLabel),\n },\n grid: { display: false },\n ticks: {\n ...chartjsAxisOptionsScalesTicksDefault,\n callback(index) {\n return themeFormatter.data(dimension, data.labels?.[index as number]);\n },\n },\n },\n [AXIS_ID_COMPARISON]: {\n display: false,\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n };\n\n return lineChartOptions;\n};\n\nconst getLineChartComparisonTimeOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, xAxisLabel, showComparisonAxis, showDataComparison } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const mainDimensionLabels: string[] =\n (data.datasets.find((ds) => ds.xAxisID === AXIS_ID_MAIN) as { labels?: string[] })?.labels ??\n [];\n const comparisonDimensionLabels: string[] =\n (data.datasets.find((ds) => ds.xAxisID === AXIS_ID_COMPARISON) as { labels?: string[] })\n ?.labels ?? [];\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n legend: {\n labels: {\n filter: (legendItem, chartData) => {\n if (!legendItem) return false;\n const dataset = chartData.datasets[legendItem.datasetIndex!]!;\n // Only show legend if dataset has at least one data point\n return Array.isArray(dataset.data) && dataset.data.length > 0;\n },\n },\n },\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const contextItem = context[0];\n\n if (!showDataComparison && contextItem) {\n return themeFormatter.data(dimension, contextItem.label);\n }\n\n const dataIndex = contextItem?.dataIndex;\n\n if (dataIndex === undefined) return '';\n\n const main =\n mainDimensionLabels[dataIndex] &&\n themeFormatter.data(dimension, mainDimensionLabels[dataIndex]);\n const comparison =\n comparisonDimensionLabels[dataIndex] &&\n themeFormatter.data(dimension, comparisonDimensionLabels[dataIndex]);\n\n return `${main ?? '-'} vs ${comparison ?? '-'}`;\n },\n label: (context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: { display: false },\n [AXIS_ID_MAIN]: {\n title: {\n ...chartjsAxisOptionsScalesTitle,\n text: xAxisLabel,\n display: Boolean(\n (!showComparisonAxis || comparisonDimensionLabels.length === 0) && xAxisLabel,\n ),\n },\n grid: { display: false },\n ticks: {\n ...chartjsAxisOptionsScalesTicksDefault,\n callback: (index) => {\n return themeFormatter.data(dimension, mainDimensionLabels[Number(index)]);\n },\n },\n },\n [AXIS_ID_COMPARISON]: {\n title: {\n ...chartjsAxisOptionsScalesTitle,\n text: xAxisLabel,\n display: Boolean(xAxisLabel),\n },\n grid: { display: false },\n display: showComparisonAxis && comparisonDimensionLabels.length > 0,\n ticks: {\n ...chartjsAxisOptionsScalesTicksDefault,\n callback: (index) => {\n if (comparisonDimensionLabels.length === 0) {\n return '';\n }\n\n const comparisonLabel = comparisonDimensionLabels[Number(index)];\n return comparisonLabel ? themeFormatter.data(dimension, comparisonLabel) : '';\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n };\n\n return lineChartOptions;\n};\n\nexport const getLineChartComparisonProOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { onLineClicked, dimension } = options;\n\n const getOptions =\n dimension.nativeType === 'time'\n ? getLineChartComparisonTimeOptions\n : getLineChartComparisonNonTimeOptions;\n\n return mergician(\n getLineChartProOptions({ onLineClicked }),\n getOptions(options, theme),\n theme.charts?.lineChartComparisonDefaultPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { LineChart } from '../../../../../remarkable-ui/charts/lines/LineChart';\nimport { useEffect } from 'react';\nimport { getComparisonPeriodDateRange } from '../../../utils/timeRange.utils';\nimport {\n getLineChartComparisonProData,\n getLineChartComparisonProOptions,\n} from './LineChartComparisonDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\ntype LineChartComparisonDefaultProProps = {\n description: string;\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showValueLabels: boolean;\n title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n comparisonPeriod?: string;\n comparisonDateRange: TimeRange;\n showComparisonAxis: boolean;\n primaryDateRange: TimeRange;\n setComparisonDateRange: (dateRange: TimeRange) => void;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst LineChartComparisonDefaultPro = (props: LineChartComparisonDefaultProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n comparisonPeriod,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n primaryDateRange,\n comparisonDateRange,\n showComparisonAxis,\n setComparisonDateRange,\n onLineClicked,\n } = props;\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({ results: props.results, dimension: xAxis });\n\n const resultsComparison = useFillGaps({\n results: props.resultsComparison,\n dimension: xAxis,\n externalDateBounds: comparisonDateRange,\n });\n\n const showDataComparison = Boolean(primaryDateRange && comparisonPeriod);\n const data = getLineChartComparisonProData(\n {\n data: results.data,\n dataComparison: showDataComparison ? (resultsComparison?.data ?? []) : undefined,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const options = getLineChartComparisonProOptions(\n {\n data: data,\n dimension: xAxis,\n measures,\n xAxisLabel,\n showComparisonAxis,\n showDataComparison,\n onLineClicked,\n },\n theme,\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 return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error || resultsComparison?.error}\n subtitle={description}\n title={title}\n >\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartComparisonDefaultPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport {\n dataset,\n description,\n dimension,\n dimensionTime,\n genericBoolean,\n genericTimeRange,\n maxResults,\n measures,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n subInputColor,\n title,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n} from '../../../component.constants';\nimport LineChartComparisonDefaultPro from './index';\nimport { loadData, OrderBy, TimeRange, Value } from '@embeddable.com/core';\nimport ComparisonPeriodType from '../../../types/ComparisonPeriod.type.emb';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\n\nexport const meta = {\n name: 'LineChartComparisonDefaultPro',\n label: 'Line Chart Comparison - Default',\n category: 'Line Charts',\n inputs: [\n dataset,\n {\n ...measures,\n inputs: [\n ...measures.inputs,\n { ...genericBoolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputColor,\n name: 'lineColor',\n label: 'Line color',\n },\n { ...subInputColor, name: 'previousLineColor', label: 'Previous line color' },\n {\n ...genericBoolean,\n name: 'lineDashed',\n label: 'Primary line dashed',\n defaultValue: false,\n },\n {\n ...genericBoolean,\n name: 'previousLineDashed',\n label: 'Compared line dashed',\n defaultValue: true,\n },\n { ...genericBoolean, name: 'connectGaps', label: 'Connect gaps', defaultValue: true },\n ],\n },\n { ...dimension, label: 'X-axis', name: 'xAxis' },\n {\n ...genericTimeRange,\n name: 'primaryDateRange',\n label: 'Primary Date Range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Comparison Period',\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n {\n ...dimensionTime,\n name: 'timePropertyForNonTimeDimensions',\n label: 'Time property for non time dimensions',\n description:\n 'Choose the time property used for filtering comparison ranges. This will be ignored if your x-axis is already time-based.',\n required: false,\n },\n\n title,\n description,\n showLegend,\n showTooltips,\n showValueLabels,\n showLogarithmicScale,\n xAxisLabel,\n yAxisLabel,\n reverseXAxis,\n yAxisRangeMin,\n yAxisRangeMax,\n {\n ...genericBoolean,\n name: 'showComparisonAxis',\n label: 'Display a comparison X-axis',\n defaultValue: true,\n },\n maxResults,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked Axis Dimension Value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype LineChartComparisonDefaultProState = {\n comparisonDateRange: TimeRange;\n};\n\nexport default defineComponent(LineChartComparisonDefaultPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n LineChartComparisonDefaultProState,\n (state: LineChartComparisonDefaultProState) => void,\n ],\n ) => {\n const orderBy: OrderBy[] = [\n {\n property: inputs.xAxis,\n direction: 'asc',\n },\n ];\n\n const timeProperty =\n inputs.xAxis.nativeType === 'time' ? inputs.xAxis : inputs.timePropertyForNonTimeDimensions;\n\n return {\n ...inputs,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadData({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, inputs.xAxis],\n orderBy,\n filters:\n inputs.primaryDateRange && timeProperty\n ? [\n {\n property: timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n }),\n resultsComparison:\n inputs.primaryDateRange && timeProperty && state?.comparisonDateRange\n ? loadData({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, inputs.xAxis],\n orderBy,\n filters: [\n {\n property: timeProperty,\n operator: 'inDateRange',\n value: state.comparisonDateRange,\n },\n ],\n })\n : undefined,\n };\n },\n events: {\n onLineClicked: (value: LineChartProOptionsClickArg) => {\n return {\n axisDimensionValue: value.dimensionValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["AXIS_ID_MAIN","AXIS_ID_COMPARISON","getLineChartComparisonDataset","props","theme","data","measure","dimension","index","isPreviousPeriod","hasMinMaxYAxisRange","labels","datasetLabels","item","zeroFill","_a","processedData","label","found","themeFormatter","getThemeFormatter","themeKey","getObjectStableKey","isLineDashed","_b","lineColorTemp","_c","lineColor","isColorValid","getColor","chartContrastColors","rawLabel","i18n","setColorAlpha","getStyleNumber","_d","getLineChartComparisonProData","dataComparison","measures","originalDatasets","comparisonDatasets","getLineChartComparisonNonTimeOptions","options","xAxisLabel","legendItem","chartData","dataset","value","context","raw","chartjsAxisOptionsScalesTitle","chartjsAxisOptionsScalesTicksDefault","getLineChartComparisonTimeOptions","showComparisonAxis","showDataComparison","mainDimensionLabels","ds","comparisonDimensionLabels","contextItem","dataIndex","main","comparison","comparisonLabel","getLineChartComparisonProOptions","onLineClicked","getOptions","mergician","getLineChartProOptions","LineChartComparisonDefaultPro","useTheme","i18nSetup","title","description","yAxisLabel","resolveI18nProps","comparisonPeriod","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","primaryDateRange","comparisonDateRange","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","results","useFillGaps","resultsComparison","resultsCombined","jsx","ChartCard","LineChart","meta","genericBoolean","subInputColor","genericTimeRange","ComparisonPeriodType","dimensionTime","maxResults","LineChartComparisonDefaultPro_emb","defineComponent","inputs","state","setState","orderBy","timeProperty","loadData","Value"],"mappings":";;;;;;;;;;;AAiBA,MAAMA,IAAe,YACfC,IAAqB,kBAErBC,IAAgC,CACpCC,GASAC,MAC0C;;AAC1C,QAAM,EAAE,MAAAC,GAAM,SAAAC,GAAS,WAAAC,GAAW,OAAAC,GAAO,kBAAAC,GAAkB,qBAAAC,GAAqB,QAAAC,MAAWR,GACrFS,IAAgBP,KAAA,gBAAAA,EAAM,IAAI,CAACQ,MAASA,EAAKN,EAAU,IAAI,IAEvDO,IAAW,IAAQC,IAAAT,EAAQ,WAAR,QAAAS,EAAiB,cAEpCC,IAAgBL,IAClBA,EAAO,IAAI,CAACM,MAAU;AACpB,UAAMC,IAAQb,KAAA,gBAAAA,EAAM,KAAK,CAACQ,MAASA,EAAKN,EAAU,IAAI,MAAMU;AAC5D,YAAOC,KAAA,gBAAAA,EAAQZ,EAAQ,WAAUQ,IAAW,IAAI;AAAA,EAClD,CAAC,IACDT,KAAA,gBAAAA,EAAM,IAAI,CAACQ,MAASA,EAAKP,EAAQ,IAAI,MAAMQ,IAAW,IAAI,QAExDK,IAAiBC,EAAkBhB,CAAK,GACxCiB,IAAWC,GAAmBlB,CAAK,GAEnCmB,IAAe,IACnBC,IAAAlB,EAAQ,WAAR,QAAAkB,EAAiBf,IAAmB,uBAAuB,gBAGvDgB,KAAgBC,IAAApB,EAAQ,WAAR,gBAAAoB,EAAiBjB,IAAmB,sBAAsB,cAC1EkB,IAAYC,GAAaH,CAAa,IACxCA,IACAI;AAAA,IACE,GAAGR,CAAQ;AAAA,IACXf,EAAQ;AAAA,IACRF,EAAM,OAAO,oBAAoB0B;AAAA,IACjCtB;AAAA,EAAA,GAGAuB,IAAWZ,EAAe,wBAAwBb,CAAO;AAwB/D,SAtBgB;AAAA,IACd,SAASG,IAAmBR,IAAqBD;AAAA,IACjD,QAAQY;AAAA,IACR,UAAAmB;AAAA,IACA,QAAQtB,IAAmB,GAAGuB,EAAK,EAAE,iBAAiB,CAAC,MAAM,MAAMD;AAAA,IACnE,MAAMf;AAAA,IACN,iBAAiBiB;AAAA,MACfN;AAAA,MACAO,EAAe,mCAAmC;AAAA,IAAA;AAAA,IAEpD,sBAAsBP;AAAA,IACtB,YAAYJ,IACR;AAAA,MACEW,EAAe,kCAAkC;AAAA,MACjDA,EAAe,iCAAiC;AAAA,IAAA,IAElD;AAAA,IACJ,aAAaP;AAAA,IACb,OAAMQ,IAAA7B,EAAQ,WAAR,gBAAA6B,EAAiB;AAAA,IACvB,MAAMzB;AAAA,EAAA;AAIV,GAEa0B,KAAgC,CAC3CjC,GAOAC,MACsB;AACtB,MAAI,CAACD,EAAM;AACT,WAAO;AAAA,MACL,QAAQ,CAAA;AAAA,MACR,UAAU;AAAA,QACR,EAAE,SAASH,GAAc,MAAM,GAAC;AAAA,QAChC,EAAE,SAASC,GAAoB,MAAM,CAAA,EAAC;AAAA,MAAE;AAAA,IAC1C;AAIJ,QAAM,EAAE,MAAAI,GAAM,gBAAAgC,GAAgB,WAAA9B,GAAW,UAAA+B,GAAU,qBAAA5B,MAAwBP,GAIrEQ,IADkBJ,EAAU,eAAe,SAE7C,SACA8B,IACE,MAAM;AAAA,wBACA,IAAI;AAAA,MACN,GAAGhC,EAAK,IAAI,CAACQ,MAASA,EAAKN,EAAU,IAAI,CAAC;AAAA,MAC1C,IAAI8B,KAAA,gBAAAA,EAAgB,IAAI,CAACxB,MAASA,EAAKN,EAAU,IAAI,OAAM,CAAA;AAAA,IAAC,CAC7D;AAAA,EAAA,IAEH,QAEAgC,IAAmBD,EAAS;AAAA,IAAI,CAAChC,GAASE,MAC9CN;AAAA,MACE;AAAA,QACE,MAAAG;AAAA,QACA,SAAAC;AAAA,QACA,WAAAC;AAAA,QACA,QAAAI;AAAA,QACA,qBAAAD;AAAA,QACA,OAAAF;AAAA,MAAA;AAAA,MAEFJ;AAAA,IAAA;AAAA,EACF,GAGIoC,IAAqBF,EAAS;AAAA,IAAI,CAAChC,GAASE,MAChDN;AAAA,MACE;AAAA,QACE,MAAMmC;AAAA,QACN,SAAA/B;AAAA,QACA,WAAAC;AAAA,QACA,QAAAI;AAAA,QACA,qBAAAD;AAAA,QACA,OAAAF;AAAA,QACA,kBAAkB;AAAA,MAAA;AAAA,MAEpBJ;AAAA,IAAA;AAAA,EACF;AAGF,SAAO;AAAA,IACL,QAAQO,KAAUN,EAAK,IAAI,CAACQ,MAASA,EAAKN,EAAU,IAAI,CAAC;AAAA,IACzD,UAAU,CAAC,GAAGgC,GAAkB,GAAGC,CAAkB;AAAA,EAAA;AAEzD,GAYMC,KAAuC,CAC3CC,GACAtC,MACyB;AACzB,QAAM,EAAE,WAAAG,GAAW,MAAAF,GAAM,UAAAiC,GAAU,YAAAK,MAAeD,GAC5CvB,IAAiBC,EAAkBhB,CAAK;AAsE9C,SApE+C;AAAA,IAC7C,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,QAAQ;AAAA,UACN,QAAQ,CAACwC,GAAYC,MAAc;AACjC,gBAAI,CAACD,EAAY,QAAO;AACxB,kBAAME,IAAUD,EAAU,SAASD,EAAW,YAAa;AAE3D,mBAAO,MAAM,QAAQE,EAAQ,IAAI,KAAKA,EAAQ,KAAK,SAAS;AAAA,UAC9D;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,OAAO;AAAA,YACL,WAAW,CAACC,GAAwBC,MAAY;AAC9C,oBAAM1C,IAAUgC,EAASU,EAAQ,eAAeV,EAAS,MAAM;AAC/D,qBAAOnB,EAAe,KAAKb,GAASyC,CAAK;AAAA,YAC3C;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAAA,MAEF,SAAS;AAAA,QACP,WAAW;AAAA,UACT,OAAO,CAACC,MACDA,EAAQ,CAAC,IAEP7B,EAAe,KAAKZ,GAAWyC,EAAQ,CAAC,EAAE,KAAK,IAF9B;AAAA,UAI1B,OAAO,CAACA,MAAY;AAClB,kBAAM1C,IAAUgC,EAASU,EAAQ,eAAeV,EAAS,MAAM,GACzDW,IAAMD,EAAQ;AACpB,mBAAO,GAAGA,EAAQ,QAAQ,KAAK,KAAK7B,EAAe,KAAKb,GAAS2C,CAAG,CAAC;AAAA,UACvE;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEF,QAAQ;AAAA,MACN,GAAG;AAAA,QACD,SAAS;AAAA,MAAA;AAAA,MAEX,CAACjD,CAAY,GAAG;AAAA,QACd,OAAO;AAAA,UACL,GAAGkD;AAAA,UACH,MAAMP;AAAA,UACN,SAAS,EAAQA;AAAA,QAAU;AAAA,QAE7B,MAAM,EAAE,SAAS,GAAA;AAAA,QACjB,OAAO;AAAA,UACL,GAAGQ;AAAA,UACH,SAAS3C,GAAO;;AACd,mBAAOW,EAAe,KAAKZ,IAAWQ,IAAAV,EAAK,WAAL,gBAAAU,EAAcP,EAAgB;AAAA,UACtE;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,CAACP,CAAkB,GAAG;AAAA,QACpB,SAAS;AAAA,MAAA;AAAA,MAEX,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAAC8C,MACF5B,EAAe,KAAKmB,EAAS,CAAC,GAAIS,CAAK;AAAA,QAChD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAIJ,GAEMK,KAAoC,CACxCV,GACAtC,MACyB;;AACzB,QAAM,EAAE,WAAAG,GAAW,MAAAF,GAAM,UAAAiC,GAAU,YAAAK,GAAY,oBAAAU,GAAoB,oBAAAC,MAAuBZ,GACpFvB,IAAiBC,EAAkBhB,CAAK,GAExCmD,MACHxC,IAAAV,EAAK,SAAS,KAAK,CAACmD,MAAOA,EAAG,YAAYxD,CAAY,MAAtD,gBAAAe,EAAmF,WACpF,CAAA,GACI0C,MACHjC,IAAAnB,EAAK,SAAS,KAAK,CAACmD,MAAOA,EAAG,YAAYvD,CAAkB,MAA5D,gBAAAuB,EACG,WAAU,CAAA;AAsGhB,SApG+C;AAAA,IAC7C,SAAS;AAAA,MACP,QAAQ;AAAA,QACN,QAAQ;AAAA,UACN,QAAQ,CAACoB,GAAYC,MAAc;AACjC,gBAAI,CAACD,EAAY,QAAO;AACxB,kBAAME,IAAUD,EAAU,SAASD,EAAW,YAAa;AAE3D,mBAAO,MAAM,QAAQE,EAAQ,IAAI,KAAKA,EAAQ,KAAK,SAAS;AAAA,UAC9D;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,YAAY;AAAA,QACV,QAAQ;AAAA,UACN,OAAO;AAAA,YACL,WAAW,CAACC,GAAwBC,MAAY;AAC9C,oBAAM1C,IAAUgC,EAASU,EAAQ,eAAeV,EAAS,MAAM;AAC/D,qBAAOnB,EAAe,KAAKb,GAASyC,CAAK;AAAA,YAC3C;AAAA,UAAA;AAAA,QACF;AAAA,MACF;AAAA,MAEF,SAAS;AAAA,QACP,WAAW;AAAA,UACT,OAAO,CAACC,MAAY;AAClB,kBAAMU,IAAcV,EAAQ,CAAC;AAE7B,gBAAI,CAACM,KAAsBI;AACzB,qBAAOvC,EAAe,KAAKZ,GAAWmD,EAAY,KAAK;AAGzD,kBAAMC,IAAYD,KAAA,gBAAAA,EAAa;AAE/B,gBAAIC,MAAc,OAAW,QAAO;AAEpC,kBAAMC,IACJL,EAAoBI,CAAS,KAC7BxC,EAAe,KAAKZ,GAAWgD,EAAoBI,CAAS,CAAC,GACzDE,IACJJ,EAA0BE,CAAS,KACnCxC,EAAe,KAAKZ,GAAWkD,EAA0BE,CAAS,CAAC;AAErE,mBAAO,GAAGC,KAAQ,GAAG,OAAOC,KAAc,GAAG;AAAA,UAC/C;AAAA,UACA,OAAO,CAACb,MAAY;AAClB,kBAAM1C,IAAUgC,EAASU,EAAQ,eAAeV,EAAS,MAAM,GACzDW,IAAMD,EAAQ;AACpB,mBAAO,GAAGA,EAAQ,QAAQ,KAAK,KAAK7B,EAAe,KAAKb,GAAS2C,CAAG,CAAC;AAAA,UACvE;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IAEF,QAAQ;AAAA,MACN,GAAG,EAAE,SAAS,GAAA;AAAA,MACd,CAACjD,CAAY,GAAG;AAAA,QACd,OAAO;AAAA,UACL,GAAGkD;AAAA,UACH,MAAMP;AAAA,UACN,SAAS,IACN,CAACU,KAAsBI,EAA0B,WAAW,MAAMd;AAAA,QACrE;AAAA,QAEF,MAAM,EAAE,SAAS,GAAA;AAAA,QACjB,OAAO;AAAA,UACL,GAAGQ;AAAA,UACH,UAAU,CAAC3C,MACFW,EAAe,KAAKZ,GAAWgD,EAAoB,OAAO/C,CAAK,CAAC,CAAC;AAAA,QAC1E;AAAA,MACF;AAAA,MAEF,CAACP,CAAkB,GAAG;AAAA,QACpB,OAAO;AAAA,UACL,GAAGiD;AAAA,UACH,MAAMP;AAAA,UACN,SAAS,EAAQA;AAAA,QAAU;AAAA,QAE7B,MAAM,EAAE,SAAS,GAAA;AAAA,QACjB,SAASU,KAAsBI,EAA0B,SAAS;AAAA,QAClE,OAAO;AAAA,UACL,GAAGN;AAAA,UACH,UAAU,CAAC3C,MAAU;AACnB,gBAAIiD,EAA0B,WAAW;AACvC,qBAAO;AAGT,kBAAMK,IAAkBL,EAA0B,OAAOjD,CAAK,CAAC;AAC/D,mBAAOsD,IAAkB3C,EAAe,KAAKZ,GAAWuD,CAAe,IAAI;AAAA,UAC7E;AAAA,QAAA;AAAA,MACF;AAAA,MAEF,GAAG;AAAA,QACD,OAAO;AAAA,UACL,UAAU,CAACf,MACF5B,EAAe,KAAKmB,EAAS,CAAC,GAAIS,CAAK;AAAA,QAChD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAIJ,GAEagB,KAAmC,CAC9CrB,GACAtC,MACyB;;AACzB,QAAM,EAAE,eAAA4D,GAAe,WAAAzD,EAAA,IAAcmC,GAE/BuB,IACJ1D,EAAU,eAAe,SACrB6C,KACAX;AAEN,SAAOyB;AAAA,IACLC,GAAuB,EAAE,eAAAH,GAAe;AAAA,IACxCC,EAAWvB,GAAStC,CAAK;AAAA,MACzBoB,KAAAT,IAAAX,EAAM,WAAN,gBAAAW,EAAc,kCAAd,gBAAAS,EAA6C,YAAW,CAAA;AAAA,EAAC;AAE7D,GCnVM4C,KAAgC,CAACjE,MAA8C;AACnF,QAAMC,IAAeiE,EAAA;AACrB,EAAAC,EAAUlE,CAAK;AAEf,QAAM,EAAE,OAAAmE,GAAO,aAAAC,GAAa,YAAA7B,GAAY,YAAA8B,EAAA,IAAeC,EAAiBvE,CAAK,GACvE;AAAA,IACJ,kBAAAwE;AAAA,IACA,UAAArC;AAAA,IACA,OAAAsC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,oBAAAhC;AAAA,IACA,wBAAAiC;AAAA,IACA,eAAAtB;AAAA,EAAA,IACE7D;AAEJ,EAAAoF,GAAU,MAAM;AACd,UAAMC,IAAyBC;AAAA,MAC7BL;AAAA,MACAT;AAAA,MACAvE;AAAA,IAAA;AAEF,IAAAkF,EAAuBE,CAAsB;AAAA,EAC/C,GAAG,CAACb,GAAkB,KAAK,UAAUS,CAAgB,GAAGhF,CAAK,CAAC;AAE9D,QAAMsF,IAAUC,EAAY,EAAE,SAASxF,EAAM,SAAS,WAAWyE,GAAO,GAElEgB,IAAoBD,EAAY;AAAA,IACpC,SAASxF,EAAM;AAAA,IACf,WAAWyE;AAAA,IACX,oBAAoBS;AAAA,EAAA,CACrB,GAEK/B,IAAqB,GAAQ8B,KAAoBT,IACjDtE,IAAO+B;AAAA,IACX;AAAA,MACE,MAAMsD,EAAQ;AAAA,MACd,gBAAgBpC,KAAsBsC,KAAA,gBAAAA,EAAmB,SAAQ,CAAA,IAAM;AAAA,MACvE,WAAWhB;AAAA,MACX,UAAAtC;AAAA,MACA,qBAA6B6C,KAAiB,QAAQD,KAAiB;AAAA,IAAI;AAAA,IAE7E9E;AAAA,EAAA,GAGIsC,IAAUqB;AAAA,IACd;AAAA,MACE,MAAA1D;AAAA,MACA,WAAWuE;AAAA,MACX,UAAAtC;AAAA,MACA,YAAAK;AAAA,MACA,oBAAAU;AAAA,MACA,oBAAAC;AAAA,MACA,eAAAU;AAAA,IAAA;AAAA,IAEF5D;AAAA,EAAA,GAGIyF,IAAgC;AAAA,IACpC,WAAW,GAAQH,EAAQ,aAAaE,KAAA,QAAAA,EAAmB;AAAA,IAC3D,MACE,EAACF,KAAA,QAAAA,EAAS,SAAQ,EAACE,KAAA,QAAAA,EAAmB,QAClC,SACA,CAAC,GAAIF,EAAQ,QAAQ,CAAA,GAAK,IAAIE,KAAA,gBAAAA,EAAmB,SAAQ,CAAA,CAAG;AAAA,EAAA;AAGpE,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMF;AAAA,MACN,uBAAuB,CAAC,GAAGvD,GAAUsC,CAAK;AAAA,MAC1C,cAAcc,EAAQ,UAASE,KAAA,gBAAAA,EAAmB;AAAA,MAClD,UAAUpB;AAAA,MACV,OAAAD;AAAA,MAEA,UAAAuB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAA3F;AAAA,UACA,cAAAwE;AAAA,UACA,YAAAC;AAAA,UACA,sBAAAC;AAAA,UACA,cAAAC;AAAA,UACA,iBAAAC;AAAA,UACA,YAAAtC;AAAA,UACA,YAAA8B;AAAA,UACA,eAAAS;AAAA,UACA,eAAAC;AAAA,UACA,SAAAzC;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN,GC7GauD,KAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,IACNnD;AAAA,IACA;AAAA,MACE,GAAGR;AAAA,MACH,QAAQ;AAAA,QACN,GAAGA,EAAS;AAAA,QACZ,EAAE,GAAG4D,GAAgB,MAAM,iBAAiB,OAAO,kBAAA;AAAA,QACnD;AAAA,UACE,GAAGC;AAAA,UACH,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAAA,QAET,EAAE,GAAGA,GAAe,MAAM,qBAAqB,OAAO,sBAAA;AAAA,QACtD;AAAA,UACE,GAAGD;AAAA,UACH,MAAM;AAAA,UACN,OAAO;AAAA,UACP,cAAc;AAAA,QAAA;AAAA,QAEhB;AAAA,UACE,GAAGA;AAAA,UACH,MAAM;AAAA,UACN,OAAO;AAAA,UACP,cAAc;AAAA,QAAA;AAAA,QAEhB,EAAE,GAAGA,GAAgB,MAAM,eAAe,OAAO,gBAAgB,cAAc,GAAA;AAAA,MAAK;AAAA,IACtF;AAAA,IAEF,EAAE,GAAG3F,GAAW,OAAO,UAAU,MAAM,QAAA;AAAA,IACvC;AAAA,MACE,GAAG6F;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,MAAM;AAAA,MACN,MAAMC;AAAA,MACN,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,GAAGC;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,aACE;AAAA,MACF,UAAU;AAAA,IAAA;AAAA,IAGZ/B;AAAA,IACAC;AAAA,IACAM;AAAA,IACAE;AAAA,IACAC;AAAA,IACAF;AAAA,IACApC;AAAA,IACA8B;AAAA,IACAI;AAAA,IACAM;AAAA,IACAD;AAAA,IACA;AAAA,MACE,GAAGgB;AAAA,MACH,MAAM;AAAA,MACN,OAAO;AAAA,MACP,cAAc;AAAA,IAAA;AAAA,IAEhBK;AAAA,EAAA;AAAA,EAEF,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;AAEJ,GAMAC,KAAeC,EAAgBrC,IAA+B6B,IAAM;AAAA;AAAA,EAGlE,OAAO,CACLS,GACA,CAACC,GAAOC,CAAQ,MAIb;AACH,UAAMC,IAAqB;AAAA,MACzB;AAAA,QACE,UAAUH,EAAO;AAAA,QACjB,WAAW;AAAA,MAAA;AAAA,IACb,GAGII,IACJJ,EAAO,MAAM,eAAe,SAASA,EAAO,QAAQA,EAAO;AAE7D,WAAO;AAAA,MACL,GAAGA;AAAA,MACH,qBAAqBC,KAAA,gBAAAA,EAAO;AAAA,MAC5B,wBAAwB,CAACtB,MAAmCuB,EAAS,EAAE,qBAAAvB,GAAqB;AAAA,MAC5F,SAAS0B,EAAS;AAAA,QAChB,OAAOL,EAAO;AAAA,QACd,MAAMA,EAAO;AAAA,QACb,QAAQ,CAAC,GAAGA,EAAO,UAAUA,EAAO,KAAK;AAAA,QACzC,SAAAG;AAAA,QACA,SACEH,EAAO,oBAAoBI,IACvB;AAAA,UACE;AAAA,YACE,UAAUA;AAAA,YACV,UAAU;AAAA,YACV,OAAOJ,EAAO;AAAA,UAAA;AAAA,QAChB,IAEF;AAAA,MAAA,CACP;AAAA,MACD,mBACEA,EAAO,oBAAoBI,MAAgBH,KAAA,QAAAA,EAAO,uBAC9CI,EAAS;AAAA,QACP,OAAOL,EAAO;AAAA,QACd,MAAMA,EAAO;AAAA,QACb,QAAQ,CAAC,GAAGA,EAAO,UAAUA,EAAO,KAAK;AAAA,QACzC,SAAAG;AAAA,QACA,SAAS;AAAA,UACP;AAAA,YACE,UAAUC;AAAA,YACV,UAAU;AAAA,YACV,OAAOH,EAAM;AAAA,UAAA;AAAA,QACf;AAAA,MACF,CACD,IACD;AAAA,IAAA;AAAA,EAEV;AAAA,EACA,QAAQ;AAAA,IACN,eAAe,CAAC5D,OACP;AAAA,MACL,oBAAoBA,EAAM,kBAAkBiE,GAAM,SAAA;AAAA,IAAS;AAAA,EAE/D;AAEJ,CAAC;"}
|
|
1
|
+
{"version":3,"file":"LineChartComparisonDefaultPro.js","sources":["../src/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.ts","../src/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.tsx","../src/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.emb.ts"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport {\n chartContrastColors,\n chartjsAxisOptionsScalesTicksDefault,\n chartjsAxisOptionsScalesTitle,\n getStyleNumber,\n} from '../../../../../remarkable-ui';\nimport { Theme } from '../../../../theme/theme.types';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { i18n } from '../../../../theme/i18n/i18n';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { getLineChartProOptions, LineChartProOptionsClick } from '../lines.utils';\n\nconst AXIS_ID_MAIN = 'mainAxis';\nconst AXIS_ID_COMPARISON = 'comparisonAxis';\n\nconst getLineChartComparisonDataset = (\n props: {\n data: DataResponse['data'];\n measure: Measure;\n dimension: Dimension;\n labels?: string[];\n hasMinMaxYAxisRange: boolean;\n isPreviousPeriod?: boolean;\n index: number;\n },\n theme: Theme,\n): ChartData<'line'>['datasets'][number] => {\n const { data, measure, dimension, index, isPreviousPeriod, hasMinMaxYAxisRange, labels } = props;\n const datasetLabels = data?.map((item) => item[dimension.name]);\n\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n\n const processedData = labels\n ? labels.map((label) => {\n const found = data?.find((item) => item[dimension.name] === label);\n return found?.[measure.name] ?? (zeroFill ? 0 : null);\n })\n : data?.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const themeFormatter = getThemeFormatter(theme);\n const themeKey = getObjectStableKey(theme);\n\n const isLineDashed = Boolean(\n measure.inputs?.[isPreviousPeriod ? 'previousLineDashed' : 'lineDashed'],\n );\n\n const lineColorTemp = measure.inputs?.[isPreviousPeriod ? 'previousLineColor' : 'lineColor'];\n const lineColor = isColorValid(lineColorTemp)\n ? lineColorTemp\n : getColor(\n `${themeKey}.charts.backgroundColors`,\n measure.name,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const rawLabel = themeFormatter.dimensionOrMeasureTitle(measure);\n\n const dataset = {\n xAxisID: isPreviousPeriod ? AXIS_ID_COMPARISON : AXIS_ID_MAIN,\n labels: datasetLabels,\n rawLabel,\n label: (isPreviousPeriod ? `${i18n.t('common.compared')} ` : '') + rawLabel,\n data: processedData,\n backgroundColor: setColorAlpha(lineColor, 0.5),\n pointBackgroundColor: lineColor,\n borderDash: isLineDashed\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor: lineColor,\n fill: measure.inputs?.['fillUnderLine'],\n clip: hasMinMaxYAxisRange,\n } as ChartData<'line'>['datasets'][number];\n\n return dataset;\n};\n\nexport const getLineChartComparisonProData = (\n props: {\n data: DataResponse['data'];\n dataComparison: DataResponse['data'] | undefined;\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [\n { xAxisID: AXIS_ID_MAIN, data: [] },\n { xAxisID: AXIS_ID_COMPARISON, data: [] },\n ],\n };\n }\n\n const { data, dataComparison, dimension, measures, hasMinMaxYAxisRange } = props;\n\n // Get all the available labels from both datasets if the dimension is not a time type (E.g. join United States with United Kindom and Germany)\n const isTimeDimension = dimension.nativeType === 'time';\n const labels = isTimeDimension\n ? undefined\n : dataComparison\n ? Array.from(\n new Set([\n ...data.map((item) => item[dimension.name]),\n ...(dataComparison?.map((item) => item[dimension.name]) ?? []),\n ]),\n )\n : undefined;\n\n const originalDatasets = measures.map((measure, index) =>\n getLineChartComparisonDataset(\n {\n data,\n measure,\n dimension,\n labels,\n hasMinMaxYAxisRange,\n index,\n },\n theme,\n ),\n );\n\n const comparisonDatasets = measures.map((measure, index) =>\n getLineChartComparisonDataset(\n {\n data: dataComparison,\n measure,\n dimension,\n labels,\n hasMinMaxYAxisRange,\n index,\n isPreviousPeriod: true,\n },\n theme,\n ),\n );\n\n return {\n labels: labels ?? data.map((item) => item[dimension.name]),\n datasets: [...originalDatasets, ...comparisonDatasets],\n };\n};\n\ntype LineChartComparisonProOptionsProps = {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n xAxisLabel?: string;\n showComparisonAxis: boolean;\n showDataComparison: boolean;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst getLineChartComparisonNonTimeOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, xAxisLabel } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n legend: {\n labels: {\n filter: (legendItem, chartData) => {\n if (!legendItem) return false;\n const dataset = chartData.datasets[legendItem.datasetIndex!]!;\n // Only show legend if dataset has at least one data point\n return Array.isArray(dataset.data) && dataset.data.length > 0;\n },\n },\n },\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n if (!context[0]) return '';\n\n return themeFormatter.data(dimension, context[0].label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n display: false,\n },\n [AXIS_ID_MAIN]: {\n title: {\n ...chartjsAxisOptionsScalesTitle,\n text: xAxisLabel,\n display: Boolean(xAxisLabel),\n },\n grid: { display: false },\n ticks: {\n ...chartjsAxisOptionsScalesTicksDefault,\n callback(index) {\n return themeFormatter.data(dimension, data.labels?.[index as number]);\n },\n },\n },\n [AXIS_ID_COMPARISON]: {\n display: false,\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n };\n\n return lineChartOptions;\n};\n\nconst getLineChartComparisonTimeOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, xAxisLabel, showComparisonAxis, showDataComparison } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const mainDimensionLabels: string[] =\n (data.datasets.find((ds) => ds.xAxisID === AXIS_ID_MAIN) as { labels?: string[] })?.labels ??\n [];\n const comparisonDimensionLabels: string[] =\n (data.datasets.find((ds) => ds.xAxisID === AXIS_ID_COMPARISON) as { labels?: string[] })\n ?.labels ?? [];\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n legend: {\n labels: {\n filter: (legendItem, chartData) => {\n if (!legendItem) return false;\n const dataset = chartData.datasets[legendItem.datasetIndex!]!;\n // Only show legend if dataset has at least one data point\n return Array.isArray(dataset.data) && dataset.data.length > 0;\n },\n },\n },\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const contextItem = context[0];\n\n if (!showDataComparison && contextItem) {\n return themeFormatter.data(dimension, contextItem.label);\n }\n\n const dataIndex = contextItem?.dataIndex;\n\n if (dataIndex === undefined) return '';\n\n const main =\n mainDimensionLabels[dataIndex] &&\n themeFormatter.data(dimension, mainDimensionLabels[dataIndex]);\n const comparison =\n comparisonDimensionLabels[dataIndex] &&\n themeFormatter.data(dimension, comparisonDimensionLabels[dataIndex]);\n\n return `${main ?? '-'} vs ${comparison ?? '-'}`;\n },\n label: (context) => {\n const measure = measures[context.datasetIndex % measures.length]!;\n const raw = context.raw as number;\n return `${context.dataset.label}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: { display: false },\n [AXIS_ID_MAIN]: {\n title: {\n ...chartjsAxisOptionsScalesTitle,\n text: xAxisLabel,\n display: Boolean(\n (!showComparisonAxis || comparisonDimensionLabels.length === 0) && xAxisLabel,\n ),\n },\n grid: { display: false },\n ticks: {\n ...chartjsAxisOptionsScalesTicksDefault,\n callback: (index) => {\n return themeFormatter.data(dimension, mainDimensionLabels[Number(index)]);\n },\n },\n },\n [AXIS_ID_COMPARISON]: {\n title: {\n ...chartjsAxisOptionsScalesTitle,\n text: xAxisLabel,\n display: Boolean(xAxisLabel),\n },\n grid: { display: false },\n display: showComparisonAxis && comparisonDimensionLabels.length > 0,\n ticks: {\n ...chartjsAxisOptionsScalesTicksDefault,\n callback: (index) => {\n if (comparisonDimensionLabels.length === 0) {\n return '';\n }\n\n const comparisonLabel = comparisonDimensionLabels[Number(index)];\n return comparisonLabel ? themeFormatter.data(dimension, comparisonLabel) : '';\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n };\n\n return lineChartOptions;\n};\n\nexport const getLineChartComparisonProOptions = (\n options: LineChartComparisonProOptionsProps,\n theme: Theme,\n): ChartOptions<'line'> => {\n const { onLineClicked, dimension } = options;\n\n const getOptions =\n dimension.nativeType === 'time'\n ? getLineChartComparisonTimeOptions\n : getLineChartComparisonNonTimeOptions;\n\n return mergician(\n getLineChartProOptions({ onLineClicked }),\n getOptions(options, theme),\n theme.charts?.lineChartComparisonDefaultPro?.options || {},\n );\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { useEffect } from 'react';\nimport { getComparisonPeriodDateRange } from '../../../utils/timeRange.utils';\nimport {\n getLineChartComparisonProData,\n getLineChartComparisonProOptions,\n} from './LineChartComparisonDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '../../../../../remarkable-ui';\n\ntype LineChartComparisonDefaultProProps = {\n description: string;\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showValueLabels: boolean;\n title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n comparisonPeriod?: string;\n comparisonDateRange: TimeRange;\n showComparisonAxis: boolean;\n primaryDateRange: TimeRange;\n setComparisonDateRange: (dateRange: TimeRange) => void;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst LineChartComparisonDefaultPro = (props: LineChartComparisonDefaultProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n comparisonPeriod,\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n primaryDateRange,\n comparisonDateRange,\n showComparisonAxis,\n setComparisonDateRange,\n onLineClicked,\n } = props;\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({ results: props.results, dimension: xAxis });\n\n const resultsComparison = useFillGaps({\n results: props.resultsComparison,\n dimension: xAxis,\n externalDateBounds: comparisonDateRange,\n });\n\n const showDataComparison = Boolean(primaryDateRange && comparisonPeriod);\n const data = getLineChartComparisonProData(\n {\n data: results.data,\n dataComparison: showDataComparison ? (resultsComparison?.data ?? []) : undefined,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n\n const options = getLineChartComparisonProOptions(\n {\n data: data,\n dimension: xAxis,\n measures,\n xAxisLabel,\n showComparisonAxis,\n showDataComparison,\n onLineClicked,\n },\n theme,\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 return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error || resultsComparison?.error}\n subtitle={description}\n title={title}\n >\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartComparisonDefaultPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport {\n dataset,\n description,\n dimension,\n dimensionTime,\n genericBoolean,\n genericTimeRange,\n maxResults,\n measures,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n subInputColor,\n title,\n xAxisLabel,\n yAxisLabel,\n yAxisRangeMax,\n yAxisRangeMin,\n} from '../../../component.constants';\nimport LineChartComparisonDefaultPro from './index';\nimport { loadData, OrderBy, TimeRange, Value } from '@embeddable.com/core';\nimport ComparisonPeriodType from '../../../types/ComparisonPeriod.type.emb';\nimport { LineChartProOptionsClickArg } from '../lines.utils';\n\nexport const meta = {\n name: 'LineChartComparisonDefaultPro',\n label: 'Line Chart Comparison - Default',\n category: 'Line Charts',\n inputs: [\n dataset,\n {\n ...measures,\n inputs: [\n ...measures.inputs,\n { ...genericBoolean, name: 'fillUnderLine', label: 'Fill under line' },\n {\n ...subInputColor,\n name: 'lineColor',\n label: 'Line color',\n },\n { ...subInputColor, name: 'previousLineColor', label: 'Previous line color' },\n {\n ...genericBoolean,\n name: 'lineDashed',\n label: 'Primary line dashed',\n defaultValue: false,\n },\n {\n ...genericBoolean,\n name: 'previousLineDashed',\n label: 'Compared line dashed',\n defaultValue: true,\n },\n { ...genericBoolean, name: 'connectGaps', label: 'Connect gaps', defaultValue: true },\n ],\n },\n { ...dimension, label: 'X-axis', name: 'xAxis' },\n {\n ...genericTimeRange,\n name: 'primaryDateRange',\n label: 'Primary Date Range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Comparison Period',\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n {\n ...dimensionTime,\n name: 'timePropertyForNonTimeDimensions',\n label: 'Time property for non time dimensions',\n description:\n 'Choose the time property used for filtering comparison ranges. This will be ignored if your x-axis is already time-based.',\n required: false,\n },\n\n title,\n description,\n showLegend,\n showTooltips,\n showValueLabels,\n showLogarithmicScale,\n xAxisLabel,\n yAxisLabel,\n reverseXAxis,\n yAxisRangeMin,\n yAxisRangeMax,\n {\n ...genericBoolean,\n name: 'showComparisonAxis',\n label: 'Display a comparison X-axis',\n defaultValue: true,\n },\n maxResults,\n ],\n events: [\n {\n name: 'onLineClicked',\n label: 'A line is clicked',\n properties: [\n {\n name: 'axisDimensionValue',\n label: 'Clicked Axis Dimension Value',\n type: 'string',\n },\n ],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype LineChartComparisonDefaultProState = {\n comparisonDateRange: TimeRange;\n};\n\nexport default defineComponent(LineChartComparisonDefaultPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n LineChartComparisonDefaultProState,\n (state: LineChartComparisonDefaultProState) => void,\n ],\n ) => {\n const orderBy: OrderBy[] = [\n {\n property: inputs.xAxis,\n direction: 'asc',\n },\n ];\n\n const timeProperty =\n inputs.xAxis.nativeType === 'time' ? inputs.xAxis : inputs.timePropertyForNonTimeDimensions;\n\n return {\n ...inputs,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadData({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, inputs.xAxis],\n orderBy,\n filters:\n inputs.primaryDateRange && timeProperty\n ? [\n {\n property: timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n }),\n resultsComparison:\n inputs.primaryDateRange && timeProperty && state?.comparisonDateRange\n ? loadData({\n limit: inputs.maxResults,\n from: inputs.dataset,\n select: [...inputs.measures, inputs.xAxis],\n orderBy,\n filters: [\n {\n property: timeProperty,\n operator: 'inDateRange',\n value: state.comparisonDateRange,\n },\n ],\n })\n : undefined,\n };\n },\n events: {\n onLineClicked: (value: LineChartProOptionsClickArg) => {\n return {\n axisDimensionValue: value.dimensionValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["AXIS_ID_MAIN","AXIS_ID_COMPARISON","getLineChartComparisonDataset","props","theme","data","measure","dimension","index","isPreviousPeriod","hasMinMaxYAxisRange","labels","datasetLabels","item","zeroFill","_a","processedData","label","found","themeFormatter","getThemeFormatter","themeKey","getObjectStableKey","isLineDashed","_b","lineColorTemp","_c","lineColor","isColorValid","getColor","chartContrastColors","rawLabel","i18n","setColorAlpha","getStyleNumber","_d","getLineChartComparisonProData","dataComparison","measures","originalDatasets","comparisonDatasets","getLineChartComparisonNonTimeOptions","options","xAxisLabel","legendItem","chartData","dataset","value","context","raw","chartjsAxisOptionsScalesTitle","chartjsAxisOptionsScalesTicksDefault","getLineChartComparisonTimeOptions","showComparisonAxis","showDataComparison","mainDimensionLabels","ds","comparisonDimensionLabels","contextItem","dataIndex","main","comparison","comparisonLabel","getLineChartComparisonProOptions","onLineClicked","getOptions","mergician","getLineChartProOptions","LineChartComparisonDefaultPro","useTheme","i18nSetup","title","description","yAxisLabel","resolveI18nProps","comparisonPeriod","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","primaryDateRange","comparisonDateRange","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","results","useFillGaps","resultsComparison","resultsCombined","jsx","ChartCard","LineChart","meta","genericBoolean","subInputColor","genericTimeRange","ComparisonPeriodType","dimensionTime","maxResults","LineChartComparisonDefaultPro_emb","defineComponent","inputs","state","setState","orderBy","timeProperty","loadData","Value"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useTheme as v, defineComponent as w } from "@embeddable.com/react";
|
|
2
|
-
import { E as
|
|
3
|
-
import { C as H } from "./ChartCard-
|
|
4
|
-
import { g as V } from "./formatter.utils-
|
|
2
|
+
import { E as L, K as f, m as R, i as F, r as P, j as A, N as B, d as O, a as k, I as p, O as j, b as I, t as S, c as T, s as $, e as G, f as K, g as N, x as X, y as E, p as U, q as Y, u as _, A as q, V as z, o as W } from "./component.constants-CYS5-3qd.js";
|
|
3
|
+
import { C as H } from "./ChartCard-CyemTSay.js";
|
|
4
|
+
import { g as V } from "./formatter.utils-CaFr8SlX.js";
|
|
5
5
|
import { g as J, a as y } from "./object.utils-D_Zzon-H.js";
|
|
6
6
|
import "react";
|
|
7
7
|
import { i as D, s as Q } from "./color.utils-CVyp-fGP.js";
|
|
@@ -12,34 +12,31 @@ const ee = (e, o) => {
|
|
|
12
12
|
labels: [],
|
|
13
13
|
datasets: [{ data: [] }]
|
|
14
14
|
};
|
|
15
|
-
const u = V(o), r = J(o),
|
|
15
|
+
const u = V(o), r = J(o), d = e.data;
|
|
16
16
|
return {
|
|
17
|
-
labels:
|
|
17
|
+
labels: d.map((s) => s[e.dimension.name]),
|
|
18
18
|
datasets: e.measures.map((s, t) => {
|
|
19
|
-
var l,
|
|
20
|
-
const m = !!((l = s.inputs) != null && l.connectGaps), h =
|
|
19
|
+
var l, c, b, x;
|
|
20
|
+
const m = !!((l = s.inputs) != null && l.connectGaps), h = d.map((C) => C[s.name] ?? (m ? 0 : null)), i = (c = s.inputs) == null ? void 0 : c.lineColor, a = D(i) ? i : y(
|
|
21
21
|
`${r}.charts.backgroundColors`,
|
|
22
22
|
s.name,
|
|
23
|
-
o.charts.backgroundColors ??
|
|
23
|
+
o.charts.backgroundColors ?? L,
|
|
24
24
|
t
|
|
25
25
|
), n = D(i) ? i : y(
|
|
26
26
|
`${r}.charts.borderColors`,
|
|
27
27
|
s.name,
|
|
28
|
-
o.charts.borderColors ??
|
|
28
|
+
o.charts.borderColors ?? L,
|
|
29
29
|
t
|
|
30
30
|
);
|
|
31
31
|
return {
|
|
32
32
|
clip: e.hasMinMaxYAxisRange,
|
|
33
33
|
label: u.dimensionOrMeasureTitle(s),
|
|
34
34
|
data: h,
|
|
35
|
-
backgroundColor: Q(
|
|
36
|
-
a,
|
|
37
|
-
g("--em-line-chart-line-fill-opacity")
|
|
38
|
-
),
|
|
35
|
+
backgroundColor: Q(a, 0.5),
|
|
39
36
|
pointBackgroundColor: a,
|
|
40
37
|
borderDash: (b = s.inputs) != null && b.dashedLine ? [
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
f("--em-linechart-line-dash", "0.25rem"),
|
|
39
|
+
f("--em-linechart-line-gap", "0.25rem")
|
|
43
40
|
] : void 0,
|
|
44
41
|
borderColor: n,
|
|
45
42
|
fill: !!((x = s.inputs) != null && x.fillUnderLine)
|
|
@@ -48,14 +45,14 @@ const ee = (e, o) => {
|
|
|
48
45
|
};
|
|
49
46
|
}, ae = (e, o) => {
|
|
50
47
|
var h, i;
|
|
51
|
-
const { dimension: u, data: r, measures:
|
|
48
|
+
const { dimension: u, data: r, measures: d, onLineClicked: s } = e, t = V(o);
|
|
52
49
|
return R({
|
|
53
50
|
plugins: {
|
|
54
51
|
datalabels: {
|
|
55
52
|
labels: {
|
|
56
53
|
value: {
|
|
57
54
|
formatter: (a, n) => {
|
|
58
|
-
const l =
|
|
55
|
+
const l = d[n.datasetIndex];
|
|
59
56
|
return t.data(l, a);
|
|
60
57
|
}
|
|
61
58
|
}
|
|
@@ -69,7 +66,7 @@ const ee = (e, o) => {
|
|
|
69
66
|
return t.data(u, n);
|
|
70
67
|
},
|
|
71
68
|
label: (a) => {
|
|
72
|
-
const n =
|
|
69
|
+
const n = d[a.datasetIndex], l = a.raw;
|
|
73
70
|
return `${t.data(u, a.dataset.label) || ""}: ${t.data(n, l)}`;
|
|
74
71
|
}
|
|
75
72
|
}
|
|
@@ -87,12 +84,12 @@ const ee = (e, o) => {
|
|
|
87
84
|
},
|
|
88
85
|
y: {
|
|
89
86
|
ticks: {
|
|
90
|
-
callback: (a) => t.data(
|
|
87
|
+
callback: (a) => t.data(d[0], a)
|
|
91
88
|
}
|
|
92
89
|
}
|
|
93
90
|
},
|
|
94
91
|
onClick: (a, n, l) => {
|
|
95
|
-
const
|
|
92
|
+
const c = n[0], b = c ? l.data.labels[c.index] : null;
|
|
96
93
|
s({
|
|
97
94
|
dimensionValue: b
|
|
98
95
|
});
|
|
@@ -101,7 +98,7 @@ const ee = (e, o) => {
|
|
|
101
98
|
}, se = (e) => {
|
|
102
99
|
const o = v();
|
|
103
100
|
F(o);
|
|
104
|
-
const { title: u, description: r, xAxisLabel:
|
|
101
|
+
const { title: u, description: r, xAxisLabel: d, yAxisLabel: s } = P(e), {
|
|
105
102
|
measures: t,
|
|
106
103
|
xAxis: m,
|
|
107
104
|
reverseXAxis: h,
|
|
@@ -109,22 +106,22 @@ const ee = (e, o) => {
|
|
|
109
106
|
showLogarithmicScale: a,
|
|
110
107
|
showTooltips: n,
|
|
111
108
|
showValueLabels: l,
|
|
112
|
-
yAxisRangeMax:
|
|
109
|
+
yAxisRangeMax: c,
|
|
113
110
|
yAxisRangeMin: b,
|
|
114
111
|
onLineClicked: x
|
|
115
112
|
} = e, C = Z({
|
|
116
113
|
results: e.results,
|
|
117
114
|
dimension: m
|
|
118
|
-
}),
|
|
115
|
+
}), g = ee(
|
|
119
116
|
{
|
|
120
117
|
data: C.data,
|
|
121
118
|
dimension: m,
|
|
122
119
|
measures: t,
|
|
123
|
-
hasMinMaxYAxisRange: b != null ||
|
|
120
|
+
hasMinMaxYAxisRange: b != null || c != null
|
|
124
121
|
},
|
|
125
122
|
o
|
|
126
123
|
), M = ae(
|
|
127
|
-
{ data:
|
|
124
|
+
{ data: g, dimension: m, measures: t, onLineClicked: x },
|
|
128
125
|
o
|
|
129
126
|
);
|
|
130
127
|
return /* @__PURE__ */ A.jsx(
|
|
@@ -138,15 +135,15 @@ const ee = (e, o) => {
|
|
|
138
135
|
children: /* @__PURE__ */ A.jsx(
|
|
139
136
|
B,
|
|
140
137
|
{
|
|
141
|
-
data:
|
|
138
|
+
data: g,
|
|
142
139
|
reverseXAxis: h,
|
|
143
140
|
showLegend: i,
|
|
144
141
|
showLogarithmicScale: a,
|
|
145
142
|
showTooltips: n,
|
|
146
143
|
showValueLabels: l,
|
|
147
|
-
xAxisLabel:
|
|
144
|
+
xAxisLabel: d,
|
|
148
145
|
yAxisLabel: s,
|
|
149
|
-
yAxisRangeMax:
|
|
146
|
+
yAxisRangeMax: c,
|
|
150
147
|
yAxisRangeMin: b,
|
|
151
148
|
options: M
|
|
152
149
|
}
|