@embeddable.com/remarkable-pro 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +25 -85
  2. package/dist/BarChartDefaultHorizontalPro.js.map +1 -1
  3. package/dist/BarChartDefaultPro.js +25 -84
  4. package/dist/BarChartDefaultPro.js.map +1 -1
  5. package/dist/BarChartGroupedHorizontalPro.js +33 -102
  6. package/dist/BarChartGroupedHorizontalPro.js.map +1 -1
  7. package/dist/BarChartGroupedPro.js +27 -95
  8. package/dist/BarChartGroupedPro.js.map +1 -1
  9. package/dist/BarChartStackedHorizontalPro.js +28 -98
  10. package/dist/BarChartStackedHorizontalPro.js.map +1 -1
  11. package/dist/BarChartStackedPro.js +28 -97
  12. package/dist/BarChartStackedPro.js.map +1 -1
  13. package/dist/{ChartCard-C7c2rTst.js → ChartCard-hWESZ2Ps.js} +27 -27
  14. package/dist/{ChartCard-C7c2rTst.js.map → ChartCard-hWESZ2Ps.js.map} +1 -1
  15. package/dist/{Color.type.emb-CSPAaucR.js → Color.type.emb-CWTlQmpX.js} +2 -2
  16. package/dist/{Color.type.emb-CSPAaucR.js.map → Color.type.emb-CWTlQmpX.js.map} +1 -1
  17. package/dist/ColorEditor.js +2 -2
  18. package/dist/{ComparisonPeriod.type.emb-DOpJ1iWj.js → ComparisonPeriod.type.emb-A4w1cgoZ.js} +2 -2
  19. package/dist/{ComparisonPeriod.type.emb-DOpJ1iWj.js.map → ComparisonPeriod.type.emb-A4w1cgoZ.js.map} +1 -1
  20. package/dist/ComparisonPeriodSelectFieldPro.js +17 -58
  21. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  22. package/dist/DateRangeSelectFieldPro.js +3 -3
  23. package/dist/DonutChartPro.js +3 -3
  24. package/dist/DonutLabelChartPro.js +3 -3
  25. package/dist/EditorCard-BZ9OPW3m.js +32 -0
  26. package/dist/{EditorCard-BtlvgP9q.js.map → EditorCard-BZ9OPW3m.js.map} +1 -1
  27. package/dist/HeatMapPro.js +26 -93
  28. package/dist/HeatMapPro.js.map +1 -1
  29. package/dist/KpiChartNumberComparisonPro.js +25 -94
  30. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  31. package/dist/KpiChartNumberPro.js +14 -31
  32. package/dist/KpiChartNumberPro.js.map +1 -1
  33. package/dist/LineChartComparisonDefaultPro.js +59 -370
  34. package/dist/LineChartComparisonDefaultPro.js.map +1 -1
  35. package/dist/LineChartDefaultPro.js +31 -179
  36. package/dist/LineChartDefaultPro.js.map +1 -1
  37. package/dist/LineChartGroupedPro.js +30 -174
  38. package/dist/LineChartGroupedPro.js.map +1 -1
  39. package/dist/MultiSelectFieldPro.js +3 -3
  40. package/dist/PieChartPro.js +3 -3
  41. package/dist/PivotTablePro.js +23 -145
  42. package/dist/PivotTablePro.js.map +1 -1
  43. package/dist/SingleSelectFieldPro.js +3 -3
  44. package/dist/TableChartPaginated.js +37 -172
  45. package/dist/TableChartPaginated.js.map +1 -1
  46. package/dist/{bars.utils-JRnFN04m.js → bars.utils-wDaeYsgx.js} +7 -7
  47. package/dist/{bars.utils-JRnFN04m.js.map → bars.utils-wDaeYsgx.js.map} +1 -1
  48. package/dist/{charts.utils-DAkS2VK1.js → charts.utils-DvG9esg1.js} +4 -4
  49. package/dist/{charts.utils-DAkS2VK1.js.map → charts.utils-DvG9esg1.js.map} +1 -1
  50. package/dist/{component.constants-h6et83ck.js → component.constants-Dhb2rtRh.js} +2 -2
  51. package/dist/{component.constants-h6et83ck.js.map → component.constants-Dhb2rtRh.js.map} +1 -1
  52. package/dist/components/charts/tables/HeatMapPro/index.d.ts.map +1 -1
  53. package/dist/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts +1 -4
  54. package/dist/components/charts/tables/PivotTablePro/PivotPro.utils.d.ts.map +1 -1
  55. package/dist/components/charts/tables/PivotTablePro/index.d.ts.map +1 -1
  56. package/dist/components/charts/tables/tables.hooks.d.ts +17 -0
  57. package/dist/components/charts/tables/tables.hooks.d.ts.map +1 -0
  58. package/dist/embeddable-components.json +12 -12
  59. package/dist/{formatter.utils-DXzI4Hz_.js → formatter.utils-Bdp9Y-Lv.js} +2 -2
  60. package/dist/{formatter.utils-DXzI4Hz_.js.map → formatter.utils-Bdp9Y-Lv.js.map} +1 -1
  61. package/dist/index-B-x3eR8s.js +83 -0
  62. package/dist/index-B-x3eR8s.js.map +1 -0
  63. package/dist/index-B2-si8wa.js +82 -0
  64. package/dist/index-B2-si8wa.js.map +1 -0
  65. package/dist/{index-DF-AuKua.js → index-B7H0xf_l.js} +15 -14
  66. package/dist/{index-DF-AuKua.js.map → index-B7H0xf_l.js.map} +1 -1
  67. package/dist/index-BPkkRwcA.js +159 -0
  68. package/dist/index-BPkkRwcA.js.map +1 -0
  69. package/dist/{index-CWYH2gE2.js → index-BbEkJ2Zk.js} +5 -5
  70. package/dist/{index-CWYH2gE2.js.map → index-BbEkJ2Zk.js.map} +1 -1
  71. package/dist/index-BxkGSCbn.js +81 -0
  72. package/dist/index-BxkGSCbn.js.map +1 -0
  73. package/dist/index-C4uAHg_1.js +82 -0
  74. package/dist/index-C4uAHg_1.js.map +1 -0
  75. package/dist/index-CA0eQwx6.js +95 -0
  76. package/dist/index-CA0eQwx6.js.map +1 -0
  77. package/dist/index-CEyir5HV.js +326 -0
  78. package/dist/index-CEyir5HV.js.map +1 -0
  79. package/dist/{index-B4S34Z5S.js → index-CGLsIs8j.js} +6 -6
  80. package/dist/{index-B4S34Z5S.js.map → index-CGLsIs8j.js.map} +1 -1
  81. package/dist/{index-BR6dp5RX.js → index-CK9V-wz1.js} +13 -13
  82. package/dist/{index-BR6dp5RX.js.map → index-CK9V-wz1.js.map} +1 -1
  83. package/dist/index-CMy4Riwi.js +152 -0
  84. package/dist/index-CMy4Riwi.js.map +1 -0
  85. package/dist/index-CZ9yuIpZ.js +82 -0
  86. package/dist/index-CZ9yuIpZ.js.map +1 -0
  87. package/dist/{index-C8O2asSv.js → index-CvhDbU54.js} +5 -5
  88. package/dist/{index-C8O2asSv.js.map → index-CvhDbU54.js.map} +1 -1
  89. package/dist/{index-QOVQo6ZK.js → index-D4L5OYNQ.js} +5 -5
  90. package/dist/{index-QOVQo6ZK.js.map → index-D4L5OYNQ.js.map} +1 -1
  91. package/dist/index-DSAnOSq9.js +73 -0
  92. package/dist/index-DSAnOSq9.js.map +1 -0
  93. package/dist/index-DYa6RC1f.js +89 -0
  94. package/dist/index-DYa6RC1f.js.map +1 -0
  95. package/dist/index-DZypsIb4.js +30 -0
  96. package/dist/index-DZypsIb4.js.map +1 -0
  97. package/dist/index-DyLLyX5j.js +56 -0
  98. package/dist/index-DyLLyX5j.js.map +1 -0
  99. package/dist/index-YMH6QSSf.js +163 -0
  100. package/dist/index-YMH6QSSf.js.map +1 -0
  101. package/dist/{index-Czj-HZH9.js → index-cy3SJfGM.js} +5 -5
  102. package/dist/{index-Czj-HZH9.js.map → index-cy3SJfGM.js.map} +1 -1
  103. package/dist/index-uFQScwgQ.js +72 -0
  104. package/dist/index-uFQScwgQ.js.map +1 -0
  105. package/dist/index.d.ts +28 -6
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +122 -75
  108. package/dist/index.js.map +1 -1
  109. package/dist/{pies.utils-Bl8jquyV.js → pies.utils-eND-eqpj.js} +5 -5
  110. package/dist/{pies.utils-Bl8jquyV.js.map → pies.utils-eND-eqpj.js.map} +1 -1
  111. package/dist/remarkable-pro.css +1 -1
  112. package/dist/tables.hooks-BQdyUxau.js +45 -0
  113. package/dist/tables.hooks-BQdyUxau.js.map +1 -0
  114. package/dist/{timeRange.utils-CslTQiVA.js → timeRange.utils-DLTzyLvc.js} +2 -2
  115. package/dist/{timeRange.utils-CslTQiVA.js.map → timeRange.utils-DLTzyLvc.js.map} +1 -1
  116. package/package.json +2 -2
  117. package/dist/EditorCard-BtlvgP9q.js +0 -32
