@embeddable.com/remarkable-ui 0.1.14 → 0.1.16

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 (70) hide show
  1. package/dist/BarChartDefaultHorizontalPro.js +3 -3
  2. package/dist/BarChartDefaultPro.js +3 -3
  3. package/dist/BarChartGroupedHorizontalPro.js +3 -3
  4. package/dist/BarChartGroupedPro.js +3 -3
  5. package/dist/BarChartStackedHorizontalPro.js +3 -3
  6. package/dist/BarChartStackedPro.js +3 -3
  7. package/dist/{BaseButton-BbhHQD9t.js → BaseButton-BJ_6r0uk.js} +2 -2
  8. package/dist/{BaseButton-BbhHQD9t.js.map → BaseButton-BJ_6r0uk.js.map} +1 -1
  9. package/dist/{ChartCard-11lQWjXq.js → ChartCard-Cb0QE9kP.js} +3 -3
  10. package/dist/{ChartCard-11lQWjXq.js.map → ChartCard-Cb0QE9kP.js.map} +1 -1
  11. package/dist/ComparisonPeriod.type.emb-BHz2X91i.js +14 -0
  12. package/dist/ComparisonPeriod.type.emb-BHz2X91i.js.map +1 -0
  13. package/dist/ComparisonPeriodSelectFieldPro.js +4 -4
  14. package/dist/DateRangeSelectFieldPro.js +2 -2
  15. package/dist/DonutChartPro.js +2 -2
  16. package/dist/DonutLabelChartPro.js +2 -2
  17. package/dist/{EditorCard-BriyqUva.js → EditorCard-DWz8Bm-e.js} +2 -2
  18. package/dist/{EditorCard-BriyqUva.js.map → EditorCard-DWz8Bm-e.js.map} +1 -1
  19. package/dist/KpiChart-B2OqbXRg.js +79 -0
  20. package/dist/KpiChart-B2OqbXRg.js.map +1 -0
  21. package/dist/KpiChartNumberComparisonPro.js +58 -50
  22. package/dist/KpiChartNumberComparisonPro.js.map +1 -1
  23. package/dist/KpiChartNumberPro.js +4 -4
  24. package/dist/MultiSelectFieldPro.js +2 -2
  25. package/dist/PieChartPro.js +2 -2
  26. package/dist/{SingleSelectField-D1E9OJxC.js → SingleSelectField-BJnoOYrw.js} +3 -3
  27. package/dist/{SingleSelectField-D1E9OJxC.js.map → SingleSelectField-BJnoOYrw.js.map} +1 -1
  28. package/dist/SingleSelectFieldPro.js +2 -2
  29. package/dist/{charts.fillGaps.hooks-t2xhHbW-.js → charts.fillGaps.hooks-C5Gy3QoW.js} +148 -132
  30. package/dist/charts.fillGaps.hooks-C5Gy3QoW.js.map +1 -0
  31. package/dist/{component.constants-DIhZCTG3.js → component.constants-Bn9l4N1t.js} +3 -2
  32. package/dist/{component.constants-DIhZCTG3.js.map → component.constants-Bn9l4N1t.js.map} +1 -1
  33. package/dist/embeddable-components.json +8 -8
  34. package/dist/embeddable-theme-2b917.js +1 -1
  35. package/dist/embeddable-types-4ace4.js +4 -5
  36. package/dist/embeddable-types.js.map +1 -1
  37. package/dist/{formatter.utils-CuZlh4EL.js → formatter.utils-Ba_5cIcm.js} +2 -2
  38. package/dist/{formatter.utils-CuZlh4EL.js.map → formatter.utils-Ba_5cIcm.js.map} +1 -1
  39. package/dist/{index-C-zjH8iP.js → index-6ilf5W1J.js} +5 -5
  40. package/dist/{index-C-zjH8iP.js.map → index-6ilf5W1J.js.map} +1 -1
  41. package/dist/{index-9F910tDw.js → index-BOzeG3mG.js} +4 -4
  42. package/dist/{index-9F910tDw.js.map → index-BOzeG3mG.js.map} +1 -1
  43. package/dist/{index-B8y21zu2.js → index-Chlmh1dF.js} +4 -4
  44. package/dist/{index-B8y21zu2.js.map → index-Chlmh1dF.js.map} +1 -1
  45. package/dist/{index-Ddf7wtBP.js → index-CjS39lkd.js} +5 -5
  46. package/dist/{index-Ddf7wtBP.js.map → index-CjS39lkd.js.map} +1 -1
  47. package/dist/{index-YRbjfwIA.js → index-CobXKlOi.js} +4 -4
  48. package/dist/{index-YRbjfwIA.js.map → index-CobXKlOi.js.map} +1 -1
  49. package/dist/{index-DqKfDjMs.js → index-DYBt2TuY.js} +5 -5
  50. package/dist/{index-DqKfDjMs.js.map → index-DYBt2TuY.js.map} +1 -1
  51. package/dist/index.js +18 -18
  52. package/dist/{object.utils-DhhMwS2t.js → object.utils-9RGrU0vr.js} +4 -4
  53. package/dist/object.utils-9RGrU0vr.js.map +1 -0
  54. package/dist/{pies.utils-Cmzdr27l.js → pies.utils-BecIV2nV.js} +4 -4
  55. package/dist/{pies.utils-Cmzdr27l.js.map → pies.utils-BecIV2nV.js.map} +1 -1
  56. package/dist/remarkable-pro/components/charts/bars/bars.utils.d.ts.map +1 -1
  57. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +1 -0
  58. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -1
  59. package/dist/remarkable-pro/components/component.constants.d.ts +1 -0
  60. package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -1
  61. package/dist/remarkable-ui/charts/kpis/KpiChart.d.ts.map +1 -1
  62. package/dist/remarkable-ui/charts/kpis/KpiChart.types.d.ts +1 -0
  63. package/dist/remarkable-ui/charts/kpis/KpiChart.types.d.ts.map +1 -1
  64. package/package.json +1 -1
  65. package/dist/ComparisonPeriod.type.emb-D51Sg3wt.js +0 -15
  66. package/dist/ComparisonPeriod.type.emb-D51Sg3wt.js.map +0 -1
  67. package/dist/KpiChart-Cp9ZUyRz.js +0 -77
  68. package/dist/KpiChart-Cp9ZUyRz.js.map +0 -1
  69. package/dist/charts.fillGaps.hooks-t2xhHbW-.js.map +0 -1
  70. package/dist/object.utils-DhhMwS2t.js.map +0 -1
