@nexa-stack/framework 1.1.0 → 1.1.1

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 (141) hide show
  1. package/README.md +5 -7
  2. package/bin/nexa.ts +25 -11
  3. package/docs/UI_RULES.md +19 -0
  4. package/package.json +4 -15
  5. package/packages/core/src/app.ts +1 -1
  6. package/public/admin-assets/nexa.umd.js +80 -0
  7. package/public/admin.html +6 -4
  8. package/public/app.html +19 -0
  9. package/public/index.html +22 -66
  10. package/public/assets/blog-CGOdzgkO.js +0 -1
  11. package/public/assets/blog-ML7LFtff.js +0 -1
  12. package/public/assets/components-B_D1ccvJ.js +0 -50
  13. package/public/assets/components-C67m2tNE.js +0 -1
  14. package/public/assets/components-DCNIrNdJ.js +0 -50
  15. package/public/assets/components-DZ9oc9zI.js +0 -1
  16. package/public/assets/contact-CAfovn36.js +0 -1
  17. package/public/assets/contact-bMUqmce3.js +0 -1
  18. package/public/assets/docs-B92Otuxs.js +0 -20
  19. package/public/assets/docs-BGOHuCe3.js +0 -20
  20. package/public/assets/docs-BUkg7Pd2.css +0 -1
  21. package/public/assets/echarts-mount-DdBiYEc1.js +0 -19
  22. package/public/assets/echarts-mount-kJrXh_za.js +0 -19
  23. package/public/assets/echarts-nexa-BsAEVjT0.js +0 -1
  24. package/public/assets/integration-BNpFB3SL.js +0 -1
  25. package/public/assets/integration-Br6tmvWh.js +0 -1
  26. package/public/assets/integration-D7vdPco_.js +0 -1
  27. package/public/assets/main-BBkehs0N.js +0 -1
  28. package/public/assets/main-Cx_-Fq0O.css +0 -1
  29. package/public/assets/main-ny0uOGg1.js +0 -1
  30. package/public/assets/src-B4_Kaae6.css +0 -1
  31. package/public/assets/src-BfdoaLcc.js +0 -1
  32. package/public/assets/src-D__MdyFu.js +0 -1
  33. package/public/cards/README.md +0 -17
  34. package/public/cards/bloom.jpg +0 -0
  35. package/public/compare.html +0 -66
  36. package/public/docs.html +0 -315
  37. package/public/favicon.svg +0 -11
  38. package/public/nexa-hero-sculpture-1280.png +0 -0
  39. package/public/nexa-hero-sculpture-640.png +0 -0
  40. package/public/nexa-hero-sculpture-960.png +0 -0
  41. package/public/nexa-hero-sculpture.png +0 -0
  42. package/public/nexa-hero-sculpture.webp +0 -0
  43. package/public/nexa-mark-24.png +0 -0
  44. package/public/nexa-mark-256.png +0 -0
  45. package/public/nexa-mark-32.png +0 -0
  46. package/public/nexa-mark-40.png +0 -0
  47. package/public/nexa-mark-48.png +0 -0
  48. package/public/nexa-mark-512.png +0 -0
  49. package/public/nexa-mark-64.png +0 -0
  50. package/public/nexa-mark-96.png +0 -0
  51. package/public/nexa-mark-apple.png +0 -0
  52. package/public/nexa-mark-product-256.png +0 -0
  53. package/public/nexa-mark-product.png +0 -0
  54. package/public/nexa-mark-source.png +0 -0
  55. package/public/nexa-mark-trim.png +0 -0
  56. package/public/nexa-mark.png +0 -0
  57. package/public/nexa-mark.webp +0 -0
  58. package/public/nexa-palette-vision.png +0 -0
  59. package/public/nexa-wordmark.png +0 -0
  60. package/public/nexa-wordmark.webp +0 -0
  61. package/public/og.png +0 -0
  62. package/public/site/about.html +0 -101
  63. package/public/site/blog.html +0 -87
  64. package/public/site/components.html +0 -251
  65. package/public/site/contact.html +0 -72
  66. package/public/site/docs/buttons.html +0 -157
  67. package/public/site/docs/cards.html +0 -159
  68. package/public/site/docs/colors.html +0 -216
  69. package/public/site/docs/commands.html +0 -170
  70. package/public/site/docs/data.html +0 -122
  71. package/public/site/docs/feedback.html +0 -111
  72. package/public/site/docs/forms.html +0 -117
  73. package/public/site/docs/icons.html +0 -125
  74. package/public/site/docs/index.html +0 -82
  75. package/public/site/docs/installation.html +0 -83
  76. package/public/site/docs/layout.html +0 -116
  77. package/public/site/docs/media.html +0 -96
  78. package/public/site/docs/navigation.html +0 -122
  79. package/public/site/docs/overlays.html +0 -95
  80. package/public/site/docs/pickers.html +0 -126
  81. package/public/site/docs/sections.html +0 -111
  82. package/public/site/docs/typography.html +0 -97
  83. package/public/site/docs/usage.html +0 -76
  84. package/public/site/features.html +0 -107
  85. package/public/site/index.html +0 -117
  86. package/public/site/integration.html +0 -43
  87. package/public/site/pricing.html +0 -87
  88. package/ui/cards/README.md +0 -17
  89. package/ui/cards/bloom.jpg +0 -0
  90. package/ui/echarts-mount-DWNKcqeo.js +0 -22945
  91. package/ui/echarts-nexa-BY8eW9ug.js +0 -456
  92. package/ui/favicon.svg +0 -11
  93. package/ui/nexa-hero-sculpture-1280.png +0 -0
  94. package/ui/nexa-hero-sculpture-640.png +0 -0
  95. package/ui/nexa-hero-sculpture-960.png +0 -0
  96. package/ui/nexa-hero-sculpture.png +0 -0
  97. package/ui/nexa-hero-sculpture.webp +0 -0
  98. package/ui/nexa-mark-24.png +0 -0
  99. package/ui/nexa-mark-256.png +0 -0
  100. package/ui/nexa-mark-32.png +0 -0
  101. package/ui/nexa-mark-40.png +0 -0
  102. package/ui/nexa-mark-48.png +0 -0
  103. package/ui/nexa-mark-512.png +0 -0
  104. package/ui/nexa-mark-64.png +0 -0
  105. package/ui/nexa-mark-96.png +0 -0
  106. package/ui/nexa-mark-apple.png +0 -0
  107. package/ui/nexa-mark-product-256.png +0 -0
  108. package/ui/nexa-mark-product.png +0 -0
  109. package/ui/nexa-mark-source.png +0 -0
  110. package/ui/nexa-mark-trim.png +0 -0
  111. package/ui/nexa-mark.png +0 -0
  112. package/ui/nexa-mark.webp +0 -0
  113. package/ui/nexa-palette-vision.png +0 -0
  114. package/ui/nexa-wordmark.png +0 -0
  115. package/ui/nexa-wordmark.webp +0 -0
  116. package/ui/nexa.js +0 -2971
  117. package/ui/nexa.umd.js +0 -80
  118. package/ui/og.png +0 -0
  119. package/ui/types/components/art.d.ts +0 -11
  120. package/ui/types/components/card-layouts.d.ts +0 -11
  121. package/ui/types/components/card.d.ts +0 -11
  122. package/ui/types/components/charts.d.ts +0 -7
  123. package/ui/types/components/extra.d.ts +0 -2
  124. package/ui/types/components/helpers.d.ts +0 -18
  125. package/ui/types/components/icons.d.ts +0 -24
  126. package/ui/types/components/index.d.ts +0 -2
  127. package/ui/types/components/pickers.d.ts +0 -8
  128. package/ui/types/components/structure.d.ts +0 -2
  129. package/ui/types/core/behaviors.d.ts +0 -2
  130. package/ui/types/core/brand-assets.d.ts +0 -44
  131. package/ui/types/core/colormap.d.ts +0 -49
  132. package/ui/types/core/echarts-mount.d.ts +0 -5
  133. package/ui/types/core/echarts-nexa.d.ts +0 -71
  134. package/ui/types/core/parser.d.ts +0 -11
  135. package/ui/types/core/registry.d.ts +0 -13
  136. package/ui/types/core/renderer.d.ts +0 -14
  137. package/ui/types/core/schema.d.ts +0 -8
  138. package/ui/types/core/toast.d.ts +0 -11
  139. package/ui/types/core/validate.d.ts +0 -1
  140. package/ui/types/index.d.ts +0 -50
  141. /package/{ui → public/admin-assets}/nexa.css +0 -0
