@embeddable.com/remarkable-ui 0.1.19 → 0.1.22

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.
Files changed (124) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +35 -34
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +34 -33
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +52 -46
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +41 -35
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +37 -31
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +38 -32
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/{BaseButton-CuifBVsc.js → BaseButton-Cynr77gm.js} +2 -2
  14. package/dist/{BaseButton-CuifBVsc.js.map → BaseButton-Cynr77gm.js.map} +1 -1
  15. package/dist/{ChartCard-BkrK3C4a.js → ChartCard-DunjH70y.js} +29 -29
  16. package/dist/{ChartCard-BkrK3C4a.js.map → ChartCard-DunjH70y.js.map} +1 -1
  17. package/dist/{ComparisonPeriod.type.emb-Cli9Gpzq.js → ComparisonPeriod.type.emb-CARBg093.js} +2 -2
  18. package/dist/{ComparisonPeriod.type.emb-Cli9Gpzq.js.map → ComparisonPeriod.type.emb-CARBg093.js.map} +1 -1
  19. package/dist/ComparisonPeriodSelectFieldPro.js +9 -9
  20. package/dist/DateRangeSelectFieldPro.js +2 -2
  21. package/dist/DonutChartPro.js +2 -2
  22. package/dist/DonutLabelChartPro.js +2 -2
  23. package/dist/{EditorCard-BQnDPFzf.js → EditorCard-C9RDdL87.js} +11 -11
  24. package/dist/{EditorCard-BQnDPFzf.js.map → EditorCard-C9RDdL87.js.map} +1 -1
  25. package/dist/{KpiChart-ClxfTTJ4.js → KpiChart-DVJLPOzo.js} +2 -2
  26. package/dist/{KpiChart-ClxfTTJ4.js.map → KpiChart-DVJLPOzo.js.map} +1 -1
  27. package/dist/KpiChartNumberComparisonPro.js +61 -73
  28. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  29. package/dist/KpiChartNumberPro.js +4 -4
  30. package/dist/LineChartComparisonDefaultPro.js +404 -0
  31. package/dist/LineChartComparisonDefaultPro.js.map +1 -0
  32. package/dist/LineChartDefaultPro.js +183 -0
  33. package/dist/LineChartDefaultPro.js.map +1 -0
  34. package/dist/LineChartGroupedPro.js +184 -0
  35. package/dist/LineChartGroupedPro.js.map +1 -0
  36. package/dist/MultiSelectFieldPro.js +2 -2
  37. package/dist/PieChartPro.js +2 -2
  38. package/dist/{SingleSelectField-BAEvpk7-.js → SingleSelectField-k-5pYl1f.js} +21 -21
  39. package/dist/{SingleSelectField-BAEvpk7-.js.map → SingleSelectField-k-5pYl1f.js.map} +1 -1
  40. package/dist/SingleSelectFieldPro.js +2 -2
  41. package/dist/bars.utils-BAkV6I3P.js +311 -0
  42. package/dist/bars.utils-BAkV6I3P.js.map +1 -0
  43. package/dist/charts.newFillGaps.hooks-D6mnKJwQ.js +63 -0
  44. package/dist/charts.newFillGaps.hooks-D6mnKJwQ.js.map +1 -0
  45. package/dist/{object.utils-CaoDr05j.js → charts.utils-Dyj5e5HG.js} +1919 -1977
  46. package/dist/charts.utils-Dyj5e5HG.js.map +1 -0
  47. package/dist/color.utils-CVyp-fGP.js +1645 -0
  48. package/dist/color.utils-CVyp-fGP.js.map +1 -0
  49. package/dist/{component.constants-CL4mGURD.js → component.constants-D7F6GsHW.js} +4976 -3873
  50. package/dist/component.constants-D7F6GsHW.js.map +1 -0
  51. package/dist/embeddable-components.json +9 -6
  52. package/dist/embeddable-theme-2b917.js +19 -16
  53. package/dist/{formatter.utils-BaAiNARZ.js → formatter.utils--2w1e7GE.js} +2 -2
  54. package/dist/{formatter.utils-BaAiNARZ.js.map → formatter.utils--2w1e7GE.js.map} +1 -1
  55. package/dist/{index-9t6SPE91.js → index-B0xeoUyW.js} +9 -9
  56. package/dist/{index-9t6SPE91.js.map → index-B0xeoUyW.js.map} +1 -1
  57. package/dist/{index-BSbQYCwI.js → index-B4-i-g0Z.js} +24 -24
  58. package/dist/{index-BSbQYCwI.js.map → index-B4-i-g0Z.js.map} +1 -1
  59. package/dist/{index-CAGJqsS8.js → index-BGczJvRB.js} +12 -12
  60. package/dist/{index-CAGJqsS8.js.map → index-BGczJvRB.js.map} +1 -1
  61. package/dist/{index-BUwm0Ul3.js → index-CLVeA9pa.js} +8 -8
  62. package/dist/{index-BUwm0Ul3.js.map → index-CLVeA9pa.js.map} +1 -1
  63. package/dist/{index-BehaWXq-.js → index-DPGAAlWv.js} +4 -4
  64. package/dist/{index-BehaWXq-.js.map → index-DPGAAlWv.js.map} +1 -1
  65. package/dist/{index-RqtiYv1c.js → index-DmgDANxV.js} +13 -13
  66. package/dist/{index-RqtiYv1c.js.map → index-DmgDANxV.js.map} +1 -1
  67. package/dist/index.js +133 -125
  68. package/dist/index.js.map +1 -1
  69. package/dist/object.utils-BNKDL7Y9.js +67 -0
  70. package/dist/object.utils-BNKDL7Y9.js.map +1 -0
  71. package/dist/{pies.utils-hekLAU_r.js → pies.utils-CIFMn9ko.js} +9 -8
  72. package/dist/{pies.utils-hekLAU_r.js.map → pies.utils-CIFMn9ko.js.map} +1 -1
  73. package/dist/remarkable-pro/components/charts/bars/BarChartGroupedHorizontalPro/index.d.ts.map +1 -1
  74. package/dist/remarkable-pro/components/charts/bars/BarChartGroupedPro/index.d.ts.map +1 -1
  75. package/dist/remarkable-pro/components/charts/bars/BarChartStackedHorizontalPro/index.d.ts.map +1 -1
  76. package/dist/remarkable-pro/components/charts/bars/BarChartStackedPro/index.d.ts.map +1 -1
  77. package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts +1 -1
  78. package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts.map +1 -1
  79. package/dist/remarkable-pro/components/charts/charts.newFillGaps.hooks.d.ts +10 -0
  80. package/dist/remarkable-pro/components/charts/charts.newFillGaps.hooks.d.ts.map +1 -0
  81. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts +20 -0
  82. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils.d.ts.map +1 -0
  83. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts +26 -0
  84. package/dist/remarkable-pro/components/charts/lines/LineChartComparisonDefaultPro/index.d.ts.map +1 -0
  85. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts +14 -0
  86. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.d.ts.map +1 -0
  87. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/index.d.ts +20 -0
  88. package/dist/remarkable-pro/components/charts/lines/LineChartDefaultPro/index.d.ts.map +1 -0
  89. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts +22 -0
  90. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils.d.ts.map +1 -0
  91. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.d.ts +21 -0
  92. package/dist/remarkable-pro/components/charts/lines/LineChartGroupedPro/index.d.ts.map +1 -0
  93. package/dist/remarkable-pro/components/charts/lines/lines.utils.d.ts +14 -0
  94. package/dist/remarkable-pro/components/charts/lines/lines.utils.d.ts.map +1 -0
  95. package/dist/remarkable-pro/components/component.constants.d.ts +40 -24
  96. package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -1
  97. package/dist/remarkable-pro/index.d.ts +1 -0
  98. package/dist/remarkable-pro/index.d.ts.map +1 -1
  99. package/dist/remarkable-pro/theme/formatter/formatter.constants.d.ts.map +1 -1
  100. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -1
  101. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -1
  102. package/dist/remarkable-pro/theme/theme.types.d.ts +9 -0
  103. package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
  104. package/dist/remarkable-pro/utils.ts/color.utils.d.ts +3 -0
  105. package/dist/remarkable-pro/utils.ts/color.utils.d.ts.map +1 -0
  106. package/dist/remarkable-ui/charts/lines/LineChart.d.ts.map +1 -1
  107. package/dist/remarkable-ui/charts/lines/lines.utils.d.ts.map +1 -1
  108. package/dist/remarkable-ui/index.d.ts +1 -0
  109. package/dist/remarkable-ui/index.d.ts.map +1 -1
  110. package/dist/remarkable-ui/styles/styles.constants.d.ts +4 -0
  111. package/dist/remarkable-ui/styles/styles.constants.d.ts.map +1 -1
  112. package/dist/remarkable-ui/styles/styles.utils.d.ts.map +1 -1
  113. package/dist/remarkable-ui.css +6 -2
  114. package/dist/timeRange.utils-KDn6xcVP.js +20 -0
  115. package/dist/timeRange.utils-KDn6xcVP.js.map +1 -0
  116. package/package.json +6 -4
  117. package/dist/charts.fillGaps.hooks-BvYoaRpE.js +0 -584
  118. package/dist/charts.fillGaps.hooks-BvYoaRpE.js.map +0 -1
  119. package/dist/component.constants-CL4mGURD.js.map +0 -1
  120. package/dist/object.utils-CaoDr05j.js.map +0 -1
  121. package/dist/remarkable-pro/components/charts/charts.fillGaps.hooks.d.ts +0 -25
  122. package/dist/remarkable-pro/components/charts/charts.fillGaps.hooks.d.ts.map +0 -1
  123. package/dist/remarkable-pro/components/charts/charts.fillGaps.utils.d.ts +0 -31
  124. package/dist/remarkable-pro/components/charts/charts.fillGaps.utils.d.ts.map +0 -1
