@embeddable.com/remarkable-ui 0.1.21 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) 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-B9R70ibr.js → BaseButton-Cynr77gm.js} +2 -2
  8. package/dist/{BaseButton-B9R70ibr.js.map → BaseButton-Cynr77gm.js.map} +1 -1
  9. package/dist/{ChartCard-BPQKmAbZ.js → ChartCard-DunjH70y.js} +3 -3
  10. package/dist/{ChartCard-BPQKmAbZ.js.map → ChartCard-DunjH70y.js.map} +1 -1
  11. package/dist/{ComparisonPeriod.type.emb-k9KG0j4e.js → ComparisonPeriod.type.emb-CARBg093.js} +2 -2
  12. package/dist/{ComparisonPeriod.type.emb-k9KG0j4e.js.map → ComparisonPeriod.type.emb-CARBg093.js.map} +1 -1
  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-4LWPw46N.js → EditorCard-C9RDdL87.js} +2 -2
  18. package/dist/{EditorCard-4LWPw46N.js.map → EditorCard-C9RDdL87.js.map} +1 -1
  19. package/dist/{KpiChart-BzU7-U1P.js → KpiChart-DVJLPOzo.js} +2 -2
  20. package/dist/{KpiChart-BzU7-U1P.js.map → KpiChart-DVJLPOzo.js.map} +1 -1
  21. package/dist/KpiChartNumberComparisonPro.js +6 -6
  22. package/dist/KpiChartNumberPro.js +4 -4
  23. package/dist/LineChartComparisonDefaultPro.js +5 -5
  24. package/dist/LineChartDefaultPro.js +3 -3
  25. package/dist/LineChartGroupedPro.js +3 -3
  26. package/dist/MultiSelectFieldPro.js +2 -2
  27. package/dist/PieChartPro.js +2 -2
  28. package/dist/{SingleSelectField-j9ZkcXnt.js → SingleSelectField-k-5pYl1f.js} +3 -3
  29. package/dist/{SingleSelectField-j9ZkcXnt.js.map → SingleSelectField-k-5pYl1f.js.map} +1 -1
  30. package/dist/SingleSelectFieldPro.js +2 -2
  31. package/dist/{bars.utils-X-qA7D8y.js → bars.utils-BAkV6I3P.js} +4 -4
  32. package/dist/{bars.utils-X-qA7D8y.js.map → bars.utils-BAkV6I3P.js.map} +1 -1
  33. package/dist/{charts.utils-CLblssnk.js → charts.utils-Dyj5e5HG.js} +3 -3
  34. package/dist/{charts.utils-CLblssnk.js.map → charts.utils-Dyj5e5HG.js.map} +1 -1
  35. package/dist/{component.constants-DNKLx5yG.js → component.constants-D7F6GsHW.js} +2 -2
  36. package/dist/{component.constants-DNKLx5yG.js.map → component.constants-D7F6GsHW.js.map} +1 -1
  37. package/dist/embeddable-components.json +10 -10
  38. package/dist/{formatter.utils-Dvqm1_wN.js → formatter.utils--2w1e7GE.js} +2 -2
  39. package/dist/{formatter.utils-Dvqm1_wN.js.map → formatter.utils--2w1e7GE.js.map} +1 -1
  40. package/dist/{index-CK5qzSsu.js → index-B0xeoUyW.js} +4 -4
  41. package/dist/{index-CK5qzSsu.js.map → index-B0xeoUyW.js.map} +1 -1
  42. package/dist/{index-B7EEYcDX.js → index-B4-i-g0Z.js} +5 -5
  43. package/dist/{index-B7EEYcDX.js.map → index-B4-i-g0Z.js.map} +1 -1
  44. package/dist/{index-AHoU58PM.js → index-BGczJvRB.js} +5 -5
  45. package/dist/{index-AHoU58PM.js.map → index-BGczJvRB.js.map} +1 -1
  46. package/dist/{index-CnlhFJCl.js → index-CLVeA9pa.js} +4 -4
  47. package/dist/{index-CnlhFJCl.js.map → index-CLVeA9pa.js.map} +1 -1
  48. package/dist/{index-wFJWsuFG.js → index-DPGAAlWv.js} +4 -4
  49. package/dist/{index-wFJWsuFG.js.map → index-DPGAAlWv.js.map} +1 -1
  50. package/dist/{index-CDjR8avB.js → index-DmgDANxV.js} +5 -5
  51. package/dist/{index-CDjR8avB.js.map → index-DmgDANxV.js.map} +1 -1
  52. package/dist/index.js +19 -19
  53. package/dist/{pies.utils-DW6NURSZ.js → pies.utils-CIFMn9ko.js} +4 -4
  54. package/dist/{pies.utils-DW6NURSZ.js.map → pies.utils-CIFMn9ko.js.map} +1 -1
  55. package/dist/remarkable-ui/styles/styles.utils.d.ts.map +1 -1
  56. package/dist/{timeRange.utils-BXW3aXZf.js → timeRange.utils-KDn6xcVP.js} +2 -2
  57. package/dist/{timeRange.utils-BXW3aXZf.js.map → timeRange.utils-KDn6xcVP.js.map} +1 -1
  58. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
- import { i as L, r as w, m as M, j as l, d as V, a as y, b as z, t as P, c as k, s as v, e as H, f as R, g as j, x as I, y as S, h as T, k as Y, l as F, n as E, V as G, o as O } from "./component.constants-DNKLx5yG.js";
1
+ import { i as L, r as w, m as M, j as l, d as V, a as y, b as z, t as P, c as k, s as v, e as H, f as R, g as j, x as I, y as S, h as T, k as Y, l as F, n as E, V as G, o as O } from "./component.constants-D7F6GsHW.js";
2
2
  import { useTheme as W, defineComponent as _ } from "@embeddable.com/react";
