@embeddable.com/remarkable-ui 0.1.12 → 0.1.13

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 (97) 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-8lCm-nHV.js → BaseButton-BbhHQD9t.js} +2 -2
  8. package/dist/{BaseButton-8lCm-nHV.js.map → BaseButton-BbhHQD9t.js.map} +1 -1
  9. package/dist/ChartCard-11lQWjXq.js +106 -0
  10. package/dist/ChartCard-11lQWjXq.js.map +1 -0
  11. package/dist/ComparisonPeriod.type.emb-D51Sg3wt.js +15 -0
  12. package/dist/ComparisonPeriod.type.emb-D51Sg3wt.js.map +1 -0
  13. package/dist/ComparisonPeriodSelectFieldPro.js +45 -53
  14. package/dist/ComparisonPeriodSelectFieldPro.js.map +1 -1
  15. package/dist/DateRangeSelectFieldPro.js +3 -3
  16. package/dist/DonutChartPro.js +2 -2
  17. package/dist/DonutLabelChartPro.js +2 -2
  18. package/dist/{EditorCard-_U0it3Eb.js → EditorCard-BriyqUva.js} +17 -17
  19. package/dist/{EditorCard-_U0it3Eb.js.map → EditorCard-BriyqUva.js.map} +1 -1
  20. package/dist/KpiChart-BLMULQMh.js +77 -0
  21. package/dist/KpiChart-BLMULQMh.js.map +1 -0
  22. package/dist/KpiChartNumberComparisonPro.js +156 -0
  23. package/dist/KpiChartNumberComparisonPro.js.map +1 -0
  24. package/dist/KpiChartNumberPro.js +47 -0
  25. package/dist/KpiChartNumberPro.js.map +1 -0
  26. package/dist/MultiSelectFieldPro.js +2 -3
  27. package/dist/MultiSelectFieldPro.js.map +1 -1
  28. package/dist/PieChartPro.js +2 -2
  29. package/dist/{SingleSelectField-Coqlrz4l.js → SingleSelectField-D1E9OJxC.js} +3 -3
  30. package/dist/{SingleSelectField-Coqlrz4l.js.map → SingleSelectField-D1E9OJxC.js.map} +1 -1
  31. package/dist/SingleSelectFieldPro.js +2 -2
  32. package/dist/{charts.fillGaps.hooks-dHYClR1D.js → charts.fillGaps.hooks-lZwsRfDF.js} +4 -4
  33. package/dist/{charts.fillGaps.hooks-dHYClR1D.js.map → charts.fillGaps.hooks-lZwsRfDF.js.map} +1 -1
  34. package/dist/{component.constants-6skM25Z_.js → component.constants-DIhZCTG3.js} +120 -84
  35. package/dist/component.constants-DIhZCTG3.js.map +1 -0
  36. package/dist/{editors.timeRange.utils-Dv6T01Ys.js → date.utils-CNVHSCO8.js} +18 -31
  37. package/dist/date.utils-CNVHSCO8.js.map +1 -0
  38. package/dist/editors.timeRange.utils-CG333N7U.js +18 -0
  39. package/dist/editors.timeRange.utils-CG333N7U.js.map +1 -0
  40. package/dist/embeddable-components.json +7 -5
  41. package/dist/embeddable-theme-2b917.js +974 -966
  42. package/dist/{formatter.utils-DMMBiLDD.js → formatter.utils-CuZlh4EL.js} +2 -2
  43. package/dist/{formatter.utils-DMMBiLDD.js.map → formatter.utils-CuZlh4EL.js.map} +1 -1
  44. package/dist/{index-rQcWoTcg.js → index-B7KNswsW.js} +8 -8
  45. package/dist/{index-rQcWoTcg.js.map → index-B7KNswsW.js.map} +1 -1
  46. package/dist/{index-j6OFGLY6.js → index-B_4rK6tI.js} +12 -11
  47. package/dist/{index-j6OFGLY6.js.map → index-B_4rK6tI.js.map} +1 -1
  48. package/dist/{index-DUWz6JXu.js → index-Bgj2EBb8.js} +10 -10
  49. package/dist/{index-DUWz6JXu.js.map → index-Bgj2EBb8.js.map} +1 -1
  50. package/dist/{index-B3vcfrrk.js → index-C-zjH8iP.js} +5 -5
  51. package/dist/{index-B3vcfrrk.js.map → index-C-zjH8iP.js.map} +1 -1
  52. package/dist/{index-Btli_FdH.js → index-C8pGCEGw.js} +5 -5
  53. package/dist/{index-Btli_FdH.js.map → index-C8pGCEGw.js.map} +1 -1
  54. package/dist/{index-B9XcOUp_.js → index-DqKfDjMs.js} +25 -25
  55. package/dist/{index-B9XcOUp_.js.map → index-DqKfDjMs.js.map} +1 -1
  56. package/dist/index.js +190 -247
  57. package/dist/index.js.map +1 -1
  58. package/dist/{object.utils-B52mECQg.js → object.utils-CMJleY-P.js} +2511 -2604
  59. package/dist/object.utils-CMJleY-P.js.map +1 -0
  60. package/dist/{pies.utils-BpooJ8CU.js → pies.utils-DluC4GlY.js} +4 -4
  61. package/dist/{pies.utils-BpooJ8CU.js.map → pies.utils-DluC4GlY.js.map} +1 -1
  62. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts +19 -0
  63. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberComparisonPro/index.d.ts.map +1 -0
  64. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberPro/index.d.ts +11 -0
  65. package/dist/remarkable-pro/components/charts/kpis/KpiChartNumberPro/index.d.ts.map +1 -0
  66. package/dist/remarkable-pro/components/component.constants.d.ts +35 -0
  67. package/dist/remarkable-pro/components/component.constants.d.ts.map +1 -1
  68. package/dist/remarkable-pro/components/utils/timeRange.utils.d.ts +5 -0
  69. package/dist/remarkable-pro/components/utils/timeRange.utils.d.ts.map +1 -0
  70. package/dist/remarkable-pro/theme/defaults/defaults.ComparisonPeriods.constants.d.ts +9 -0
  71. package/dist/remarkable-pro/theme/defaults/defaults.ComparisonPeriods.constants.d.ts.map +1 -0
  72. package/dist/remarkable-pro/theme/defaults/defaults.DateRanges.constants.d.ts +9 -0
  73. package/dist/remarkable-pro/theme/defaults/defaults.DateRanges.constants.d.ts.map +1 -0
  74. package/dist/remarkable-pro/theme/i18n/translations/de.d.ts.map +1 -1
  75. package/dist/remarkable-pro/theme/i18n/translations/en.d.ts.map +1 -1
  76. package/dist/remarkable-pro/theme/theme.constants.d.ts.map +1 -1
  77. package/dist/remarkable-pro/theme/theme.types.d.ts +7 -0
  78. package/dist/remarkable-pro/theme/theme.types.d.ts.map +1 -1
  79. package/dist/remarkable-ui/charts/kpis/KpiChart.d.ts.map +1 -1
  80. package/dist/remarkable-ui/charts/kpis/KpiChart.stories.d.ts +7 -0
  81. package/dist/remarkable-ui/charts/kpis/KpiChart.stories.d.ts.map +1 -1
  82. package/dist/remarkable-ui/charts/kpis/KpiChart.types.d.ts +4 -0
  83. package/dist/remarkable-ui/charts/kpis/KpiChart.types.d.ts.map +1 -1
  84. package/dist/remarkable-ui/charts/kpis/components/KpiChartChange.d.ts.map +1 -1
  85. package/dist/remarkable-ui/shared/Typography/Typography.d.ts +2 -1
  86. package/dist/remarkable-ui/shared/Typography/Typography.d.ts.map +1 -1
  87. package/dist/remarkable-ui/types/css.types.d.ts +2 -0
  88. package/dist/remarkable-ui/types/css.types.d.ts.map +1 -0
  89. package/dist/remarkable-ui.css +1 -1
  90. package/package.json +1 -1
  91. package/dist/component.constants-6skM25Z_.js.map +0 -1
  92. package/dist/editors.timeRange.utils-Dv6T01Ys.js.map +0 -1
  93. package/dist/object.utils-B52mECQg.js.map +0 -1
  94. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.constants.d.ts +0 -3
  95. package/dist/remarkable-pro/components/editors/ComparisonPeriodSelectFieldPro/ComparisonPeriodSelectFieldPro.constants.d.ts.map +0 -1
  96. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.constants.d.ts +0 -3
  97. package/dist/remarkable-pro/components/editors/DateRangeSelectFieldPro/DateRangeSelectFieldPro.constants.d.ts.map +0 -1