@@ -0,0 +1,56 @@
1
+ import { s as u, j as i, S as g } from "./index-CK9V-wz1.js";
2
+ import { useTheme as v } from "@embeddable.com/react";
3
+ import { g as h, u as f, a as y } from "./editors.timeRange.utils-DTtRGaCo.js";
4
+ import { $ as b, a as P, r as M, i as S } from "./component.constants-Dhb2rtRh.js";
5
+ import { E as j } from "./EditorCard-BZ9OPW3m.js";
6
+ import { useMemo as C, useEffect as O } from "react";
7
+ /**
8
+ * @license @tabler/icons-react v3.35.0 - MIT
9
+ *
10
+ * This source code is licensed under the MIT license.
11
+ * See the LICENSE file in the root directory of this source tree.
12
+ */
13
+ const R = [["path", { d: "M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4", key: "svg-0" }], ["path", { d: "M18 18m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0", key: "svg-1" }], ["path", { d: "M15 3v4", key: "svg-2" }], ["path", { d: "M7 3v4", key: "svg-3" }], ["path", { d: "M3 11h16", key: "svg-4" }], ["path", { d: "M18 16.496v1.504l1 1", key: "svg-5" }]], k = u("outline", "calendar-time", "CalendarTime", R), x = (o, e) => !o || e.some((a) => a.value === o), T = (o, e) => o.map((a) => ({
14
+ rightLabel: e ? h(a.getRange(e), a.dateFormat) : "",
15
+ value: a.value,
16
+ label: b(a.label)
17
+ })), _ = (o) => {
18
+ const e = v();
19
+ P(e);
20
+ const { description: a, placeholder: l, title: c, comparisonPeriod: t, onChange: s } = M(o), r = e.defaults.comparisonPeriodsOptions, n = C(
21
+ () => x(t, r),
22
+ [t, r]
23
+ );
24
+ O(() => {
25
+ n || s(void 0);
26
+ }, [n, s]);
27
+ const { dayjsLocaleReady: m } = f(), d = y(o.primaryDateRange, e);
28
+ if (!m)
29
+ return null;
30
+ const p = T(
31
+ r,
32
+ d
33
+ );
34
+ return /* @__PURE__ */ i.jsx(j, { title: c, subtitle: a, children: /* @__PURE__ */ i.jsx(
35
+ g,
36
+ {
37
+ startIcon: k,
38
+ clearable: !0,
39
+ placeholder: l,
40
+ value: n ? t : void 0,
41
+ onChange: s,
42
+ options: p,
43
+ noOptionsMessage: S.t("common.noOptionsAvailable")
44
+ }
45
+ ) });
46
+ }, z = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
47
+ __proto__: null,
48
+ default: _
49
+ }, Symbol.toStringTag, { value: "Module" }));
50
+ export {
51
+ _ as D,
52
+ x as a,
53
+ T as g,
54
+ z as i
55
+ };
56
+ //# sourceMappingURL=index-DyLLyX5j.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DyLLyX5j.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarTime.mjs","../src/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils.ts","../src/components/editors/ComparisonPeriodSelectFieldPro/index.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.35.0 - 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\": \"M11.795 21h-6.795a2 2 0 0 1 -2 -2v-12a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v4\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M18 18m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M15 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M7 3v4\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M3 11h16\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M18 16.496v1.504l1 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarTime = createReactComponent(\"outline\", \"calendar-time\", \"CalendarTime\", __iconNode);\n\nexport { __iconNode, IconCalendarTime as default };\n//# sourceMappingURL=IconCalendarTime.mjs.map\n","import { SelectListOptionProps } from '@embeddable.com/remarkable-ui';\nimport { TimeRange } from '@embeddable.com/core';\nimport { ComparisonPeriodSelectFieldProOption } from './ComparisonPeriodSelectFieldPro.types';\nimport { getTimeRangeLabel } from '../editors.timeRange.utils';\nimport { resolveI18nString } from '../../component.utils';\n\n// Checks if the comparison period type is available in the embeddable types\nexport const isComparisonPeriodAvailable = (\n option: string | undefined,\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n): boolean => {\n return !option || comparisonPeriodSelectFieldProOptions.some((opt) => opt.value === option);\n};\n\nexport const getComparisonPeriodSelectFieldProOptions = (\n comparisonPeriodSelectFieldProOptions: ComparisonPeriodSelectFieldProOption[],\n toCompareTimeRange: TimeRange,\n): SelectListOptionProps[] => {\n return comparisonPeriodSelectFieldProOptions.map((option) => {\n return {\n rightLabel: toCompareTimeRange\n ? getTimeRangeLabel(option.getRange(toCompareTimeRange), option.dateFormat)\n : '',\n value: option.value,\n label: resolveI18nString(option.label),\n };\n });\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { SingleSelectField } from '@embeddable.com/remarkable-ui';\nimport { Theme } from '../../../theme/theme.types';\nimport { useLoadDayjsLocale } from '../../../utils.ts/date.utils';\nimport { TimeRange } from '@embeddable.com/core';\nimport { resolveI18nProps } from '../../component.utils';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { IconCalendarTime } from '@tabler/icons-react';\nimport { i18n, i18nSetup } from '../../../theme/i18n/i18n';\nimport {\n getComparisonPeriodSelectFieldProOptions,\n isComparisonPeriodAvailable,\n} from './ComparisonPeriodSelectFieldPro.utils';\nimport { getTimeRangeFromTo } from '../editors.timeRange.utils';\nimport { useEffect, useMemo } from 'react';\n\ntype DateComparisonSelectFieldPro = {\n title?: string;\n description?: string;\n placeholder?: string;\n primaryDateRange?: TimeRange;\n comparisonPeriod?: string;\n onChange: (newComparisonPeriod?: string) => void;\n};\n\nconst DateComparisonSelectFieldPro = (props: DateComparisonSelectFieldPro) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { description, placeholder, title, comparisonPeriod, onChange } = resolveI18nProps(props);\n\n const comparisonPeriodOptions = theme.defaults.comparisonPeriodsOptions;\n\n const comparisonPeriodAvailable = useMemo(\n () => isComparisonPeriodAvailable(comparisonPeriod, comparisonPeriodOptions),\n [comparisonPeriod, comparisonPeriodOptions],\n );\n\n // If the current comparison period is not available, reset the field\n useEffect(() => {\n if (!comparisonPeriodAvailable) {\n onChange(undefined);\n }\n }, [comparisonPeriodAvailable, onChange]);\n\n const { dayjsLocaleReady } = useLoadDayjsLocale();\n\n // Obtain the actual range for the selected primaryDateRange\n const primaryDateRange = getTimeRangeFromTo(props.primaryDateRange, theme);\n\n if (!dayjsLocaleReady) {\n return null;\n }\n\n const options = getComparisonPeriodSelectFieldProOptions(\n comparisonPeriodOptions,\n primaryDateRange,\n );\n\n return (\n <EditorCard title={title} subtitle={description}>\n <SingleSelectField\n startIcon={IconCalendarTime}\n clearable\n placeholder={placeholder}\n value={comparisonPeriodAvailable ? comparisonPeriod : undefined}\n onChange={onChange}\n options={options}\n noOptionsMessage={i18n.t('common.noOptionsAvailable')}\n />\n </EditorCard>\n );\n};\n\nexport default DateComparisonSelectFieldPro;\n"],"names":["__iconNode","IconCalendarTime","createReactComponent","isComparisonPeriodAvailable","option","comparisonPeriodSelectFieldProOptions","opt","getComparisonPeriodSelectFieldProOptions","toCompareTimeRange","getTimeRangeLabel","resolveI18nString","DateComparisonSelectFieldPro","props","theme","useTheme","i18nSetup","description","placeholder","title","comparisonPeriod","onChange","resolveI18nProps","comparisonPeriodOptions","comparisonPeriodAvailable","useMemo","useEffect","dayjsLocaleReady","useLoadDayjsLocale","primaryDateRange","getTimeRangeFromTo","options","jsx","EditorCard","SingleSelectField","i18n"],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,2EAA2E,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,4CAA4C,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,WAAW,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,UAAU,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,YAAY,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,wBAAwB,KAAO,QAAO,CAAE,CAAC,GAC9YC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU,GCHvFG,IAA8B,CACzCC,GACAC,MAEO,CAACD,KAAUC,EAAsC,KAAK,CAACC,MAAQA,EAAI,UAAUF,CAAM,GAG/EG,IAA2C,CACtDF,GACAG,MAEOH,EAAsC,IAAI,CAACD,OACzC;AAAA,EACL,YAAYI,IACRC,EAAkBL,EAAO,SAASI,CAAkB,GAAGJ,EAAO,UAAU,IACxE;AAAA,EACJ,OAAOA,EAAO;AAAA,EACd,OAAOM,EAAkBN,EAAO,KAAK;AAAA,EAExC,GCDGO,IAA+B,CAACC,MAAwC;AAC5E,QAAMC,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,EAAE,aAAAG,GAAa,aAAAC,GAAa,OAAAC,GAAO,kBAAAC,GAAkB,UAAAC,EAAA,IAAaC,EAAiBT,CAAK,GAExFU,IAA0BT,EAAM,SAAS,0BAEzCU,IAA4BC;AAAA,IAChC,MAAMrB,EAA4BgB,GAAkBG,CAAuB;AAAA,IAC3E,CAACH,GAAkBG,CAAuB;AAAA,EAAA;AAI5C,EAAAG,EAAU,MAAM;AACd,IAAKF,KACHH,EAAS,MAAS;AAAA,EAEtB,GAAG,CAACG,GAA2BH,CAAQ,CAAC;AAExC,QAAM,EAAE,kBAAAM,EAAA,IAAqBC,EAAA,GAGvBC,IAAmBC,EAAmBjB,EAAM,kBAAkBC,CAAK;AAEzE,MAAI,CAACa;AACH,WAAO;AAGT,QAAMI,IAAUvB;AAAA,IACde;AAAA,IACAM;AAAA,EAAA;AAGF,SACEG,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAd,GAAc,UAAUF,GAClC,UAAAe,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,WAAWhC;AAAA,MACX,WAAS;AAAA,MACT,aAAAgB;AAAA,MACA,OAAOM,IAA4BJ,IAAmB;AAAA,MACtD,UAAAC;AAAA,MACA,SAAAU;AAAA,MACA,kBAAkBI,EAAK,EAAE,2BAA2B;AAAA,IAAA;AAAA,EAAA,GAExD;AAEJ;;;;","x_google_ignoreList":[0]}
@@ -0,0 +1,163 @@
1
+ import { a as y, c as x, m as v, j as f, L as j } from "./index-CK9V-wz1.js";
2
+ import { useTheme as O } from "@embeddable.com/react";
3
+ import { a as w, r as P } from "./component.constants-Dhb2rtRh.js";
4
+ import { C as S } from "./ChartCard-hWESZ2Ps.js";
5
+ import { g as A } from "./formatter.utils-Bdp9Y-Lv.js";
6
+ import { g as F, a as L } from "./object.utils-D_Zzon-H.js";
7
+ import { i as k, s as R } from "./color.utils-BSg_DFOh.js";
8
+ import { u as T } from "./charts.fillGaps.hooks-YayOXVmt.js";
9
+ const _ = (n, r) => {
10
+ if (!n.data)
11
+ return {
12
+ labels: [],
13
+ datasets: [{ data: [] }]
14
+ };
15
+ const m = A(r), i = F(r), c = n.data;
16
+ return {
17
+ labels: c.map((e) => e[n.dimension.name]),
18
+ datasets: n.measures.map((e, s) => {
19
+ var d, b, g, C;
20
+ const u = !!((d = e.inputs) != null && d.connectGaps), h = c.map((p) => p[e.name] ?? (u ? 0 : null)), l = (b = e.inputs) == null ? void 0 : b.lineColor, a = y(), t = k(l) ? l : L(
21
+ `${i}.charts.backgroundColors`,
22
+ e.name,
23
+ r.charts.backgroundColors ?? a,
24
+ s
25
+ ), o = k(l) ? l : L(
26
+ `${i}.charts.borderColors`,
27
+ e.name,
28
+ r.charts.borderColors ?? a,
29
+ s
30
+ );
31
+ return {
32
+ clip: n.hasMinMaxYAxisRange,
33
+ label: m.dimensionOrMeasureTitle(e),
34
+ data: h,
35
+ backgroundColor: R(t, 0.5),
36
+ pointBackgroundColor: t,
37
+ borderDash: (g = e.inputs) != null && g.dashedLine ? [
38
+ x("--em-linechart-line-dash", "0.25rem"),
39
+ x("--em-linechart-line-gap", "0.25rem")
40
+ ] : void 0,
41
+ borderColor: o,
42
+ fill: !!((C = e.inputs) != null && C.fillUnderLine)
43
+ };
44
+ })
45
+ };
46
+ }, B = (n, r) => {
47
+ var h, l;
48
+ const { dimension: m, data: i, measures: c, onLineClicked: e } = n, s = A(r);
49
+ return v({
50
+ plugins: {
51
+ datalabels: {
52
+ labels: {
53
+ value: {
54
+ formatter: (a, t) => {
55
+ const o = c[t.datasetIndex];
56
+ return s.data(o, a);
57
+ }
58
+ }
59
+ }
60
+ },
61
+ tooltip: {
62
+ callbacks: {
63
+ title: (a) => {
64
+ var o;
65
+ const t = (o = a[0]) == null ? void 0 : o.label;
66
+ return s.data(m, t);
67
+ },
68
+ label: (a) => {
69
+ const t = c[a.datasetIndex], o = a.raw;
70
+ return `${s.data(m, a.dataset.label) || ""}: ${s.data(t, o)}`;
71
+ }
72
+ }
73
+ }
74
+ },
75
+ scales: {
76
+ x: {
77
+ ticks: {
78
+ callback: (a) => {
79
+ if (!i || !i.labels) return;
80
+ const t = i.labels[Number(a)];
81
+ return s.data(m, t);
82
+ }
83
+ }
84
+ },
85
+ y: {
86
+ ticks: {
87
+ callback: (a) => s.data(c[0], a)
88
+ }
89
+ }
90
+ },
91
+ onClick: (a, t, o) => {
92
+ const d = t[0], b = d ? o.data.labels[d.index] : null;
93
+ e({
94
+ dimensionValue: b
95
+ });
96
+ }
97
+ }, ((l = (h = r.charts) == null ? void 0 : h.lineChartDefaultPro) == null ? void 0 : l.options) || {});
98
+ }, D = (n) => {
99
+ const r = O();
100
+ w(r);
101
+ const { title: m, description: i, xAxisLabel: c, yAxisLabel: e } = P(n), {
102
+ measures: s,
103
+ xAxis: u,
104
+ reverseXAxis: h,
105
+ showLegend: l,
106
+ showLogarithmicScale: a,
107
+ showTooltips: t,
108
+ showValueLabels: o,
109
+ yAxisRangeMax: d,
110
+ yAxisRangeMin: b,
111
+ onLineClicked: g
112
+ } = n, C = T({
113
+ results: n.results,
114
+ dimension: u
115
+ }), p = _(
116
+ {
117
+ data: C.data,
118
+ dimension: u,
119
+ measures: s,
120
+ hasMinMaxYAxisRange: b != null || d != null
121
+ },
122
+ r
123
+ ), M = B(
124
+ { data: p, dimension: u, measures: s, onLineClicked: g },
125
+ r
126
+ );
127
+ return /* @__PURE__ */ f.jsx(
128
+ S,
129
+ {
130
+ data: C,
131
+ dimensionsAndMeasures: [...s, u],
132
+ errorMessage: C.error,
133
+ subtitle: i,
134
+ title: m,
135
+ children: /* @__PURE__ */ f.jsx(
136
+ j,
137
+ {
138
+ data: p,
139
+ reverseXAxis: h,
140
+ showLegend: l,
141
+ showLogarithmicScale: a,
142
+ showTooltips: t,
143
+ showValueLabels: o,
144
+ xAxisLabel: c,
145
+ yAxisLabel: e,
146
+ yAxisRangeMax: d,
147
+ yAxisRangeMin: b,
148
+ options: M
149
+ }
150
+ )
151
+ }
152
+ );
153
+ }, E = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
154
+ __proto__: null,
155
+ default: D
156
+ }, Symbol.toStringTag, { value: "Module" }));
157
+ export {
158
+ D as L,
159
+ B as a,
160
+ _ as g,
161
+ E as i
162
+ };
163
+ //# sourceMappingURL=index-YMH6QSSf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-YMH6QSSf.js","sources":["../src/components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils.ts","../src/components/charts/lines/LineChartDefaultPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { Theme } from '../../../../theme/theme.types';\nimport { ChartData, ChartOptions } from 'chart.js';\nimport { getThemeFormatter } from '../../../../theme/formatter/formatter.utils';\nimport { getObjectStableKey } from '../../../../utils.ts/object.utils';\nimport { getChartContrastColors, getStyleNumber } from '@embeddable.com/remarkable-ui';\nimport { getColor } from '../../../../theme/styles/styles.utils';\nimport { mergician } from 'mergician';\nimport { isColorValid, setColorAlpha } from '../../../../utils.ts/color.utils';\nimport { LineChartProOptionsClick } from '../lines.utils';\n\nexport const getLineChartProData = (\n props: {\n data: DataResponse['data'];\n dimension: Dimension;\n measures: Measure[];\n hasMinMaxYAxisRange: boolean;\n },\n theme: Theme,\n): ChartData<'line'> => {\n if (!props.data) {\n return {\n labels: [],\n datasets: [{ data: [] }],\n };\n }\n\n const themeFormatter = getThemeFormatter(theme);\n\n const themeKey = getObjectStableKey(theme);\n const groupedData = props.data;\n\n return {\n labels: groupedData.map((item) => {\n return item[props.dimension.name];\n }),\n datasets: props.measures.map((measure, index) => {\n const zeroFill = Boolean(measure.inputs?.['connectGaps']);\n const values = groupedData.map((item) => item[measure.name] ?? (zeroFill ? 0 : null));\n\n const lineColor = measure.inputs?.['lineColor'];\n const chartContrastColors = getChartContrastColors();\n const backgroundColor = isColorValid(lineColor)\n ? lineColor\n : getColor(\n `${themeKey}.charts.backgroundColors`,\n measure.name,\n theme.charts.backgroundColors ?? chartContrastColors,\n index,\n );\n\n const borderColor = isColorValid(lineColor)\n ? lineColor\n : getColor(\n `${themeKey}.charts.borderColors`,\n measure.name,\n theme.charts.borderColors ?? chartContrastColors,\n index,\n );\n\n return {\n clip: props.hasMinMaxYAxisRange,\n label: themeFormatter.dimensionOrMeasureTitle(measure),\n data: values,\n backgroundColor: setColorAlpha(backgroundColor, 0.5),\n pointBackgroundColor: backgroundColor,\n borderDash: measure.inputs?.['dashedLine']\n ? [\n getStyleNumber('--em-linechart-line-dash', '0.25rem'),\n getStyleNumber('--em-linechart-line-gap', '0.25rem'),\n ]\n : undefined,\n borderColor,\n fill: Boolean(measure.inputs?.['fillUnderLine']),\n } as ChartData<'line'>['datasets'][number];\n }),\n };\n};\n\nexport const getLineChartProOptions = (\n options: {\n dimension: Dimension;\n measures: Measure[];\n data: ChartData<'line'>;\n onLineClicked: LineChartProOptionsClick;\n },\n theme: Theme,\n): ChartOptions<'line'> => {\n const { dimension, data, measures, onLineClicked } = options;\n const themeFormatter = getThemeFormatter(theme);\n\n const lineChartOptions: ChartOptions<'line'> = {\n plugins: {\n datalabels: {\n labels: {\n value: {\n formatter: (value: string | number, context) => {\n const measure = measures[context.datasetIndex]!;\n return themeFormatter.data(measure, value);\n },\n },\n },\n },\n tooltip: {\n callbacks: {\n title: (context) => {\n const label = context[0]?.label;\n return themeFormatter.data(dimension, label);\n },\n label: (context) => {\n const measure = measures[context.datasetIndex]!;\n const raw = context.raw as number;\n return `${themeFormatter.data(dimension, context.dataset.label) || ''}: ${themeFormatter.data(measure, raw)}`;\n },\n },\n },\n },\n scales: {\n x: {\n ticks: {\n callback: (value) => {\n if (!data || !data.labels) return undefined;\n\n const label = data.labels[Number(value)] as string;\n return themeFormatter.data(dimension, label);\n },\n },\n },\n y: {\n ticks: {\n callback: (value) => {\n return themeFormatter.data(measures[0]!, value);\n },\n },\n },\n },\n onClick: (_event, elements, chart) => {\n const element = elements[0];\n const dimensionValue = (element ? chart.data.labels![element.index] : null) as string | null;\n\n onLineClicked({\n dimensionValue,\n });\n },\n };\n\n return mergician(lineChartOptions, theme.charts?.lineChartDefaultPro?.options || {});\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { getLineChartProData, getLineChartProOptions } from './LineChartDefaultPro.utils';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\nimport { LineChartProOptionsClick } from '../lines.utils';\nimport { LineChart } from '@embeddable.com/remarkable-ui';\n\nexport type LineChartProPropsOnLineClicked = { axisDimensionValue: string | null };\n\ntype LineChartProProp = {\n description: string;\n xAxis: Dimension;\n measures: Measure[];\n results: DataResponse;\n reverseXAxis: boolean;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showValueLabels: boolean;\n title: string;\n xAxisLabel: string;\n yAxisLabel: string;\n yAxisRangeMax?: number;\n yAxisRangeMin?: number;\n onLineClicked: LineChartProOptionsClick;\n};\n\nconst LineChartPro = (props: LineChartProProp) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const { title, description, xAxisLabel, yAxisLabel } = resolveI18nProps(props);\n const {\n measures,\n xAxis,\n reverseXAxis,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n yAxisRangeMax,\n yAxisRangeMin,\n onLineClicked,\n } = props;\n\n const results = useFillGaps({\n results: props.results,\n dimension: xAxis,\n });\n\n const data = getLineChartProData(\n {\n data: results.data,\n dimension: xAxis,\n measures,\n hasMinMaxYAxisRange: Boolean(yAxisRangeMin != null || yAxisRangeMax != null),\n },\n theme,\n );\n const options = getLineChartProOptions(\n { data, dimension: xAxis, measures, onLineClicked },\n theme,\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[...measures, xAxis]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <LineChart\n data={data}\n reverseXAxis={reverseXAxis}\n showLegend={showLegend}\n showLogarithmicScale={showLogarithmicScale}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n yAxisRangeMax={yAxisRangeMax}\n yAxisRangeMin={yAxisRangeMin}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default LineChartPro;\n"],"names":["getLineChartProData","props","theme","themeFormatter","getThemeFormatter","themeKey","getObjectStableKey","groupedData","item","measure","index","zeroFill","_a","values","lineColor","_b","chartContrastColors","getChartContrastColors","backgroundColor","isColorValid","getColor","borderColor","setColorAlpha","_c","getStyleNumber","_d","getLineChartProOptions","options","dimension","data","measures","onLineClicked","mergician","value","context","label","raw","_event","elements","chart","element","dimensionValue","LineChartPro","useTheme","i18nSetup","title","description","xAxisLabel","yAxisLabel","resolveI18nProps","xAxis","reverseXAxis","showLegend","showLogarithmicScale","showTooltips","showValueLabels","yAxisRangeMax","yAxisRangeMin","results","useFillGaps","jsx","ChartCard","LineChart"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { j as i, M } from "./index-BR6dp5RX.js";
2
- import { g as b } from "./formatter.utils-DXzI4Hz_.js";
1
+ import { j as i, M } from "./index-CK9V-wz1.js";
2
+ import { g as b } from "./formatter.utils-Bdp9Y-Lv.js";
3
3
  import { useTheme as O } from "@embeddable.com/react";
