@materialui-reactjs/admin 1.0.4

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 (131) hide show
  1. package/README.md +453 -0
  2. package/dist/assets/css/SpinnerLoader.css +1 -0
  3. package/dist/assets/css/form.css +1 -0
  4. package/dist/assets/css/index.css +1 -0
  5. package/dist/assets/css/meta.css +1 -0
  6. package/dist/chunks/Common-C_ZhT4L6.js +217 -0
  7. package/dist/chunks/Env-DRXhvUcb.js +16 -0
  8. package/dist/chunks/HeaderUpdate-lrSYWsKp.js +474 -0
  9. package/dist/chunks/SortableItem-B4-Zsso3.js +31 -0
  10. package/dist/chunks/SpinnerLoader-h8RDIarB.js +21 -0
  11. package/dist/chunks/UDragFile-CAiSfTsp.js +92 -0
  12. package/dist/chunks/Validator-DjZz2bJs.js +203 -0
  13. package/dist/chunks/echarts-CRmndsxC.js +322 -0
  14. package/dist/chunks/form-C8gzkYMW.js +45843 -0
  15. package/dist/chunks/loader-BUiOnhOH.js +1 -0
  16. package/dist/chunks/meta-k8MmuQjS.js +758 -0
  17. package/dist/chunks/sidebar-Dj4Xr9du.js +84 -0
  18. package/dist/chunks/single-DyPwG6ZR.js +1082 -0
  19. package/dist/chunks/top-navbar-FBw88y_o.js +78 -0
  20. package/dist/components/echarts/BarChart.d.ts +11 -0
  21. package/dist/components/echarts/LineChart.d.ts +10 -0
  22. package/dist/components/echarts/MultiBarChart.d.ts +14 -0
  23. package/dist/components/echarts/MultiLineChart.d.ts +14 -0
  24. package/dist/components/echarts/PieChart.d.ts +12 -0
  25. package/dist/components/echarts/index.d.ts +5 -0
  26. package/dist/components/echarts/index.js +2 -0
  27. package/dist/components/form/AdvancedMultiSelect.d.ts +16 -0
  28. package/dist/components/form/AsxhUImages.d.ts +15 -0
  29. package/dist/components/form/BoxAddRow.d.ts +26 -0
  30. package/dist/components/form/CheckTreeBox.d.ts +18 -0
  31. package/dist/components/form/CusForm.d.ts +105 -0
  32. package/dist/components/form/DateInput.d.ts +14 -0
  33. package/dist/components/form/DateTimeInput.d.ts +11 -0
  34. package/dist/components/form/Editor.d.ts +12 -0
  35. package/dist/components/form/EfFile.d.ts +15 -0
  36. package/dist/components/form/EfImage.d.ts +15 -0
  37. package/dist/components/form/EfImages.d.ts +14 -0
  38. package/dist/components/form/PImage.d.ts +15 -0
  39. package/dist/components/form/SelectAddRowBox.d.ts +17 -0
  40. package/dist/components/form/SelectAddRowBoxAdvanced.d.ts +16 -0
  41. package/dist/components/form/SelectBox.d.ts +32 -0
  42. package/dist/components/form/UDragFile.d.ts +13 -0
  43. package/dist/components/form/UFile.d.ts +15 -0
  44. package/dist/components/form/UFiles.d.ts +15 -0
  45. package/dist/components/form/UImages.d.ts +15 -0
  46. package/dist/components/form/index.d.ts +19 -0
  47. package/dist/components/form/index.js +3 -0
  48. package/dist/components/loader/SpinnerLoader.d.ts +8 -0
  49. package/dist/components/loader/index.d.ts +1 -0
  50. package/dist/components/loader/index.js +3 -0
  51. package/dist/components/meta/BtnGroup.d.ts +8 -0
  52. package/dist/components/meta/CardTable.d.ts +37 -0
  53. package/dist/components/meta/CusTooltip.d.ts +7 -0
  54. package/dist/components/meta/ElfinderModal.d.ts +10 -0
  55. package/dist/components/meta/Error403.d.ts +8 -0
  56. package/dist/components/meta/Error404.d.ts +8 -0
  57. package/dist/components/meta/Head.d.ts +1 -0
  58. package/dist/components/meta/HeaderDetail.d.ts +9 -0
  59. package/dist/components/meta/HeaderIndex.d.ts +17 -0
  60. package/dist/components/meta/HeaderUpdate.d.ts +9 -0
  61. package/dist/components/meta/ModalForm.d.ts +18 -0
  62. package/dist/components/meta/Navtabs.d.ts +12 -0
  63. package/dist/components/meta/PDFEmbed.d.ts +11 -0
  64. package/dist/components/meta/Pagination.d.ts +7 -0
  65. package/dist/components/meta/Pdfviewer.d.ts +0 -0
  66. package/dist/components/meta/ScrollTable.d.ts +16 -0
  67. package/dist/components/meta/SearchBox.d.ts +9 -0
  68. package/dist/components/meta/SortableItem.d.ts +1 -0
  69. package/dist/components/meta/index.d.ts +17 -0
  70. package/dist/components/meta/index.js +4 -0
  71. package/dist/components/sidebar/Sidebar.d.ts +3 -0
  72. package/dist/components/sidebar/Sidebar.types.d.ts +25 -0
  73. package/dist/components/sidebar/Sidebar.utils.d.ts +2 -0
  74. package/dist/components/sidebar/SidebarItem.d.ts +10 -0
  75. package/dist/components/sidebar/index.d.ts +2 -0
  76. package/dist/components/sidebar/index.js +2 -0
  77. package/dist/components/single/Detail.d.ts +25 -0
  78. package/dist/components/single/Fields.d.ts +31 -0
  79. package/dist/components/single/Import.d.ts +24 -0
  80. package/dist/components/single/List.d.ts +44 -0
  81. package/dist/components/single/Update.d.ts +33 -0
  82. package/dist/components/single/UpdateDetail.d.ts +7 -0
  83. package/dist/components/single/UpdateTableDetail.d.ts +18 -0
  84. package/dist/components/single/index.d.ts +7 -0
  85. package/dist/components/single/index.js +2 -0
  86. package/dist/components/top-navbar/TopNavbar.d.ts +6 -0
  87. package/dist/components/top-navbar/index.d.ts +1 -0
  88. package/dist/components/top-navbar/index.js +2 -0
  89. package/dist/fontawesome/css/all.css +8 -0
  90. package/dist/fontawesome/css/all.min.css +1 -0
  91. package/dist/fontawesome/webfonts/fa-brands-400.ttf +0 -0
  92. package/dist/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
  93. package/dist/fontawesome/webfonts/fa-duotone-900.ttf +0 -0
  94. package/dist/fontawesome/webfonts/fa-duotone-900.woff2 +0 -0
  95. package/dist/fontawesome/webfonts/fa-light-300.ttf +0 -0
  96. package/dist/fontawesome/webfonts/fa-light-300.woff2 +0 -0
  97. package/dist/fontawesome/webfonts/fa-regular-400.ttf +0 -0
  98. package/dist/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
  99. package/dist/fontawesome/webfonts/fa-sharp-light-300.ttf +0 -0
  100. package/dist/fontawesome/webfonts/fa-sharp-light-300.woff2 +0 -0
  101. package/dist/fontawesome/webfonts/fa-sharp-regular-400.ttf +0 -0
  102. package/dist/fontawesome/webfonts/fa-sharp-regular-400.woff2 +0 -0
  103. package/dist/fontawesome/webfonts/fa-sharp-solid-900.ttf +0 -0
  104. package/dist/fontawesome/webfonts/fa-sharp-solid-900.woff2 +0 -0
  105. package/dist/fontawesome/webfonts/fa-solid-900.ttf +0 -0
  106. package/dist/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
  107. package/dist/fontawesome/webfonts/fa-thin-100.ttf +0 -0
  108. package/dist/fontawesome/webfonts/fa-thin-100.woff2 +0 -0
  109. package/dist/fontawesome/webfonts/fa-v4compatibility.ttf +0 -0
  110. package/dist/fontawesome/webfonts/fa-v4compatibility.woff2 +0 -0
  111. package/dist/hook/detail.d.ts +14 -0
  112. package/dist/hook/detail.js +12 -0
  113. package/dist/hook/fields.d.ts +14 -0
  114. package/dist/hook/fields.js +12 -0
  115. package/dist/hook/import.d.ts +15 -0
  116. package/dist/hook/import.js +0 -0
  117. package/dist/hook/index.d.ts +61 -0
  118. package/dist/hook/index.js +41 -0
  119. package/dist/hook/update.d.ts +24 -0
  120. package/dist/hook/update.js +29 -0
  121. package/dist/index.d.ts +7 -0
  122. package/dist/index.js +11 -0
  123. package/dist/utils/Common.d.ts +136 -0
  124. package/dist/utils/CusRoute.d.ts +7 -0
  125. package/dist/utils/Env.d.ts +2 -0
  126. package/dist/utils/Group.d.ts +1 -0
  127. package/dist/utils/Validator.d.ts +53 -0
  128. package/dist/utils/index.d.ts +5 -0
  129. package/dist/utils/index.js +671 -0
  130. package/package.json +171 -0
  131. package/scripts/postinstall.cjs +80 -0
