1mpacto-react-ui 2.0.20 → 2.0.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 (114) hide show
  1. package/dist/assets/_mixins.scss +72 -72
  2. package/dist/assets/icons/arrow-narrow-down.svg +3 -3
  3. package/dist/assets/style.css +1 -1
  4. package/dist/components/Alert/index.cjs +1 -1
  5. package/dist/components/Alert/index.mjs +40 -40
  6. package/dist/components/Breadcrumbs/Breadcrumbs.cjs +3 -3
  7. package/dist/components/Breadcrumbs/Breadcrumbs.mjs +43 -43
  8. package/dist/components/Button/Button.cjs +12 -12
  9. package/dist/components/Button/Button.config.cjs +1 -1
  10. package/dist/components/Button/Button.config.mjs +3 -1
  11. package/dist/components/Button/Button.mjs +24 -24
  12. package/dist/components/Button/style.module.scss.cjs +1 -1
  13. package/dist/components/Button/style.module.scss.mjs +57 -55
  14. package/dist/components/ButtonIcon/ButtonIcon.cjs +12 -12
  15. package/dist/components/ButtonIcon/ButtonIcon.mjs +20 -20
  16. package/dist/components/ButtonPopover/ButtonPopover.cjs +1 -1
  17. package/dist/components/ButtonPopover/ButtonPopover.mjs +28 -31
  18. package/dist/components/Calendar/Calendar.cjs +1 -1
  19. package/dist/components/Calendar/Calendar.mjs +98 -100
  20. package/dist/components/Calendar/CalendarMonth.cjs +1 -1
  21. package/dist/components/Calendar/CalendarMonth.mjs +41 -42
  22. package/dist/components/Calendar/CalendarRange.cjs +1 -1
  23. package/dist/components/Calendar/CalendarRange.mjs +59 -61
  24. package/dist/components/Calendar/CalendarYear.cjs +3 -3
  25. package/dist/components/Calendar/CalendarYear.mjs +39 -40
  26. package/dist/components/Chart/DoughnutChart.cjs +1 -1
  27. package/dist/components/Chart/DoughnutChart.mjs +93 -96
  28. package/dist/components/Chart/GradientBarChart.cjs +1 -1
  29. package/dist/components/Chart/GradientBarChart.mjs +80 -81
  30. package/dist/components/Chart/GradientLineChart.cjs +1 -1
  31. package/dist/components/Chart/GradientLineChart.mjs +50 -51
  32. package/dist/components/Chart/LineChart.cjs +1 -1
  33. package/dist/components/Chart/LineChart.mjs +23 -23
  34. package/dist/components/Chart/PieChart.cjs +1 -1
  35. package/dist/components/Chart/PieChart.mjs +45 -48
  36. package/dist/components/Collapse/Collapse.cjs +1 -1
  37. package/dist/components/Collapse/Collapse.mjs +23 -24
  38. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  39. package/dist/components/DatePicker/DatePicker.mjs +86 -89
  40. package/dist/components/DatePicker/DateRangePicker.cjs +1 -1
  41. package/dist/components/DatePicker/DateRangePicker.mjs +91 -92
  42. package/dist/components/DatePicker/FilterDate.cjs +1 -1
  43. package/dist/components/DatePicker/FilterDate.mjs +107 -110
  44. package/dist/components/DatePicker/MonthYearPicker.cjs +1 -1
  45. package/dist/components/DatePicker/MonthYearPicker.mjs +51 -53
  46. package/dist/components/FilterContainer/FilterContainer.cjs +1 -1
  47. package/dist/components/FilterContainer/FilterContainer.mjs +27 -27
  48. package/dist/components/Input/InputFloatingInner.cjs +5 -5
  49. package/dist/components/Input/InputFloatingInner.mjs +24 -25
  50. package/dist/components/NumberFormat/NumberFormat.cjs +1 -1
  51. package/dist/components/NumberFormat/NumberFormat.mjs +12 -13
  52. package/dist/components/Pagination/Pagination.cjs +2 -2
  53. package/dist/components/Pagination/Pagination.mjs +76 -80
  54. package/dist/components/SelectDropdownContainer/SelectDropdownContainer.cjs +1 -1
  55. package/dist/components/SelectDropdownContainer/SelectDropdownContainer.mjs +98 -102
  56. package/dist/components/Sidebar/ItemSidebar.cjs +8 -8
  57. package/dist/components/Sidebar/ItemSidebar.mjs +71 -72
  58. package/dist/components/Sidebar/Sidebar.cjs +1 -1
  59. package/dist/components/Sidebar/Sidebar.mjs +65 -68
  60. package/dist/components/Slider/Slider.cjs +1 -0
  61. package/dist/components/Slider/Slider.mjs +61 -0
  62. package/dist/components/Slider/style.module.scss.cjs +1 -0
  63. package/dist/components/Slider/style.module.scss.mjs +14 -0
  64. package/dist/components/Step/Step.cjs +5 -5
  65. package/dist/components/Step/Step.mjs +52 -52
  66. package/dist/components/Table/Table.cjs +3 -3
  67. package/dist/components/Table/Table.mjs +275 -298
  68. package/dist/components/Table/TableSubMobile.cjs +1 -1
  69. package/dist/components/Table/TableSubMobile.mjs +32 -35
  70. package/dist/components/Tabs/Tabs.cjs +8 -8
  71. package/dist/components/Tabs/Tabs.mjs +66 -70
  72. package/dist/components/Textarea/Textarea.cjs +7 -7
  73. package/dist/components/Textarea/Textarea.mjs +47 -50
  74. package/dist/components/Textarea/TextareaFloatingInner.cjs +6 -6
  75. package/dist/components/Textarea/TextareaFloatingInner.mjs +56 -61
  76. package/dist/components/Textarea/TextareaInnerLabel.cjs +6 -6
  77. package/dist/components/Textarea/TextareaInnerLabel.mjs +47 -50
  78. package/dist/components/TimeRange/TimeRange.cjs +1 -1
  79. package/dist/components/TimeRange/TimeRange.mjs +88 -91
  80. package/dist/components/Tooltip/Tooltip.cjs +1 -1
  81. package/dist/components/Tooltip/Tooltip.mjs +44 -46
  82. package/dist/components/Upload/UploadFile.cjs +1 -1
  83. package/dist/components/Upload/UploadFile.mjs +50 -54
  84. package/dist/components/Upload/UploadImage.cjs +12 -12
  85. package/dist/components/Upload/UploadImage.mjs +73 -79
  86. package/dist/components/Upload/UploadMultipleFile.cjs +1 -1
  87. package/dist/components/Upload/UploadMultipleFile.mjs +61 -62
  88. package/dist/components/Virtualization/ListVirtualization.cjs +1 -1
  89. package/dist/components/Virtualization/ListVirtualization.mjs +52 -55
  90. package/dist/components/Virtualization/TableVirtualization.cjs +1 -1
  91. package/dist/components/Virtualization/TableVirtualization.mjs +56 -59
  92. package/dist/config/components/tinymce.cjs +2 -2
  93. package/dist/config/components/tinymce.mjs +3 -3
  94. package/dist/hooks/useCountdown.cjs +1 -1
  95. package/dist/hooks/useCountdown.mjs +15 -15
  96. package/dist/hooks/useDebounce.cjs +1 -1
  97. package/dist/hooks/useDebounce.mjs +19 -19
  98. package/dist/hooks/useOtpInput.cjs +1 -1
  99. package/dist/hooks/useOtpInput.mjs +47 -51
  100. package/dist/index.cjs +1 -1
  101. package/dist/index.mjs +48 -46
  102. package/dist/package.json.cjs +1 -1
  103. package/dist/package.json.d.ts +129 -128
  104. package/dist/package.json.mjs +1 -1
  105. package/dist/src/components/Button/Button.config.d.ts +2 -0
  106. package/dist/src/components/Slider/Slider.d.ts +3 -0
  107. package/dist/src/components/Slider/Slider.stories.d.ts +6 -0
  108. package/dist/src/components/index.d.ts +4 -2
  109. package/dist/src/interfaces/components/Button/index.d.ts +1 -1
  110. package/dist/src/interfaces/components/Slider/index.d.ts +51 -0
  111. package/dist/types-external/table.d.ts +15 -15
  112. package/dist/utils/common.cjs +1 -1
  113. package/dist/utils/common.mjs +172 -173
  114. package/package.json +128 -128