4
- import { E as j } from "./EditorCard-BtlvgP9q.js";
5
- import { r as x, i as v } from "./component.constants-h6et83ck.js";
4
+ import { E as j } from "./EditorCard-BZ9OPW3m.js";
5
+ import { r as x, i as v } from "./component.constants-Dhb2rtRh.js";
6
6
  const F = 200, _ = (l) => {
7
7
  var a, r;
8
8
  const m = O(), c = b(m), {
@@ -43,4 +43,4 @@ export {
43
43
  _ as a,
44
44
  C as i
45
45
  };
46
- //# sourceMappingURL=index-Czj-HZH9.js.map
46
+ //# sourceMappingURL=index-cy3SJfGM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-Czj-HZH9.js","sources":["../src/components/editors/MultiSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\ntype MultiSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues: string[];\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n};\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValues,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n"],"names":["MAX_OPTIONS","MultiSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValues","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","MultiSelectField","i18n","newValues"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAsB,CAACC,MAAoC;;AAC/D,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GACxC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,QAAQC,KAAkB,CAAA;AAAA,MAC1B,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAcX,KAAA,gBAAAA,EAAWW;AAAA,MACpC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
1
+ {"version":3,"file":"index-cy3SJfGM.js","sources":["../src/components/editors/MultiSelectFieldPro/index.tsx"],"sourcesContent":["import { DataResponse, Dimension } from '@embeddable.com/core';\nimport { getThemeFormatter } from '../../../theme/formatter/formatter.utils';\nimport { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../theme/theme.types';\nimport { EditorCard } from '../shared/EditorCard/EditorCard';\nimport { resolveI18nProps } from '../../component.utils';\nimport { i18n } from '../../../theme/i18n/i18n';\nimport { MultiSelectField } from '@embeddable.com/remarkable-ui';\n\nexport const MAX_OPTIONS = 200;\n\ntype MultiSelectFieldProProps = {\n title?: string;\n description?: string;\n dimension: Dimension;\n optionalSecondDimension?: Dimension;\n placeholder?: string;\n results: DataResponse;\n selectedValues: string[];\n maxOptions?: number;\n setSearchValue: (search: string) => void;\n onChange?: (newValues: string[]) => void;\n};\n\nconst MultiSelectFieldPro = (props: MultiSelectFieldProProps) => {\n const theme: Theme = useTheme() as Theme;\n const themeFormatter = getThemeFormatter(theme);\n const {\n title,\n description,\n dimension,\n optionalSecondDimension,\n placeholder,\n results,\n selectedValues,\n setSearchValue,\n onChange,\n } = resolveI18nProps(props);\n\n const options =\n results.data?.map((data) => {\n return {\n value: optionalSecondDimension ? data[optionalSecondDimension.name] : data[dimension.name],\n label: themeFormatter.data(dimension, data[dimension.name]),\n };\n }) ?? [];\n\n const showNoOptionsMessage = Boolean(!results.isLoading && (results.data?.length ?? 0) === 0);\n\n return (\n <EditorCard title={title} subtitle={description}>\n <MultiSelectField\n isClearable\n isSearchable\n isLoading={results.isLoading}\n values={selectedValues ?? []}\n options={options}\n placeholder={placeholder}\n noOptionsMessage={showNoOptionsMessage ? i18n.t('common.noOptionsFound') : undefined}\n onChange={(newValues) => onChange?.(newValues)}\n onSearch={setSearchValue}\n />\n </EditorCard>\n );\n};\n\nexport default MultiSelectFieldPro;\n"],"names":["MAX_OPTIONS","MultiSelectFieldPro","props","theme","useTheme","themeFormatter","getThemeFormatter","title","description","dimension","optionalSecondDimension","placeholder","results","selectedValues","setSearchValue","onChange","resolveI18nProps","options","_a","data","showNoOptionsMessage","_b","jsx","EditorCard","MultiSelectField","i18n","newValues"],"mappings":";;;;;AASO,MAAMA,IAAc,KAerBC,IAAsB,CAACC,MAAoC;;AAC/D,QAAMC,IAAeC,EAAA,GACfC,IAAiBC,EAAkBH,CAAK,GACxC;AAAA,IACJ,OAAAI;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEC,EAAiBd,CAAK,GAEpBe,MACJC,IAAAN,EAAQ,SAAR,gBAAAM,EAAc,IAAI,CAACC,OACV;AAAA,IACL,OAAOT,IAA0BS,EAAKT,EAAwB,IAAI,IAAIS,EAAKV,EAAU,IAAI;AAAA,IACzF,OAAOJ,EAAe,KAAKI,GAAWU,EAAKV,EAAU,IAAI,CAAC;AAAA,EAAA,QAExD,CAAA,GAEFW,IAA+B,CAACR,EAAQ,gBAAcS,IAAAT,EAAQ,SAAR,gBAAAS,EAAc,WAAU,OAAO;AAE3F,SACEC,gBAAAA,EAAAA,IAACC,GAAA,EAAW,OAAAhB,GAAc,UAAUC,GAClC,UAAAc,gBAAAA,EAAAA;AAAAA,IAACE;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,cAAY;AAAA,MACZ,WAAWZ,EAAQ;AAAA,MACnB,QAAQC,KAAkB,CAAA;AAAA,MAC1B,SAAAI;AAAA,MACA,aAAAN;AAAA,MACA,kBAAkBS,IAAuBK,EAAK,EAAE,uBAAuB,IAAI;AAAA,MAC3E,UAAU,CAACC,MAAcX,KAAA,gBAAAA,EAAWW;AAAA,MACpC,UAAUZ;AAAA,IAAA;AAAA,EAAA,GAEd;AAEJ;;;;;"}
@@ -0,0 +1,72 @@
1
+ import { m as M, j as l, B as P } from "./index-CK9V-wz1.js";
2
+ import { useTheme as y } from "@embeddable.com/react";
3
+ import { a as L, r as w } from "./component.constants-Dhb2rtRh.js";
4
+ import { C as S } from "./ChartCard-hWESZ2Ps.js";
5
+ import { a as _, b as v } from "./bars.utils-wDaeYsgx.js";
6
+ import { u as D } from "./charts.fillGaps.hooks-YayOXVmt.js";
7
+ const I = (t) => {
8
+ var i, n;
9
+ const s = y();
10
+ L(s);
11
+ const {
12
+ description: m,
13
+ dimension: e,
14
+ measures: a,
15
+ title: u,
16
+ xAxisLabel: x,
17
+ xAxisMaxItems: c,
18
+ yAxisLabel: d,
19
+ yAxisRangeMin: h,
20
+ yAxisRangeMax: p,
21
+ showLegend: f,
22
+ showLogarithmicScale: g,
23
+ showTooltips: b,
24
+ showValueLabels: C,
25
+ reverseXAxis: A,
26
+ onBarClicked: B
27
+ } = w(t), r = D({
28
+ results: t.results,
29
+ dimension: e
30
+ }), o = _(
31
+ { data: r.data, dimension: e, measures: a, maxItems: c },
32
+ s
33
+ ), j = M(
34
+ v({ measures: a, horizontal: !1, onBarClicked: B, data: o, dimension: e }, s),
35
+ // Format Y axis based on first measure
36
+ ((n = (i = s.charts) == null ? void 0 : i.barChartDefaultPro) == null ? void 0 : n.options) || {}
37
+ );
38
+ return /* @__PURE__ */ l.jsx(
39
+ S,
40
+ {
41
+ data: r,
42
+ dimensionsAndMeasures: [e, ...a],
43
+ errorMessage: r.error,
44
+ subtitle: m,
45
+ title: u,
46
+ children: /* @__PURE__ */ l.jsx(
47
+ P,
48
+ {
49
+ data: o,
50
+ showLegend: f,
51
+ showTooltips: b,
52
+ showValueLabels: C,
53
+ showLogarithmicScale: g,
54
+ xAxisLabel: x,
55
+ yAxisLabel: d,
56
+ reverseXAxis: A,
57
+ yAxisRangeMin: h,
58
+ yAxisRangeMax: p,
59
+ options: j
60
+ }
61
+ )
62
+ }
63
+ );
64
+ }, F = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
65
+ __proto__: null,
66
+ default: I
67
+ }, Symbol.toStringTag, { value: "Module" }));
68
+ export {
69
+ I as B,
70
+ F as i
71
+ };
72
+ //# sourceMappingURL=index-uFQScwgQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-uFQScwgQ.js","sources":["../src/components/charts/bars/BarChartDefaultPro/index.tsx"],"sourcesContent":["import { useTheme } from '@embeddable.com/react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { i18nSetup } from '../../../../theme/i18n/i18n';\nimport { ChartCard } from '../../shared/ChartCard/ChartCard';\nimport { resolveI18nProps } from '../../../component.utils';\nimport { BarChart } from '@embeddable.com/remarkable-ui';\nimport { getBarChartProData, getBarChartProOptions } from '../bars.utils';\nimport { mergician } from 'mergician';\nimport { DataResponse, Dimension, Measure } from '@embeddable.com/core';\nimport { useFillGaps } from '../../charts.fillGaps.hooks';\n\ntype BarChartDefaultProProps = {\n description: string;\n dimension: Dimension;\n measures: Measure[];\n results: DataResponse;\n title: string;\n xAxisLabel: string;\n xAxisMaxItems: number;\n yAxisLabel: string;\n yAxisRangeMin?: number;\n yAxisRangeMax?: number;\n showLegend: boolean;\n showLogarithmicScale: boolean;\n showTooltips: boolean;\n showValueLabels: boolean;\n reverseXAxis: boolean;\n onBarClicked: (args: { axisDimensionValue: string | null }) => void;\n};\n\nconst BarChartDefaultPro = (props: BarChartDefaultProProps) => {\n const theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const {\n description,\n dimension,\n measures,\n title,\n xAxisLabel,\n xAxisMaxItems,\n yAxisLabel,\n yAxisRangeMin,\n yAxisRangeMax,\n showLegend,\n showLogarithmicScale,\n showTooltips,\n showValueLabels,\n reverseXAxis,\n onBarClicked,\n } = resolveI18nProps(props);\n\n const results = useFillGaps({\n results: props.results,\n dimension,\n });\n\n const data = getBarChartProData(\n { data: results.data, dimension, measures, maxItems: xAxisMaxItems },\n theme,\n );\n\n const options = mergician(\n getBarChartProOptions({ measures, horizontal: false, onBarClicked, data, dimension }, theme), // Format Y axis based on first measure\n theme.charts?.barChartDefaultPro?.options || {},\n );\n\n return (\n <ChartCard\n data={results}\n dimensionsAndMeasures={[dimension, ...measures]}\n errorMessage={results.error}\n subtitle={description}\n title={title}\n >\n <BarChart\n data={data}\n showLegend={showLegend}\n showTooltips={showTooltips}\n showValueLabels={showValueLabels}\n showLogarithmicScale={showLogarithmicScale}\n xAxisLabel={xAxisLabel}\n yAxisLabel={yAxisLabel}\n reverseXAxis={reverseXAxis}\n yAxisRangeMin={yAxisRangeMin}\n yAxisRangeMax={yAxisRangeMax}\n options={options}\n />\n </ChartCard>\n );\n};\n\nexport default BarChartDefaultPro;\n"],"names":["BarChartDefaultPro","props","theme","useTheme","i18nSetup","description","dimension","measures","title","xAxisLabel","xAxisMaxItems","yAxisLabel","yAxisRangeMin","yAxisRangeMax","showLegend","showLogarithmicScale","showTooltips","showValueLabels","reverseXAxis","onBarClicked","resolveI18nProps","results","useFillGaps","data","getBarChartProData","options","mergician","getBarChartProOptions","_b","_a","jsx","ChartCard","BarChart"],"mappings":";;;;;;AA8BA,MAAMA,IAAqB,CAACC,MAAmC;;AAC7D,QAAMC,IAAQC,EAAA;AACd,EAAAC,EAAUF,CAAK;AAEf,QAAM;AAAA,IACJ,aAAAG;AAAA,IACA,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,eAAAC;AAAA,IACA,eAAAC;AAAA,IACA,YAAAC;AAAA,IACA,sBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,EAAiBnB,CAAK,GAEpBoB,IAAUC,EAAY;AAAA,IAC1B,SAASrB,EAAM;AAAA,IACf,WAAAK;AAAA,EAAA,CACD,GAEKiB,IAAOC;AAAA,IACX,EAAE,MAAMH,EAAQ,MAAM,WAAAf,GAAW,UAAAC,GAAU,UAAUG,EAAA;AAAA,IACrDR;AAAA,EAAA,GAGIuB,IAAUC;AAAA,IACdC,EAAsB,EAAE,UAAApB,GAAU,YAAY,IAAO,cAAAY,GAAc,MAAAI,GAAM,WAAAjB,EAAA,GAAaJ,CAAK;AAAA;AAAA,MAC3F0B,KAAAC,IAAA3B,EAAM,WAAN,gBAAA2B,EAAc,uBAAd,gBAAAD,EAAkC,YAAW,CAAA;AAAA,EAAC;AAGhD,SACEE,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,uBAAuB,CAACf,GAAW,GAAGC,CAAQ;AAAA,MAC9C,cAAcc,EAAQ;AAAA,MACtB,UAAUhB;AAAA,MACV,OAAAG;AAAA,MAEA,UAAAsB,gBAAAA,EAAAA;AAAAA,QAACE;AAAA,QAAA;AAAA,UACC,MAAAT;AAAA,UACA,YAAAT;AAAA,UACA,cAAAE;AAAA,UACA,iBAAAC;AAAA,UACA,sBAAAF;AAAA,UACA,YAAAN;AAAA,UACA,YAAAE;AAAA,UACA,cAAAO;AAAA,UACA,eAAAN;AAAA,UACA,eAAAC;AAAA,UACA,SAAAY;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;;;"}
package/dist/index.d.ts CHANGED
@@ -6,17 +6,39 @@ export * from './theme/theme.constants';
6
6
  export type { NumberFormatter, DateTimeFormatter, StringFormatter, ThemeFormatter, } from './theme/formatter/formatter.types';