@@ -1,84 +1,72 @@
1
1
  import { useTheme as V, defineComponent as x } from "@embeddable.com/react";
2
- import { S as j, i as w, r as A, j as v, d as L, w as O, T as q, U as E, t as I, c as M, W as P, X as p, o as h } from "./component.constants-CL4mGURD.js";
3
- import { C as Y } from "./ChartCard-BkrK3C4a.js";
4
- import { useEffect as B } from "react";
5
- import { K as J } from "./KpiChart-ClxfTTJ4.js";
6
- import { g as U } from "./formatter.utils-BaAiNARZ.js";
7
- import { C as W } from "./ComparisonPeriod.type.emb-Cli9Gpzq.js";
8
- const X = (e, a, o) => {
9
- var t;
10
- if (!e || !a)
11
- return;
12
- const r = e != null && e.relativeTimeString ? (t = o.defaults.dateRangesOptions.find((s) => s.value === (e == null ? void 0 : e.relativeTimeString))) == null ? void 0 : t.getRange() : e, n = o.defaults.comparisonPeriodsOptions.find(
13
- (s) => s.value === a
14
- );
15
- return n == null ? void 0 : n.getRange(r);
16
- }, _ = (e, a) => {
17
- const o = a.defaults.comparisonPeriodsOptions.find(
18
- (r) => r.value === e
19
- );
20
- return o ? j(o.label) : "";
21
- }, $ = (e) => {
22
- var d, u, C, f;
2
+ import { i as j, r as w, j as u, d as A, w as L, U as Y, W as q, t as E, c as M, X as P, Y as l, o as f } from "./component.constants-D7F6GsHW.js";
3
+ import { C as B } from "./ChartCard-DunjH70y.js";
4
+ import { useEffect as I } from "react";
5
+ import { K as J } from "./KpiChart-DVJLPOzo.js";
6
+ import { g as O } from "./formatter.utils--2w1e7GE.js";
7
+ import { g as U, a as W } from "./timeRange.utils-KDn6xcVP.js";
8
+ import { C as X } from "./ComparisonPeriod.type.emb-CARBg093.js";
9
+ const _ = (e) => {
10
+ var c, g, d, C;
23
11
  const a = V();
24
- w(a);
25
- const { title: o, description: r } = A(e), {
26
- changeFontSize: n,
27
- comparisonPeriod: t,
28
- comparisonDateRange: s,
29
- displayChangeAsPercentage: b,
30
- fontSize: D,
31
- measure: i,
32
- primaryDateRange: g,
33
- results: l,
34
- resultsComparison: m,
35
- reversePositiveNegativeColors: R,
36
- percentageDecimalPlaces: y,
37
- setComparisonDateRange: S
12
+ j(a);
13
+ const { title: o, description: t } = w(e), {
14
+ changeFontSize: D,
15
+ comparisonPeriod: i,
16
+ comparisonDateRange: h,
17
+ displayChangeAsPercentage: y,
18
+ fontSize: v,
19
+ measure: r,
20
+ primaryDateRange: p,
21
+ results: n,
22
+ resultsComparison: s,
23
+ reversePositiveNegativeColors: b,
24
+ percentageDecimalPlaces: R,
25
+ setComparisonDateRange: N
38
26
  } = e;
39
- B(() => {
40
- const c = X(
41
- g,
42
- t,
27
+ I(() => {
28
+ const m = U(
29
+ p,
30
+ i,
43
31
  a
44
32
  );
45
- S(c);
46
- }, [t, JSON.stringify(g), a]);
47
- const N = (u = (d = l.data) == null ? void 0 : d[0]) == null ? void 0 : u[i.name], T = s ? (f = (C = m == null ? void 0 : m.data) == null ? void 0 : C[0]) == null ? void 0 : f[i.name] : void 0, F = U(a), z = (c) => F.data(i, c), K = `vs ${_(t, a).toLowerCase()}`;
48
- return /* @__PURE__ */ v.jsx(
49
- Y,
33
+ N(m);
34
+ }, [i, JSON.stringify(p), a]);
35
+ const S = (g = (c = n.data) == null ? void 0 : c[0]) == null ? void 0 : g[r.name], F = h ? (C = (d = s == null ? void 0 : s.data) == null ? void 0 : d[0]) == null ? void 0 : C[r.name] : void 0, z = O(a), K = (m) => z.data(r, m), T = `vs ${W(i, a).toLowerCase()}`;
36
+ return /* @__PURE__ */ u.jsx(
37
+ B,
50
38
  {
51
- data: l,
52
- dimensionsAndMeasures: [i],
53
- errorMessage: l.error,
54
- subtitle: r,
39
+ data: n,
40
+ dimensionsAndMeasures: [r],
41
+ errorMessage: n.error,
42
+ subtitle: t,
55
43
  title: o,
56
- children: /* @__PURE__ */ v.jsx(
44
+ children: /* @__PURE__ */ u.jsx(
57
45
  J,
58
46
  {
59
- value: N,
60
- comparisonValue: T,
61
- valueFormatter: z,
62
- valueFontSize: D,
63
- changeFontSize: n,
64
- invertChangeColors: R,
65
- showChangeAsPercentage: b,
66
- comparisonLabel: K,
67
- percentageDecimalPlaces: y
47
+ value: S,
48
+ comparisonValue: F,
49
+ valueFormatter: K,
50
+ valueFontSize: v,
51
+ changeFontSize: D,
52
+ invertChangeColors: b,
53
+ showChangeAsPercentage: y,
54
+ comparisonLabel: T,
55
+ percentageDecimalPlaces: R
68
56
  }
69
57
  )
70
58
  }
71
59
  );
72
- }, k = {
60
+ }, $ = {
73
61
  name: "KpiChartNumberComparisonPro",
74
62
  label: "Kpi Chart - Number Comparison",
75
63
  category: "Kpi Charts",
76
64
  inputs: [
65
+ A,
77
66
  L,
78
- O,
79
- { ...q, name: "timeProperty", label: "Time Property" },
67
+ { ...Y, name: "timeProperty", label: "Time Property" },
80
68
  {
81
- ...E,
69
+ ...q,
82
70
  name: "primaryDateRange",
83
71
  label: "Primary Date Range",
84
72
  description: "You can also connect this to a date range selector using its variable",
@@ -86,12 +74,12 @@ const X = (e, a, o) => {
86
74
  },
87
75
  {
88
76
  name: "comparisonPeriod",
89
- type: W,
77
+ type: X,
90
78
  label: "Comparison Period",
91
79
  description: "You can also connect this to a comparison period selector using its variable",
92
80
  category: "Component Data"
93
81
  },
94
- I,
82
+ E,
95
83
  M,
96
84
  {
97
85
  ...P,
@@ -100,7 +88,7 @@ const X = (e, a, o) => {
100
88
  defaultValue: !1
101
89
  },
102
90
  {
103
- ...p,
91
+ ...l,
104
92
  name: "percentageDecimalPlaces",
105
93
  label: "Percentage Decimal Places",
106
94
  defaultValue: 1
@@ -111,22 +99,22 @@ const X = (e, a, o) => {
111
99
  label: "Reverse Positive/Negative Colors",
112
100
  defaultValue: !1
113
101
  },
114
- { ...p, name: "fontSize", label: "Font Size", defaultValue: 44, required: !0 },
102
+ { ...l, name: "fontSize", label: "Font Size", defaultValue: 44, required: !0 },
115
103
  {
116
- ...p,
104
+ ...l,
117
105
  name: "changeFontSize",
118
106
  label: "Change Font Size",
119
107
  defaultValue: 16,
120
108
  required: !0
121
109
  }
122
110
  ]
123
- }, re = x($, k, {
111
+ }, oe = x(_, $, {
124
112
  /* @ts-expect-error - to be fixed in @embeddable.com/react */
125
113
  props: (e, [a, o]) => ({
126
114
  ...e,
127
115
  comparisonDateRange: a == null ? void 0 : a.comparisonDateRange,
128
- setComparisonDateRange: (r) => o({ comparisonDateRange: r }),
129
- results: h({
116
+ setComparisonDateRange: (t) => o({ comparisonDateRange: t }),
117
+ results: f({
130
118
  from: e.dataset,
131
119
  select: [e.measure],
132
120
  limit: 1,
@@ -138,7 +126,7 @@ const X = (e, a, o) => {
138
126
  }
139
127
  ] : void 0
140
128
  }),
141
- resultsComparison: e.primaryDateRange && e.timeProperty && (a != null && a.comparisonDateRange) ? h({
129
+ resultsComparison: e.primaryDateRange && e.timeProperty && (a != null && a.comparisonDateRange) ? f({
142
130
  from: e.dataset,
143
131
  select: [e.measure],
144
132
  limit: 1,
@@ -153,7 +141,7 @@ const X = (e, a, o) => {
153
141
  })
154
142
  });
155
143
  export {
156
- re as default,
157
- k as meta
144
+ oe as default,
145
+ $ as meta
158
146
  };
159
147
  //# sourceMappingURL=KpiChartNumberComparisonPro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KpiChartNumberComparisonPro.js","sources":["../src/remarkable-pro/components/utils/timeRange.utils.ts","../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.tsx","../src/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/KpiChartNumberComparisonPro.emb.ts"],"sourcesContent":["import { TimeRange } from '@embeddable.com/core';\nimport { Theme } from '../../theme/theme.types';\nimport { resolveI18nString } from '../component.utils';\n\nexport const getComparisonPeriodDateRange = (\n primaryDateRange: TimeRange,\n comparisonPeriod: string | undefined,\n theme: Theme,\n): TimeRange => {\n if (!primaryDateRange || !comparisonPeriod) {\n return undefined;\n }\n\n const primaryDateRangeRange = primaryDateRange?.relativeTimeString\n ? theme.defaults.dateRangesOptions\n .find((option) => option.value === primaryDateRange?.relativeTimeString)\n ?.getRange()\n : primaryDateRange;\n\n const comparisonPeriodOption = theme.defaults.comparisonPeriodsOptions.find(\n (option) => option.value === comparisonPeriod,\n );\n\n return comparisonPeriodOption?.getRange(primaryDateRangeRange);\n};\n\nexport const getComparisonPeriodLabel = (\n comparisonPeriod: string | undefined,\n theme: Theme,\n): string => {\n const option = theme.defaults.comparisonPeriodsOptions.find(\n (option) => option.value === comparisonPeriod,\n );\n return option ? resolveI18nString(option.label) : '';\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Measure, TimeRange } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { KpiChart } from '../../../../../remarkable-ui';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\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 return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\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":["getComparisonPeriodDateRange","primaryDateRange","comparisonPeriod","theme","primaryDateRangeRange","_a","option","comparisonPeriodOption","getComparisonPeriodLabel","resolveI18nString","KpiChartNumberComparisonPro","props","useTheme","i18nSetup","title","description","resolveI18nProps","changeFontSize","comparisonDateRange","displayChangeAsPercentage","fontSize","measure","results","resultsComparison","reversePositiveNegativeColors","percentageDecimalPlaces","setComparisonDateRange","useEffect","newComparisonDateRange","value","_b","comparisonValue","_d","_c","themeFormatter","getThemeFormatter","valueFormatter","valueToFormat","comparisonLabel","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 { 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 return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[measure]}\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","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, X as N, o as S } from "./component.constants-CL4mGURD.js";
3
- import { C as j } from "./ChartCard-BkrK3C4a.js";
2
+ import { i as C, r as b, j as m, d as K, w as g, t as x, c as F, Y as N, o as S } from "./component.constants-D7F6GsHW.js";
3
+ import { C as j } from "./ChartCard-DunjH70y.js";
4
4
  import "react";
5
- import { K as v } from "./KpiChart-ClxfTTJ4.js";
6
- import { g as z } from "./formatter.utils-BaAiNARZ.js";
5
+ import { K as v } from "./KpiChart-DVJLPOzo.js";
6
+ import { g as z } from "./formatter.utils--2w1e7GE.js";
7
7
  const P = (e) => {
8
8
  var s, o;
9
9
  const a = h();
@@ -0,0 +1,404 @@
1
+ import { useTheme as V, defineComponent as X } from "@embeddable.com/react";
2
+ import { m as _, E as Y, C as w, Z as E, _ as k, $ as I, i as G, r as U, j as O, a0 as q, d as z, a as S, X as D, a1 as B, z as K, W as J, U as W, t as Z, c as H, s as Q, e as ee, f as ae, g as se, x as oe, y as te, p as ne, q as ie, u as re, o as F } from "./component.constants-D7F6GsHW.js";
3
+ import { C as le } from "./ChartCard-DunjH70y.js";
4
+ import { useEffect as me } from "react";
5
+ import { g as ce } from "./timeRange.utils-KDn6xcVP.js";
6
+ import { g as M } from "./formatter.utils--2w1e7GE.js";
7
+ import { g as de, a as pe } from "./object.utils-BNKDL7Y9.js";
8
+ import { i as ue, s as ge } from "./color.utils-CVyp-fGP.js";
9
+ import { u as N } from "./charts.newFillGaps.hooks-D6mnKJwQ.js";
10
+ import { C as he } from "./ComparisonPeriod.type.emb-CARBg093.js";
11
+ const v = "mainAxis", P = "comparisonAxis", $ = (a, o) => {
12
+ var A, L, b, R;
13
+ const { data: t, measure: n, dimension: e, index: c, isPreviousPeriod: r, hasMinMaxYAxisRange: m, labels: s } = a, l = t == null ? void 0 : t.map((C) => C[e.name]), g = !!((A = n.inputs) != null && A.connectGaps), d = s ? s.map((C) => {
14
+ const f = t == null ? void 0 : t.find((T) => T[e.name] === C);
15
+ return (f == null ? void 0 : f[n.name]) ?? (g ? 0 : null);
16
+ }) : t == null ? void 0 : t.map((C) => C[n.name] ?? (g ? 0 : null)), h = M(o), i = de(o), p = !!((L = n.inputs) != null && L[r ? "previousLineDashed" : "lineDashed"]), u = (b = n.inputs) == null ? void 0 : b[r ? "previousLineColor" : "lineColor"], x = ue(u) ? u : pe(
17
+ `${i}.charts.backgroundColors`,
18
+ n.name,
19
+ o.charts.backgroundColors ?? Y,
20
+ c
21
+ );
22
+ return {
23
+ xAxisID: r ? P : v,
24
+ labels: l,
25
+ label: (r ? `${E.t("common.compared")} ` : "") + h.dimensionOrMeasureTitle(n),
26
+ data: d,
27
+ backgroundColor: ge(
28
+ x,
29
+ w("--em-line-chart-line-fill-opacity")
30
+ ),
31
+ pointBackgroundColor: x,
32
+ borderDash: p ? [
33
+ w("--em-line-chart-line-dash-length"),
34
+ w("--em-line-chart-line-gap-length")
35
+ ] : void 0,
36
+ borderColor: x,
37
+ fill: (R = n.inputs) == null ? void 0 : R.fillUnderLine,
38
+ clip: m
39
+ };
40
+ }, xe = (a, o) => {
41
+ if (!a.data)
42
+ return { labels: [], datasets: [{ data: [] }] };
43
+ const { data: t, dataComparison: n, dimension: e, measures: c, hasMinMaxYAxisRange: r } = a, m = e.nativeType === "time", s = m ? void 0 : Array.from(
44
+ /* @__PURE__ */ new Set([
45
+ ...t.map((d) => d[e.name]),
46
+ ...(n == null ? void 0 : n.map((d) => d[e.name])) ?? []
47
+ ])
48
+ ), l = c.map(
49
+ (d, h) => $(
50
+ {
51
+ data: t,
52
+ measure: d,
53
+ dimension: e,
54
+ labels: s,
55
+ hasMinMaxYAxisRange: r,
56
+ index: h
57
+ },
58
+ o
59
+ )
60
+ ), g = c.map(
61
+ (d, h) => $(
62
+ {
63
+ data: n,
64
+ measure: d,
65
+ dimension: e,
66
+ labels: s,
67
+ hasMinMaxYAxisRange: r,
68
+ index: h,
69
+ isPreviousPeriod: !0
70
+ },
71
+ o
72
+ )
73
+ );
74
+ return {
75
+ labels: m ? t.map((d) => d[e.name]) : s,
76
+ datasets: [...l, ...g]
77
+ };
78
+ }, Ce = (a, o) => {
79
+ const { dimension: t, data: n, measures: e, xAxisLabel: c } = a, r = M(o);
80
+ return {
81
+ plugins: {
82
+ datalabels: {
83
+ labels: {
84
+ value: {
85
+ formatter: (s, l) => {
86
+ const g = e[l.datasetIndex % e.length];
87
+ return r.data(g, s);
88
+ }
89
+ }
90
+ }
91
+ },
92
+ tooltip: {
93
+ callbacks: {
94
+ title: (s) => s[0] ? r.data(t, s[0].label) : "",
95
+ label: (s) => {
96
+ const l = e[s.datasetIndex % e.length], g = s.raw;
97
+ return `${s.dataset.label}: ${r.data(l, g)}`;
98
+ }
99
+ }
100
+ }
101
+ },
102
+ scales: {
103
+ x: {
104
+ display: !1
105
+ },
106
+ [v]: {
107
+ title: {
108
+ ...I,
109
+ text: c,
110
+ display: !!c
111
+ },
112
+ grid: { display: !1 },
113
+ ticks: {
114
+ ...k,
115
+ callback(s) {
116
+ var l;
117
+ return r.data(t, (l = n.labels) == null ? void 0 : l[s]);
118
+ }
119
+ }
120
+ },
121
+ [P]: {
122
+ display: !1
123
+ },
124
+ y: {
125
+ ticks: {
126
+ callback: (s) => r.data(e[0], s)
127
+ }
128
+ }
129
+ }
130
+ };
131
+ }, be = (a, o) => {
132
+ var d, h;
133
+ const { dimension: t, data: n, measures: e, xAxisLabel: c, showComparisonAxis: r } = a, m = M(o), s = ((d = n.datasets.find((i) => i.xAxisID === v)) == null ? void 0 : d.labels) ?? [], l = ((h = n.datasets.find((i) => i.xAxisID === P)) == null ? void 0 : h.labels) ?? [];
134
+ return {
135
+ plugins: {
136
+ legend: {
137
+ labels: {
138
+ filter: (i, p) => {
139
+ if (!i) return !1;
140
+ const u = p.datasets[i.datasetIndex];
141
+ return Array.isArray(u.data) && u.data.length > 0;
142
+ }
143
+ }
144
+ },
145
+ datalabels: {
146
+ labels: {
147
+ value: {
148
+ formatter: (i, p) => {
149
+ const u = e[p.datasetIndex % e.length];
150
+ return m.data(u, i);
151
+ }
152
+ }
153
+ }
154
+ },
155
+ tooltip: {
156
+ callbacks: {
157
+ title: (i) => {
158
+ var y;
159
+ const p = (y = i[0]) == null ? void 0 : y.dataIndex;
160
+ if (p === void 0) return "";
161
+ const u = s[p] && m.data(t, s[p]), x = l[p] && m.data(t, l[p]);
162
+ return `${u ?? "-"} vs ${x ?? "-"}`;
163
+ },
164
+ label: (i) => {
165
+ const p = e[i.datasetIndex % e.length], u = i.raw;
166
+ return `${i.dataset.label}: ${m.data(p, u)}`;
167
+ }
168
+ }
169
+ }
170
+ },
171
+ scales: {
172
+ x: { display: !1 },
173
+ [v]: {
174
+ title: {
175
+ ...I,
176
+ text: c,
177
+ display: !!((!r || l.length === 0) && c)
178
+ },
179
+ grid: { display: !1 },
180
+ ticks: {
181
+ ...k,
182
+ callback: (i) => m.data(t, s[Number(i)])
183
+ }
184
+ },
185
+ [P]: {
186
+ title: {
187
+ ...I,
188
+ text: c,
189
+ display: !!c
190
+ },
191
+ grid: { display: !1 },
192
+ display: r && l.length > 0,
193
+ ticks: {
194
+ ...k,
195
+ callback: (i) => l.length === 0 ? "" : m.data(t, l[Number(i)])
196
+ }
197
+ },
198
+ y: {
199
+ ticks: {
200
+ callback: (i) => m.data(e[0], i)
201
+ }
202
+ }
203
+ }
204
+ };
205
+ }, fe = (a, o) => {
206
+ var n, e;
207
+ const t = a.dimension.nativeType === "time" ? be : Ce;
208
+ return _(
209
+ t(a, o),
210
+ ((e = (n = o.charts) == null ? void 0 : n.lineChartComparisonDefaultPro) == null ? void 0 : e.options) || {}
211
+ );
212
+ }, ye = (a) => {
213
+ const o = V();
214
+ G(o);
215
+ const { title: t, description: n, xAxisLabel: e, yAxisLabel: c } = U(a), {
216
+ comparisonPeriod: r,
217
+ measures: m,
218
+ xAxis: s,
219
+ reverseXAxis: l,
220
+ showLegend: g,
221
+ showLogarithmicScale: d,
222
+ showTooltips: h,
223
+ showValueLabels: i,
224
+ yAxisRangeMax: p,
225
+ yAxisRangeMin: u,
226
+ primaryDateRange: x,
227
+ comparisonDateRange: y,
228
+ showComparisonAxis: A,
229
+ setComparisonDateRange: L
230
+ } = a;
231
+ me(() => {
232
+ const j = ce(
233
+ x,
234
+ r,
235
+ o
236
+ );
237
+ L(j);
238
+ }, [r, JSON.stringify(x), o]);
239
+ const b = N({ results: a.results, dimension: s }), R = N({
240
+ results: a.resultsComparison,
241
+ dimension: s,
242
+ externalDateBounds: y
243
+ }), C = !!(x && r), f = xe(
244
+ {
245
+ data: b.data,
246
+ dataComparison: C ? R.data : void 0,
247
+ dimension: s,
248
+ measures: m,
249
+ hasMinMaxYAxisRange: !!(u || p)
250
+ },
251
+ o
252
+ ), T = fe(
253
+ {
254
+ data: f,
255
+ dimension: s,
256
+ measures: m,
257
+ xAxisLabel: e,
258
+ showComparisonAxis: A
259
+ },
260
+ o
261
+ );
262
+ return /* @__PURE__ */ O.jsx(
263
+ le,
264
+ {
265
+ data: b,
266
+ dimensionsAndMeasures: [...m, s],
267
+ errorMessage: b.error,
268
+ subtitle: n,
269
+ title: t,
270
+ children: /* @__PURE__ */ O.jsx(
271
+ q,
272
+ {
273
+ data: f,
274
+ reverseXAxis: l,
275
+ showLegend: g,
276
+ showLogarithmicScale: d,
277
+ showTooltips: h,
278
+ showValueLabels: i,
279
+ xAxisLabel: e,
280
+ yAxisLabel: c,
281
+ yAxisRangeMax: p,
282
+ yAxisRangeMin: u,
283
+ options: T
284
+ }
285
+ )
286
+ }
287
+ );
288
+ }, De = {
289
+ name: "LineChartComparisonDefaultPro",
290
+ label: "Line Chart Comparison - Default",
291
+ category: "Line Charts",
292
+ inputs: [
293
+ z,
294
+ {
295
+ ...S,
296
+ inputs: [
297
+ ...S.inputs,
298
+ { ...D, name: "fillUnderLine", label: "Fill under line" },
299
+ {
300
+ ...B,
301
+ name: "lineColor",
302
+ label: "Line color"
303
+ },
304
+ { ...B, name: "previousLineColor", label: "Previous line color" },
305
+ {
306
+ ...D,
307
+ name: "lineDashed",
308
+ label: "Primary line dashed",
309
+ defaultValue: !1
310
+ },
311
+ {
312
+ ...D,
313
+ name: "previousLineDashed",
314
+ label: "Compared line dashed",
315
+ defaultValue: !0
316
+ },
317
+ { ...D, name: "connectGaps", label: "Connect gaps", defaultValue: !0 }
318
+ ]
319
+ },
320
+ { ...K, label: "X-axis", name: "xAxis" },
321
+ {
322
+ ...J,
323
+ name: "primaryDateRange",
324
+ label: "Primary Date Range",
325
+ description: "You can also connect this to a date range selector using its variable",
326
+ category: "Component Data"
327
+ },
328
+ {
329
+ name: "comparisonPeriod",
330
+ type: he,
331
+ label: "Comparison Period",
332
+ description: "You can also connect this to a comparison period selector using its variable",
333
+ category: "Component Data"
334
+ },
335
+ {
336
+ ...W,
337
+ name: "timePropertyForNonTimeDimensions",
338
+ label: "Time property for non time dimensions",
339
+ description: "Choose the time property used for filtering comparison ranges. This will be ignored if your x-axis is already time-based.",
340
+ required: !1
341
+ },
342
+ Z,
343
+ H,
344
+ Q,
345
+ ee,
346
+ ae,
347
+ se,
348
+ oe,
349
+ te,
350
+ ne,
351
+ ie,
352
+ re,
353
+ {
354
+ ...D,
355
+ name: "showComparisonAxis",
356
+ label: "Display a comparison X-axis",
357
+ defaultValue: !0
358
+ }
359
+ ]
360
+ }, Oe = X(ye, De, {
361
+ /* @ts-expect-error - to be fixed in @embeddable.com/react */
362
+ props: (a, [o, t]) => {
363
+ const n = [
364
+ {
365
+ property: a.xAxis,
366
+ direction: "asc"
367
+ }
368
+ ], e = a.xAxis.nativeType === "time" ? a.xAxis : a.timePropertyForNonTimeDimensions;
369
+ return {
370
+ ...a,
371
+ comparisonDateRange: o == null ? void 0 : o.comparisonDateRange,
372
+ setComparisonDateRange: (c) => t({ comparisonDateRange: c }),
373
+ results: F({
374
+ from: a.dataset,
375
+ select: [...a.measures, a.xAxis],
376
+ orderBy: n,
377
+ filters: a.primaryDateRange && e ? [
378
+ {
379
+ property: e,
380
+ operator: "inDateRange",
381
+ value: a.primaryDateRange
382
+ }
383
+ ] : void 0
384
+ }),
385
+ resultsComparison: a.primaryDateRange && e && (o != null && o.comparisonDateRange) ? F({
386
+ from: a.dataset,
387
+ select: [...a.measures, a.xAxis],
388
+ orderBy: n,
389
+ filters: [
390
+ {
391
+ property: e,
392
+ operator: "inDateRange",
393
+ value: o.comparisonDateRange
394
+ }
395
+ ]
396
+ }) : void 0
397
+ };
398
+ }
399
+ });
400
+ export {
401
+ Oe as default,
402
+ De as meta
403
+ };
404
+ //# sourceMappingURL=LineChartComparisonDefaultPro.js.map