3
- import { C as q } from "./ChartCard-BPQKmAbZ.js";
4
- import { g as J, a as K, B as N } from "./bars.utils-X-qA7D8y.js";
3
+ import { C as q } from "./ChartCard-DunjH70y.js";
4
+ import { g as J, a as K, B as N } from "./bars.utils-BAkV6I3P.js";
5
5
  import { u as Q } from "./charts.newFillGaps.hooks-D6mnKJwQ.js";
6
6
  const U = (a) => {
7
7
  var i, n;
@@ -1,7 +1,7 @@
1
- import { i as L, r as y, m as w, j as l, d as M, a as V, b as P, t as v, c as k, s as R, e as j, f as I, g as S, x as T, y as X, p as F, q, u as z, v as E, V as G, o as O } from "./component.constants-DNKLx5yG.js";
1
+ import { i as L, r as y, m as w, j as l, d as M, a as V, b as P, t as v, c as k, s as R, e as j, f as I, g as S, x as T, y as X, p as F, q, u as z, v as E, V as G, o as O } from "./component.constants-D7F6GsHW.js";
2
2
  import { useTheme as W, defineComponent as _ } from "@embeddable.com/react";
3
- import { C as H } from "./ChartCard-BPQKmAbZ.js";
4
- import { g as J, a as K, B as N } from "./bars.utils-X-qA7D8y.js";
3
+ import { C as H } from "./ChartCard-DunjH70y.js";
4
+ import { g as J, a as K, B as N } from "./bars.utils-BAkV6I3P.js";
5
5
  import { u as Q } from "./charts.newFillGaps.hooks-D6mnKJwQ.js";
6
6
  const U = (a) => {
7
7
  var o, n;
@@ -1,7 +1,7 @@
1
- import { i as L, r as w, m as k, j as m, d as z, w as G, b as P, z as R, t as M, c as H, A as j, s as v, e as S, f as T, g as F, x as Y, y as E, h as I, k as O, l as W, V as u, o as _ } from "./component.constants-DNKLx5yG.js";
1
+ import { i as L, r as w, m as k, j as m, d as z, w as G, b as P, z as R, t as M, c as H, A as j, s as v, e as S, f as T, g as F, x as Y, y as E, h as I, k as O, l as W, V as u, o as _ } from "./component.constants-D7F6GsHW.js";
2
2
  import { useTheme as q, defineComponent as J } from "@embeddable.com/react";
3
- import { C as K } from "./ChartCard-BPQKmAbZ.js";
4
- import { b as N, a as Q, B as U } from "./bars.utils-X-qA7D8y.js";
3
+ import { C as K } from "./ChartCard-DunjH70y.js";
4
+ import { b as N, a as Q, B as U } from "./bars.utils-BAkV6I3P.js";
5
5
  import { u as X } from "./charts.newFillGaps.hooks-D6mnKJwQ.js";
6
6
  const Z = (e) => {
7
7
  var n, l;
@@ -1,7 +1,7 @@
1
- import { i as L, r as w, m as G, j as m, d as k, w as P, b as R, z as M, t as j, c as v, A as S, s as T, e as F, f as X, g as z, x as q, y as E, p as I, q as O, u as W, V as u, o as _ } from "./component.constants-DNKLx5yG.js";
1
+ import { i as L, r as w, m as G, j as m, d as k, w as P, b as R, z as M, t as j, c as v, A as S, s as T, e as F, f as X, g as z, x as q, y as E, p as I, q as O, u as W, V as u, o as _ } from "./component.constants-D7F6GsHW.js";
2
2
  import { useTheme as H, defineComponent as J } from "@embeddable.com/react";
3
- import { C as K } from "./ChartCard-BPQKmAbZ.js";
4
- import { b as N, a as Q, B as U } from "./bars.utils-X-qA7D8y.js";
3
+ import { C as K } from "./ChartCard-DunjH70y.js";
4
+ import { b as N, a as Q, B as U } from "./bars.utils-BAkV6I3P.js";
5
5
  import { u as Y } from "./charts.newFillGaps.hooks-D6mnKJwQ.js";
6
6
  const Z = (e) => {
7
7
  var n, l;
@@ -1,7 +1,7 @@
1
- import { i as L, r as f, m as w, j as m, d as S, w as z, b as P, z as R, t as M, c as H, A as T, s as j, e as v, f as F, g as G, x as Y, y as E, h as I, k as O, l as W, B as _, V as u, o as q } from "./component.constants-DNKLx5yG.js";
1
+ import { i as L, r as f, m as w, j as m, d as S, w as z, b as P, z as R, t as M, c as H, A as T, s as j, e as v, f as F, g as G, x as Y, y as E, h as I, k as O, l as W, B as _, V as u, o as q } from "./component.constants-D7F6GsHW.js";
2
2
  import { useTheme as J, defineComponent as K } from "@embeddable.com/react";
3
- import { C as N } from "./ChartCard-BPQKmAbZ.js";
4
- import { b as Q, a as U, B as X } from "./bars.utils-X-qA7D8y.js";
3
+ import { C as N } from "./ChartCard-DunjH70y.js";
4
+ import { b as Q, a as U, B as X } from "./bars.utils-BAkV6I3P.js";
5
5
  import { u as Z } from "./charts.newFillGaps.hooks-D6mnKJwQ.js";
6
6
  const $ = (a) => {
7
7
  var n, l;
@@ -1,7 +1,7 @@
1
- import { i as D, r as L, m as w, j as m, d as S, w as P, b as R, z as M, t as T, c as j, A as v, s as F, e as G, f as X, g as z, x as q, y as E, p as I, q as O, u as W, B as _, V as u, o as H } from "./component.constants-DNKLx5yG.js";
1
+ import { i as D, r as L, m as w, j as m, d as S, w as P, b as R, z as M, t as T, c as j, A as v, s as F, e as G, f as X, g as z, x as q, y as E, p as I, q as O, u as W, B as _, V as u, o as H } from "./component.constants-D7F6GsHW.js";
2
2
  import { useTheme as J, defineComponent as K } from "@embeddable.com/react";
3
- import { C as N } from "./ChartCard-BPQKmAbZ.js";
4
- import { b as Q, a as U, B as Y } from "./bars.utils-X-qA7D8y.js";
3
+ import { C as N } from "./ChartCard-DunjH70y.js";
4
+ import { b as Q, a as U, B as Y } from "./bars.utils-BAkV6I3P.js";
5
5
  import { u as Z } from "./charts.newFillGaps.hooks-D6mnKJwQ.js";
6
6
  const $ = (a) => {
7
7
  var n, l;
@@ -1,4 +1,4 @@
1
- import { j as c, a6 as e } from "./component.constants-DNKLx5yG.js";
1
+ import { j as c, a6 as e } from "./component.constants-D7F6GsHW.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-B9R70ibr.js.map
24
+ //# sourceMappingURL=BaseButton-Cynr77gm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseButton-B9R70ibr.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-Cynr77gm.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 { a4 as p, j as t, a6 as k, aB as y, i as x, ad as v, ag as B, Z as d, ae as N, a7 as I, a8 as L, aa as S, ac as C, aC as R } from "./component.constants-DNKLx5yG.js";
1
+ import { a4 as p, j as t, a6 as k, aB as y, i as x, ad as v, ag as B, Z as d, ae as N, a7 as I, a8 as L, aa as S, ac as C, aC as R } from "./component.constants-D7F6GsHW.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-B9R70ibr.js";
4
+ import { B as $ } from "./BaseButton-Cynr77gm.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
  w as S
105
105
  };
106
- //# sourceMappingURL=ChartCard-BPQKmAbZ.js.map
106
+ //# sourceMappingURL=ChartCard-DunjH70y.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartCard-BPQKmAbZ.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]}
1
+ {"version":3,"file":"ChartCard-DunjH70y.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]}
@@ -1,4 +1,4 @@
1
- import { aD as i, aE as o } from "./component.constants-DNKLx5yG.js";
1
+ import { aD as i, aE as o } from "./component.constants-D7F6GsHW.js";
2
2
  const e = i("comparisonPeriod", {
3
3
  label: "Comparison Period",
4
4
  optionLabel: (r) => r
@@ -11,4 +11,4 @@ o(e, "Previous year");
11
11
  export {
12
12
  e as C
13
13
  };
14
- //# sourceMappingURL=ComparisonPeriod.type.emb-k9KG0j4e.js.map
14
+ //# sourceMappingURL=ComparisonPeriod.type.emb-CARBg093.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComparisonPeriod.type.emb-k9KG0j4e.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
+ {"version":3,"file":"ComparisonPeriod.type.emb-CARBg093.js","sources":["../src/remarkable-pro/components/types/ComparisonPeriod.type.emb.ts"],"sourcesContent":["import { defineOption, defineType } from '@embeddable.com/core';\n\nconst ComparisonPeriodType = defineType('comparisonPeriod', {\n label: 'Comparison Period',\n optionLabel: (value: string) => value,\n});\n\ndefineOption(ComparisonPeriodType, 'Previous period');\ndefineOption(ComparisonPeriodType, 'Previous week');\ndefineOption(ComparisonPeriodType, 'Previous month');\ndefineOption(ComparisonPeriodType, 'Previous quarter');\ndefineOption(ComparisonPeriodType, 'Previous year');\n\nexport default ComparisonPeriodType;\n"],"names":["ComparisonPeriodType","defineType","value","defineOption"],"mappings":";AAEA,MAAMA,IAAuBC,EAAW,oBAAoB;AAAA,EAC1D,OAAO;AAAA,EACP,aAAa,CAACC,MAAkBA;AAClC,CAAC;AAEDC,EAAaH,GAAsB,iBAAiB;AACpDG,EAAaH,GAAsB,eAAe;AAClDG,EAAaH,GAAsB,gBAAgB;AACnDG,EAAaH,GAAsB,kBAAkB;AACrDG,EAAaH,GAAsB,eAAe;"}
@@ -1,10 +1,10 @@
1
1
  import { useTheme as v, defineComponent as h } from "@embeddable.com/react";
2
- import { a4 as y, a2 as P, i as f, r as b, j as l, Z as C, t as S, c as F, a5 as R, V as d } from "./component.constants-DNKLx5yG.js";
2
+ import { a4 as y, a2 as P, i as f, r as b, j as l, Z as C, t as S, c as F, a5 as R, V as d } from "./component.constants-D7F6GsHW.js";
3
3
  import { useMemo as M, useEffect as k } from "react";
4
- import { S as D } from "./SingleSelectField-j9ZkcXnt.js";
4
+ import { S as D } from "./SingleSelectField-k-5pYl1f.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-4LWPw46N.js";
7
- import { C as s } from "./ComparisonPeriod.type.emb-k9KG0j4e.js";
6
+ import { E as L } from "./EditorCard-C9RDdL87.js";
7
+ import { C as s } from "./ComparisonPeriod.type.emb-CARBg093.js";
8
8
  /**
9
9
  * @license @tabler/icons-react v3.34.1 - MIT
10
10
  *
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as t } from "@embeddable.com/react";
2
- import { t as l, c as n, a5 as r, V as a } from "./component.constants-DNKLx5yG.js";
3
- import { D as o } from "./index-CK5qzSsu.js";
2
+ import { t as l, c as n, a5 as r, V as a } from "./component.constants-D7F6GsHW.js";
3
+ import { D as o } from "./index-B0xeoUyW.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, a3 as i, e as m, f as l, V as d, o as u } from "./component.constants-DNKLx5yG.js";
1
+ import { d as a, w as s, z as t, t as o, c as n, s as r, a3 as i, e as m, f as l, V as d, o as u } from "./component.constants-D7F6GsHW.js";
2
2
  import { defineComponent as c } from "@embeddable.com/react";
3
- import { D as p } from "./index-wFJWsuFG.js";
3
+ import { D as p } from "./index-DPGAAlWv.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-AHoU58PM.js";
2
- import { d as s, w as a, z as r, t as o, c as l, s as i, a3 as m, e as d, f as u, V as b, o as t } from "./component.constants-DNKLx5yG.js";
1
+ import { D as n } from "./index-BGczJvRB.js";
2
+ import { d as s, w as a, z as r, t as o, c as l, s as i, a3 as m, e as d, f as u, V as b, o as t } from "./component.constants-D7F6GsHW.js";
3
3
  import { defineComponent as c } from "@embeddable.com/react";
4
4
  const p = {
5
5
  name: "DonutLabelChartPro",
@@ -1,4 +1,4 @@
1
- import { a4 as l, j as r, a6 as u, i as m, a7 as p, a8 as _, aa as x, ac as C, Z as f, aC as h } from "./component.constants-DNKLx5yG.js";
1
+ import { a4 as l, j as r, a6 as u, i as m, a7 as p, a8 as _, aa as x, ac as C, Z as f, aC as h } from "./component.constants-D7F6GsHW.js";
2
2
  import { useEffect as j } from "react";
3
3
  import { useTheme as S } from "@embeddable.com/react";
4
4
  /**
@@ -59,4 +59,4 @@ export {
59
59
  A as d,
60
60
  D as u
61
61
  };
62
- //# sourceMappingURL=EditorCard-4LWPw46N.js.map
62
+ //# sourceMappingURL=EditorCard-C9RDdL87.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorCard-4LWPw46N.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-C9RDdL87.js","sources":["../node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.mjs","../src/remarkable-ui/editors/select/shared/SelectList/SelectListOptions/SelectListOptions.tsx","../src/remarkable-ui/utils/debounce.utils.ts","../src/remarkable-ui/editors/select/shared/useSelectSearchFocus.hook.ts","../src/remarkable-pro/components/editors/shared/EditorCard/EditorCard.tsx"],"sourcesContent":["/**\n * @license @tabler/icons-react v3.34.1 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M21 21l-6 -6\", \"key\": \"svg-1\" }]];\nconst IconSearch = createReactComponent(\"outline\", \"search\", \"Search\", __iconNode);\n\nexport { __iconNode, IconSearch as default };\n//# sourceMappingURL=IconSearch.mjs.map\n","import { FC } from 'react';\nimport styles from './SelectListOptions.module.css';\nimport clsx from 'clsx';\n\nexport type SelectListOptionsProps = React.HTMLAttributes<HTMLDivElement> & {\n children: React.ReactNode;\n disabled?: boolean;\n};\n\nexport const SelectListOptions: FC<SelectListOptionsProps> = ({ children, disabled, ...props }) => {\n return (\n <div className={clsx(styles.listOptions, disabled && styles.disabled)} {...props}>\n {children}\n </div>\n );\n};\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function debounce<T extends (...args: any[]) => void>(\n fn: T,\n delay = 300,\n): (...args: Parameters<T>) => void {\n let timer: NodeJS.Timeout;\n return (...args: Parameters<T>) => {\n clearTimeout(timer);\n timer = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n}\n","import { useEffect } from 'react';\n\nexport const useSelectSearchFocus = (\n isOpen: boolean,\n searchFieldRef: React.RefObject<HTMLInputElement | null>,\n) => {\n useEffect(() => {\n if (isOpen) {\n setTimeout(() => {\n (searchFieldRef.current as unknown as HTMLInputElement)?.focus();\n }, 100);\n }\n }, [isOpen, searchFieldRef]);\n};\n","import { useTheme } from '@embeddable.com/react';\nimport { i18n, i18nSetup } from '../../../../theme/i18n/i18n';\nimport styles from './EditorCard.module.css';\nimport { FC } from 'react';\nimport { Theme } from '../../../../theme/theme.types';\nimport { Card, CardContent, CardContentInfo, CardHeader } from '../../../../../remarkable-ui';\nimport { IconAlertCircle } from '@tabler/icons-react';\n\ntype EditorCardProps = {\n title?: string;\n subtitle?: string;\n children: React.ReactNode;\n errorMessage?: string;\n};\n\nexport const EditorCard: FC<EditorCardProps> = ({\n title,\n subtitle,\n children,\n errorMessage,\n ...props\n}) => {\n const theme: Theme = useTheme() as Theme;\n i18nSetup(theme);\n\n const getDisplay = () => {\n if (errorMessage) {\n return (\n <CardContentInfo\n className={styles.error}\n icon={IconAlertCircle}\n title={i18n.t('editors.errorTitle')}\n message={errorMessage}\n />\n );\n }\n\n return children;\n };\n\n return (\n <Card className={styles.card} {...props}>\n <CardHeader title={title} subtitle={subtitle} />\n <CardContent>{getDisplay()}</CardContent>\n </Card>\n );\n};\n"],"names":["__iconNode","IconSearch","createReactComponent","SelectListOptions","children","disabled","props","jsx","clsx","styles","debounce","fn","delay","timer","args","useSelectSearchFocus","isOpen","searchFieldRef","useEffect","_a","EditorCard","title","subtitle","errorMessage","theme","useTheme","i18nSetup","getDisplay","CardContentInfo","IconAlertCircle","i18n","Card","CardHeader","CardContent"],"mappings":";;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAa,CAAC,CAAC,QAAQ,EAAE,GAAK,8CAA8C,KAAO,QAAO,CAAE,GAAG,CAAC,QAAQ,EAAE,GAAK,gBAAgB,KAAO,QAAO,CAAE,CAAC,GAChJC,IAAaC,EAAqB,WAAW,UAAU,UAAUF,CAAU;;;GCDpEG,IAAgD,CAAC,EAAE,UAAAC,GAAU,UAAAC,GAAU,GAAGC,QAEnFC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAWC,EAAKC,EAAO,aAAaJ,KAAYI,EAAO,QAAQ,GAAI,GAAGH,GACxE,UAAAF,EAAA,CACH;ACZG,SAASM,EACdC,GACAC,IAAQ,KAC0B;AAClC,MAAIC;AACJ,SAAO,IAAIC,MAAwB;AACjC,iBAAaD,CAAK,GAClBA,IAAQ,WAAW,MAAM;AACvB,MAAAF,EAAG,GAAGG,CAAI;AAAA,IACZ,GAAGF,CAAK;AAAA,EACV;AACF;ACVO,MAAMG,IAAuB,CAClCC,GACAC,MACG;AACH,EAAAC,EAAU,MAAM;AACd,IAAIF,KACF,WAAW,MAAM;;AACd,OAAAG,IAAAF,EAAe,YAAf,QAAAE,EAAwD;AAAA,IAC3D,GAAG,GAAG;AAAA,EAEV,GAAG,CAACH,GAAQC,CAAc,CAAC;AAC7B;;;GCEaG,IAAkC,CAAC;AAAA,EAC9C,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAlB;AAAA,EACA,cAAAmB;AAAA,EACA,GAAGjB;AACL,MAAM;AACJ,QAAMkB,IAAeC,EAAA;AACrB,EAAAC,EAAUF,CAAK;AAEf,QAAMG,IAAa,MACbJ,IAEAhB,gBAAAA,EAAAA;AAAAA,IAACqB;AAAA,IAAA;AAAA,MACC,WAAWnB,EAAO;AAAA,MAClB,MAAMoB;AAAA,MACN,OAAOC,EAAK,EAAE,oBAAoB;AAAA,MAClC,SAASP;AAAA,IAAA;AAAA,EAAA,IAKRnB;AAGT,gCACG2B,GAAA,EAAK,WAAWtB,EAAO,MAAO,GAAGH,GAChC,UAAA;AAAA,IAAAC,gBAAAA,EAAAA,IAACyB,GAAA,EAAW,OAAAX,GAAc,UAAAC,EAAA,CAAoB;AAAA,IAC9Cf,gBAAAA,EAAAA,IAAC0B,GAAA,EAAa,UAAAN,EAAA,EAAW,CAAE;AAAA,EAAA,GAC7B;AAEJ;","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
- import { a4 as j, j as n, a6 as x, ab as d } from "./component.constants-DNKLx5yG.js";
1
+ import { a4 as j, j as n, a6 as x, ab as d } from "./component.constants-D7F6GsHW.js";
2
2
  /**
3
3
  * @license @tabler/icons-react v3.34.1 - MIT
4
4
  *
@@ -76,4 +76,4 @@ const m = [["path", { d: "M3 17l6 -6l4 4l8 -8", key: "svg-0" }], ["path", { d: "
76
76
  export {
77
77
  R as K
78
78
  };
79
- //# sourceMappingURL=KpiChart-BzU7-U1P.js.map
79
+ //# sourceMappingURL=KpiChart-DVJLPOzo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KpiChart-BzU7-U1P.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
+ {"version":3,"file":"KpiChart-DVJLPOzo.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
1
  import { useTheme as V, defineComponent as x } from "@embeddable.com/react";
2
- import { i as j, r as w, j as u, d as A, w as L, U as Y, W as q, t as E, c as M, X as P, Y as l, o as f } from "./component.constants-DNKLx5yG.js";
3
- import { C as B } from "./ChartCard-BPQKmAbZ.js";
2
+ import { i as j, r as w, j as u, d as A, w as L, U as Y, W as q, t as E, c as M, X as P, Y as l, o as f } from "./component.constants-D7F6GsHW.js";
3
+ import { C as B } from "./ChartCard-DunjH70y.js";
4
4
  import { useEffect as I } from "react";
5
- import { K as J } from "./KpiChart-BzU7-U1P.js";
6
- import { g as O } from "./formatter.utils-Dvqm1_wN.js";
7
- import { g as U, a as W } from "./timeRange.utils-BXW3aXZf.js";
8
- import { C as X } from "./ComparisonPeriod.type.emb-k9KG0j4e.js";
5
+ import { K as J } from "./KpiChart-DVJLPOzo.js";
6
+ import { g as O } from "./formatter.utils--2w1e7GE.js";
7
+ import { g as U, a as W } from "./timeRange.utils-KDn6xcVP.js";
8
+ import { C as X } from "./ComparisonPeriod.type.emb-CARBg093.js";
9
9
  const _ = (e) => {
10
10
  var c, g, d, C;
11
11
  const a = V();
@@ -1,9 +1,9 @@
1
1
  import { useTheme as h, defineComponent as f } from "@embeddable.com/react";
2
- import { i as C, r as b, j as m, d as K, w as g, t as x, c as F, Y as N, o as S } from "./component.constants-DNKLx5yG.js";
3
- import { C as j } from "./ChartCard-BPQKmAbZ.js";
2
+ import { i as C, r as b, j as m, d as K, w as g, t as x, c as F, Y as N, o as S } from "./component.constants-D7F6GsHW.js";
3
+ import { C as j } from "./ChartCard-DunjH70y.js";
4
4
  import "react";
5
- import { K as v } from "./KpiChart-BzU7-U1P.js";
6
- import { g as z } from "./formatter.utils-Dvqm1_wN.js";
5
+ import { K as v } from "./KpiChart-DVJLPOzo.js";
6
+ import { g as z } from "./formatter.utils--2w1e7GE.js";
7
7
  const P = (e) => {
8
8
  var s, o;
9
9
  const a = h();
@@ -1,13 +1,13 @@
1
1
  import { useTheme as V, defineComponent as X } from "@embeddable.com/react";
2
- import { m as _, E as Y, C as w, Z as E, _ as k, $ as I, i as G, r as U, j as O, a0 as q, d as z, a as S, X as D, a1 as B, z as K, W as J, U as W, t as Z, c as H, s as Q, e as ee, f as ae, g as se, x as oe, y as te, p as ne, q as ie, u as re, o as F } from "./component.constants-DNKLx5yG.js";
3
- import { C as le } from "./ChartCard-BPQKmAbZ.js";
2
+ import { m as _, E as Y, C as w, Z as E, _ as k, $ as I, i as G, r as U, j as O, a0 as q, d as z, a as S, X as D, a1 as B, z as K, W as J, U as W, t as Z, c as H, s as Q, e as ee, f as ae, g as se, x as oe, y as te, p as ne, q as ie, u as re, o as F } from "./component.constants-D7F6GsHW.js";
3
+ import { C as le } from "./ChartCard-DunjH70y.js";
4
4
  import { useEffect as me } from "react";
5
- import { g as ce } from "./timeRange.utils-BXW3aXZf.js";
6
- import { g as M } from "./formatter.utils-Dvqm1_wN.js";
5
+ import { g as ce } from "./timeRange.utils-KDn6xcVP.js";
6
+ import { g as M } from "./formatter.utils--2w1e7GE.js";
7
7
  import { g as de, a as pe } from "./object.utils-BNKDL7Y9.js";
8
8
  import { i as ue, s as ge } from "./color.utils-CVyp-fGP.js";
9
9
  import { u as N } from "./charts.newFillGaps.hooks-D6mnKJwQ.js";
10
- import { C as he } from "./ComparisonPeriod.type.emb-k9KG0j4e.js";
10
+ import { C as he } from "./ComparisonPeriod.type.emb-CARBg093.js";
11
11
  const v = "mainAxis", P = "comparisonAxis", $ = (a, o) => {
12
12
  var A, L, b, R;
13
13
  const { data: t, measure: n, dimension: e, index: c, isPreviousPeriod: r, hasMinMaxYAxisRange: m, labels: s } = a, l = t == null ? void 0 : t.map((C) => C[e.name]), g = !!((A = n.inputs) != null && A.connectGaps), d = s ? s.map((C) => {
@@ -1,7 +1,7 @@
1
1
  import { useTheme as v, defineComponent as M } from "@embeddable.com/react";
2
- import { E as f, C as g, m as P, i as F, r as j, j as L, a0 as B, d as O, a as A, X as x, a1 as R, b as S, t as T, c as V, s as I, e as X, f as $, g as G, x as E, y as K, p as N, q as U, u as q, o as z } from "./component.constants-DNKLx5yG.js";
3
- import { C as W } from "./ChartCard-BPQKmAbZ.js";
4
- import { g as w } from "./formatter.utils-Dvqm1_wN.js";
2
+ import { E as f, C as g, m as P, i as F, r as j, j as L, a0 as B, d as O, a as A, X as x, a1 as R, b as S, t as T, c as V, s as I, e as X, f as $, g as G, x as E, y as K, p as N, q as U, u as q, o as z } from "./component.constants-D7F6GsHW.js";
3
+ import { C as W } from "./ChartCard-DunjH70y.js";
4
+ import { g as w } from "./formatter.utils--2w1e7GE.js";
5
5
  import { g as _, a as y } from "./object.utils-BNKDL7Y9.js";
6
6
  import "react";
7
7
  import { i as k, s as H } from "./color.utils-CVyp-fGP.js";
@@ -1,7 +1,7 @@
1
1
  import { useTheme as $, defineComponent as P } from "@embeddable.com/react";
2
- import { E as L, C as R, m as S, i as M, r as j, j as A, a0 as v, d as B, w, X as y, b as D, z as F, t as O, c as T, A as X, s as V, e as E, f as K, g as N, x as U, y as q, p as z, q as W, u as _, o as H } from "./component.constants-DNKLx5yG.js";
3
- import { C as J } from "./ChartCard-BPQKmAbZ.js";
4
- import { g as k } from "./formatter.utils-Dvqm1_wN.js";
2
+ import { E as L, C as R, m as S, i as M, r as j, j as A, a0 as v, d as B, w, X as y, b as D, z as F, t as O, c as T, A as X, s as V, e as E, f as K, g as N, x as U, y as q, p as z, q as W, u as _, o as H } from "./component.constants-D7F6GsHW.js";
3
+ import { C as J } from "./ChartCard-DunjH70y.js";
4
+ import { g as k } from "./formatter.utils--2w1e7GE.js";
5
5
  import { g as Q, a as G } from "./object.utils-BNKDL7Y9.js";
6
6
  import { s as Y } from "./color.utils-CVyp-fGP.js";
7
7
  import "react";
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as i } from "@embeddable.com/react";
2
- import { d as r, z as s, t as d, c as u, a5 as m, V as t, o as c } from "./component.constants-DNKLx5yG.js";
3
- import { M as p, a as f } from "./index-B7EEYcDX.js";
2
+ import { d as r, z as s, t as d, c as u, a5 as m, V as t, o as c } from "./component.constants-D7F6GsHW.js";
3
+ import { M as p, a as f } from "./index-B4-i-g0Z.js";
4
4
  const g = {
5
5
  name: "MultiSelectFieldPro",
6
6
  label: "Multi 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 i, a3 as r, e as m, f as l, V as d, o as c } from "./component.constants-DNKLx5yG.js";
1
+ import { d as a, w as s, z as t, t as o, c as n, s as i, a3 as r, e as m, f as l, V as d, o as c } from "./component.constants-D7F6GsHW.js";
2
2
  import { defineComponent as p } from "@embeddable.com/react";
3
- import { P as u } from "./index-CnlhFJCl.js";
3
+ import { P as u } from "./index-CLVeA9pa.js";
4
4
  const C = {
5
5
  name: "PieChartPro",
6
6
  label: "Pie Chart",
@@ -1,6 +1,6 @@
1
- import { j as l, ad as R, ag as D, ah as E, ae as j, af as k } from "./component.constants-DNKLx5yG.js";
1
+ import { j as l, ad as R, ag as D, ah as E, ae as j, af as k } from "./component.constants-D7F6GsHW.js";
2
2
  import { useState as i, useRef as w, useEffect as B, useMemo as K } from "react";
3
- import { u as M, d as N, I as P, S as T } from "./EditorCard-4LWPw46N.js";
3
+ import { u as M, d as N, I as P, S as T } from "./EditorCard-C9RDdL87.js";
4
4
  const G = ({
5
5
  value: t = "",
6
6
  startIcon: g,
@@ -85,4 +85,4 @@ const G = ({
85
85
  export {
86
86
  G as S
87
87
  };
88
- //# sourceMappingURL=SingleSelectField-j9ZkcXnt.js.map
88
+ //# sourceMappingURL=SingleSelectField-k-5pYl1f.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingleSelectField-j9ZkcXnt.js","sources":["../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport {\n SelectListOption,\n SelectListOptionProps,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { IconSearch, TablerIcon } from '@tabler/icons-react';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\n\nexport type SingleSelectFieldProps = {\n options: SelectListOptionProps[];\n startIcon?: TablerIcon;\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n isSearchable?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n noOptionsMessage?: string;\n onChange: (value: string) => void;\n onSearch?: (search: string) => void;\n};\n\nexport const SingleSelectField: FC<SingleSelectFieldProps> = ({\n value = '',\n startIcon,\n options,\n disabled,\n placeholder,\n isSearchable,\n isClearable,\n isLoading,\n noOptionsMessage = 'No options available',\n onChange,\n onSearch,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [selectedLabel, setSelectedLabel] = useState<string>(value);\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n if (!value) {\n setSelectedLabel('');\n return;\n }\n\n const option = options.find((opt) => opt.value === value);\n if (option) {\n setSelectedLabel(option.label);\n }\n }, [value, options]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n isSearchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const handleChange = (newValue?: string) => {\n setSearchValue('');\n onChange(newValue ?? '');\n onSearch?.('');\n\n if (newValue === '') {\n setSelectedLabel('');\n } else {\n const option = options.find((opt) => opt.value === newValue);\n if (option) setSelectedLabel(option.label);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n return (\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n startIcon={startIcon}\n aria-label=\"Select option\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={() => handleChange('')}\n isClearable={isClearable}\n isLoading={isLoading}\n />\n }\n >\n <SelectList>\n {isSearchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n />\n )}\n <SelectListOptions disabled={isLoading}>\n {displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n {options.length === 0 && (\n <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />\n )}\n </SelectListOptions>\n </SelectList>\n </Dropdown>\n );\n};\n"],"names":["SingleSelectField","value","startIcon","options","disabled","placeholder","isSearchable","isClearable","isLoading","noOptionsMessage","onChange","onSearch","isOpen","setIsOpen","useState","searchValue","setSearchValue","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","option","opt","debouncedSearch","useMemo","debounce","displayOptions","handleChange","newValue","handleSearch","newSearch","jsx","Dropdown","SelectButton","SelectList","TextField","IconSearch","jsxs","SelectListOptions","SelectListOption"],"mappings":"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"}
1
+ {"version":3,"file":"SingleSelectField-k-5pYl1f.js","sources":["../src/remarkable-ui/editors/select/SingleSelectField/SingleSelectField.tsx"],"sourcesContent":["import { FC, useEffect, useMemo, useRef, useState } from 'react';\nimport { TextField } from '../../TextField/TextField';\nimport { SelectButton } from '../shared/SelectButton/SelectButton';\nimport { Dropdown } from '../../../shared/Dropdown/Dropdown';\nimport { SelectList } from '../shared/SelectList/SelectList';\nimport { SelectListOptions } from '../shared/SelectList/SelectListOptions/SelectListOptions';\nimport {\n SelectListOption,\n SelectListOptionProps,\n} from '../shared/SelectList/SelectListOptions/SelectListOption/SelectListOption';\nimport { debounce } from '../../../utils/debounce.utils';\nimport { IconSearch, TablerIcon } from '@tabler/icons-react';\nimport { useSelectSearchFocus } from '../shared/useSelectSearchFocus.hook';\n\nexport type SingleSelectFieldProps = {\n options: SelectListOptionProps[];\n startIcon?: TablerIcon;\n value?: string;\n disabled?: boolean;\n placeholder?: string;\n isSearchable?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n noOptionsMessage?: string;\n onChange: (value: string) => void;\n onSearch?: (search: string) => void;\n};\n\nexport const SingleSelectField: FC<SingleSelectFieldProps> = ({\n value = '',\n startIcon,\n options,\n disabled,\n placeholder,\n isSearchable,\n isClearable,\n isLoading,\n noOptionsMessage = 'No options available',\n onChange,\n onSearch,\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [searchValue, setSearchValue] = useState<string>('');\n const [selectedLabel, setSelectedLabel] = useState<string>(value);\n\n const searchFieldRef = useRef<HTMLInputElement>(null);\n useSelectSearchFocus(isOpen, searchFieldRef);\n\n useEffect(() => {\n if (!value) {\n setSelectedLabel('');\n return;\n }\n\n const option = options.find((opt) => opt.value === value);\n if (option) {\n setSelectedLabel(option.label);\n }\n }, [value, options]);\n\n const debouncedSearch = useMemo(() => (onSearch ? debounce(onSearch) : undefined), [onSearch]);\n\n const displayOptions =\n isSearchable && !onSearch\n ? options.filter((option) => option.label.toLowerCase().includes(searchValue.toLowerCase()))\n : options;\n\n const handleChange = (newValue?: string) => {\n setSearchValue('');\n onChange(newValue ?? '');\n onSearch?.('');\n\n if (newValue === '') {\n setSelectedLabel('');\n } else {\n const option = options.find((opt) => opt.value === newValue);\n if (option) setSelectedLabel(option.label);\n }\n };\n\n const handleSearch = (newSearch: string) => {\n setSearchValue(newSearch);\n debouncedSearch?.(newSearch);\n };\n\n return (\n <Dropdown\n open={isOpen}\n onOpenChange={setIsOpen}\n disabled={disabled}\n triggerComponent={\n <SelectButton\n startIcon={startIcon}\n aria-label=\"Select option\"\n placeholder={placeholder}\n disabled={disabled}\n valueLabel={selectedLabel}\n onClear={() => handleChange('')}\n isClearable={isClearable}\n isLoading={isLoading}\n />\n }\n >\n <SelectList>\n {isSearchable && (\n <TextField\n ref={searchFieldRef}\n startIcon={IconSearch}\n aria-label=\"Search options\"\n placeholder=\"Search…\"\n role=\"searchbox\"\n value={searchValue}\n onKeyDown={(e) => e.stopPropagation()}\n onChange={handleSearch}\n />\n )}\n <SelectListOptions disabled={isLoading}>\n {displayOptions.map((option) => (\n <SelectListOption\n key={option?.value ?? option.label}\n onClick={() => handleChange(option?.value)}\n isSelected={option.value === value}\n {...option}\n />\n ))}\n {options.length === 0 && (\n <SelectListOption disabled value=\"empty\" label={noOptionsMessage} />\n )}\n </SelectListOptions>\n </SelectList>\n </Dropdown>\n );\n};\n"],"names":["SingleSelectField","value","startIcon","options","disabled","placeholder","isSearchable","isClearable","isLoading","noOptionsMessage","onChange","onSearch","isOpen","setIsOpen","useState","searchValue","setSearchValue","selectedLabel","setSelectedLabel","searchFieldRef","useRef","useSelectSearchFocus","useEffect","option","opt","debouncedSearch","useMemo","debounce","displayOptions","handleChange","newValue","handleSearch","newSearch","jsx","Dropdown","SelectButton","SelectList","TextField","IconSearch","jsxs","SelectListOptions","SelectListOption"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as i } from "@embeddable.com/react";
2
- import { d as s, z as r, t as d, c as m, a5 as c, V as n, o as u } from "./component.constants-DNKLx5yG.js";
3
- import { M as p, S as g } from "./index-CDjR8avB.js";
2
+ import { d as s, z as r, t as d, c as m, a5 as c, V as n, o as u } from "./component.constants-D7F6GsHW.js";
3
+ import { M as p, S as g } from "./index-DmgDANxV.js";
4
4
  const f = {
5
5
  name: "SingleSelectFieldPro",
6
6
  label: "Single Select Field",
@@ -1,7 +1,7 @@
1
- import { C as $, m as C, D as I, E as h, F as x, G as B, H as T, I as S, L as R, J as V, K as j, M as F, N, O as P, P as z, j as f, Q as M, R as _, S as H, T as L } from "./component.constants-DNKLx5yG.js";
1
+ import { C as $, m as C, D as I, E as h, F as x, G as B, H as T, I as S, L as R, J as V, K as j, M as F, N, O as P, P as z, j as f, Q as M, R as _, S as H, T as L } from "./component.constants-D7F6GsHW.js";
2
2
  import { useRef as K } from "react";
3
- import { r as E, g as G } from "./charts.utils-CLblssnk.js";
4
- import { g as y } from "./formatter.utils-Dvqm1_wN.js";
3
+ import { r as E, g as G } from "./charts.utils-Dyj5e5HG.js";
4
+ import { g as y } from "./formatter.utils--2w1e7GE.js";
5
5
  import { g as w, a as p } from "./object.utils-BNKDL7Y9.js";
6
6
  const J = (a) => {
7
7
  var t;
@@ -308,4 +308,4 @@ export {
308
308
  la as b,
309
309
  oa as g
310
310
  };
311
- //# sourceMappingURL=bars.utils-X-qA7D8y.js.map
311
+ //# sourceMappingURL=bars.utils-BAkV6I3P.js.map