@embeddable.com/remarkable-pro 0.1.31 → 0.2.0
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 +1 -1
- package/dist/BarChartDefaultPro.js +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +1 -1
- package/dist/BarChartGroupedPro.js +1 -1
- package/dist/BarChartStackedHorizontalPro.js +1 -1
- package/dist/BarChartStackedPro.js +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +1 -1
- package/dist/DateRangePickerCustomPro.js +1 -1
- package/dist/DateRangeSelectFieldPro.js +1 -1
- package/dist/{DimensionAndMeasureSingleSelectField-ClbFwtXO.js → DimensionAndMeasureSingleSelectField-BsBSTKKc.js} +2 -2
- package/dist/{DimensionAndMeasureSingleSelectField-ClbFwtXO.js.map → DimensionAndMeasureSingleSelectField-BsBSTKKc.js.map} +1 -1
- package/dist/DimensionMeasureMultiSelectFieldPro.js +1 -1
- package/dist/DimensionSingleSelectFieldPro.js +1 -1
- package/dist/DonutChartPro.js +1 -1
- package/dist/DonutLabelChartPro.js +1 -1
- package/dist/FilterBuilderPro.js +3 -3
- package/dist/{GranularitySelectField-Di0ay_uj.js → GranularitySelectField-DBaZn-Me.js} +2 -2
- package/dist/{GranularitySelectField-Di0ay_uj.js.map → GranularitySelectField-DBaZn-Me.js.map} +1 -1
- package/dist/GranularitySelectFieldPro.js +1 -1
- package/dist/HeatMapPro.js +1 -1
- package/dist/HorizontalDividerPro.js +1 -1
- package/dist/KpiChartNumberComparisonPro.js +1 -1
- package/dist/KpiChartNumberPro.js +1 -1
- package/dist/LineChartComparisonDefaultPro.js +1 -1
- package/dist/LineChartDefaultPro.js +1 -1
- package/dist/LineChartGroupedPro.js +1 -1
- package/dist/MarkdownPro.js +1 -1
- package/dist/MeasureMultiSelectFieldPro.js +1 -1
- package/dist/MeasureSingleSelectFieldPro.js +1 -1
- package/dist/MultiSelectFieldPro.js +1 -1
- package/dist/PieChartPro.js +1 -1
- package/dist/PivotTablePro.js +1 -1
- package/dist/SingleSelectFieldPro.js +1 -1
- package/dist/TableChartPaginated.js +1 -1
- package/dist/TableScrollable.js +1 -1
- package/dist/TextFieldPro.js +1 -1
- package/dist/bars.loadData.utils-3BlUREY3.js +126 -0
- package/dist/bars.loadData.utils-3BlUREY3.js.map +1 -0
- package/dist/bars.utils-CG7i6UTJ.js +159 -0
- package/dist/bars.utils-CG7i6UTJ.js.map +1 -0
- package/dist/charts.fillGaps.hooks-B6T9882L.js +70 -0
- package/dist/charts.fillGaps.hooks-B6T9882L.js.map +1 -0
- package/dist/{charts.utils-ZAdb7oJ-.js → charts.utils-BMX0edl3.js} +3480 -3511
- package/dist/charts.utils-BMX0edl3.js.map +1 -0
- package/dist/clientContext.utils-DpB5KsfX.js +15 -0
- package/dist/clientContext.utils-DpB5KsfX.js.map +1 -0
- package/dist/{component.inputs.constants-C-vfrygQ.js → component.inputs.constants-C7tJAhsQ.js} +236 -193
- package/dist/component.inputs.constants-C7tJAhsQ.js.map +1 -0
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts +4 -3
- package/dist/components/charts/bars/BarChartDefaultHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts +4 -3
- package/dist/components/charts/bars/BarChartDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/BarChartGroupedHorizontalPro.emb.d.ts +11 -0
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/BarChartGroupedHorizontalPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts +39 -12
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts +5 -1
- package/dist/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/BarChartGroupedPro.emb.d.ts +11 -0
- package/dist/components/charts/bars/BarChartGroupedPro/BarChartGroupedPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts +39 -12
- package/dist/components/charts/bars/BarChartGroupedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts +5 -1
- package/dist/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/BarChartStackedHorizontalPro.emb.d.ts +11 -0
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/BarChartStackedHorizontalPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts +39 -12
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts +5 -1
- package/dist/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/BarChartStackedPro.emb.d.ts +11 -0
- package/dist/components/charts/bars/BarChartStackedPro/BarChartStackedPro.emb.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts +39 -12
- package/dist/components/charts/bars/BarChartStackedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts +5 -1
- package/dist/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
- package/dist/components/charts/bars/bars.hooks.d.ts +8 -0
- package/dist/components/charts/bars/bars.hooks.d.ts.map +1 -0
- package/dist/components/charts/bars/bars.hooks.test.d.ts +2 -0
- package/dist/components/charts/bars/bars.hooks.test.d.ts.map +1 -0
- package/dist/components/charts/bars/bars.loadData.utils.d.ts +51 -0
- package/dist/components/charts/bars/bars.loadData.utils.d.ts.map +1 -0
- package/dist/components/charts/bars/bars.loadData.utils.test.d.ts +2 -0
- package/dist/components/charts/bars/bars.loadData.utils.test.d.ts.map +1 -0
- package/dist/components/charts/bars/bars.utils.d.ts +1 -0
- package/dist/components/charts/bars/bars.utils.d.ts.map +1 -1
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts +6 -5
- package/dist/components/charts/kpis/KpiChartNumberComparisonPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts +6 -5
- package/dist/components/charts/lines/LineChartComparisonDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartDefaultPro/definition.d.ts +4 -3
- package/dist/components/charts/lines/LineChartDefaultPro/definition.d.ts.map +1 -1
- package/dist/components/charts/lines/LineChartGroupedPro/definition.d.ts +4 -3
- package/dist/components/charts/lines/LineChartGroupedPro/definition.d.ts.map +1 -1
- package/dist/components/charts/tables/HeatMapPro/definition.d.ts +4 -3
- package/dist/components/charts/tables/HeatMapPro/definition.d.ts.map +1 -1
- package/dist/components/charts/tables/PivotTablePro/definition.d.ts +6 -5
- package/dist/components/charts/tables/PivotTablePro/definition.d.ts.map +1 -1
- package/dist/components/component.inputs.constants.d.ts +26 -0
- package/dist/components/component.inputs.constants.d.ts.map +1 -1
- package/dist/components/editors/ComparisonPeriodSelectFieldPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerCustomPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.types.d.ts +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.types.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.d.ts +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/DateRangePickerPresetsPro.utils.d.ts.map +1 -1
- package/dist/components/editors/dates/DateRangePickerPresetsPro/index.d.ts.map +1 -1
- package/dist/components/editors/dates/dates.utils.d.ts +3 -3
- package/dist/components/editors/dates/dates.utils.d.ts.map +1 -1
- package/dist/components/types/SortDirection.type.emb.d.ts +9 -0
- package/dist/components/types/SortDirection.type.emb.d.ts.map +1 -0
- package/dist/{dates.utils-C3LPV893.js → dates.utils-D44sdrNs.js} +36 -36
- package/dist/{dates.utils-C3LPV893.js.map → dates.utils-D44sdrNs.js.map} +1 -1
- package/dist/definition-B1B71Q9P.js +164 -0
- package/dist/definition-B1B71Q9P.js.map +1 -0
- package/dist/{definition-5a__Y0lx.js → definition-B1t6-ToS.js} +89 -86
- package/dist/definition-B1t6-ToS.js.map +1 -0
- package/dist/{definition-ChFv8Vq8.js → definition-B6Jm5skX.js} +2 -2
- package/dist/{definition-ChFv8Vq8.js.map → definition-B6Jm5skX.js.map} +1 -1
- package/dist/{definition-DRFMnEQh.js → definition-BCbRycZt.js} +3 -3
- package/dist/{definition-DRFMnEQh.js.map → definition-BCbRycZt.js.map} +1 -1
- package/dist/{definition-B9E-HZdm.js → definition-BIk4lZdI.js} +3 -3
- package/dist/{definition-B9E-HZdm.js.map → definition-BIk4lZdI.js.map} +1 -1
- package/dist/{definition-D1wwcuOy.js → definition-BKcHxtMp.js} +3 -3
- package/dist/{definition-D1wwcuOy.js.map → definition-BKcHxtMp.js.map} +1 -1
- package/dist/definition-BejgCcXe.js +279 -0
- package/dist/{definition-xGVDcBlW.js.map → definition-BejgCcXe.js.map} +1 -1
- package/dist/definition-Bg3R-QHm.js +206 -0
- package/dist/definition-Bg3R-QHm.js.map +1 -0
- package/dist/{definition-Bhvd22lu.js → definition-BomoMNHu.js} +19 -18
- package/dist/definition-BomoMNHu.js.map +1 -0
- package/dist/{definition-CzAzy1Hk.js → definition-BqIza8Nx.js} +3 -3
- package/dist/{definition-CzAzy1Hk.js.map → definition-BqIza8Nx.js.map} +1 -1
- package/dist/{definition-Di3x_6Rh.js → definition-BxDRujfc.js} +68 -66
- package/dist/{definition-Di3x_6Rh.js.map → definition-BxDRujfc.js.map} +1 -1
- package/dist/definition-Bx_a3I-X.js +208 -0
- package/dist/definition-Bx_a3I-X.js.map +1 -0
- package/dist/{definition-DxkipQYz.js → definition-CLDcybuA.js} +56 -51
- package/dist/definition-CLDcybuA.js.map +1 -0
- package/dist/{definition-DSAR_Bsa.js → definition-C_wdRHYX.js} +3 -3
- package/dist/{definition-DSAR_Bsa.js.map → definition-C_wdRHYX.js.map} +1 -1
- package/dist/{definition-DsDQF6Da.js → definition-CbkzLjXK.js} +3 -3
- package/dist/{definition-DsDQF6Da.js.map → definition-CbkzLjXK.js.map} +1 -1
- package/dist/{definition-wDuSjm3O.js → definition-Cgq79V22.js} +3 -3
- package/dist/{definition-wDuSjm3O.js.map → definition-Cgq79V22.js.map} +1 -1
- package/dist/{definition-FEz36Zkx.js → definition-Cx1UPIho.js} +3 -3
- package/dist/{definition-FEz36Zkx.js.map → definition-Cx1UPIho.js.map} +1 -1
- package/dist/{definition-Cl_4hkGI.js → definition-D4-0-tXB.js} +3 -3
- package/dist/{definition-Cl_4hkGI.js.map → definition-D4-0-tXB.js.map} +1 -1
- package/dist/{definition-DM13nXMm.js → definition-DFEQMSrJ.js} +3 -3
- package/dist/{definition-DM13nXMm.js.map → definition-DFEQMSrJ.js.map} +1 -1
- package/dist/{definition-CV2xoi69.js → definition-DFoesKHP.js} +2 -2
- package/dist/{definition-CV2xoi69.js.map → definition-DFoesKHP.js.map} +1 -1
- package/dist/{definition-CBevT5lk.js → definition-DqtPYFiz.js} +39 -30
- package/dist/definition-DqtPYFiz.js.map +1 -0
- package/dist/{definition-CWVSN9UB.js → definition-MdprJNc9.js} +4 -4
- package/dist/{definition-CWVSN9UB.js.map → definition-MdprJNc9.js.map} +1 -1
- package/dist/definition-NQQg5mwf.js +207 -0
- package/dist/definition-NQQg5mwf.js.map +1 -0
- package/dist/{definition-DpFvucVl.js → definition-OA_X18FK.js} +48 -46
- package/dist/definition-OA_X18FK.js.map +1 -0
- package/dist/definition-nSxl9weT.js +525 -0
- package/dist/definition-nSxl9weT.js.map +1 -0
- package/dist/{definition-Bdcy082b.js → definition-ngOUqoDo.js} +3 -3
- package/dist/{definition-Bdcy082b.js.map → definition-ngOUqoDo.js.map} +1 -1
- package/dist/{definition-C8CAdqhV.js → definition-oe6halnQ.js} +2 -2
- package/dist/{definition-C8CAdqhV.js.map → definition-oe6halnQ.js.map} +1 -1
- package/dist/definition-poLEt7kb.js +210 -0
- package/dist/definition-poLEt7kb.js.map +1 -0
- package/dist/definition-uj4b0NtW.js +209 -0
- package/dist/definition-uj4b0NtW.js.map +1 -0
- package/dist/{definition-Cxji761B.js → definition-v66e9pZV.js} +3 -3
- package/dist/{definition-Cxji761B.js.map → definition-v66e9pZV.js.map} +1 -1
- package/dist/definition-xkAbcSB6.js +166 -0
- package/dist/definition-xkAbcSB6.js.map +1 -0
- package/dist/{dimensionsAndMeasures.utils-x51eIYbW.js → dimensionsAndMeasures.utils-DtUfSnpA.js} +2 -2
- package/dist/{dimensionsAndMeasures.utils-x51eIYbW.js.map → dimensionsAndMeasures.utils-DtUfSnpA.js.map} +1 -1
- package/dist/embeddable-components.json +36 -36
- package/dist/embeddable-theme-0137e.js +4437 -4455
- package/dist/{embeddable-types-671f4.js → embeddable-types-4089f.js} +55 -43
- package/dist/embeddable-types.js.map +1 -1
- package/dist/{formatter.utils-DXI8s5Y5.js → formatter.utils-BLaKKpAa.js} +2 -2
- package/dist/{formatter.utils-DXI8s5Y5.js.map → formatter.utils-BLaKKpAa.js.map} +1 -1
- package/dist/{granularity.utils-DYOJiFaK.js → granularity.utils-Hj10GihD.js} +2 -2
- package/dist/{granularity.utils-DYOJiFaK.js.map → granularity.utils-Hj10GihD.js.map} +1 -1
- package/dist/index.js +44 -44
- package/dist/{pies.utils-4osQ9x_J.js → pies.utils-DvbvSz5H.js} +3 -3
- package/dist/{pies.utils-4osQ9x_J.js.map → pies.utils-DvbvSz5H.js.map} +1 -1
- package/dist/{tables.utils-BpqebRcu.js → tables.utils-BF3qUwBS.js} +3 -3
- package/dist/{tables.utils-BpqebRcu.js.map → tables.utils-BF3qUwBS.js.map} +1 -1
- package/dist/theme/defaults/defaults.ComparisonPeriods.constants.d.ts.map +1 -1
- package/dist/theme/defaults/defaults.DateRanges.constants.d.ts +1 -1
- package/dist/theme/defaults/defaults.DateRanges.constants.d.ts.map +1 -1
- package/dist/theme/theme.constants.d.ts.map +1 -1
- package/dist/theme/theme.types.d.ts +4 -0
- package/dist/theme/theme.types.d.ts.map +1 -1
- package/dist/theme/utils/clientContext.utils.d.ts +2 -0
- package/dist/theme/utils/clientContext.utils.d.ts.map +1 -0
- package/dist/timeRange.utils-CcP33PfM.js +20 -0
- package/dist/timeRange.utils-CcP33PfM.js.map +1 -0
- package/package.json +1 -1
- package/dist/bars.utils-B8_oDn4j.js +0 -157
- package/dist/bars.utils-B8_oDn4j.js.map +0 -1
- package/dist/charts.fillGaps.hooks-DDOGO5JR.js +0 -70
- package/dist/charts.fillGaps.hooks-DDOGO5JR.js.map +0 -1
- package/dist/charts.utils-ZAdb7oJ-.js.map +0 -1
- package/dist/component.inputs.constants-C-vfrygQ.js.map +0 -1
- package/dist/definition-5T5HRGnj.js +0 -162
- package/dist/definition-5T5HRGnj.js.map +0 -1
- package/dist/definition-5a__Y0lx.js.map +0 -1
- package/dist/definition-BKX3li26.js +0 -201
- package/dist/definition-BKX3li26.js.map +0 -1
- package/dist/definition-Bhvd22lu.js.map +0 -1
- package/dist/definition-BtJ2IsdK.js +0 -174
- package/dist/definition-BtJ2IsdK.js.map +0 -1
- package/dist/definition-Bxj6nf61.js +0 -170
- package/dist/definition-Bxj6nf61.js.map +0 -1
- package/dist/definition-C4aPFAKq.js +0 -164
- package/dist/definition-C4aPFAKq.js.map +0 -1
- package/dist/definition-CBevT5lk.js.map +0 -1
- package/dist/definition-DETLn9Wn.js +0 -172
- package/dist/definition-DETLn9Wn.js.map +0 -1
- package/dist/definition-DpFvucVl.js.map +0 -1
- package/dist/definition-DxkipQYz.js.map +0 -1
- package/dist/definition-j7sh3jCh.js +0 -172
- package/dist/definition-j7sh3jCh.js.map +0 -1
- package/dist/definition-mtzDmBoh.js +0 -515
- package/dist/definition-mtzDmBoh.js.map +0 -1
- package/dist/definition-xGVDcBlW.js +0 -277
- package/dist/timeRange.utils-D1hjtzlU.js +0 -20
- package/dist/timeRange.utils-D1hjtzlU.js.map +0 -1
|
@@ -1,43 +1,44 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { useTheme as
|
|
3
|
-
import { a as
|
|
4
|
-
import { C as
|
|
5
|
-
import { useRef as
|
|
6
|
-
import { u as A } from "./charts.fillGaps.hooks-
|
|
7
|
-
import { g as M } from "./formatter.utils-
|
|
8
|
-
import { u as
|
|
9
|
-
import { i as a, s as f } from "./component.inputs.constants-
|
|
1
|
+
import { j as x, O as ie, l as F } from "./index-CJYh9LRs.js";
|
|
2
|
+
import { useTheme as re, definePreview as le } from "@embeddable.com/react";
|
|
3
|
+
import { a as me, r as ue, i as de } from "./component.utils-Dua9clQJ.js";
|
|
4
|
+
import { C as ce } from "./ChartCard-Cqhxv7xl.js";
|
|
5
|
+
import { useRef as we, useState as C, useEffect as pe } from "react";
|
|
6
|
+
import { u as A } from "./charts.fillGaps.hooks-B6T9882L.js";
|
|
7
|
+
import { g as M } from "./formatter.utils-BLaKKpAa.js";
|
|
8
|
+
import { u as be } from "./tables.hooks-fVC_4V5K.js";
|
|
9
|
+
import { i as a, s as f } from "./component.inputs.constants-C7tJAhsQ.js";
|
|
10
10
|
import { p } from "./preview.data.constants--FLtEcg5.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
import { g as B } from "./clientContext.utils-DpB5KsfX.js";
|
|
12
|
+
const Re = (e, o) => {
|
|
13
|
+
const s = M(o);
|
|
14
|
+
return e.measures.map((n) => {
|
|
14
15
|
var i, t;
|
|
15
16
|
return {
|
|
16
|
-
key:
|
|
17
|
-
label:
|
|
18
|
-
showAsPercentage: !!((i =
|
|
19
|
-
percentageDecimalPlaces: ((t =
|
|
20
|
-
accessor: (m) => m[
|
|
17
|
+
key: n.name,
|
|
18
|
+
label: s.dimensionOrMeasureTitle(n),
|
|
19
|
+
showAsPercentage: !!((i = n.inputs) != null && i.showAsPercentage),
|
|
20
|
+
percentageDecimalPlaces: ((t = n.inputs) == null ? void 0 : t.decimalPlaces) ?? 1,
|
|
21
|
+
accessor: (m) => m[n.name] == null ? e.displayNullAs : s.data(n, m[n.name])
|
|
21
22
|
};
|
|
22
23
|
});
|
|
23
24
|
}, h = (e, o) => {
|
|
24
|
-
const
|
|
25
|
+
const s = M(o);
|
|
25
26
|
return {
|
|
26
27
|
key: e.dimension.name,
|
|
27
|
-
label:
|
|
28
|
-
formatValue: (
|
|
28
|
+
label: s.dimensionOrMeasureTitle(e.dimension),
|
|
29
|
+
formatValue: (n) => s.data(e.dimension, n)
|
|
29
30
|
};
|
|
30
|
-
},
|
|
31
|
-
var
|
|
32
|
-
return (
|
|
33
|
-
}).map((o) => o.name),
|
|
34
|
-
var
|
|
35
|
-
return (
|
|
36
|
-
}).map((o) => o.name),
|
|
31
|
+
}, fe = (e) => e.filter((o) => {
|
|
32
|
+
var s;
|
|
33
|
+
return (s = o.inputs) == null ? void 0 : s.showColumnTotal;
|
|
34
|
+
}).map((o) => o.name), he = (e) => e.filter((o) => {
|
|
35
|
+
var s;
|
|
36
|
+
return (s = o.inputs) == null ? void 0 : s.showRowTotal;
|
|
37
|
+
}).map((o) => o.name), ge = (e, o, s = "asc") => [...e].sort((n, i) => n[o] < i[o] ? s === "asc" ? -1 : 1 : n[o] > i[o] ? s === "asc" ? 1 : -1 : 0), g = (e) => {
|
|
37
38
|
var v, y;
|
|
38
|
-
const o =
|
|
39
|
-
|
|
40
|
-
const { title:
|
|
39
|
+
const o = re();
|
|
40
|
+
me(o);
|
|
41
|
+
const { title: s, description: n, tooltip: i } = ue(e), {
|
|
41
42
|
resultsSubRows: t,
|
|
42
43
|
measures: m,
|
|
43
44
|
rowDimension: r,
|
|
@@ -59,17 +60,17 @@ const be = (e, o) => {
|
|
|
59
60
|
}), V = A({
|
|
60
61
|
results: q,
|
|
61
62
|
dimension: r
|
|
62
|
-
}),
|
|
63
|
+
}), H = be({
|
|
63
64
|
results: V,
|
|
64
65
|
columnOrder: K,
|
|
65
66
|
rowOrder: N,
|
|
66
67
|
columnDimension: c,
|
|
67
68
|
rowDimension: r,
|
|
68
69
|
measures: m
|
|
69
|
-
}),
|
|
70
|
+
}), J = we(null), Q = Re({ measures: m, displayNullAs: G }, o), U = h({ dimension: r }, o), X = u ? h({ dimension: u }, o) : void 0, Y = h({ dimension: c }, o), Z = fe(m), $ = he(m), [ee, D] = C(/* @__PURE__ */ new Set()), [oe, se] = C(/* @__PURE__ */ new Map()), ne = (l) => {
|
|
70
71
|
D((d) => new Set(d).add(l)), I(l);
|
|
71
72
|
};
|
|
72
|
-
|
|
73
|
+
pe(() => {
|
|
73
74
|
if (!t || !(t != null && t.data) || b.length === 0)
|
|
74
75
|
return;
|
|
75
76
|
const l = /* @__PURE__ */ new Map();
|
|
@@ -78,54 +79,54 @@ const be = (e, o) => {
|
|
|
78
79
|
if ((S = t.data) == null ? void 0 : S.some(
|
|
79
80
|
(w) => String(w[r.name]) === d
|
|
80
81
|
)) {
|
|
81
|
-
const w = ((T = t.data) == null ? void 0 : T.filter((R) => String(R[r.name]) === d)) ?? [],
|
|
82
|
-
l.set(d,
|
|
83
|
-
const
|
|
84
|
-
return
|
|
82
|
+
const w = ((T = t.data) == null ? void 0 : T.filter((R) => String(R[r.name]) === d)) ?? [], ae = u ? ge(w, u.name, "asc") : w;
|
|
83
|
+
l.set(d, ae), D((R) => {
|
|
84
|
+
const P = new Set(R);
|
|
85
|
+
return P.delete(d), P;
|
|
85
86
|
});
|
|
86
87
|
}
|
|
87
|
-
}),
|
|
88
|
+
}), se(l);
|
|
88
89
|
}, [t, b, r, u]);
|
|
89
|
-
const
|
|
90
|
+
const te = {
|
|
90
91
|
...e.results,
|
|
91
92
|
isLoading: !!((v = e.results) != null && v.isLoading || t != null && t.isLoading)
|
|
92
93
|
};
|
|
93
|
-
return /* @__PURE__ */
|
|
94
|
-
|
|
94
|
+
return /* @__PURE__ */ x.jsx(
|
|
95
|
+
ce,
|
|
95
96
|
{
|
|
96
|
-
ref:
|
|
97
|
-
title:
|
|
98
|
-
description:
|
|
97
|
+
ref: J,
|
|
98
|
+
title: s,
|
|
99
|
+
description: n,
|
|
99
100
|
tooltip: i,
|
|
100
|
-
data:
|
|
101
|
+
data: te,
|
|
101
102
|
dimensionsAndMeasures: [r, c, ...m],
|
|
102
103
|
errorMessage: (y = e.results) == null ? void 0 : y.error,
|
|
103
104
|
hideMenu: _,
|
|
104
|
-
children: /* @__PURE__ */
|
|
105
|
-
|
|
105
|
+
children: /* @__PURE__ */ x.jsx(
|
|
106
|
+
ie,
|
|
106
107
|
{
|
|
107
108
|
firstColumnWidth: k,
|
|
108
109
|
columnWidth: L,
|
|
109
|
-
totalLabel:
|
|
110
|
-
data:
|
|
111
|
-
measures:
|
|
112
|
-
rowDimension:
|
|
113
|
-
columnDimension:
|
|
114
|
-
columnTotalsFor:
|
|
115
|
-
rowTotalsFor:
|
|
110
|
+
totalLabel: de.t("charts.pivotTable.total"),
|
|
111
|
+
data: H,
|
|
112
|
+
measures: Q,
|
|
113
|
+
rowDimension: U,
|
|
114
|
+
columnDimension: Y,
|
|
115
|
+
columnTotalsFor: Z,
|
|
116
|
+
rowTotalsFor: $,
|
|
116
117
|
expandableRows: !!u,
|
|
117
|
-
subRowsByRow:
|
|
118
|
-
loadingRows:
|
|
118
|
+
subRowsByRow: oe,
|
|
119
|
+
loadingRows: ee,
|
|
119
120
|
onRowExpand: ne,
|
|
120
|
-
subRowDimension:
|
|
121
|
+
subRowDimension: X
|
|
121
122
|
}
|
|
122
123
|
)
|
|
123
124
|
}
|
|
124
125
|
);
|
|
125
|
-
},
|
|
126
|
+
}, je = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
126
127
|
__proto__: null,
|
|
127
128
|
default: g
|
|
128
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
129
|
+
}, Symbol.toStringTag, { value: "Module" })), De = {
|
|
129
130
|
name: "PivotTablePro",
|
|
130
131
|
label: "Pivot Table",
|
|
131
132
|
category: "Table Charts",
|
|
@@ -192,7 +193,7 @@ const be = (e, o) => {
|
|
|
192
193
|
},
|
|
193
194
|
a.maxResults
|
|
194
195
|
]
|
|
195
|
-
},
|
|
196
|
+
}, E = {
|
|
196
197
|
measures: [{ ...p.measure, inputs: { showRowTotal: !0, showColumnTotal: !0 } }],
|
|
197
198
|
rowDimension: p.dimension,
|
|
198
199
|
columnDimension: p.dimensionGroup,
|
|
@@ -201,16 +202,18 @@ const be = (e, o) => {
|
|
|
201
202
|
expandedRowKeys: [],
|
|
202
203
|
setExpandedRowKey: () => {
|
|
203
204
|
}
|
|
204
|
-
},
|
|
205
|
+
}, ve = le(g, E), O = (e, o) => ({
|
|
205
206
|
from: e.dataset,
|
|
206
207
|
select: [e.rowDimension, e.columnDimension, ...e.measures],
|
|
207
208
|
limit: e.maxResults,
|
|
208
|
-
countRows: !0
|
|
209
|
-
|
|
209
|
+
countRows: !0,
|
|
210
|
+
timezone: B(o == null ? void 0 : o.timezone)
|
|
211
|
+
}), W = (e, o) => F(O(e, o)), j = (e, o, s) => ({
|
|
210
212
|
from: e.dataset,
|
|
211
213
|
select: [e.rowDimension, e.subRowDimension, e.columnDimension, ...e.measures],
|
|
212
214
|
limit: e.maxResults,
|
|
213
215
|
countRows: !0,
|
|
216
|
+
timezone: B(s == null ? void 0 : s.timezone),
|
|
214
217
|
filters: [
|
|
215
218
|
{
|
|
216
219
|
property: e.rowDimension,
|
|
@@ -218,42 +221,42 @@ const be = (e, o) => {
|
|
|
218
221
|
value: o
|
|
219
222
|
}
|
|
220
223
|
]
|
|
221
|
-
}),
|
|
224
|
+
}), z = (e, o, s) => {
|
|
222
225
|
if (o.length > 0)
|
|
223
|
-
return F(
|
|
224
|
-
},
|
|
225
|
-
const
|
|
226
|
+
return F(j(e, o, s));
|
|
227
|
+
}, ye = (e, [o, s], n) => {
|
|
228
|
+
const i = (o == null ? void 0 : o.expandedRowKeys) ?? [];
|
|
226
229
|
return {
|
|
227
230
|
...e,
|
|
228
231
|
state: o,
|
|
229
|
-
expandedRowKeys:
|
|
230
|
-
setExpandedRowKey: (
|
|
231
|
-
results:
|
|
232
|
-
resultsSubRows:
|
|
232
|
+
expandedRowKeys: i,
|
|
233
|
+
setExpandedRowKey: (t) => s({ expandedRowKeys: [...i, t] }),
|
|
234
|
+
results: W(e, n),
|
|
235
|
+
resultsSubRows: z(e, i, n)
|
|
233
236
|
};
|
|
234
|
-
},
|
|
237
|
+
}, ze = {
|
|
235
238
|
Component: g,
|
|
236
|
-
meta:
|
|
237
|
-
preview:
|
|
238
|
-
previewConfig:
|
|
239
|
+
meta: De,
|
|
240
|
+
preview: ve,
|
|
241
|
+
previewConfig: E,
|
|
239
242
|
config: {
|
|
240
|
-
props:
|
|
243
|
+
props: ye
|
|
241
244
|
},
|
|
242
245
|
results: {
|
|
243
|
-
loadDataArgs:
|
|
244
|
-
loadData:
|
|
246
|
+
loadDataArgs: O,
|
|
247
|
+
loadData: W
|
|
245
248
|
},
|
|
246
249
|
resultsSubRows: {
|
|
247
|
-
loadDataArgs:
|
|
248
|
-
loadData:
|
|
250
|
+
loadDataArgs: j,
|
|
251
|
+
loadData: z
|
|
249
252
|
}
|
|
250
253
|
};
|
|
251
254
|
export {
|
|
252
255
|
h as a,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
256
|
+
Re as b,
|
|
257
|
+
he as c,
|
|
258
|
+
fe as g,
|
|
259
|
+
je as i,
|
|
260
|
+
ze as p
|
|
258
261
|
};
|
|
259
|
-
//# sourceMappingURL=definition-
|
|
262
|
+
//# sourceMappingURL=definition-B1t6-ToS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-B1t6-ToS.js","sources":["../src/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/utils/array.utils.ts","../src/components/charts/tables/PivotTablePro/index.tsx","../src/components/charts/tables/PivotTablePro/definition.ts"],"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 setLoadingRows((prev) => {\n const next = new Set(prev);\n next.delete(rowKey);\n return next;\n });\n }\n });\n setSubRowsByRow(subRowsByRowData);\n }, [resultsSubRows, expandedRowKeys, rowDimension, subRowDimension]);\n\n const data: DataResponse = {\n ...props.results,\n isLoading: Boolean(props.results?.isLoading || resultsSubRows?.isLoading),\n };\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n description={description}\n tooltip={tooltip}\n data={data}\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","import { DataResponse, LoadDataRequest, loadData } from '@embeddable.com/core';\nimport { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../../component.inputs.constants';\nimport { subInputs } from '../../../component.subinputs.constants';\nimport { previewData } from '../../../preview.data.constants';\nimport { getClientContextTimezone } from '../../../../theme/utils/clientContext.utils';\nimport { ThemeClientContext } from '../../../../theme/theme.types';\n\nconst meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n inputs.dataset,\n {\n ...inputs.measures,\n label: 'Measures to display',\n inputs: [\n ...inputs.measures.inputs,\n {\n ...subInputs.boolean,\n name: 'showColumnTotal',\n label: 'Show column total',\n },\n {\n ...subInputs.boolean,\n name: 'showRowTotal',\n label: 'Show row total',\n },\n {\n ...subInputs.boolean,\n name: 'showAsPercentage',\n label: 'Show as percentage',\n description: 'If turned on, other measures may be ignored',\n defaultValue: false,\n },\n ],\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Column dimension',\n name: 'columnDimension',\n },\n {\n ...inputs.dimensionWithDateBounds,\n label: 'Primary row dimension',\n name: 'rowDimension',\n },\n {\n ...inputs.dimension,\n label: 'Secondary row dimension (optional)',\n name: 'subRowDimension',\n required: false,\n description:\n 'When set, each primary row becomes expandable. Clicking a row loads a breakdown by the second dimension.',\n },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.displayNullAs,\n {\n ...inputs.number,\n name: 'firstColumnWidth',\n label: 'First column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n {\n ...inputs.number,\n name: 'columnWidth',\n label: 'Column width',\n description: 'Set the width in px (e.g. 200)',\n category: 'Component Settings',\n },\n inputs.maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type PivotTableProState = {\n expandedRowKeys?: string[];\n};\n\nconst previewConfig = {\n measures: [{ ...previewData.measure, inputs: { showRowTotal: true, showColumnTotal: true } }],\n rowDimension: previewData.dimension,\n columnDimension: previewData.dimensionGroup,\n results: previewData.results1Measure2Dimensions,\n hideMenu: true,\n expandedRowKeys: [],\n setExpandedRowKey: () => {},\n};\n\nconst preview = definePreview(Component, previewConfig);\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n timezone: getClientContextTimezone(clientContext?.timezone),\n});\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n clientContext?: ThemeClientContext,\n): DataResponse => loadData(loadDataResultsArgs(inputs, clientContext));\n\nconst loadDataResultsSubRowsArgs = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n clientContext?: ThemeClientContext,\n): LoadDataRequest => ({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.subRowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n timezone: getClientContextTimezone(clientContext?.timezone),\n filters: [\n {\n property: inputs.rowDimension,\n operator: 'equals',\n value: expandedRowKeys,\n },\n ],\n});\n\nconst loadDataResultsSubRows = (\n inputs: Inputs<typeof meta>,\n expandedRowKeys: string[],\n clientContext?: ThemeClientContext,\n): DataResponse | undefined => {\n if (expandedRowKeys.length > 0) {\n return loadData(loadDataResultsSubRowsArgs(inputs, expandedRowKeys, clientContext));\n }\n return undefined;\n};\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [PivotTableProState, (state: PivotTableProState) => void],\n clientContext: ThemeClientContext,\n) => {\n const expandedRowKeys = state?.expandedRowKeys ?? [];\n\n return {\n ...inputs,\n state,\n expandedRowKeys,\n setExpandedRowKey: (rowKey: string) =>\n setState({ expandedRowKeys: [...expandedRowKeys, rowKey] }),\n results: loadDataResults(inputs, clientContext),\n resultsSubRows: loadDataResultsSubRows(inputs, expandedRowKeys, clientContext),\n };\n};\n\nexport const pivotTablePro = {\n Component,\n meta,\n preview,\n previewConfig,\n config: {\n props,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n resultsSubRows: {\n loadDataArgs: loadDataResultsSubRowsArgs,\n loadData: loadDataResultsSubRows,\n },\n} as const;\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","data","jsx","ChartCard","PivotTable","i18n","meta","inputs","subInputs","previewConfig","previewData","preview","definePreview","Component","loadDataResultsArgs","clientContext","getClientContextTimezone","loadDataResults","loadData","loadDataResultsSubRowsArgs","loadDataResultsSubRows","state","setState","pivotTablePro"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { u as b, j as l, _ as h, V as s } from "./index-CJYh9LRs.js";
|
|
|
3
3
|
import { useState as y, useEffect as C } from "react";
|
|
4
4
|
import { E } from "./EditorCard-BABTQLwW.js";
|
|
5
5
|
import { a as F, r as P } from "./component.utils-Dua9clQJ.js";
|
|
6
|
-
import { i as t } from "./component.inputs.constants-
|
|
6
|
+
import { i as t } from "./component.inputs.constants-C7tJAhsQ.js";
|
|
7
7
|
const a = (e) => {
|
|
8
8
|
const i = g();
|
|
9
9
|
F(i);
|
|
@@ -86,4 +86,4 @@ export {
|
|
|
86
86
|
H as i,
|
|
87
87
|
M as t
|
|
88
88
|
};
|
|
89
|
-
//# sourceMappingURL=definition-
|
|
89
|
+
//# sourceMappingURL=definition-B6Jm5skX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-B6Jm5skX.js","sources":["../src/components/editors/TextFieldPro/index.tsx","../src/components/editors/TextFieldPro/definition.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { TextField, useDebounce } from '@embeddable.com/remarkable-ui';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\n\nexport type TextFieldProProps = {\n value?: string;\n placeholder?: string;\n onChange?: (value: string) => void;\n} & EditorCardHeaderProps;\n\nconst TextFieldPro = (props: TextFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n const { title, description, tooltip, placeholder = '' } = resolveI18nProps(props);\n const { value = '', onChange } = props;\n\n const [currentValue, setCurrentValue] = useState(value);\n\n const debouncedUpdateState = useDebounce((newValue: string) => {\n onChange?.(newValue);\n });\n\n useEffect(() => {\n debouncedUpdateState(currentValue);\n }, [currentValue, debouncedUpdateState]);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <TextField\n value={currentValue}\n placeholder={placeholder}\n onChange={setCurrentValue}\n clearable\n />\n </EditorCard>\n );\n};\n\nexport default TextFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value } from '@embeddable.com/core';\nimport Component from '.';\nimport { inputs } from '../../component.inputs.constants';\n\nconst meta = {\n name: 'TextFieldPro',\n label: 'Text Field',\n category: 'Inputs',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.title,\n inputs.description,\n inputs.tooltip,\n inputs.placeholder,\n {\n ...inputs.string,\n name: 'value',\n label: 'Value',\n category: 'Pre-configured Variables',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Entered value updated',\n properties: [\n {\n name: 'value',\n label: 'Entered value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'text value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['value'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n placeholder: 'Enter text...',\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => ({\n ...inputs,\n});\n\nconst events = {\n onChange: (value: string) => ({\n value: value === '' || value == null ? Value.noFilter() : value,\n }),\n};\n\nexport const textFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["TextFieldPro","props","theme","useTheme","i18nSetup","title","description","tooltip","placeholder","resolveI18nProps","value","onChange","currentValue","setCurrentValue","useState","debouncedUpdateState","useDebounce","newValue","useEffect","jsx","EditorCard","TextField","meta","inputs","Value","preview","definePreview","Component","events","textFieldPro"],"mappings":";;;;;;AAcA,MAAMA,IAAe,CAACC,MAA6B;AACjD,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AACf,QAAM,EAAE,OAAAG,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,IAAc,GAAA,IAAOC,EAAiBR,CAAK,GAC1E,EAAE,OAAAS,IAAQ,IAAI,UAAAC,EAAA,IAAaV,GAE3B,CAACW,GAAcC,CAAe,IAAIC,EAASJ,CAAK,GAEhDK,IAAuBC,EAAY,CAACC,MAAqB;AAC7D,IAAAN,KAAA,QAAAA,EAAWM;AAAA,EACb,CAAC;AAED,SAAAC,EAAU,MAAM;AACd,IAAAH,EAAqBH,CAAY;AAAA,EACnC,GAAG,CAACA,GAAcG,CAAoB,CAAC,GAGrCI,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAf,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAY,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,OAAOT;AAAA,MACP,aAAAJ;AAAA,MACA,UAAUK;AAAA,MACV,WAAS;AAAA,IAAA;AAAA,EAAA,GAEb;AAEJ;;;8CCnCMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,EACZ;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;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,OAAO;AAAA,MAChB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,aAAa;AAAA,EACb,UAAU,MAAM;AAClB,CAAC,GAEK1B,IAAQ,CAACsB,OAAiC;AAAA,EAC9C,GAAGA;AACL,IAEMK,IAAS;AAAA,EACb,UAAU,CAAClB,OAAmB;AAAA,IAC5B,OAAOA,MAAU,MAAMA,KAAS,OAAOc,EAAM,aAAad;AAAA,EAAA;AAE9D,GAEamB,IAAe;AAAA,EAAA,WAC1BF;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAxB;AAAA,IACA,QAAA2B;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useTheme as C, definePreview as M } from "@embeddable.com/react";
|
|
2
2
|
import { j as p, S as P, V as f, l as w } from "./index-CJYh9LRs.js";
|
|
3
|
-
import { g as j } from "./formatter.utils-
|
|
3
|
+
import { g as j } from "./formatter.utils-BLaKKpAa.js";
|
|
4
4
|
import { E as T } from "./EditorCard-BABTQLwW.js";
|
|
5
5
|
import { r as _, i as q } from "./component.utils-Dua9clQJ.js";
|
|
6
|
-
import { i as a } from "./component.inputs.constants-
|
|
6
|
+
import { i as a } from "./component.inputs.constants-C7tJAhsQ.js";
|
|
7
7
|
import { p as g } from "./preview.data.constants--FLtEcg5.js";
|
|
8
8
|
const v = 200, d = (e) => {
|
|
9
9
|
var c, u;
|
|
@@ -128,4 +128,4 @@ export {
|
|
|
128
128
|
X as i,
|
|
129
129
|
G as s
|
|
130
130
|
};
|
|
131
|
-
//# sourceMappingURL=definition-
|
|
131
|
+
//# sourceMappingURL=definition-BCbRycZt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-BCbRycZt.js","sources":["../src/components/editors/SingleSelectFieldPro/index.tsx","../src/components/editors/SingleSelectFieldPro/definition.ts"],"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 | null) => 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) => onChange?.(newValue as string | null)}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default SingleSelectFieldPro;\n","import { definePreview, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData, LoadDataRequest, DataResponse } from '@embeddable.com/core';\nimport Component, { MAX_OPTIONS } from '.';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'SingleSelectFieldPro',\n label: 'Single Select Field',\n category: 'Dropdowns - values',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n { ...inputs.dimension, label: 'Dimension (to load Dropdown values)' },\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n {\n ...inputs.number,\n name: 'maxOptions',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n ...inputs.string,\n name: 'selectedValue',\n label: 'Selected value',\n category: 'Pre-configured Variables',\n },\n {\n ...inputs.dimension,\n config: {\n dataset: 'dataset',\n },\n required: false,\n name: 'optionalSecondDimension',\n label: 'Optional secondary dimension',\n category: 'Data Mapping for Interactions',\n description: 'Send a different dimension to embeddable when the user clicks. Must be unique.',\n },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected value updated',\n properties: [\n {\n name: 'value',\n label: 'Selected value',\n type: 'string',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'single-select value',\n type: 'string',\n defaultValue: Value.noFilter(),\n inputs: ['selectedValue'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport type SingleSelectDropdownState = {\n searchValue?: string;\n};\n\nconst preview = definePreview(Component, {\n dimension: previewData.dimension,\n results: previewData.results1Measure1Dimension,\n onChange: () => null,\n});\n\nconst loadDataResultsArgs = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): LoadDataRequest => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [{ operator, property: inputs.dimension, value: state.searchValue }]\n : undefined,\n };\n};\n\nconst loadDataResults = (\n inputs: Inputs<typeof meta>,\n state?: SingleSelectDropdownState,\n): DataResponse => loadData(loadDataResultsArgs(inputs, state));\n\nconst props = (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n) => ({\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue }),\n results: loadDataResults(inputs, state),\n});\n\nconst events = {\n onChange: (selectedValue: string | null) => {\n return {\n value: selectedValue ?? Value.noFilter(),\n };\n },\n};\n\nexport const singleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n results: {\n loadDataArgs: loadDataResultsArgs,\n loadData: loadDataResults,\n },\n} as const;\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","meta","inputs","Value","preview","definePreview","Component","previewData","loadDataResultsArgs","state","operator","loadDataResults","loadData","setState","searchValue","events","singleSelectFieldPro"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import { j as r, V as l } from "./index-CJYh9LRs.js";
|
|
|
2
2
|
import { useTheme as g, definePreview as S } from "@embeddable.com/react";
|
|
3
3
|
import { E as v } from "./EditorCard-BABTQLwW.js";
|
|
4
4
|
import { a as h, r as b } from "./component.utils-Dua9clQJ.js";
|
|
5
|
-
import { D as M } from "./DimensionAndMeasureSingleSelectField-
|
|
6
|
-
import { i as e } from "./component.inputs.constants-
|
|
5
|
+
import { D as M } from "./DimensionAndMeasureSingleSelectField-BsBSTKKc.js";
|
|
6
|
+
import { i as e } from "./component.inputs.constants-C7tJAhsQ.js";
|
|
7
7
|
import { p as s } from "./preview.data.constants--FLtEcg5.js";
|
|
8
8
|
const t = (a) => {
|
|
9
9
|
const n = g();
|
|
@@ -92,4 +92,4 @@ export {
|
|
|
92
92
|
E as i,
|
|
93
93
|
T as m
|
|
94
94
|
};
|
|
95
|
-
//# sourceMappingURL=definition-
|
|
95
|
+
//# sourceMappingURL=definition-BIk4lZdI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-BIk4lZdI.js","sources":["../src/components/editors/MeasureSingleSelectFieldPro/index.tsx","../src/components/editors/MeasureSingleSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { ChartCardHeaderProps } from '../../charts/shared/ChartCard/ChartCard';\nimport { Theme } from '../../../theme/theme.types';\nimport { useTheme } from '@embeddable.com/react';\nimport { i18nSetup } from '../../../theme/i18n/i18n';\nimport { DimensionAndMeasureSingleSelectField } from '../shared/DimensionAndMeasureSingleSelectField/DimensionAndMeasureSingleSelectField';\n\nexport type MeasureSingleSelectFieldProProps = {\n selectedMeasure?: Measure;\n measureOptions: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure | undefined) => void;\n} & ChartCardHeaderProps;\n\nconst MeasureSingleSelectFieldPro = (props: MeasureSingleSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasure, measureOptions, clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <DimensionAndMeasureSingleSelectField<Measure>\n selectedValue={selectedMeasure}\n options={measureOptions}\n placeholder={placeholder}\n clearable={clearable}\n onChange={onChange}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureSingleSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureSingleSelectFieldPro',\n label: 'Measure Single Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select value...' },\n inputs.measureOptions,\n {\n ...inputs.measure,\n name: 'selectedMeasure',\n label: 'Selected measure',\n category: 'Pre-configured variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measure updated',\n properties: [\n {\n name: 'value',\n label: 'Selected measure',\n type: 'measure',\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure single-select value',\n type: 'measure',\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasure'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: value ?? Value.noFilter(),\n };\n },\n};\n\nexport const measureSingleSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureSingleSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasure","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","jsx","EditorCard","DimensionAndMeasureSingleSelectField","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureSingleSelectFieldPro"],"mappings":";;;;;;;AAiBA,MAAMA,IAA8B,CAACC,MAA4C;AAC/E,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,iBAAAG,GAAiB,gBAAAC,GAAgB,WAAAC,GAAW,UAAAC,MAAaP,GAC3D,EAAE,OAAAQ,GAAO,aAAAC,GAAa,SAAAC,GAAS,aAAAC,EAAA,IAAgBC,EAAiBZ,CAAK;AAE3E,SACEa,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAN,GAAc,aAAAC,GAA0B,SAAAC,GAClD,UAAAG,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,eAAeX;AAAA,MACf,SAASC;AAAA,MACT,aAAAM;AAAA,MACA,WAAAL;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;;;8CC7BMS,IAAO;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACPA,EAAO;AAAA,IACP,EAAE,GAAGA,EAAO,aAAa,cAAc,kBAAA;AAAA,IACvCA,EAAO;AAAA,IACP;AAAA,MACE,GAAGA,EAAO;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,IACX;AAAA,IAEF,EAAE,GAAGA,EAAO,WAAW,cAAc,GAAA;AAAA,EAAM;AAAA,EAE7C,QAAQ;AAAA,IACN;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,QACV;AAAA,UACE,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QAAA;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EAEF,WAAW;AAAA,IACT;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAcC,EAAM,SAAA;AAAA,MACpB,QAAQ,CAAC,iBAAiB;AAAA,MAC1B,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAEMC,IAAUC,EAAcC,GAAW;AAAA,EACvC,gBAAgB,CAACC,EAAY,SAASA,EAAY,cAAc;AAAA,EAChE,UAAU,MAAM;AAClB,CAAC,GAEKtB,IAAQ,CAACiB,OACN;AAAA,EACL,GAAGA;AAAAA,EACH,gBAAgBA,EAAO,kBAAkB,CAAA;AAAC,IAIxCM,IAAS;AAAA,EACb,UAAU,CAACC,OACF;AAAA,IACL,OAAOA,KAASN,EAAM,SAAA;AAAA,EAAS;AAGrC,GAEaO,IAA8B;AAAA,EAAA,WACzCJ;AAAAA,EACA,MAAAL;AAAA,EACA,SAAAG;AAAA,EACA,QAAQ;AAAA,IACN,OAAAnB;AAAA,IACA,QAAAuB;AAAA,EAAA;AAEJ;"}
|
|
@@ -3,8 +3,8 @@ import { useTheme as j, definePreview as x } from "@embeddable.com/react";
|
|
|
3
3
|
import { useState as c, useEffect as w } from "react";
|
|
4
4
|
import { a as A, r as E, i as _ } from "./component.utils-Dua9clQJ.js";
|
|
5
5
|
import { E as D } from "./EditorCard-BABTQLwW.js";
|
|
6
|
-
import { g as N } from "./dimensionsAndMeasures.utils-
|
|
7
|
-
import { i as t } from "./component.inputs.constants-
|
|
6
|
+
import { g as N } from "./dimensionsAndMeasures.utils-DtUfSnpA.js";
|
|
7
|
+
import { i as t } from "./component.inputs.constants-C7tJAhsQ.js";
|
|
8
8
|
import { p as m } from "./preview.data.constants--FLtEcg5.js";
|
|
9
9
|
const l = (e) => {
|
|
10
10
|
const i = j();
|
|
@@ -116,4 +116,4 @@ export {
|
|
|
116
116
|
L as i,
|
|
117
117
|
Q as m
|
|
118
118
|
};
|
|
119
|
-
//# sourceMappingURL=definition-
|
|
119
|
+
//# sourceMappingURL=definition-BKcHxtMp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-
|
|
1
|
+
{"version":3,"file":"definition-BKcHxtMp.js","sources":["../src/components/editors/MeasureMultiSelectFieldPro/index.tsx","../src/components/editors/MeasureMultiSelectFieldPro/definition.ts"],"sourcesContent":["import { Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\nimport { useState, useEffect } from 'react';\nimport { Theme } from '../../../theme/theme.types';\nimport { i18nSetup, i18n } from '../../../theme/i18n/i18n';\nimport { EditorCard, EditorCardHeaderProps } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { getDimensionAndMeasureOptions } from '../utils/dimensionsAndMeasures.utils';\n\nexport type MeasureMultiSelectFieldProProps = {\n selectedMeasures?: Measure[];\n measureOptions?: Measure[];\n placeholder?: string;\n clearable?: boolean;\n onChange: (value: Measure[]) => void;\n} & EditorCardHeaderProps;\n\nconst MeasureMultiSelectFieldPro = (props: MeasureMultiSelectFieldProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { selectedMeasures = [], measureOptions = [], clearable, onChange } = props;\n const { title, description, tooltip, placeholder } = resolveI18nProps(props);\n\n const [searchValue, setSearchValue] = useState('');\n const [pendingValues, setPendingValues] = useState<string[]>([]);\n\n useEffect(() => {\n if (clearable) return;\n if (selectedMeasures.length > 0) return;\n const first = measureOptions[0];\n if (!first) return;\n\n onChange([first]);\n }, [clearable, selectedMeasures.length, measureOptions, onChange]);\n\n const currentMeasureName = selectedMeasures.map((m) => m.name);\n\n const options = getDimensionAndMeasureOptions({\n dimensionsAndMeasures: measureOptions,\n searchValue,\n theme,\n });\n\n const handleChange = (newValues: string[]) => {\n const selectedNamesSet = new Set(newValues);\n onChange(measureOptions.filter((m) => selectedNamesSet.has(m.name)));\n };\n\n return (\n <EditorCard title={title} description={description} tooltip={tooltip}>\n <MultiSelectField\n isClearable={clearable}\n disableApplyButton={!clearable && pendingValues.length === 0}\n isSearchable\n values={currentMeasureName}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={i18n.t('common.noOptionsFound')}\n onChange={handleChange}\n onPendingChange={setPendingValues}\n onSearch={setSearchValue}\n avoidCollisions={false}\n />\n </EditorCard>\n );\n};\n\nexport default MeasureMultiSelectFieldPro;\n","import { Value } from '@embeddable.com/core';\nimport { EmbeddedComponentMeta, Inputs, definePreview } from '@embeddable.com/react';\nimport Component from './index';\nimport { inputs } from '../../component.inputs.constants';\nimport { previewData } from '../../preview.data.constants';\n\nconst meta = {\n name: 'MeasureMultiSelectFieldPro',\n label: 'Measure Multi Select Field',\n category: 'Dropdowns - dimensions and measures',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n inputs.dataset,\n inputs.measureOptions,\n inputs.title,\n inputs.description,\n inputs.tooltip,\n { ...inputs.placeholder, defaultValue: 'Select values...' },\n {\n ...inputs.measure,\n array: true,\n name: 'selectedMeasures',\n label: 'Selected measures',\n category: 'Pre-configured Variables',\n required: false,\n config: {\n dataset: 'dataset',\n },\n },\n { ...inputs.clearable, defaultValue: false },\n ],\n events: [\n {\n name: 'onChange',\n label: 'Selected measures updated',\n properties: [\n {\n name: 'value',\n label: 'Selected values',\n type: 'measure',\n array: true,\n },\n ],\n },\n ],\n variables: [\n {\n name: 'measure multi-select values',\n type: 'measure',\n array: true,\n defaultValue: Value.noFilter(),\n inputs: ['selectedMeasures'],\n events: [{ name: 'onChange', property: 'value' }],\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nconst preview = definePreview(Component, {\n measureOptions: [previewData.measure, previewData.measureVariant],\n onChange: () => null,\n});\n\nconst props = (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n measureOptions: inputs.measureOptions ?? [],\n selectedMeasures: inputs.selectedMeasures ?? [],\n };\n};\n\nconst events = {\n onChange: (value: unknown) => {\n return {\n value: Array.isArray(value) && value.length ? value : Value.noFilter(),\n };\n },\n};\n\nexport const measureMultiSelectFieldPro = {\n Component,\n meta,\n preview,\n config: {\n props,\n events,\n },\n} as const;\n"],"names":["MeasureMultiSelectFieldPro","props","theme","useTheme","i18nSetup","selectedMeasures","measureOptions","clearable","onChange","title","description","tooltip","placeholder","resolveI18nProps","searchValue","setSearchValue","useState","pendingValues","setPendingValues","useEffect","first","currentMeasureName","m","options","getDimensionAndMeasureOptions","handleChange","newValues","selectedNamesSet","jsx","EditorCard","MultiSelectField","i18n","meta","inputs","Value","preview","definePreview","Component","previewData","events","value","measureMultiSelectFieldPro"],"mappings":"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"}
|