package/dist/index.js CHANGED
@@ -1,285 +1,228 @@
1
- import { I as N } from "./object.utils-B52mECQg.js";
2
- import { C as Is, S as $s, g as Ts, r as Ps, s as Ms } from "./object.utils-B52mECQg.js";
3
- import { T as j, j as s, Z as h, _ as S, $ as I, a0 as $, a1 as T, a2 as u } from "./component.constants-6skM25Z_.js";
4
- import { a3 as Bs, aa as As, a4 as Ds, a9 as Fs, ab as Rs, a6 as zs, a7 as Os, a5 as Ws, a8 as Es, Q as Hs, d as qs, ac as Ks, c as Us, z as Xs, b as Ys, am as Gs, an as Qs, C as Zs, B as Js, R as Vs, i as se, S as ee, w as ae, a as te, Y as ne, r as ie, p as oe, h as re, s as ce, g as le, e as de, ao as he, A as me, f as pe, aj as ue, ai as xe, ak as Ce, ah as _e, af as be, al as ge, ag as fe, ad as ve, ae as ye, t as ke, x as je, v as we, l as Ne, k as Se, y as Ie, n as $e, u as Te, q as Pe } from "./component.constants-6skM25Z_.js";
5
- import { useRef as P, useState as M, useEffect as L } from "react";
6
- import { B } from "./BaseButton-8lCm-nHV.js";
7
- import { E as Le, S as Be } from "./EditorCard-_U0it3Eb.js";
8
- import { B as k } from "./index-B9XcOUp_.js";
9
- import { b as De, i as Fe } from "./index-B9XcOUp_.js";
10
- import { S as ze } from "./SingleSelectField-Coqlrz4l.js";
11
- import { g as We } from "./formatter.utils-DMMBiLDD.js";
12
- import { a as He, g as qe } from "./pies.utils-BpooJ8CU.js";
13
- import { i as Ue } from "./index-rQcWoTcg.js";
14
- import { i as Ye } from "./index-DUWz6JXu.js";
15
- import { i as Qe } from "./index-Btli_FdH.js";
16
- import { i as Je } from "./index-B3vcfrrk.js";
17
- import { i as sa } from "./index-j6OFGLY6.js";
18
- /**
19
- * @license @tabler/icons-react v3.34.1 - MIT
20
- *
21
- * This source code is licensed under the MIT license.
22
- * See the LICENSE file in the root directory of this source tree.
23
- */
24
- const A = [["path", { d: "M3 7l6 6l4 -4l8 8", key: "svg-0" }], ["path", { d: "M21 10l0 7l-7 0", key: "svg-1" }]], D = j("outline", "trending-down", "TrendingDown", A);
25
- /**
26
- * @license @tabler/icons-react v3.34.1 - MIT
27
- *
28
- * This source code is licensed under the MIT license.
29
- * See the LICENSE file in the root directory of this source tree.
30
- */
31
- const F = [["path", { d: "M3 17l6 -6l4 4l8 -8", key: "svg-0" }], ["path", { d: "M14 7l7 0l0 7", key: "svg-1" }]], R = j("outline", "trending-up", "TrendingUp", F), z = "_container_436fl_1", O = "_column_436fl_10", W = "_box_436fl_20", E = "_short_436fl_26", H = "_tall_436fl_34", t = {
32
- container: z,
33
- column: O,
34
- box: W,
35
- short: E,
36
- tall: H
37
- }, vs = ({ className: a }) => {
38
- const e = P(null), [o, c] = M(2);
39
- L(() => {
40
- const i = () => {
1
+ import { I as w } from "./ChartCard-11lQWjXq.js";
2
+ import { C as us, S as hs } from "./ChartCard-11lQWjXq.js";
3
+ import { j as s, a1 as u, a2 as v, a3 as S, a4 as I, a5 as N, a6 as C } from "./component.constants-DIhZCTG3.js";
4
+ import { a7 as xs, ae as ps, a8 as bs, ad as fs, af as _s, aa as Cs, ab as gs, a9 as ys, ac as js, Q as ws, d as vs, ag as Ss, c as Is, z as Ns, T as $s, b as Ts, aq as ks, as as Ps, W as Ls, X as As, ar as Ms, U as Bs, C as Ds, B as Rs, R as Fs, i as zs, Y as Os, w as Ws, a as Es, _ as qs, r as Ks, p as Xs, h as Us, s as Vs, g as Ys, e as Gs, at as Hs, A as Qs, f as Js, an as Zs, am as sa, ao as aa, al as ea, aj as ta, ap as na, ak as oa, ah as ra, ai as ia, t as ca, x as la, v as ma, l as ua, k as ha, y as da, n as xa, u as pa, q as ba } from "./component.constants-DIhZCTG3.js";
5
+ import { useRef as $, useState as T, useEffect as k } from "react";
6
+ import { B as P } from "./BaseButton-BbhHQD9t.js";
7
+ import { E as _a, S as Ca } from "./EditorCard-BriyqUva.js";
8
+ import { B as _ } from "./index-DqKfDjMs.js";
9
+ import { b as ya, i as ja } from "./index-DqKfDjMs.js";
10
+ import { S as va } from "./SingleSelectField-D1E9OJxC.js";
11
+ import { K as Ia } from "./KpiChart-BLMULQMh.js";
12
+ import { g as $a, r as Ta, s as ka } from "./object.utils-CMJleY-P.js";
13
+ import { g as La } from "./formatter.utils-CuZlh4EL.js";
14
+ import { a as Ma, g as Ba } from "./pies.utils-DluC4GlY.js";
15
+ import { i as Ra } from "./index-B7KNswsW.js";
16
+ import { i as za } from "./index-Bgj2EBb8.js";
17
+ import { i as Wa } from "./index-C8pGCEGw.js";
18
+ import { i as qa } from "./index-C-zjH8iP.js";
19
+ import { i as Xa } from "./index-B_4rK6tI.js";
20
+ const L = "_container_436fl_1", A = "_column_436fl_10", M = "_box_436fl_20", B = "_short_436fl_26", D = "_tall_436fl_34", a = {
21
+ container: L,
22
+ column: A,
23
+ box: M,
24
+ short: B,
25
+ tall: D
26
+ }, os = ({ className: n }) => {
27
+ const e = $(null), [o, l] = T(2);
28
+ k(() => {
29
+ const t = () => {
41
30
  if (!e.current) return;
42
- const l = e.current.offsetWidth, x = 32, m = 16, C = 128, _ = 256, b = l - x, g = Math.floor((b + m) / (C + m)), w = (b - (g - 1) * m) / g;
43
- let y = g;
44
- w > _ && (y = Math.floor((b + m) / (_ + m))), c(Math.max(2, y));
31
+ const h = e.current.offsetWidth, g = 32, m = 16, y = 128, b = 256, d = h - g, x = Math.floor((d + m) / (y + m)), j = (d - (x - 1) * m) / x;
32
+ let f = x;
33
+ j > b && (f = Math.floor((d + m) / (b + m))), l(Math.max(2, f));
45
34
  };
46
- i();
47
- const n = new ResizeObserver(i);
48
- return e.current && n.observe(e.current), () => n.disconnect();
35
+ t();
36
+ const r = new ResizeObserver(t);
37
+ return e.current && r.observe(e.current), () => r.disconnect();
49
38
  }, []);
50
- const r = (i) => {
51
- const n = i % 2 === 0;
52
- return /* @__PURE__ */ s.jsx("div", { className: t.column, children: n ? /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
53
- /* @__PURE__ */ s.jsx("div", { className: `${t.box} ${t.short}` }),
54
- /* @__PURE__ */ s.jsx("div", { className: `${t.box} ${t.tall}` }),
55
- /* @__PURE__ */ s.jsx("div", { className: `${t.box} ${t.short}` }),
56
- /* @__PURE__ */ s.jsx("div", { className: `${t.box} ${t.tall}` })
39
+ const c = (t) => {
40
+ const r = t % 2 === 0;
41
+ return /* @__PURE__ */ s.jsx("div", { className: a.column, children: r ? /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
42
+ /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.short}` }),
43
+ /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.tall}` }),
44
+ /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.short}` }),
45
+ /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.tall}` })
57
46
  ] }) : /* @__PURE__ */ s.jsxs(s.Fragment, { children: [
58
- /* @__PURE__ */ s.jsx("div", { className: `${t.box} ${t.tall}` }),
59
- /* @__PURE__ */ s.jsx("div", { className: `${t.box} ${t.short}` }),
60
- /* @__PURE__ */ s.jsx("div", { className: `${t.box} ${t.tall}` }),
61
- /* @__PURE__ */ s.jsx("div", { className: `${t.box} ${t.short}` })
62
- ] }) }, i);
47
+ /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.tall}` }),
48
+ /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.short}` }),
49
+ /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.tall}` }),
50
+ /* @__PURE__ */ s.jsx("div", { className: `${a.box} ${a.short}` })
51
+ ] }) }, t);
63
52
  };
64
- return /* @__PURE__ */ s.jsx("div", { ref: e, className: `${t.container} ${a || ""}`, children: Array.from({ length: o }, (i, n) => r(n)) });
65
- }, q = "_icon_bk4b5_1", K = "_iconPrimary_bk4b5_6", U = "_iconSecondary_bk4b5_9", X = "_buttonIcon_bk4b5_12", f = {
66
- icon: q,
67
- iconPrimary: K,
68
- iconSecondary: U,
69
- buttonIcon: X
70
- }, ys = ({
71
- icon: a,
53
+ return /* @__PURE__ */ s.jsx("div", { ref: e, className: `${a.container} ${n || ""}`, children: Array.from({ length: o }, (t, r) => c(r)) });
54
+ }, R = "_icon_bk4b5_1", F = "_iconPrimary_bk4b5_6", z = "_iconSecondary_bk4b5_9", O = "_buttonIcon_bk4b5_12", p = {
55
+ icon: R,
56
+ iconPrimary: F,
57
+ iconSecondary: z,
58
+ buttonIcon: O
59
+ }, rs = ({
60
+ icon: n,
72
61
  variant: e = "primary",
73
62
  ...o
74
- }) => /* @__PURE__ */ s.jsx(B, { variant: e, size: "medium", className: f.buttonIcon, ...o, children: /* @__PURE__ */ s.jsx(
75
- a,
63
+ }) => /* @__PURE__ */ s.jsx(P, { variant: e, size: "medium", className: p.buttonIcon, ...o, children: /* @__PURE__ */ s.jsx(
64
+ n,
76
65
  {
77
- className: h(
78
- f.icon,
79
- f[`icon${e.charAt(0).toUpperCase() + e.slice(1)}`]
66
+ className: u(
67
+ p.icon,
68
+ p[`icon${e.charAt(0).toUpperCase() + e.slice(1)}`]
80
69
  )
81
70
  }
82
- ) }), Y = "_overlay_1wzuc_1", G = {
83
- overlay: Y
84
- }, Q = ({ className: a, children: e }) => /* @__PURE__ */ s.jsx("div", { className: h(G.overlay, a), children: e }), Z = "_actions_pvzr9_1", J = {
85
- actions: Z
86
- }, ks = ({
87
- title: a,
71
+ ) }), W = "_overlay_1wzuc_1", E = {
72
+ overlay: W
73
+ }, q = ({ className: n, children: e }) => /* @__PURE__ */ s.jsx("div", { className: u(E.overlay, n), children: e }), K = "_actions_pvzr9_1", X = {
74
+ actions: K
75
+ }, is = ({
76
+ title: n,
88
77
  message: e,
89
78
  confirmLabel: o = "Confirm",
90
- cancelLabel: c = "Cancel",
91
- onConfirm: r,
92
- onCancel: i,
93
- className: n
94
- }) => /* @__PURE__ */ s.jsx(Q, { children: /* @__PURE__ */ s.jsxs(S, { className: n, children: [
95
- /* @__PURE__ */ s.jsx(I, { title: a, rightContent: /* @__PURE__ */ s.jsx(N, { icon: $, onClick: i }) }),
96
- /* @__PURE__ */ s.jsxs(T, { children: [
97
- /* @__PURE__ */ s.jsx(u, { as: "span", children: e }),
98
- /* @__PURE__ */ s.jsxs("div", { className: J.actions, children: [
99
- /* @__PURE__ */ s.jsx(k, { variant: "secondary", size: "medium", onClick: i, children: c }),
100
- /* @__PURE__ */ s.jsx(k, { variant: "primary", size: "medium", onClick: r, children: o })
79
+ cancelLabel: l = "Cancel",
80
+ onConfirm: c,
81
+ onCancel: t,
82
+ className: r
83
+ }) => /* @__PURE__ */ s.jsx(q, { children: /* @__PURE__ */ s.jsxs(v, { className: r, children: [
84
+ /* @__PURE__ */ s.jsx(S, { title: n, rightContent: /* @__PURE__ */ s.jsx(w, { icon: I, onClick: t }) }),
85
+ /* @__PURE__ */ s.jsxs(N, { children: [
86
+ /* @__PURE__ */ s.jsx(C, { as: "span", children: e }),
87
+ /* @__PURE__ */ s.jsxs("div", { className: X.actions, children: [
88
+ /* @__PURE__ */ s.jsx(_, { variant: "secondary", size: "medium", onClick: t, children: l }),
89
+ /* @__PURE__ */ s.jsx(_, { variant: "primary", size: "medium", onClick: c, children: o })
101
90
  ] })
102
91
  ] })
103
- ] }) }), V = "_switchContainer_nupfs_1", ss = "_switchLabel_nupfs_8", es = "_switchInput_nupfs_14", as = "_switchTrack_nupfs_21", ts = "_switchThumb_nupfs_51", ns = "_checked_nupfs_66", is = "_disabled_nupfs_78", os = "_labelText_nupfs_100", d = {
104
- switchContainer: V,
105
- switchLabel: ss,
106
- switchInput: es,
107
- switchTrack: as,
108
- switchThumb: ts,
109
- checked: ns,
110
- disabled: is,
111
- labelText: os
112
- }, js = ({
113
- checked: a,
92
+ ] }) }), U = "_switchContainer_nupfs_1", V = "_switchLabel_nupfs_8", Y = "_switchInput_nupfs_14", G = "_switchTrack_nupfs_21", H = "_switchThumb_nupfs_51", Q = "_checked_nupfs_66", J = "_disabled_nupfs_78", Z = "_labelText_nupfs_100", i = {
93
+ switchContainer: U,
94
+ switchLabel: V,
95
+ switchInput: Y,
96
+ switchTrack: G,
97
+ switchThumb: H,
98
+ checked: Q,
99
+ disabled: J,
100
+ labelText: Z
101
+ }, cs = ({
102
+ checked: n,
114
103
  onChange: e,
115
104
  disabled: o = !1,
116
- className: c,
117
- label: r,
118
- ...i
105
+ className: l,
106
+ label: c,
107
+ ...t
119
108
  }) => {
120
- const n = (l) => {
121
- !o && e && e(l.target.checked);
109
+ const r = (h) => {
110
+ !o && e && e(h.target.checked);
122
111
  };
123
- return i["aria-label"] || console.warn(
112
+ return t["aria-label"] || console.warn(
124
113
  "Switch component requires either a label prop or aria-label prop for accessibility"
125
- ), /* @__PURE__ */ s.jsx("div", { className: h(d.switchContainer, c), children: /* @__PURE__ */ s.jsxs(
114
+ ), /* @__PURE__ */ s.jsx("div", { className: u(i.switchContainer, l), children: /* @__PURE__ */ s.jsxs(
126
115
  "label",
127
116
  {
128
- className: h(d.switchLabel, a && d.checked, o && d.disabled),
117
+ className: u(i.switchLabel, n && i.checked, o && i.disabled),
129
118
  children: [
130
119
  /* @__PURE__ */ s.jsx(
131
120
  "input",
132
121
  {
133
122
  type: "checkbox",
134
- checked: a,
135
- onChange: n,
123
+ checked: n,
124
+ onChange: r,
136
125
  disabled: o,
137
- className: d.switchInput,
126
+ className: i.switchInput,
138
127
  role: "switch",
139
- "aria-checked": a,
128
+ "aria-checked": n,
140
129
  "aria-disabled": o,
141
- ...i
130
+ ...t
142
131
  }
143
132
  ),
144
- /* @__PURE__ */ s.jsx("span", { className: d.switchTrack, "aria-hidden": "true", children: /* @__PURE__ */ s.jsx("span", { className: d.switchThumb, "aria-hidden": "true" }) }),
145
- r && /* @__PURE__ */ s.jsx(u, { as: "span", className: h(d.labelText, o && d.disabled), children: r })
133
+ /* @__PURE__ */ s.jsx("span", { className: i.switchTrack, "aria-hidden": "true", children: /* @__PURE__ */ s.jsx("span", { className: i.switchThumb, "aria-hidden": "true" }) }),
134
+ c && /* @__PURE__ */ s.jsx(C, { as: "span", className: u(i.labelText, o && i.disabled), children: c })
146
135
  ]
147
136
  }
148
137
  ) });
149
- }, rs = "_kpiChartContainer_1vy2d_1", cs = "_kpiComparisonContainer_1vy2d_21", ls = "_kpiChangeHidden_1vy2d_44", v = {
150
- kpiChartContainer: rs,
151
- kpiComparisonContainer: cs,
152
- kpiChangeHidden: ls
153
- }, ds = "_kpiChartChangeContainer_9ltmr_1", hs = "_kpiChangeBadge_9ltmr_7", ms = "_positive_9ltmr_26", ps = "_negative_9ltmr_31", p = {
154
- kpiChartChangeContainer: ds,
155
- kpiChangeBadge: hs,
156
- positive: ms,
157
- negative: ps
158
- }, us = (a, e) => a ? e ? p.negative : p.positive : e ? p.positive : p.negative, xs = ({
159
- value: a,
160
- comparisonValue: e = 0,
161
- showChangeAsPercentage: o,
162
- invertChangeColors: c = !1,
163
- comparisonLabel: r,
164
- className: i
165
- }) => {
166
- const n = a - e, l = n > 0;
167
- let x = n.toString();
168
- o && (x = `${(e === 0 ? 0 : n / e * 100).toFixed(2)}%`);
169
- const m = `${l ? "+" : ""}${x}`, C = l ? R : D;
170
- return /* @__PURE__ */ s.jsxs("div", { className: h(i, p.kpiChartChangeContainer), children: [
171
- /* @__PURE__ */ s.jsxs("div", { className: h(p.kpiChangeBadge, us(l, c)), children: [
172
- /* @__PURE__ */ s.jsx(C, {}),
173
- /* @__PURE__ */ s.jsx(u, { children: m })
174
- ] }),
175
- r && /* @__PURE__ */ s.jsx(u, { children: r })
176
- ] });
177
- }, ws = ({
178
- value: a,
179
- comparisonValue: e,
180
- comparisonLabel: o,
181
- invertChangeColors: c,
182
- showChangeAsPercentage: r,
183
- equalComparisonLabel: i = "No change"
184
- }) => {
185
- const n = e !== void 0, l = n && e === a;
186
- return /* @__PURE__ */ s.jsxs("div", { className: v.kpiChartContainer, children: [
187
- /* @__PURE__ */ s.jsx(u, { children: a }),
188
- /* @__PURE__ */ s.jsx("div", { className: v.kpiComparisonContainer, children: l ? /* @__PURE__ */ s.jsx(u, { children: i }) : /* @__PURE__ */ s.jsx(
189
- xs,
190
- {
191
- className: h(!n && v.kpiChangeHidden),
192
- value: a,
193
- comparisonValue: e,
194
- invertChangeColors: c,
195
- showChangeAsPercentage: r,
196
- comparisonLabel: o
197
- }
198
- ) })
199
- ] });
200
138
  };
201
139
  export {
202
- k as Button,
203
- ys as ButtonIcon,
204
- S as Card,
205
- T as CardContent,
206
- Bs as CardContentInfo,
207
- I as CardHeader,
208
- Is as ChartCard,
209
- ks as ConfirmCancelModal,
210
- sa as DateRangeSelectFieldPro,
211
- As as DonutChart,
212
- Ye as DonutChartPro,
213
- Qe as DonutLabelChartPro,
214
- Ds as Dropdown,
215
- Le as EditorCard,
216
- vs as EmptyStateSkeleton,
217
- N as IconButton,
218
- ws as KpiChart,
219
- De as MultiSelectField,
220
- Fe as MultiSelectFieldPro,
221
- Fs as NumberField,
222
- Q as PageOverlay,
223
- Rs as PieChart,
224
- Ue as PieChartPro,
225
- zs as SelectButton,
226
- Os as SelectList,
227
- Ws as SelectListOption,
228
- Be as SelectListOptions,
229
- ze as SingleSelectField,
230
- Je as SingleSelectFieldPro,
231
- $s as Skeleton,
232
- js as Switch,
233
- Es as TextField,
234
- u as Typography,
235
- Hs as chartColors,
236
- qs as dataset,
237
- Ks as defaultPieChartOptions,
238
- Us as description,
239
- Xs as dimension,
240
- Ys as dimensionWithDateBounds,
241
- Gs as dimensions,
242
- Qs as displayPercentages,
243
- He as getDefaultPieChartOptions,
244
- Ts as getObjectStableKey,
245
- qe as getPieChartData,
246
- Zs as getStyle,
247
- Js as getStyleNumber,
248
- We as getThemeFormatter,
249
- Vs as i18n,
250
- se as i18nSetup,
251
- ee as maxLegendItems,
252
- ae as measure,
253
- te as measures,
254
- ne as placeholder,
255
- Ps as remarkableTheme,
256
- ie as resolveI18nProps,
257
- oe as reverseXAxis,
258
- re as reverseYAxis,
259
- ce as showLegend,
260
- le as showLogarithmicScale,
261
- de as showTooltips,
262
- he as showTopItems,
263
- me as showTotalLabels,
264
- pe as showValueLabels,
265
- Ms as styles,
266
- ue as subInputAbbreviateLargeNumber,
267
- xe as subInputCurrency,
268
- Ce as subInputDateBounds,
269
- _e as subInputDecimalPlaces,
270
- be as subInputDisplayName,
271
- ge as subInputGranularity,
272
- fe as subInputMaxCharacters,
273
- ve as subInputPrefix,
274
- ye as subInputSuffix,
275
- ke as title,
276
- je as xAxisLabel,
277
- we as xAxisMaxItems,
278
- Ne as xAxisRangeMax,
279
- Se as xAxisRangeMin,
280
- Ie as yAxisLabel,
281
- $e as yAxisMaxItems,
282
- Te as yAxisRangeMax,
283
- Pe as yAxisRangeMin
140
+ _ as Button,
141
+ rs as ButtonIcon,
142
+ v as Card,
143
+ N as CardContent,
144
+ xs as CardContentInfo,
145
+ S as CardHeader,
146
+ us as ChartCard,
147
+ is as ConfirmCancelModal,
148
+ Xa as DateRangeSelectFieldPro,
149
+ ps as DonutChart,
150
+ za as DonutChartPro,
151
+ Wa as DonutLabelChartPro,
152
+ bs as Dropdown,
153
+ _a as EditorCard,
154
+ os as EmptyStateSkeleton,
155
+ w as IconButton,
156
+ Ia as KpiChart,
157
+ ya as MultiSelectField,
158
+ ja as MultiSelectFieldPro,
159
+ fs as NumberField,
160
+ q as PageOverlay,
161
+ _s as PieChart,
162
+ Ra as PieChartPro,
163
+ Cs as SelectButton,
164
+ gs as SelectList,
165
+ ys as SelectListOption,
166
+ Ca as SelectListOptions,
167
+ va as SingleSelectField,
168
+ qa as SingleSelectFieldPro,
169
+ hs as Skeleton,
170
+ cs as Switch,
171
+ js as TextField,
172
+ C as Typography,
173
+ ws as chartColors,
174
+ vs as dataset,
175
+ Ss as defaultPieChartOptions,
176
+ Is as description,
177
+ Ns as dimension,
178
+ $s as dimensionTime,
179
+ Ts as dimensionWithDateBounds,
180
+ ks as dimensions,
181
+ Ps as displayPercentages,
182
+ Ls as genericBoolean,
183
+ As as genericNumber,
184
+ Ms as genericString,
185
+ Bs as genericTimeRange,
186
+ Ma as getDefaultPieChartOptions,
187
+ $a as getObjectStableKey,
188
+ Ba as getPieChartData,
189
+ Ds as getStyle,
190
+ Rs as getStyleNumber,
191
+ La as getThemeFormatter,
192
+ Fs as i18n,
193
+ zs as i18nSetup,
194
+ Os as maxLegendItems,
195
+ Ws as measure,
196
+ Es as measures,
197
+ qs as placeholder,
198
+ Ta as remarkableTheme,
199
+ Ks as resolveI18nProps,
200
+ Xs as reverseXAxis,
201
+ Us as reverseYAxis,
202
+ Vs as showLegend,
203
+ Ys as showLogarithmicScale,
204
+ Gs as showTooltips,
205
+ Hs as showTopItems,
206
+ Qs as showTotalLabels,
207
+ Js as showValueLabels,
208
+ ka as styles,
209
+ Zs as subInputAbbreviateLargeNumber,
210
+ sa as subInputCurrency,
211
+ aa as subInputDateBounds,
212
+ ea as subInputDecimalPlaces,
213
+ ta as subInputDisplayName,
214
+ na as subInputGranularity,
215
+ oa as subInputMaxCharacters,
216
+ ra as subInputPrefix,
217
+ ia as subInputSuffix,
218
+ ca as title,
219
+ la as xAxisLabel,
220
+ ma as xAxisMaxItems,
221
+ ua as xAxisRangeMax,
222
+ ha as xAxisRangeMin,
223
+ da as yAxisLabel,
224
+ xa as yAxisMaxItems,
225
+ pa as yAxisRangeMax,
226
+ ba as yAxisRangeMin
284
227
  };
285
228
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.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/shared/EmptyStateSkeleton/EmptyStateSkeleton.tsx","../src/remarkable-ui/shared/ButtonIcon/ButtonIcon.tsx","../src/remarkable-ui/shared/PageOverlay/PageOverlay.tsx","../src/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.tsx","../src/remarkable-ui/shared/Switch/Switch.tsx","../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 React, { useState, useEffect, useRef } from 'react';\nimport styles from './EmptyStateSkeleton.module.css';\n\ninterface EmptyStateSkeletonProps {\n className?: string;\n}\n\nexport const EmptyStateSkeleton: React.FC<EmptyStateSkeletonProps> = ({ className }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [visibleColumns, setVisibleColumns] = useState(2);\n\n useEffect(() => {\n const calculateColumns = () => {\n if (!containerRef.current) return;\n\n const containerWidth = containerRef.current.offsetWidth;\n const padding = 32; // 2rem total padding (1rem each side)\n const gap = 16; // 1rem gap between columns\n const minColumnWidth = 128; // 8rem\n const maxColumnWidth = 256; // 16rem\n\n const availableWidth = containerWidth - padding;\n\n // Calculate how many columns can fit at minimum width\n const maxPossibleColumns = Math.floor((availableWidth + gap) / (minColumnWidth + gap));\n\n // Calculate actual column width if we use maxPossibleColumns\n const actualColumnWidth =\n (availableWidth - (maxPossibleColumns - 1) * gap) / maxPossibleColumns;\n\n // If columns would be wider than max width, reduce column count\n let finalColumns = maxPossibleColumns;\n if (actualColumnWidth > maxColumnWidth) {\n finalColumns = Math.floor((availableWidth + gap) / (maxColumnWidth + gap));\n }\n\n setVisibleColumns(Math.max(2, finalColumns)); // Minimum 2 columns\n };\n\n calculateColumns();\n\n const resizeObserver = new ResizeObserver(calculateColumns);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n return () => resizeObserver.disconnect();\n }, []);\n\n const renderColumn = (index: number) => {\n const isEvenColumn = index % 2 === 0;\n return (\n <div key={index} className={styles.column}>\n {isEvenColumn ? (\n <>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n </>\n ) : (\n <>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n </>\n )}\n </div>\n );\n };\n\n return (\n <div ref={containerRef} className={`${styles.container} ${className || ''}`}>\n {Array.from({ length: visibleColumns }, (_, index) => renderColumn(index))}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport styles from './ButtonIcon.module.css';\nimport { BaseButton, type BaseButtonProps } from '../BaseButton';\nimport { TablerIcon } from '@tabler/icons-react';\n\ntype ButtonIconProps = Omit<BaseButtonProps, 'size'> & {\n icon: TablerIcon;\n};\n\nexport const ButtonIcon: React.FC<ButtonIconProps> = ({\n icon: Icon,\n variant = 'primary',\n ...props\n}) => {\n return (\n <BaseButton variant={variant} size=\"medium\" className={styles.buttonIcon} {...props}>\n <Icon\n className={clsx(\n styles.icon,\n styles[`icon${variant.charAt(0).toUpperCase() + variant.slice(1)}`],\n )}\n />\n </BaseButton>\n );\n};\n","import clsx from 'clsx';\nimport styles from './PageOverlay.module.css';\nimport type { PageOverlayProps } from './PageOverlay.types';\n\nexport const PageOverlay: React.FC<PageOverlayProps> = ({ className, children }) => {\n return <div className={clsx(styles.overlay, className)}>{children}</div>;\n};\n","import React from 'react';\nimport { Card, CardHeader, CardContent } from '../Card/Card';\nimport { Button } from '../Button/Button';\nimport { Typography } from '../Typography/Typography';\nimport styles from './ConfirmCancelModal.module.css';\nimport type { ConfirmCancelModalProps } from './ConfirmCancelModal.types';\nimport { PageOverlay } from '../PageOverlay';\nimport { IconX } from '@tabler/icons-react';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport const ConfirmCancelModal: React.FC<ConfirmCancelModalProps> = ({\n title,\n message,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n onConfirm,\n onCancel,\n className,\n}) => {\n return (\n <PageOverlay>\n <Card className={className}>\n <CardHeader title={title} rightContent={<IconButton icon={IconX} onClick={onCancel} />} />\n <CardContent>\n <Typography as=\"span\">{message}</Typography>\n <div className={styles.actions}>\n <Button variant=\"secondary\" size=\"medium\" onClick={onCancel}>\n {cancelLabel}\n </Button>\n <Button variant=\"primary\" size=\"medium\" onClick={onConfirm}>\n {confirmLabel}\n </Button>\n </div>\n </CardContent>\n </Card>\n </PageOverlay>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport styles from './Switch.module.css';\nimport { Typography } from '../Typography/Typography';\n\ntype SwitchProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> & {\n onChange?: (checked: boolean) => void;\n disabled?: boolean;\n className?: string;\n label?: string;\n};\n\nexport const Switch: React.FC<SwitchProps> = ({\n checked,\n onChange,\n disabled = false,\n className,\n label,\n ...props\n}) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!disabled && onChange) {\n onChange(event.target.checked);\n }\n };\n\n // Ensure accessibility: either aria-label must be provided\n if (!props['aria-label']) {\n console.warn(\n 'Switch component requires either a label prop or aria-label prop for accessibility',\n );\n }\n\n return (\n <div className={clsx(styles.switchContainer, className)}>\n <label\n className={clsx(styles.switchLabel, checked && styles.checked, disabled && styles.disabled)}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={handleChange}\n disabled={disabled}\n className={styles.switchInput}\n role=\"switch\"\n aria-checked={checked}\n aria-disabled={disabled}\n {...props}\n />\n <span className={styles.switchTrack} aria-hidden=\"true\">\n <span className={styles.switchThumb} aria-hidden=\"true\" />\n </span>\n {label && (\n <Typography as=\"span\" className={clsx(styles.labelText, disabled && styles.disabled)}>\n {label}\n </Typography>\n )}\n </label>\n </div>\n );\n};\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 className,\n}) => {\n const difference = value - comparisonValue;\n const isPositive = difference > 0;\n\n let differenceLabel: string = difference.toString();\n\n if (showChangeAsPercentage) {\n const percentage = comparisonValue === 0 ? 0 : (difference / comparisonValue) * 100;\n differenceLabel = `${percentage.toFixed(2)}%`;\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 comparisonValue,\n comparisonLabel,\n invertChangeColors,\n showChangeAsPercentage,\n equalComparisonLabel = 'No change',\n}) => {\n const hasComparisonValue = comparisonValue !== undefined;\n const equalComparison = hasComparisonValue && comparisonValue === value;\n\n return (\n <div className={styles.kpiChartContainer}>\n <Typography>{value}</Typography>\n <div className={styles.kpiComparisonContainer}>\n {equalComparison ? (\n <Typography>{equalComparisonLabel}</Typography>\n ) : (\n <KpiChartChange\n className={clsx(!hasComparisonValue && styles.kpiChangeHidden)}\n value={value}\n comparisonValue={comparisonValue}\n invertChangeColors={invertChangeColors}\n showChangeAsPercentage={showChangeAsPercentage}\n comparisonLabel={comparisonLabel}\n />\n )}\n </div>\n </div>\n );\n};\n"],"names":["__iconNode","IconTrendingDown","createReactComponent","IconTrendingUp","EmptyStateSkeleton","className","containerRef","useRef","visibleColumns","setVisibleColumns","useState","useEffect","calculateColumns","containerWidth","padding","gap","minColumnWidth","maxColumnWidth","availableWidth","maxPossibleColumns","actualColumnWidth","finalColumns","resizeObserver","renderColumn","index","isEvenColumn","styles","jsxs","Fragment","jsx","_","ButtonIcon","Icon","variant","props","BaseButton","clsx","PageOverlay","children","ConfirmCancelModal","title","message","confirmLabel","cancelLabel","onConfirm","onCancel","Card","CardHeader","IconButton","IconX","CardContent","Typography","Button","Switch","checked","onChange","disabled","label","handleChange","event","getChangeClass","isPositive","invertChangeColors","KpiChartChange","value","comparisonValue","showChangeAsPercentage","comparisonLabel","difference","differenceLabel","displayValue","KpiChart","equalComparisonLabel","hasComparisonValue","equalComparison"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"index.js","sources":["../src/remarkable-ui/shared/EmptyStateSkeleton/EmptyStateSkeleton.tsx","../src/remarkable-ui/shared/ButtonIcon/ButtonIcon.tsx","../src/remarkable-ui/shared/PageOverlay/PageOverlay.tsx","../src/remarkable-ui/shared/ConfirmCancelModal/ConfirmCancelModal.tsx","../src/remarkable-ui/shared/Switch/Switch.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport styles from './EmptyStateSkeleton.module.css';\n\ninterface EmptyStateSkeletonProps {\n className?: string;\n}\n\nexport const EmptyStateSkeleton: React.FC<EmptyStateSkeletonProps> = ({ className }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [visibleColumns, setVisibleColumns] = useState(2);\n\n useEffect(() => {\n const calculateColumns = () => {\n if (!containerRef.current) return;\n\n const containerWidth = containerRef.current.offsetWidth;\n const padding = 32; // 2rem total padding (1rem each side)\n const gap = 16; // 1rem gap between columns\n const minColumnWidth = 128; // 8rem\n const maxColumnWidth = 256; // 16rem\n\n const availableWidth = containerWidth - padding;\n\n // Calculate how many columns can fit at minimum width\n const maxPossibleColumns = Math.floor((availableWidth + gap) / (minColumnWidth + gap));\n\n // Calculate actual column width if we use maxPossibleColumns\n const actualColumnWidth =\n (availableWidth - (maxPossibleColumns - 1) * gap) / maxPossibleColumns;\n\n // If columns would be wider than max width, reduce column count\n let finalColumns = maxPossibleColumns;\n if (actualColumnWidth > maxColumnWidth) {\n finalColumns = Math.floor((availableWidth + gap) / (maxColumnWidth + gap));\n }\n\n setVisibleColumns(Math.max(2, finalColumns)); // Minimum 2 columns\n };\n\n calculateColumns();\n\n const resizeObserver = new ResizeObserver(calculateColumns);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n return () => resizeObserver.disconnect();\n }, []);\n\n const renderColumn = (index: number) => {\n const isEvenColumn = index % 2 === 0;\n return (\n <div key={index} className={styles.column}>\n {isEvenColumn ? (\n <>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n </>\n ) : (\n <>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n <div className={`${styles.box} ${styles.tall}`}></div>\n <div className={`${styles.box} ${styles.short}`}></div>\n </>\n )}\n </div>\n );\n };\n\n return (\n <div ref={containerRef} className={`${styles.container} ${className || ''}`}>\n {Array.from({ length: visibleColumns }, (_, index) => renderColumn(index))}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport styles from './ButtonIcon.module.css';\nimport { BaseButton, type BaseButtonProps } from '../BaseButton';\nimport { TablerIcon } from '@tabler/icons-react';\n\ntype ButtonIconProps = Omit<BaseButtonProps, 'size'> & {\n icon: TablerIcon;\n};\n\nexport const ButtonIcon: React.FC<ButtonIconProps> = ({\n icon: Icon,\n variant = 'primary',\n ...props\n}) => {\n return (\n <BaseButton variant={variant} size=\"medium\" className={styles.buttonIcon} {...props}>\n <Icon\n className={clsx(\n styles.icon,\n styles[`icon${variant.charAt(0).toUpperCase() + variant.slice(1)}`],\n )}\n />\n </BaseButton>\n );\n};\n","import clsx from 'clsx';\nimport styles from './PageOverlay.module.css';\nimport type { PageOverlayProps } from './PageOverlay.types';\n\nexport const PageOverlay: React.FC<PageOverlayProps> = ({ className, children }) => {\n return <div className={clsx(styles.overlay, className)}>{children}</div>;\n};\n","import React from 'react';\nimport { Card, CardHeader, CardContent } from '../Card/Card';\nimport { Button } from '../Button/Button';\nimport { Typography } from '../Typography/Typography';\nimport styles from './ConfirmCancelModal.module.css';\nimport type { ConfirmCancelModalProps } from './ConfirmCancelModal.types';\nimport { PageOverlay } from '../PageOverlay';\nimport { IconX } from '@tabler/icons-react';\nimport { IconButton } from '../IconButton/IconButton';\n\nexport const ConfirmCancelModal: React.FC<ConfirmCancelModalProps> = ({\n title,\n message,\n confirmLabel = 'Confirm',\n cancelLabel = 'Cancel',\n onConfirm,\n onCancel,\n className,\n}) => {\n return (\n <PageOverlay>\n <Card className={className}>\n <CardHeader title={title} rightContent={<IconButton icon={IconX} onClick={onCancel} />} />\n <CardContent>\n <Typography as=\"span\">{message}</Typography>\n <div className={styles.actions}>\n <Button variant=\"secondary\" size=\"medium\" onClick={onCancel}>\n {cancelLabel}\n </Button>\n <Button variant=\"primary\" size=\"medium\" onClick={onConfirm}>\n {confirmLabel}\n </Button>\n </div>\n </CardContent>\n </Card>\n </PageOverlay>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport styles from './Switch.module.css';\nimport { Typography } from '../Typography/Typography';\n\ntype SwitchProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> & {\n onChange?: (checked: boolean) => void;\n disabled?: boolean;\n className?: string;\n label?: string;\n};\n\nexport const Switch: React.FC<SwitchProps> = ({\n checked,\n onChange,\n disabled = false,\n className,\n label,\n ...props\n}) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!disabled && onChange) {\n onChange(event.target.checked);\n }\n };\n\n // Ensure accessibility: either aria-label must be provided\n if (!props['aria-label']) {\n console.warn(\n 'Switch component requires either a label prop or aria-label prop for accessibility',\n );\n }\n\n return (\n <div className={clsx(styles.switchContainer, className)}>\n <label\n className={clsx(styles.switchLabel, checked && styles.checked, disabled && styles.disabled)}\n >\n <input\n type=\"checkbox\"\n checked={checked}\n onChange={handleChange}\n disabled={disabled}\n className={styles.switchInput}\n role=\"switch\"\n aria-checked={checked}\n aria-disabled={disabled}\n {...props}\n />\n <span className={styles.switchTrack} aria-hidden=\"true\">\n <span className={styles.switchThumb} aria-hidden=\"true\" />\n </span>\n {label && (\n <Typography as=\"span\" className={clsx(styles.labelText, disabled && styles.disabled)}>\n {label}\n </Typography>\n )}\n </label>\n </div>\n );\n};\n"],"names":["EmptyStateSkeleton","className","containerRef","useRef","visibleColumns","setVisibleColumns","useState","useEffect","calculateColumns","containerWidth","padding","gap","minColumnWidth","maxColumnWidth","availableWidth","maxPossibleColumns","actualColumnWidth","finalColumns","resizeObserver","renderColumn","index","isEvenColumn","styles","jsxs","Fragment","jsx","_","ButtonIcon","Icon","variant","props","BaseButton","clsx","PageOverlay","children","ConfirmCancelModal","title","message","confirmLabel","cancelLabel","onConfirm","onCancel","Card","CardHeader","IconButton","IconX","CardContent","Typography","Button","Switch","checked","onChange","disabled","label","handleChange","event"],"mappings":"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"}