7
7
  export { getThemeFormatter } from './theme/formatter/formatter.utils';
8
8
  export { resolveI18nProps } from './components/component.utils';
9
- export { ChartCard } from './components/charts/shared/ChartCard/ChartCard';
10
- export * from './components/component.constants';
11
- export * from './components/charts/pies/pies.types';
12
- export * as PieChartPro from './components/charts/pies/PieChartPro';
9
+ export * as BarChartDefaultPro from './components/charts/bars/BarChartDefaultPro';
10
+ export * as BarChartStackedPro from './components/charts/bars/BarChartStackedPro';
11
+ export * as BarChartGroupedPro from './components/charts/bars/BarChartGroupedPro';
12
+ export * as BarChartDefaultHorizontalPro from './components/charts/bars/BarChartDefaultHorizontalPro';
13
+ export * as BarChartStackedHorizontalPro from './components/charts/bars/BarChartStackedHorizontalPro';
14
+ export * as BarChartGroupedHorizontalPro from './components/charts/bars/BarChartGroupedHorizontalPro';
15
+ export * from './components/charts/bars/bars.utils';
16
+ export * as KpiChartNumberPro from './components/charts/kpis/KpiChartNumberPro';
17
+ export * as KpiChartNumberComparisonPro from './components/charts/kpis/KpiChartNumberComparisonPro';
18
+ export * as LineChartDefaultPro from './components/charts/lines/LineChartDefaultPro';
19
+ export * as LineChartGroupedPro from './components/charts/lines/LineChartGroupedPro';
20
+ export * as LineChartComparisonDefaultPro from './components/charts/lines/LineChartComparisonDefaultPro';
21
+ export * from './components/charts/lines/LineChartComparisonDefaultPro/LineChartComparisonDefaultPro.utils';
22
+ export * from './components/charts/lines/LineChartDefaultPro/LineChartDefaultPro.utils';
23
+ export * from './components/charts/lines/LineChartGroupedPro/LineChartGroupedPro.utils';
13
24
  export * as DonutChartPro from './components/charts/pies/DonutChartPro';
