@arcblock/ux 3.1.49 → 3.1.51

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.
@@ -1,10 +1,10 @@
1
- import { jsx as t, jsxs as r, Fragment as S } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as l, Fragment as S } from "react/jsx-runtime";
2
2
  import { useState as T, useRef as V, isValidElement as v } from "react";
3
- import i from "prop-types";
3
+ import n from "prop-types";
4
4
  import { TableFilter as ue, TableViewCol as pe } from "mui-datatables";
5
- import he, { PrintContextConsumer as me } from "react-to-print";
6
- import { MoreVert as fe, CloudDownload as be, ViewColumn as Ce, FilterList as ge, Print as $ } from "@mui/icons-material";
7
- import { Popover as xe, Tooltip as D, IconButton as R, ListItemIcon as L, ListItemText as j, MenuItem as U, Menu as we, LinearProgress as ye, useTheme as Te, useMediaQuery as ve } from "@mui/material";
5
+ import me, { PrintContextConsumer as fe } from "react-to-print";
6
+ import { MoreVert as he, CloudDownload as be, ViewColumn as Ce, FilterList as we, Print as $ } from "@mui/icons-material";
7
+ import { Popover as xe, Tooltip as D, IconButton as R, ListItemIcon as L, ListItemText as j, MenuItem as U, Menu as ge, LinearProgress as ye, useTheme as Te, useMediaQuery as ve } from "@mui/material";
8
8
  import { useDeepCompareEffect as Re } from "ahooks";
9
9
  import { handleCSVDownload as ke } from "./utils.js";
10
10
  import Fe from "./TableSearch.js";
@@ -15,7 +15,7 @@ function Ie() {
15
15
  return ve(s.breakpoints.down("sm"));
16
16
  }
