@embeddable.com/remarkable-ui 0.1.29 → 0.1.31
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 +4 -4
- package/dist/BarChartDefaultPro.js +4 -4
- package/dist/BarChartGroupedHorizontalPro.js +4 -4
- package/dist/BarChartGroupedPro.js +4 -4
- package/dist/BarChartStackedHorizontalPro.js +4 -4
- package/dist/BarChartStackedPro.js +4 -4
- package/dist/BaseButton-Bf7IgH4E.js +24 -0
- package/dist/{BaseButton-MxdswwJX.js.map → BaseButton-Bf7IgH4E.js.map} +1 -1
- package/dist/{ChartCard-Duhwxov3.js → ChartCard-CACbKXZ7.js} +5 -5
- package/dist/{ChartCard-Duhwxov3.js.map → ChartCard-CACbKXZ7.js.map} +1 -1
- package/dist/{ComparisonPeriod.type.emb-BsVeAHPK.js → ComparisonPeriod.type.emb-Q_A2MmQY.js} +2 -2
- package/dist/{ComparisonPeriod.type.emb-BsVeAHPK.js.map → ComparisonPeriod.type.emb-Q_A2MmQY.js.map} +1 -1
- package/dist/ComparisonPeriodSelectFieldPro.js +4 -4
- package/dist/DateRangeSelectFieldPro.js +2 -2
- package/dist/DonutChartPro.js +2 -2
- package/dist/DonutLabelChartPro.js +2 -2
- package/dist/{EditorCard-CTCoSiam.js → EditorCard-CNU8sUaR.js} +2 -2
- package/dist/{EditorCard-CTCoSiam.js.map → EditorCard-CNU8sUaR.js.map} +1 -1
- package/dist/{KpiChart-DINLNXzY.js → KpiChart-C-SmtMQp.js} +2 -2
- package/dist/{KpiChart-DINLNXzY.js.map → KpiChart-C-SmtMQp.js.map} +1 -1
- package/dist/KpiChartNumberComparisonPro.js +15 -15
- package/dist/KpiChartNumberComparisonPro.js.map +1 -1
- package/dist/KpiChartNumberPro.js +4 -4
- package/dist/LineChartComparisonDefaultPro.js +6 -6
- package/dist/LineChartDefaultPro.js +4 -4
- package/dist/LineChartGroupedPro.js +4 -4
- package/dist/MultiSelectFieldPro.js +2 -2
- package/dist/PieChartPro.js +2 -2
- package/dist/{SingleSelectField-J0EWFhqx.js → SingleSelectField-AZ79m6bQ.js} +3 -3
- package/dist/{SingleSelectField-J0EWFhqx.js.map → SingleSelectField-AZ79m6bQ.js.map} +1 -1
- package/dist/SingleSelectFieldPro.js +2 -2
- package/dist/{bars.utils-DMaJhXB4.js → bars.utils-BaxcPPid.js} +4 -4
- package/dist/{bars.utils-DMaJhXB4.js.map → bars.utils-BaxcPPid.js.map} +1 -1
- package/dist/{charts.newFillGaps.hooks-CJLaShd4.js → charts.newFillGaps.hooks-8oF8pYjr.js} +20 -20
- package/dist/charts.newFillGaps.hooks-8oF8pYjr.js.map +1 -0
- package/dist/{charts.utils-CKlua6UT.js → charts.utils-CQtEx-IN.js} +3 -3
- package/dist/{charts.utils-CKlua6UT.js.map → charts.utils-CQtEx-IN.js.map} +1 -1
- package/dist/{component.constants-XB5gaz8Z.js → component.constants-B1QqUi2G.js} +6 -6
- package/dist/{component.constants-XB5gaz8Z.js.map → component.constants-B1QqUi2G.js.map} +1 -1
- package/dist/embeddable-components.json +10 -10
- package/dist/{formatter.utils-BmqMNSUB.js → formatter.utils-B3HZzPUm.js} +2 -2
- package/dist/{formatter.utils-BmqMNSUB.js.map → formatter.utils-B3HZzPUm.js.map} +1 -1
- package/dist/{index-CrfsmcHa.js → index-BcXLOYYi.js} +5 -5
- package/dist/{index-CrfsmcHa.js.map → index-BcXLOYYi.js.map} +1 -1
- package/dist/{index-jl_48we-.js → index-DXHlr-gm.js} +19 -17
- package/dist/{index-jl_48we-.js.map → index-DXHlr-gm.js.map} +1 -1
- package/dist/{index-E75P_2R2.js → index-DyMUkLDE.js} +4 -4
- package/dist/{index-E75P_2R2.js.map → index-DyMUkLDE.js.map} +1 -1
- package/dist/{index-DK57EImz.js → index-Dye21BCa.js} +5 -5
- package/dist/{index-DK57EImz.js.map → index-Dye21BCa.js.map} +1 -1
- package/dist/{index-vk45FCxb.js → index-Fs7N8msy.js} +5 -5
- package/dist/{index-vk45FCxb.js.map → index-Fs7N8msy.js.map} +1 -1
- package/dist/{index-CydUf2Tu.js → index-SdQVlaEz.js} +4 -4
- package/dist/{index-CydUf2Tu.js.map → index-SdQVlaEz.js.map} +1 -1
- package/dist/index.js +213 -198
- package/dist/index.js.map +1 -1
- package/dist/{pies.utils-DotuA_5l.js → pies.utils-CPE4fxFn.js} +4 -4
- package/dist/{pies.utils-DotuA_5l.js.map → pies.utils-CPE4fxFn.js.map} +1 -1
- package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
- package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/index.d.ts.map +1 -1
- package/dist/remarkable-ui/index.d.ts +1 -0
- package/dist/remarkable-ui/index.d.ts.map +1 -1
- package/dist/remarkable-ui/shared/GhostButton/GhostButton.d.ts +9 -0
- package/dist/remarkable-ui/shared/GhostButton/GhostButton.d.ts.map +1 -0
- package/dist/remarkable-ui/shared/GhostButton/GhostButton.stories.d.ts +44 -0
- package/dist/remarkable-ui/shared/GhostButton/GhostButton.stories.d.ts.map +1 -0
- package/dist/remarkable-ui.css +1 -1
- package/dist/{timeRange.utils-Dtg_QyCm.js → timeRange.utils-C0iy3N-l.js} +2 -2
- package/dist/{timeRange.utils-Dtg_QyCm.js.map → timeRange.utils-C0iy3N-l.js.map} +1 -1
- package/package.json +1 -1
- package/dist/BaseButton-MxdswwJX.js +0 -24
- package/dist/charts.newFillGaps.hooks-CJLaShd4.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as L, r as w, m as M, j as l, d as V, a as y, b as z, t as P, c as k, s as v, e as H, f as R, g as j, x as I, y as S, h as T, k as Y, l as F, n as E, V as G, o as O } from "./component.constants-
|
|
1
|
+
import { i as L, r as w, m as M, j as l, d as V, a as y, b as z, t as P, c as k, s as v, e as H, f as R, g as j, x as I, y as S, h as T, k as Y, l as F, n as E, V as G, o as O } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import { useTheme as W, defineComponent as _ } from "@embeddable.com/react";
|
|
3
|
-
import { C as q } from "./ChartCard-
|
|
4
|
-
import { g as J, a as K, B as N } from "./bars.utils-
|
|
5
|
-
import { u as Q } from "./charts.newFillGaps.hooks-
|
|
3
|
+
import { C as q } from "./ChartCard-CACbKXZ7.js";
|
|
4
|
+
import { g as J, a as K, B as N } from "./bars.utils-BaxcPPid.js";
|
|
5
|
+
import { u as Q } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
6
6
|
const U = (a) => {
|
|
7
7
|
var i, n;
|
|
8
8
|
const s = W();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as L, r as y, m as w, j as l, d as M, a as V, b as P, t as v, c as k, s as R, e as j, f as I, g as S, x as T, y as X, p as F, q, u as z, v as E, V as G, o as O } from "./component.constants-
|
|
1
|
+
import { i as L, r as y, m as w, j as l, d as M, a as V, b as P, t as v, c as k, s as R, e as j, f as I, g as S, x as T, y as X, p as F, q, u as z, v as E, V as G, o as O } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import { useTheme as W, defineComponent as _ } from "@embeddable.com/react";
|
|
3
|
-
import { C as H } from "./ChartCard-
|
|
4
|
-
import { g as J, a as K, B as N } from "./bars.utils-
|
|
5
|
-
import { u as Q } from "./charts.newFillGaps.hooks-
|
|
3
|
+
import { C as H } from "./ChartCard-CACbKXZ7.js";
|
|
4
|
+
import { g as J, a as K, B as N } from "./bars.utils-BaxcPPid.js";
|
|
5
|
+
import { u as Q } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
6
6
|
const U = (a) => {
|
|
7
7
|
var o, n;
|
|
8
8
|
const s = W();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as L, r as w, m as k, j as m, d as z, w as G, b as P, z as R, t as M, c as H, A as j, s as v, e as S, f as T, g as F, x as Y, y as E, h as I, k as O, l as W, V as u, o as _ } from "./component.constants-
|
|
1
|
+
import { i as L, r as w, m as k, j as m, d as z, w as G, b as P, z as R, t as M, c as H, A as j, s as v, e as S, f as T, g as F, x as Y, y as E, h as I, k as O, l as W, V as u, o as _ } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import { useTheme as q, defineComponent as J } from "@embeddable.com/react";
|
|
3
|
-
import { C as K } from "./ChartCard-
|
|
4
|
-
import { b as N, a as Q, B as U } from "./bars.utils-
|
|
5
|
-
import { u as X } from "./charts.newFillGaps.hooks-
|
|
3
|
+
import { C as K } from "./ChartCard-CACbKXZ7.js";
|
|
4
|
+
import { b as N, a as Q, B as U } from "./bars.utils-BaxcPPid.js";
|
|
5
|
+
import { u as X } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
6
6
|
const Z = (e) => {
|
|
7
7
|
var n, l;
|
|
8
8
|
const a = q();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as L, r as w, m as G, j as m, d as k, w as P, b as R, z as M, t as j, c as v, A as S, s as T, e as F, f as X, g as z, x as q, y as E, p as I, q as O, u as W, V as u, o as _ } from "./component.constants-
|
|
1
|
+
import { i as L, r as w, m as G, j as m, d as k, w as P, b as R, z as M, t as j, c as v, A as S, s as T, e as F, f as X, g as z, x as q, y as E, p as I, q as O, u as W, V as u, o as _ } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import { useTheme as H, defineComponent as J } from "@embeddable.com/react";
|
|
3
|
-
import { C as K } from "./ChartCard-
|
|
4
|
-
import { b as N, a as Q, B as U } from "./bars.utils-
|
|
5
|
-
import { u as Y } from "./charts.newFillGaps.hooks-
|
|
3
|
+
import { C as K } from "./ChartCard-CACbKXZ7.js";
|
|
4
|
+
import { b as N, a as Q, B as U } from "./bars.utils-BaxcPPid.js";
|
|
5
|
+
import { u as Y } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
6
6
|
const Z = (e) => {
|
|
7
7
|
var n, l;
|
|
8
8
|
const a = H();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as L, r as f, m as w, j as m, d as S, w as z, b as P, z as R, t as M, c as H, A as T, s as j, e as v, f as F, g as G, x as Y, y as E, h as I, k as O, l as W, B as _, V as u, o as q } from "./component.constants-
|
|
1
|
+
import { i as L, r as f, m as w, j as m, d as S, w as z, b as P, z as R, t as M, c as H, A as T, s as j, e as v, f as F, g as G, x as Y, y as E, h as I, k as O, l as W, B as _, V as u, o as q } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import { useTheme as J, defineComponent as K } from "@embeddable.com/react";
|
|
3
|
-
import { C as N } from "./ChartCard-
|
|
4
|
-
import { b as Q, a as U, B as X } from "./bars.utils-
|
|
5
|
-
import { u as Z } from "./charts.newFillGaps.hooks-
|
|
3
|
+
import { C as N } from "./ChartCard-CACbKXZ7.js";
|
|
4
|
+
import { b as Q, a as U, B as X } from "./bars.utils-BaxcPPid.js";
|
|
5
|
+
import { u as Z } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
6
6
|
const $ = (a) => {
|
|
7
7
|
var n, l;
|
|
8
8
|
const e = J();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as D, r as L, m as w, j as m, d as S, w as P, b as R, z as M, t as T, c as j, A as v, s as F, e as G, f as X, g as z, x as q, y as E, p as I, q as O, u as W, B as _, V as u, o as H } from "./component.constants-
|
|
1
|
+
import { i as D, r as L, m as w, j as m, d as S, w as P, b as R, z as M, t as T, c as j, A as v, s as F, e as G, f as X, g as z, x as q, y as E, p as I, q as O, u as W, B as _, V as u, o as H } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import { useTheme as J, defineComponent as K } from "@embeddable.com/react";
|
|
3
|
-
import { C as N } from "./ChartCard-
|
|
4
|
-
import { b as Q, a as U, B as Y } from "./bars.utils-
|
|
5
|
-
import { u as Z } from "./charts.newFillGaps.hooks-
|
|
3
|
+
import { C as N } from "./ChartCard-CACbKXZ7.js";
|
|
4
|
+
import { b as Q, a as U, B as Y } from "./bars.utils-BaxcPPid.js";
|
|
5
|
+
import { u as Z } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
6
6
|
const $ = (a) => {
|
|
7
7
|
var n, l;
|
|
8
8
|
const e = J();
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { j as c, a6 as e } from "./component.constants-B1QqUi2G.js";
|
|
2
|
+
const m = "_baseButton_zbrmc_1", _ = "_primary_zbrmc_15", i = "_secondary_zbrmc_34", b = "_icon_zbrmc_55", s = {
|
|
3
|
+
baseButton: m,
|
|
4
|
+
primary: _,
|
|
5
|
+
secondary: i,
|
|
6
|
+
icon: b
|
|
7
|
+
}, y = ({
|
|
8
|
+
variant: t = "primary",
|
|
9
|
+
size: o = "medium",
|
|
10
|
+
className: r,
|
|
11
|
+
children: n,
|
|
12
|
+
...a
|
|
13
|
+
}) => /* @__PURE__ */ c.jsx(
|
|
14
|
+
"button",
|
|
15
|
+
{
|
|
16
|
+
className: e(s.baseButton, s[t], s[o], r),
|
|
17
|
+
...a,
|
|
18
|
+
children: n
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
export {
|
|
22
|
+
y as B
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=BaseButton-Bf7IgH4E.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseButton-
|
|
1
|
+
{"version":3,"file":"BaseButton-Bf7IgH4E.js","sources":["../src/remarkable-ui/shared/BaseButton/BaseButton.tsx"],"sourcesContent":["import clsx from 'clsx';\nimport React from 'react';\nimport styles from './BaseButton.module.css';\n\nexport type BaseButtonProps = {\n variant?: 'primary' | 'secondary';\n size?: 'small' | 'medium';\n ref?: React.Ref<HTMLButtonElement>;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const BaseButton: React.FC<BaseButtonProps> = ({\n variant = 'primary',\n size = 'medium',\n className,\n children,\n ...props\n}) => {\n return (\n <button\n className={clsx(styles.baseButton, styles[variant], styles[size], className)}\n {...props}\n >\n {children}\n </button>\n );\n};\n"],"names":["BaseButton","variant","size","className","children","props","jsx","clsx","styles"],"mappings":";;;;;;GAUaA,IAAwC,CAAC;AAAA,EACpD,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,MAEIC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAKC,EAAO,YAAYA,EAAOP,CAAO,GAAGO,EAAON,CAAI,GAAGC,CAAS;AAAA,IAC1E,GAAGE;AAAA,IAEH,UAAAD;AAAA,EAAA;AAAA;"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { a4 as p, j as t, a6 as k, aB as y, i as x, ad as v, ag as B, U as l, ae as N,
|
|
1
|
+
import { a4 as p, j as t, a6 as k, aB as y, i as x, ad as v, ag as B, U as l, ae as N, a8 as I, a9 as L, ab as S, ac as C, aC as R } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import D, { useRef as M } from "react";
|
|
3
3
|
import { useTheme as f } from "@embeddable.com/react";
|
|
4
|
-
import { B as $ } from "./BaseButton-
|
|
4
|
+
import { B as $ } from "./BaseButton-Bf7IgH4E.js";
|
|
5
5
|
/**
|
|
6
6
|
* @license @tabler/icons-react v3.34.1 - MIT
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license.
|
|
9
9
|
* See the LICENSE file in the root directory of this source tree.
|
|
10
10
|
*/
|
|
11
|
-
const
|
|
11
|
+
const b = [["path", { d: "M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", key: "svg-0" }], ["path", { d: "M12 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", key: "svg-1" }], ["path", { d: "M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", key: "svg-2" }]], T = p("outline", "dots-vertical", "DotsVertical", b), z = "_skeleton_12e7h_10", P = {
|
|
12
12
|
skeleton: z
|
|
13
13
|
}, w = () => /* @__PURE__ */ t.jsx("div", { className: P.skeleton }), A = "_iconButton_134uf_1", E = "_icon_134uf_1", _ = {
|
|
14
14
|
iconButton: A,
|
|
@@ -40,7 +40,7 @@ const T = [["path", { d: "M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", key: "svg-0
|
|
|
40
40
|
{
|
|
41
41
|
side: "bottom",
|
|
42
42
|
align: "end",
|
|
43
|
-
triggerComponent: o ? /* @__PURE__ */ t.jsx(j, {}) : /* @__PURE__ */ t.jsx(V, { icon:
|
|
43
|
+
triggerComponent: o ? /* @__PURE__ */ t.jsx(j, {}) : /* @__PURE__ */ t.jsx(V, { icon: T }),
|
|
44
44
|
children: /* @__PURE__ */ t.jsx(B, { className: G.list, autoFocus: !0, children: r.map((s, m) => {
|
|
45
45
|
const g = l.t(s.labelKey);
|
|
46
46
|
return /* @__PURE__ */ t.jsx(
|
|
@@ -106,4 +106,4 @@ export {
|
|
|
106
106
|
V as I,
|
|
107
107
|
w as S
|
|
108
108
|
};
|
|
109
|
-
//# sourceMappingURL=ChartCard-
|
|
109
|
+
//# sourceMappingURL=ChartCard-CACbKXZ7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartCard-Duhwxov3.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconDotsVertical.mjs","../src/remarkable-ui/shared/Skeleton/Skeleton.tsx","../src/remarkable-ui/shared/IconButton/IconButton.tsx","../src/remarkable-pro/components/charts/shared/ChartCard/ChartCardLoading/ChartCardLoading.tsx","../src/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.tsx","../src/remarkable-pro/components/charts/shared/ChartCard/ChartCard.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-2\" }]];\nconst IconDotsVertical = createReactComponent(\"outline\", \"dots-vertical\", \"DotsVertical\", __iconNode);\n\nexport { __iconNode, IconDotsVertical as default };\n//# sourceMappingURL=IconDotsVertical.mjs.map\n","import styles from './Skeleton.module.css';\n\nexport const Skeleton = () => {\n return <div className={styles.skeleton} />;\n};\n","import clsx from 'clsx';\nimport React from 'react';\nimport styles from './IconButton.module.css';\nimport { TablerIcon } from '@tabler/icons-react';\nimport { BaseButton, type BaseButtonProps } from '../BaseButton';\n\ntype IconButtonProps = Omit<BaseButtonProps, 'variant'> & {\n className?: string;\n icon: TablerIcon;\n};\n\nexport const IconButton: React.FC<IconButtonProps> = ({ icon: Icon, className, ...props }) => {\n return (\n <BaseButton variant=\"secondary\" className={clsx(styles.iconButton, className)} {...props}>\n <Icon className={styles.icon} />\n </BaseButton>\n );\n};\n","import { IconLoader2 } from '@tabler/icons-react';\nimport styles from './ChartCardLoading.module.css';\n\nexport const ChartCardLoading = () => <IconLoader2 className={styles.loading} />;\n","import { IconDotsVertical } from '@tabler/icons-react';\nimport React from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { ChartCardLoading } from '../ChartCardLoading/ChartCardLoading';\nimport { i18n, i18nSetup } from '../../../../../theme/i18n/i18n';\nimport { Theme } from '../../../../../theme/theme.types';\nimport {\n Dropdown,\n IconButton,\n SelectList,\n SelectListOption,\n} from '../../../../../../remarkable-ui';\nimport { ChartCardMenuProOptionOnClickProps } from './ChartCardMenuPro.types';\nimport styles from './ChartCardMenuPro.module.css';\n\ntype ChartCardMenuProProps = Omit<ChartCardMenuProOptionOnClickProps, 'theme'>;\n\nexport const ChartCardMenuPro: React.FC<ChartCardMenuProProps> = (props) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isLoading, setIsLoading] = React.useState(false);\n\n const options = theme.charts?.chartCardMenuPro?.options ?? [];\n\n if (options.length === 0) {\n return null;\n }\n\n const startAction = (onClick: () => void | Promise<void>) => {\n setIsLoading(true);\n setTimeout(() => {\n Promise.resolve(onClick()).finally(() => setIsLoading(false));\n }, 100);\n };\n\n const handleExport = (onClick: (props: ChartCardMenuProOptionOnClickProps) => void) => {\n startAction(() => onClick({ ...props, theme }));\n };\n\n return (\n <Dropdown\n side=\"bottom\"\n align=\"end\"\n triggerComponent={isLoading ? <ChartCardLoading /> : <IconButton icon={IconDotsVertical} />}\n >\n <SelectList className={styles.list} autoFocus>\n {options.map((option, index) => {\n const label = i18n.t(option.labelKey);\n\n return (\n <SelectListOption\n key={index}\n label={label}\n onClick={() => handleExport(option.onClick)}\n startIcon={\n option.iconSrc ? <img src={option.iconSrc} alt={`${label} icon`} /> : undefined\n }\n />\n );\n })}\n </SelectList>\n </Dropdown>\n );\n};\n","import React, { CSSProperties, FC, useRef } from 'react';\nimport { IconAlertCircle } from '@tabler/icons-react';\nimport {\n Card,\n CardContent,\n CardContentInfo,\n CardHeader,\n Skeleton,\n} from '../../../../../remarkable-ui';\nimport styles from './ChartCard.module.css';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { ChartCardLoading } from './ChartCardLoading/ChartCardLoading';\nimport { ChartCardMenuPro } from './ChartCardMenuPro/ChartCardMenuPro';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\n\ntype ChartCardProps = {\n title: string;\n subtitle?: string;\n children: React.ReactNode;\n data: DataResponse;\n isLoading?: boolean;\n errorMessage?: string;\n style?: CSSProperties;\n dimensionsAndMeasures?: (Dimension | Measure)[];\n};\n\nexport const ChartCard: FC<ChartCardProps> = ({\n title,\n subtitle,\n children,\n data,\n errorMessage,\n dimensionsAndMeasures = [],\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const chartRef = useRef<HTMLDivElement>(null);\n\n const hasData = data.data && data.data.length > 0;\n\n const getDisplay = () => {\n if (!hasData && data.isLoading) {\n return <Skeleton />;\n }\n\n if (errorMessage) {\n return (\n <CardContentInfo\n className={styles.error}\n icon={IconAlertCircle}\n title={i18n.t('charts.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n if (!hasData) {\n return (\n <CardContentInfo\n title={i18n.t('charts.emptyTitle')}\n message={i18n.t('charts.emptyMessage')}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card ref={chartRef} className={styles.chartCard} {...props}>\n <CardHeader\n title={title}\n subtitle={subtitle}\n rightContent={\n <div data-no-export className={styles.rightContent}>\n {data.isLoading ? (\n <ChartCardLoading />\n ) : (\n <ChartCardMenuPro\n title={title}\n containerRef={chartRef}\n data={data.data}\n dimensionsAndMeasures={dimensionsAndMeasures}\n />\n )}\n </div>\n }\n />\n\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["__iconNode","IconDotsVertical","createReactComponent","Skeleton","jsx","styles","IconButton","Icon","className","props","BaseButton","clsx","ChartCardLoading","IconLoader2","ChartCardMenuPro","theme","useTheme","i18nSetup","isLoading","setIsLoading","React","options","_b","_a","startAction","onClick","handleExport","Dropdown","SelectList","option","index","label","i18n","SelectListOption","ChartCard","title","subtitle","children","data","errorMessage","dimensionsAndMeasures","chartRef","useRef","hasData","getDisplay","CardContentInfo","IconAlertCircle","jsxs","Card","CardHeader","CardContent"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"ChartCard-CACbKXZ7.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconDotsVertical.mjs","../src/remarkable-ui/shared/Skeleton/Skeleton.tsx","../src/remarkable-ui/shared/IconButton/IconButton.tsx","../src/remarkable-pro/components/charts/shared/ChartCard/ChartCardLoading/ChartCardLoading.tsx","../src/remarkable-pro/components/charts/shared/ChartCard/ChartCardMenuPro/ChartCardMenuPro.tsx","../src/remarkable-pro/components/charts/shared/ChartCard/ChartCard.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M12 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0\", \"key\": \"svg-2\" }]];\nconst IconDotsVertical = createReactComponent(\"outline\", \"dots-vertical\", \"DotsVertical\", __iconNode);\n\nexport { __iconNode, IconDotsVertical as default };\n//# sourceMappingURL=IconDotsVertical.mjs.map\n","import styles from './Skeleton.module.css';\n\nexport const Skeleton = () => {\n return <div className={styles.skeleton} />;\n};\n","import clsx from 'clsx';\nimport React from 'react';\nimport styles from './IconButton.module.css';\nimport { TablerIcon } from '@tabler/icons-react';\nimport { BaseButton, type BaseButtonProps } from '../BaseButton';\n\ntype IconButtonProps = Omit<BaseButtonProps, 'variant'> & {\n className?: string;\n icon: TablerIcon;\n};\n\nexport const IconButton: React.FC<IconButtonProps> = ({ icon: Icon, className, ...props }) => {\n return (\n <BaseButton variant=\"secondary\" className={clsx(styles.iconButton, className)} {...props}>\n <Icon className={styles.icon} />\n </BaseButton>\n );\n};\n","import { IconLoader2 } from '@tabler/icons-react';\nimport styles from './ChartCardLoading.module.css';\n\nexport const ChartCardLoading = () => <IconLoader2 className={styles.loading} />;\n","import { IconDotsVertical } from '@tabler/icons-react';\nimport React from 'react';\nimport { useTheme } from '@embeddable.com/react';\nimport { ChartCardLoading } from '../ChartCardLoading/ChartCardLoading';\nimport { i18n, i18nSetup } from '../../../../../theme/i18n/i18n';\nimport { Theme } from '../../../../../theme/theme.types';\nimport {\n Dropdown,\n IconButton,\n SelectList,\n SelectListOption,\n} from '../../../../../../remarkable-ui';\nimport { ChartCardMenuProOptionOnClickProps } from './ChartCardMenuPro.types';\nimport styles from './ChartCardMenuPro.module.css';\n\ntype ChartCardMenuProProps = Omit<ChartCardMenuProOptionOnClickProps, 'theme'>;\n\nexport const ChartCardMenuPro: React.FC<ChartCardMenuProProps> = (props) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const [isLoading, setIsLoading] = React.useState(false);\n\n const options = theme.charts?.chartCardMenuPro?.options ?? [];\n\n if (options.length === 0) {\n return null;\n }\n\n const startAction = (onClick: () => void | Promise<void>) => {\n setIsLoading(true);\n setTimeout(() => {\n Promise.resolve(onClick()).finally(() => setIsLoading(false));\n }, 100);\n };\n\n const handleExport = (onClick: (props: ChartCardMenuProOptionOnClickProps) => void) => {\n startAction(() => onClick({ ...props, theme }));\n };\n\n return (\n <Dropdown\n side=\"bottom\"\n align=\"end\"\n triggerComponent={isLoading ? <ChartCardLoading /> : <IconButton icon={IconDotsVertical} />}\n >\n <SelectList className={styles.list} autoFocus>\n {options.map((option, index) => {\n const label = i18n.t(option.labelKey);\n\n return (\n <SelectListOption\n key={index}\n label={label}\n onClick={() => handleExport(option.onClick)}\n startIcon={\n option.iconSrc ? <img src={option.iconSrc} alt={`${label} icon`} /> : undefined\n }\n />\n );\n })}\n </SelectList>\n </Dropdown>\n );\n};\n","import React, { CSSProperties, FC, useRef } from 'react';\nimport { IconAlertCircle } from '@tabler/icons-react';\nimport {\n Card,\n CardContent,\n CardContentInfo,\n CardHeader,\n Skeleton,\n} from '../../../../../remarkable-ui';\nimport styles from './ChartCard.module.css';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useTheme } from '@embeddable.com/react';\nimport { ChartCardLoading } from './ChartCardLoading/ChartCardLoading';\nimport { ChartCardMenuPro } from './ChartCardMenuPro/ChartCardMenuPro';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\n\ntype ChartCardProps = {\n title: string;\n subtitle?: string;\n children: React.ReactNode;\n data: DataResponse;\n isLoading?: boolean;\n errorMessage?: string;\n style?: CSSProperties;\n dimensionsAndMeasures?: (Dimension | Measure)[];\n};\n\nexport const ChartCard: FC<ChartCardProps> = ({\n title,\n subtitle,\n children,\n data,\n errorMessage,\n dimensionsAndMeasures = [],\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const chartRef = useRef<HTMLDivElement>(null);\n\n const hasData = data.data && data.data.length > 0;\n\n const getDisplay = () => {\n if (!hasData && data.isLoading) {\n return <Skeleton />;\n }\n\n if (errorMessage) {\n return (\n <CardContentInfo\n className={styles.error}\n icon={IconAlertCircle}\n title={i18n.t('charts.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n if (!hasData) {\n return (\n <CardContentInfo\n title={i18n.t('charts.emptyTitle')}\n message={i18n.t('charts.emptyMessage')}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card ref={chartRef} className={styles.chartCard} {...props}>\n <CardHeader\n title={title}\n subtitle={subtitle}\n rightContent={\n <div data-no-export className={styles.rightContent}>\n {data.isLoading ? (\n <ChartCardLoading />\n ) : (\n <ChartCardMenuPro\n title={title}\n containerRef={chartRef}\n data={data.data}\n dimensionsAndMeasures={dimensionsAndMeasures}\n />\n )}\n </div>\n }\n />\n\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["__iconNode","IconDotsVertical","createReactComponent","Skeleton","jsx","styles","IconButton","Icon","className","props","BaseButton","clsx","ChartCardLoading","IconLoader2","ChartCardMenuPro","theme","useTheme","i18nSetup","isLoading","setIsLoading","React","options","_b","_a","startAction","onClick","handleExport","Dropdown","SelectList","option","index","label","i18n","SelectListOption","ChartCard","title","subtitle","children","data","errorMessage","dimensionsAndMeasures","chartRef","useRef","hasData","getDisplay","CardContentInfo","IconAlertCircle","jsxs","Card","CardHeader","CardContent"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/{ComparisonPeriod.type.emb-BsVeAHPK.js → ComparisonPeriod.type.emb-Q_A2MmQY.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aD as i, aE as o } from "./component.constants-
|
|
1
|
+
import { aD as i, aE as o } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
const e = i("comparisonPeriod", {
|
|
3
3
|
label: "Comparison Period",
|
|
4
4
|
optionLabel: (r) => r
|
|
@@ -11,4 +11,4 @@ o(e, "Previous year");
|
|
|
11
11
|
export {
|
|
12
12
|
e as C
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=ComparisonPeriod.type.emb-
|
|
14
|
+
//# sourceMappingURL=ComparisonPeriod.type.emb-Q_A2MmQY.js.map
|
package/dist/{ComparisonPeriod.type.emb-BsVeAHPK.js.map → ComparisonPeriod.type.emb-Q_A2MmQY.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComparisonPeriod.type.emb-
|
|
1
|
+
{"version":3,"file":"ComparisonPeriod.type.emb-Q_A2MmQY.js","sources":["../src/remarkable-pro/components/types/ComparisonPeriod.type.emb.ts"],"sourcesContent":["import { defineOption, defineType } from '@embeddable.com/core';\n\nconst ComparisonPeriodType = defineType('comparisonPeriod', {\n label: 'Comparison Period',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(ComparisonPeriodType, 'Previous period');\ndefineOption(ComparisonPeriodType, 'Previous week');\ndefineOption(ComparisonPeriodType, 'Previous month');\ndefineOption(ComparisonPeriodType, 'Previous quarter');\ndefineOption(ComparisonPeriodType, 'Previous year');\n\nexport default ComparisonPeriodType;\n"],"names":["ComparisonPeriodType","defineType","value","defineOption"],"mappings":";AAEA,MAAMA,IAAuBC,EAAW,oBAAoB;AAAA,EAC1D,OAAO;AAAA,EACP,aAAa,CAACC,MAAkBA;AAClC,CAAC;AAEDC,EAAaH,GAAsB,iBAAiB;AACpDG,EAAaH,GAAsB,eAAe;AAClDG,EAAaH,GAAsB,gBAAgB;AACnDG,EAAaH,GAAsB,kBAAkB;AACrDG,EAAaH,GAAsB,eAAe;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { useTheme as v, defineComponent as h } from "@embeddable.com/react";
|
|
2
|
-
import { a4 as y, a2 as P, i as f, r as b, j as l, U as C, t as S, c as F, a5 as R, V as d } from "./component.constants-
|
|
2
|
+
import { a4 as y, a2 as P, i as f, r as b, j as l, U as C, t as S, c as F, a5 as R, V as d } from "./component.constants-B1QqUi2G.js";
|
|
3
3
|
import { useMemo as M, useEffect as k } from "react";
|
|
4
|
-
import { S as D } from "./SingleSelectField-
|
|
4
|
+
import { S as D } from "./SingleSelectField-AZ79m6bQ.js";
|
|
5
5
|
import { g as T, u as j, a as x } from "./editors.timeRange.utils-CteuBPel.js";
|
|
6
|
-
import { E as L } from "./EditorCard-
|
|
7
|
-
import { C as s } from "./ComparisonPeriod.type.emb-
|
|
6
|
+
import { E as L } from "./EditorCard-CNU8sUaR.js";
|
|
7
|
+
import { C as s } from "./ComparisonPeriod.type.emb-Q_A2MmQY.js";
|
|
8
8
|
/**
|
|
9
9
|
* @license @tabler/icons-react v3.34.1 - MIT
|
|
10
10
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as t } from "@embeddable.com/react";
|
|
2
|
-
import { t as l, c as n, a5 as r, V as a } from "./component.constants-
|
|
3
|
-
import { D as o } from "./index-
|
|
2
|
+
import { t as l, c as n, a5 as r, V as a } from "./component.constants-B1QqUi2G.js";
|
|
3
|
+
import { D as o } from "./index-DXHlr-gm.js";
|
|
4
4
|
const i = {
|
|
5
5
|
name: "DateRangeSelectFieldPro",
|
|
6
6
|
label: "Date Range Select Field",
|
package/dist/DonutChartPro.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as a, w as s, z as t, t as o, c as n, s as r, a3 as i, e as m, f as l, V as d, o as u } from "./component.constants-
|
|
1
|
+
import { d as a, w as s, z as t, t as o, c as n, s as r, a3 as i, e as m, f as l, V as d, o as u } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import { defineComponent as c } from "@embeddable.com/react";
|
|
3
|
-
import { D as p } from "./index-
|
|
3
|
+
import { D as p } from "./index-DyMUkLDE.js";
|
|
4
4
|
const C = {
|
|
5
5
|
name: "DonutChartPro",
|
|
6
6
|
label: "Donut Chart",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { D as n } from "./index-
|
|
2
|
-
import { d as s, w as a, z as r, t as o, c as l, s as i, a3 as m, e as d, f as u, V as b, o as t } from "./component.constants-
|
|
1
|
+
import { D as n } from "./index-Fs7N8msy.js";
|
|
2
|
+
import { d as s, w as a, z as r, t as o, c as l, s as i, a3 as m, e as d, f as u, V as b, o as t } from "./component.constants-B1QqUi2G.js";
|
|
3
3
|
import { defineComponent as c } from "@embeddable.com/react";
|
|
4
4
|
const p = {
|
|
5
5
|
name: "DonutLabelChartPro",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a4 as l, j as r, a6 as u, i as m,
|
|
1
|
+
import { a4 as l, j as r, a6 as u, i as m, a8 as p, a9 as _, ab as x, ac as C, U as f, aC as h } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
import { useEffect as j } from "react";
|
|
3
3
|
import { useTheme as S } from "@embeddable.com/react";
|
|
4
4
|
/**
|
|
@@ -59,4 +59,4 @@ export {
|
|
|
59
59
|
A as d,
|
|
60
60
|
D as u
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=EditorCard-
|
|
62
|
+
//# sourceMappingURL=EditorCard-CNU8sUaR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorCard-
|
|
1
|
+
{"version":3,"file":"EditorCard-CNU8sUaR.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs","../src/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOptions.tsx","../src/remarkable-ui/utils/debounce.utils.ts","../src/remarkable-ui/editors/select/shared/useSelectSearchFocus.hook.ts","../src/remarkable-pro/components/editors/shared/EditorCard/EditorCard.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M21 21l-6 -6\", \"key\": \"svg-1\" }]];\nconst IconSearch = createReactComponent(\"outline\", \"search\", \"Search\", __iconNode);\n\nexport { __iconNode, IconSearch as default };\n//# sourceMappingURL=IconSearch.mjs.map\n","import { FC } from 'react';\nimport styles from './SelectListOptions.module.css';\nimport clsx from 'clsx';\n\nexport type SelectListOptionsProps = React.HTMLAttributes<HTMLDivElement> & {\n children: React.ReactNode;\n disabled?: boolean;\n};\n\nexport const SelectListOptions: FC<SelectListOptionsProps> = ({ children, disabled, ...props }) => {\n return (\n <div className={clsx(styles.listOptions, disabled && styles.disabled)} {...props}>\n {children}\n </div>\n );\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce<T extends (...args: any[]) => void>(\n fn: T,\n delay = 300,\n): (...args: Parameters<T>) => void {\n let timer: NodeJS.Timeout;\n return (...args: Parameters<T>) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n}\n","import { useEffect } from 'react';\n\nexport const useSelectSearchFocus = (\n isOpen: boolean,\n searchFieldRef: React.RefObject<HTMLInputElement | null>,\n) => {\n useEffect(() => {\n if (isOpen) {\n setTimeout(() => {\n (searchFieldRef.current as unknown as HTMLInputElement)?.focus();\n }, 100);\n }\n }, [isOpen, searchFieldRef]);\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport styles from './EditorCard.module.css';\nimport { FC } from 'react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Card, CardContent, CardContentInfo, CardHeader } from '../../../../../remarkable-ui';\nimport { IconAlertCircle } from '@tabler/icons-react';\n\ntype EditorCardProps = {\n title?: string;\n subtitle?: string;\n children: React.ReactNode;\n errorMessage?: string;\n};\n\nexport const EditorCard: FC<EditorCardProps> = ({\n title,\n subtitle,\n children,\n errorMessage,\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const getDisplay = () => {\n if (errorMessage) {\n return (\n <CardContentInfo\n className={styles.error}\n icon={IconAlertCircle}\n title={i18n.t('editors.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.card} {...props}>\n <CardHeader title={title} subtitle={subtitle} />\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["__iconNode","IconSearch","createReactComponent","SelectListOptions","children","disabled","props","jsx","clsx","styles","debounce","fn","delay","timer","args","useSelectSearchFocus","isOpen","searchFieldRef","useEffect","_a","EditorCard","title","subtitle","errorMessage","theme","useTheme","i18nSetup","getDisplay","CardContentInfo","IconAlertCircle","i18n","Card","CardHeader","CardContent"],"mappings":";;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,8CAA8C,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,gBAAgB,KAAO,QAAO,CAAE,CAAC,GAChJC,IAAaC,EAAqB,WAAW,UAAU,UAAUF,CAAU;;;GCDpEG,IAAgD,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,GAAGC,QAEnFC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWC,EAAKC,EAAO,aAAaJ,KAAYI,EAAO,QAAQ,GAAI,GAAGH,GACxE,UAAAF,EAAA,CACH;ACZG,SAASM,EACdC,GACAC,IAAQ,KAC0B;AAClC,MAAIC;AACJ,SAAO,IAAIC,MAAwB;AACjC,iBAAaD,CAAK,GAClBA,IAAQ,WAAW,MAAM;AACvB,MAAAF,EAAG,GAAGG,CAAI;AAAA,IACZ,GAAGF,CAAK;AAAA,EACV;AACF;ACVO,MAAMG,IAAuB,CAClCC,GACAC,MACG;AACH,EAAAC,EAAU,MAAM;AACd,IAAIF,KACF,WAAW,MAAM;;AACd,OAAAG,IAAAF,EAAe,YAAf,QAAAE,EAAwD;AAAA,IAC3D,GAAG,GAAG;AAAA,EAEV,GAAG,CAACH,GAAQC,CAAc,CAAC;AAC7B;;;GCEaG,IAAkC,CAAC;AAAA,EAC9C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAlB;AAAA,EACA,cAAAmB;AAAA,EACA,GAAGjB;AACL,MAAM;AACJ,QAAMkB,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAa,MACbJ,IAEAhB,gBAAAA,EAAAA;AAAAA,IAACqB;AAAA,IAAA;AAAA,MACC,WAAWnB,EAAO;AAAA,MAClB,MAAMoB;AAAA,MACN,OAAOC,EAAK,EAAE,oBAAoB;AAAA,MAClC,SAASP;AAAA,IAAA;AAAA,EAAA,IAKRnB;AAGT,gCACG2B,GAAA,EAAK,WAAWtB,EAAO,MAAO,GAAGH,GAChC,UAAA;AAAA,IAAAC,gBAAAA,EAAAA,IAACyB,GAAA,EAAW,OAAAX,GAAc,UAAAC,EAAA,CAAoB;AAAA,IAC9Cf,gBAAAA,EAAAA,IAAC0B,GAAA,EAAa,UAAAN,EAAA,EAAW,CAAE;AAAA,EAAA,GAC7B;AAEJ;","x_google_ignoreList":[0]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a4 as j, j as n, a6 as x,
|
|
1
|
+
import { a4 as j, j as n, a6 as x, a7 as d } from "./component.constants-B1QqUi2G.js";
|
|
2
2
|
/**
|
|
3
3
|
* @license @tabler/icons-react v3.34.1 - MIT
|
|
4
4
|
*
|
|
@@ -76,4 +76,4 @@ const m = [["path", { d: "M3 17l6 -6l4 4l8 -8", key: "svg-0" }], ["path", { d: "
|
|
|
76
76
|
export {
|
|
77
77
|
R as K
|
|
78
78
|
};
|
|
79
|
-
//# sourceMappingURL=KpiChart-
|
|
79
|
+
//# sourceMappingURL=KpiChart-C-SmtMQp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KpiChart-
|
|
1
|
+
{"version":3,"file":"KpiChart-C-SmtMQp.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconTrendingDown.mjs","../node_modules/@tabler/icons-react/dist/esm/icons/IconTrendingUp.mjs","../src/remarkable-ui/charts/kpis/components/KpiChartChange.tsx","../src/remarkable-ui/charts/kpis/KpiChart.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 7l6 6l4 -4l8 8\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M21 10l0 7l-7 0\", \"key\": \"svg-1\" }]];\nconst IconTrendingDown = createReactComponent(\"outline\", \"trending-down\", \"TrendingDown\", __iconNode);\n\nexport { __iconNode, IconTrendingDown as default };\n//# sourceMappingURL=IconTrendingDown.mjs.map\n","/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 17l6 -6l4 4l8 -8\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M14 7l7 0l0 7\", \"key\": \"svg-1\" }]];\nconst IconTrendingUp = createReactComponent(\"outline\", \"trending-up\", \"TrendingUp\", __iconNode);\n\nexport { __iconNode, IconTrendingUp as default };\n//# sourceMappingURL=IconTrendingUp.mjs.map\n","import { FC } from 'react';\nimport styles from './KpiChartChange.module.css';\nimport clsx from 'clsx';\nimport { Typography } from '../../../shared/Typography/Typography';\nimport { IconTrendingDown, IconTrendingUp } from '@tabler/icons-react';\nimport { KpiChartProps } from '../KpiChart.types';\n\nconst getChangeClass = (isPositive: boolean, invertChangeColors: boolean) => {\n if (isPositive) return invertChangeColors ? styles.negative : styles.positive;\n return invertChangeColors ? styles.positive : styles.negative;\n};\n\ntype KpiChartChangeProps = KpiChartProps & { className?: string };\n\nexport const KpiChartChange: FC<KpiChartChangeProps> = ({\n value,\n comparisonValue = 0,\n showChangeAsPercentage,\n invertChangeColors = false,\n comparisonLabel,\n valueFormatter,\n percentageDecimalPlaces = 1,\n className,\n}) => {\n const difference = value - comparisonValue;\n const isPositive = difference > 0;\n\n let differenceLabel: string;\n\n if (showChangeAsPercentage) {\n const percentage = comparisonValue === 0 ? 0 : (difference / comparisonValue) * 100;\n differenceLabel = `${percentage.toFixed(percentageDecimalPlaces)}%`;\n } else {\n differenceLabel = valueFormatter ? valueFormatter(difference) : difference.toString();\n }\n\n const displayValue = `${isPositive ? '+' : ''}${differenceLabel}`;\n\n const Icon = isPositive ? IconTrendingUp : IconTrendingDown;\n\n return (\n <div className={clsx(className, styles.kpiChartChangeContainer)}>\n <div className={clsx(styles.kpiChangeBadge, getChangeClass(isPositive, invertChangeColors))}>\n <Icon />\n <Typography>{displayValue}</Typography>\n </div>\n {comparisonLabel && <Typography>{comparisonLabel}</Typography>}\n </div>\n );\n};\n","import { FC } from 'react';\nimport { Typography } from '../../shared/Typography/Typography';\nimport styles from './KpiChart.module.css';\nimport { KpiChartChange } from './components/KpiChartChange';\nimport { KpiChartProps } from './KpiChart.types';\nimport clsx from 'clsx';\n\nexport const KpiChart: FC<KpiChartProps> = ({\n value,\n changeFontSize,\n comparisonValue,\n comparisonLabel,\n invertChangeColors,\n showChangeAsPercentage,\n percentageDecimalPlaces = 1,\n equalComparisonLabel = 'No change',\n valueFontSize,\n valueFormatter,\n}) => {\n const hasComparisonValue = comparisonValue !== undefined;\n const equalComparison = hasComparisonValue && comparisonValue === value;\n\n const displayValue = valueFormatter ? valueFormatter(value) : value;\n\n return (\n <div className={styles.kpiChartContainer}>\n <Typography style={{ fontSize: valueFontSize }}>{displayValue}</Typography>\n <div className={styles.kpiComparisonContainer} style={{ fontSize: changeFontSize }}>\n {equalComparison ? (\n <Typography>{equalComparisonLabel}</Typography>\n ) : (\n <KpiChartChange\n changeFontSize={changeFontSize}\n className={clsx(!hasComparisonValue && styles.kpiChangeHidden)}\n comparisonLabel={comparisonLabel}\n comparisonValue={comparisonValue}\n invertChangeColors={invertChangeColors}\n percentageDecimalPlaces={percentageDecimalPlaces}\n showChangeAsPercentage={showChangeAsPercentage}\n value={value}\n valueFormatter={valueFormatter}\n />\n )}\n </div>\n </div>\n );\n};\n"],"names":["__iconNode","IconTrendingDown","createReactComponent","IconTrendingUp","getChangeClass","isPositive","invertChangeColors","styles","KpiChartChange","value","comparisonValue","showChangeAsPercentage","comparisonLabel","valueFormatter","percentageDecimalPlaces","className","difference","differenceLabel","displayValue","Icon","clsx","jsxs","jsx","Typography","KpiChart","changeFontSize","equalComparisonLabel","valueFontSize","hasComparisonValue","equalComparison"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,qBAAqB,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,mBAAmB,KAAO,QAAO,CAAE,CAAC,GAC1HC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU;ACVpG;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,uBAAuB,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,iBAAiB,KAAO,QAAO,CAAE,CAAC,GAC1HG,IAAiBD,EAAqB,WAAW,eAAe,cAAcF,CAAU;;;;;;;;;GCHxFI,IAAiB,CAACC,GAAqBC,MACvCD,IAAmBC,IAAqBC,EAAO,WAAWA,EAAO,WAC9DD,IAAqBC,EAAO,WAAWA,EAAO,UAK1CC,IAA0C,CAAC;AAAA,EACtD,OAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,wBAAAC;AAAA,EACA,oBAAAL,IAAqB;AAAA,EACrB,iBAAAM;AAAA,EACA,gBAAAC;AAAA,EACA,yBAAAC,IAA0B;AAAA,EAC1B,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAaP,IAAQC,GACrBL,IAAaW,IAAa;AAEhC,MAAIC;AAEJ,EAAIN,IAEFM,IAAkB,IADCP,MAAoB,IAAI,IAAKM,IAAaN,IAAmB,KAChD,QAAQI,CAAuB,CAAC,MAEhEG,IAAkBJ,IAAiBA,EAAeG,CAAU,IAAIA,EAAW,SAAA;AAG7E,QAAME,IAAe,GAAGb,IAAa,MAAM,EAAE,GAAGY,CAAe,IAEzDE,IAAOd,IAAaF,IAAiBF;AAE3C,gCACG,OAAA,EAAI,WAAWmB,EAAKL,GAAWR,EAAO,uBAAuB,GAC5D,UAAA;AAAA,IAAAc,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAWD,EAAKb,EAAO,gBAAgBH,EAAeC,GAAYC,CAAkB,CAAC,GACxF,UAAA;AAAA,MAAAgB,gBAAAA,EAAAA,IAACH,GAAA,EAAK;AAAA,MACNG,gBAAAA,EAAAA,IAACC,KAAY,UAAAL,EAAA,CAAa;AAAA,IAAA,GAC5B;AAAA,IACCN,KAAmBU,gBAAAA,EAAAA,IAACC,GAAA,EAAY,UAAAX,EAAA,CAAgB;AAAA,EAAA,GACnD;AAEJ,GC1CaY,IAA8B,CAAC;AAAA,EAC1C,OAAAf;AAAA,EACA,gBAAAgB;AAAA,EACA,iBAAAf;AAAA,EACA,iBAAAE;AAAA,EACA,oBAAAN;AAAA,EACA,wBAAAK;AAAA,EACA,yBAAAG,IAA0B;AAAA,EAC1B,sBAAAY,IAAuB;AAAA,EACvB,eAAAC;AAAA,EACA,gBAAAd;AACF,MAAM;AACJ,QAAMe,IAAqBlB,MAAoB,QACzCmB,IAAkBD,KAAsBlB,MAAoBD,GAE5DS,IAAeL,IAAiBA,EAAeJ,CAAK,IAAIA;AAE9D,SACEY,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAWd,EAAO,mBACrB,UAAA;AAAA,IAAAe,gBAAAA,MAACC,KAAW,OAAO,EAAE,UAAUI,EAAA,GAAkB,UAAAT,GAAa;AAAA,IAC9DI,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWf,EAAO,wBAAwB,OAAO,EAAE,UAAUkB,EAAA,GAC/D,UAAAI,IACCP,gBAAAA,MAACC,GAAA,EAAY,aAAqB,IAElCD,gBAAAA,EAAAA;AAAAA,MAACd;AAAA,MAAA;AAAA,QACC,gBAAAiB;AAAA,QACA,WAAWL,EAAK,CAACQ,KAAsBrB,EAAO,eAAe;AAAA,QAC7D,iBAAAK;AAAA,QACA,iBAAAF;AAAA,QACA,oBAAAJ;AAAA,QACA,yBAAAQ;AAAA,QACA,wBAAAH;AAAA,QACA,OAAAF;AAAA,QACA,gBAAAI;AAAA,MAAA;AAAA,IAAA,EACF,CAEJ;AAAA,EAAA,GACF;AAEJ;","x_google_ignoreList":[0,1]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { useTheme as j, defineComponent as w } from "@embeddable.com/react";
|
|
2
|
-
import { i as A, r as Y, U as l, j as f, d as q, w as
|
|
3
|
-
import { C as O } from "./ChartCard-
|
|
2
|
+
import { i as A, r as Y, U as l, j as f, d as q, w as B, W as E, X as M, t as I, c as J, Y as y, Z as c, o as b } from "./component.constants-B1QqUi2G.js";
|
|
3
|
+
import { C as O } from "./ChartCard-CACbKXZ7.js";
|
|
4
4
|
import { useEffect as U } from "react";
|
|
5
|
-
import { K as W } from "./KpiChart-
|
|
6
|
-
import { g as X } from "./formatter.utils-
|
|
7
|
-
import { g as Z, a as $ } from "./timeRange.utils-
|
|
8
|
-
import { C as k } from "./ComparisonPeriod.type.emb-
|
|
5
|
+
import { K as W } from "./KpiChart-C-SmtMQp.js";
|
|
6
|
+
import { g as X } from "./formatter.utils-B3HZzPUm.js";
|
|
7
|
+
import { g as Z, a as $ } from "./timeRange.utils-C0iy3N-l.js";
|
|
8
|
+
import { C as k } from "./ComparisonPeriod.type.emb-Q_A2MmQY.js";
|
|
9
9
|
const G = (e) => {
|
|
10
|
-
var g, d, C,
|
|
10
|
+
var g, d, C, P, h, u;
|
|
11
11
|
const a = j();
|
|
12
12
|
A(a);
|
|
13
13
|
const { title: i, description: n } = Y(e), {
|
|
@@ -32,11 +32,11 @@ const G = (e) => {
|
|
|
32
32
|
);
|
|
33
33
|
z(m);
|
|
34
34
|
}, [s, JSON.stringify(p), a]);
|
|
35
|
-
const K = (d = (g = o.data) == null ? void 0 : g[0]) == null ? void 0 : d[t.name], T = D ? (
|
|
36
|
-
isLoading: o.isLoading,
|
|
37
|
-
data: o.
|
|
38
|
-
...(
|
|
39
|
-
...(
|
|
35
|
+
const K = (d = (g = o.data) == null ? void 0 : g[0]) == null ? void 0 : d[t.name], T = D ? (P = (C = r == null ? void 0 : r.data) == null ? void 0 : C[0]) == null ? void 0 : P[t.name] : void 0, L = X(a), V = (m) => L.data(t, m), x = `vs ${$(s, a).toLowerCase()}`, _ = {
|
|
36
|
+
isLoading: !!(o.isLoading || r != null && r.isLoading),
|
|
37
|
+
data: !(o != null && o.data) && !(r != null && r.data) ? void 0 : [
|
|
38
|
+
...(h = o.data) != null && h.length ? [{ label: l.t("charts.primaryPeriod"), ...o.data[0] }] : [],
|
|
39
|
+
...(u = r == null ? void 0 : r.data) != null && u.length ? [{ label: l.t("charts.comparisonPeriod"), ...r.data[0] }] : []
|
|
40
40
|
]
|
|
41
41
|
};
|
|
42
42
|
return /* @__PURE__ */ f.jsx(
|
|
@@ -78,10 +78,10 @@ const G = (e) => {
|
|
|
78
78
|
category: "Kpi Charts",
|
|
79
79
|
inputs: [
|
|
80
80
|
q,
|
|
81
|
-
|
|
82
|
-
{ ...
|
|
81
|
+
B,
|
|
82
|
+
{ ...E, name: "timeProperty", label: "Time Property" },
|
|
83
83
|
{
|
|
84
|
-
...
|
|
84
|
+
...M,
|
|
85
85
|
name: "primaryDateRange",
|
|
86
86
|
label: "Primary Date Range",
|
|
87
87
|
description: "You can also connect this to a date range selector using its variable",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KpiChartNumberComparisonPro.js","sources":["../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '../../../../../remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\n\ntype KpiChartNumberComparisonProProp = {\n changeFontSize: number;\n comparisonPeriod?: string;\n description: string;\n displayChangeAsPercentage?: boolean;\n fontSize: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n title: string;\n percentageDecimalPlaces: number;\n comparisonDateRange: TimeRange;\n setComparisonDateRange: (dateRange: TimeRange) => void;\n};\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description } = resolveI18nProps(props);\n const {\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: results.isLoading,\n data: results.isLoading\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart\n value={value}\n comparisonValue={comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n changeFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport {\n dataset,\n description,\n dimensionTime,\n genericBoolean,\n genericNumber,\n genericTimeRange,\n measure,\n title,\n} from '../../../component.constants';\nimport KpiChartNumberComparisonPro from './index';\nimport { loadData, TimeRange } from '@embeddable.com/core';\nimport ComparisonPeriodType from '../../../types/ComparisonPeriod.type.emb';\n\nexport const meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n dataset,\n measure,\n { ...dimensionTime, name: 'timeProperty', label: 'Time Property' },\n {\n ...genericTimeRange,\n name: 'primaryDateRange',\n label: 'Primary Date Range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Comparison Period',\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n title,\n description,\n {\n ...genericBoolean,\n name: 'displayChangeAsPercentage',\n label: 'Display Change as %',\n defaultValue: false,\n },\n {\n ...genericNumber,\n name: 'percentageDecimalPlaces',\n label: 'Percentage Decimal Places',\n defaultValue: 1,\n },\n {\n ...genericBoolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse Positive/Negative Colors',\n defaultValue: false,\n },\n { ...genericNumber, name: 'fontSize', label: 'Font Size', defaultValue: 44, required: true },\n {\n ...genericNumber,\n name: 'changeFontSize',\n label: 'Change Font Size',\n defaultValue: 16,\n required: true,\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nexport default defineComponent(KpiChartNumberComparisonPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n ) => {\n return {\n ...inputs,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n }),\n resultsComparison:\n inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange\n ? loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: state.comparisonDateRange,\n },\n ],\n })\n : undefined,\n };\n },\n});\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","resolveI18nProps","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","jsx","ChartCard","KpiChart","meta","dataset","dimensionTime","genericTimeRange","ComparisonPeriodType","genericBoolean","genericNumber","KpiChartNumberComparisonPro_emb","defineComponent","inputs","state","setState","loadData"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"KpiChartNumberComparisonPro.js","sources":["../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.ts"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '../../../../../remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { useEffect } from 'react';\nimport {\n getComparisonPeriodDateRange,\n getComparisonPeriodLabel,\n} from '../../../utils/timeRange.utils';\n\ntype KpiChartNumberComparisonProProp = {\n changeFontSize: number;\n comparisonPeriod?: string;\n description: string;\n displayChangeAsPercentage?: boolean;\n fontSize: number;\n measure: Measure;\n primaryDateRange: TimeRange;\n results: DataResponse;\n resultsComparison: DataResponse | undefined;\n reversePositiveNegativeColors?: boolean;\n title: string;\n percentageDecimalPlaces: number;\n comparisonDateRange: TimeRange;\n setComparisonDateRange: (dateRange: TimeRange) => void;\n};\n\nconst KpiChartNumberComparisonPro = (props: KpiChartNumberComparisonProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description } = resolveI18nProps(props);\n const {\n changeFontSize,\n comparisonPeriod,\n comparisonDateRange,\n displayChangeAsPercentage,\n fontSize,\n measure,\n primaryDateRange,\n results,\n resultsComparison,\n reversePositiveNegativeColors,\n percentageDecimalPlaces,\n setComparisonDateRange,\n } = props;\n\n useEffect(() => {\n const newComparisonDateRange = getComparisonPeriodDateRange(\n primaryDateRange,\n comparisonPeriod,\n theme,\n );\n setComparisonDateRange(newComparisonDateRange);\n }, [comparisonPeriod, JSON.stringify(primaryDateRange), theme]);\n\n const value: number = results.data?.[0]?.[measure.name];\n const comparisonValue = comparisonDateRange\n ? resultsComparison?.data?.[0]?.[measure.name]\n : undefined;\n\n const themeFormatter = getThemeFormatter(theme);\n const valueFormatter = (valueToFormat: number) => themeFormatter.data(measure, valueToFormat);\n const comparisonLabel = `vs ${getComparisonPeriodLabel(comparisonPeriod, theme).toLowerCase()}`;\n\n const resultsCombined: DataResponse = {\n isLoading: Boolean(results.isLoading || resultsComparison?.isLoading),\n data:\n !results?.data && !resultsComparison?.data\n ? undefined\n : [\n ...(results.data?.length\n ? [{ label: i18n.t('charts.primaryPeriod'), ...results.data[0] }]\n : []),\n ...(resultsComparison?.data?.length\n ? [{ label: i18n.t('charts.comparisonPeriod'), ...resultsComparison.data[0] }]\n : []),\n ],\n };\n\n return (\n <ChartCard\n data={resultsCombined}\n dimensionsAndMeasures={[\n // Add a label dimension to distinguish primary and comparison periods in exports\n {\n name: 'label',\n title: i18n.t('charts.label'),\n nativeType: 'string',\n __type__: 'dimension',\n },\n measure,\n ]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <KpiChart\n value={value}\n comparisonValue={comparisonValue}\n valueFormatter={valueFormatter}\n valueFontSize={fontSize}\n changeFontSize={changeFontSize}\n invertChangeColors={reversePositiveNegativeColors}\n showChangeAsPercentage={displayChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n percentageDecimalPlaces={percentageDecimalPlaces}\n />\n </ChartCard>\n );\n};\n\nexport default KpiChartNumberComparisonPro;\n","import { defineComponent, EmbeddedComponentMeta, Inputs } from '@embeddable.com/react';\nimport {\n dataset,\n description,\n dimensionTime,\n genericBoolean,\n genericNumber,\n genericTimeRange,\n measure,\n title,\n} from '../../../component.constants';\nimport KpiChartNumberComparisonPro from './index';\nimport { loadData, TimeRange } from '@embeddable.com/core';\nimport ComparisonPeriodType from '../../../types/ComparisonPeriod.type.emb';\n\nexport const meta = {\n name: 'KpiChartNumberComparisonPro',\n label: 'Kpi Chart - Number Comparison',\n category: 'Kpi Charts',\n inputs: [\n dataset,\n measure,\n { ...dimensionTime, name: 'timeProperty', label: 'Time Property' },\n {\n ...genericTimeRange,\n name: 'primaryDateRange',\n label: 'Primary Date Range',\n description: 'You can also connect this to a date range selector using its variable',\n category: 'Component Data',\n },\n {\n name: 'comparisonPeriod',\n type: ComparisonPeriodType,\n label: 'Comparison Period',\n description: 'You can also connect this to a comparison period selector using its variable',\n category: 'Component Data',\n },\n title,\n description,\n {\n ...genericBoolean,\n name: 'displayChangeAsPercentage',\n label: 'Display Change as %',\n defaultValue: false,\n },\n {\n ...genericNumber,\n name: 'percentageDecimalPlaces',\n label: 'Percentage Decimal Places',\n defaultValue: 1,\n },\n {\n ...genericBoolean,\n name: 'reversePositiveNegativeColors',\n label: 'Reverse Positive/Negative Colors',\n defaultValue: false,\n },\n { ...genericNumber, name: 'fontSize', label: 'Font Size', defaultValue: 44, required: true },\n {\n ...genericNumber,\n name: 'changeFontSize',\n label: 'Change Font Size',\n defaultValue: 16,\n required: true,\n },\n ],\n} as const satisfies EmbeddedComponentMeta;\n\ntype KpiChartNumberComparisonProState = {\n comparisonDateRange: TimeRange;\n};\n\nexport default defineComponent(KpiChartNumberComparisonPro, meta, {\n /* @ts-expect-error - to be fixed in @embeddable.com/react */\n props: (\n inputs: Inputs<typeof meta>,\n [state, setState]: [\n KpiChartNumberComparisonProState,\n (state: KpiChartNumberComparisonProState) => void,\n ],\n ) => {\n return {\n ...inputs,\n comparisonDateRange: state?.comparisonDateRange,\n setComparisonDateRange: (comparisonDateRange: TimeRange) => setState({ comparisonDateRange }),\n results: loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters:\n inputs.primaryDateRange && inputs.timeProperty\n ? [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: inputs.primaryDateRange,\n },\n ]\n : undefined,\n }),\n resultsComparison:\n inputs.primaryDateRange && inputs.timeProperty && state?.comparisonDateRange\n ? loadData({\n from: inputs.dataset,\n select: [inputs.measure],\n limit: 1,\n filters: [\n {\n property: inputs.timeProperty,\n operator: 'inDateRange',\n value: state.comparisonDateRange,\n },\n ],\n })\n : undefined,\n };\n },\n});\n"],"names":["KpiChartNumberComparisonPro","props","theme","useTheme","i18nSetup","title","description","resolveI18nProps","changeFontSize","comparisonPeriod","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","primaryDateRange","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","getComparisonPeriodDateRange","value","_b","_a","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","getComparisonPeriodLabel","resultsCombined","_e","i18n","_f","jsx","ChartCard","KpiChart","meta","dataset","dimensionTime","genericTimeRange","ComparisonPeriodType","genericBoolean","genericNumber","KpiChartNumberComparisonPro_emb","defineComponent","inputs","state","setState","loadData"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { useTheme as h, defineComponent as f } from "@embeddable.com/react";
|
|
2
|
-
import { i as C, r as b, j as m, d as K, w as g, t as x, c as F, Z as N, o as S } from "./component.constants-
|
|
3
|
-
import { C as j } from "./ChartCard-
|
|
2
|
+
import { i as C, r as b, j as m, d as K, w as g, t as x, c as F, Z as N, o as S } from "./component.constants-B1QqUi2G.js";
|
|
3
|
+
import { C as j } from "./ChartCard-CACbKXZ7.js";
|
|
4
4
|
import "react";
|
|
5
|
-
import { K as v } from "./KpiChart-
|
|
6
|
-
import { g as z } from "./formatter.utils-
|
|
5
|
+
import { K as v } from "./KpiChart-C-SmtMQp.js";
|
|
6
|
+
import { g as z } from "./formatter.utils-B3HZzPUm.js";
|
|
7
7
|
const P = (e) => {
|
|
8
8
|
var s, o;
|
|
9
9
|
const a = h();
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { useTheme as Y, defineComponent as _ } from "@embeddable.com/react";
|
|
2
|
-
import { m as E, E as G, C as w, U, _ as I, $ as O, i as q, r as z, j as V, a0 as K, d as J, a as S, Y as A, a1 as B, z as W, X as H, W as Q, t as Z, c as ee, s as ae, e as se, f as ne, g as te, x as oe, y as ie, p as re, q as le, u as me, V as de, o as F } from "./component.constants-
|
|
3
|
-
import { C as ce } from "./ChartCard-
|
|
2
|
+
import { m as E, E as G, C as w, U, _ as I, $ as O, i as q, r as z, j as V, a0 as K, d as J, a as S, Y as A, a1 as B, z as W, X as H, W as Q, t as Z, c as ee, s as ae, e as se, f as ne, g as te, x as oe, y as ie, p as re, q as le, u as me, V as de, o as F } from "./component.constants-B1QqUi2G.js";
|
|
3
|
+
import { C as ce } from "./ChartCard-CACbKXZ7.js";
|
|
4
4
|
import { useEffect as pe } from "react";
|
|
5
|
-
import { g as ue } from "./timeRange.utils-
|
|
6
|
-
import { g as M } from "./formatter.utils-
|
|
5
|
+
import { g as ue } from "./timeRange.utils-C0iy3N-l.js";
|
|
6
|
+
import { g as M } from "./formatter.utils-B3HZzPUm.js";
|
|
7
7
|
import { g as ge, a as he } from "./object.utils-BNKDL7Y9.js";
|
|
8
8
|
import { i as be, s as xe } from "./color.utils-CVyp-fGP.js";
|
|
9
9
|
import { g as Ce } from "./lines.utils-CFEUUo4k.js";
|
|
10
|
-
import { u as N } from "./charts.newFillGaps.hooks-
|
|
11
|
-
import { C as fe } from "./ComparisonPeriod.type.emb-
|
|
10
|
+
import { u as N } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
11
|
+
import { C as fe } from "./ComparisonPeriod.type.emb-Q_A2MmQY.js";
|
|
12
12
|
const P = "mainAxis", k = "comparisonAxis", $ = (a, t) => {
|
|
13
13
|
var v, R, x, g;
|
|
14
14
|
const { data: n, measure: o, dimension: s, index: c, isPreviousPeriod: r, hasMinMaxYAxisRange: b, labels: e } = a, p = n == null ? void 0 : n.map((C) => C[s.name]), l = !!((v = o.inputs) != null && v.connectGaps), u = e ? e.map((C) => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { useTheme as v, defineComponent as w } from "@embeddable.com/react";
|
|
2
|
-
import { E as f, C as g, m as F, i as P, r as R, j as A, a0 as B, d as j, a as k, Y as x, a1 as O, b as S, t as T, c as I, s as $, e as G, f as X, g as Y, x as E, y as K, p as N, q as U, u as _, V as q, o as z } from "./component.constants-
|
|
3
|
-
import { C as W } from "./ChartCard-
|
|
4
|
-
import { g as V } from "./formatter.utils-
|
|
2
|
+
import { E as f, C as g, m as F, i as P, r as R, j as A, a0 as B, d as j, a as k, Y as x, a1 as O, b as S, t as T, c as I, s as $, e as G, f as X, g as Y, x as E, y as K, p as N, q as U, u as _, V as q, o as z } from "./component.constants-B1QqUi2G.js";
|
|
3
|
+
import { C as W } from "./ChartCard-CACbKXZ7.js";
|
|
4
|
+
import { g as V } from "./formatter.utils-B3HZzPUm.js";
|
|
5
5
|
import { g as H, a as y } from "./object.utils-BNKDL7Y9.js";
|
|
6
6
|
import "react";
|
|
7
7
|
import { i as D, s as J } from "./color.utils-CVyp-fGP.js";
|
|
8
|
-
import { u as Q } from "./charts.newFillGaps.hooks-
|
|
8
|
+
import { u as Q } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
9
9
|
const Z = (e, o) => {
|
|
10
10
|
if (!e.data)
|
|
11
11
|
return {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { useTheme as R, defineComponent as P } from "@embeddable.com/react";
|
|
2
|
-
import { E as k, C as $, m as F, i as S, r as v, j as y, a0 as B, d as j, w, Y as V, b as O, z as T, t as X, c as Y, A as E, s as K, e as N, f as U, g as q, x as z, y as W, p as _, q as H, u as J, V as D, o as Q } from "./component.constants-
|
|
3
|
-
import { C as Z } from "./ChartCard-
|
|
4
|
-
import { g as M } from "./formatter.utils-
|
|
2
|
+
import { E as k, C as $, m as F, i as S, r as v, j as y, a0 as B, d as j, w, Y as V, b as O, z as T, t as X, c as Y, A as E, s as K, e as N, f as U, g as q, x as z, y as W, p as _, q as H, u as J, V as D, o as Q } from "./component.constants-B1QqUi2G.js";
|
|
3
|
+
import { C as Z } from "./ChartCard-CACbKXZ7.js";
|
|
4
|
+
import { g as M } from "./formatter.utils-B3HZzPUm.js";
|
|
5
5
|
import { g as I, a as G } from "./object.utils-BNKDL7Y9.js";
|
|
6
6
|
import { s as ee } from "./color.utils-CVyp-fGP.js";
|
|
7
7
|
import "react";
|
|
8
8
|
import { g as ae } from "./lines.utils-CFEUUo4k.js";
|
|
9
|
-
import { u as se } from "./charts.newFillGaps.hooks-
|
|
9
|
+
import { u as se } from "./charts.newFillGaps.hooks-8oF8pYjr.js";
|
|
10
10
|
const ne = (e, o) => {
|
|
11
11
|
const u = M(o), { data: t = [], dimension: l, groupDimension: r, measure: n, hasMinMaxYAxisRange: c } = e, m = [...new Set(t.map((s) => s[l.name]).filter(Boolean))].sort(), d = [...new Set(t.map((s) => s[r.name]))].filter(Boolean), a = I(o), i = d.map((s, x) => {
|
|
12
12
|
var p;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as i } from "@embeddable.com/react";
|
|
2
|
-
import { d as r, z as s, t as d, c as u, a5 as m, V as t, o as c } from "./component.constants-
|
|
3
|
-
import { M as p, a as f } from "./index-
|
|
2
|
+
import { d as r, z as s, t as d, c as u, a5 as m, V as t, o as c } from "./component.constants-B1QqUi2G.js";
|
|
3
|
+
import { M as p, a as f } from "./index-BcXLOYYi.js";
|
|
4
4
|
const g = {
|
|
5
5
|
name: "MultiSelectFieldPro",
|
|
6
6
|
label: "Multi Select Field",
|