25
+ export * as PieChartPro from './components/charts/pies/PieChartPro';
14
26
  export * as DonutLabelChartPro from './components/charts/pies/DonutLabelChartPro';
27
+ export * from './components/charts/pies/pies.types';
15
28
  export * from './components/charts/pies/pies.utils';
16
- export { EditorCard } from './components/editors/shared/EditorCard/EditorCard';
29
+ export * as HeatMapPro from './components/charts/tables/HeatMapPro';
30
+ export * as PivotTablePro from './components/charts/tables/PivotTablePro';
31
+ export * as TableChartPaginatedPro from './components/charts/tables/TableChartPaginated';
32
+ export * from './components/charts/tables/tables.utils';
33
+ export { ChartCard } from './components/charts/shared/ChartCard/ChartCard';
34
+ export * from './components/component.constants';
35
+ export * as ComparisonPeriodSelectFieldPro from './components/editors/ComparisonPeriodSelectFieldPro';
36
+ export * from './components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.utils';
37
+ export * as DateRangeSelectFieldPro from './components/editors/DateRangeSelectFieldPro';
38
+ export * from './components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.utils';
17
39
  export * as MultiSelectFieldPro from './components/editors/MultiSelectFieldPro';
18
40
  export * as SingleSelectFieldPro from './components/editors/SingleSelectFieldPro';