@@ -1,456 +0,0 @@
1
- //#region resources/ui/src/components/helpers.ts
2
- var e = (e, t) => e.includes(t);
3
- function t(e, t = /[,;]/) {
4
- return e ? e.split(t).map((e) => e.trim()).filter(Boolean) : [];
5
- }
6
- function n(e) {
7
- if (!e.includes("|") && !e.includes("/")) return e;
8
- let t = e.split("||").map((e) => e.trim()).filter(Boolean), n = (e) => {
9
- if (e.includes("/")) {
10
- let [t, ...n] = e.split("/"), r = n.join("/").trim();
11
- if (r.includes("|")) {
12
- let e = r.split("|").map((e) => e.trim()).filter(Boolean);
13
- if (e.length >= 2) return `${t.trim()} ${e.slice(0, -1).join(" ")} <em>${e[e.length - 1]}</em>`;
14
- }
15
- return `${t.trim()} <em>${r}</em>`;
16
- }
17
- if (!e.includes("|")) return e;
18
- let t = e.split("|").map((e) => e.trim()).filter(Boolean);
19
- return t.length === 3 ? `${t[0]} <em>${t[1]}</em> ${t[2]}` : t.length === 2 ? `${t[0]} <em>${t[1]}</em>` : t.map((e, t, n) => t === n.length - 1 ? `<em>${e}</em>` : e).join(" ");
20
- };
21
- return t.length > 1 ? t.map(n).join("<br>") : n(t[0] ?? e);
22
- }
23
- function r(e, n = ";") {
24
- return t(e, n).map((e) => {
25
- let [t, ...n] = e.split("|");
26
- return {
27
- head: t?.trim() ?? "",
28
- body: n.join("|").trim()
29
- };
30
- });
31
- }
32
- function i(e) {
33
- let n = e.getAttribute("plans"), r = Number(e.getAttribute("popular") ?? "1");
34
- return n ? t(n, ";").map((e, n) => {
35
- let [i, a, o, s, c] = e.split("|");
36
- return {
37
- name: i?.trim() ?? "Plan",
38
- price: a?.trim() ?? "0",
39
- desc: o?.trim() ?? "",
40
- features: t(s ?? "", /,/),
41
- cta: c?.trim() ?? "Choose",
42
- popular: n === r
43
- };
44
- }) : [
45
- {
46
- name: "STARTER",
47
- price: "0",
48
- desc: "For personal projects and quick starts.",
49
- features: [
50
- "Core components",
51
- "Responsive themes",
52
- "Community updates"
53
- ],
54
- cta: "Start free"
55
- },
56
- {
57
- name: "PRO",
58
- price: "19",
59
- desc: "For real products and ambitious teams.",
60
- features: [
61
- "All widgets + pickers",
62
- "Featured presets",
63
- "Priority updates"
64
- ],
65
- cta: "Choose Pro",
66
- popular: !0
67
- },
68
- {
69
- name: "STUDIO",
70
- price: "49",
71
- desc: "For agencies shipping many experiences.",
72
- features: [
73
- "Unlimited projects",
74
- "Custom tokens",
75
- "Team license"
76
- ],
77
- cta: "Choose Studio"
78
- }
79
- ];
80
- }
81
- function a(e, n) {
82
- let r = e.getAttribute("items");
83
- return r ? t(r, ";").slice(0, n).map((e, t) => {
84
- let n = e.split("|").map((e) => e.trim()).filter(Boolean);
85
- return n.length >= 3 ? [
86
- n[0],
87
- n[1],
88
- n.slice(2).join(" | ")
89
- ] : n.length === 2 ? [
90
- String(t + 1).padStart(2, "0"),
91
- n[0],
92
- n[1]
93
- ] : [
94
- String(t + 1).padStart(2, "0"),
95
- n[0] ?? "Feature",
96
- "One short command."
97
- ];
98
- }) : [
99
- [
100
- "01",
101
- "Exceptional speed",
102
- "Lightweight core — no heavy dependencies."
103
- ],
104
- [
105
- "02",
106
- "Adaptive design",
107
- "Looks great on every screen and direction."
108
- ],
109
- [
110
- "03",
111
- "Scalable registry",
112
- "Clear components that grow with your product."
113
- ],
114
- [
115
- "04",
116
- "Living color map",
117
- "One seed color dresses every widget."
118
- ]
119
- ].slice(0, n);
120
- }
121
- function o(e, n) {
122
- let r = t(e.getAttribute("links") ?? e.getAttribute("nav"));
123
- return (r.length ? r : n).map((e) => {
124
- let [t, n] = e.split("|").map((e) => e.trim());
125
- return `<a href="${n || "#"}">${t}</a>`;
126
- }).join("");
127
- }
128
- //#endregion
129
- //#region resources/ui/src/components/charts.ts
130
- var s = 0;
131
- function c(e) {
132
- return s += 1, `${e}${s}`;
133
- }
134
- function l(e) {
135
- let n = r(e);
136
- return n.length ? n.map((e) => {
137
- let t = Number(e.body.replace(/[^0-9.-]/g, ""));
138
- return {
139
- label: e.head || "—",
140
- value: Number.isFinite(t) ? t : 0
141
- };
142
- }).filter((e) => e.label) : t(e).map((e, t) => {
143
- let n = Number(e.replace(/[^0-9.-]/g, ""));
144
- return {
145
- label: String(t + 1),
146
- value: Number.isFinite(n) ? n : 0
147
- };
148
- });
149
- }
150
- function u(e) {
151
- return Math.max(1, ...e.map((e) => e.value));
152
- }
153
- function d(e, t) {
154
- let n = t <= 1 ? 0 : e / (t - 1);
155
- return n < .33 ? "var(--nexa-cyan,#00c6ff)" : n < .66 ? "var(--nexa-sky,#2e9eff)" : "var(--nexa-violet,#7c5cfc)";
156
- }
157
- function f(e, t) {
158
- let n = u(e);
159
- return `<div class="nexa-chart-bars" role="img" aria-label="Bar chart">${e.map((r, i) => `<div class="nexa-chart-bar" style="--h:${Math.round(r.value / n * 100)}%;--c:${d(i, e.length)};${t ? `--d:${i * 60}ms` : ""}"><i></i><b>${r.value}</b><span>${r.label}</span></div>`).join("")}</div>`;
160
- }
161
- function p(e, t, n) {
162
- let r = u(e), i = e.length <= 1 ? 0 : 92 / Math.max(1, e.length - 1), a = e.map((e, t) => ({
163
- x: 4 + t * i,
164
- y: 52 - e.value / r * 48,
165
- p: e
166
- })), o = a.map((e, t) => `${t ? "L" : "M"}${e.x.toFixed(2)} ${e.y.toFixed(2)}`).join(" "), s = `M${a[0]?.x.toFixed(2) ?? 4} 52 ${a.map((e) => `L${e.x.toFixed(2)} ${e.y.toFixed(2)}`).join(" ")} L${a.at(-1)?.x.toFixed(2) ?? 96} 52 Z`, l = a.map((e, t) => `<circle class="nexa-chart-dot" cx="${e.x}" cy="${e.y}" r="1.6" style="--d:${t * 50}ms"><title>${e.p.label}: ${e.p.value}</title></circle>`).join(""), d = c("nexaLine"), f = c("nexaArea"), p = `<div class="nexa-chart-x">${e.map((e) => `<span>${e.label}</span>`).join("")}</div>`;
167
- return `<div class="nexa-chart-line ${t ? "is-area" : ""} ${n ? "is-anim" : ""}" role="img" aria-label="${t ? "Area" : "Line"} chart">
168
- <svg viewBox="0 0 100 56" preserveAspectRatio="none" aria-hidden="true">
169
- <defs>
170
- <linearGradient id="${d}" x1="0" y1="0" x2="1" y2="0"><stop offset="0%" stop-color="#00c6ff"/><stop offset="50%" stop-color="#2e9eff"/><stop offset="100%" stop-color="#7c5cfc"/></linearGradient>
171
- <linearGradient id="${f}" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#2e9eff" stop-opacity=".35"/><stop offset="100%" stop-color="#7c5cfc" stop-opacity="0"/></linearGradient>
172
- </defs>
173
- ${t ? `<path class="nexa-chart-area" d="${s}" fill="url(#${f})"/>` : ""}
174
- <path class="nexa-chart-path" d="${o}" fill="none" stroke="url(#${d})" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"/>
175
- ${l}
176
- </svg>${p}</div>`;
177
- }
178
- function m(e, t) {
179
- let n = e.reduce((e, t) => e + t.value, 0) || 1, r = 2 * Math.PI * 42, i = 0, a = e.map((t, a) => {
180
- let o = t.value / n * r, s = `${o} ${r - o}`, c = `<circle class="nexa-chart-ring" r="42" cx="50" cy="50" stroke="${d(a, e.length)}" stroke-dasharray="${s}" stroke-dashoffset="${-i}" pathLength="${r}" style="--len:${o};--gap:${r - o};--off:${-i};--d:${a * 80}ms"><title>${t.label}: ${t.value}</title></circle>`;
181
- return i += o, c;
182
- }).join(""), o = e.map((t, r) => `<li style="--c:${d(r, e.length)}"><i></i><span>${t.label}</span><b>${Math.round(t.value / n * 100)}%</b></li>`).join("");
183
- return `<div class="nexa-chart-donut ${t ? "is-anim" : ""}" role="img" aria-label="Donut chart">
184
- <svg viewBox="0 0 100 100" aria-hidden="true">
185
- <circle class="nexa-chart-ring-bg" r="42" cx="50" cy="50"/>
186
- ${a}
187
- <text x="50" y="48" text-anchor="middle" class="nexa-chart-donut-val">${n}</text>
188
- <text x="50" y="58" text-anchor="middle" class="nexa-chart-donut-lbl">TOTAL</text>
189
- </svg>
190
- <ul class="nexa-chart-legend">${o}</ul>
191
- </div>`;
192
- }
193
- function h(e) {
194
- let t = u(e), n = e.length <= 1 ? 0 : 116 / Math.max(1, e.length - 1), r = e.map((e, r) => {
195
- let i = 2 + r * n, a = 26 - e.value / t * 24;
196
- return `${r ? "L" : "M"}${i.toFixed(1)} ${a.toFixed(1)}`;
197
- }).join(" "), i = c("nexaSpark");
198
- return `<div class="nexa-chart-spark" role="img" aria-label="Sparkline"><svg viewBox="0 0 120 28" preserveAspectRatio="none"><defs><linearGradient id="${i}" x1="0" y1="0" x2="1" y2="0"><stop offset="0%" stop-color="#00c6ff"/><stop offset="100%" stop-color="#7c5cfc"/></linearGradient></defs><path d="${r}" fill="none" stroke="url(#${i})" stroke-width="2" stroke-linecap="round"/></svg></div>`;
199
- }
200
- var g = {
201
- bar: "Jan|42;Feb|58;Mar|71;Apr|65;May|88;Jun|96",
202
- line: "Mon|12;Tue|19;Wed|15;Thu|28;Fri|24;Sat|32;Sun|30",
203
- area: "W1|40;W2|55;W3|48;W4|72;W5|68;W6|90",
204
- donut: "Pro|48;Studio|27;Starter|25",
205
- spark: "12,18,14,22,19,28,26,34,30,38"
206
- };
207
- function _(t) {
208
- t.register("chart", ({ modifiers: t, element: n }) => {
209
- let r = [
210
- "bar",
211
- "line",
212
- "area",
213
- "donut",
214
- "pie",
215
- "spark",
216
- "sparkline"
217
- ].find((n) => e(t, n)) ?? "bar", i = r === "pie" ? "donut" : r === "sparkline" ? "spark" : r;
218
- n.classList.add(`is-${i}`);
219
- let a = !e(t, "static");
220
- a && n.classList.add("is-anim");
221
- let o = n.getAttribute("title") ?? n.getAttribute("label") ?? "", s = n.getAttribute("subtitle") ?? n.getAttribute("desc") ?? "", c = n.getAttribute("data") ?? n.getAttribute("values") ?? n.getAttribute("series") ?? g[i] ?? g.bar, u = i === "spark" ? c.includes("|") ? l(c) : l(c.split(/[,;\s]+/).filter(Boolean).map((e, t) => `${t + 1}|${e}`).join(";")) : l(c), d = o || s ? `<header class="nexa-chart-head">${o ? `<h3>${o}</h3>` : ""}${s ? `<p>${s}</p>` : ""}</header>` : "";
222
- if (!e(t, "pro")) {
223
- let e = "";
224
- return e = i === "bar" ? f(u, a) : i === "line" ? p(u, !1, a) : i === "area" ? p(u, !0, a) : i === "donut" ? m(u, a) : h(u), n.classList.add("is-css"), `<div class="nexa-chart-card">${d}${e}</div>`;
225
- }
226
- n.classList.add("is-echarts");
227
- let _ = a ? "" : " data-static=\"true\"";
228
- return `<div class="nexa-chart-card is-pro">${d}${`<div class="nexa-echart-host" data-nexa-echart="${i}" data-chart="${((e) => e.replace(/&/g, "&amp;").replace(/"/g, "&quot;"))(c)}"${_} role="img" aria-label="${i} chart"></div>`}</div>`;
229
- });
230
- }
231
- //#endregion
232
- //#region resources/ui/src/core/echarts-nexa.ts
233
- var v = {
234
- color: [
235
- "#00C6FF",
236
- "#2E9EFF",
237
- "#2563EB",
238
- "#7C5CFC",
239
- "#a78bfa",
240
- "#38bdf8"
241
- ],
242
- backgroundColor: "transparent",
243
- textStyle: {
244
- fontFamily: "Inter,Segoe UI,system-ui,sans-serif",
245
- color: "#5B6478"
246
- },
247
- title: { textStyle: {
248
- color: "#0B1220",
249
- fontWeight: 700
250
- } },
251
- legend: { textStyle: { color: "#5B6478" } },
252
- grid: {
253
- left: 12,
254
- right: 12,
255
- top: 48,
256
- bottom: 28,
257
- containLabel: !0
258
- },
259
- categoryAxis: {
260
- axisLine: { lineStyle: { color: "rgba(11,18,32,.08)" } },
261
- axisTick: { show: !1 },
262
- axisLabel: {
263
- color: "#5B6478",
264
- fontSize: 11
265
- },
266
- splitLine: { lineStyle: { color: "rgba(11,18,32,.06)" } }
267
- },
268
- valueAxis: {
269
- axisLine: { show: !1 },
270
- axisTick: { show: !1 },
271
- axisLabel: {
272
- color: "#5B6478",
273
- fontSize: 11
274
- },
275
- splitLine: { lineStyle: { color: "rgba(11,18,32,.06)" } }
276
- }
277
- }, y = {
278
- type: "linear",
279
- x: 0,
280
- y: 0,
281
- x2: 1,
282
- y2: 0,
283
- colorStops: [
284
- {
285
- offset: 0,
286
- color: "#00C6FF"
287
- },
288
- {
289
- offset: .5,
290
- color: "#2E9EFF"
291
- },
292
- {
293
- offset: 1,
294
- color: "#7C5CFC"
295
- }
296
- ]
297
- };
298
- function b(e, t, n = !0) {
299
- let r = t.map((e) => e.label), i = t.map((e) => e.value), a = {
300
- animation: n,
301
- backgroundColor: "transparent"
302
- };
303
- return e === "spark" ? {
304
- ...a,
305
- grid: {
306
- left: 0,
307
- right: 0,
308
- top: 4,
309
- bottom: 4
310
- },
311
- xAxis: {
312
- type: "category",
313
- show: !1,
314
- data: r
315
- },
316
- yAxis: {
317
- type: "value",
318
- show: !1
319
- },
320
- series: [{
321
- type: "line",
322
- data: i,
323
- smooth: !0,
324
- symbol: "none",
325
- lineStyle: {
326
- width: 2,
327
- color: "#2E9EFF"
328
- },
329
- areaStyle: { color: {
330
- type: "linear",
331
- x: 0,
332
- y: 0,
333
- x2: 0,
334
- y2: 1,
335
- colorStops: [{
336
- offset: 0,
337
- color: "rgba(46,158,255,.28)"
338
- }, {
339
- offset: 1,
340
- color: "rgba(124,92,252,0)"
341
- }]
342
- } }
343
- }]
344
- } : e === "donut" || e === "pie" ? {
345
- ...a,
346
- tooltip: { trigger: "item" },
347
- legend: {
348
- bottom: 0,
349
- icon: "circle",
350
- itemWidth: 8,
351
- itemHeight: 8
352
- },
353
- series: [{
354
- type: "pie",
355
- radius: e === "donut" ? ["46%", "72%"] : ["0%", "72%"],
356
- itemStyle: {
357
- borderRadius: 6,
358
- borderColor: "#fff",
359
- borderWidth: 2
360
- },
361
- label: { show: !1 },
362
- emphasis: {
363
- scale: !0,
364
- scaleSize: 6
365
- },
366
- data: t.map((e, t) => ({
367
- name: e.label,
368
- value: e.value,
369
- itemStyle: { color: [
370
- "#00C6FF",
371
- "#2E9EFF",
372
- "#2563EB",
373
- "#7C5CFC",
374
- "#a78bfa",
375
- "#38bdf8"
376
- ][t % 6] }
377
- }))
378
- }]
379
- } : e === "line" || e === "area" ? {
380
- ...a,
381
- tooltip: { trigger: "axis" },
382
- xAxis: {
383
- type: "category",
384
- data: r,
385
- boundaryGap: !1
386
- },
387
- yAxis: { type: "value" },
388
- series: [{
389
- type: "line",
390
- data: i,
391
- smooth: !0,
392
- symbolSize: 7,
393
- lineStyle: {
394
- width: 3,
395
- color: y
396
- },
397
- itemStyle: {
398
- color: "#2E9EFF",
399
- borderColor: "#fff",
400
- borderWidth: 2
401
- },
402
- areaStyle: e === "area" ? { color: {
403
- type: "linear",
404
- x: 0,
405
- y: 0,
406
- x2: 0,
407
- y2: 1,
408
- colorStops: [{
409
- offset: 0,
410
- color: "rgba(46,158,255,.32)"
411
- }, {
412
- offset: 1,
413
- color: "rgba(124,92,252,0)"
414
- }]
415
- } } : void 0
416
- }]
417
- } : {
418
- ...a,
419
- tooltip: { trigger: "axis" },
420
- xAxis: {
421
- type: "category",
422
- data: r
423
- },
424
- yAxis: { type: "value" },
425
- series: [{
426
- type: "bar",
427
- data: i,
428
- barMaxWidth: 42,
429
- itemStyle: {
430
- borderRadius: [
431
- 8,
432
- 8,
433
- 4,
434
- 4
435
- ],
436
- color: y
437
- },
438
- emphasis: { itemStyle: {
439
- shadowBlur: 12,
440
- shadowColor: "rgba(46,158,255,.35)"
441
- } }
442
- }]
443
- };
444
- }
445
- function x(e) {
446
- let t = (e ?? "bar").toLowerCase();
447
- return t === "pie" ? "donut" : t === "sparkline" ? "spark" : [
448
- "bar",
449
- "line",
450
- "area",
451
- "donut",
452
- "spark"
453
- ].includes(t) ? t : "bar";
454
- }
455
- //#endregion
456
- export { _ as a, o as c, i as d, t as f, l as i, a as l, b as n, n as o, x as r, e as s, v as t, r as u };
package/ui/favicon.svg DELETED
@@ -1,11 +0,0 @@
1
- <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="32" height="32" rx="8" fill="#0B1220"/>
3
- <path d="M8 24V8h4.2l7.6 11.2V8H24v16h-4.2L12.2 12.8V24H8z" fill="url(#nexaFav)"/>
4
- <defs>
5
- <linearGradient id="nexaFav" x1="8" y1="8" x2="24" y2="24" gradientUnits="userSpaceOnUse">
6
- <stop stop-color="#68C4FF"/>
7
- <stop offset=".45" stop-color="#2E9EFF"/>
8
- <stop offset="1" stop-color="#7C5CFC"/>
9
- </linearGradient>
10
- </defs>
11
- </svg>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/ui/nexa-mark.png DELETED
Binary file
package/ui/nexa-mark.webp DELETED
Binary file
Binary file
Binary file
Binary file