@embeddable.com/remarkable-ui 1.0.5 → 1.0.6
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 +30 -29
- package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
- package/dist/BarChartDefaultPro.js +35 -34
- package/dist/BarChartDefaultPro.js.map +1 -1
- package/dist/BarChartGroupedHorizontalPro.js +29 -28
- package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
- package/dist/BarChartGroupedPro.js +40 -39
- package/dist/BarChartGroupedPro.js.map +1 -1
- package/dist/BarChartStackedHorizontalPro.js +28 -27
- package/dist/BarChartStackedHorizontalPro.js.map +1 -1
- package/dist/BarChartStackedPro.js +47 -46
- package/dist/BarChartStackedPro.js.map +1 -1
- package/dist/ChartCard-FOSghcoD.js +127 -0
- package/dist/ChartCard-FOSghcoD.js.map +1 -0
- package/dist/Color.type.emb-CTiA_AzI.js +9 -0
- package/dist/Color.type.emb-CTiA_AzI.js.map +1 -0
- package/dist/ColorEditor.js +38 -0
- package/dist/ColorEditor.js.map +1 -0
- package/dist/ComparisonPeriod.type.emb-CQ63PFtq.js +14 -0
- package/dist/{ComparisonPeriod.type.emb-D0_AP_PM.js.map → ComparisonPeriod.type.emb-CQ63PFtq.js.map} +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +33 -32
- package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
- package/dist/DateRangeSelectFieldPro.js +10 -8
- package/dist/DateRangeSelectFieldPro.js.map +1 -1
- package/dist/DonutChartPro.js +13 -12
- package/dist/DonutChartPro.js.map +1 -1
- package/dist/DonutLabelChartPro.js +16 -15
- package/dist/DonutLabelChartPro.js.map +1 -1
- package/dist/{EditorCard-BLudeyiZ.js → EditorCard-CB-re8Qn.js} +26 -25
- package/dist/EditorCard-CB-re8Qn.js.map +1 -0
- package/dist/{HeatMap-HTlj76CN.js → HeatMap-DwXoxYyu.js} +31 -31
- package/dist/{HeatMap-HTlj76CN.js.map → HeatMap-DwXoxYyu.js.map} +1 -1
- package/dist/HeatMapPro.js +84 -60
- package/dist/HeatMapPro.js.map +1 -1
- package/dist/KpiChart-lEsVao_M.js +110 -0
- package/dist/KpiChart-lEsVao_M.js.map +1 -0
- package/dist/KpiChartNumberComparisonPro.js +55 -53
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +12 -11
- package/dist/KpiChartNumberPro.js.map +1 -1
- package/dist/LineChartComparisonDefaultPro.js +114 -106
- package/dist/LineChartComparisonDefaultPro.js.map +1 -1
- package/dist/LineChartDefaultPro.js +87 -84
- package/dist/LineChartDefaultPro.js.map +1 -1
- package/dist/LineChartGroupedPro.js +52 -51
- package/dist/LineChartGroupedPro.js.map +1 -1
- package/dist/MultiSelectFieldPro.js +10 -9
- package/dist/MultiSelectFieldPro.js.map +1 -1
- package/dist/PieChartPro.js +14 -13
- package/dist/PieChartPro.js.map +1 -1
- package/dist/{PivotTable-Diy2xzoH.js → PivotTable-DlBkWU2O.js} +8 -8
- package/dist/{PivotTable-Diy2xzoH.js.map → PivotTable-DlBkWU2O.js.map} +1 -1
- package/dist/PivotTablePro.js +48 -48
- package/dist/PivotTablePro.js.map +1 -1
- package/dist/SingleSelectField-ammJ2Zc2.js +110 -0
- package/dist/SingleSelectField-ammJ2Zc2.js.map +1 -0
- package/dist/SingleSelectFieldPro.js +9 -8
- package/dist/SingleSelectFieldPro.js.map +1 -1
- package/dist/TableChartPaginated.js +73 -72
- package/dist/TableChartPaginated.js.map +1 -1
- package/dist/TablePaginated-pVrIngVd.js +12448 -0
- package/dist/TablePaginated-pVrIngVd.js.map +1 -0
- package/dist/{bars.utils-CAMiF7iA.js → bars.utils-8ka9OKUG.js} +4 -4
- package/dist/{bars.utils-CAMiF7iA.js.map → bars.utils-8ka9OKUG.js.map} +1 -1
- package/dist/{charts.utils-Cw4SeX2m.js → charts.utils-Cbyzr0nO.js} +16149 -16144
- package/dist/charts.utils-Cbyzr0nO.js.map +1 -0
- package/dist/component.constants-VpbbPSIL.js +5452 -0
- package/dist/component.constants-VpbbPSIL.js.map +1 -0
- package/dist/embeddable-components.json +14 -12
- package/dist/embeddable-theme-2b917.js +16739 -16736
- package/dist/{embeddable-types-363c8.js → embeddable-types-df460.js} +21 -17
- package/dist/embeddable-types.js.map +1 -1
- package/dist/{formatter.utils-N2gk49ys.js → formatter.utils-BLz3TSY0.js} +2 -2
- package/dist/{formatter.utils-N2gk49ys.js.map → formatter.utils-BLz3TSY0.js.map} +1 -1
- package/dist/index-B7Pv2FEr.js +48 -0
- package/dist/{index-Dwe8JLUr.js.map → index-B7Pv2FEr.js.map} +1 -1
- package/dist/index-BYbp2vA7.js +57 -0
- package/dist/index-BYbp2vA7.js.map +1 -0
- package/dist/{index-Jm7acUco.js → index-CCJCuW1J.js} +37 -36
- package/dist/index-CCJCuW1J.js.map +1 -0
- package/dist/index-DcyTRz2V.js +63 -0
- package/dist/{index-DhfbSAKi.js.map → index-DcyTRz2V.js.map} +1 -1
- package/dist/{index-BOcQ7e6Q.js → index-DtmAIOuh.js} +25 -24
- package/dist/{index-BOcQ7e6Q.js.map → index-DtmAIOuh.js.map} +1 -1
- package/dist/index-mMCdUsGD.js +63 -0
- package/dist/{index-BKkfcfXT.js.map → index-mMCdUsGD.js.map} +1 -1
- package/dist/index.js +168 -169
- package/dist/index.js.map +1 -1
- package/dist/{pies.utils-E8f3Hj1h.js → pies.utils-Cr-a3NjZ.js} +15 -14
- package/dist/{pies.utils-E8f3Hj1h.js.map → pies.utils-Cr-a3NjZ.js.map} +1 -1
- package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts +2 -2
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.d.ts +6 -2
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts +2 -3
- package/dist/remarkable-pro/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/tables/PivotTablePro/index.d.ts +0 -1
- package/dist/remarkable-pro/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/charts/tables/TableChartPaginated/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/component.constants.d.ts +0 -14
- package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -1
- package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.d.ts +1 -0
- package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/editors/ColorEditor/index.d.ts +8 -0
- package/dist/remarkable-pro/editors/ColorEditor/index.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/defaults/defaults.ChartCardMenu.constants.d.ts +17 -0
- package/dist/remarkable-pro/theme/defaults/defaults.ChartCardMenu.constants.d.ts.map +1 -0
- package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -1
- package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -1
- package/dist/remarkable-pro/theme/theme.constants.d.ts.map +1 -1
- package/dist/remarkable-pro/theme/theme.types.d.ts +2 -4
- package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
- package/dist/remarkable-pro/theme/utils/export.utils.d.ts +4 -4
- package/dist/remarkable-pro/theme/utils/export.utils.d.ts.map +1 -1
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.d.ts.map +1 -1
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.stories.d.ts +2 -1
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.stories.d.ts.map +1 -1
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.types.d.ts +2 -1
- package/dist/remarkable-ui/components/charts/kpis/KpiChart.types.d.ts.map +1 -1
- package/dist/remarkable-ui/components/charts/kpis/components/KpiChartChange.d.ts.map +1 -1
- package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.d.ts +1 -1
- package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.d.ts.map +1 -1
- package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.stories.d.ts +1 -1
- package/dist/remarkable-ui/components/editors/selects/MultiSelectField/MultiSelectField.stories.d.ts.map +1 -1
- package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.d.ts +3 -3
- package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.d.ts.map +1 -1
- package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.stories.d.ts +3 -3
- package/dist/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.stories.d.ts.map +1 -1
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.d.ts +1 -1
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldContent.utils.d.ts.map +1 -1
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldOptions/SelectFieldCategory/SelectFieldCategory.d.ts.map +1 -0
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectFieldOptions/SelectFieldOption/SelectFieldOption.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Overlay/Overlay.d.ts +8 -0
- package/dist/remarkable-ui/components/shared/Overlay/Overlay.d.ts.map +1 -0
- package/dist/remarkable-ui/components/shared/Overlay/Overlay.stories.d.ts +10 -0
- package/dist/remarkable-ui/components/shared/Overlay/Overlay.stories.d.ts.map +1 -0
- package/dist/remarkable-ui/index.d.ts +3 -4
- package/dist/remarkable-ui/index.d.ts.map +1 -1
- package/dist/remarkable-ui.css +1 -1
- package/dist/{timeRange.utils-DuutFoIE.js → timeRange.utils-AEhW9Gu4.js} +2 -2
- package/dist/{timeRange.utils-DuutFoIE.js.map → timeRange.utils-AEhW9Gu4.js.map} +1 -1
- package/package.json +1 -1
- package/dist/ChartCard-BzLW_64B.js +0 -122
- package/dist/ChartCard-BzLW_64B.js.map +0 -1
- package/dist/ComparisonPeriod.type.emb-D0_AP_PM.js +0 -14
- package/dist/EditorCard-BLudeyiZ.js.map +0 -1
- package/dist/KpiChart-DWnEF3iA.js +0 -105
- package/dist/KpiChart-DWnEF3iA.js.map +0 -1
- package/dist/SingleSelectField-CX2hEN0u.js +0 -109
- package/dist/SingleSelectField-CX2hEN0u.js.map +0 -1
- package/dist/charts.utils-Cw4SeX2m.js.map +0 -1
- package/dist/component.constants-B5vygi6l.js +0 -17905
- package/dist/component.constants-B5vygi6l.js.map +0 -1
- package/dist/index-BKkfcfXT.js +0 -62
- package/dist/index-DhfbSAKi.js +0 -62
- package/dist/index-Dwe8JLUr.js +0 -47
- package/dist/index-Jm7acUco.js.map +0 -1
- package/dist/index-_mthkdMa.js +0 -56
- package/dist/index-_mthkdMa.js.map +0 -1
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts +0 -20
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCard.stories.d.ts.map +0 -1
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.constants.d.ts +0 -3
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.constants.d.ts.map +0 -1
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.stories.d.ts +0 -16
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.stories.d.ts.map +0 -1
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.types.d.ts +0 -16
- package/dist/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.types.d.ts.map +0 -1
- package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/index.stories.d.ts +0 -12
- package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/index.stories.d.ts.map +0 -1
- package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.stories.d.ts +0 -17
- package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.stories.d.ts.map +0 -1
- package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.stories.d.ts +0 -12
- package/dist/remarkable-pro/components/editors/shared/EditorCard/EditorCard.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldCategory/SelectFieldCategory.d.ts.map +0 -1
- package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/SelectListOptions/SelectFieldOption/SelectFieldOption.d.ts.map +0 -1
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.d.ts +0 -3
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.d.ts.map +0 -1
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.stories.d.ts +0 -7
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.stories.d.ts.map +0 -1
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.types.d.ts +0 -7
- package/dist/remarkable-ui/components/shared/PageOverlay/PageOverlay.types.d.ts.map +0 -1
- /package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/{SelectListOptions → SelectFieldOptions}/SelectFieldCategory/SelectFieldCategory.d.ts +0 -0
- /package/dist/remarkable-ui/components/editors/selects/shared/SelectFieldContent/{SelectListOptions → SelectFieldOptions}/SelectFieldOption/SelectFieldOption.d.ts +0 -0
package/dist/PivotTablePro.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useTheme as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { j as u, l as x } from "./TablePaginated-pVrIngVd.js";
|
|
2
|
+
import { useTheme as y, defineComponent as A } from "@embeddable.com/react";
|
|
3
|
+
import { i as M, r as S, z as W, d as N, m as c, H as r, a as d, t as j, b as G, G as B, D as h, v as I } from "./component.constants-VpbbPSIL.js";
|
|
4
|
+
import { C as k } from "./ChartCard-FOSghcoD.js";
|
|
5
|
+
import { useRef as O } from "react";
|
|
6
|
+
import { P as V } from "./PivotTable-DlBkWU2O.js";
|
|
6
7
|
import { u as p } from "./charts.fillGaps.hooks-5WclK2CD.js";
|
|
7
|
-
import { g as
|
|
8
|
-
const
|
|
9
|
-
const t =
|
|
8
|
+
import { g as w } from "./formatter.utils-BLz3TSY0.js";
|
|
9
|
+
const z = (e, o) => {
|
|
10
|
+
const t = w(o);
|
|
10
11
|
return e.measures.map((s) => {
|
|
11
12
|
var n, a;
|
|
12
13
|
return {
|
|
@@ -18,35 +19,30 @@ const _ = (e, o) => {
|
|
|
18
19
|
};
|
|
19
20
|
});
|
|
20
21
|
}, b = (e, o) => {
|
|
21
|
-
const t =
|
|
22
|
+
const t = w(o);
|
|
22
23
|
return {
|
|
23
24
|
key: e.dimension.name,
|
|
24
25
|
label: t.dimensionOrMeasureTitle(e.dimension),
|
|
25
26
|
formatValue: (s) => t.data(e.dimension, s)
|
|
26
27
|
};
|
|
27
|
-
},
|
|
28
|
+
}, E = (e) => e.filter((o) => {
|
|
28
29
|
var t;
|
|
29
30
|
return (t = o.inputs) == null ? void 0 : t.showColumnTotal;
|
|
30
|
-
}).map((o) => o.name),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
showRowTotals: r,
|
|
38
|
-
displayNullAs: w,
|
|
39
|
-
columnWidth: f,
|
|
40
|
-
firstColumnWidth: g
|
|
41
|
-
} = e, D = p({
|
|
31
|
+
}).map((o) => o.name), H = (e) => e.filter((o) => {
|
|
32
|
+
var t;
|
|
33
|
+
return (t = o.inputs) == null ? void 0 : t.showRowTotal;
|
|
34
|
+
}).map((o) => o.name), L = (e) => {
|
|
35
|
+
const o = y();
|
|
36
|
+
M(o);
|
|
37
|
+
const { description: t, title: s } = S(e), { measures: n, rowDimension: a, columnDimension: i, displayNullAs: m, columnWidth: T, firstColumnWidth: f } = e, D = p({
|
|
42
38
|
results: e.results,
|
|
43
39
|
dimension: i
|
|
44
40
|
}), l = p({
|
|
45
41
|
results: D,
|
|
46
42
|
dimension: a
|
|
47
|
-
}), P =
|
|
48
|
-
return /* @__PURE__ */
|
|
49
|
-
|
|
43
|
+
}), P = O(null), g = z({ measures: n, displayNullAs: m }, o), v = b({ dimension: a }, o), C = b({ dimension: i }, o), R = E(n), F = H(n);
|
|
44
|
+
return /* @__PURE__ */ u.jsx(
|
|
45
|
+
k,
|
|
50
46
|
{
|
|
51
47
|
ref: P,
|
|
52
48
|
title: s,
|
|
@@ -54,40 +50,45 @@ const _ = (e, o) => {
|
|
|
54
50
|
data: e.results,
|
|
55
51
|
dimensionsAndMeasures: [a, i, ...n],
|
|
56
52
|
errorMessage: l == null ? void 0 : l.error,
|
|
57
|
-
children: /* @__PURE__ */
|
|
58
|
-
|
|
53
|
+
children: /* @__PURE__ */ u.jsx(
|
|
54
|
+
V,
|
|
59
55
|
{
|
|
60
|
-
firstColumnWidth:
|
|
61
|
-
columnWidth:
|
|
62
|
-
totalLabel:
|
|
56
|
+
firstColumnWidth: f,
|
|
57
|
+
columnWidth: T,
|
|
58
|
+
totalLabel: W.t("charts.pivotTable.total"),
|
|
63
59
|
data: l.data ?? [],
|
|
64
|
-
measures:
|
|
60
|
+
measures: g,
|
|
65
61
|
rowDimension: v,
|
|
66
|
-
columnDimension:
|
|
67
|
-
columnTotalsFor:
|
|
68
|
-
rowTotalsFor:
|
|
62
|
+
columnDimension: C,
|
|
63
|
+
columnTotalsFor: R,
|
|
64
|
+
rowTotalsFor: F
|
|
69
65
|
}
|
|
70
66
|
)
|
|
71
67
|
}
|
|
72
68
|
);
|
|
73
|
-
},
|
|
69
|
+
}, _ = {
|
|
74
70
|
name: "PivotTablePro",
|
|
75
71
|
label: "Pivot Table",
|
|
76
72
|
category: "Table Charts",
|
|
77
73
|
inputs: [
|
|
78
|
-
|
|
74
|
+
N,
|
|
79
75
|
{
|
|
80
|
-
...
|
|
76
|
+
...c,
|
|
81
77
|
label: "Measures To Display",
|
|
82
78
|
inputs: [
|
|
83
|
-
...
|
|
79
|
+
...c.inputs,
|
|
84
80
|
{
|
|
85
|
-
...
|
|
81
|
+
...r,
|
|
86
82
|
name: "showColumnTotal",
|
|
87
83
|
label: "Show Column Total"
|
|
88
84
|
},
|
|
89
85
|
{
|
|
90
|
-
...
|
|
86
|
+
...r,
|
|
87
|
+
name: "showRowTotal",
|
|
88
|
+
label: "Show Row Total"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
...r,
|
|
91
92
|
name: "showAsPercentage",
|
|
92
93
|
label: "Show As Percentage",
|
|
93
94
|
description: "If turned on, other measures may be ignored",
|
|
@@ -105,10 +106,9 @@ const _ = (e, o) => {
|
|
|
105
106
|
label: "Column Dimension",
|
|
106
107
|
name: "columnDimension"
|
|
107
108
|
},
|
|
108
|
-
N,
|
|
109
109
|
j,
|
|
110
|
-
|
|
111
|
-
{ ...
|
|
110
|
+
G,
|
|
111
|
+
{ ...B, name: "displayNullAs", label: "Display Null As" },
|
|
112
112
|
{
|
|
113
113
|
...h,
|
|
114
114
|
name: "firstColumnWidth",
|
|
@@ -121,12 +121,12 @@ const _ = (e, o) => {
|
|
|
121
121
|
label: "Column Width",
|
|
122
122
|
description: "Set the width in px (e.g. 200)"
|
|
123
123
|
},
|
|
124
|
-
|
|
124
|
+
I
|
|
125
125
|
]
|
|
126
|
-
},
|
|
126
|
+
}, $ = A(L, _, {
|
|
127
127
|
props: (e) => ({
|
|
128
128
|
...e,
|
|
129
|
-
results:
|
|
129
|
+
results: x({
|
|
130
130
|
from: e.dataset,
|
|
131
131
|
select: [e.rowDimension, e.columnDimension, ...e.measures],
|
|
132
132
|
limit: e.maxResults,
|
|
@@ -135,7 +135,7 @@ const _ = (e, o) => {
|
|
|
135
135
|
})
|
|
136
136
|
});
|
|
137
137
|
export {
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
$ as default,
|
|
139
|
+
_ as meta
|
|
140
140
|
};
|
|
141
141
|
//# sourceMappingURL=PivotTablePro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PivotTablePro.js","sources":["../src/remarkable-pro/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/remarkable-pro/components/charts/tables/PivotTablePro/index.tsx","../src/remarkable-pro/components/charts/tables/PivotTablePro/PivotTablePro.emb.ts"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '../../../../../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 = (props: {\n measures: Measure[];\n}): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return props.measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '../../../../../remarkable-ui';\nimport { useRef } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { getPivotColumnTotalsFor, getPivotDimension, getPivotMeasures } from './PivotPro.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype PivotTableProProps = {\n title: string;\n description: string;\n results: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n columnDimension: Dimension;\n showRowTotals?: boolean;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n};\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, title } = resolveI18nProps(props);\n const {\n measures,\n rowDimension,\n columnDimension,\n showRowTotals,\n displayNullAs,\n columnWidth,\n firstColumnWidth,\n } = props;\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 results = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor({ measures });\n const pivotRowTotalsFor = showRowTotals ? measures.map((m) => m.name) : [];\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n subtitle={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={results?.error}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results.data ?? []}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n","import { loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport PivotTablePro from './index';\nimport {\n dataset,\n description,\n title,\n maxResults,\n measures,\n genericBoolean,\n subInputGenericBoolean,\n genericString,\n dimensionWithDateBounds,\n genericNumber,\n} from '../../../component.constants';\n\nexport const meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n dataset,\n {\n ...measures,\n label: 'Measures To Display',\n inputs: [\n ...measures.inputs,\n {\n ...subInputGenericBoolean,\n name: 'showColumnTotal',\n label: 'Show Column Total',\n },\n {\n ...subInputGenericBoolean,\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 ...dimensionWithDateBounds,\n label: 'Row Dimension',\n name: 'rowDimension',\n },\n {\n ...dimensionWithDateBounds,\n label: 'Column Dimension',\n name: 'columnDimension',\n },\n title,\n description,\n { ...genericBoolean, name: 'showRowTotals', label: 'Show Row Totals' },\n { ...genericString, name: 'displayNullAs', label: 'Display Null As' },\n {\n ...genericNumber,\n name: 'firstColumnWidth',\n label: 'First Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n {\n ...genericNumber,\n name: 'columnWidth',\n label: 'Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n\n maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(PivotTablePro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n\n results: loadData({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n }),\n };\n },\n});\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","m","PivotTablePro","useTheme","i18nSetup","description","title","resolveI18nProps","measures","rowDimension","columnDimension","showRowTotals","displayNullAs","columnWidth","firstColumnWidth","resultsColumnDimensionFillGaps","useFillGaps","results","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","jsx","ChartCard","PivotTable","i18n","meta","dataset","subInputGenericBoolean","dimensionWithDateBounds","genericBoolean","genericString","genericNumber","maxResults","PivotTablePro_emb","defineComponent","inputs","loadData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PivotTablePro.js","sources":["../src/remarkable-pro/components/charts/tables/PivotTablePro/PivotPro.utils.ts","../src/remarkable-pro/components/charts/tables/PivotTablePro/index.tsx","../src/remarkable-pro/components/charts/tables/PivotTablePro/PivotTablePro.emb.ts"],"sourcesContent":["import { Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { PivotTableProps } from '../../../../../remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const getPivotMeasures = (\n props: { measures: Measure[]; displayNullAs?: string },\n theme: Theme,\n): PivotTableProps<any>['measures'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return props.measures.map((measure) => {\n return {\n key: measure.name,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n showAsPercentage: Boolean(measure.inputs?.showAsPercentage),\n percentageDecimalPlaces: measure.inputs?.decimalPlaces ?? 1,\n accessor: (row) => {\n const value = row[measure.name];\n\n return value == null\n ? props.displayNullAs\n : themeFormatter.data(measure, row[measure.name]);\n },\n };\n });\n};\n\nexport const getPivotDimension = (\n props: { dimension: Dimension },\n theme: Theme,\n): PivotTableProps<any>['rowDimension' | 'columnDimension'] => {\n const themeFormatter = getThemeFormatter(theme);\n\n return {\n key: props.dimension.name,\n label: themeFormatter.dimensionOrMeasureTitle(props.dimension),\n formatValue: (value: string) => themeFormatter.data(props.dimension, value),\n };\n};\n\nexport const getPivotColumnTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['columnTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showColumnTotal).map((m) => m.name);\n};\n\nexport const getPivotRowTotalsFor = (\n measures: Measure[],\n): PivotTableProps<any>['rowTotalsFor'] | undefined => {\n return measures.filter((m) => m.inputs?.showRowTotal).map((m) => m.name);\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { PivotTable } from '../../../../../remarkable-ui';\nimport { useRef } from 'react';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport {\n getPivotColumnTotalsFor,\n getPivotDimension,\n getPivotMeasures,\n getPivotRowTotalsFor,\n} from './PivotPro.utils';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\ntype PivotTableProProps = {\n title: string;\n description: string;\n results: DataResponse;\n measures: Measure[];\n rowDimension: Dimension;\n columnDimension: Dimension;\n displayNullAs?: string;\n columnWidth?: number;\n firstColumnWidth?: number;\n};\n\nconst PivotTablePro = (props: PivotTableProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, title } = resolveI18nProps(props);\n const { measures, rowDimension, columnDimension, displayNullAs, columnWidth, firstColumnWidth } =\n props;\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 results = useFillGaps({\n results: resultsColumnDimensionFillGaps,\n dimension: rowDimension,\n });\n\n const cardContentRef = useRef<HTMLDivElement>(null);\n\n const pivotMeasures = getPivotMeasures({ measures, displayNullAs }, theme);\n const pivotRowDimension = getPivotDimension({ dimension: rowDimension }, theme);\n const pivotColumnDimension = getPivotDimension({ dimension: columnDimension }, theme);\n const pivotColumnTotalsFor = getPivotColumnTotalsFor(measures);\n const pivotRowTotalsFor = getPivotRowTotalsFor(measures);\n\n return (\n <ChartCard\n ref={cardContentRef}\n title={title}\n subtitle={description}\n data={props.results}\n dimensionsAndMeasures={[rowDimension, columnDimension, ...measures]}\n errorMessage={results?.error}\n >\n <PivotTable\n firstColumnWidth={firstColumnWidth}\n columnWidth={columnWidth}\n totalLabel={i18n.t('charts.pivotTable.total')}\n data={results.data ?? []}\n measures={pivotMeasures}\n rowDimension={pivotRowDimension}\n columnDimension={pivotColumnDimension}\n columnTotalsFor={pivotColumnTotalsFor}\n rowTotalsFor={pivotRowTotalsFor}\n />\n </ChartCard>\n );\n};\n\nexport default PivotTablePro;\n","import { loadData } from '@embeddable.com/core';\nimport { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport PivotTablePro from './index';\nimport {\n dataset,\n description,\n title,\n maxResults,\n measures,\n subInputGenericBoolean,\n genericString,\n dimensionWithDateBounds,\n genericNumber,\n} from '../../../component.constants';\n\nexport const meta = {\n name: 'PivotTablePro',\n label: 'Pivot Table',\n category: 'Table Charts',\n inputs: [\n dataset,\n {\n ...measures,\n label: 'Measures To Display',\n inputs: [\n ...measures.inputs,\n {\n ...subInputGenericBoolean,\n name: 'showColumnTotal',\n label: 'Show Column Total',\n },\n {\n ...subInputGenericBoolean,\n name: 'showRowTotal',\n label: 'Show Row Total',\n },\n {\n ...subInputGenericBoolean,\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 ...dimensionWithDateBounds,\n label: 'Row Dimension',\n name: 'rowDimension',\n },\n {\n ...dimensionWithDateBounds,\n label: 'Column Dimension',\n name: 'columnDimension',\n },\n title,\n description,\n { ...genericString, name: 'displayNullAs', label: 'Display Null As' },\n {\n ...genericNumber,\n name: 'firstColumnWidth',\n label: 'First Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n {\n ...genericNumber,\n name: 'columnWidth',\n label: 'Column Width',\n description: 'Set the width in px (e.g. 200)',\n },\n\n maxResults,\n ],\n} as const satisfies EmbeddedComponentMeta;\n\nexport default defineComponent(PivotTablePro, meta, {\n props: (inputs: Inputs<typeof meta>) => {\n return {\n ...inputs,\n\n results: loadData({\n from: inputs.dataset,\n select: [inputs.rowDimension, inputs.columnDimension, ...inputs.measures],\n limit: inputs.maxResults,\n countRows: true,\n }),\n };\n },\n});\n"],"names":["getPivotMeasures","props","theme","themeFormatter","getThemeFormatter","measure","_a","_b","row","getPivotDimension","value","getPivotColumnTotalsFor","measures","m","getPivotRowTotalsFor","PivotTablePro","useTheme","i18nSetup","description","title","resolveI18nProps","rowDimension","columnDimension","displayNullAs","columnWidth","firstColumnWidth","resultsColumnDimensionFillGaps","useFillGaps","results","cardContentRef","useRef","pivotMeasures","pivotRowDimension","pivotColumnDimension","pivotColumnTotalsFor","pivotRowTotalsFor","jsx","ChartCard","PivotTable","i18n","meta","dataset","subInputGenericBoolean","dimensionWithDateBounds","genericString","genericNumber","maxResults","PivotTablePro_emb","defineComponent","inputs","loadData"],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { j as s, p as q, q as w, S as B, F as H } from "./TablePaginated-pVrIngVd.js";
|
|
2
|
+
import { useState as m, useRef as K, useEffect as Q, useMemo as O, Fragment as z } from "react";
|
|
3
|
+
import { O as A, P as G, Q as J, S as x } from "./component.constants-VpbbPSIL.js";
|
|
4
|
+
import { u as U, d as V, g as W, s as X, I as Y, S as Z } from "./EditorCard-CB-re8Qn.js";
|
|
5
|
+
const se = ({
|
|
6
|
+
label: y,
|
|
7
|
+
required: L,
|
|
8
|
+
value: r = "",
|
|
9
|
+
startIcon: o,
|
|
10
|
+
options: t,
|
|
11
|
+
disabled: b,
|
|
12
|
+
placeholder: I,
|
|
13
|
+
searchable: j,
|
|
14
|
+
clearable: k,
|
|
15
|
+
isLoading: C,
|
|
16
|
+
noOptionsMessage: p = "No options available",
|
|
17
|
+
onChange: E,
|
|
18
|
+
onSearch: a,
|
|
19
|
+
error: R = !1,
|
|
20
|
+
errorMessage: i
|
|
21
|
+
}) => {
|
|
22
|
+
const [F, D] = m(!1), [g, S] = m(""), [N, d] = m(r), h = K(null);
|
|
23
|
+
U(F, h), Q(() => {
|
|
24
|
+
if (!r) {
|
|
25
|
+
d("");
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const e = t.find((c) => c.value === r);
|
|
29
|
+
e && d(e.label);
|
|
30
|
+
}, [r, t]);
|
|
31
|
+
const n = O(() => a ? V(a) : void 0, [a]), u = j && !a ? t.filter((e) => e.label.toLowerCase().includes(g.toLowerCase())) : t, v = O(() => W(u), [u]), f = (e) => {
|
|
32
|
+
if (S(""), E(e ?? ""), a == null || a(""), e === "")
|
|
33
|
+
d("");
|
|
34
|
+
else {
|
|
35
|
+
const c = t.find((l) => l.value === e);
|
|
36
|
+
c && d(c.label);
|
|
37
|
+
}
|
|
38
|
+
}, P = (e) => {
|
|
39
|
+
S(e), n == null || n(e);
|
|
40
|
+
}, T = R || !!i;
|
|
41
|
+
return /* @__PURE__ */ s.jsxs("div", { children: [
|
|
42
|
+
/* @__PURE__ */ s.jsx(q, { label: y, required: L }),
|
|
43
|
+
/* @__PURE__ */ s.jsx(
|
|
44
|
+
A,
|
|
45
|
+
{
|
|
46
|
+
open: F,
|
|
47
|
+
onOpenChange: D,
|
|
48
|
+
disabled: b,
|
|
49
|
+
triggerComponent: /* @__PURE__ */ s.jsx(
|
|
50
|
+
B,
|
|
51
|
+
{
|
|
52
|
+
startIcon: o,
|
|
53
|
+
"aria-label": "Select option",
|
|
54
|
+
placeholder: I,
|
|
55
|
+
disabled: b,
|
|
56
|
+
valueLabel: N,
|
|
57
|
+
onClear: () => f(""),
|
|
58
|
+
isClearable: k,
|
|
59
|
+
isLoading: C,
|
|
60
|
+
error: T
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
children: /* @__PURE__ */ s.jsxs(G, { children: [
|
|
64
|
+
j && /* @__PURE__ */ s.jsx(
|
|
65
|
+
w,
|
|
66
|
+
{
|
|
67
|
+
ref: h,
|
|
68
|
+
startIcon: Y,
|
|
69
|
+
"aria-label": "Search options",
|
|
70
|
+
placeholder: "Search…",
|
|
71
|
+
role: "searchbox",
|
|
72
|
+
value: g,
|
|
73
|
+
onKeyDown: (e) => e.stopPropagation(),
|
|
74
|
+
onChange: P,
|
|
75
|
+
className: X.searchField
|
|
76
|
+
}
|
|
77
|
+
),
|
|
78
|
+
/* @__PURE__ */ s.jsxs(J, { disabled: C, children: [
|
|
79
|
+
v ? Object.entries(v).map(([e, c]) => /* @__PURE__ */ s.jsxs(z, { children: [
|
|
80
|
+
/* @__PURE__ */ s.jsx(Z, { label: e }),
|
|
81
|
+
c.map((l) => /* @__PURE__ */ s.jsx(
|
|
82
|
+
x,
|
|
83
|
+
{
|
|
84
|
+
onClick: () => f(l == null ? void 0 : l.value),
|
|
85
|
+
isSelected: l.value === r,
|
|
86
|
+
...l
|
|
87
|
+
},
|
|
88
|
+
(l == null ? void 0 : l.value) ?? l.label
|
|
89
|
+
))
|
|
90
|
+
] }, e)) : u.map((e) => /* @__PURE__ */ s.jsx(
|
|
91
|
+
x,
|
|
92
|
+
{
|
|
93
|
+
onClick: () => f(e == null ? void 0 : e.value),
|
|
94
|
+
isSelected: e.value === r,
|
|
95
|
+
...e
|
|
96
|
+
},
|
|
97
|
+
(e == null ? void 0 : e.value) ?? e.label
|
|
98
|
+
)),
|
|
99
|
+
t.length === 0 && /* @__PURE__ */ s.jsx(x, { disabled: !0, value: "empty", label: p })
|
|
100
|
+
] })
|
|
101
|
+
] })
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
i && /* @__PURE__ */ s.jsx(H, { message: i, variant: "error" })
|
|
105
|
+
] });
|
|
106
|
+
};
|
|
107
|
+
export {
|
|
108
|
+
se as S
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=SingleSelectField-ammJ2Zc2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleSelectField-ammJ2Zc2.js","sources":["../src/remarkable-ui/components/editors/selects/SingleSelectField/SingleSelectField.tsx"],"sourcesContent":["import { FC, Fragment, useEffect, useMemo, useRef, useState } from 'react';\nimport { SelectFieldTrigger } from '../shared/SelectFieldTrigger/SelectFieldTrigger';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport {\n SelectFieldContent,\n SelectFieldContentList,\n} from '../shared/SelectFieldContent/SelectFieldContent';\nimport {\n SelectListOption,\n SelectListOptionProps,\n SelectListOptionPropsWithCategory,\n} from '../shared/SelectFieldContent/SelectFieldOptions/SelectFieldOption/SelectFieldOption';\nimport { SelectFieldCategory } from '../shared/SelectFieldContent/SelectFieldOptions/SelectFieldCategory/SelectFieldCategory';\nimport { groupOptionsByCategory } from '../shared/SelectFieldContent/SelectFieldContent.utils';\nimport { IconSearch, TablerIcon } from '@tabler/icons-react';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\nimport { FieldHeader, FieldHeaderProps } from '../../../shared/Field/FieldHeader';\nimport styles from '../selects.module.css';\nimport { FieldFeedback } from '../../../shared/Field/FieldFeedback';\nimport { TextField } from '../../inputs/TextField/TextField';\nimport { debounce } from '../../../../utils/debounce.utils';\n\nexport type SingleSelectFieldProps = {\n options: (SelectListOptionProps | SelectListOptionPropsWithCategory)[];\n startIcon?: TablerIcon;\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n searchable?: boolean;\n clearable?: boolean;\n isLoading?: boolean;\n noOptionsMessage?: string;\n onChange: (value: string) => void;\n onSearch?: (search: string) => void;\n error?: boolean;\n errorMessage?: string;\n} & FieldHeaderProps;\n\nexport const SingleSelectField: FC<SingleSelectFieldProps> = ({\n label,\n required,\n value = '',\n startIcon,\n options,\n disabled,\n placeholder,\n searchable,\n clearable,\n isLoading,\n noOptionsMessage = 'No options available',\n onChange,\n onSearch,\n error = false,\n errorMessage,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [selectedLabel, setSelectedLabel] = useState<string>(value);\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n if (!value) {\n setSelectedLabel('');\n return;\n }\n\n const option = options.find((opt) => opt.value === value);\n if (option) {\n setSelectedLabel(option.label);\n }\n }, [value, options]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n searchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const groupedOptions = useMemo(() => groupOptionsByCategory(displayOptions), [displayOptions]);\n\n const handleChange = (newValue?: string) => {\n setSearchValue('');\n onChange(newValue ?? '');\n onSearch?.('');\n\n if (newValue === '') {\n setSelectedLabel('');\n } else {\n const option = options.find((opt) => opt.value === newValue);\n if (option) setSelectedLabel(option.label);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n const hasError = error || !!errorMessage;\n\n return (\n <div>\n <FieldHeader label={label} required={required} />\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectFieldTrigger\n startIcon={startIcon}\n aria-label=\"Select option\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={() => handleChange('')}\n isClearable={clearable}\n isLoading={isLoading}\n error={hasError}\n />\n }\n >\n <SelectFieldContent>\n {searchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n className={styles.searchField}\n />\n )}\n <SelectFieldContentList disabled={isLoading}>\n {groupedOptions\n ? Object.entries(groupedOptions).map(([category, categoryOptions]) => (\n <Fragment key={category}>\n <SelectFieldCategory label={category} />\n {categoryOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n </Fragment>\n ))\n : displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n {options.length === 0 && (\n <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />\n )}\n </SelectFieldContentList>\n </SelectFieldContent>\n </Dropdown>\n {errorMessage && <FieldFeedback message={errorMessage} variant=\"error\" />}\n </div>\n );\n};\n"],"names":["SingleSelectField","label","required","value","startIcon","options","disabled","placeholder","searchable","clearable","isLoading","noOptionsMessage","onChange","onSearch","error","errorMessage","isOpen","setIsOpen","useState","searchValue","setSearchValue","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","option","opt","debouncedSearch","useMemo","debounce","displayOptions","groupedOptions","groupOptionsByCategory","handleChange","newValue","handleSearch","newSearch","hasError","jsx","FieldHeader","Dropdown","SelectFieldTrigger","SelectFieldContent","TextField","IconSearch","styles","jsxs","SelectFieldContentList","category","categoryOptions","Fragment","SelectFieldCategory","SelectListOption","FieldFeedback"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { defineComponent as i } from "@embeddable.com/react";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { V as n, l as r } from "./TablePaginated-pVrIngVd.js";
|
|
3
|
+
import { d as s, u as d, t as m, b as c, M as u } from "./component.constants-VpbbPSIL.js";
|
|
4
|
+
import { M as p, S as g } from "./index-B7Pv2FEr.js";
|
|
4
5
|
const f = {
|
|
5
6
|
name: "SingleSelectFieldPro",
|
|
6
7
|
label: "Single Select Field",
|
|
@@ -9,10 +10,10 @@ const f = {
|
|
|
9
10
|
defaultHeight: 120,
|
|
10
11
|
inputs: [
|
|
11
12
|
s,
|
|
12
|
-
{ ...
|
|
13
|
-
d,
|
|
13
|
+
{ ...d, label: "Dimension (to load Dropdown values)" },
|
|
14
14
|
m,
|
|
15
|
-
|
|
15
|
+
c,
|
|
16
|
+
{ ...u, defaultValue: "Select value..." },
|
|
16
17
|
{
|
|
17
18
|
name: "maxOptions",
|
|
18
19
|
type: "number",
|
|
@@ -60,14 +61,14 @@ const f = {
|
|
|
60
61
|
events: [{ name: "onChange", property: "value" }]
|
|
61
62
|
}
|
|
62
63
|
]
|
|
63
|
-
},
|
|
64
|
+
}, V = i(g, f, {
|
|
64
65
|
props: (e, [a, l]) => {
|
|
65
66
|
const t = e.dimension.nativeType === "string" ? "contains" : "equals";
|
|
66
67
|
return {
|
|
67
68
|
...e,
|
|
68
69
|
maxOptions: e.maxOptions,
|
|
69
70
|
setSearchValue: (o) => l({ searchValue: o }),
|
|
70
|
-
results:
|
|
71
|
+
results: r({
|
|
71
72
|
limit: e.maxOptions,
|
|
72
73
|
from: e.dataset,
|
|
73
74
|
select: [e.dimension, e.optionalSecondDimension].filter(Boolean),
|
|
@@ -88,7 +89,7 @@ const f = {
|
|
|
88
89
|
}
|
|
89
90
|
});
|
|
90
91
|
export {
|
|
91
|
-
|
|
92
|
+
V as default,
|
|
92
93
|
f as meta
|
|
93
94
|
};
|
|
94
95
|
//# sourceMappingURL=SingleSelectFieldPro.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleSelectFieldPro.js","sources":["../src/remarkable-pro/components/editors/SingleSelectFieldPro/SingleSelectFieldPro.emb.ts"],"sourcesContent":["import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData } from '@embeddable.com/core';\nimport { dataset, description, dimension, placeholder, title } from '../../component.constants';\nimport SingleSelectFieldPro, { MAX_OPTIONS } from '.';\n\nexport const meta = {\n name: 'SingleSelectFieldPro',\n label: 'Single Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n dataset,\n { ...dimension, label: 'Dimension (to load Dropdown values)' },\n title,\n description,\n { ...placeholder, defaultValue: 'Select value...' },\n {\n name: 'maxOptions',\n type: 'number',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n name: 'selectedValue',\n type: 'string',\n label: 'Selected Value',\n category: 'Pre-configured Variables',\n },\n {\n type: '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\ntype SingleSelectDropdownState = {\n searchValue?: string;\n};\n\nexport default defineComponent(SingleSelectFieldPro, meta, {\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n ) => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue: searchValue }),\n results: loadData({\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [\n {\n operator,\n property: inputs.dimension,\n value: state.searchValue,\n },\n ]\n : undefined,\n }),\n };\n },\n events: {\n onChange: (selectedValue: string) => {\n return {\n value: selectedValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["meta","dataset","dimension","title","description","placeholder","MAX_OPTIONS","Value","SingleSelectFieldPro_emb","defineComponent","SingleSelectFieldPro","inputs","state","setState","operator","searchValue","loadData","selectedValue"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SingleSelectFieldPro.js","sources":["../src/remarkable-pro/components/editors/SingleSelectFieldPro/SingleSelectFieldPro.emb.ts"],"sourcesContent":["import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport { Value, loadData } from '@embeddable.com/core';\nimport { dataset, description, dimension, placeholder, title } from '../../component.constants';\nimport SingleSelectFieldPro, { MAX_OPTIONS } from '.';\n\nexport const meta = {\n name: 'SingleSelectFieldPro',\n label: 'Single Select Field',\n category: 'Dropdowns',\n defaultWidth: 300,\n defaultHeight: 120,\n inputs: [\n dataset,\n { ...dimension, label: 'Dimension (to load Dropdown values)' },\n title,\n description,\n { ...placeholder, defaultValue: 'Select value...' },\n {\n name: 'maxOptions',\n type: 'number',\n label: 'Maximum options',\n category: 'Component Settings',\n defaultValue: MAX_OPTIONS,\n },\n {\n name: 'selectedValue',\n type: 'string',\n label: 'Selected Value',\n category: 'Pre-configured Variables',\n },\n {\n type: '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\ntype SingleSelectDropdownState = {\n searchValue?: string;\n};\n\nexport default defineComponent(SingleSelectFieldPro, meta, {\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [SingleSelectDropdownState, (state: SingleSelectDropdownState) => void],\n ) => {\n const operator = inputs.dimension.nativeType === 'string' ? 'contains' : 'equals';\n return {\n ...inputs,\n maxOptions: inputs.maxOptions,\n setSearchValue: (searchValue: string) => setState({ searchValue: searchValue }),\n results: loadData({\n limit: inputs.maxOptions,\n from: inputs.dataset,\n select: [inputs.dimension, inputs.optionalSecondDimension].filter(Boolean),\n filters: state?.searchValue\n ? [\n {\n operator,\n property: inputs.dimension,\n value: state.searchValue,\n },\n ]\n : undefined,\n }),\n };\n },\n events: {\n onChange: (selectedValue: string) => {\n return {\n value: selectedValue || Value.noFilter(),\n };\n },\n },\n});\n"],"names":["meta","dataset","dimension","title","description","placeholder","MAX_OPTIONS","Value","SingleSelectFieldPro_emb","defineComponent","SingleSelectFieldPro","inputs","state","setState","operator","searchValue","loadData","selectedValue"],"mappings":";;;;AAKO,MAAMA,IAAO;AAAA,EAClB,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,cAAc;AAAA,EACd,eAAe;AAAA,EACf,QAAQ;AAAA,IACNC;AAAA,IACA,EAAE,GAAGC,GAAW,OAAO,sCAAA;AAAA,IACvBC;AAAA,IACAC;AAAA,IACA,EAAE,GAAGC,GAAa,cAAc,kBAAA;AAAA,IAChC;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,cAAcC;AAAA,IAAA;AAAA,IAEhB;AAAA,MACE,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,MAAM;AAAA,MACN,QAAQ;AAAA,QACN,SAAS;AAAA,MAAA;AAAA,MAEX,UAAU;AAAA,MACV,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,IAAA;AAAA,EACf;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,eAAe;AAAA,MACxB,QAAQ,CAAC,EAAE,MAAM,YAAY,UAAU,SAAS;AAAA,IAAA;AAAA,EAClD;AAEJ,GAMAC,IAAeC,EAAgBC,GAAsBV,GAAM;AAAA,EACzD,OAAO,CACLW,GACA,CAACC,GAAOC,CAAQ,MACb;AACH,UAAMC,IAAWH,EAAO,UAAU,eAAe,WAAW,aAAa;AACzE,WAAO;AAAA,MACL,GAAGA;AAAA,MACH,YAAYA,EAAO;AAAA,MACnB,gBAAgB,CAACI,MAAwBF,EAAS,EAAE,aAAAE,GAA0B;AAAA,MAC9E,SAASC,EAAS;AAAA,QAChB,OAAOL,EAAO;AAAA,QACd,MAAMA,EAAO;AAAA,QACb,QAAQ,CAACA,EAAO,WAAWA,EAAO,uBAAuB,EAAE,OAAO,OAAO;AAAA,QACzE,SAASC,KAAA,QAAAA,EAAO,cACZ;AAAA,UACE;AAAA,YACE,UAAAE;AAAA,YACA,UAAUH,EAAO;AAAA,YACjB,OAAOC,EAAM;AAAA,UAAA;AAAA,QACf,IAEF;AAAA,MAAA,CACL;AAAA,IAAA;AAAA,EAEL;AAAA,EACA,QAAQ;AAAA,IACN,UAAU,CAACK,OACF;AAAA,MACL,OAAOA,KAAiBV,EAAM,SAAA;AAAA,IAAS;AAAA,EAE3C;AAEJ,CAAC;"}
|