@@ -0,0 +1,203 @@
1
+ //#region src/hook/update.ts
2
+ var e = async (e, n) => {
3
+ e.preventDefault();
4
+ let { name: r, type: i, value: a } = t(e, n);
5
+ if (i === "file") {
6
+ let t = e.target.files;
7
+ n[r] = t ? t[0] : null;
8
+ } else n[r] = a;
9
+ return n;
10
+ }, t = (e, t) => {
11
+ let { name: n, type: r, value: i } = e.target, a = n.split(/[\{\}]+/).filter(Boolean), o = a.shift();
12
+ if (!o || a.length === 0) return {
13
+ name: n,
14
+ type: r,
15
+ value: i
16
+ };
17
+ let s = JSON.parse(JSON.stringify(t?.[o] || {})), c = s;
18
+ for (let e = 0; e < a.length - 1; e++) {
19
+ let t = a[e];
20
+ c[t] = { ...c[t] || {} }, c = c[t];
21
+ }
22
+ return c[a[a.length - 1]] = i, {
23
+ name: o,
24
+ type: r,
25
+ value: s
26
+ };
27
+ }, n = window.jQuery, r = class e {
28
+ options;
29
+ validators;
30
+ $element;
31
+ $btn;
32
+ $inputs;
33
+ static VERSION = "0.11.9";
34
+ static INPUT_SELECTOR = ":input:not(.nvali,[type=\"hidden\"], [type=\"submit\"], [type=\"reset\"], button)";
35
+ static FOCUS_OFFSET = 20;
36
+ static DEFAULTS = {
37
+ delay: 500,
38
+ html: !1,
39
+ disable: !0,
40
+ focus: !0,
41
+ custom: {},
42
+ errors: {
43
+ match: "Does not match",
44
+ minlength: "Too short",
45
+ maxlength: "Too long"
46
+ },
47
+ feedback: {
48
+ success: "glyphicon-ok",
49
+ error: "glyphicon-remove"
50
+ }
51
+ };
52
+ static VALIDATORS = {
53
+ native: function(e) {
54
+ let t = e[0];
55
+ if (t.checkValidity) return !t.checkValidity() && !t.validity.valid && (t.validationMessage || "error!");
56
+ },
57
+ match: function(t) {
58
+ let r = t.attr("data-match");
59
+ return r && t.val() !== n(r).val() && e.DEFAULTS.errors.match;
60
+ },
61
+ minlength: function(t) {
62
+ let n = Number(t.attr("data-minlength"));
63
+ return String(t.val() ?? "").length < n && e.DEFAULTS.errors.minlength;
64
+ },
65
+ maxlength: function(t) {
66
+ let n = Number(t.attr("data-maxlength"));
67
+ return String(t.val() ?? "").length > n && e.DEFAULTS.errors.maxlength;
68
+ },
69
+ filesize: function(e) {
70
+ let t = Number(e.data("filesize")), n = e[0];
71
+ return n?.files?.length ? n.files[0].size > t * 1024 * 1024 : !1;
72
+ },
73
+ accept: function(e) {
74
+ let t = e.attr("data-accept");
75
+ if (!t) return !1;
76
+ let n = e[0];
77
+ if (!n?.files?.length) return !1;
78
+ let r = n.files[0];
79
+ return !new RegExp(t).test(r.name);
80
+ },
81
+ pattern: function(e) {
82
+ let t = e.attr("data-pattern");
83
+ return t ? !new RegExp(t).test(String(e.val() ?? "")) : !1;
84
+ }
85
+ };
86
+ constructor(t, r = !1) {
87
+ this.options = r || e.DEFAULTS, this.validators = n.extend({}, e.VALIDATORS), this.$element = n(t), this.$btn = this.$element.find("button[type=\"submit\"], input[type=\"submit\"], .submitAjax"), this.$inputs = this.$element.find(e.INPUT_SELECTOR).add(this.$element.find("[data-validate=\"true\"]")).not(this.$element.find("[data-validate=\"false\"]").each((e, t) => {
88
+ this.clearErrors(n(t));
89
+ }));
90
+ }
91
+ static getValue(e) {
92
+ return e.is("[type=\"checkbox\"]") ? !!e.prop("checked") : e.is("[type=\"radio\"]") ? n(`[name="${e.attr("name")}"]:checked`).length > 0 : e.is("select[multiple]") ? (e.val() ?? []).length : e.val() ?? "";
93
+ }
94
+ update = () => {
95
+ let t = this;
96
+ return this.$inputs = this.$element.find(e.INPUT_SELECTOR).add(this.$element.find("[data-validate=\"true\"]")).not(this.$element.find("[data-validate=\"false\"]").each((e, r) => {
97
+ t.clearErrors(n(r));
98
+ })), this.toggleSubmit(), this;
99
+ };
100
+ onInput = (e) => {
101
+ let t = this, r = n(e.target), i = e.type !== "focusout";
102
+ this.$inputs.is(r) && this.validateInput(r, i)?.done(function() {
103
+ t.toggleSubmit();
104
+ });
105
+ };
106
+ validateInput = (e, t) => {
107
+ let r = e.data("bs.validator.errors");
108
+ e.is("[type=\"radio\"]") && (e = this.$element.find("input[name=\"" + e.attr("name") + "\"]"));
109
+ let i = n.Event("validate.bs.validator", { relatedTarget: e[0] });
110
+ if (this.$element.trigger(i), i.isDefaultPrevented()) return;
111
+ let a = this;
112
+ return this.runValidators(e).done(function(o) {
113
+ e.data("bs.validator.errors", o), o.length ? t ? a.defer(e, a.showErrors) : a.showErrors(e) : a.clearErrors(e), (!r || o.toString() !== r.toString()) && (i = o.length ? n.Event("invalid.bs.validator", {
114
+ relatedTarget: e[0],
115
+ detail: o
116
+ }) : n.Event("valid.bs.validator", {
117
+ relatedTarget: e[0],
118
+ detail: r
119
+ }), a.$element.trigger(i)), a.toggleSubmit(), a.$element.trigger(n.Event("validated.bs.validator", { relatedTarget: e[0] }));
120
+ });
121
+ };
122
+ runValidators = (t) => {
123
+ let r = [], i = n.Deferred();
124
+ t.data("bs.validator.deferred") && t.data("bs.validator.deferred").reject(), t.data("bs.validator.deferred", i);
125
+ function a(e) {
126
+ return t.attr("data-" + e + "-error");
127
+ }
128
+ function o() {
129
+ let e = t[0];
130
+ if (!(e instanceof HTMLInputElement) && !(e instanceof HTMLSelectElement) && !(e instanceof HTMLTextAreaElement)) return null;
131
+ let n = e.validity;
132
+ return n.typeMismatch ? t.attr("data-type-error") ?? null : n.patternMismatch ? t.attr("data-pattern-error") ?? null : n.stepMismatch ? t.attr("data-step-error") ?? null : n.rangeOverflow ? t.attr("data-max-error") ?? null : n.rangeUnderflow ? t.attr("data-min-error") ?? null : n.valueMissing ? t.attr("data-required-error") ?? null : null;
133
+ }
134
+ function s() {
135
+ return t.attr("data-error");
136
+ }
137
+ function c(e) {
138
+ return a(e) || o() || s();
139
+ }
140
+ return n.each(this.validators, n.proxy(function(n, i) {
141
+ let a = null;
142
+ (e.getValue(t) || t.attr("required")) && (t.attr("data-" + n) !== void 0 || n == "native") && (a = i.call(this, t)) && (a = c(n) || a, !~r.indexOf(a) && r.push(a));
143
+ }, this)), i.resolve(r), i.promise();
144
+ };
145
+ validate = () => {
146
+ let e = this;
147
+ return n.when(this.$inputs.map((t, r) => e.validateInput(n(r), !1))).then(function() {
148
+ e.toggleSubmit(), e.focusError();
149
+ }), this;
150
+ };
151
+ focusError = () => {
152
+ if (!this.options.focus) return;
153
+ let t = this.$element.find(".has-error:first :input");
154
+ t.length !== 0 && (n("html, body").animate({ scrollTop: t.offset().top - e.FOCUS_OFFSET }, 250), t.focus());
155
+ };
156
+ showErrors = (e) => {
157
+ this.options.html;
158
+ let t = e.data("bs.validator.errors"), r = e.closest(".form-group, .boxUFile"), i = r.find(".form-control-feedback");
159
+ t.length && (t = n("<ul/>").addClass("list-unstyled").append(n.map(t, (e) => {
160
+ let t = n("<li/>");
161
+ return this.options.html ? t.html(e) : t.text(e);
162
+ })), r.addClass("has-error has-danger"), r.find(".invalid-tooltip, .invalid-feedback").remove(), r.find(".select2,.form-control").removeClass("is-valid").addClass("is-invalid"), r.append(`<div class="invalid-feedback"><ul class="list-unstyled">${t.html()}<ul/></div>`), r.removeClass("has-success"), r.hasClass("has-feedback"), i.removeClass(this.options.feedback?.success), i.addClass(this.options.feedback?.error));
163
+ };
164
+ clearErrors = (e) => {
165
+ let t = e.closest(".form-group, .boxUFile"), n = t.find(".form-control-feedback");
166
+ t.removeClass("has-error has-danger has-success"), t.find(".invalid-tooltip, .invalid-feedback").remove(), t.find(".select2,.form-control").addClass("is-valid").removeClass("is-invalid"), t.addClass("has-success"), t.hasClass("has-feedback"), n.removeClass(this.options.feedback?.error), n.removeClass(this.options.feedback?.success), n.addClass(this.options.feedback?.success);
167
+ };
168
+ hasErrors = () => !!this.$inputs.filter(function() {
169
+ return !!(n(this).data("bs.validator.errors") || []).length;
170
+ }).length;
171
+ isIncomplete = () => !!this.$inputs.filter("[required]").filter((t, r) => {
172
+ let i = e.getValue(n(r));
173
+ return !(typeof i == "string" ? i.trim() : i);
174
+ }).length;
175
+ onSubmit = (e) => {
176
+ this.validate(), (this.isIncomplete() || this.hasErrors()) && e.preventDefault();
177
+ };
178
+ toggleSubmit = () => {
179
+ this.options.disable;
180
+ };
181
+ defer = (e, t) => {
182
+ if (t = t.bind(this, e), !this.options.delay) return t();
183
+ window.clearTimeout(e.data("bs.validator.timeout")), e.data("bs.validator.timeout", window.setTimeout(t, this.options.delay));
184
+ };
185
+ reset = () => (this.$element.find(".form-control-feedback").removeClass(this.options?.feedback.error).removeClass(this.options.feedback.success), this.$inputs.removeData(["bs.validator.errors", "bs.validator.deferred"]).each(() => {
186
+ let e = n(this), t = e.data("bs.validator.timeout");
187
+ window.clearTimeout(t), e.removeData("bs.validator.timeout");
188
+ }), this.$element.find(".invalid-tooltip, .invalid-feedback").each(() => {
189
+ let e = n(this), t = e.data("bs.validator.originalContent");
190
+ e.removeData("bs.validator.originalContent").html(t);
191
+ }), this.$btn.removeClass("disabled"), this.$element.find(".has-error, .has-danger, .has-success, .is-invalid, .is-valid").removeClass("has-error has-danger has-success is-invalid is-valid"), this);
192
+ destroy = () => (this.reset(), this.$element.removeAttr("novalidate").removeData("bs.validator").off(".bs.validator"), this.$inputs.off(".bs.validator"), this.options = null, this.validators = null, this.$element = null, this.$btn = null, this.$inputs = null, this);
193
+ run = () => {
194
+ this.update(), this.$element.on("input.bs.validator change.bs.validator focusout.bs.validator", this.onInput.bind(this)), this.$element.on("submit.bs.validator", this.onSubmit.bind(this)), this.$element.on("reset.bs.validator", this.reset.bind(this)), this.$element.find("[data-match]").each(function() {
195
+ let t = n(this), r = t.attr("data-match");
196
+ r && n(r).on("input.bs.validator", function() {
197
+ e.getValue(t) && t.trigger("input.bs.validator");
198
+ });
199
+ }), this.$inputs.filter((t, r) => e.getValue(n(r)) && !n(this).closest(".has-error").length).trigger("focusout"), this.$element.attr("novalidate", !0);
200
+ };
201
+ };
202
+ //#endregion
203
+ export { e as n, t as r, r as t };
@@ -0,0 +1,322 @@
1
+ import { memo as e, useEffect as t, useMemo as n, useRef as r } from "react";
2
+ import { jsx as i } from "react/jsx-runtime";
3
+ import a from "echarts-for-react";
4
+ //#region src/components/echarts/BarChart.tsx
5
+ var o = e(({ title: e = "Bar Chart", labels: o, values: s, color: c = "#5470C6", showGrid: l = !1, visible: u = !1 }) => {
6
+ let d = r(null), f = n(() => ({
7
+ title: {
8
+ text: e,
9
+ left: "center",
10
+ textStyle: {
11
+ fontSize: 18,
12
+ fontFamily: "Roboto, sans-serif"
13
+ }
14
+ },
15
+ textStyle: { fontFamily: "Roboto, sans-serif" },
16
+ tooltip: {
17
+ trigger: "axis",
18
+ axisPointer: { type: "shadow" }
19
+ },
20
+ xAxis: {
21
+ type: "category",
22
+ data: o,
23
+ axisTick: { alignWithLabel: !0 },
24
+ axisLabel: { rotate: 0 }
25
+ },
26
+ yAxis: {
27
+ type: "value",
28
+ splitLine: { show: l }
29
+ },
30
+ series: [{
31
+ data: s,
32
+ type: "bar",
33
+ barWidth: "50%",
34
+ itemStyle: {
35
+ color: c,
36
+ borderRadius: [
37
+ 6,
38
+ 6,
39
+ 0,
40
+ 0
41
+ ]
42
+ },
43
+ emphasis: { itemStyle: { color: "#91cc75" } }
44
+ }],
45
+ grid: {
46
+ left: "5%",
47
+ right: "5%",
48
+ bottom: "10%",
49
+ containLabel: !0
50
+ },
51
+ animationDuration: 600
52
+ }), [
53
+ e,
54
+ o,
55
+ s,
56
+ c,
57
+ l
58
+ ]);
59
+ return t(() => {
60
+ u && d.current?.getEchartsInstance()?.resize();
61
+ }, [u]), /* @__PURE__ */ i(a, {
62
+ ref: d,
63
+ option: f,
64
+ style: {
65
+ height: 400,
66
+ width: "100%"
67
+ },
68
+ notMerge: !0,
69
+ autoResize: !0,
70
+ lazyUpdate: !0
71
+ });
72
+ }), s = e(({ title: e = "Line Chart", labels: o, values: s, color: c = "#5470C6", visible: l = !1 }) => {
73
+ let u = r(null), d = n(() => ({
74
+ title: {
75
+ text: e,
76
+ left: "center",
77
+ textStyle: {
78
+ fontSize: 18,
79
+ fontFamily: "Roboto, sans-serif"
80
+ }
81
+ },
82
+ textStyle: { fontFamily: "Roboto, sans-serif" },
83
+ tooltip: { trigger: "axis" },
84
+ xAxis: {
85
+ type: "category",
86
+ data: o,
87
+ boundaryGap: !1
88
+ },
89
+ yAxis: {
90
+ type: "value",
91
+ min: (e) => Math.floor(e.min * .9),
92
+ max: (e) => Math.ceil(e.max * 1.1)
93
+ },
94
+ series: [{
95
+ data: s,
96
+ type: "line",
97
+ smooth: !0,
98
+ lineStyle: {
99
+ color: c,
100
+ width: 3
101
+ },
102
+ itemStyle: { color: c },
103
+ areaStyle: { color: `${c}33` }
104
+ }],
105
+ grid: {
106
+ left: "5%",
107
+ right: "5%",
108
+ bottom: "10%",
109
+ containLabel: !0
110
+ }
111
+ }), [
112
+ e,
113
+ o,
114
+ s,
115
+ c
116
+ ]);
117
+ return t(() => {
118
+ l && u.current?.getEchartsInstance()?.resize();
119
+ }, [l]), /* @__PURE__ */ i(a, {
120
+ ref: u,
121
+ option: d,
122
+ style: {
123
+ height: 400,
124
+ width: "100%"
125
+ },
126
+ notMerge: !0,
127
+ autoResize: !0,
128
+ lazyUpdate: !0
129
+ });
130
+ }), c = e(({ title: e = "Multi Bar Chart", labels: o, series: s, visible: c = !1 }) => {
131
+ let l = r(null), u = n(() => ({
132
+ title: {
133
+ text: e,
134
+ left: "center",
135
+ textStyle: {
136
+ fontSize: 18,
137
+ fontFamily: "Roboto, sans-serif"
138
+ }
139
+ },
140
+ textStyle: { fontFamily: "Roboto, sans-serif" },
141
+ tooltip: {
142
+ trigger: "axis",
143
+ axisPointer: { type: "shadow" }
144
+ },
145
+ legend: {
146
+ top: "5%",
147
+ left: "center",
148
+ icon: "circle"
149
+ },
150
+ grid: {
151
+ top: "15%",
152
+ left: "5%",
153
+ right: "5%",
154
+ bottom: "10%",
155
+ containLabel: !0
156
+ },
157
+ xAxis: {
158
+ type: "category",
159
+ data: o,
160
+ axisTick: { alignWithLabel: !0 }
161
+ },
162
+ yAxis: {
163
+ type: "value",
164
+ splitLine: { lineStyle: { color: "#eee" } }
165
+ },
166
+ series: s.map((e) => ({
167
+ name: e.name,
168
+ type: "bar",
169
+ data: e.data,
170
+ barWidth: "40%",
171
+ itemStyle: {
172
+ color: e.color,
173
+ borderRadius: [
174
+ 4,
175
+ 4,
176
+ 0,
177
+ 0
178
+ ]
179
+ },
180
+ emphasis: { focus: "series" }
181
+ })),
182
+ animationDuration: 600
183
+ }), [
184
+ e,
185
+ o,
186
+ s
187
+ ]);
188
+ return t(() => {
189
+ c && l.current?.getEchartsInstance()?.resize();
190
+ }, [c]), /* @__PURE__ */ i(a, {
191
+ ref: l,
192
+ option: u,
193
+ style: {
194
+ height: 400,
195
+ width: "100%"
196
+ },
197
+ notMerge: !0,
198
+ autoResize: !0,
199
+ lazyUpdate: !0
200
+ });
201
+ }), l = e(({ title: e = "Multi-Line Chart", labels: o, series: s, visible: c = !1 }) => {
202
+ let l = r(null), u = n(() => ({
203
+ title: {
204
+ text: e,
205
+ left: "center",
206
+ textStyle: {
207
+ fontSize: 18,
208
+ fontFamily: "Roboto, sans-serif"
209
+ }
210
+ },
211
+ textStyle: { fontFamily: "Roboto, sans-serif" },
212
+ tooltip: {
213
+ trigger: "axis",
214
+ backgroundColor: "rgba(50,50,50,0.8)",
215
+ borderWidth: 0,
216
+ textStyle: { color: "#fff" }
217
+ },
218
+ legend: {
219
+ top: "5%",
220
+ left: "center",
221
+ icon: "circle"
222
+ },
223
+ grid: {
224
+ top: "15%",
225
+ left: "5%",
226
+ right: "5%",
227
+ bottom: "10%",
228
+ containLabel: !0
229
+ },
230
+ xAxis: {
231
+ type: "category",
232
+ data: o,
233
+ boundaryGap: !1,
234
+ axisLine: { lineStyle: { color: "#aaa" } },
235
+ axisLabel: { fontSize: 12 }
236
+ },
237
+ yAxis: {
238
+ type: "value",
239
+ axisLine: { show: !1 },
240
+ splitLine: { lineStyle: { color: "#eee" } }
241
+ },
242
+ series: Array.isArray(s) ? s.map((e) => ({
243
+ name: e.name,
244
+ type: "line",
245
+ data: e.data,
246
+ smooth: !0,
247
+ lineStyle: {
248
+ width: 3,
249
+ color: e.color
250
+ },
251
+ itemStyle: { color: e.color },
252
+ areaStyle: { color: e.color ? `${e.color}33` : void 0 },
253
+ emphasis: { focus: "series" }
254
+ })) : [],
255
+ animationDuration: 600
256
+ }), [
257
+ e,
258
+ o,
259
+ s
260
+ ]);
261
+ return t(() => {
262
+ c && l.current?.getEchartsInstance()?.resize();
263
+ }, [c]), /* @__PURE__ */ i(a, {
264
+ ref: l,
265
+ option: u,
266
+ style: {
267
+ height: 400,
268
+ width: "100%"
269
+ },
270
+ notMerge: !0,
271
+ autoResize: !0,
272
+ lazyUpdate: !0
273
+ });
274
+ }), u = e(({ title: e = "Pie Chart", data: o, visible: s = !1 }) => {
275
+ let c = r(null), l = n(() => ({
276
+ title: {
277
+ text: e,
278
+ left: "center",
279
+ textStyle: {
280
+ fontSize: 18,
281
+ fontFamily: "Roboto, sans-serif"
282
+ }
283
+ },
284
+ textStyle: { fontFamily: "Roboto, sans-serif" },
285
+ tooltip: {
286
+ trigger: "item",
287
+ formatter: "{a} <br/>{b}: {c} ({d}%)"
288
+ },
289
+ legend: {
290
+ left: "center",
291
+ top: "top"
292
+ },
293
+ series: [{
294
+ name: e,
295
+ type: "pie",
296
+ radius: "65%",
297
+ center: ["50%", "60%"],
298
+ data: o,
299
+ emphasis: { itemStyle: {
300
+ shadowBlur: 10,
301
+ shadowOffsetX: 0,
302
+ shadowColor: "rgba(0, 0, 0, 0.3)"
303
+ } },
304
+ label: { formatter: "{b}: {d}%" }
305
+ }]
306
+ }), [o, e]);
307
+ return t(() => {
308
+ s && c.current?.getEchartsInstance()?.resize();
309
+ }, [s]), /* @__PURE__ */ i(a, {
310
+ ref: c,
311
+ option: l,
312
+ style: {
313
+ height: 400,
314
+ width: "100%"
315
+ },
316
+ notMerge: !0,
317
+ autoResize: !0,
318
+ lazyUpdate: !0
319
+ });
320
+ });
321
+ //#endregion
322
+ export { o as a, s as i, l as n, c as r, u as t };