@@ -1,7 +1,7 @@
1
- import { i as L, r as w, m as M, j as n, 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 F, l as W, n as Y, V as E, o as G } from "./component.constants-DIhZCTG3.js";
1
+ import { i as L, r as w, m as M, j as n, 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 F, l as W, n as Y, V as E, o as G } from "./component.constants-Bn9l4N1t.js";
2
2
  import { useTheme as O, defineComponent as _ } from "@embeddable.com/react";
3
- import { C as q } from "./ChartCard-11lQWjXq.js";
4
- import { u as J, g as K, a as N, B as Q } from "./charts.fillGaps.hooks-t2xhHbW-.js";
3
+ import { C as q } from "./ChartCard-Cb0QE9kP.js";
4
+ import { u as J, g as K, a as N, B as Q } from "./charts.fillGaps.hooks-C5Gy3QoW.js";
5
5
  const U = (a) => {
6
6
  var o, i;
7
7
  const e = O();
@@ -1,7 +1,7 @@
1
- import { i as L, r as y, m as w, j as n, 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 F, p as W, q as X, u as q, v as z, V as E, o as G } from "./component.constants-DIhZCTG3.js";
1
+ import { i as L, r as y, m as w, j as n, 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 F, p as W, q as X, u as q, v as z, V as E, o as G } from "./component.constants-Bn9l4N1t.js";
2
2
  import { useTheme as O, defineComponent as _ } from "@embeddable.com/react";
3
- import { C as H } from "./ChartCard-11lQWjXq.js";
4
- import { u as J, g as K, a as N, B as Q } from "./charts.fillGaps.hooks-t2xhHbW-.js";
3
+ import { C as H } from "./ChartCard-Cb0QE9kP.js";
4
+ import { u as J, g as K, a as N, B as Q } from "./charts.fillGaps.hooks-C5Gy3QoW.js";
5
5
  const U = (a) => {
6
6
  var i, o;
7
7
  const s = O();
@@ -1,7 +1,7 @@
1
- import { i as f, r as w, m as k, j as l, d as z, w as G, b as P, z as M, t as H, c as R, s as j, e as v, f as S, g as T, x as F, y as Y, h as W, k as E, l as I, V as u, o as O } from "./component.constants-DIhZCTG3.js";
1
+ import { i as f, r as w, m as k, j as l, d as z, w as G, b as P, z as M, t as H, c as R, s as j, e as v, f as S, g as T, x as F, y as Y, h as W, k as E, l as I, V as u, o as O } from "./component.constants-Bn9l4N1t.js";
2
2
  import { useTheme as _, defineComponent as q } from "@embeddable.com/react";
3
- import { C as J } from "./ChartCard-11lQWjXq.js";
4
- import { u as K, b as N, a as Q, B as U } from "./charts.fillGaps.hooks-t2xhHbW-.js";
3
+ import { C as J } from "./ChartCard-Cb0QE9kP.js";
4
+ import { u as K, b as N, a as Q, B as U } from "./charts.fillGaps.hooks-C5Gy3QoW.js";
5
5
  const X = (a) => {
6
6
  var t, n;
7
7
  const e = _();
@@ -1,7 +1,7 @@
1
- import { i as L, r as w, m as G, j as l, d as k, w as P, b as M, z as R, t as j, c as v, s as S, e as T, f as F, g as X, x as z, y as W, p as q, q as E, u as I, V as u, o as O } from "./component.constants-DIhZCTG3.js";
1
+ import { i as L, r as w, m as G, j as l, d as k, w as P, b as M, z as R, t as j, c as v, s as S, e as T, f as F, g as X, x as z, y as W, p as q, q as E, u as I, V as u, o as O } from "./component.constants-Bn9l4N1t.js";
2
2
  import { useTheme as _, defineComponent as H } from "@embeddable.com/react";
3
- import { C as J } from "./ChartCard-11lQWjXq.js";
4
- import { u as K, b as N, a as Q, B as U } from "./charts.fillGaps.hooks-t2xhHbW-.js";
3
+ import { C as J } from "./ChartCard-Cb0QE9kP.js";
4
+ import { u as K, b as N, a as Q, B as U } from "./charts.fillGaps.hooks-C5Gy3QoW.js";
5
5
  const Y = (e) => {
6
6
  var t, n;
7
7
  const a = _();
@@ -1,7 +1,7 @@
1
- import { i as L, r as w, m as f, j as l, d as S, w as z, b as P, z as M, t as H, c as R, s as T, e as j, f as v, g as F, x as G, y as Y, h as W, k as E, l as I, A as O, V as m, o as _ } from "./component.constants-DIhZCTG3.js";
1
+ import { i as L, r as w, m as f, j as l, d as S, w as z, b as P, z as M, t as H, c as R, s as T, e as j, f as v, g as F, x as G, y as Y, h as W, k as E, l as I, A as O, V as m, o as _ } from "./component.constants-Bn9l4N1t.js";
2
2
  import { useTheme as q, defineComponent as J } from "@embeddable.com/react";
3
- import { C as K } from "./ChartCard-11lQWjXq.js";
4
- import { u as N, b as Q, a as U, B as X } from "./charts.fillGaps.hooks-t2xhHbW-.js";
3
+ import { C as K } from "./ChartCard-Cb0QE9kP.js";
4
+ import { u as N, b as Q, a as U, B as X } from "./charts.fillGaps.hooks-C5Gy3QoW.js";
5
5
  const Z = (a) => {
6
6
  var i, n;
7
7
  const e = q();
@@ -1,7 +1,7 @@
1
- import { i as L, r as f, m as w, j as l, d as S, w as P, b as M, z as R, t as T, c as j, s as v, e as F, f as G, g as X, x as z, y as W, p as q, q as E, u as I, A as O, V as m, o as _ } from "./component.constants-DIhZCTG3.js";
1
+ import { i as L, r as f, m as w, j as l, d as S, w as P, b as M, z as R, t as T, c as j, s as v, e as F, f as G, g as X, x as z, y as W, p as q, q as E, u as I, A as O, V as m, o as _ } from "./component.constants-Bn9l4N1t.js";
2
2
  import { useTheme as H, defineComponent as J } from "@embeddable.com/react";
3
- import { C as K } from "./ChartCard-11lQWjXq.js";
4
- import { u as N, b as Q, a as U, B as Y } from "./charts.fillGaps.hooks-t2xhHbW-.js";
3
+ import { C as K } from "./ChartCard-Cb0QE9kP.js";
4
+ import { u as N, b as Q, a as U, B as Y } from "./charts.fillGaps.hooks-C5Gy3QoW.js";
5
5
  const Z = (a) => {
6
6
  var o, n;
7
7
  const e = H();
@@ -1,4 +1,4 @@
1
- import { j as c, a1 as e } from "./component.constants-DIhZCTG3.js";
1
+ import { j as c, a1 as e } from "./component.constants-Bn9l4N1t.js";
2
2
  const i = "_baseButton_1tlim_1", m = "_primary_1tlim_15", _ = "_secondary_1tlim_35", u = "_icon_1tlim_56", t = {
3
3
  baseButton: i,
4
4
  primary: m,
@@ -21,4 +21,4 @@ const i = "_baseButton_1tlim_1", m = "_primary_1tlim_15", _ = "_secondary_1tlim_
21
21
  export {
22
22
  l as B
23
23
  };
24
- //# sourceMappingURL=BaseButton-BbhHQD9t.js.map
24
+ //# sourceMappingURL=BaseButton-BJ_6r0uk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseButton-BbhHQD9t.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
+ {"version":3,"file":"BaseButton-BJ_6r0uk.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,7 +1,7 @@
1
- import { Z as p, j as t, a1 as k, av as y, i as x, a8 as v, ab as N, R as d, a9 as B, a2 as I, a3 as L, a5 as S, a7 as C, aw as R } from "./component.constants-DIhZCTG3.js";
1
+ import { Z as p, j as t, a1 as k, av as y, i as x, a8 as v, ab as N, R as d, a9 as B, a2 as I, a3 as L, a5 as S, a7 as C, aw as R } from "./component.constants-Bn9l4N1t.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-BbhHQD9t.js";
4
+ import { B as $ } from "./BaseButton-BJ_6r0uk.js";
5
5
  /**
6
6
  * @license @tabler/icons-react v3.34.1 - MIT
7
7
  *
@@ -103,4 +103,4 @@ export {
103
103
  V as I,
104
104
  P as S
105
105
  };
106
- //# sourceMappingURL=ChartCard-11lQWjXq.js.map
106
+ //# sourceMappingURL=ChartCard-Cb0QE9kP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartCard-11lQWjXq.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 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 const options = theme.charts?.chartCardMenuPro?.options ?? [];\n\n if (options.length === 0) {\n return null;\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","startAction","onClick","handleExport","options","_b","_a","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":";;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,4CAA4C,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,4CAA4C,KAAO,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAK,2CAA2C,KAAO,QAAO,CAAE,CAAC,GACxPC,IAAmBC,EAAqB,WAAW,iBAAiB,gBAAgBF,CAAU;;GCRvFG,IAAW,MACfC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWC,EAAO,SAAA,CAAU;;;GCQ7BC,IAAwC,CAAC,EAAE,MAAMC,GAAM,WAAAC,GAAW,GAAGC,8BAE7EC,GAAA,EAAW,SAAQ,aAAY,WAAWC,EAAKN,EAAO,YAAYG,CAAS,GAAI,GAAGC,GACjF,UAAAL,gBAAAA,EAAAA,IAACG,KAAK,WAAWF,EAAO,MAAM,GAChC;;;;;;GCZSO,IAAmB,MAAMR,gBAAAA,EAAAA,IAACS,GAAA,EAAY,WAAWR,EAAO,SAAS;;GCcjES,IAAoD,CAACL,MAAU;;AAC1E,QAAMM,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM,CAACG,GAAWC,CAAY,IAAIC,EAAM,SAAS,EAAK,GAEhDC,IAAc,CAACC,MAAwC;AAC3D,IAAAH,EAAa,EAAI,GACjB,WAAW,MAAM;AACf,cAAQ,QAAQG,GAAS,EAAE,QAAQ,MAAMH,EAAa,EAAK,CAAC;AAAA,IAC9D,GAAG,GAAG;AAAA,EACR,GAEMI,IAAe,CAACD,MAAiE;AACrF,IAAAD,EAAY,MAAMC,EAAQ,EAAE,GAAGb,GAAO,OAAAM,EAAA,CAAO,CAAC;AAAA,EAChD,GAEMS,MAAUC,KAAAC,IAAAX,EAAM,WAAN,gBAAAW,EAAc,qBAAd,gBAAAD,EAAgC,YAAW,CAAA;AAE3D,SAAID,EAAQ,WAAW,IACd,OAIPpB,gBAAAA,EAAAA;AAAAA,IAACuB;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,OAAM;AAAA,MACN,kBAAkBT,IAAYd,gBAAAA,MAACQ,GAAA,CAAA,CAAiB,IAAKR,gBAAAA,EAAAA,IAACE,GAAA,EAAW,MAAML,GAAkB;AAAA,MAEzF,UAAAG,gBAAAA,EAAAA,IAACwB,GAAA,EAAW,WAAWvB,EAAO,MAAM,WAAS,IAC1C,UAAAmB,EAAQ,IAAI,CAACK,GAAQC,MAAU;AAC9B,cAAMC,IAAQC,EAAK,EAAEH,EAAO,QAAQ;AAEpC,eACEzB,gBAAAA,EAAAA;AAAAA,UAAC6B;AAAA,UAAA;AAAA,YAEC,OAAAF;AAAA,YACA,SAAS,MAAMR,EAAaM,EAAO,OAAO;AAAA,YAC1C,WACEA,EAAO,UAAUzB,gBAAAA,EAAAA,IAAC,OAAA,EAAI,KAAKyB,EAAO,SAAS,KAAK,GAAGE,CAAK,QAAA,CAAS,IAAK;AAAA,UAAA;AAAA,UAJnED;AAAA,QAAA;AAAA,MAQX,CAAC,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN,GCpCaI,IAAgC,CAAC;AAAA,EAC5C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,uBAAAC,IAAwB,CAAA;AAAA,EACxB,GAAG/B;AACL,MAAM;AACJ,QAAMM,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAM0B,IAAWC,EAAuB,IAAI,GAEtCC,IAAUL,EAAK,QAAQA,EAAK,KAAK,SAAS,GAE1CM,IAAa,MACb,CAACD,KAAWL,EAAK,kCACXnC,GAAA,EAAS,IAGfoC,IAEAnC,gBAAAA,EAAAA;AAAAA,IAACyC;AAAA,IAAA;AAAA,MACC,WAAWxC,EAAO;AAAA,MAClB,MAAMyC;AAAA,MACN,OAAOd,EAAK,EAAE,mBAAmB;AAAA,MACjC,SAASO;AAAA,IAAA;AAAA,EAAA,IAKVI,IASEN,IAPHjC,gBAAAA,EAAAA;AAAAA,IAACyC;AAAA,IAAA;AAAA,MACC,OAAOb,EAAK,EAAE,mBAAmB;AAAA,MACjC,SAASA,EAAK,EAAE,qBAAqB;AAAA,IAAA;AAAA,EAAA;AAQ7C,SACEe,gBAAAA,OAACC,KAAK,KAAKP,GAAU,WAAWpC,EAAO,WAAY,GAAGI,GACpD,UAAA;AAAA,IAAAL,gBAAAA,EAAAA;AAAAA,MAAC6C;AAAA,MAAA;AAAA,QACC,OAAAd;AAAA,QACA,UAAAC;AAAA,QACA,cACEhC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,kBAAc,IAAC,WAAWC,EAAO,cACnC,UAAAiC,EAAK,YACJlC,gBAAAA,EAAAA,IAACQ,GAAA,CAAA,CAAiB,IAElBR,gBAAAA,EAAAA;AAAAA,UAACU;AAAA,UAAA;AAAA,YACC,OAAAqB;AAAA,YACA,cAAcM;AAAA,YACd,MAAMH,EAAK;AAAA,YACX,uBAAAE;AAAA,UAAA;AAAA,QAAA,EACF,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,IAIJpC,gBAAAA,EAAAA,IAAC8C,GAAA,EAAa,UAAAN,EAAA,EAAW,CAAE;AAAA,EAAA,GAC7B;AAEJ;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ChartCard-Cb0QE9kP.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 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 const options = theme.charts?.chartCardMenuPro?.options ?? [];\n\n if (options.length === 0) {\n return null;\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","startAction","onClick","handleExport","options","_b","_a","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]}
@@ -0,0 +1,14 @@
1
+ import { $ as i, a0 as o } from "./component.constants-Bn9l4N1t.js";
2
+ const e = i("comparisonPeriod", {
3
+ label: "Comparison Period",
4
+ optionLabel: (r) => r
5
+ });
6
+ o(e, "Previous period");
7
+ o(e, "Previous week");
8
+ o(e, "Previous month");
9
+ o(e, "Previous quarter");
10
+ o(e, "Previous year");
11
+ export {
12
+ e as C
13
+ };
14
+ //# sourceMappingURL=ComparisonPeriod.type.emb-BHz2X91i.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComparisonPeriod.type.emb-BHz2X91i.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 { Z as y, S as P, i as f, r as b, j as l, R as C, t as S, c as R, _ as F, V as d } from "./component.constants-DIhZCTG3.js";
2
+ import { Z as y, S as P, i as f, r as b, j as l, R as C, t as S, c as R, _ as F, V as d } from "./component.constants-Bn9l4N1t.js";
3
3
  import { useMemo as M, useEffect as k } from "react";
4
- import { S as D } from "./SingleSelectField-D1E9OJxC.js";
4
+ import { S as D } from "./SingleSelectField-BJnoOYrw.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-BriyqUva.js";
7
- import { C as s } from "./ComparisonPeriod.type.emb-D51Sg3wt.js";
6
+ import { E as L } from "./EditorCard-DWz8Bm-e.js";
7
+ import { C as s } from "./ComparisonPeriod.type.emb-BHz2X91i.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, _ as r, V as a } from "./component.constants-DIhZCTG3.js";
3
- import { D as o } from "./index-YRbjfwIA.js";
2
+ import { t as l, c as n, _ as r, V as a } from "./component.constants-Bn9l4N1t.js";
3
+ import { D as o } from "./index-CobXKlOi.js";
4
4
  const i = {
5
5
  name: "DateRangeSelectFieldPro",
6
6
  label: "Date Range Select Field",
@@ -1,6 +1,6 @@
1
- import { d as a, w as s, z as t, t as o, c as n, s as r, Y as i, e as m, f as l, V as d, o as u } from "./component.constants-DIhZCTG3.js";
1
+ import { d as a, w as s, z as t, t as o, c as n, s as r, Y as i, e as m, f as l, V as d, o as u } from "./component.constants-Bn9l4N1t.js";
2
2
  import { defineComponent as c } from "@embeddable.com/react";
3
- import { D as p } from "./index-9F910tDw.js";
3
+ import { D as p } from "./index-BOzeG3mG.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-Ddf7wtBP.js";
2
- import { d as s, w as a, z as r, t as o, c as l, s as i, Y as m, e as d, f as u, V as b, o as t } from "./component.constants-DIhZCTG3.js";
1
+ import { D as n } from "./index-CjS39lkd.js";
2
+ import { d as s, w as a, z as r, t as o, c as l, s as i, Y as m, e as d, f as u, V as b, o as t } from "./component.constants-Bn9l4N1t.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 { Z as l, j as r, a1 as u, i as m, a2 as p, a3 as _, a5 as x, a7 as f, R as h, aw as C } from "./component.constants-DIhZCTG3.js";
1
+ import { Z as l, j as r, a1 as u, i as m, a2 as p, a3 as _, a5 as x, a7 as f, R as h, aw as C } from "./component.constants-Bn9l4N1t.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
  R as d,
60
60
  w as u
61
61
  };
62
- //# sourceMappingURL=EditorCard-BriyqUva.js.map
62
+ //# sourceMappingURL=EditorCard-DWz8Bm-e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorCard-BriyqUva.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
+ {"version":3,"file":"EditorCard-DWz8Bm-e.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]}
@@ -0,0 +1,79 @@
1
+ import { Z as j, j as n, a1 as x, a6 as d } from "./component.constants-Bn9l4N1t.js";
2
+ /**
3
+ * @license @tabler/icons-react v3.34.1 - MIT
4
+ *
5
+ * This source code is licensed under the MIT license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const v = [["path", { d: "M3 7l6 6l4 -4l8 8", key: "svg-0" }], ["path", { d: "M21 10l0 7l-7 0", key: "svg-1" }]], y = j("outline", "trending-down", "TrendingDown", v);
9
+ /**
10
+ * @license @tabler/icons-react v3.34.1 - MIT
11
+ *
12
+ * This source code is licensed under the MIT license.
13
+ * See the LICENSE file in the root directory of this source tree.
14
+ */
15
+ const m = [["path", { d: "M3 17l6 -6l4 4l8 -8", key: "svg-0" }], ["path", { d: "M14 7l7 0l0 7", key: "svg-1" }]], f = j("outline", "trending-up", "TrendingUp", m), N = "_kpiChartContainer_joxtc_1", T = "_kpiComparisonContainer_joxtc_26", $ = "_kpiChangeHidden_joxtc_47", k = {
16
+ kpiChartContainer: N,
17
+ kpiComparisonContainer: T,
18
+ kpiChangeHidden: $
19
+ }, B = "_kpiChartChangeContainer_13m4l_1", H = "_kpiChangeBadge_13m4l_13", M = "_positive_13m4l_36", w = "_negative_13m4l_41", o = {
20
+ kpiChartChangeContainer: B,
21
+ kpiChangeBadge: H,
22
+ positive: M,
23
+ negative: w
24
+ }, I = (i, e) => i ? e ? o.negative : o.positive : e ? o.positive : o.negative, K = ({
25
+ value: i,
26
+ comparisonValue: e = 0,
27
+ showChangeAsPercentage: r,
28
+ invertChangeColors: C = !1,
29
+ comparisonLabel: c,
30
+ valueFormatter: p,
31
+ percentageDecimalPlaces: g = 1,
32
+ className: h
33
+ }) => {
34
+ const s = i - e, t = s > 0;
35
+ let a;
36
+ r ? a = `${(e === 0 ? 0 : s / e * 100).toFixed(g)}%` : a = p ? p(s) : s.toString();
37
+ const l = `${t ? "+" : ""}${a}`, _ = t ? f : y;
38
+ return /* @__PURE__ */ n.jsxs("div", { className: x(h, o.kpiChartChangeContainer), children: [
39
+ /* @__PURE__ */ n.jsxs("div", { className: x(o.kpiChangeBadge, I(t, C)), children: [
40
+ /* @__PURE__ */ n.jsx(_, {}),
41
+ /* @__PURE__ */ n.jsx(d, { children: l })
42
+ ] }),
43
+ c && /* @__PURE__ */ n.jsx(d, { children: c })
44
+ ] });
45
+ }, R = ({
46
+ value: i,
47
+ changeFontSize: e,
48
+ comparisonValue: r,
49
+ comparisonLabel: C,
50
+ invertChangeColors: c,
51
+ showChangeAsPercentage: p,
52
+ percentageDecimalPlaces: g = 1,
53
+ equalComparisonLabel: h = "No change",
54
+ valueFontSize: s,
55
+ valueFormatter: t
56
+ }) => {
57
+ const a = r !== void 0, l = a && r === i, _ = t ? t(i) : i;
58
+ return /* @__PURE__ */ n.jsxs("div", { className: k.kpiChartContainer, children: [
59
+ /* @__PURE__ */ n.jsx(d, { style: { fontSize: s }, children: _ }),
60
+ /* @__PURE__ */ n.jsx("div", { className: k.kpiComparisonContainer, style: { fontSize: e }, children: l ? /* @__PURE__ */ n.jsx(d, { children: h }) : /* @__PURE__ */ n.jsx(
61
+ K,
62
+ {
63
+ changeFontSize: e,
64
+ className: x(!a && k.kpiChangeHidden),
65
+ comparisonLabel: C,
66
+ comparisonValue: r,
67
+ invertChangeColors: c,
68
+ percentageDecimalPlaces: g,
69
+ showChangeAsPercentage: p,
70
+ value: i,
71
+ valueFormatter: t
72
+ }
73
+ ) })
74
+ ] });
75
+ };
76
+ export {
77
+ R as K
78
+ };
79
+ //# sourceMappingURL=KpiChart-B2OqbXRg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiChart-B2OqbXRg.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":"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","x_google_ignoreList":[0,1]}
@@ -1,11 +1,11 @@
1
- import { useTheme as K, defineComponent as x } from "@embeddable.com/react";
2
- import { S as V, i as j, r as w, j as f, d as A, w as L, T as O, U as q, t as E, c as I, W as v, X as P, o as h } from "./component.constants-DIhZCTG3.js";
3
- import { C as M } from "./ChartCard-11lQWjXq.js";
4
- import { useEffect as Y } from "react";
5
- import { K as B } from "./KpiChart-Cp9ZUyRz.js";
6
- import { g as J } from "./formatter.utils-CuZlh4EL.js";
7
- import { C as U } from "./ComparisonPeriod.type.emb-D51Sg3wt.js";
8
- const W = (e, a, o) => {
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-Bn9l4N1t.js";
3
+ import { C as Y } from "./ChartCard-Cb0QE9kP.js";
4
+ import { useEffect as B } from "react";
5
+ import { K as J } from "./KpiChart-B2OqbXRg.js";
6
+ import { g as U } from "./formatter.utils-Ba_5cIcm.js";
7
+ import { C as W } from "./ComparisonPeriod.type.emb-BHz2X91i.js";
8
+ const X = (e, a, o) => {
9
9
  var t;
10
10
  if (!e || !a)
11
11
  return;
@@ -13,70 +13,72 @@ const W = (e, a, o) => {
13
13
  (s) => s.value === a
14
14
  );
15
15
  return n == null ? void 0 : n.getRange(r);
16
- }, X = (e, a) => {
16
+ }, _ = (e, a) => {
17
17
  const o = a.defaults.comparisonPeriodsOptions.find(
18
18
  (r) => r.value === e
19
19
  );
20
- return o ? V(o.label) : "";
21
- }, _ = (e) => {
22
- var d, g, u, C;
23
- const a = K();
24
- j(a);
25
- const { title: o, description: r } = w(e), {
20
+ return o ? j(o.label) : "";
21
+ }, $ = (e) => {
22
+ var d, u, C, f;
23
+ const a = V();
24
+ w(a);
25
+ const { title: o, description: r } = A(e), {
26
26
  changeFontSize: n,
27
27
  comparisonPeriod: t,
28
28
  comparisonDateRange: s,
29
29
  displayChangeAsPercentage: b,
30
- fontSize: R,
30
+ fontSize: D,
31
31
  measure: i,
32
- primaryDateRange: p,
33
- results: m,
34
- resultsComparison: l,
35
- reversePositiveNegativeColors: y,
32
+ primaryDateRange: g,
33
+ results: l,
34
+ resultsComparison: m,
35
+ reversePositiveNegativeColors: R,
36
+ percentageDecimalPlaces: y,
36
37
  setComparisonDateRange: S
37
38
  } = e;
38
- Y(() => {
39
- const c = W(
40
- p,
39
+ B(() => {
40
+ const c = X(
41
+ g,
41
42
  t,
42
43
  a
43
44
  );
44
45
  S(c);
45
- }, [t, JSON.stringify(p), a]);
46
- const D = (g = (d = m.data) == null ? void 0 : d[0]) == null ? void 0 : g[i.name], N = s ? (C = (u = l == null ? void 0 : l.data) == null ? void 0 : u[0]) == null ? void 0 : C[i.name] : void 0, T = J(a), F = (c) => T.data(i, c), z = `vs ${X(t, a).toLowerCase()}`;
47
- return /* @__PURE__ */ f.jsx(
48
- M,
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,
49
50
  {
50
- data: m,
51
+ data: l,
51
52
  dimensionsAndMeasures: [i],
52
- errorMessage: m.error,
53
+ errorMessage: l.error,
53
54
  subtitle: r,
54
55
  title: o,
55
- children: /* @__PURE__ */ f.jsx(
56
- B,
56
+ children: /* @__PURE__ */ v.jsx(
57
+ J,
57
58
  {
58
- value: D,
59
- comparisonValue: N,
60
- valueFormatter: F,
61
- valueFontSize: R,
59
+ value: N,
60
+ comparisonValue: T,
61
+ valueFormatter: z,
62
+ valueFontSize: D,
62
63
  changeFontSize: n,
63
- invertChangeColors: y,
64
+ invertChangeColors: R,
64
65
  showChangeAsPercentage: b,
65
- comparisonLabel: z
66
+ comparisonLabel: K,
67
+ percentageDecimalPlaces: y
66
68
  }
67
69
  )
68
70
  }
69
71
  );
70
- }, $ = {
72
+ }, k = {
71
73
  name: "KpiChartNumberComparisonPro",
72
74
  label: "Kpi Chart - Number Comparison",
73
75
  category: "Kpi Charts",
74
76
  inputs: [
75
- A,
76
77
  L,
77
- { ...O, name: "timeProperty", label: "Time Property" },
78
+ O,
79
+ { ...q, name: "timeProperty", label: "Time Property" },
78
80
  {
79
- ...q,
81
+ ...E,
80
82
  name: "primaryDateRange",
81
83
  label: "Primary Date Range",
82
84
  description: "You can also connect this to a date range selector using its variable",
@@ -84,35 +86,41 @@ const W = (e, a, o) => {
84
86
  },
85
87
  {
86
88
  name: "comparisonPeriod",
87
- type: U,
89
+ type: W,
88
90
  label: "Comparison Period",
89
91
  description: "You can also connect this to a comparison period selector using its variable",
90
92
  category: "Component Data"
91
93
  },
92
- E,
93
94
  I,
95
+ M,
94
96
  {
95
- ...v,
97
+ ...P,
96
98
  name: "displayChangeAsPercentage",
97
99
  label: "Display Change as %",
98
100
  defaultValue: !1
99
101
  },
100
102
  {
101
- ...v,
103
+ ...p,
104
+ name: "percentageDecimalPlaces",
105
+ label: "Percentage Decimal Places",
106
+ defaultValue: 1
107
+ },
108
+ {
109
+ ...P,
102
110
  name: "reversePositiveNegativeColors",
103
111
  label: "Reverse Positive/Negative Colors",
104
112
  defaultValue: !1
105
113
  },
106
- { ...P, name: "fontSize", label: "Font Size", defaultValue: 44, required: !0 },
114
+ { ...p, name: "fontSize", label: "Font Size", defaultValue: 44, required: !0 },
107
115
  {
108
- ...P,
116
+ ...p,
109
117
  name: "changeFontSize",
110
118
  label: "Change Font Size",
111
119
  defaultValue: 16,
112
120
  required: !0
113
121
  }
114
122
  ]
115
- }, oe = x(_, $, {
123
+ }, re = x($, k, {
116
124
  /* @ts-expect-error - to be fixed in @embeddable.com/react */
117
125
  props: (e, [a, o]) => ({
118
126
  ...e,
@@ -145,7 +153,7 @@ const W = (e, a, o) => {
145
153
  })
146
154
  });
147
155
  export {
148
- oe as default,
149
- $ as meta
156
+ re as default,
157
+ k as meta
150
158
  };
151
159
  //# sourceMappingURL=KpiChartNumberComparisonPro.js.map