@embeddable.com/remarkable-pro 0.1.7 → 0.1.9
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 +8 -8
- package/dist/BarChartDefaultPro.js +5 -5
- package/dist/BarChartGroupedHorizontalPro.js +5 -5
- package/dist/BarChartGroupedPro.js +9 -9
- package/dist/BarChartStackedHorizontalPro.js +5 -5
- package/dist/BarChartStackedPro.js +5 -5
- package/dist/ChartCard-Bu-80NJh.js +117 -0
- package/dist/{ChartCard-lY9ll4LQ.js.map → ChartCard-Bu-80NJh.js.map} +1 -1
- package/dist/{Color.type.emb-DyMeb06O.js → Color.type.emb-JBTB4VAn.js} +12869 -12753
- package/dist/Color.type.emb-JBTB4VAn.js.map +1 -0
- package/dist/ColorEditor.js +10 -29
- package/dist/ColorEditor.js.map +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +3 -3
- package/dist/DateRangePickerCustomPro.js +12 -39
- package/dist/DateRangePickerCustomPro.js.map +1 -1
- package/dist/DateRangeSelectFieldPro.js +3 -3
- package/dist/{DimensionAndMeasureSingleSelectField-CauMjY7c.js → DimensionAndMeasureSingleSelectField-C5B9m3hv.js} +8 -7
- package/dist/DimensionAndMeasureSingleSelectField-C5B9m3hv.js.map +1 -0
- package/dist/DimensionSingleSelectFieldPro.js +12 -27
- package/dist/DimensionSingleSelectFieldPro.js.map +1 -1
- package/dist/DonutChartPro.js +4 -4
- package/dist/DonutLabelChartPro.js +4 -4
- package/dist/{EditorCard-BT_swxOl.js → EditorCard-DlwWVuY3.js} +11 -11
- package/dist/EditorCard-DlwWVuY3.js.map +1 -0
- package/dist/EmptyBlockPro.js +7 -6
- package/dist/EmptyBlockPro.js.map +1 -1
- package/dist/{GranularitySelectField-BxO_3Xt9.js → GranularitySelectField-DpCZ47f8.js} +28 -25
- package/dist/{GranularitySelectField-BxO_3Xt9.js.map → GranularitySelectField-DpCZ47f8.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +11 -27
- package/dist/GranularitySelectFieldPro.js.map +1 -1
- package/dist/HeatMapPro.js +4 -4
- package/dist/{IconCalendarFilled-CnWTSJdY.js → IconCalendarFilled-DPibPYqC.js} +2 -2
- package/dist/{IconCalendarFilled-CnWTSJdY.js.map → IconCalendarFilled-DPibPYqC.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +4 -4
- package/dist/KpiChartNumberPro.js +6 -6
- package/dist/LineChartComparisonDefaultPro.js +5 -5
- package/dist/LineChartDefaultPro.js +5 -5
- package/dist/LineChartGroupedPro.js +5 -5
- package/dist/MeasureSingleSelectFieldPro.js +14 -29
- package/dist/MeasureSingleSelectFieldPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +4 -4
- package/dist/PieChartPro.js +4 -4
- package/dist/PivotTablePro.js +77 -43
- package/dist/PivotTablePro.js.map +1 -1
- package/dist/SingleSelectFieldPro.js +4 -4
- package/dist/TableChartPaginated.js +8 -8
- package/dist/TableScrollable.js +58 -480
- package/dist/TableScrollable.js.map +1 -1
- package/dist/{bars.utils-D67ef4lU.js → bars.utils-DZf4BZCu.js} +7 -7
- package/dist/{bars.utils-D67ef4lU.js.map → bars.utils-DZf4BZCu.js.map} +1 -1
- package/dist/{charts.utils-B3C8A2Nv.js → charts.utils-MNXWiXfk.js} +1165 -1104
- package/dist/charts.utils-MNXWiXfk.js.map +1 -0
- package/dist/{component.inputs.constants-DIuvtpIr.js → component.inputs.constants-Cj-atN8w.js} +11 -10
- package/dist/{component.inputs.constants-DIuvtpIr.js.map → component.inputs.constants-Cj-atN8w.js.map} +1 -1
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts +1 -1
- package/dist/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/lines/lines.utils.d.ts +1 -1
- package/dist/components/charts/lines/lines.utils.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutChartPro/index.d.ts +1 -1
- package/dist/components/charts/pies/DonutChartPro/index.d.ts.map +1 -1
- package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts +1 -1
- package/dist/components/charts/pies/DonutLabelChartPro/index.d.ts.map +1 -1
- package/dist/components/charts/pies/PieChartPro/index.d.ts +1 -1
- package/dist/components/charts/pies/PieChartPro/index.d.ts.map +1 -1
- package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts +1 -2
- package/dist/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.d.ts.map +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts +1 -1
- package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/index.d.ts +5 -1
- package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
- package/dist/components/charts/tables/TableChartPaginated/index.d.ts +1 -1
- package/dist/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
- package/dist/components/charts/tables/TableScrollable/index.d.ts +1 -1
- package/dist/components/charts/tables/TableScrollable/index.d.ts.map +1 -1
- package/dist/components/charts/tables/tables.hooks.d.ts +2 -2
- package/dist/components/charts/tables/tables.hooks.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/DimensionSingleSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/DimensionSingleSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/GranularitySelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/MeasureSingleSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/MeasureSingleSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/MultiSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/MultiSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/SingleSelectFieldPro/index.d.ts +1 -1
- package/dist/components/editors/SingleSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
- package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.d.ts +1 -2
- package/dist/components/editors/shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField.d.ts.map +1 -1
- package/dist/components/editors/shared/EditorCard/EditorCard.d.ts +1 -2
- package/dist/components/editors/shared/EditorCard/EditorCard.d.ts.map +1 -1
- package/dist/{dates.utils-BF32dTLi.js → dates.utils-D13NY0HZ.js} +32 -27
- package/dist/{dates.utils-BF32dTLi.js.map → dates.utils-D13NY0HZ.js.map} +1 -1
- package/dist/embeddable-components.json +26 -26
- package/dist/embeddable-theme-0137e.js +485 -433
- package/dist/{granularity.utils-DOE6WosF.js → granularity.utils-COYhEZ3f.js} +5 -5
- package/dist/granularity.utils-COYhEZ3f.js.map +1 -0
- package/dist/index-1LMAV7gp.js +131 -0
- package/dist/index-1LMAV7gp.js.map +1 -0
- package/dist/index-5qsLc5gK.js +28 -0
- package/dist/index-5qsLc5gK.js.map +1 -0
- package/dist/{index-CjHAwVRf.js → index-77C7AtLU.js} +5 -5
- package/dist/index-77C7AtLU.js.map +1 -0
- package/dist/{index-CUSduRHI.js → index-B0Z1wHFa.js} +5 -5
- package/dist/index-B0Z1wHFa.js.map +1 -0
- package/dist/{index-C-nvYCGs.js → index-BIYe6Mxp.js} +16 -16
- package/dist/index-BIYe6Mxp.js.map +1 -0
- package/dist/index-BLtSOe_I.js +28 -0
- package/dist/index-BLtSOe_I.js.map +1 -0
- package/dist/index-BfrhwVwQ.js +30 -0
- package/dist/index-BfrhwVwQ.js.map +1 -0
- package/dist/{index-GErBkwin.js → index-BownhTSN.js} +10 -10
- package/dist/index-BownhTSN.js.map +1 -0
- package/dist/{index-xEBUfTFG.js → index-BwwtBJde.js} +18 -18
- package/dist/index-BwwtBJde.js.map +1 -0
- package/dist/{index-Dqg161tJ.js → index-C6YdlImA.js} +10 -10
- package/dist/index-C6YdlImA.js.map +1 -0
- package/dist/{index-lRdvXdHc.js → index-CDfc3oko.js} +60 -60
- package/dist/index-CDfc3oko.js.map +1 -0
- package/dist/index-CKM7Eu4P.js +29 -0
- package/dist/index-CKM7Eu4P.js.map +1 -0
- package/dist/{index-CF3L0Llr.js → index-CWAfLnlR.js} +11 -11
- package/dist/index-CWAfLnlR.js.map +1 -0
- package/dist/index-CWoNbj8I.js +40 -0
- package/dist/index-CWoNbj8I.js.map +1 -0
- package/dist/index-CfSyZuh4.js +436 -0
- package/dist/index-CfSyZuh4.js.map +1 -0
- package/dist/{index-BurrZuJv.js → index-ChBjG9Oi.js} +12 -12
- package/dist/index-ChBjG9Oi.js.map +1 -0
- package/dist/{index-DE1v51rj.js → index-Ci4fIfj8.js} +8 -8
- package/dist/index-Ci4fIfj8.js.map +1 -0
- package/dist/{index-Cqijl93L.js → index-CwEdsnOz.js} +10 -10
- package/dist/index-CwEdsnOz.js.map +1 -0
- package/dist/index-CzKKN6Om.js +9 -0
- package/dist/index-CzKKN6Om.js.map +1 -0
- package/dist/{index-CWbF9C-q.js → index-D65Rq3k-.js} +6 -6
- package/dist/index-D65Rq3k-.js.map +1 -0
- package/dist/{index-D6MGD_eg.js → index-DA8SRHFS.js} +16 -16
- package/dist/index-DA8SRHFS.js.map +1 -0
- package/dist/{index-Ddl-xnlO.js → index-DILo_r4-.js} +8 -8
- package/dist/index-DILo_r4-.js.map +1 -0
- package/dist/{index-DUbT-KRk.js → index-DK0M5jbC.js} +10 -10
- package/dist/index-DK0M5jbC.js.map +1 -0
- package/dist/{index-CFrNEzVs.js → index-DKN0VZXM.js} +13 -13
- package/dist/index-DKN0VZXM.js.map +1 -0
- package/dist/{index-LXoveu2D.js → index-DN5C1NTk.js} +5 -5
- package/dist/index-DN5C1NTk.js.map +1 -0
- package/dist/{index-CMQ1TgyS.js → index-d6y81S-C.js} +23 -23
- package/dist/index-d6y81S-C.js.map +1 -0
- package/dist/{index-DY_fdpVZ.js → index-r9MBmJ_q.js} +5 -5
- package/dist/index-r9MBmJ_q.js.map +1 -0
- package/dist/{index-RClH7rnf.js → index-s6HzicAx.js} +20 -20
- package/dist/index-s6HzicAx.js.map +1 -0
- package/dist/index.d.ts +67 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +152 -91
- package/dist/index.js.map +1 -1
- package/dist/{lines.utils-COGf_F0b.js → lines.utils-CEGfmIHB.js} +5 -5
- package/dist/lines.utils-CEGfmIHB.js.map +1 -0
- package/dist/{pies.utils-JJQ8gWX5.js → pies.utils-CxJtBPWG.js} +5 -5
- package/dist/{pies.utils-JJQ8gWX5.js.map → pies.utils-CxJtBPWG.js.map} +1 -1
- package/dist/preview.data.constants-DWqfMVjy.js +123 -0
- package/dist/preview.data.constants-DWqfMVjy.js.map +1 -0
- package/dist/remarkable-pro.css +1 -1
- package/dist/styles.utils-BfpH_m_W.js.map +1 -1
- package/dist/tables.hooks-fVC_4V5K.js +47 -0
- package/dist/tables.hooks-fVC_4V5K.js.map +1 -0
- package/dist/{tables.utils-Tmh4h7ni.js → tables.utils-D4RGHDWw.js} +4 -4
- package/dist/{tables.utils-Tmh4h7ni.js.map → tables.utils-D4RGHDWw.js.map} +1 -1
- package/dist/theme/styles/styles.utils.d.ts +1 -2
- package/dist/theme/styles/styles.utils.d.ts.map +1 -1
- package/dist/{timeRange.utils-BkBVvgvj.js → timeRange.utils-D8kYnjqp.js} +5 -5
- package/dist/{timeRange.utils-BkBVvgvj.js.map → timeRange.utils-D8kYnjqp.js.map} +1 -1
- package/dist/utils/array.utils.d.ts +2 -0
- package/dist/utils/array.utils.d.ts.map +1 -0
- package/package.json +2 -2
- package/dist/ChartCard-lY9ll4LQ.js +0 -117
- package/dist/Color.type.emb-DyMeb06O.js.map +0 -1
- package/dist/DimensionAndMeasureSingleSelectField-CauMjY7c.js.map +0 -1
- package/dist/EditorCard-BT_swxOl.js.map +0 -1
- package/dist/charts.utils-B3C8A2Nv.js.map +0 -1
- package/dist/formatter.utils-7mfdOwJE.js +0 -54
- package/dist/formatter.utils-7mfdOwJE.js.map +0 -1
- package/dist/granularity.utils-DOE6WosF.js.map +0 -1
- package/dist/index-BurrZuJv.js.map +0 -1
- package/dist/index-C-nvYCGs.js.map +0 -1
- package/dist/index-CF3L0Llr.js.map +0 -1
- package/dist/index-CFrNEzVs.js.map +0 -1
- package/dist/index-CMQ1TgyS.js.map +0 -1
- package/dist/index-CUSduRHI.js.map +0 -1
- package/dist/index-CWbF9C-q.js.map +0 -1
- package/dist/index-CjHAwVRf.js.map +0 -1
- package/dist/index-Cqijl93L.js.map +0 -1
- package/dist/index-D6MGD_eg.js.map +0 -1
- package/dist/index-DE1v51rj.js.map +0 -1
- package/dist/index-DUbT-KRk.js.map +0 -1
- package/dist/index-DY_fdpVZ.js.map +0 -1
- package/dist/index-Ddl-xnlO.js.map +0 -1
- package/dist/index-Dqg161tJ.js.map +0 -1
- package/dist/index-GErBkwin.js.map +0 -1
- package/dist/index-LXoveu2D.js.map +0 -1
- package/dist/index-QipF64Oq.js +0 -99
- package/dist/index-QipF64Oq.js.map +0 -1
- package/dist/index-RClH7rnf.js.map +0 -1
- package/dist/index-lRdvXdHc.js.map +0 -1
- package/dist/index-xEBUfTFG.js.map +0 -1
- package/dist/lines.utils-COGf_F0b.js.map +0 -1
- package/dist/preview.data.constants-BsS2fJxn.js +0 -72
- package/dist/preview.data.constants-BsS2fJxn.js.map +0 -1
- package/dist/tables.hooks-BQdyUxau.js +0 -45
- package/dist/tables.hooks-BQdyUxau.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as s,
|
|
2
|
-
import { G as p } from "./GranularitySelectField-
|
|
1
|
+
import { j as s, r as y } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { G as p } from "./GranularitySelectField-DpCZ47f8.js";
|
|
3
3
|
const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn_7", o = {
|
|
4
4
|
chartGranularitySelectFieldContainer: g,
|
|
5
5
|
marginTop: G
|
|
@@ -33,7 +33,7 @@ const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn
|
|
|
33
33
|
)
|
|
34
34
|
}
|
|
35
35
|
);
|
|
36
|
-
},
|
|
36
|
+
}, x = (r, t) => {
|
|
37
37
|
var n;
|
|
38
38
|
const a = t ?? ((n = r.inputs) == null ? void 0 : n.granularity);
|
|
39
39
|
return {
|
|
@@ -46,6 +46,6 @@ const g = "_chartGranularitySelectFieldContainer_m26zn_1", G = "_marginTop_m26zn
|
|
|
46
46
|
};
|
|
47
47
|
export {
|
|
48
48
|
S as C,
|
|
49
|
-
|
|
49
|
+
x as g
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=granularity.utils-
|
|
51
|
+
//# sourceMappingURL=granularity.utils-COYhEZ3f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"granularity.utils-COYhEZ3f.js","sources":["../src/components/charts/shared/ChartGranularitySelectField/ChartGranularitySelectField.tsx","../src/components/charts/utils/granularity.utils.ts"],"sourcesContent":["import { Dimension, Granularity } from '@embeddable.com/core';\nimport {\n GranularitySelectField,\n GranularitySelectFieldProps,\n} from '../../../editors/shared/GranularitySelectField/GranularitySelectField';\nimport styles from './ChartGranularitySelectField.module.css';\nimport clsx from 'clsx';\n\nexport type ChartGranularitySelectFieldProps = Pick<GranularitySelectFieldProps, 'onChange'> & {\n dimension: Dimension;\n hasMarginTop?: boolean;\n};\n\nconst dimensionGranularities: Granularity[] = ['day', 'week', 'month', 'quarter', 'year'];\n\nexport const ChartGranularitySelectField = ({\n dimension,\n hasMarginTop,\n ...props\n}: ChartGranularitySelectFieldProps) => {\n const showGranularitySelector = dimension?.inputs?.showGranularityDropdown;\n\n if (!showGranularitySelector) {\n return null;\n }\n\n const dimensionTimeRange = dimension.inputs?.dateBounds;\n const dimensionGranularity = dimension.inputs?.granularity;\n\n return (\n <div\n className={clsx(\n styles.chartGranularitySelectFieldContainer,\n hasMarginTop && styles.marginTop,\n )}\n >\n <GranularitySelectField\n {...props}\n primaryTimeRange={dimensionTimeRange}\n granularity={dimensionGranularity}\n granularities={dimensionGranularities}\n variant=\"ghost\"\n side=\"bottom\"\n align=\"end\"\n />\n </div>\n );\n};\n","import { Dimension, Granularity } from '@embeddable.com/core';\n\nexport const getDimensionWithGranularity = (dimension: Dimension, granularity?: Granularity) => {\n const currentGranularity = granularity ?? dimension.inputs?.granularity;\n\n return {\n ...dimension,\n inputs: {\n ...dimension.inputs,\n granularity: currentGranularity,\n },\n };\n};\n"],"names":["dimensionGranularities","ChartGranularitySelectField","dimension","hasMarginTop","props","_a","dimensionTimeRange","_b","dimensionGranularity","_c","jsx","clsx","styles","GranularitySelectField","getDimensionWithGranularity","granularity","currentGranularity"],"mappings":";;;;;GAaMA,IAAwC,CAAC,OAAO,QAAQ,SAAS,WAAW,MAAM,GAE3EC,IAA8B,CAAC;AAAA,EAC1C,WAAAC;AAAA,EACA,cAAAC;AAAA,EACA,GAAGC;AACL,MAAwC;;AAGtC,MAAI,GAF4BC,IAAAH,KAAA,gBAAAA,EAAW,WAAX,gBAAAG,EAAmB;AAGjD,WAAO;AAGT,QAAMC,KAAqBC,IAAAL,EAAU,WAAV,gBAAAK,EAAkB,YACvCC,KAAuBC,IAAAP,EAAU,WAAV,gBAAAO,EAAkB;AAE/C,SACEC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTC,EAAO;AAAA,QACPT,KAAgBS,EAAO;AAAA,MAAA;AAAA,MAGzB,UAAAF,gBAAAA,EAAAA;AAAAA,QAACG;AAAA,QAAA;AAAA,UACE,GAAGT;AAAA,UACJ,kBAAkBE;AAAA,UAClB,aAAaE;AAAA,UACb,eAAeR;AAAA,UACf,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,OAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IACR;AAAA,EAAA;AAGN,GC7Cac,IAA8B,CAACZ,GAAsBa,MAA8B;;AAC9F,QAAMC,IAAqBD,OAAeV,IAAAH,EAAU,WAAV,gBAAAG,EAAkB;AAE5D,SAAO;AAAA,IACL,GAAGH;AAAA,IACH,QAAQ;AAAA,MACN,GAAGA,EAAU;AAAA,MACb,aAAac;AAAA,IAAA;AAAA,EACf;AAEJ;"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { j as v, s as J } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { useTheme as Q } from "@embeddable.com/react";
|
|
3
|
+
import { b as U, r as X, i as Y } from "./component.inputs.constants-Cj-atN8w.js";
|
|
4
|
+
import { C as Z } from "./ChartCard-Bu-80NJh.js";
|
|
5
|
+
import { useRef as $, useState as T, useEffect as K } from "react";
|
|
6
|
+
import { u as S } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
+
import { g as P } from "./preview.data.constants-DWqfMVjy.js";
|
|
8
|
+
import { u as ee } from "./tables.hooks-fVC_4V5K.js";
|
|
9
|
+
const te = (t, e) => {
|
|
10
|
+
const o = P(e);
|
|
11
|
+
return t.measures.map((n) => {
|
|
12
|
+
var l, s;
|
|
13
|
+
return {
|
|
14
|
+
key: n.name,
|
|
15
|
+
label: o.dimensionOrMeasureTitle(n),
|
|
16
|
+
showAsPercentage: !!((l = n.inputs) != null && l.showAsPercentage),
|
|
17
|
+
percentageDecimalPlaces: ((s = n.inputs) == null ? void 0 : s.decimalPlaces) ?? 1,
|
|
18
|
+
accessor: (r) => r[n.name] == null ? t.displayNullAs : o.data(n, r[n.name])
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
}, R = (t, e) => {
|
|
22
|
+
const o = P(e);
|
|
23
|
+
return {
|
|
24
|
+
key: t.dimension.name,
|
|
25
|
+
label: o.dimensionOrMeasureTitle(t.dimension),
|
|
26
|
+
formatValue: (n) => o.data(t.dimension, n)
|
|
27
|
+
};
|
|
28
|
+
}, oe = (t) => t.filter((e) => {
|
|
29
|
+
var o;
|
|
30
|
+
return (o = e.inputs) == null ? void 0 : o.showColumnTotal;
|
|
31
|
+
}).map((e) => e.name), ne = (t) => t.filter((e) => {
|
|
32
|
+
var o;
|
|
33
|
+
return (o = e.inputs) == null ? void 0 : o.showRowTotal;
|
|
34
|
+
}).map((e) => e.name), se = (t, e, o = "asc") => [...t].sort((n, l) => n[e] < l[e] ? o === "asc" ? -1 : 1 : n[e] > l[e] ? o === "asc" ? 1 : -1 : 0), ae = (t) => {
|
|
35
|
+
var b;
|
|
36
|
+
const e = Q();
|
|
37
|
+
U(e);
|
|
38
|
+
const { title: o, description: n, tooltip: l } = X(t), {
|
|
39
|
+
resultsSubRows: s,
|
|
40
|
+
measures: r,
|
|
41
|
+
rowDimension: a,
|
|
42
|
+
subRowDimension: m,
|
|
43
|
+
columnDimension: d,
|
|
44
|
+
displayNullAs: D,
|
|
45
|
+
columnWidth: x,
|
|
46
|
+
firstColumnWidth: F,
|
|
47
|
+
hideMenu: y,
|
|
48
|
+
expandedRowKeys: f,
|
|
49
|
+
setExpandedRowKey: C
|
|
50
|
+
} = t, M = Array.from(
|
|
51
|
+
new Set((t.results.data ?? []).filter(Boolean).map((i) => i[d.name]))
|
|
52
|
+
), A = Array.from(
|
|
53
|
+
new Set((t.results.data ?? []).filter(Boolean).map((i) => i[a.name]))
|
|
54
|
+
), B = S({
|
|
55
|
+
results: t.results,
|
|
56
|
+
dimension: d
|
|
57
|
+
}), j = S({
|
|
58
|
+
results: B,
|
|
59
|
+
dimension: a
|
|
60
|
+
}), E = ee({
|
|
61
|
+
results: j,
|
|
62
|
+
columnOrder: M,
|
|
63
|
+
rowOrder: A,
|
|
64
|
+
columnDimension: d,
|
|
65
|
+
rowDimension: a,
|
|
66
|
+
measures: r
|
|
67
|
+
}), O = $(null), G = te({ measures: r, displayNullAs: D }, e), _ = R({ dimension: a }, e), k = m ? R({ dimension: m }, e) : void 0, L = R({ dimension: d }, e), N = oe(r), W = ne(r), [z, p] = T(/* @__PURE__ */ new Set()), [I, V] = T(/* @__PURE__ */ new Map()), q = (i) => {
|
|
68
|
+
p((u) => new Set(u).add(i)), C(i);
|
|
69
|
+
};
|
|
70
|
+
return K(() => {
|
|
71
|
+
if (!s || !(s != null && s.data) || f.length === 0)
|
|
72
|
+
return;
|
|
73
|
+
const i = /* @__PURE__ */ new Map();
|
|
74
|
+
f.forEach((u) => {
|
|
75
|
+
var g, h;
|
|
76
|
+
if ((g = s.data) == null ? void 0 : g.some(
|
|
77
|
+
(c) => String(c[a.name]) === u
|
|
78
|
+
)) {
|
|
79
|
+
const c = ((h = s.data) == null ? void 0 : h.filter((H) => String(H[a.name]) === u)) ?? [], w = m ? se(c, m.name, "asc") : c;
|
|
80
|
+
i.set(u, w);
|
|
81
|
+
}
|
|
82
|
+
p((c) => {
|
|
83
|
+
const w = new Set(c);
|
|
84
|
+
return w.delete(u), w;
|
|
85
|
+
});
|
|
86
|
+
}), V(i);
|
|
87
|
+
}, [s, f, a, m]), /* @__PURE__ */ v.jsx(
|
|
88
|
+
Z,
|
|
89
|
+
{
|
|
90
|
+
ref: O,
|
|
91
|
+
title: o,
|
|
92
|
+
description: n,
|
|
93
|
+
tooltip: l,
|
|
94
|
+
data: t.results,
|
|
95
|
+
dimensionsAndMeasures: [a, d, ...r],
|
|
96
|
+
errorMessage: (b = t.results) == null ? void 0 : b.error,
|
|
97
|
+
hideMenu: y,
|
|
98
|
+
children: /* @__PURE__ */ v.jsx(
|
|
99
|
+
J,
|
|
100
|
+
{
|
|
101
|
+
firstColumnWidth: F,
|
|
102
|
+
columnWidth: x,
|
|
103
|
+
totalLabel: Y.t("charts.pivotTable.total"),
|
|
104
|
+
data: E,
|
|
105
|
+
measures: G,
|
|
106
|
+
rowDimension: _,
|
|
107
|
+
columnDimension: L,
|
|
108
|
+
columnTotalsFor: N,
|
|
109
|
+
rowTotalsFor: W,
|
|
110
|
+
expandableRows: !!m,
|
|
111
|
+
subRowsByRow: I,
|
|
112
|
+
loadingRows: z,
|
|
113
|
+
onRowExpand: q,
|
|
114
|
+
subRowDimension: k
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
}, Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
120
|
+
__proto__: null,
|
|
121
|
+
default: ae
|
|
122
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
123
|
+
export {
|
|
124
|
+
ae as P,
|
|
125
|
+
R as a,
|
|
126
|
+
te as b,
|
|
127
|
+
ne as c,
|
|
128
|
+
oe as g,
|
|
129
|
+
Re as i
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=index-1LMAV7gp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-1LMAV7gp.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","export const sortArrayByProp = <T, K extends keyof T>(\n arr: T[],\n prop: K,\n order: 'asc' | 'desc' = 'asc',\n): T[] => {\n return [...arr].sort((a, b) => {\n if (a[prop] < b[prop]) return order === 'asc' ? -1 : 1;\n if (a[prop] > b[prop]) return order === 'asc' ? 1 : -1;\n return 0;\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '@embeddable.com/remarkable-ui';\nimport { useEffect, useRef, useState } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\nimport { useGetTableSortedResults } from '../tables.hooks';\nimport { sortArrayByProp } from '../../../../utils/array.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PivotTableProProps = {\n results: DataResponse;\n resultsSubRows?: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n subRowDimension?: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n expandedRowKeys: string[];\n setExpandedRowKey: (expandedRowKeys: string) => void;\n} & ChartCardHeaderProps;\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n resultsSubRows,\n measures,\n rowDimension,\n subRowDimension,\n columnDimension,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n hideMenu,\n expandedRowKeys,\n setExpandedRowKey,\n } = props;\n\n const columnOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[columnDimension.name])),\n );\n\n const rowOrder = Array.from(\n new Set((props.results.data ?? []).filter(Boolean).map((d) => d[rowDimension.name])),\n );\n\n // Fill gaps for the column dimension\n const resultsColumnDimensionFillGaps = useFillGaps({\n results: props.results,\n dimension: columnDimension,\n });\n\n // Fill gaps for the row dimension\n const resultsRowColumnDimensionFillGaps = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const results = useGetTableSortedResults({\n results: resultsRowColumnDimensionFillGaps,\n columnOrder,\n rowOrder,\n columnDimension,\n rowDimension,\n measures,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotSubRowDimension = subRowDimension\n ? getPivotDimension({ dimension: subRowDimension }, theme)\n : undefined;\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n const [loadingRows, setLoadingRows] = useState(new Set<string>());\n const [subRowsByRow, setSubRowsByRow] = useState(new Map<string, any[]>());\n\n const handleRowExpand = (rowKey: string) => {\n setLoadingRows((prev) => new Set(prev).add(rowKey));\n setExpandedRowKey(rowKey);\n };\n\n useEffect(() => {\n // No results or no expandedRowKeys, nothing to load\n if (!resultsSubRows || !resultsSubRows?.data || expandedRowKeys.length === 0) {\n return;\n }\n\n const subRowsByRowData = new Map<string, any[]>();\n expandedRowKeys.forEach((rowKey) => {\n const containsSubRow = resultsSubRows.data?.some(\n (row) => String(row[rowDimension.name]) === rowKey,\n );\n\n if (containsSubRow) {\n const subRows =\n resultsSubRows.data?.filter((row) => String(row[rowDimension.name]) === rowKey) ?? [];\n const subRowsSorted = subRowDimension\n ? sortArrayByProp(subRows, subRowDimension.name, 'asc')\n : subRows;\n\n subRowsByRowData.set(rowKey, subRowsSorted);\n }\n\n setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={props.results?.error}\n hideMenu={hideMenu}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n expandableRows={Boolean(subRowDimension)}\n subRowsByRow={subRowsByRow}\n loadingRows={loadingRows}\n onRowExpand={handleRowExpand}\n subRowDimension={pivotSubRowDimension}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","sortArrayByProp","arr","prop","order","a","b","PivotTablePro","useTheme","i18nSetup","title","description","tooltip","resolveI18nProps","resultsSubRows","rowDimension","subRowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","hideMenu","expandedRowKeys","setExpandedRowKey","columnOrder","d","rowOrder","resultsColumnDimensionFillGaps","useFillGaps","resultsRowColumnDimensionFillGaps","results","useGetTableSortedResults","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotSubRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","loadingRows","setLoadingRows","useState","subRowsByRow","setSubRowsByRow","handleRowExpand","rowKey","prev","useEffect","subRowsByRowData","subRows","subRowsSorted","next","jsx","ChartCard","PivotTable","i18n"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { j as o } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { E as d } from "./EditorCard-DlwWVuY3.js";
|
|
3
|
+
import { b as p, r as u } from "./component.inputs.constants-Cj-atN8w.js";
|
|
4
|
+
import { useTheme as f } from "@embeddable.com/react";
|
|
5
|
+
import { D as S } from "./DimensionAndMeasureSingleSelectField-C5B9m3hv.js";
|
|
6
|
+
const j = (e) => {
|
|
7
|
+
const t = f();
|
|
8
|
+
p(t);
|
|
9
|
+
const { selectedMeasure: r, measureOptions: s, clearable: i, onChange: n } = e, { title: l, description: a, tooltip: m, placeholder: c } = u(e);
|
|
10
|
+
return /* @__PURE__ */ o.jsx(d, { title: l, description: a, tooltip: m, children: /* @__PURE__ */ o.jsx(
|
|
11
|
+
S,
|
|
12
|
+
{
|
|
13
|
+
selectedValue: r,
|
|
14
|
+
options: s,
|
|
15
|
+
placeholder: c,
|
|
16
|
+
clearable: i,
|
|
17
|
+
onChange: n
|
|
18
|
+
}
|
|
19
|
+
) });
|
|
20
|
+
}, _ = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
21
|
+
__proto__: null,
|
|
22
|
+
default: j
|
|
23
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
24
|
+
export {
|
|
25
|
+
j as M,
|
|
26
|
+
_ as i
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=index-5qsLc5gK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-5qsLc5gK.js","sources":["../src/components/editors/MeasureSingleSelectFieldPro/index.tsx"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type MeasureSingleSelectFieldProProps = {\n selectedMeasure?: Measure;\n measureOptions: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst MeasureSingleSelectFieldPro = (props: MeasureSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasure, measureOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Measure>\n selectedValue={selectedMeasure}\n options={measureOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureSingleSelectFieldPro;\n"],"names":["MeasureSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasure","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField"],"mappings":";;;;;AAiBA,MAAMA,IAA8B,CAACC,MAA4C;AAC/E,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,iBAAAG,GAAiB,gBAAAC,GAAgB,WAAAC,GAAW,UAAAC,MAAaP,GAC3D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { c as f, u as E, d as O, j as x, T as A, e as N } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
2
|
import { useTheme as G } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import { C as B } from "./ChartCard-
|
|
3
|
+
import { b as U, r as V, i as q } from "./component.inputs.constants-Cj-atN8w.js";
|
|
4
|
+
import { C as B } from "./ChartCard-Bu-80NJh.js";
|
|
5
5
|
import { useState as F, useRef as J, useCallback as K, useEffect as d } from "react";
|
|
6
|
-
import { b as Q, c as W } from "./tables.utils-
|
|
6
|
+
import { b as Q, c as W } from "./tables.utils-D4RGHDWw.js";
|
|
7
7
|
const X = f("--em-tablechart-cell-height", "2.5rem"), Y = f("--em-tablechart-cell-height", "2.5rem"), Z = f("--em-tablechart-pagination-height", "3rem");
|
|
8
8
|
let R;
|
|
9
9
|
const $ = (u) => {
|
|
@@ -111,4 +111,4 @@ export {
|
|
|
111
111
|
$ as T,
|
|
112
112
|
re as i
|
|
113
113
|
};
|
|
114
|
-
//# sourceMappingURL=index-
|
|
114
|
+
//# sourceMappingURL=index-77C7AtLU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-77C7AtLU.js","sources":["../src/components/charts/tables/TableChartPaginated/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, DimensionOrMeasure, OrderDirection } from '@embeddable.com/core';\nimport {\n getStyleNumber,\n getTableTotalPages,\n TablePaginated,\n useTableGetRowsPerPage,\n useResizeObserver,\n TableSort,\n} from '@embeddable.com/remarkable-ui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { getTableHeaders, getTableRows } from '../tables.utils';\nimport { ChartCardMenuOptionOnClickProps } from '../../../../theme/defaults/defaults.ChartCardMenu.constants';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nconst headerHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst rowHeight = getStyleNumber('--em-tablechart-cell-height', '2.5rem') as number;\nconst footerHeight = getStyleNumber('--em-tablechart-pagination-height', '3rem') as number;\n\nlet downloadData: (data: DataResponse['data']) => void;\n\nexport type TableChartPaginatedProOnRowClickArg = string | null;\nexport type TableChartPaginatedProState = {\n page: number;\n pageSize?: number;\n sort?: { id: string; direction: OrderDirection } | undefined;\n isLoadingDownloadData: boolean;\n hasTotalResults: boolean;\n};\n\nexport type TableChartPaginatedProProps = {\n allResults?: DataResponse;\n clickDimension?: Dimension;\n\n dimensionsAndMeasures: DimensionOrMeasure[];\n displayNullAs?: string;\n results: DataResponse;\n showIndex?: boolean;\n state?: TableChartPaginatedProState;\n\n totalResults?: DataResponse;\n onRowClicked?: (rowDimensionValue: TableChartPaginatedProOnRowClickArg) => void;\n setState?: React.Dispatch<React.SetStateAction<TableChartPaginatedProState>>;\n} & ChartCardHeaderProps;\n\nconst TableChartPaginatedPro = (props: TableChartPaginatedProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isDownloadingData, setIsDownloadingData] = useState(false);\n\n const { title, description, tooltip } = resolveI18nProps(props);\n const {\n hideMenu,\n totalResults,\n results,\n allResults,\n dimensionsAndMeasures,\n displayNullAs,\n showIndex,\n clickDimension,\n state,\n setState,\n onRowClicked,\n } = props;\n\n const headers = getTableHeaders({ dimensionsAndMeasures, displayNullAs }, theme);\n const rows = results?.data || [];\n const tableRows = getTableRows({ rows, clickDimension });\n const cardContentRef = useRef<HTMLDivElement>(null);\n const { height } = useResizeObserver(cardContentRef);\n const pageSize = useTableGetRowsPerPage({\n availableHeight: height,\n headerHeight,\n rowHeight,\n footerHeight,\n });\n\n // Stable updater for embeddable state\n const handleUpdateEmbeddableState = useCallback(\n (newState: Partial<TableChartPaginatedProState>) => {\n setState?.((prevState) => ({\n ...prevState,\n ...newState,\n }));\n },\n [setState],\n );\n\n const handleCustomDownload = (onDownload: (props: ChartCardMenuOptionOnClickProps) => void) => {\n setIsDownloadingData(true);\n handleUpdateEmbeddableState({ isLoadingDownloadData: true });\n\n downloadData = (data: DataResponse['data']) =>\n onDownload({\n title,\n data,\n dimensionsAndMeasures,\n containerRef: cardContentRef,\n theme,\n });\n };\n\n const handleRowIndexClick = (rowIndex: number) => {\n if (!onRowClicked || !clickDimension) return;\n\n const rowDimensionValue = rows[rowIndex]?.[clickDimension.name];\n onRowClicked(rowDimensionValue);\n };\n\n // Sync page size changes to embeddable state\n useEffect(() => {\n if (pageSize) {\n handleUpdateEmbeddableState({ pageSize });\n }\n }, [pageSize, handleUpdateEmbeddableState]);\n\n // Sync total from results\n useEffect(() => {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: false,\n }));\n }, [dimensionsAndMeasures, pageSize]);\n\n useEffect(() => {\n if (totalResults?.total) {\n setState?.((prevState) => ({\n ...prevState,\n hasTotalResults: true,\n }));\n }\n }, [totalResults]);\n\n // Handle data download when allResults is ready\n useEffect(() => {\n if (isDownloadingData) {\n if (!allResults || allResults.isLoading) {\n // Loading data to download\n return;\n }\n\n downloadData(allResults.data);\n setIsDownloadingData(false);\n handleUpdateEmbeddableState({ isLoadingDownloadData: false });\n }\n }, [isDownloadingData, allResults, handleUpdateEmbeddableState]);\n\n const handleSortChange = (newSort: TableSort<any> | undefined) => {\n handleUpdateEmbeddableState({ sort: newSort as TableChartPaginatedProState['sort'] });\n };\n\n const currentPage = state?.page ?? 0;\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={results}\n dimensionsAndMeasures={dimensionsAndMeasures}\n errorMessage={results?.error}\n onCustomDownload={handleCustomDownload}\n hideMenu={hideMenu}\n >\n <TablePaginated\n onRowIndexClick={handleRowIndexClick}\n headers={headers}\n rows={tableRows}\n showIndex={showIndex}\n page={currentPage}\n pageSize={pageSize}\n paginationLabel={i18n.t('charts.tablePaginated.pagination', {\n page: currentPage + 1,\n totalPages: getTableTotalPages(totalResults?.total, pageSize) ?? '?',\n })}\n total={totalResults?.total}\n sort={state?.sort}\n onSortChange={handleSortChange}\n onPageChange={(newPage) => handleUpdateEmbeddableState({ page: newPage })}\n />\n </ChartCard>\n );\n};\n\nexport default TableChartPaginatedPro;\n"],"names":["headerHeight","getStyleNumber","rowHeight","footerHeight","downloadData","TableChartPaginatedPro","props","theme","useTheme","i18nSetup","isDownloadingData","setIsDownloadingData","useState","title","description","tooltip","resolveI18nProps","hideMenu","totalResults","results","allResults","dimensionsAndMeasures","displayNullAs","showIndex","clickDimension","state","setState","onRowClicked","headers","getTableHeaders","rows","tableRows","getTableRows","cardContentRef","useRef","height","useResizeObserver","pageSize","useTableGetRowsPerPage","handleUpdateEmbeddableState","useCallback","newState","prevState","handleCustomDownload","onDownload","data","handleRowIndexClick","rowIndex","rowDimensionValue","_a","useEffect","handleSortChange","newSort","currentPage","jsx","ChartCard","TablePaginated","i18n","getTableTotalPages","newPage"],"mappings":";;;;;;AAoBA,MAAMA,IAAeC,EAAe,+BAA+B,QAAQ,GACrEC,IAAYD,EAAe,+BAA+B,QAAQ,GAClEE,IAAeF,EAAe,qCAAqC,MAAM;AAE/E,IAAIG;AA0BJ,MAAMC,IAAyB,CAACC,MAAuC;AACrE,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,CAACG,GAAmBC,CAAoB,IAAIC,EAAS,EAAK,GAE1D,EAAE,OAAAC,GAAO,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GACxD;AAAA,IACJ,UAAAW;AAAA,IACA,cAAAC;AAAA,IACA,SAAAC;AAAA,IACA,YAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACErB,GAEEsB,IAAUC,EAAgB,EAAE,uBAAAR,GAAuB,eAAAC,EAAA,GAAiBf,CAAK,GACzEuB,KAAOX,KAAA,gBAAAA,EAAS,SAAQ,CAAA,GACxBY,IAAYC,EAAa,EAAE,MAAAF,GAAM,gBAAAN,GAAgB,GACjDS,IAAiBC,EAAuB,IAAI,GAC5C,EAAE,QAAAC,EAAA,IAAWC,EAAkBH,CAAc,GAC7CI,IAAWC,EAAuB;AAAA,IACtC,iBAAiBH;AAAA,IACjB,cAAAnC;AAAA,IACA,WAAAE;AAAA,IACA,cAAAC;AAAA,EAAA,CACD,GAGKoC,IAA8BC;AAAA,IAClC,CAACC,MAAmD;AAClD,MAAAf,KAAA,QAAAA,EAAW,CAACgB,OAAe;AAAA,QACzB,GAAGA;AAAA,QACH,GAAGD;AAAA,MAAA;AAAA,IAEP;AAAA,IACA,CAACf,CAAQ;AAAA,EAAA,GAGLiB,IAAuB,CAACC,MAAiE;AAC7F,IAAAjC,EAAqB,EAAI,GACzB4B,EAA4B,EAAE,uBAAuB,IAAM,GAE3DnC,IAAe,CAACyC,MACdD,EAAW;AAAA,MACT,OAAA/B;AAAA,MACA,MAAAgC;AAAA,MACA,uBAAAxB;AAAA,MACA,cAAcY;AAAA,MACd,OAAA1B;AAAA,IAAA,CACD;AAAA,EACL,GAEMuC,IAAsB,CAACC,MAAqB;;AAChD,QAAI,CAACpB,KAAgB,CAACH,EAAgB;AAEtC,UAAMwB,KAAoBC,IAAAnB,EAAKiB,CAAQ,MAAb,gBAAAE,EAAiBzB,EAAe;AAC1D,IAAAG,EAAaqB,CAAiB;AAAA,EAChC;AAGA,EAAAE,EAAU,MAAM;AACd,IAAIb,KACFE,EAA4B,EAAE,UAAAF,GAAU;AAAA,EAE5C,GAAG,CAACA,GAAUE,CAA2B,CAAC,GAG1CW,EAAU,MAAM;AACd,IAAAxB,KAAA,QAAAA,EAAW,CAACgB,OAAe;AAAA,MACzB,GAAGA;AAAA,MACH,iBAAiB;AAAA,IAAA;AAAA,EAErB,GAAG,CAACrB,GAAuBgB,CAAQ,CAAC,GAEpCa,EAAU,MAAM;AACd,IAAIhC,KAAA,QAAAA,EAAc,UAChBQ,KAAA,QAAAA,EAAW,CAACgB,OAAe;AAAA,MACzB,GAAGA;AAAA,MACH,iBAAiB;AAAA,IAAA;AAAA,EAGvB,GAAG,CAACxB,CAAY,CAAC,GAGjBgC,EAAU,MAAM;AACd,QAAIxC,GAAmB;AACrB,UAAI,CAACU,KAAcA,EAAW;AAE5B;AAGF,MAAAhB,EAAagB,EAAW,IAAI,GAC5BT,EAAqB,EAAK,GAC1B4B,EAA4B,EAAE,uBAAuB,IAAO;AAAA,IAC9D;AAAA,EACF,GAAG,CAAC7B,GAAmBU,GAAYmB,CAA2B,CAAC;AAE/D,QAAMY,IAAmB,CAACC,MAAwC;AAChE,IAAAb,EAA4B,EAAE,MAAMa,GAAgD;AAAA,EACtF,GAEMC,KAAc5B,KAAA,gBAAAA,EAAO,SAAQ;AACnC,SACE6B,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAKtB;AAAA,MACL,OAAApB;AAAA,MACA,aAAAC;AAAA,MACA,SAAAC;AAAA,MACA,MAAMI;AAAA,MACN,uBAAAE;AAAA,MACA,cAAcF,KAAA,gBAAAA,EAAS;AAAA,MACvB,kBAAkBwB;AAAA,MAClB,UAAA1B;AAAA,MAEA,UAAAqC,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,iBAAiBV;AAAA,UACjB,SAAAlB;AAAA,UACA,MAAMG;AAAA,UACN,WAAAR;AAAA,UACA,MAAM8B;AAAA,UACN,UAAAhB;AAAA,UACA,iBAAiBoB,EAAK,EAAE,oCAAoC;AAAA,YAC1D,MAAMJ,IAAc;AAAA,YACpB,YAAYK,EAAmBxC,KAAA,gBAAAA,EAAc,OAAOmB,CAAQ,KAAK;AAAA,UAAA,CAClE;AAAA,UACD,OAAOnB,KAAA,gBAAAA,EAAc;AAAA,UACrB,MAAMO,KAAA,gBAAAA,EAAO;AAAA,UACb,cAAc0B;AAAA,UACd,cAAc,CAACQ,MAAYpB,EAA4B,EAAE,MAAMoB,GAAS;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1E;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { j as l, S as b } from "./Color.type.emb-
|
|
2
|
-
import { g as j } from "./
|
|
1
|
+
import { j as l, S as b } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { g as j } from "./preview.data.constants-DWqfMVjy.js";
|
|
3
3
|
import { useTheme as v } from "@embeddable.com/react";
|
|
4
|
-
import { E as x } from "./EditorCard-
|
|
5
|
-
import { r as F, i as M } from "./component.inputs.constants-
|
|
4
|
+
import { E as x } from "./EditorCard-DlwWVuY3.js";
|
|
5
|
+
import { r as F, i as M } from "./component.inputs.constants-Cj-atN8w.js";
|
|
6
6
|
const _ = 200, P = (n) => {
|
|
7
7
|
var i, r;
|
|
8
8
|
const m = v(), c = j(m), { title: d, description: p, dimension: t, placeholder: u, tooltip: g } = F(n), { optionalSecondDimension: a, results: o, selectedValue: S, setSearchValue: h, onChange: s } = n, f = ((i = o.data) == null ? void 0 : i.map((e) => ({
|
|
@@ -34,4 +34,4 @@ export {
|
|
|
34
34
|
P as S,
|
|
35
35
|
I as i
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=index-
|
|
37
|
+
//# sourceMappingURL=index-B0Z1wHFa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-B0Z1wHFa.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\nexport type SingleSelectFieldProProps = {\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValue?: string;\n maxOptions?: number;\n setSearchValue?: (search: string) => void;\n onChange?: (selectedValue: string) => void;\n} & EditorCardHeaderProps;\n\nconst SingleSelectFieldPro = (props: SingleSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n\n const { title, description, dimension, placeholder, tooltip } = resolveI18nProps(props);\n const { optionalSecondDimension, results, selectedValue, setSearchValue, onChange } = props;\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <SingleSelectField\n clearable\n searchable\n isLoading={results.isLoading}\n value={selectedValue}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValue: string) => onChange?.(newValue)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n"],"names":["MAX_OPTIONS","SingleSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","placeholder","tooltip","resolveI18nProps","optionalSecondDimension","results","selectedValue","setSearchValue","onChange","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","SingleSelectField","i18n","newValue"],"mappings":";;;;;AASO,MAAMA,IAAc,KAarBC,IAAuB,CAACC,MAAqC;;AACjE,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GAExC,EAAE,OAAAI,GAAO,aAAAC,GAAa,WAAAC,GAAW,aAAAC,GAAa,SAAAC,EAAA,IAAYC,EAAiBV,CAAK,GAChF,EAAE,yBAAAW,GAAyB,SAAAC,GAAS,eAAAC,GAAe,gBAAAC,GAAgB,UAAAC,MAAaf,GAEhFgB,MACJC,IAAAL,EAAQ,SAAR,gBAAAK,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOP,IAA0BO,EAAKP,EAAwB,IAAI,IAAIO,EAAKX,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWW,EAAKX,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFY,IAA+B,CAACP,EAAQ,gBAAcQ,IAAAR,EAAQ,SAAR,gBAAAQ,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAjB,GAAc,aAAAC,GAA0B,SAAAG,GAClD,UAAAY,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,YAAU;AAAA,MACV,WAAWX,EAAQ;AAAA,MACnB,OAAOC;AAAA,MACP,SAAAG;AAAA,MACA,aAAAR;AAAA,MACA,kBAAkBW,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAqBV,KAAA,gBAAAA,EAAWU;AAAA,MAC3C,UAAUX;AAAA,MACV,iBAAiB;AAAA,IAAA;AAAA,EAAA,GAErB;AAEJ;;;;;"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { m as z, j as o, B as L } from "./Color.type.emb-
|
|
1
|
+
import { m as z, j as o, B as L } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
2
|
import { useTheme as T } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import { C as v } from "./ChartCard-
|
|
5
|
-
import { g as D, a as G } from "./bars.utils-
|
|
3
|
+
import { b as w, r as _ } from "./component.inputs.constants-Cj-atN8w.js";
|
|
4
|
+
import { C as v } from "./ChartCard-Bu-80NJh.js";
|
|
5
|
+
import { g as D, a as G } from "./bars.utils-DZf4BZCu.js";
|
|
6
6
|
import { u as H } from "./charts.fillGaps.hooks-C7KsWcZb.js";
|
|
7
|
-
import { C as I } from "./granularity.utils-
|
|
7
|
+
import { C as I } from "./granularity.utils-COYhEZ3f.js";
|
|
8
8
|
const O = (t) => {
|
|
9
9
|
var u, h;
|
|
10
|
-
const
|
|
11
|
-
w(
|
|
10
|
+
const a = T();
|
|
11
|
+
w(a);
|
|
12
12
|
const {
|
|
13
13
|
hideMenu: c,
|
|
14
|
-
dimension:
|
|
14
|
+
dimension: r,
|
|
15
15
|
measures: e,
|
|
16
16
|
showValueLabels: x,
|
|
17
17
|
reverseYAxis: d,
|
|
@@ -25,20 +25,20 @@ const O = (t) => {
|
|
|
25
25
|
onBarClicked: y
|
|
26
26
|
} = t, { description: i, title: n, tooltip: l, xAxisLabel: A, yAxisLabel: B } = _(t), s = H({
|
|
27
27
|
results: t.results,
|
|
28
|
-
dimension:
|
|
28
|
+
dimension: r
|
|
29
29
|
}), m = D(
|
|
30
|
-
{ data: s.data, dimension:
|
|
31
|
-
|
|
30
|
+
{ data: s.data, dimension: r, measures: e, maxItems: b },
|
|
31
|
+
a
|
|
32
32
|
), P = z(
|
|
33
|
-
G({ measures: e, horizontal: !0, onBarClicked: y, data: m, dimension:
|
|
33
|
+
G({ measures: e, horizontal: !0, onBarClicked: y, data: m, dimension: r }, a),
|
|
34
34
|
// Format X axis based on first measure
|
|
35
|
-
((h = (u =
|
|
35
|
+
((h = (u = a.charts) == null ? void 0 : u.barChartDefaultHorizontalPro) == null ? void 0 : h.options) || {}
|
|
36
36
|
), S = !n && !i && !l;
|
|
37
37
|
return /* @__PURE__ */ o.jsxs(
|
|
38
38
|
v,
|
|
39
39
|
{
|
|
40
40
|
data: s,
|
|
41
|
-
dimensionsAndMeasures: [
|
|
41
|
+
dimensionsAndMeasures: [r, ...e],
|
|
42
42
|
errorMessage: s.error,
|
|
43
43
|
description: i,
|
|
44
44
|
title: n,
|
|
@@ -49,7 +49,7 @@ const O = (t) => {
|
|
|
49
49
|
I,
|
|
50
50
|
{
|
|
51
51
|
hasMarginTop: S,
|
|
52
|
-
dimension:
|
|
52
|
+
dimension: r,
|
|
53
53
|
onChange: j
|
|
54
54
|
}
|
|
55
55
|
),
|
|
@@ -81,4 +81,4 @@ export {
|
|
|
81
81
|
O as B,
|
|
82
82
|
J as i
|
|
83
83
|
};
|
|
84
|
-
//# sourceMappingURL=index-
|
|
84
|
+
//# sourceMappingURL=index-BIYe6Mxp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BIYe6Mxp.js","sources":["../src/components/charts/bars/BarChartDefaultHorizontalPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Granularity, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { ChartGranularitySelectField } from '../../shared/ChartGranularitySelectField/ChartGranularitySelectField';\n\nexport type BarChartDefaultHorizontalProProps = {\n dimension: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseYAxis?: boolean;\n showLegend?: boolean;\n showLogarithmicScale?: boolean;\n showTooltips?: boolean;\n showValueLabels?: boolean;\n xAxisLabel?: string;\n xAxisRangeMax?: number;\n xAxisRangeMin?: number;\n yAxisLabel?: string;\n yAxisMaxItems?: number;\n setGranularity: (granularity: Granularity) => void;\n onBarClicked?: (args: { axisDimensionValue: string | null }) => void;\n} & ChartCardHeaderProps;\n\nconst BarChartDefaultHorizontalPro = (props: BarChartDefaultHorizontalProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n hideMenu,\n dimension,\n measures,\n showValueLabels,\n reverseYAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n xAxisRangeMax,\n xAxisRangeMin,\n yAxisMaxItems,\n setGranularity,\n onBarClicked,\n } = props;\n\n const { description, title, tooltip, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: yAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: true, onBarClicked, data, dimension }, theme), // Format X axis based on first measure\n theme.charts?.barChartDefaultHorizontalPro?.options || {},\n );\n\n const granularitySelectorHasMarginTop = !title && !description && !tooltip;\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <ChartGranularitySelectField\n hasMarginTop={granularitySelectorHasMarginTop}\n dimension={dimension}\n onChange={setGranularity}\n />\n <BarChart\n horizontal\n data={data}\n options={options}\n reverseYAxis={reverseYAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n xAxisRangeMax={xAxisRangeMax}\n xAxisRangeMin={xAxisRangeMin}\n yAxisLabel={yAxisLabel}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultHorizontalPro;\n"],"names":["BarChartDefaultHorizontalPro","props","theme","useTheme","i18nSetup","hideMenu","dimension","measures","showValueLabels","reverseYAxis","showLegend","showLogarithmicScale","showTooltips","xAxisRangeMax","xAxisRangeMin","yAxisMaxItems","setGranularity","onBarClicked","description","title","tooltip","xAxisLabel","yAxisLabel","resolveI18nProps","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","granularitySelectorHasMarginTop","jsxs","ChartCard","jsx","ChartGranularitySelectField","BarChart"],"mappings":";;;;;;;AA8BA,MAAMA,IAA+B,CAACC,MAA6C;;AACjF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,UAAAG;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEhB,GAEE,EAAE,aAAAiB,GAAa,OAAAC,GAAO,SAAAC,GAAS,YAAAC,GAAY,YAAAC,EAAA,IAAeC,EAAiBtB,CAAK,GAEhFuB,IAAUC,EAAY;AAAA,IAC1B,SAASxB,EAAM;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKoB,IAAOC;AAAA,IACX,EAAE,MAAMH,EAAQ,MAAM,WAAAlB,GAAW,UAAAC,GAAU,UAAUQ,EAAA;AAAA,IACrDb;AAAA,EAAA,GAGI0B,IAAUC;AAAA,IACdC,EAAsB,EAAE,UAAAvB,GAAU,YAAY,IAAM,cAAAU,GAAc,MAAAS,GAAM,WAAApB,EAAA,GAAaJ,CAAK;AAAA;AAAA,MAC1F6B,KAAAC,IAAA9B,EAAM,WAAN,gBAAA8B,EAAc,iCAAd,gBAAAD,EAA4C,YAAW,CAAA;AAAA,EAAC,GAGpDE,IAAkC,CAACd,KAAS,CAACD,KAAe,CAACE;AAEnE,SACEc,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMX;AAAA,MACN,uBAAuB,CAAClB,GAAW,GAAGC,CAAQ;AAAA,MAC9C,cAAciB,EAAQ;AAAA,MACtB,aAAAN;AAAA,MACA,OAAAC;AAAA,MACA,SAAAC;AAAA,MACA,UAAAf;AAAA,MAEA,UAAA;AAAA,QAAA+B,gBAAAA,EAAAA;AAAAA,UAACC;AAAA,UAAA;AAAA,YACC,cAAcJ;AAAA,YACd,WAAA3B;AAAA,YACA,UAAUU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZoB,gBAAAA,EAAAA;AAAAA,UAACE;AAAA,UAAA;AAAA,YACC,YAAU;AAAA,YACV,MAAAZ;AAAA,YACA,SAAAE;AAAA,YACA,cAAAnB;AAAA,YACA,YAAAC;AAAA,YACA,sBAAAC;AAAA,YACA,cAAAC;AAAA,YACA,iBAAAJ;AAAA,YACA,YAAAa;AAAA,YACA,eAAAR;AAAA,YACA,eAAAC;AAAA,YACA,YAAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { j as o } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { E as d } from "./EditorCard-DlwWVuY3.js";
|
|
3
|
+
import { b as p, r as u } from "./component.inputs.constants-Cj-atN8w.js";
|
|
4
|
+
import { useTheme as f } from "@embeddable.com/react";
|
|
5
|
+
import { D as S } from "./DimensionAndMeasureSingleSelectField-C5B9m3hv.js";
|
|
6
|
+
const j = (e) => {
|
|
7
|
+
const t = f();
|
|
8
|
+
p(t);
|
|
9
|
+
const { selectedDimension: i, dimensionOptions: n, clearable: r, onChange: s } = e, { title: l, description: m, tooltip: a, placeholder: c } = u(e);
|
|
10
|
+
return /* @__PURE__ */ o.jsx(d, { title: l, description: m, tooltip: a, children: /* @__PURE__ */ o.jsx(
|
|
11
|
+
S,
|
|
12
|
+
{
|
|
13
|
+
selectedValue: i,
|
|
14
|
+
options: n,
|
|
15
|
+
placeholder: c,
|
|
16
|
+
clearable: r,
|
|
17
|
+
onChange: s
|
|
18
|
+
}
|
|
19
|
+
) });
|
|
20
|
+
}, _ = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
21
|
+
__proto__: null,
|
|
22
|
+
default: j
|
|
23
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
24
|
+
export {
|
|
25
|
+
j as D,
|
|
26
|
+
_ as i
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=index-BLtSOe_I.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BLtSOe_I.js","sources":["../src/components/editors/DimensionSingleSelectFieldPro/index.tsx"],"sourcesContent":["import { Dimension } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type DimensionSingleSelectFieldProProps = {\n selectedDimension?: Dimension;\n dimensionOptions: Dimension[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Dimension | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst DimensionSingleSelectFieldPro = (props: DimensionSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedDimension, dimensionOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Dimension>\n selectedValue={selectedDimension}\n options={dimensionOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default DimensionSingleSelectFieldPro;\n"],"names":["DimensionSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedDimension","dimensionOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField"],"mappings":";;;;;AAiBA,MAAMA,IAAgC,CAACC,MAA8C;AACnF,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,mBAAAG,GAAmB,kBAAAC,GAAkB,WAAAC,GAAW,UAAAC,MAAaP,GAC/D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { j as t, A as l, I as a } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { useState as i, useEffect as u } from "react";
|
|
3
|
+
const p = "_colorInputContainer_1o1qe_1", I = "_colorInput_1o1qe_1", c = {
|
|
4
|
+
colorInputContainer: p,
|
|
5
|
+
colorInput: I
|
|
6
|
+
}, _ = ({ value: o, onChange: n }) => {
|
|
7
|
+
const [e, r] = i(o);
|
|
8
|
+
return u(() => {
|
|
9
|
+
r(o);
|
|
10
|
+
}, [o, r]), /* @__PURE__ */ t.jsxs("div", { className: c.colorInputContainer, children: [
|
|
11
|
+
/* @__PURE__ */ t.jsx(
|
|
12
|
+
"input",
|
|
13
|
+
{
|
|
14
|
+
type: "color",
|
|
15
|
+
className: c.colorInput,
|
|
16
|
+
value: e ?? "#FFFFFF",
|
|
17
|
+
onChange: (s) => n(s.target.value)
|
|
18
|
+
}
|
|
19
|
+
),
|
|
20
|
+
e && /* @__PURE__ */ t.jsx(l, { icon: a, onClick: () => n(void 0) })
|
|
21
|
+
] });
|
|
22
|
+
}, d = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
23
|
+
__proto__: null,
|
|
24
|
+
default: _
|
|
25
|
+
}, Symbol.toStringTag, { value: "Module" }));
|
|
26
|
+
export {
|
|
27
|
+
_ as C,
|
|
28
|
+
d as i
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=index-BfrhwVwQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BfrhwVwQ.js","sources":["../src/editors/ColorEditor/index.tsx"],"sourcesContent":["import { useState, useEffect, FC } from 'react';\nimport styles from './ColorEditor.module.css';\nimport { ActionIcon } from '@embeddable.com/remarkable-ui';\nimport { IconX } from '@tabler/icons-react';\n\ntype ColorInputProps = {\n value: string;\n onChange: (color?: string) => void;\n};\n\nconst ColorInput: FC<ColorInputProps> = ({ value, onChange }) => {\n const [color, setColor] = useState<string>(value);\n\n useEffect(() => {\n setColor(value);\n }, [value, setColor]);\n\n return (\n <div className={styles.colorInputContainer}>\n <input\n type=\"color\"\n className={styles.colorInput}\n value={color ?? '#FFFFFF'}\n onChange={(e) => onChange(e.target.value)}\n />\n {color && <ActionIcon icon={IconX} onClick={() => onChange(undefined)} />}\n </div>\n );\n};\n\nexport default ColorInput;\n"],"names":["ColorInput","value","onChange","color","setColor","useState","useEffect","jsxs","styles","jsx","e","ActionIcon","IconX"],"mappings":";;;;;GAUMA,IAAkC,CAAC,EAAE,OAAAC,GAAO,UAAAC,QAAe;AAC/D,QAAM,CAACC,GAAOC,CAAQ,IAAIC,EAAiBJ,CAAK;AAEhD,SAAAK,EAAU,MAAM;AACd,IAAAF,EAASH,CAAK;AAAA,EAChB,GAAG,CAACA,GAAOG,CAAQ,CAAC,GAGlBG,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAWC,EAAO,qBACrB,UAAA;AAAA,IAAAC,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAWD,EAAO;AAAA,QAClB,OAAOL,KAAS;AAAA,QAChB,UAAU,CAACO,MAAMR,EAASQ,EAAE,OAAO,KAAK;AAAA,MAAA;AAAA,IAAA;AAAA,IAEzCP,2BAAUQ,GAAA,EAAW,MAAMC,GAAO,SAAS,MAAMV,EAAS,MAAS,EAAA,CAAG;AAAA,EAAA,GACzE;AAEJ;;;;"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { j as i, K as x } from "./Color.type.emb-
|
|
2
|
-
import { useTheme as
|
|
3
|
-
import {
|
|
4
|
-
import { C as
|
|
5
|
-
import { g as
|
|
1
|
+
import { j as i, K as x } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
|
+
import { useTheme as b } from "@embeddable.com/react";
|
|
3
|
+
import { b as v, r as C } from "./component.inputs.constants-Cj-atN8w.js";
|
|
4
|
+
import { C as K } from "./ChartCard-Bu-80NJh.js";
|
|
5
|
+
import { g as S } from "./preview.data.constants-DWqfMVjy.js";
|
|
6
6
|
import { g as F } from "./kpis.utils-DsZ2GzuB.js";
|
|
7
7
|
const M = (r) => {
|
|
8
8
|
var a, n;
|
|
9
|
-
const o =
|
|
10
|
-
|
|
11
|
-
const { title: m, description: l, tooltip: u, displayNullAs: s } =
|
|
9
|
+
const o = b();
|
|
10
|
+
v(o);
|
|
11
|
+
const { title: m, description: l, tooltip: u, displayNullAs: s } = C(r), { measure: e, fontSize: d, hideMenu: p, results: t } = r, c = (n = (a = t.data) == null ? void 0 : a[0]) == null ? void 0 : n[e.name], f = S(o), h = (j) => f.data(e, j), g = F(t, e, !!s);
|
|
12
12
|
return /* @__PURE__ */ i.jsx(
|
|
13
|
-
|
|
13
|
+
K,
|
|
14
14
|
{
|
|
15
15
|
data: g,
|
|
16
16
|
dimensionsAndMeasures: [e],
|
|
@@ -38,4 +38,4 @@ export {
|
|
|
38
38
|
M as K,
|
|
39
39
|
A as i
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=index-
|
|
41
|
+
//# sourceMappingURL=index-BownhTSN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BownhTSN.js","sources":["../src/components/charts/kpis/KpiChartNumberPro/index.tsx"],"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, ChartCardHeaderProps } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '@embeddable.com/remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getKpiResults } from '../kpis.utils';\n\nexport type KpiChartNumberProProp = {\n results: DataResponse;\n measure: Measure;\n fontSize?: number;\n displayNullAs?: string;\n} & ChartCardHeaderProps;\n\nconst KpiChartNumberPro = (props: KpiChartNumberProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, tooltip, displayNullAs } = resolveI18nProps(props);\n const { measure, fontSize, hideMenu, results } = 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 const resultsWithNullsHandled = getKpiResults(results, measure, Boolean(displayNullAs));\n\n return (\n <ChartCard\n data={resultsWithNullsHandled}\n dimensionsAndMeasures={[measure]}\n errorMessage={results.error}\n description={description}\n title={title}\n tooltip={tooltip}\n hideMenu={hideMenu}\n >\n <KpiChart\n displayNullAs={displayNullAs}\n value={value}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberPro;\n"],"names":["KpiChartNumberPro","props","theme","useTheme","i18nSetup","title","description","tooltip","displayNullAs","resolveI18nProps","measure","fontSize","hideMenu","results","value","_b","_a","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","resultsWithNullsHandled","getKpiResults","jsx","ChartCard","KpiChart"],"mappings":";;;;;;AAiBA,MAAMA,IAAoB,CAACC,MAAiC;;AAC1D,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,eAAAC,EAAA,IAAkBC,EAAiBR,CAAK,GACvE,EAAE,SAAAS,GAAS,UAAAC,GAAU,UAAAC,GAAU,SAAAC,MAAYZ,GAE3Ca,KAAQC,KAAAC,IAAAH,EAAQ,SAAR,gBAAAG,EAAe,OAAf,gBAAAD,EAAoBL,EAAQ,OAEpCO,IAAiBC,EAAkBhB,CAAK,GACxCiB,IAAiB,CAACC,MAA0BH,EAAe,KAAKP,GAASU,CAAa,GAEtFC,IAA0BC,EAAcT,GAASH,GAAS,EAAQF,CAAc;AAEtF,SACEe,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMH;AAAA,MACN,uBAAuB,CAACX,CAAO;AAAA,MAC/B,cAAcG,EAAQ;AAAA,MACtB,aAAAP;AAAA,MACA,OAAAD;AAAA,MACA,SAAAE;AAAA,MACA,UAAAK;AAAA,MAEA,UAAAW,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,eAAAjB;AAAA,UACA,OAAAM;AAAA,UACA,gBAAAK;AAAA,UACA,eAAeR;AAAA,QAAA;AAAA,MAAA;AAAA,IACjB;AAAA,EAAA;AAGN;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { v as z, w as N, j as t, x as q, y as B, z as d, E as G, F as J, G as A, J as H, N as K, O as Q } from "./Color.type.emb-JBTB4VAn.js";
|
|
2
2
|
import { useTheme as U } from "@embeddable.com/react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { E as ee } from "./EditorCard-
|
|
3
|
+
import { c as P, u as W, g as X, b as v, a as Y } from "./dates.utils-D13NY0HZ.js";
|
|
4
|
+
import { e as Z, b as $, r as V, i as m } from "./component.inputs.constants-Cj-atN8w.js";
|
|
5
|
+
import { E as ee } from "./EditorCard-DlwWVuY3.js";
|
|
6
6
|
import { useState as R, useEffect as ae } from "react";
|
|
7
|
-
import { I as te } from "./IconCalendarFilled-
|
|
7
|
+
import { I as te } from "./IconCalendarFilled-DPibPYqC.js";
|
|
8
8
|
const ne = (o) => o.map((n) => ({
|
|
9
9
|
rightLabel: P(n.getRange(), n.dateFormat),
|
|
10
10
|
value: n.value,
|
|
@@ -25,17 +25,17 @@ const ne = (o) => o.map((n) => ({
|
|
|
25
25
|
z(a, e) || s(a);
|
|
26
26
|
}, [e, i, s, r]), !i)
|
|
27
27
|
return null;
|
|
28
|
-
const { description: T, placeholder: C, title: O, tooltip: L } = V(o), h = ne(r),
|
|
28
|
+
const { description: T, placeholder: C, title: O, tooltip: L } = V(o), h = ne(r), w = (a) => {
|
|
29
29
|
const g = v(
|
|
30
30
|
{ relativeTimeString: a },
|
|
31
31
|
r
|
|
32
32
|
);
|
|
33
33
|
s(g), c(void 0);
|
|
34
|
-
},
|
|
34
|
+
}, F = (a) => {
|
|
35
35
|
s(Y(a)), p(!1);
|
|
36
|
-
},
|
|
36
|
+
}, I = () => {
|
|
37
37
|
c(void 0), s(void 0);
|
|
38
|
-
},
|
|
38
|
+
}, _ = (() => {
|
|
39
39
|
if (e != null && e.relativeTimeString) {
|
|
40
40
|
const a = h.find((g) => g.value === e.relativeTimeString);
|
|
41
41
|
if (a)
|
|
@@ -50,13 +50,13 @@ const ne = (o) => o.map((n) => ({
|
|
|
50
50
|
onOpenChange: p,
|
|
51
51
|
avoidCollisions: !1,
|
|
52
52
|
triggerComponent: /* @__PURE__ */ t.jsx(
|
|
53
|
-
|
|
53
|
+
Q,
|
|
54
54
|
{
|
|
55
55
|
startIcon: te,
|
|
56
56
|
"aria-label": C,
|
|
57
57
|
placeholder: C,
|
|
58
|
-
valueLabel:
|
|
59
|
-
onClear:
|
|
58
|
+
valueLabel: _,
|
|
59
|
+
onClear: I,
|
|
60
60
|
isClearable: k
|
|
61
61
|
}
|
|
62
62
|
),
|
|
@@ -81,15 +81,15 @@ const ne = (o) => o.map((n) => ({
|
|
|
81
81
|
}
|
|
82
82
|
),
|
|
83
83
|
/* @__PURE__ */ t.jsx(
|
|
84
|
-
|
|
84
|
+
A,
|
|
85
85
|
{
|
|
86
86
|
size: "small",
|
|
87
87
|
disabled: E,
|
|
88
|
-
onClick: () =>
|
|
88
|
+
onClick: () => F(l),
|
|
89
89
|
children: m.t("editors.dateRangePicker.apply")
|
|
90
90
|
}
|
|
91
91
|
)
|
|
92
|
-
] }) : /* @__PURE__ */ t.jsxs(
|
|
92
|
+
] }) : /* @__PURE__ */ t.jsxs(H, { children: [
|
|
93
93
|
/* @__PURE__ */ t.jsx(
|
|
94
94
|
d,
|
|
95
95
|
{
|
|
@@ -97,7 +97,7 @@ const ne = (o) => o.map((n) => ({
|
|
|
97
97
|
onClick: (a) => {
|
|
98
98
|
a.preventDefault(), f(!0);
|
|
99
99
|
},
|
|
100
|
-
endIcon: /* @__PURE__ */ t.jsx(
|
|
100
|
+
endIcon: /* @__PURE__ */ t.jsx(K, {})
|
|
101
101
|
}
|
|
102
102
|
),
|
|
103
103
|
h.map((a) => /* @__PURE__ */ t.jsx(
|
|
@@ -105,7 +105,7 @@ const ne = (o) => o.map((n) => ({
|
|
|
105
105
|
{
|
|
106
106
|
...a,
|
|
107
107
|
isSelected: (e == null ? void 0 : e.relativeTimeString) === a.value,
|
|
108
|
-
onClick: () =>
|
|
108
|
+
onClick: () => w(a.value)
|
|
109
109
|
},
|
|
110
110
|
a.value
|
|
111
111
|
))
|
|
@@ -121,4 +121,4 @@ export {
|
|
|
121
121
|
ne as g,
|
|
122
122
|
fe as i
|
|
123
123
|
};
|
|
124
|
-
//# sourceMappingURL=index-
|
|
124
|
+
//# sourceMappingURL=index-BwwtBJde.js.map
|