@@ -1,125 +1,122 @@
1
- import { jsxs as L, jsx as A } from "react/jsx-runtime";
1
+ import { jsxs as H, jsx as A } from "react/jsx-runtime";
2
2
  import { Doughnut as T } from "react-chartjs-2";
3
- import { Chart as R, CategoryScale as F, LinearScale as M, PointElement as Y, LineElement as B, ArcElement as O, Title as k, Tooltip as N, Legend as P } from "chart.js";
4
- R.register(F, M, Y, B, O, k, N, P);
5
- const j = (f, n) => {
6
- var m, v, x, y;
7
- const C = f.getVisibleDatasetCount(), g = f.getDatasetMeta(C - 1).data.at(0);
8
- if (g) {
9
- const { innerRadius: $ } = g.getProps(["innerRadius"]), { ctx: s } = f, w = () => {
10
- var u;
11
- const c = [].concat(n), d = c.length, o = s.font;
12
- let r = 0, p = 0, l;
13
- for (l = 0; l < d; ++l)
14
- s.font = c[l].font, r = Math.max(s.measureText(c[l].text).width, r), p += (u = c[l].font) == null ? void 0 : u.lineHeight;
15
- return s.font = o, {
16
- height: p,
17
- width: r
3
+ import { Chart as L, CategoryScale as R, LinearScale as F, PointElement as M, LineElement as Y, ArcElement as O, Title as k, Tooltip as N, Legend as P } from "chart.js";
4
+ L.register(R, F, M, Y, O, k, N, P);
5
+ const j = (d, e) => {
6
+ const I = d.getVisibleDatasetCount(), f = d.getDatasetMeta(I - 1).data.at(0);
7
+ if (f) {
8
+ const { innerRadius: m } = f.getProps(["innerRadius"]), { ctx: s } = d, v = () => {
9
+ const t = [].concat(e), o = t.length, r = s.font;
10
+ let p = 0, h = 0, l;
11
+ for (l = 0; l < o; ++l)
12
+ s.font = t[l].font, p = Math.max(s.measureText(t[l].text).width, p), h += t[l].font?.lineHeight;
13
+ return s.font = r, {
14
+ height: h,
15
+ width: p
18
16
  };
19
- }, D = (c, d) => {
20
- let o = document.createElement("div");
21
- document.body.appendChild(o), o.style.fontSize = `${d}px`, o.style.position = "absolute", o.style.left = "-10", o.style.top = "-10", o.textContent = c;
22
- const r = {
23
- width: o.clientWidth,
24
- height: o.clientHeight
17
+ }, g = (t, o) => {
18
+ let r = document.createElement("div");
19
+ document.body.appendChild(r), r.style.fontSize = `${o}px`, r.style.position = "absolute", r.style.left = "-10", r.style.top = "-10", r.textContent = t;
20
+ const p = {
21
+ width: r.clientWidth,
22
+ height: r.clientHeight
25
23
  };
26
- return document.body.removeChild(o), o = null, r;
27
- }, S = w(), b = parseFloat(parseFloat($).toFixed(2));
24
+ return document.body.removeChild(r), r = null, p;
25
+ }, b = v(), x = parseFloat(parseFloat(m).toFixed(2));
28
26
  s.textAlign = "center", s.textBaseline = "middle";
29
- const I = (f.chartArea.left + f.chartArea.right) / 2, e = (f.chartArea.top + f.chartArea.bottom) / 2 - S.height / 2;
30
- let t;
31
- const z = n.length;
32
- let E = 0;
33
- for (t = 0; t < z; ++t) {
34
- let c = (m = n[t].font) == null ? void 0 : m.size, d = (v = n[t].font) == null ? void 0 : v.lineHeight;
35
- const o = typeof n[t].text == "number" ? n[t].text.toString() : n[t].text;
36
- for (; D(o, c).width > b + (n[t].id === "value" ? 50 : 0); )
37
- c -= 1, d = D(o, c).height;
38
- o.length > 22 && d < 14 && (d = 18);
39
- const r = e + d / 2 + E, p = typeof n[t].text == "number" ? new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR" }).format(
40
- n[t].text
41
- ) : n[t].text;
42
- let l = n[t].urlIconDesc ? " " : "";
43
- if (n[t].percentage !== void 0 ? l += `${n[t].percentage}% ${n[t].text}` : l += p, s.fillStyle = n[t].color, s.font = `${c < 10 ? 10 : c}px sans-serif`, E += d, n[t].percentage !== void 0 && n[t].urlIconDesc) {
44
- const h = ((y = (x = n[t]) == null ? void 0 : x.percentage) == null ? void 0 : y.length) ?? 0, u = new Image();
45
- u.src = n[t].urlIconDesc, s.drawImage(u, 45 - (h > 6 ? h + 2 : h - 2.5), r - 8, 16, 14);
27
+ const w = (d.chartArea.left + d.chartArea.right) / 2, E = (d.chartArea.top + d.chartArea.bottom) / 2 - b.height / 2;
28
+ let n;
29
+ const D = e.length;
30
+ let i = 0;
31
+ for (n = 0; n < D; ++n) {
32
+ let t = e[n].font?.size, o = e[n].font?.lineHeight;
33
+ const r = typeof e[n].text == "number" ? e[n].text.toString() : e[n].text;
34
+ for (; g(r, t).width > x + (e[n].id === "value" ? 50 : 0); )
35
+ t -= 1, o = g(r, t).height;
36
+ r.length > 22 && o < 14 && (o = 18);
37
+ const p = E + o / 2 + i, h = typeof e[n].text == "number" ? new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR" }).format(
38
+ e[n].text
39
+ ) : e[n].text;
40
+ let l = e[n].urlIconDesc ? " " : "";
41
+ if (e[n].percentage !== void 0 ? l += `${e[n].percentage}% ${e[n].text}` : l += h, s.fillStyle = e[n].color, s.font = `${t < 10 ? 10 : t}px sans-serif`, i += o, e[n].percentage !== void 0 && e[n].urlIconDesc) {
42
+ const u = e[n]?.percentage?.length ?? 0, c = new Image();
43
+ c.src = e[n].urlIconDesc, s.drawImage(c, 45 - (u > 6 ? u + 2 : u - 2.5), p - 8, 16, 14);
46
44
  }
47
- s.fillText(l, I, r);
45
+ s.fillText(l, w, p);
48
46
  }
49
47
  s.restore(), s.save();
50
48
  }
51
49
  }, V = ({
52
- labels: f,
53
- data: n,
54
- backgroundColor: C,
55
- options: g = {},
50
+ labels: d,
51
+ data: e,
52
+ backgroundColor: I,
53
+ options: f = {},
56
54
  redraw: m,
57
- widthInnerDoughnut: v,
58
- innerLabels: x,
59
- open: y = !0,
60
- keyRemoveDataOpen: $ = "gap",
61
- keyLabel: s = "title",
55
+ widthInnerDoughnut: s,
56
+ innerLabels: v,
57
+ open: g = !0,
58
+ keyRemoveDataOpen: b = "gap",
59
+ keyLabel: x = "title",
62
60
  keyValue: w = "originalValue",
63
- keyBackground: D = "backgroundColor",
64
- className: S
61
+ keyBackground: S = "backgroundColor",
62
+ className: E
65
63
  }) => {
66
- const b = {
67
- labels: f || n.map((i) => i[s]),
64
+ const n = {
65
+ labels: d || e.map((i) => i[x]),
68
66
  datasets: [
69
67
  {
70
- data: n.map((i) => i[w]),
71
- backgroundColor: C || n.map((i) => i[D])
68
+ data: e.map((i) => i[w]),
69
+ backgroundColor: I || e.map((i) => i[S])
72
70
  }
73
71
  ]
74
- }, I = {
75
- cutout: v,
72
+ }, D = {
73
+ cutout: s,
76
74
  animation: { duration: m ? 400 : 0 },
77
75
  plugins: {
78
76
  legend: { display: !1 },
79
77
  tooltip: {
80
78
  external(i) {
81
- let e = document.getElementById("chartjs-tooltip");
82
- e || (e = document.createElement("div"), e.id = "chartjs-tooltip", e.innerHTML = "<table></table>", document.body.appendChild(e));
83
- const t = i.tooltip;
84
- if (t.opacity === 0) {
85
- e.style.opacity = "0";
79
+ let t = document.getElementById("chartjs-tooltip");
80
+ t || (t = document.createElement("div"), t.id = "chartjs-tooltip", t.innerHTML = "<table></table>", document.body.appendChild(t));
81
+ const o = i.tooltip;
82
+ if (o.opacity === 0) {
83
+ t.style.opacity = "0";
86
84
  return;
87
85
  }
88
- e.classList.remove("above", "below", "no-transform"), t.yAlign ? e.classList.add(t.yAlign) : e.classList.add("no-transform");
89
- const z = n.filter((r) => !r[s]), E = n.filter((r) => r[w] > 0 && r[w] < 1);
90
- if (z.length === 1 && E.length === 1) return;
91
- function c(r) {
92
- return r.lines;
86
+ t.classList.remove("above", "below", "no-transform"), o.yAlign ? t.classList.add(o.yAlign) : t.classList.add("no-transform");
87
+ const r = e.filter((c) => !c[x]), p = e.filter((c) => c[w] > 0 && c[w] < 1);
88
+ if (r.length === 1 && p.length === 1) return;
89
+ function h(c) {
90
+ return c.lines;
93
91
  }
94
- if (t.body) {
95
- const r = t.title || [];
96
- let p = t.body.map(c), l = "<thead>";
97
- r.forEach((u) => {
92
+ if (o.body) {
93
+ const c = o.title || [];
94
+ let y = o.body.map(h), C = "<thead>";
95
+ c.forEach(($) => {
98
96
  let a = "";
99
- a += "display: flex", a += "; justify-content: center", a += "; font-weight: 600", a += "; font-size: 12px", a += "; padding: 0px 14px", l += `<tr><span style="${a}">${u}</span></tr>`;
100
- }), l += "</thead><tbody>", p.length > 1 && p[0][0] === p[1][0] && (p = [p[0]]), p.forEach((u) => {
97
+ a += "display: flex", a += "; justify-content: center", a += "; font-weight: 600", a += "; font-size: 12px", a += "; padding: 0px 14px", C += `<tr><span style="${a}">${$}</span></tr>`;
98
+ }), C += "</thead><tbody>", y.length > 1 && y[0][0] === y[1][0] && (y = [y[0]]), y.forEach(($) => {
101
99
  let a = "";
102
100
  a += "display: flex", a += "; justify-content: center", a += "; color: #0163C8", a += "; padding: 0px 14px", a += "; font-size: 12px";
103
- const H = `<span style="${a}">${u}</span>`;
104
- l += `<tr><td>${H}</td></tr>`;
105
- }), l += "</tbody>";
106
- const h = e.querySelector("table");
107
- h && (h.innerHTML = l);
101
+ const B = `<span style="${a}">${$}</span>`;
102
+ C += `<tr><td>${B}</td></tr>`;
103
+ }), C += "</tbody>";
104
+ const z = t.querySelector("table");
105
+ z && (z.innerHTML = C);
108
106
  }
109
- const d = i.chart.canvas.getBoundingClientRect(), o = d.top + window.pageYOffset + t.caretY;
110
- e.style.opacity = "1", e.style.border = "solid 1px #0163C8", e.style.background = "white", e.style.height = "fit-content", e.style.borderRadius = "10px", e.style.position = "absolute", e.style.zIndex = "10", e.style.padding = "4px 0", e.style.left = `${d.left + window.pageXOffset + t.caretX - 80}px`, e.style.top = `${o > 300 && !y ? 280 : o}px`, e.style.pointerEvents = "none";
107
+ const l = i.chart.canvas.getBoundingClientRect(), u = l.top + window.pageYOffset + o.caretY;
108
+ t.style.opacity = "1", t.style.border = "solid 1px #0163C8", t.style.background = "white", t.style.height = "fit-content", t.style.borderRadius = "10px", t.style.position = "absolute", t.style.zIndex = "10", t.style.padding = "4px 0", t.style.left = `${l.left + window.pageXOffset + o.caretX - 80}px`, t.style.top = `${u > 300 && !g ? 280 : u}px`, t.style.pointerEvents = "none";
111
109
  },
112
110
  displayColors: !0,
113
111
  enabled: !1,
114
112
  callbacks: {
115
113
  title(i) {
116
- const e = n[i[0].dataIndex];
117
- return e == null ? void 0 : e[s];
114
+ return e[i[0].dataIndex]?.[x];
118
115
  },
119
116
  label(i) {
120
- const e = n == null ? void 0 : n[i.dataIndex];
121
- let t = "Nilai: ";
122
- return e && (t += e.value), t;
117
+ const t = e?.[i.dataIndex];
118
+ let o = "Nilai: ";
119
+ return t && (o += t.value), o;
123
120
  }
124
121
  }
125
122
  }
@@ -130,27 +127,27 @@ const j = (f, n) => {
130
127
  }
131
128
  }
132
129
  };
133
- return /* @__PURE__ */ L("div", { className: S ?? "", children: [
134
- !y && /* @__PURE__ */ A(
130
+ return /* @__PURE__ */ H("div", { className: E ?? "", children: [
131
+ !g && /* @__PURE__ */ A(
135
132
  T,
136
133
  {
137
- data: b,
134
+ data: n,
138
135
  redraw: m,
139
136
  plugins: [
140
137
  {
141
138
  id: "draw",
142
139
  beforeDraw(i) {
143
- j(i, x);
140
+ j(i, v);
144
141
  }
145
142
  }
146
143
  ],
147
- options: Object.keys(g).length > 1 ? g : I
144
+ options: Object.keys(f).length > 1 ? f : D
148
145
  }
149
146
  ),
150
- y && /* @__PURE__ */ A(
147
+ g && /* @__PURE__ */ A(
151
148
  T,
152
149
  {
153
- data: b,
150
+ data: n,
154
151
  redraw: m,
155
152
  plugins: [
156
153
  {
@@ -158,12 +155,12 @@ const j = (f, n) => {
158
155
  beforeDraw(i) {
159
156
  j(
160
157
  i,
161
- x.filter((e) => e.id !== $)
158
+ v.filter((t) => t.id !== b)
162
159
  );
163
160
  }
164
161
  }
165
162
  ],
166
- options: Object.keys(g).length > 1 ? g : I
163
+ options: Object.keys(f).length > 1 ? f : D
167
164
  }
168
165
  )
169
166
  ] });
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const k=require("react/jsx-runtime"),y=require("chart.js"),x=require("react"),j=require("react-chartjs-2"),R=require("../../utils/common.cjs"),w=require("../PortalComponent/PortalComponent.cjs");y.Chart.register(y.CategoryScale,y.LinearScale,y.BarElement,y.Tooltip,y.PointElement,y.Filler,y.Tooltip);const E=a=>({chart:n,tooltip:s})=>{var C,g,B,l,f,S;const c={};if(s.opacity===0){a(D=>({...D,style:{...D.style,opacity:0,pointerEvents:"none"}}));return}if(!s.dataPoints||s.dataPoints.length===0)return;c.opacity="1",c.position="absolute",c.pointerEvents="none";const o=n.canvas.getBoundingClientRect();c.left=o.left+window.pageXOffset+s.caretX+"px",c.top=o.top+window.pageYOffset+s.caretY+"px";const d=((g=(C=s.dataPoints)==null?void 0:C[0])==null?void 0:g.label)??"",r=((l=(B=s.dataPoints)==null?void 0:B[0])==null?void 0:l.raw)??"",i=((S=(f=s.dataPoints)==null?void 0:f[0])==null?void 0:S.dataset.label)??"";a({dataset:i,label:d,value:r,style:c,dataPoints:s.dataPoints})},F={id:"labelplugin",afterDatasetsDraw(a){const{ctx:n,chartArea:{top:s,bottom:c}}=a;n.save(),a.data.datasets.forEach((o,d)=>{const r=a.getDatasetMeta(d);r.visible&&r.data.forEach((i,C)=>{const g=o.data[C]||0,B=o!=null&&o.setDigit?R.setDigit(String(g)):String(g);n.font="12px Lato",n.textAlign="center";let l,f=!1;typeof g=="number"&&g>=0?(n.textBaseline="bottom",n.fillStyle=(o==null?void 0:o.colorTextLabelPositive)||i.options.borderColor,l=i.y-5,l>s&&(f=!0)):(n.textBaseline="top",n.fillStyle=(o==null?void 0:o.colorTextLabelNegative)||i.options.borderColor,l=i.y+5,l<c&&(f=!0)),f&&n.fillText(B,i.x,l)})}),n.restore()}},O={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1}},scales:{y:{grace:"15%",position:"left",border:{display:!1,dash:[5,3],color:"#CFD8DC"},ticks:{callback:function(a){return R.setDigit(a)??0},font:{size:10,weight:"normal"},padding:10,color:"#898989"}},x:{grid:{display:!1},border:{dash:[5,3],color:"#CFD8DC"},ticks:{font:{size:10,weight:"normal"},color:"#898989"}}},interaction:{mode:"index",intersect:!1}},q=({data:a,classNameContainer:n,height:s,id:c,options:o,CustomTooltip:d})=>{const r=x.useRef(void 0),i=x.useRef(0),C=x.useRef(0),[g,B]=x.useState({dataset:"",label:"",value:0,style:{opacity:0,position:"absolute",left:0,bottom:0},dataPoints:[]}),l=x.useCallback(function({ctx:P,chartArea:t,scales:u,chartHeight:p,gradientFor:h,item:e}){let v=(u.y.getPixelForValue(0)-t.top)/p;v=v<0?0:v>1?1:v,r.current=P.createLinearGradient(0,t.top,0,p+t.top),h==="background"?(r.current.addColorStop(0,(e==null?void 0:e.colorBackgroundPositiveZero)||"#9FD2FF"),r.current.addColorStop(v,(e==null?void 0:e.colorBackgroundPositivePercentage)||"rgba(115, 235, 163, 0.1)"),r.current.addColorStop(v,(e==null?void 0:e.colorBackgroundNegativePercentage)||"rgba(235, 107, 107, 0.1)"),r.current.addColorStop(1,(e==null?void 0:e.colorBackgroundNegativeOne)||"#EB6B6B")):(r.current.addColorStop(v,(e==null?void 0:e.colorBorderPositive)||"#80CBC4"),r.current.addColorStop(v,(e==null?void 0:e.colorBorderNegative)||"#EB6B6B"))},[]),f=x.useCallback(function({ctx:P,chartArea:t,scales:u,gradientFor:p,item:h}){const e=t.right-t.left,b=t.bottom-t.top;return(!r.current||i.current!==e||C.current!==b)&&(i.current=e,C.current=b,l({ctx:P,chartArea:t,scales:u,chartHeight:b,gradientFor:p,item:h})),l({ctx:P,chartArea:t,scales:u,chartHeight:b,gradientFor:p,item:h}),r.current},[]),S=x.useMemo(()=>({...a,datasets:a.datasets.map(t=>({fill:!0,backgroundColor:function(u){const p=u.chart,{ctx:h,chartArea:e,scales:b}=p;if(e)return f({ctx:h,chartArea:e,scales:b,gradientFor:"background",item:t})},borderColor:function(u){const p=u.chart,{ctx:h,chartArea:e,scales:b}=p;if(e)return f({ctx:h,chartArea:e,scales:b,gradientFor:"border",item:t})},borderWidth:0,tension:0,pointRadius:0,pointHoverRadius:4,setDigit:!0,...t,data:t.data}))}),[a]),D=x.useMemo(()=>{const P={plugins:{tooltip:{enabled:!d,external:({chart:t,tooltip:u})=>d?E(B)({chart:t,tooltip:u}):void 0}}};return R.mergeObjects(O,P,o??{})},[o,d]);return k.jsxs("div",{id:c,className:n,style:{height:s||"300px"},children:[d&&k.jsx(w.default,{selector:"body",children:k.jsx(d,{...g})}),k.jsx(j.Bar,{data:S,options:D,plugins:[F]})]})};exports.default=q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("react/jsx-runtime"),h=require("chart.js"),v=require("react"),m=require("react-chartjs-2"),D=require("../../utils/common.cjs"),j=require("../PortalComponent/PortalComponent.cjs");h.Chart.register(h.CategoryScale,h.LinearScale,h.BarElement,h.Tooltip,h.PointElement,h.Filler,h.Tooltip);const w=a=>({chart:r,tooltip:n})=>{const s={};if(n.opacity===0){a(y=>({...y,style:{...y.style,opacity:0,pointerEvents:"none"}}));return}if(!n.dataPoints||n.dataPoints.length===0)return;s.opacity="1",s.position="absolute",s.pointerEvents="none";const i=r.canvas.getBoundingClientRect();s.left=i.left+window.pageXOffset+n.caretX+"px",s.top=i.top+window.pageYOffset+n.caretY+"px";const d=n.dataPoints?.[0]?.label??"",o=n.dataPoints?.[0]?.raw??"",l=n.dataPoints?.[0]?.dataset.label??"";a({dataset:l,label:d,value:o,style:s,dataPoints:n.dataPoints})},E={id:"labelplugin",afterDatasetsDraw(a){const{ctx:r,chartArea:{top:n,bottom:s}}=a;r.save(),a.data.datasets.forEach((i,d)=>{const o=a.getDatasetMeta(d);o.visible&&o.data.forEach((l,y)=>{const C=i.data[y]||0,S=i?.setDigit?D.setDigit(String(C)):String(C);r.font="12px Lato",r.textAlign="center";let f,P=!1;typeof C=="number"&&C>=0?(r.textBaseline="bottom",r.fillStyle=i?.colorTextLabelPositive||l.options.borderColor,f=l.y-5,f>n&&(P=!0)):(r.textBaseline="top",r.fillStyle=i?.colorTextLabelNegative||l.options.borderColor,f=l.y+5,f<s&&(P=!0)),P&&r.fillText(S,l.x,f)})}),r.restore()}},F={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1}},scales:{y:{grace:"15%",position:"left",border:{display:!1,dash:[5,3],color:"#CFD8DC"},ticks:{callback:function(a){return D.setDigit(a)??0},font:{size:10,weight:"normal"},padding:10,color:"#898989"}},x:{grid:{display:!1},border:{dash:[5,3],color:"#CFD8DC"},ticks:{font:{size:10,weight:"normal"},color:"#898989"}}},interaction:{mode:"index",intersect:!1}},O=({data:a,classNameContainer:r,height:n,id:s,options:i,CustomTooltip:d})=>{const o=v.useRef(void 0),l=v.useRef(0),y=v.useRef(0),[C,S]=v.useState({dataset:"",label:"",value:0,style:{opacity:0,position:"absolute",left:0,bottom:0},dataPoints:[]}),f=v.useCallback(function({ctx:x,chartArea:t,scales:c,chartHeight:u,gradientFor:p,item:e}){let b=(c.y.getPixelForValue(0)-t.top)/u;b=b<0?0:b>1?1:b,o.current=x.createLinearGradient(0,t.top,0,u+t.top),p==="background"?(o.current.addColorStop(0,e?.colorBackgroundPositiveZero||"#9FD2FF"),o.current.addColorStop(b,e?.colorBackgroundPositivePercentage||"rgba(115, 235, 163, 0.1)"),o.current.addColorStop(b,e?.colorBackgroundNegativePercentage||"rgba(235, 107, 107, 0.1)"),o.current.addColorStop(1,e?.colorBackgroundNegativeOne||"#EB6B6B")):(o.current.addColorStop(b,e?.colorBorderPositive||"#80CBC4"),o.current.addColorStop(b,e?.colorBorderNegative||"#EB6B6B"))},[]),P=v.useCallback(function({ctx:x,chartArea:t,scales:c,gradientFor:u,item:p}){const e=t.right-t.left,g=t.bottom-t.top;return(!o.current||l.current!==e||y.current!==g)&&(l.current=e,y.current=g,f({ctx:x,chartArea:t,scales:c,chartHeight:g,gradientFor:u,item:p})),f({ctx:x,chartArea:t,scales:c,chartHeight:g,gradientFor:u,item:p}),o.current},[]),k=v.useMemo(()=>({...a,datasets:a.datasets.map(t=>({fill:!0,backgroundColor:function(c){const u=c.chart,{ctx:p,chartArea:e,scales:g}=u;if(e)return P({ctx:p,chartArea:e,scales:g,gradientFor:"background",item:t})},borderColor:function(c){const u=c.chart,{ctx:p,chartArea:e,scales:g}=u;if(e)return P({ctx:p,chartArea:e,scales:g,gradientFor:"border",item:t})},borderWidth:0,tension:0,pointRadius:0,pointHoverRadius:4,setDigit:!0,...t,data:t.data}))}),[a]),R=v.useMemo(()=>{const x={plugins:{tooltip:{enabled:!d,external:({chart:t,tooltip:c})=>d?w(S)({chart:t,tooltip:c}):void 0}}};return D.mergeObjects(F,x,i??{})},[i,d]);return B.jsxs("div",{id:s,className:r,style:{height:n||"300px"},children:[d&&B.jsx(j.default,{selector:"body",children:B.jsx(d,{...C})}),B.jsx(m.Bar,{data:k,options:R,plugins:[E]})]})};exports.default=O;
@@ -1,48 +1,47 @@
1
- import { jsxs as w, jsx as k } from "react/jsx-runtime";
2
- import { Chart as E, CategoryScale as F, LinearScale as O, BarElement as L, Tooltip as D, PointElement as Z, Filler as N } from "chart.js";
3
- import v from "react";
4
- import { Bar as G } from "react-chartjs-2";
5
- import { mergeObjects as j, setDigit as R } from "../../utils/common.mjs";
6
- import H from "../PortalComponent/PortalComponent.mjs";
7
- E.register(F, O, L, D, Z, N, D);
8
- const M = (s) => ({ chart: n, tooltip: a }) => {
9
- var C, f, x, l, p, B;
10
- const i = {};
11
- if (a.opacity === 0) {
12
- s((S) => ({ ...S, style: { ...S.style, opacity: 0, pointerEvents: "none" } }));
1
+ import { jsxs as R, jsx as m } from "react/jsx-runtime";
2
+ import { Chart as w, CategoryScale as E, LinearScale as F, BarElement as O, Tooltip as B, PointElement as L, Filler as Z } from "chart.js";
3
+ import y from "react";
4
+ import { Bar as N } from "react-chartjs-2";
5
+ import { mergeObjects as G, setDigit as S } from "../../utils/common.mjs";
6
+ import j from "../PortalComponent/PortalComponent.mjs";
7
+ w.register(E, F, O, B, L, Z, B);
8
+ const H = (a) => ({ chart: r, tooltip: n }) => {
9
+ const s = {};
10
+ if (n.opacity === 0) {
11
+ a((h) => ({ ...h, style: { ...h.style, opacity: 0, pointerEvents: "none" } }));
13
12
  return;
14
13
  }
15
- if (!a.dataPoints || a.dataPoints.length === 0)
14
+ if (!n.dataPoints || n.dataPoints.length === 0)
16
15
  return;
17
- i.opacity = "1", i.position = "absolute", i.pointerEvents = "none";
18
- const e = n.canvas.getBoundingClientRect();
19
- i.left = e.left + window.pageXOffset + a.caretX + "px", i.top = e.top + window.pageYOffset + a.caretY + "px";
20
- const u = ((f = (C = a.dataPoints) == null ? void 0 : C[0]) == null ? void 0 : f.label) ?? "", r = ((l = (x = a.dataPoints) == null ? void 0 : x[0]) == null ? void 0 : l.raw) ?? "", c = ((B = (p = a.dataPoints) == null ? void 0 : p[0]) == null ? void 0 : B.dataset.label) ?? "";
21
- s({
22
- dataset: c,
23
- label: u,
24
- value: r,
25
- style: i,
26
- dataPoints: a.dataPoints
16
+ s.opacity = "1", s.position = "absolute", s.pointerEvents = "none";
17
+ const i = r.canvas.getBoundingClientRect();
18
+ s.left = i.left + window.pageXOffset + n.caretX + "px", s.top = i.top + window.pageYOffset + n.caretY + "px";
19
+ const d = n.dataPoints?.[0]?.label ?? "", o = n.dataPoints?.[0]?.raw ?? "", l = n.dataPoints?.[0]?.dataset.label ?? "";
20
+ a({
21
+ dataset: l,
22
+ label: d,
23
+ value: o,
24
+ style: s,
25
+ dataPoints: n.dataPoints
27
26
  });
28
- }, z = {
27
+ }, M = {
29
28
  id: "labelplugin",
30
- afterDatasetsDraw(s) {
29
+ afterDatasetsDraw(a) {
31
30
  const {
32
- ctx: n,
33
- chartArea: { top: a, bottom: i }
34
- } = s;
35
- n.save(), s.data.datasets.forEach((e, u) => {
36
- const r = s.getDatasetMeta(u);
37
- r.visible && r.data.forEach((c, C) => {
38
- const f = e.data[C] || 0, x = e != null && e.setDigit ? R(String(f)) : String(f);
39
- n.font = "12px Lato", n.textAlign = "center";
40
- let l, p = !1;
41
- typeof f == "number" && f >= 0 ? (n.textBaseline = "bottom", n.fillStyle = (e == null ? void 0 : e.colorTextLabelPositive) || c.options.borderColor, l = c.y - 5, l > a && (p = !0)) : (n.textBaseline = "top", n.fillStyle = (e == null ? void 0 : e.colorTextLabelNegative) || c.options.borderColor, l = c.y + 5, l < i && (p = !0)), p && n.fillText(x, c.x, l);
31
+ ctx: r,
32
+ chartArea: { top: n, bottom: s }
33
+ } = a;
34
+ r.save(), a.data.datasets.forEach((i, d) => {
35
+ const o = a.getDatasetMeta(d);
36
+ o.visible && o.data.forEach((l, h) => {
37
+ const v = i.data[h] || 0, P = i?.setDigit ? S(String(v)) : String(v);
38
+ r.font = "12px Lato", r.textAlign = "center";
39
+ let p, C = !1;
40
+ typeof v == "number" && v >= 0 ? (r.textBaseline = "bottom", r.fillStyle = i?.colorTextLabelPositive || l.options.borderColor, p = l.y - 5, p > n && (C = !0)) : (r.textBaseline = "top", r.fillStyle = i?.colorTextLabelNegative || l.options.borderColor, p = l.y + 5, p < s && (C = !0)), C && r.fillText(P, l.x, p);
42
41
  });
43
- }), n.restore();
42
+ }), r.restore();
44
43
  }
45
- }, T = {
44
+ }, z = {
46
45
  responsive: !0,
47
46
  maintainAspectRatio: !1,
48
47
  plugins: {
@@ -56,8 +55,8 @@ const M = (s) => ({ chart: n, tooltip: a }) => {
56
55
  position: "left",
57
56
  border: { display: !1, dash: [5, 3], color: "#CFD8DC" },
58
57
  ticks: {
59
- callback: function(s) {
60
- return R(s) ?? 0;
58
+ callback: function(a) {
59
+ return S(a) ?? 0;
61
60
  },
62
61
  font: {
63
62
  size: 10,
@@ -85,51 +84,51 @@ const M = (s) => ({ chart: n, tooltip: a }) => {
85
84
  mode: "index",
86
85
  intersect: !1
87
86
  }
88
- }, K = ({ data: s, classNameContainer: n, height: a, id: i, options: e, CustomTooltip: u }) => {
89
- const r = v.useRef(void 0), c = v.useRef(0), C = v.useRef(0), [f, x] = v.useState({
87
+ }, J = ({ data: a, classNameContainer: r, height: n, id: s, options: i, CustomTooltip: d }) => {
88
+ const o = y.useRef(void 0), l = y.useRef(0), h = y.useRef(0), [v, P] = y.useState({
90
89
  dataset: "",
91
90
  label: "",
92
91
  value: 0,
93
92
  style: { opacity: 0, position: "absolute", left: 0, bottom: 0 },
94
93
  dataPoints: []
95
- }), l = v.useCallback(function({
96
- ctx: P,
94
+ }), p = y.useCallback(function({
95
+ ctx: x,
97
96
  chartArea: t,
98
- scales: d,
99
- chartHeight: g,
100
- gradientFor: y,
101
- item: o
97
+ scales: c,
98
+ chartHeight: u,
99
+ gradientFor: g,
100
+ item: e
102
101
  }) {
103
- let h = (d.y.getPixelForValue(0) - t.top) / g;
104
- h = h < 0 ? 0 : h > 1 ? 1 : h, r.current = P.createLinearGradient(0, t.top, 0, g + t.top), y === "background" ? (r.current.addColorStop(0, (o == null ? void 0 : o.colorBackgroundPositiveZero) || "#9FD2FF"), r.current.addColorStop(
105
- h,
106
- (o == null ? void 0 : o.colorBackgroundPositivePercentage) || "rgba(115, 235, 163, 0.1)"
107
- ), r.current.addColorStop(
108
- h,
109
- (o == null ? void 0 : o.colorBackgroundNegativePercentage) || "rgba(235, 107, 107, 0.1)"
110
- ), r.current.addColorStop(1, (o == null ? void 0 : o.colorBackgroundNegativeOne) || "#EB6B6B")) : (r.current.addColorStop(h, (o == null ? void 0 : o.colorBorderPositive) || "#80CBC4"), r.current.addColorStop(h, (o == null ? void 0 : o.colorBorderNegative) || "#EB6B6B"));
111
- }, []), p = v.useCallback(function({
112
- ctx: P,
102
+ let b = (c.y.getPixelForValue(0) - t.top) / u;
103
+ b = b < 0 ? 0 : b > 1 ? 1 : b, o.current = x.createLinearGradient(0, t.top, 0, u + t.top), g === "background" ? (o.current.addColorStop(0, e?.colorBackgroundPositiveZero || "#9FD2FF"), o.current.addColorStop(
104
+ b,
105
+ e?.colorBackgroundPositivePercentage || "rgba(115, 235, 163, 0.1)"
106
+ ), o.current.addColorStop(
107
+ b,
108
+ e?.colorBackgroundNegativePercentage || "rgba(235, 107, 107, 0.1)"
109
+ ), o.current.addColorStop(1, e?.colorBackgroundNegativeOne || "#EB6B6B")) : (o.current.addColorStop(b, e?.colorBorderPositive || "#80CBC4"), o.current.addColorStop(b, e?.colorBorderNegative || "#EB6B6B"));
110
+ }, []), C = y.useCallback(function({
111
+ ctx: x,
113
112
  chartArea: t,
114
- scales: d,
115
- gradientFor: g,
116
- item: y
113
+ scales: c,
114
+ gradientFor: u,
115
+ item: g
117
116
  }) {
118
- const o = t.right - t.left, b = t.bottom - t.top;
119
- return (!r.current || c.current !== o || C.current !== b) && (c.current = o, C.current = b, l({ ctx: P, chartArea: t, scales: d, chartHeight: b, gradientFor: g, item: y })), l({ ctx: P, chartArea: t, scales: d, chartHeight: b, gradientFor: g, item: y }), r.current;
120
- }, []), B = v.useMemo(() => ({
121
- ...s,
122
- datasets: s.datasets.map((t) => ({
117
+ const e = t.right - t.left, f = t.bottom - t.top;
118
+ return (!o.current || l.current !== e || h.current !== f) && (l.current = e, h.current = f, p({ ctx: x, chartArea: t, scales: c, chartHeight: f, gradientFor: u, item: g })), p({ ctx: x, chartArea: t, scales: c, chartHeight: f, gradientFor: u, item: g }), o.current;
119
+ }, []), k = y.useMemo(() => ({
120
+ ...a,
121
+ datasets: a.datasets.map((t) => ({
123
122
  fill: !0,
124
- backgroundColor: function(d) {
125
- const g = d.chart, { ctx: y, chartArea: o, scales: b } = g;
126
- if (o)
127
- return p({ ctx: y, chartArea: o, scales: b, gradientFor: "background", item: t });
123
+ backgroundColor: function(c) {
124
+ const u = c.chart, { ctx: g, chartArea: e, scales: f } = u;
125
+ if (e)
126
+ return C({ ctx: g, chartArea: e, scales: f, gradientFor: "background", item: t });
128
127
  },
129
- borderColor: function(d) {
130
- const g = d.chart, { ctx: y, chartArea: o, scales: b } = g;
131
- if (o)
132
- return p({ ctx: y, chartArea: o, scales: b, gradientFor: "border", item: t });
128
+ borderColor: function(c) {
129
+ const u = c.chart, { ctx: g, chartArea: e, scales: f } = u;
130
+ if (e)
131
+ return C({ ctx: g, chartArea: e, scales: f, gradientFor: "border", item: t });
133
132
  },
134
133
  borderWidth: 0,
135
134
  tension: 0,
@@ -139,19 +138,19 @@ const M = (s) => ({ chart: n, tooltip: a }) => {
139
138
  ...t,
140
139
  data: t.data
141
140
  }))
142
- }), [s]), S = v.useMemo(() => j(T, {
141
+ }), [a]), D = y.useMemo(() => G(z, {
143
142
  plugins: {
144
143
  tooltip: {
145
- enabled: !u,
146
- external: ({ chart: t, tooltip: d }) => u ? M(x)({ chart: t, tooltip: d }) : void 0
144
+ enabled: !d,
145
+ external: ({ chart: t, tooltip: c }) => d ? H(P)({ chart: t, tooltip: c }) : void 0
147
146
  }
148
147
  }
149
- }, e ?? {}), [e, u]);
150
- return /* @__PURE__ */ w("div", { id: i, className: n, style: { height: a || "300px" }, children: [
151
- u && /* @__PURE__ */ k(H, { selector: "body", children: /* @__PURE__ */ k(u, { ...f }) }),
152
- /* @__PURE__ */ k(G, { data: B, options: S, plugins: [z] })
148
+ }, i ?? {}), [i, d]);
149
+ return /* @__PURE__ */ R("div", { id: s, className: r, style: { height: n || "300px" }, children: [
150
+ d && /* @__PURE__ */ m(j, { selector: "body", children: /* @__PURE__ */ m(d, { ...v }) }),
151
+ /* @__PURE__ */ m(N, { data: k, options: D, plugins: [M] })
153
152
  ] });
154
153
  };
155
154
  export {
156
- K as default
155
+ J as default
157
156
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const R=require("react/jsx-runtime"),P=require("chart.js"),p=require("react"),j=require("react-chartjs-2"),w=require("../../utils/common.cjs"),D=require("../PortalComponent/PortalComponent.cjs");P.Chart.register(P.CategoryScale,P.LinearScale,P.PointElement,P.LineElement,P.Filler,P.Tooltip);const F=r=>({chart:u,tooltip:t})=>{var v,x,B,y,C,S;const s={};if(t.opacity===0){r(k=>({...k,style:{...k.style,opacity:0,pointerEvents:"none"}}));return}if(!t.dataPoints||t.dataPoints.length===0)return;s.opacity="1",s.position="absolute",s.pointerEvents="none";const b=u.canvas.getBoundingClientRect();s.left=b.left+window.pageXOffset+t.caretX+"px",s.top=b.top+window.pageYOffset+t.caretY+"px";const c=((x=(v=t.dataPoints)==null?void 0:v[0])==null?void 0:x.label)??"",n=((y=(B=t.dataPoints)==null?void 0:B[0])==null?void 0:y.raw)??"",i=((S=(C=t.dataPoints)==null?void 0:C[0])==null?void 0:S.dataset.label)??"";r({dataset:i,label:c,value:n,style:s,dataPoints:t.dataPoints})},O={id:"hairlinePlugin",beforeDatasetsDraw:r=>{const u=r.scales.y;if(!u)return;const{ctx:t}=r,{top:s,bottom:b,left:c,right:n}=r.chartArea;if(u.min>0||u.max<0)return;const i=u.getPixelForValue(0);i<s||i>b||(t.save(),t.beginPath(),t.moveTo(c,i),t.lineTo(n,i),t.lineWidth=2,t.strokeStyle="rgb(207, 216, 220)",t.setLineDash([4,3]),t.stroke(),t.restore())}},q={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1}},scales:{y:{grace:"15%",position:"right",border:{display:!1,dash:[5,3],color:"#CFD8DC"},ticks:{font:{size:10,weight:"normal"},padding:10,color:"#898989"}},x:{border:{dash:[5,3],color:"#CFD8DC"},ticks:{font:{size:10,weight:"normal"},color:"#898989"}}},interaction:{mode:"index",intersect:!1}},E=({data:r,height:u,classNameContainer:t,id:s,options:b,CustomTooltip:c})=>{const n=p.useRef(void 0),i=p.useRef(0),v=p.useRef(0),[x,B]=p.useState({dataset:"",label:"",value:0,style:{opacity:0,position:"absolute",left:0,bottom:0},dataPoints:[]}),y=p.useCallback(function({ctx:h,chartArea:o,scales:a,chartHeight:l,gradientFor:g,item:e}){let f=(a.y.getPixelForValue(0)-o.top)/l;f=f<0?0:f>1?1:f,n.current=h.createLinearGradient(0,o.top,0,l+o.top),g==="background"?(n.current.addColorStop(0,(e==null?void 0:e.colorBackgroundPositiveZero)||"#9FD2FF"),n.current.addColorStop(f,(e==null?void 0:e.colorBackgroundPositivePercentage)||"rgba(115, 235, 163, 0.1)"),n.current.addColorStop(f,(e==null?void 0:e.colorBackgroundNegativePercentage)||"rgba(235, 107, 107, 0.1)"),n.current.addColorStop(1,(e==null?void 0:e.colorBackgroundNegativeOne)||"#EB6B6B")):(n.current.addColorStop(f,(e==null?void 0:e.colorBorderPositive)||"#80CBC4"),n.current.addColorStop(f,(e==null?void 0:e.colorBorderNegative)||"#EB6B6B"))},[]),C=p.useCallback(function({ctx:h,chartArea:o,scales:a,gradientFor:l,item:g}){const e=o.right-o.left,d=o.bottom-o.top;return(!n.current||i.current!==e||v.current!==d)&&(i.current=e,v.current=d,y({ctx:h,chartArea:o,scales:a,chartHeight:d,gradientFor:l,item:g})),y({ctx:h,chartArea:o,scales:a,chartHeight:d,gradientFor:l,item:g}),n.current},[]),S=p.useMemo(()=>({...r,datasets:r.datasets.map(o=>({fill:!0,backgroundColor:function(a){const l=a.chart,{ctx:g,chartArea:e,scales:d}=l;if(e)return C({ctx:g,chartArea:e,scales:d,gradientFor:"background",item:o})},borderColor:function(a){const l=a.chart,{ctx:g,chartArea:e,scales:d}=l;if(e)return C({ctx:g,chartArea:e,scales:d,gradientFor:"border",item:o})},borderWidth:3,tension:0,pointRadius:0,pointHoverRadius:4,...o,data:o.data}))}),[r]),k=p.useMemo(()=>{const h={plugins:{tooltip:{enabled:!c,external:({chart:o,tooltip:a})=>c?F(B)({chart:o,tooltip:a}):void 0}}};return w.mergeObjects(q,h,b??{})},[b,c]);return R.jsxs("div",{id:s,className:t,style:{height:u||"300px"},children:[c&&R.jsx(D.default,{selector:"body",children:R.jsx(c,{...x})}),R.jsx(j.Line,{data:S,options:k,plugins:[O]})]})};exports.default=E;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("react/jsx-runtime"),P=require("chart.js"),p=require("react"),m=require("react-chartjs-2"),j=require("../../utils/common.cjs"),w=require("../PortalComponent/PortalComponent.cjs");P.Chart.register(P.CategoryScale,P.LinearScale,P.PointElement,P.LineElement,P.Filler,P.Tooltip);const D=r=>({chart:u,tooltip:e})=>{const s={};if(e.opacity===0){r(v=>({...v,style:{...v.style,opacity:0,pointerEvents:"none"}}));return}if(!e.dataPoints||e.dataPoints.length===0)return;s.opacity="1",s.position="absolute",s.pointerEvents="none";const b=u.canvas.getBoundingClientRect();s.left=b.left+window.pageXOffset+e.caretX+"px",s.top=b.top+window.pageYOffset+e.caretY+"px";const i=e.dataPoints?.[0]?.label??"",n=e.dataPoints?.[0]?.raw??"",c=e.dataPoints?.[0]?.dataset.label??"";r({dataset:c,label:i,value:n,style:s,dataPoints:e.dataPoints})},F={id:"hairlinePlugin",beforeDatasetsDraw:r=>{const u=r.scales.y;if(!u)return;const{ctx:e}=r,{top:s,bottom:b,left:i,right:n}=r.chartArea;if(u.min>0||u.max<0)return;const c=u.getPixelForValue(0);c<s||c>b||(e.save(),e.beginPath(),e.moveTo(i,c),e.lineTo(n,c),e.lineWidth=2,e.strokeStyle="rgb(207, 216, 220)",e.setLineDash([4,3]),e.stroke(),e.restore())}},O={responsive:!0,maintainAspectRatio:!1,plugins:{legend:{display:!1}},scales:{y:{grace:"15%",position:"right",border:{display:!1,dash:[5,3],color:"#CFD8DC"},ticks:{font:{size:10,weight:"normal"},padding:10,color:"#898989"}},x:{border:{dash:[5,3],color:"#CFD8DC"},ticks:{font:{size:10,weight:"normal"},color:"#898989"}}},interaction:{mode:"index",intersect:!1}},q=({data:r,height:u,classNameContainer:e,id:s,options:b,CustomTooltip:i})=>{const n=p.useRef(void 0),c=p.useRef(0),v=p.useRef(0),[B,S]=p.useState({dataset:"",label:"",value:0,style:{opacity:0,position:"absolute",left:0,bottom:0},dataPoints:[]}),C=p.useCallback(function({ctx:h,chartArea:t,scales:a,chartHeight:l,gradientFor:g,item:o}){let f=(a.y.getPixelForValue(0)-t.top)/l;f=f<0?0:f>1?1:f,n.current=h.createLinearGradient(0,t.top,0,l+t.top),g==="background"?(n.current.addColorStop(0,o?.colorBackgroundPositiveZero||"#9FD2FF"),n.current.addColorStop(f,o?.colorBackgroundPositivePercentage||"rgba(115, 235, 163, 0.1)"),n.current.addColorStop(f,o?.colorBackgroundNegativePercentage||"rgba(235, 107, 107, 0.1)"),n.current.addColorStop(1,o?.colorBackgroundNegativeOne||"#EB6B6B")):(n.current.addColorStop(f,o?.colorBorderPositive||"#80CBC4"),n.current.addColorStop(f,o?.colorBorderNegative||"#EB6B6B"))},[]),x=p.useCallback(function({ctx:h,chartArea:t,scales:a,gradientFor:l,item:g}){const o=t.right-t.left,d=t.bottom-t.top;return(!n.current||c.current!==o||v.current!==d)&&(c.current=o,v.current=d,C({ctx:h,chartArea:t,scales:a,chartHeight:d,gradientFor:l,item:g})),C({ctx:h,chartArea:t,scales:a,chartHeight:d,gradientFor:l,item:g}),n.current},[]),k=p.useMemo(()=>({...r,datasets:r.datasets.map(t=>({fill:!0,backgroundColor:function(a){const l=a.chart,{ctx:g,chartArea:o,scales:d}=l;if(o)return x({ctx:g,chartArea:o,scales:d,gradientFor:"background",item:t})},borderColor:function(a){const l=a.chart,{ctx:g,chartArea:o,scales:d}=l;if(o)return x({ctx:g,chartArea:o,scales:d,gradientFor:"border",item:t})},borderWidth:3,tension:0,pointRadius:0,pointHoverRadius:4,...t,data:t.data}))}),[r]),R=p.useMemo(()=>{const h={plugins:{tooltip:{enabled:!i,external:({chart:t,tooltip:a})=>i?D(S)({chart:t,tooltip:a}):void 0}}};return j.mergeObjects(O,h,b??{})},[b,i]);return y.jsxs("div",{id:s,className:e,style:{height:u||"300px"},children:[i&&y.jsx(w.default,{selector:"body",children:y.jsx(i,{...B})}),y.jsx(m.Line,{data:k,options:R,plugins:[F]})]})};exports.default=q;