19
- export * as DateRangeSelectFieldPro from './components/editors/DateRangeSelectFieldPro';
41
+ export { EditorCard } from './components/editors/shared/EditorCard/EditorCard';
20
42
  export { default as ComparisonPeriodType } from './components/types/ComparisonPeriod.type.emb';
21
43
  export { setColorAlpha, isColorValid } from './utils.ts/color.utils';
22
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AAGxC,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,OAAO,KAAK,WAAW,MAAM,sCAAsC,CAAC;AACpE,OAAO,KAAK,aAAa,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,cAAc,qCAAqC,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,mDAAmD,CAAC;AAC/E,OAAO,KAAK,mBAAmB,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,oBAAoB,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,uBAAuB,MAAM,8CAA8C,CAAC;AAGxF,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGpD,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AAGxC,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,cAAc,GACf,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,OAAO,KAAK,4BAA4B,MAAM,uDAAuD,CAAC;AACtG,cAAc,qCAAqC,CAAC;AAEpD,OAAO,KAAK,iBAAiB,MAAM,4CAA4C,CAAC;AAChF,OAAO,KAAK,2BAA2B,MAAM,sDAAsD,CAAC;AAEpG,OAAO,KAAK,mBAAmB,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,mBAAmB,MAAM,+CAA+C,CAAC;AACrF,OAAO,KAAK,6BAA6B,MAAM,yDAAyD,CAAC;AACzG,cAAc,6FAA6F,CAAC;AAC5G,cAAc,yEAAyE,CAAC;AACxF,cAAc,yEAAyE,CAAC;AAExF,OAAO,KAAK,aAAa,MAAM,wCAAwC,CAAC;AACxE,OAAO,KAAK,WAAW,MAAM,sCAAsC,CAAC;AACpE,OAAO,KAAK,kBAAkB,MAAM,6CAA6C,CAAC;AAClF,cAAc,qCAAqC,CAAC;AACpD,cAAc,qCAAqC,CAAC;AAEpD,OAAO,KAAK,UAAU,MAAM,uCAAuC,CAAC;AACpE,OAAO,KAAK,aAAa,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,sBAAsB,MAAM,gDAAgD,CAAC;AACzF,cAAc,yCAAyC,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAC3E,cAAc,kCAAkC,CAAC;AAGjD,OAAO,KAAK,8BAA8B,MAAM,qDAAqD,CAAC;AACtG,cAAc,0FAA0F,CAAC;AACzG,OAAO,KAAK,uBAAuB,MAAM,8CAA8C,CAAC;AACxF,cAAc,4EAA4E,CAAC;AAC3F,OAAO,KAAK,mBAAmB,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,oBAAoB,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,mDAAmD,CAAC;AAG/E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAG/F,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC"}