17
17
  function Be({ ...s }) {
18
- const [f, d] = T(null), k = V(null), F = Ie(), N = V(Math.random().toString(32).slice(2)), [O, A] = T(!1), { customPreButtons: b, customButtons: C, loading: u, disabled: g } = Pe(), {
18
+ const [h, d] = T(null), k = V(null), F = Ie(), N = V(Math.random().toString(32).slice(2)), [O, A] = T(!1), { customPreButtons: b, customButtons: C, loading: u, disabled: w } = Pe(), {
19
19
  data: Q = [],
20
20
  options: o,
21
21
  components: p = {},
@@ -31,20 +31,20 @@ function Be({ ...s }) {
31
31
  searchText: Z = null,
32
32
  searchTextUpdate: _,
33
33
  searchClose: ee
34
- } = s, [B, h] = T({}), te = o.customToolbar ? o.customToolbar(s) : "", { search: oe, downloadCsv: ie, print: m, viewColumns: ne, filterTable: le } = o.textLabels.toolbar, re = o.search === !1 || o.search === "false", x = o.print === !1 || o.print === "false", se = p.TableFilter || ue, ae = p.TableViewCol || pe;
34
+ } = s, [B, m] = T({}), te = o.customToolbar ? o.customToolbar(s) : "", { search: oe, downloadCsv: ne, print: f, viewColumns: ie, filterTable: re } = o.textLabels.toolbar, le = o.search === !1 || o.search === "false", x = o.print === !1 || o.print === "false", se = p.TableFilter || ue, ae = p.TableViewCol || pe;
35
35
  Re(() => {
36
- (u || g) && h({});
37
- }, [u, g]);
38
- const q = (e) => /* @__PURE__ */ t(he, { content: () => s.tableRef(), children: /* @__PURE__ */ t(me, { children: e }) }), w = (e) => `toolbar-pop-${N.current}-${e}`, a = [];
36
+ (u || w) && m({});
37
+ }, [u, w]);
38
+ const q = (e) => /* @__PURE__ */ t(me, { content: () => s.tableRef(), children: /* @__PURE__ */ t(fe, { children: e }) }), g = (e) => `toolbar-pop-${N.current}-${e}`, a = [];
39
39
  o.download === !1 || o.download === "false" || a.push({
40
40
  icon: /* @__PURE__ */ t(be, {}),
41
- title: ie,
41
+ title: ne,
42
42
  onClick: () => {
43
43
  ke(s);
44
44
  }
45
45
  }), o.viewColumns === !1 || o.viewColumns === "false" || a.push({
46
46
  icon: /* @__PURE__ */ t(Ce, {}),
47
- title: ne,
47
+ title: ie,
48
48
  // eslint-disable-next-line react/no-unstable-nested-components
49
49
  popRender() {
50
50
  return /* @__PURE__ */ t(
@@ -60,8 +60,8 @@ function Be({ ...s }) {
60
60
  );
61
61
  }
62
62
  }), o.filter === !1 || o.filter === "false" || a.push({
63
- icon: /* @__PURE__ */ t(ge, {}),
64
- title: le,
63
+ icon: /* @__PURE__ */ t(we, {}),
64
+ title: re,
65
65
  // eslint-disable-next-line react/no-unstable-nested-components
66
66
  popRender() {
67
67
  return /* @__PURE__ */ t(
@@ -83,50 +83,50 @@ function Be({ ...s }) {
83
83
  const E = [...b, !x, ...a, ...C].filter((e) => !!e).length > 1 && F, M = [], ce = [...b, ...a, ...C].map((e, c) => {
84
84
  if (v(e))
85
85
  return e;
86
- const n = w(c);
86
+ const i = g(c);
87
87
  if (e.icon) {
88
- const { popRender: l, icon: y } = e;
89
- return l && M.push(
88
+ const { popRender: r, icon: y } = e;
89
+ return r && M.push(
90
90
  /* @__PURE__ */ t(
91
91
  xe,
92
92
  {
93
- open: !!B[n],
94
- anchorEl: () => B[n],
93
+ open: !!B[i],
94
+ anchorEl: () => B[i],
95
95
  onClose: () => {
96
- h({});
96
+ m({});
97
97
  },
98
98
  anchorOrigin: {
99
99
  vertical: "bottom",
100
100
  horizontal: "right"
101
101
  },
102
- children: /* @__PURE__ */ t("div", { children: l() })
102
+ children: /* @__PURE__ */ t("div", { children: r() })
103
103
  },
104
- n
104
+ i
105
105
  )
106
106
  ), /* @__PURE__ */ t(D, { title: e.title, children: /* @__PURE__ */ t(
107
107
  R,
108
108
  {
109
109
  "data-testid": `${e.title}-iconButton`,
110
- id: `btn-${n}`,
110
+ id: `btn-${i}`,
111
111
  "aria-label": e.title,
112
112
  onClick: () => {
113
- e.onClick && e.onClick(), l && h({
114
- [n]: document.getElementById(`btn-${n}`)
113
+ e.onClick && e.onClick(), r && m({
114
+ [i]: document.getElementById(`btn-${i}`)
115
115
  });
116
116
  },
117
117
  children: /* @__PURE__ */ t("div", { className: "custom-toolbar-icon", children: y })
118
118
  }
119
- ) }, n);
119
+ ) }, i);
120
120
  }
121
121
  return e;
122
122
  }), de = [...b, ...a, ...C].map((e, c) => {
123
- const n = w(c);
124
- let l;
123
+ const i = g(c);
124
+ let r;
125
125
  if (v(e))
126
- l = e;
126
+ r = e;
127
127
  else if (e.icon) {
128
128
  const { icon: y } = e;
129
- l = /* @__PURE__ */ r(S, { children: [
129
+ r = /* @__PURE__ */ l(S, { children: [
130
130
  /* @__PURE__ */ t(L, { children: y }),
131
131
  /* @__PURE__ */ t(j, { children: e.title })
132
132
  ] });
@@ -135,17 +135,17 @@ function Be({ ...s }) {
135
135
  U,
136
136
  {
137
137
  onClick: () => {
138
- d(null), e.onClick && e.onClick(), e.popRender && h({
139
- [n]: k.current
138
+ d(null), e.onClick && e.onClick(), e.popRender && m({
139
+ [i]: k.current
140
140
  });
141
141
  },
142
- children: l
142
+ children: r
143
143
  },
144
- n
144
+ i
145
145
  );
146
146
  });
147
- return /* @__PURE__ */ r("div", { children: [
148
- /* @__PURE__ */ r(qe, { children: [
147
+ return /* @__PURE__ */ l("div", { children: [
148
+ /* @__PURE__ */ l(qe, { children: [
149
149
  /* @__PURE__ */ t(
150
150
  "div",
151
151
  {
@@ -153,8 +153,8 @@ function Be({ ...s }) {
153
153
  children: /* @__PURE__ */ t("div", { className: "custom-toobar-title-inner", children: /* @__PURE__ */ t("span", { children: I }) })
154
154
  }
155
155
  ),
156
- /* @__PURE__ */ r("div", { className: `custom-toobar-btns ${u || g ? "toobar-btns-disabled" : ""}`, children: [
157
- !re && /* @__PURE__ */ t(
156
+ /* @__PURE__ */ l("div", { className: `custom-toobar-btns ${u || w ? "toobar-btns-disabled" : ""}`, children: [
157
+ !le && /* @__PURE__ */ t(
158
158
  Fe,
159
159
  {
160
160
  search: oe,
@@ -165,12 +165,12 @@ function Be({ ...s }) {
165
165
  onSearchOpen: A
166
166
  }
167
167
  ),
168
- !E && /* @__PURE__ */ r(S, { children: [
169
- !x && q(({ handlePrint: e }) => /* @__PURE__ */ t("span", { children: /* @__PURE__ */ t(D, { title: m, children: /* @__PURE__ */ t(
168
+ !E && /* @__PURE__ */ l(S, { children: [
169
+ !x && q(({ handlePrint: e }) => /* @__PURE__ */ t("span", { children: /* @__PURE__ */ t(D, { title: f, children: /* @__PURE__ */ t(
170
170
  R,
171
171
  {
172
- "data-testid": `${m}-iconButton`,
173
- "aria-label": m,
172
+ "data-testid": `${f}-iconButton`,
173
+ "aria-label": f,
174
174
  disabled: o.print === "disabled",
175
175
  onClick: e,
176
176
  children: /* @__PURE__ */ t($, {})
@@ -183,20 +183,20 @@ function Be({ ...s }) {
183
183
  {
184
184
  ref: k,
185
185
  "aria-haspopup": "true",
186
- "aria-expanded": f ? "true" : void 0,
186
+ "aria-expanded": h ? "true" : void 0,
187
187
  onClick: (e) => d(e.currentTarget),
188
188
  style: { flexShrink: 0 },
189
- children: /* @__PURE__ */ t(fe, {})
189
+ children: /* @__PURE__ */ t(he, {})
190
190
  }
191
191
  )
192
192
  ] }),
193
193
  te
194
194
  ] }),
195
- /* @__PURE__ */ r(
196
- we,
195
+ /* @__PURE__ */ l(
196
+ ge,
197
197
  {
198
- anchorEl: f,
199
- open: !!f,
198
+ anchorEl: h,
199
+ open: !!h,
200
200
  onClose: () => d(null),
201
201
  slotProps: {
202
202
  list: {
@@ -204,7 +204,7 @@ function Be({ ...s }) {
204
204
  }
205
205
  },
206
206
  children: [
207
- !x && q(({ handlePrint: e }) => /* @__PURE__ */ r(
207
+ !x && q(({ handlePrint: e }) => /* @__PURE__ */ l(
208
208
  U,
209
209
  {
210
210
  onClick: () => {
@@ -212,7 +212,7 @@ function Be({ ...s }) {
212
212
  },
213
213
  children: [
214
214
  /* @__PURE__ */ t(L, { children: /* @__PURE__ */ t($, { fontSize: "small" }) }),
215
- /* @__PURE__ */ t(j, { children: m })
215
+ /* @__PURE__ */ t(j, { children: f })
216
216
  ]
217
217
  }
218
218
  )),
@@ -220,46 +220,39 @@ function Be({ ...s }) {
220
220
  ]
221
221
  }
222
222
  ),
223
- M.map((e, c) => /* @__PURE__ */ t("div", { children: e }, w(c))),
223
+ M.map((e, c) => /* @__PURE__ */ t("div", { children: e }, g(c))),
224
224
  /* @__PURE__ */ t(Ee, { children: u && /* @__PURE__ */ t(ye, { className: "toolbar-progress" }) })
225
225
  ] });
226
226
  }
227
227
  Be.propTypes = {
228
- data: i.array,
229
- options: i.object.isRequired,
230
- components: i.object,
231
- columns: i.array.isRequired,
232
- filterList: i.array,
233
- filterData: i.array,
234
- filterUpdate: i.func.isRequired,
235
- resetFilters: i.func.isRequired,
236
- updateFilterByType: i.func.isRequired,
237
- toggleViewColumn: i.func.isRequired,
238
- updateColumns: i.func.isRequired,
239
- title: i.any,
240
- searchText: i.any,
241
- searchTextUpdate: i.func.isRequired,
242
- searchClose: i.func.isRequired,
243
- tableRef: i.func.isRequired
228
+ data: n.array,
229
+ options: n.object.isRequired,
230
+ components: n.object,
231
+ columns: n.array.isRequired,
232
+ filterList: n.array,
233
+ filterData: n.array,
234
+ filterUpdate: n.func.isRequired,
235
+ resetFilters: n.func.isRequired,
236
+ updateFilterByType: n.func.isRequired,
237
+ toggleViewColumn: n.func.isRequired,
238
+ updateColumns: n.func.isRequired,
239
+ title: n.any,
240
+ searchText: n.any,
241
+ searchTextUpdate: n.func.isRequired,
242
+ searchClose: n.func.isRequired,
243
+ tableRef: n.func.isRequired
244
244
  };
245
245
  const qe = z("div")`
246
246
  display: flex;
247
247
  align-items: center;
248
- height: 56px;
248
+ flex-wrap: wrap;
249
249
  .custom-toobar-title {
250
- position: relative;
251
- flex: 1;
250
+ flex: 1 1 auto;
252
251
  font-size: 18px;
253
252
  font-weight: 800;
254
- height: 56px;
255
253
  transition: all ease 0.3s;
256
254
  &-inner {
257
- line-height: 56px;
258
255
  width: 100%;
259
- height: 56px;
260
- position: absolute;
261
- left: 0;
262
- top: 0;
263
256
  span {
264
257
  display: inline-block;
265
258
  max-width: 100%;
@@ -0,0 +1,42 @@
1
+ import * as t from "react";
2
+ const e = (o) => /* @__PURE__ */ t.createElement("svg", { viewBox: "0 0 902 902", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...o }, /* @__PURE__ */ t.createElement("rect", { width: 902, height: 902, rx: 212, fill: "url(#paint0_linear_3783_1258)", style: {} }), /* @__PURE__ */ t.createElement("rect", { x: 166, y: 247, width: 569, height: 409, rx: 80, stroke: "white", style: {
3
+ stroke: "white",
4
+ strokeOpacity: 1
5
+ }, strokeWidth: 40 }), /* @__PURE__ */ t.createElement("ellipse", { cx: 371, cy: 452, rx: 37, ry: 65, fill: "white", style: {
6
+ fill: "white",
7
+ fillOpacity: 1
8
+ } }), /* @__PURE__ */ t.createElement("ellipse", { cx: 531, cy: 452, rx: 37, ry: 65, fill: "white", style: {
9
+ fill: "white",
10
+ fillOpacity: 1
11
+ } }), /* @__PURE__ */ t.createElement("defs", null, /* @__PURE__ */ t.createElement("linearGradient", { id: "paint0_linear_3783_1258", x1: 84, y1: 78.5, x2: 811.5, y2: 850.5, gradientUnits: "userSpaceOnUse" }, /* @__PURE__ */ t.createElement("stop", { stopColor: "#AAF4EF", style: {
12
+ stopColor: "#AAF4EF",
13
+ stopColor: "color(display-p3 0.6667 0.9569 0.9373)",
14
+ stopOpacity: 1
15
+ } }), /* @__PURE__ */ t.createElement("stop", { offset: 0.180804, stopColor: "#C7F37F", style: {
16
+ stopColor: "#C7F37F",
17
+ stopColor: "color(display-p3 0.7798 0.9512 0.4996)",
18
+ stopOpacity: 1
19
+ } }), /* @__PURE__ */ t.createElement("stop", { offset: 0.361299, stopColor: "#FFD071", style: {
20
+ stopColor: "#FFD071",
21
+ stopColor: "color(display-p3 1.0000 0.8141 0.4422)",
22
+ stopOpacity: 1
23
+ } }), /* @__PURE__ */ t.createElement("stop", { offset: 0.546216, stopColor: "#FF9898", style: {
24
+ stopColor: "#FF9898",
25
+ stopColor: "color(display-p3 1.0000 0.5960 0.5960)",
26
+ stopOpacity: 1
27
+ } }), /* @__PURE__ */ t.createElement("stop", { offset: 0.72214, stopColor: "#FF89E0", style: {
28
+ stopColor: "#FF89E0",
29
+ stopColor: "color(display-p3 1.0000 0.5360 0.8769)",
30
+ stopOpacity: 1
31
+ } }), /* @__PURE__ */ t.createElement("stop", { offset: 0.898804, stopColor: "#B695FE", style: {
32
+ stopColor: "#B695FE",
33
+ stopColor: "color(display-p3 0.7137 0.5843 0.9961)",
34
+ stopOpacity: 1
35
+ } }), /* @__PURE__ */ t.createElement("stop", { offset: 1, stopColor: "#7C8EED", style: {
36
+ stopColor: "#7C8EED",
37
+ stopColor: "color(display-p3 0.4863 0.5569 0.9294)",
38
+ stopOpacity: 1
39
+ } }))));
40
+ export {
41
+ e as default
42
+ };
@@ -1,19 +1,19 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { useRef as T, useState as $, useEffect as S } from "react";
2
+ import { useRef as G, useState as T, useEffect as S } from "react";
3
3
  import { Link as p } from "react-router-dom";
4
- import { useMemoizedFn as A, useCreation as F } from "ahooks";
5
- import { Box as w, useTheme as G } from "@mui/material";
4
+ import { useMemoizedFn as A, useCreation as $ } from "ahooks";
5
+ import { Box as w, useTheme as F } from "@mui/material";
6
6
  import B from "./sub-item-group.js";
7
- import { Item as K } from "./nav-menu.js";
7
+ import { Item as E } from "./nav-menu.js";
8
8
  import { styled as C } from "../Theme/index.js";
9
- import { useNavMenuContext as E } from "./nav-menu-context.js";
9
+ import { useNavMenuContext as K } from "./nav-menu-context.js";
10
10
  import { translate as L } from "../Locale/util.js";
11
11
  import { useLocaleContext as _ } from "../Locale/context.js";
12
12
  import M from "./images/nft-studio.svg.js";
13
13
  import O from "./images/creator-studio.svg.js";
14
14
  import P from "./images/blocklet-launcher.svg.js";
15
- import H from "./images/blocklet-store.svg.js";
16
- import R from "./images/web3-kit.svg.js";
15
+ import R from "./images/blocklet-store.svg.js";
16
+ import H from "./images/web3-kit.svg.js";
17
17
  import z from "./images/blocklet-framework.svg.js";
18
18
  import U from "./images/abt-network.svg.js";
19
19
  import j from "./images/blocklet-server.svg.js";
@@ -23,10 +23,11 @@ import J from "./images/did-wallet.svg.js";
23
23
  import Q from "./images/vc.svg.js";
24
24
  import X from "./images/payment-kit.png";
25
25
  import Y from "./images/aigne.svg.js";
26
+ import Z from "./images/aigne-image-smith.svg.js";
26
27
  import I from "./images/arcsphere.svg.js";
27
- import Z from "./images/aistro.png";
28
- import { getUTMUrl as ee } from "../withTracker/libs/utm.js";
29
- const v = 260, ie = {
28
+ import ee from "./images/aistro.png";
29
+ import { getUTMUrl as ie } from "../withTracker/libs/utm.js";
30
+ const v = 260, te = {
30
31
  en: {
31
32
  groups: {
32
33
  applications: "Applications",
@@ -106,6 +107,9 @@ const v = 260, ie = {
106
107
  aigneWebSmith: {
107
108
  description: "Build and deploy AI-powered web apps"
108
109
  },
110
+ aigneImageSmith: {
111
+ description: "Generate and Refine Images with AI"
112
+ },
109
113
  aigneCLI: {
110
114
  description: "Develop agents from the command line"
111
115
  },
@@ -202,6 +206,9 @@ const v = 260, ie = {
202
206
  aigneWebSmith: {
203
207
  description: "构建并部署 AI 驱动的 Web 应用"
204
208
  },
209
+ aigneImageSmith: {
210
+ description: "使用 AI 生成和优化图像"
211
+ },
205
212
  aigneCLI: {
206
213
  description: "通过命令行开发 Agent"
207
214
  },
@@ -298,6 +305,9 @@ const v = 260, ie = {
298
305
  aigneWebSmith: {
299
306
  description: "構建並部署 AI 驅動的 Web 應用"
300
307
  },
308
+ aigneImageSmith: {
309
+ description: "使用 AI 生成和優化圖像"
310
+ },
301
311
  aigneCLI: {
302
312
  description: "透過命令列開發 Agent"
303
313
  },
@@ -394,6 +404,9 @@ const v = 260, ie = {
394
404
  aigneWebSmith: {
395
405
  description: "AI駆動Webアプリの構築とデプロイ"
396
406
  },
407
+ aigneImageSmith: {
408
+ description: "AIで画像を生成・最適化"
409
+ },
397
410
  aigneCLI: {
398
411
  description: "コマンドラインからエージェントを開発"
399
412
  },
@@ -413,7 +426,7 @@ const v = 260, ie = {
413
426
  }
414
427
  }, oe = C(w)`
415
428
  padding: 8px;
416
- background: ${({ theme: t }) => t.palette.grey[100]};
429
+ background: ${({ theme: o }) => o.palette.grey[100]};
417
430
  border-radius: 8px;
418
431
 
419
432
  &.is-inline {
@@ -432,20 +445,20 @@ const v = 260, ie = {
432
445
  .MuiGrid-container + .MuiGrid-container {
433
446
  margin-top: 0px;
434
447
  }
435
- `, te = C(w, { shouldForwardProp: (t) => t !== "maxContent" })(
436
- ({ theme: t, maxContent: c }) => ({
448
+ `, re = C(w, { shouldForwardProp: (o) => o !== "maxContent" })(
449
+ ({ theme: o, maxContent: c }) => ({
437
450
  display: "grid",
438
- gap: t.spacing(1),
451
+ gap: o.spacing(1),
439
452
  gridTemplateColumns: `repeat(1, ${c}px)`,
440
- [t.breakpoints.up("md")]: {
453
+ [o.breakpoints.up("md")]: {
441
454
  gridTemplateColumns: `repeat(2, ${c}px)`
442
455
  },
443
- [t.breakpoints.up("lg")]: {
456
+ [o.breakpoints.up("lg")]: {
444
457
  gridTemplateColumns: `repeat(3, ${c}px)`
445
458
  }
446
459
  })
447
460
  );
448
- function y({ color: t = "black", backgroundColor: c = "transparent", children: a }) {
461
+ function y({ color: o = "black", backgroundColor: c = "transparent", children: a }) {
449
462
  return /* @__PURE__ */ e(
450
463
  w,
451
464
  {
@@ -454,7 +467,7 @@ function y({ color: t = "black", backgroundColor: c = "transparent", children: a
454
467
  display: "inline-flex",
455
468
  alignItems: "center",
456
469
  justifyContent: "center",
457
- color: t,
470
+ color: o,
458
471
  backgroundColor: c,
459
472
  borderRadius: "4px"
460
473
  },
@@ -462,24 +475,24 @@ function y({ color: t = "black", backgroundColor: c = "transparent", children: a
462
475
  }
463
476
  );
464
477
  }
465
- function h({ color: t = "black", backgroundColor: c = "transparent" }) {
466
- return /* @__PURE__ */ e(y, { color: t, backgroundColor: c, children: /* @__PURE__ */ e(q, { style: { width: "100%" } }) });
478
+ function h({ color: o = "black", backgroundColor: c = "transparent" }) {
479
+ return /* @__PURE__ */ e(y, { color: o, backgroundColor: c, children: /* @__PURE__ */ e(q, { style: { width: "100%" } }) });
467
480
  }
468
- function s({ color: t = "black", backgroundColor: c = "transparent" }) {
469
- return /* @__PURE__ */ e(y, { color: t, backgroundColor: c, children: /* @__PURE__ */ e(Y, { style: { width: "100%", height: "100%" } }) });
481
+ function s({ color: o = "black", backgroundColor: c = "transparent" }) {
482
+ return /* @__PURE__ */ e(y, { color: o, backgroundColor: c, children: /* @__PURE__ */ e(Y, { style: { width: "100%", height: "100%" } }) });
470
483
  }
471
- const W = (t) => {
484
+ const N = (o) => {
472
485
  try {
473
- return new URL(t).origin !== window.location.origin;
486
+ return new URL(o).origin !== window.location.origin;
474
487
  } catch {
475
488
  return !1;
476
489
  }
477
490
  };
478
- function o({ to: t, children: c, className: a = "", ...u }) {
479
- return W(t) ? /* @__PURE__ */ e(p, { to: ee(t, "header"), target: "_blank", rel: "noreferrer noopener", className: a, ...u, children: c }) : /* @__PURE__ */ e(p, { to: t, className: a, ...u, children: c });
491
+ function t({ to: o, children: c, className: a = "", ...m }) {
492
+ return N(o) ? /* @__PURE__ */ e(p, { to: ie(o, "header"), target: "_blank", rel: "noreferrer noopener", className: a, ...m, children: c }) : /* @__PURE__ */ e(p, { to: o, className: a, ...m, children: c });
480
493
  }
481
- function Fe({ className: t = "", type: c, ...a }) {
482
- const { mode: u } = E(), k = G(), { locale: r = "en" } = _() || {}, l = T(null), { palette: f } = k, i = A((n, d = {}) => L(ie, n, r, "en", d)), [N, D] = $(v), m = A(() => {
494
+ function Be({ className: o = "", type: c, ...a }) {
495
+ const { mode: m } = K(), k = F(), { locale: r = "en" } = _() || {}, l = G(null), { palette: f } = k, i = A((n, d = {}) => L(te, n, r, "en", d)), [W, D] = T(v), u = A(() => {
483
496
  if (!l.current) return;
484
497
  const n = l.current.querySelectorAll(".navmenu-item__content");
485
498
  let d = v;
@@ -489,19 +502,19 @@ function Fe({ className: t = "", type: c, ...a }) {
489
502
  }), D(d);
490
503
  });
491
504
  S(() => {
492
- m();
493
- }, [k, r, c, m]), S(() => {
505
+ u();
506
+ }, [k, r, c, u]), S(() => {
494
507
  if (!l.current) return;
495
508
  const n = l.current.querySelector(".navmenu-item__content");
496
509
  if (!n) return;
497
510
  const d = new ResizeObserver(() => {
498
- m();
511
+ u();
499
512
  });
500
513
  return d.observe(n), () => {
501
514
  d.disconnect();
502
515
  };
503
- }, [m]);
504
- const x = F(() => {
516
+ }, [u]);
517
+ const x = $(() => {
505
518
  if (c === "ARCBLOCK")
506
519
  return [
507
520
  {
@@ -509,7 +522,7 @@ function Fe({ className: t = "", type: c, ...a }) {
509
522
  label: i("groups.applications"),
510
523
  children: [
511
524
  {
512
- label: /* @__PURE__ */ e(o, { to: `https://www.nftstudio.rocks/${r}`, children: "NFT Studio" }),
525
+ label: /* @__PURE__ */ e(t, { to: `https://www.nftstudio.rocks/${r}`, children: "NFT Studio" }),
513
526
  description: i("products.nftStudio.description"),
514
527
  icon: /* @__PURE__ */ e(M, {})
515
528
  },
@@ -527,12 +540,12 @@ function Fe({ className: t = "", type: c, ...a }) {
527
540
  icon: /* @__PURE__ */ e(O, {})
528
541
  },
529
542
  {
530
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/", children: "AIGNE" }),
543
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/", children: "AIGNE" }),
531
544
  description: i("products.aigne.description"),
532
545
  icon: /* @__PURE__ */ e(s, { color: f.mode === "dark" ? "white" : "black" })
533
546
  },
534
547
  {
535
- label: /* @__PURE__ */ e(o, { to: `https://www.arcsphere.io/${r}`, children: "ArcSphere" }),
548
+ label: /* @__PURE__ */ e(t, { to: `https://www.arcsphere.io/${r}`, children: "ArcSphere" }),
536
549
  description: i("products.arcsphere.description"),
537
550
  icon: /* @__PURE__ */ e(I, {})
538
551
  }
@@ -543,24 +556,24 @@ function Fe({ className: t = "", type: c, ...a }) {
543
556
  label: i("groups.components"),
544
557
  children: [
545
558
  {
546
- label: /* @__PURE__ */ e(o, { to: `https://launcher.arcblock.io/${r}`, children: "Blocklet Launcher" }),
559
+ label: /* @__PURE__ */ e(t, { to: `https://launcher.arcblock.io/${r}`, children: "Blocklet Launcher" }),
547
560
  description: i("products.blockletLauncher.description"),
548
561
  icon: /* @__PURE__ */ e(P, {})
549
562
  },
550
563
  {
551
- label: /* @__PURE__ */ e(o, { to: `https://www.blocklet.io/${r}/payment-kit`, children: "Payment Kit" }),
564
+ label: /* @__PURE__ */ e(t, { to: `https://www.blocklet.io/${r}/payment-kit`, children: "Payment Kit" }),
552
565
  description: i("products.paymentKit.description"),
553
566
  icon: /* @__PURE__ */ e("img", { src: X, alt: "Payment Kit" })
554
567
  },
555
568
  {
556
- label: /* @__PURE__ */ e(o, { to: `https://store.blocklet.dev/?locale=${r}`, children: "Blocklet Store" }),
569
+ label: /* @__PURE__ */ e(t, { to: `https://store.blocklet.dev/?locale=${r}`, children: "Blocklet Store" }),
557
570
  description: i("products.blockletStore.description"),
558
- icon: /* @__PURE__ */ e(H, {})
571
+ icon: /* @__PURE__ */ e(R, {})
559
572
  },
560
573
  {
561
- label: /* @__PURE__ */ e(o, { to: `https://www.web3kit.rocks/${r}`, children: "Web3 Kit" }),
574
+ label: /* @__PURE__ */ e(t, { to: `https://www.web3kit.rocks/${r}`, children: "Web3 Kit" }),
562
575
  description: i("products.web3Kit.description"),
563
- icon: /* @__PURE__ */ e(R, {})
576
+ icon: /* @__PURE__ */ e(H, {})
564
577
  }
565
578
  ]
566
579
  },
@@ -592,12 +605,12 @@ function Fe({ className: t = "", type: c, ...a }) {
592
605
  icon: /* @__PURE__ */ e(U, {})
593
606
  },
594
607
  {
595
- label: /* @__PURE__ */ e(o, { to: `https://www.blocklet.io/${r}/blocklet-server`, children: "Blocklet Server" }),
608
+ label: /* @__PURE__ */ e(t, { to: `https://www.blocklet.io/${r}/blocklet-server`, children: "Blocklet Server" }),
596
609
  description: i("products.blockletServer.description"),
597
610
  icon: /* @__PURE__ */ e(j, {})
598
611
  },
599
612
  {
600
- label: /* @__PURE__ */ e(o, { to: `https://www.arcblock.io/content/collections/${r}/ocap`, children: "ОСАР" }),
613
+ label: /* @__PURE__ */ e(t, { to: `https://www.arcblock.io/content/collections/${r}/ocap`, children: "ОСАР" }),
601
614
  description: i("products.ocap.description"),
602
615
  icon: /* @__PURE__ */ e(V, {})
603
616
  }
@@ -608,12 +621,12 @@ function Fe({ className: t = "", type: c, ...a }) {
608
621
  label: i("groups.identity"),
609
622
  children: [
610
623
  {
611
- label: /* @__PURE__ */ e(o, { to: `https://www.arcblock.io/content/collections/${r}/did`, children: "DID" }),
624
+ label: /* @__PURE__ */ e(t, { to: `https://www.arcblock.io/content/collections/${r}/did`, children: "DID" }),
612
625
  description: i("products.did.description"),
613
626
  icon: /* @__PURE__ */ e(h, { color: "#5b96f3" })
614
627
  },
615
628
  {
616
- label: /* @__PURE__ */ e(o, { to: `https://www.didwallet.io/${r}`, children: "DID Wallet" }),
629
+ label: /* @__PURE__ */ e(t, { to: `https://www.didwallet.io/${r}`, children: "DID Wallet" }),
617
630
  description: i("products.didWallet.description"),
618
631
  icon: /* @__PURE__ */ e(J, {})
619
632
  },
@@ -623,12 +636,12 @@ function Fe({ className: t = "", type: c, ...a }) {
623
636
  icon: /* @__PURE__ */ e(h, { color: "#678ab0" })
624
637
  },
625
638
  {
626
- label: /* @__PURE__ */ e(o, { to: `https://www.arcblock.io/content/collections/${r}/verifiable-credential`, children: "VC" }),
639
+ label: /* @__PURE__ */ e(t, { to: `https://www.arcblock.io/content/collections/${r}/verifiable-credential`, children: "VC" }),
627
640
  description: i("products.vc.description"),
628
641
  icon: /* @__PURE__ */ e(Q, {})
629
642
  },
630
643
  {
631
- label: /* @__PURE__ */ e(o, { to: `https://www.didconnect.io/${r}`, children: "DID Connect" }),
644
+ label: /* @__PURE__ */ e(t, { to: `https://www.didconnect.io/${r}`, children: "DID Connect" }),
632
645
  description: i("products.didConnect.description"),
633
646
  icon: /* @__PURE__ */ e(h, { color: "#5bbec5" })
634
647
  }
@@ -639,7 +652,7 @@ function Fe({ className: t = "", type: c, ...a }) {
639
652
  const n = {
640
653
  onClick: (d) => {
641
654
  d.preventDefault();
642
- const b = d.currentTarget.href, g = W(b) ? "_blank" : "_self";
655
+ const b = d.currentTarget.href, g = N(b) ? "_blank" : "_self";
643
656
  window.open(b, g);
644
657
  }
645
658
  };
@@ -649,29 +662,34 @@ function Fe({ className: t = "", type: c, ...a }) {
649
662
  label: i("groups.applications"),
650
663
  children: [
651
664
  {
652
- label: /* @__PURE__ */ e(o, { to: `https://www.arcsphere.io/${r}`, children: "ArcSphere" }),
665
+ label: /* @__PURE__ */ e(t, { to: `https://www.arcsphere.io/${r}`, children: "ArcSphere" }),
653
666
  description: i("products.arcsphere.description"),
654
667
  icon: /* @__PURE__ */ e(I, {})
655
668
  },
656
669
  {
657
- label: /* @__PURE__ */ e(o, { to: `https://www.aistro.io/${r}`, children: "Aistro" }),
670
+ label: /* @__PURE__ */ e(t, { to: `https://www.aistro.io/${r}`, children: "Aistro" }),
658
671
  description: i("products.aistro.description"),
659
- icon: /* @__PURE__ */ e("img", { src: Z, alt: "Aistro" })
672
+ icon: /* @__PURE__ */ e("img", { src: ee, alt: "Aistro" })
660
673
  },
661
674
  {
662
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/code-smith", ...n, children: "AIGNE CodeSmith" }),
675
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/code-smith", ...n, children: "AIGNE CodeSmith" }),
663
676
  description: i("products.aigneCodeSmith.description"),
664
677
  icon: /* @__PURE__ */ e(s, { color: "#3E5DF7", backgroundColor: "#e9f0ff" })
665
678
  },
666
679
  {
667
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/doc-smith", ...n, children: "AIGNE DocSmith" }),
680
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/doc-smith", ...n, children: "AIGNE DocSmith" }),
668
681
  description: i("products.aigneDocSmith.description"),
669
682
  icon: /* @__PURE__ */ e(s, { color: "#02A996", backgroundColor: "#e6f7f5" })
670
683
  },
671
684
  {
672
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/web-smith", ...n, children: "AIGNE WebSmith" }),
685
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/web-smith", ...n, children: "AIGNE WebSmith" }),
673
686
  description: i("products.aigneWebSmith.description"),
674
687
  icon: /* @__PURE__ */ e(s, { color: "#7c45eb", backgroundColor: "#f0e9ff" })
688
+ },
689
+ {
690
+ label: /* @__PURE__ */ e(t, { to: "https://imagesmith.aigne.io/", children: "AIGNE ImageSmith" }),
691
+ description: i("products.aigneImageSmith.description"),
692
+ icon: /* @__PURE__ */ e(Z, {})
675
693
  }
676
694
  ]
677
695
  },
@@ -680,22 +698,22 @@ function Fe({ className: t = "", type: c, ...a }) {
680
698
  label: i("groups.frameworkTools"),
681
699
  children: [
682
700
  {
683
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/cli", ...n, children: "AIGNE CLI" }),
701
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/cli", ...n, children: "AIGNE CLI" }),
684
702
  description: i("products.aigneCLI.description"),
685
703
  icon: /* @__PURE__ */ e(s, { color: "#d05d4e", backgroundColor: "#faeaea" })
686
704
  },
687
705
  {
688
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/observability", ...n, children: "AIGNE Observability" }),
706
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/observability", ...n, children: "AIGNE Observability" }),
689
707
  description: i("products.aigneObservability.description"),
690
708
  icon: /* @__PURE__ */ e(s, { color: "#6ba456", backgroundColor: "#edfae8" })
691
709
  },
692
710
  {
693
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/studio", ...n, children: "AIGNE Studio" }),
711
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/studio", ...n, children: "AIGNE Studio" }),
694
712
  description: i("products.aigneStudio.description"),
695
713
  icon: /* @__PURE__ */ e(s, { color: "#676cbf", backgroundColor: "#edeeff" })
696
714
  },
697
715
  {
698
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/framework", ...n, children: "AIGNE Framework" }),
716
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/framework", ...n, children: "AIGNE Framework" }),
699
717
  description: i("products.aigneFramework.description"),
700
718
  icon: /* @__PURE__ */ e(s, { color: "#5086d0", backgroundColor: "#eef4ff" })
701
719
  }
@@ -706,7 +724,7 @@ function Fe({ className: t = "", type: c, ...a }) {
706
724
  label: i("groups.modelsAdapters"),
707
725
  children: [
708
726
  {
709
- label: /* @__PURE__ */ e(o, { to: "https://www.aigne.io/hub", ...n, children: "AIGNE Hub" }),
727
+ label: /* @__PURE__ */ e(t, { to: "https://www.aigne.io/hub", ...n, children: "AIGNE Hub" }),
710
728
  description: i("products.aigneHub.description"),
711
729
  icon: /* @__PURE__ */ e(s, { color: "#e4930b", backgroundColor: "#fbf4d4" })
712
730
  }
@@ -716,8 +734,8 @@ function Fe({ className: t = "", type: c, ...a }) {
716
734
  }
717
735
  return [];
718
736
  }, [i, r, f]);
719
- return /* @__PURE__ */ e(oe, { ref: l, className: `nav-menu-products is-${u} ${t}`, ...a, children: x.map((n) => /* @__PURE__ */ e(B, { label: n.label, children: /* @__PURE__ */ e(te, { maxContent: N, children: n.children.map((d) => /* @__PURE__ */ e(K, { variant: "panel", style: { padding: "8px" }, ...d })) }) }, n.label)) });
737
+ return /* @__PURE__ */ e(oe, { ref: l, className: `nav-menu-products is-${m} ${o}`, ...a, children: x.map((n) => /* @__PURE__ */ e(B, { label: n.label, children: /* @__PURE__ */ e(re, { maxContent: W, children: n.children.map((d) => /* @__PURE__ */ e(E, { variant: "panel", style: { padding: "8px" }, ...d })) }) }, n.label)) });
720
738
  }
721
739
  export {
722
- Fe as default
740
+ Be as default
723
741
  };
@@ -1,4 +1,4 @@
1
- const e = "3.1.49", s = { "@blocklet/js-sdk": "1.16.52" }, n = {
1
+ const e = "3.1.51", s = { "@blocklet/js-sdk": "1.16.52" }, n = {
2
2
  version: e,
3
3
  dependencies: s
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcblock/ux",
3
- "version": "3.1.49",
3
+ "version": "3.1.51",
4
4
  "description": "Common used react components for arcblock products",
5
5
  "keywords": [
6
6
  "react",
@@ -68,16 +68,16 @@
68
68
  "react": "^19.0.0",
69
69
  "react-router-dom": "^6.22.3"
70
70
  },
71
- "gitHead": "4612b57a1452bd4330755b53d093505a6ae7dea5",
71
+ "gitHead": "8367c79c433cf59694b4aa72cbeef3b25185dd66",
72
72
  "dependencies": {
73
- "@arcblock/bridge": "3.1.49",
73
+ "@arcblock/bridge": "3.1.51",
74
74
  "@arcblock/did": "^1.25.6",
75
75
  "@arcblock/did-motif": "^1.1.14",
76
- "@arcblock/icons": "3.1.49",
77
- "@arcblock/nft-display": "3.1.49",
78
- "@arcblock/react-hooks": "3.1.49",
76
+ "@arcblock/icons": "3.1.51",
77
+ "@arcblock/nft-display": "3.1.51",
78
+ "@arcblock/react-hooks": "3.1.51",
79
79
  "@blocklet/js-sdk": "1.16.52",
80
- "@blocklet/theme": "3.1.49",
80
+ "@blocklet/theme": "3.1.51",
81
81
  "@fontsource/roboto": "~5.1.1",
82
82
  "@fontsource/ubuntu-mono": "^5.2.6",
83
83
  "@iconify-icons/logos": "^1.2.36",
@@ -353,21 +353,14 @@ CustomToolbar.propTypes = {
353
353
  const Container = styled('div')`
354
354
  display: flex;
355
355
  align-items: center;
356
- height: 56px;
356
+ flex-wrap: wrap;
357
357
  .custom-toobar-title {
358
- position: relative;
359
- flex: 1;
358
+ flex: 1 1 auto;
360
359
  font-size: 18px;
361
360
  font-weight: 800;
362
- height: 56px;
363
361
  transition: all ease 0.3s;
364
362
  &-inner {
365
- line-height: 56px;
366
363
  width: 100%;
367
- height: 56px;
368
- position: absolute;
369
- left: 0;
370
- top: 0;
371
364
  span {
372
365
  display: inline-block;
373
366
  max-width: 100%;
@@ -0,0 +1,26 @@
1
+ <svg viewBox="0 0 902 902" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="902" height="902" rx="212" fill="url(#paint0_linear_3783_1258)" style=""></rect>
3
+ <rect x="166" y="247" width="569" height="409" rx="80" stroke="white" style="stroke:white;stroke-opacity:1;"
4
+ stroke-width="40"></rect>
5
+ <ellipse cx="371" cy="452" rx="37" ry="65" fill="white" style="fill:white;fill-opacity:1;"></ellipse>
6
+ <ellipse cx="531" cy="452" rx="37" ry="65" fill="white" style="fill:white;fill-opacity:1;"></ellipse>
7
+ <defs>
8
+ <linearGradient id="paint0_linear_3783_1258" x1="84" y1="78.5" x2="811.5" y2="850.5"
9
+ gradientUnits="userSpaceOnUse">
10
+ <stop stop-color="#AAF4EF"
11
+ style="stop-color:#AAF4EF;stop-color:color(display-p3 0.6667 0.9569 0.9373);stop-opacity:1;"></stop>
12
+ <stop offset="0.180804" stop-color="#C7F37F"
13
+ style="stop-color:#C7F37F;stop-color:color(display-p3 0.7798 0.9512 0.4996);stop-opacity:1;"></stop>
14
+ <stop offset="0.361299" stop-color="#FFD071"
15
+ style="stop-color:#FFD071;stop-color:color(display-p3 1.0000 0.8141 0.4422);stop-opacity:1;"></stop>
16
+ <stop offset="0.546216" stop-color="#FF9898"
17
+ style="stop-color:#FF9898;stop-color:color(display-p3 1.0000 0.5960 0.5960);stop-opacity:1;"></stop>
18
+ <stop offset="0.72214" stop-color="#FF89E0"
19
+ style="stop-color:#FF89E0;stop-color:color(display-p3 1.0000 0.5360 0.8769);stop-opacity:1;"></stop>
20
+ <stop offset="0.898804" stop-color="#B695FE"
21
+ style="stop-color:#B695FE;stop-color:color(display-p3 0.7137 0.5843 0.9961);stop-opacity:1;"></stop>
22
+ <stop offset="1" stop-color="#7C8EED"
23
+ style="stop-color:#7C8EED;stop-color:color(display-p3 0.4863 0.5569 0.9294);stop-opacity:1;"></stop>
24
+ </linearGradient>
25
+ </defs>
26
+ </svg>
@@ -24,6 +24,7 @@ import VCSvg from './images/vc.svg?react';
24
24
  import PaymentKitPng from './images/payment-kit.png';
25
25
  // AIGNE Icons
26
26
  import AigneSvg from './images/aigne.svg?react';
27
+ import AigneImageSmithSvg from './images/aigne-image-smith.svg?react';
27
28
  import ArcSphereSvg from './images/arcsphere.svg?react';
28
29
  import AistroPng from './images/aistro.png';
29
30
  import { getUTMUrl } from '../withTracker/libs/utm';
@@ -110,6 +111,9 @@ const translations = {
110
111
  aigneWebSmith: {
111
112
  description: 'Build and deploy AI-powered web apps',
112
113
  },
114
+ aigneImageSmith: {
115
+ description: 'Generate and Refine Images with AI',
116
+ },
113
117
  aigneCLI: {
114
118
  description: 'Develop agents from the command line',
115
119
  },
@@ -206,6 +210,9 @@ const translations = {
206
210
  aigneWebSmith: {
207
211
  description: '构建并部署 AI 驱动的 Web 应用',
208
212
  },
213
+ aigneImageSmith: {
214
+ description: '使用 AI 生成和优化图像',
215
+ },
209
216
  aigneCLI: {
210
217
  description: '通过命令行开发 Agent',
211
218
  },
@@ -302,6 +309,9 @@ const translations = {
302
309
  aigneWebSmith: {
303
310
  description: '構建並部署 AI 驅動的 Web 應用',
304
311
  },
312
+ aigneImageSmith: {
313
+ description: '使用 AI 生成和優化圖像',
314
+ },
305
315
  aigneCLI: {
306
316
  description: '透過命令列開發 Agent',
307
317
  },
@@ -398,6 +408,9 @@ const translations = {
398
408
  aigneWebSmith: {
399
409
  description: 'AI駆動Webアプリの構築とデプロイ',
400
410
  },
411
+ aigneImageSmith: {
412
+ description: 'AIで画像を生成・最適化',
413
+ },
401
414
  aigneCLI: {
402
415
  description: 'コマンドラインからエージェントを開発',
403
416
  },
@@ -788,6 +801,11 @@ export default function Products({ className = '', type, ...rest }: ProductsProp
788
801
  description: t('products.aigneWebSmith.description'),
789
802
  icon: <AigneIcon color="#7c45eb" backgroundColor="#f0e9ff" />,
790
803
  },
804
+ {
805
+ label: <SmartLink to="https://imagesmith.aigne.io/">AIGNE ImageSmith</SmartLink>,
806
+ description: t('products.aigneImageSmith.description'),
807
+ icon: <AigneImageSmithSvg />,
808
+ },
791
809
  ],
792
810
  },
793
811
  {