@blocklet/list 0.16.54 → 0.16.56

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 (2) hide show
  1. package/lib/index.es.js +232 -229
  2. package/package.json +4 -4
package/lib/index.es.js CHANGED
@@ -1,25 +1,25 @@
1
- import { jsx as t, jsxs as h, Fragment as z } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as h, Fragment as F } from "react/jsx-runtime";
2
2
  import { styled as Q, useTheme as we } from "@arcblock/ux/lib/Theme";
3
3
  import et from "@mui/material/styles/createTheme";
4
4
  import tt from "@mui/material/styles/ThemeProvider";
5
- import { pick as rt, omitBy as se, orderBy as ot, isEmpty as nt, merge as it } from "lodash-es";
5
+ import { pick as rt, omitBy as ae, orderBy as ot, isEmpty as nt, merge as it } from "lodash-es";
6
6
  import { ErrorFallback as be } from "@arcblock/ux/lib/ErrorBoundary";
7
7
  import w from "@mui/material/Box";
8
8
  import O from "@mui/material/Stack";
9
- import { createContext as Me, useState as E, useMemo as V, useContext as ze, useCallback as ge, useEffect as G, forwardRef as lt, useRef as re, memo as at } from "react";
9
+ import { createContext as _e, useState as E, useMemo as G, useContext as Me, useCallback as ge, useEffect as q, forwardRef as lt, useRef as te, memo as at } from "react";
10
10
  import { ErrorBoundary as st } from "react-error-boundary";
11
11
  import ct from "@iconify-icons/tabler/compass";
12
- import { Icon as X } from "@iconify/react";
13
- import ke from "@mui/icons-material/Close";
12
+ import { Icon as M } from "@iconify/react";
13
+ import ze from "@mui/icons-material/Close";
14
14
  import v from "@mui/material/Typography";
15
15
  import { createAxios as Fe } from "@blocklet/js-sdk";
16
- import { useRequest as ne, useDebounceFn as De, useInfiniteScroll as dt, useReactive as ut } from "ahooks";
16
+ import { useRequest as oe, useDebounceFn as De, useInfiniteScroll as dt, useReactive as ut } from "ahooks";
17
17
  import "color";
18
- import { parseURL as ht, parseQuery as pt, parseFilename as mt, stringifyParsedURL as ft, withQuery as ve, joinURL as Re } from "ufo";
19
- import Be from "flat";
20
- import ie from "@mui/material/Button";
18
+ import { parseURL as ht, parseQuery as pt, parseFilename as mt, stringifyParsedURL as ft, withQuery as ke, joinURL as Ie } from "ufo";
19
+ import Re from "flat";
20
+ import ne from "@mui/material/Button";
21
21
  import gt from "@mui/material/styles/useTheme";
22
- import U from "@mui/material/useMediaQuery";
22
+ import V from "@mui/material/useMediaQuery";
23
23
  import yt from "@mui/material/Drawer";
24
24
  import Ne from "@mui/material/Checkbox";
25
25
  import We from "@mui/material/FormControlLabel";
@@ -32,7 +32,7 @@ import je from "@mui/material/MenuList";
32
32
  import vt from "@mui/material/Paper";
33
33
  import Ct from "@mui/material/Popper";
34
34
  import St from "@mui/material/SvgIcon";
35
- import le from "@mui/material/CircularProgress";
35
+ import ie from "@mui/material/CircularProgress";
36
36
  import He from "@arcblock/ux/lib/Avatar";
37
37
  import It from "@iconify-icons/tabler/cloud-download";
38
38
  import Rt from "@mui/icons-material/ChevronLeft";
@@ -40,37 +40,39 @@ import Bt from "@mui/icons-material/ChevronRight";
40
40
  import _ from "@mui/material/Skeleton";
41
41
  import Tt from "react-image-gallery";
42
42
  import "react-image-gallery/styles/css/image-gallery.css";
43
- import Te from "@mui/material/Grid";
43
+ import Be from "@mui/material/Grid";
44
44
  import Pt from "react-infinite-scroll-hook";
45
45
  import At from "@iconify-icons/tabler/square";
46
46
  import Et from "@iconify-icons/tabler/square-check-filled";
47
- import Pe from "@mui/material/Chip";
47
+ import Te from "@mui/material/Chip";
48
48
  import { useTheme as Ot } from "@mui/material/styles";
49
- import te from "@mui/icons-material/Search";
50
- import Lt from "@mui/material/Autocomplete";
51
- import _t from "@mui/material/Dialog";
49
+ import se from "@iconify-icons/tabler/search";
50
+ import Lt from "@iconify-icons/tabler/x";
51
+ import _t from "@mui/material/Autocomplete";
52
+ import Mt from "@mui/material/Dialog";
52
53
  import Ue from "@mui/material/OutlinedInput";
53
- import Mt from "@mui/material/TextField";
54
- import { useHotkeys as zt } from "react-hotkeys-hook";
55
- import Ae from "@mui/material/InputAdornment";
56
- import Ft from "@arcblock/ux/lib/Empty";
57
- import Dt from "json-stable-stringify";
58
- import Nt from "@mui/icons-material/Menu";
59
- import { Card as Wt, Box as ce, Skeleton as L } from "@mui/material";
60
- import $t from "@arcblock/ux/lib/Img";
61
- const Ve = Me({
54
+ import zt from "@mui/material/TextField";
55
+ import { useHotkeys as Ft } from "react-hotkeys-hook";
56
+ import Dt from "@mui/icons-material/Search";
57
+ import Pe from "@mui/material/InputAdornment";
58
+ import Nt from "@arcblock/ux/lib/Empty";
59
+ import Wt from "json-stable-stringify";
60
+ import $t from "@mui/icons-material/Menu";
61
+ import { Card as jt, Box as ce, Skeleton as L } from "@mui/material";
62
+ import Ht from "@arcblock/ux/lib/Img";
63
+ const Ve = _e({
62
64
  open: !1,
63
65
  toggleOpen: (e) => {
64
66
  }
65
67
  });
66
- function jt({ children: e }) {
68
+ function Ut({ children: e }) {
67
69
  const [r, o] = E(!1), n = (a) => {
68
70
  o(a ?? !a);
69
- }, l = V(() => ({ open: r, toggleOpen: n }), [r]);
71
+ }, l = G(() => ({ open: r, toggleOpen: n }), [r]);
70
72
  return /* @__PURE__ */ t(Ve.Provider, { value: l, children: e });
71
73
  }
72
- function Ce() {
73
- return ze(Ve);
74
+ function ve() {
75
+ return Me(Ve);
74
76
  }
75
77
  const P = {
76
78
  nameAsc: "title",
@@ -86,14 +88,14 @@ const P = {
86
88
  explorePath: "/api/blocklets/explore",
87
89
  exploreDidsPath: "/api/blocklets/dids",
88
90
  cacheSize: 100
89
- }, Ht = (e) => ne(
91
+ }, Vt = (e) => oe(
90
92
  async () => {
91
93
  const { data: r } = await e.get(P.categoriesPath);
92
94
  return Array.isArray(r) ? r : [];
93
95
  },
94
96
  { manual: !0 }
95
97
  );
96
- function Ut(e, r) {
98
+ function Gt(e, r) {
97
99
  const o = e.menu ? {
98
100
  sortBy: "popularity",
99
101
  sortDirection: "desc",
@@ -115,13 +117,13 @@ function Ut(e, r) {
115
117
  !o.category && !a && (o.category = "All");
116
118
  const s = (i) => {
117
119
  const m = { ...o, ...i };
118
- n(se(m, (d) => d === "" || d === void 0));
120
+ n(ae(m, (d) => d === "" || d === void 0));
119
121
  };
120
122
  return {
121
123
  filters: e,
122
124
  cleanFilter: (i) => {
123
- const m = i ? se(o, (d, f) => i.includes(f)) : {};
124
- n(se(m, (d) => d === "" || d === void 0));
125
+ const m = i ? ae(o, (d, f) => i.includes(f)) : {};
126
+ n(ae(m, (d) => d === "" || d === void 0));
125
127
  },
126
128
  handleActiveMenu: (i) => {
127
129
  i !== e.menu && n({ menu: i });
@@ -152,7 +154,7 @@ function Ut(e, r) {
152
154
  }
153
155
  };
154
156
  }
155
- const Vt = (e, r, o) => e && r || !o, Ge = (e) => [
157
+ const qt = (e, r, o) => e && r || !o, Ge = (e) => [
156
158
  {
157
159
  name: e("sort.popularity"),
158
160
  value: "popularity"
@@ -173,21 +175,21 @@ const Vt = (e, r, o) => e && r || !o, Ge = (e) => [
173
175
  if (l.imageFilter)
174
176
  return e;
175
177
  const s = o || ((f = window.blocklet) == null ? void 0 : f.version), { w: i, h: m } = typeof r == "object" ? { w: r.w, h: r.h } : { w: r, h: r };
176
- return ve(e, {
178
+ return ke(e, {
177
179
  ...i || m ? { imageFilter: "resize", w: i, h: m } : {},
178
180
  v: s
179
181
  });
180
- }, Gt = (e) => [
182
+ }, Kt = (e) => [
181
183
  { name: e("blocklet.free"), value: "free" },
182
184
  { name: e("blocklet.payment"), value: "payment" }
183
- ], qt = (e = [], r = "en") => e.map((o) => ({ name: o.locales[r] || o.locales.en, value: o._id })), Kt = (e) => {
185
+ ], Xt = (e = [], r = "en") => e.map((o) => ({ name: o.locales[r] || o.locales.en, value: o._id })), Qt = (e) => {
184
186
  var r, o;
185
187
  return Array.isArray(e) ? e.map((n) => n.message).join(`
186
188
  `) : (o = (r = e.response) == null ? void 0 : r.data) != null && o.error ? e.response.data.error.message || e.response.data.error : e.message || e;
187
- }, Xt = (e, r) => (
189
+ }, Yt = (e, r) => (
188
190
  // eslint-disable-next-line no-prototype-builtins
189
191
  e == null ? void 0 : e.replace(/{(\w*)}/g, (o, n) => r.hasOwnProperty(n) ? r[n] : "")
190
- ), Qt = () => window.innerWidth <= 600, Yt = {
192
+ ), Zt = () => window.innerWidth <= 600, Jt = {
191
193
  common: {
192
194
  title: "Blocklet Store",
193
195
  searchStore: "Search Blocklet",
@@ -239,7 +241,7 @@ const Vt = (e, r, o) => e && r || !o, Ge = (e) => [
239
241
  autocomplete: {
240
242
  expandResult: 'View all search results for "{name}"'
241
243
  }
242
- }, Zt = {
244
+ }, er = {
243
245
  common: {
244
246
  title: "Blocklet 商店",
245
247
  searchStore: "搜索 Blocklet",
@@ -292,14 +294,14 @@ const Vt = (e, r, o) => e && r || !o, Ge = (e) => [
292
294
  expandResult: "查看 “{name}” 的所有搜索结果"
293
295
  }
294
296
  }, de = {
295
- en: Be(Yt),
296
- zh: Be(Zt)
297
+ en: Re(Jt),
298
+ zh: Re(er)
297
299
  }, Ke = (e, r) => {
298
300
  const o = {};
299
301
  return e && (o["x-blocklet-server-version"] = e), r && (o["x-blocklet-store-version"] = r), o;
300
- }, Jt = (e) => (r, o) => {
302
+ }, tr = (e) => (r, o) => {
301
303
  const n = de[e] ? de[e][r] : de.en[r];
302
- return Xt(n, o) || r;
304
+ return Yt(n, o) || r;
303
305
  }, Xe = {
304
306
  errors: {
305
307
  fetchCategoriesError: null
@@ -355,8 +357,8 @@ const Vt = (e, r, o) => e && r || !o, Ge = (e) => [
355
357
  handlePage: () => {
356
358
  }
357
359
  }
358
- }, Qe = Me(Xe), { Provider: er, Consumer: Lo } = Qe;
359
- function tr(e) {
360
+ }, Qe = _e(Xe), { Provider: rr, Consumer: Fo } = Qe;
361
+ function or(e) {
360
362
  const {
361
363
  locale: r = "zh",
362
364
  filters: o = {},
@@ -380,18 +382,18 @@ function tr(e) {
380
382
  endpoint: C,
381
383
  blockletRender: b,
382
384
  compact: k = !1
383
- } = e, A = Ke(n, R), F = V(() => Fe({ baseURL: C, headers: A }), [C]), $ = Ut(o, { onFilterChange: l, emptyCategory: !i.showExplore, onSearchSelect: p }), [D, q] = E(""), {
384
- data: j = [],
385
- error: ae,
385
+ } = e, A = Ke(n, R), D = G(() => Fe({ baseURL: C, headers: A }), [C]), j = Gt(o, { onFilterChange: l, emptyCategory: !i.showExplore, onSearchSelect: p }), [N, K] = E(""), {
386
+ data: H = [],
387
+ error: le,
386
388
  loading: Y,
387
389
  run: Z
388
- } = Ht(F), H = V(() => {
389
- const T = ot(j, [(W) => W.name], ["asc"]), M = T.findIndex((W) => W.name === "All" || W.locales.en === "All");
390
- return M > -1 ? [{ ...T[M], _id: "All" }, ...T.slice(0, M), ...T.slice(M + 1)] : T;
391
- }, [j]), K = ge(Jt(r), [r]), c = V(() => qt(H, r), [H, r]), S = Gt(K), N = {
392
- search: $,
390
+ } = Vt(D), U = G(() => {
391
+ const T = ot(H, [($) => $.name], ["asc"]), z = T.findIndex(($) => $.name === "All" || $.locales.en === "All");
392
+ return z > -1 ? [{ ...T[z], _id: "All" }, ...T.slice(0, z), ...T.slice(z + 1)] : T;
393
+ }, [H]), X = ge(tr(r), [r]), c = G(() => Xt(U, r), [U, r]), S = Kt(X), W = {
394
+ search: j,
393
395
  compact: k,
394
- errors: { fetchCategoriesError: ae },
396
+ errors: { fetchCategoriesError: le },
395
397
  loadings: {
396
398
  fetchCategoriesLoading: Y
397
399
  },
@@ -406,16 +408,16 @@ function tr(e) {
406
408
  },
407
409
  minItemWidth: a,
408
410
  wrapChildren: m,
409
- t: K,
411
+ t: X,
410
412
  storeVersion: R,
411
413
  serverVersion: n,
412
- selectedCategory: $.filters.category || (i.showExplore ? "" : "All"),
413
- categoryList: H,
414
+ selectedCategory: j.filters.category || (i.showExplore ? "" : "All"),
415
+ categoryList: U,
414
416
  blockletRender: b,
415
417
  locale: r,
416
418
  categoryOptions: c,
417
419
  priceOptions: S,
418
- storeApi: F,
420
+ storeApi: D,
419
421
  baseSearch: f,
420
422
  showResourcesSwitch: g,
421
423
  showCategory: x,
@@ -423,20 +425,20 @@ function tr(e) {
423
425
  onFilterChange: l,
424
426
  getCategoryLocale: (T) => {
425
427
  if (!T) return null;
426
- const M = j.find((W) => W._id === T || W.locales.en === "All");
427
- return M ? M.locales[r] || M.locales.en : null;
428
+ const z = H.find(($) => $._id === T || $.locales.en === "All");
429
+ return z ? z.locales[r] || z.locales.en : null;
428
430
  },
429
431
  get developerName() {
430
- return D;
432
+ return N;
431
433
  },
432
- updateDeveloperName: q
434
+ updateDeveloperName: K
433
435
  };
434
- return G(() => {
436
+ return q(() => {
435
437
  setTimeout(Z, u || 0);
436
- }, [C, Z, u]), /* @__PURE__ */ t(er, { value: N, children: y });
438
+ }, [C, Z, u]), /* @__PURE__ */ t(rr, { value: W, children: y });
437
439
  }
438
440
  function B() {
439
- const e = ze(Qe);
441
+ const e = Me(Qe);
440
442
  return e || Xe;
441
443
  }
442
444
  function Ye({
@@ -446,7 +448,7 @@ function Ye({
446
448
  ...n
447
449
  }) {
448
450
  return /* @__PURE__ */ t(
449
- ie,
451
+ ne,
450
452
  {
451
453
  ...n,
452
454
  onClick: r,
@@ -472,7 +474,7 @@ function Ye({
472
474
  function J(e, r) {
473
475
  return e === void 0 ? r : e;
474
476
  }
475
- function Se({
477
+ function Ce({
476
478
  xs: e,
477
479
  sm: r,
478
480
  md: o,
@@ -480,37 +482,37 @@ function Se({
480
482
  xl: l,
481
483
  exact: a
482
484
  }) {
483
- const s = gt(), i = U(s.breakpoints.down("sm")), m = U(s.breakpoints.between("sm", "md")), d = U(s.breakpoints.between("md", "lg")), f = U(s.breakpoints.between("lg", "xl"));
485
+ const s = gt(), i = V(s.breakpoints.down("sm")), m = V(s.breakpoints.between("sm", "md")), d = V(s.breakpoints.between("md", "lg")), f = V(s.breakpoints.between("lg", "xl"));
484
486
  if (a)
485
487
  return i ? e || null : m ? r || null : d ? o || null : f ? n || null : l || null;
486
488
  let u = e;
487
489
  return i || (u = J(r, u), m) || (u = J(o, u), d) || (u = J(n, u), f) ? u : J(l, u);
488
490
  }
489
- function rr({ children: e }) {
490
- const { open: r, toggleOpen: o } = Ce();
491
+ function nr({ children: e }) {
492
+ const { open: r, toggleOpen: o } = ve();
491
493
  return /* @__PURE__ */ t(
492
- Se,
494
+ Ce,
493
495
  {
494
496
  xs: /* @__PURE__ */ t(yt, { open: r, onClose: () => o(!1), children: e }),
495
497
  md: /* @__PURE__ */ t(w, { children: e })
496
498
  }
497
499
  );
498
500
  }
499
- const or = lt(({ loading: e, disabled: r, ...o }, n) => /* @__PURE__ */ t(
500
- ie,
501
+ const ir = lt(({ loading: e, disabled: r, ...o }, n) => /* @__PURE__ */ t(
502
+ ne,
501
503
  {
502
504
  ref: n,
503
505
  disableElevation: !0,
504
506
  disabled: r || e,
505
507
  ...o,
506
508
  sx: [{ borderRadius: "4px" }, ...Array.isArray(o.sx) ? o.sx : [o.sx]],
507
- startIcon: e && /* @__PURE__ */ t(le, { size: "1em" })
509
+ startIcon: e && /* @__PURE__ */ t(ie, { size: "1em" })
508
510
  }
509
511
  ));
510
512
  function ye({ value: e, options: r, onChange: o, placeholder: n, ...l }) {
511
513
  var R;
512
- const a = re(null), s = we(), [i, m] = E(!1), [d, f] = E(e !== null ? e : ""), u = U(s.breakpoints.down("sm"));
513
- G(() => {
514
+ const a = te(null), s = we(), [i, m] = E(!1), [d, f] = E(e !== null ? e : ""), u = V(s.breakpoints.down("sm"));
515
+ q(() => {
514
516
  f(e !== null ? e : "");
515
517
  }, [e]);
516
518
  const g = ge(() => {
@@ -524,9 +526,9 @@ function ye({ value: e, options: r, onChange: o, placeholder: n, ...l }) {
524
526
  function y(p) {
525
527
  return p === d;
526
528
  }
527
- return /* @__PURE__ */ h(z, { children: [
529
+ return /* @__PURE__ */ h(F, { children: [
528
530
  /* @__PURE__ */ h(
529
- nr,
531
+ lr,
530
532
  {
531
533
  ref: a,
532
534
  onClick: x,
@@ -546,7 +548,7 @@ function ye({ value: e, options: r, onChange: o, placeholder: n, ...l }) {
546
548
  {
547
549
  ...p,
548
550
  style: { transformOrigin: C === "bottom" ? "center top" : "center bottom" },
549
- children: /* @__PURE__ */ t(vt, { children: /* @__PURE__ */ t(bt, { onClickAway: g, children: /* @__PURE__ */ t(ir, { autoFocusItem: i, onMouseEnter: x, onMouseLeave: g, children: r.map((b) => /* @__PURE__ */ h($e, { onClick: () => I(b), sx: { fontSize: 14 }, children: [
551
+ children: /* @__PURE__ */ t(vt, { children: /* @__PURE__ */ t(bt, { onClickAway: g, children: /* @__PURE__ */ t(ar, { autoFocusItem: i, onMouseEnter: x, onMouseLeave: g, children: r.map((b) => /* @__PURE__ */ h($e, { onClick: () => I(b), sx: { fontSize: 14 }, children: [
550
552
  /* @__PURE__ */ t(
551
553
  xt,
552
554
  {
@@ -559,7 +561,7 @@ function ye({ value: e, options: r, onChange: o, placeholder: n, ...l }) {
559
561
  ) })
560
562
  ] });
561
563
  }
562
- const nr = Q(or)`
564
+ const lr = Q(ir)`
563
565
  border: 1px solid ${(e) => e.theme.palette.divider};
564
566
  padding: 6px 8px 6px 12px;
565
567
  font-weight: ${(e) => e.theme.typography.fontWeightRegular};
@@ -587,7 +589,7 @@ const nr = Q(or)`
587
589
  margin-right: 3px;
588
590
  }
589
591
  }
590
- `, ir = Q(je)`
592
+ `, ar = Q(je)`
591
593
  .my-select__option__icon {
592
594
  color: transparent;
593
595
  font-size: 14px;
@@ -643,15 +645,15 @@ function Ze() {
643
645
  }
644
646
  );
645
647
  }
646
- function lr({ menus: e }) {
647
- const { selectedCategory: r, search: o, t: n, categoryOptions: l, loadings: a, layout: s, baseSearch: i, compact: m } = B(), { filters: d, handleActiveMenu: f, handleCategory: u, cleanFilter: g } = o, { toggleOpen: x } = Ce();
648
- G(() => {
648
+ function sr({ menus: e }) {
649
+ const { selectedCategory: r, search: o, t: n, categoryOptions: l, loadings: a, layout: s, baseSearch: i, compact: m } = B(), { filters: d, handleActiveMenu: f, handleCategory: u, cleanFilter: g } = o, { toggleOpen: x } = ve();
650
+ q(() => {
649
651
  x(!1);
650
652
  }, [Object.values(d).join("")]);
651
- const I = Vt(i, s.showSearch, d.keyword);
652
- return s.showCategory && !m ? /* @__PURE__ */ h(rr, { children: [
653
+ const I = qt(i, s.showSearch, d.keyword);
654
+ return s.showCategory && !m ? /* @__PURE__ */ h(nr, { children: [
653
655
  /* @__PURE__ */ t(
654
- Se,
656
+ Ce,
655
657
  {
656
658
  xs: /* @__PURE__ */ h(
657
659
  O,
@@ -665,7 +667,7 @@ function lr({ menus: e }) {
665
667
  borderBottom: 1,
666
668
  borderColor: "divider",
667
669
  children: [
668
- /* @__PURE__ */ t(Ye, { onClick: () => x(!1), children: /* @__PURE__ */ t(ke, {}) }),
670
+ /* @__PURE__ */ t(Ye, { onClick: () => x(!1), children: /* @__PURE__ */ t(ze, {}) }),
669
671
  /* @__PURE__ */ t(v, { flex: 1, variant: "body1", fontWeight: "fontWeightMedium", children: n("common.category") })
670
672
  ]
671
673
  }
@@ -681,10 +683,10 @@ function lr({ menus: e }) {
681
683
  boxSizing: "content-box",
682
684
  p: { xs: 2, md: 0 },
683
685
  pr: { md: 6 },
684
- children: I ? /* @__PURE__ */ h(z, { children: [
686
+ children: I ? /* @__PURE__ */ h(F, { children: [
685
687
  s.showExplore && /* @__PURE__ */ h(w, { mb: 3, pb: 3, borderBottom: 1, borderColor: "divider", children: [
686
688
  /* @__PURE__ */ h(w, { display: "flex", alignItems: "center", gap: 1, children: [
687
- /* @__PURE__ */ t(X, { icon: ct, width: 20, height: 20 }),
689
+ /* @__PURE__ */ t(M, { icon: ct, width: 20, height: 20 }),
688
690
  /* @__PURE__ */ t(
689
691
  v,
690
692
  {
@@ -700,7 +702,7 @@ function lr({ menus: e }) {
700
702
  )
701
703
  ] }),
702
704
  e == null ? void 0 : e.map((y) => /* @__PURE__ */ h(w, { display: "flex", alignItems: "center", mt: 2, gap: 1, children: [
703
- typeof y.icon == "string" ? /* @__PURE__ */ t(X, { icon: y.icon, width: 20, height: 20 }) : y.icon,
705
+ typeof y.icon == "string" ? /* @__PURE__ */ t(M, { icon: y.icon, width: 20, height: 20 }) : y.icon,
704
706
  /* @__PURE__ */ t(
705
707
  v,
706
708
  {
@@ -738,8 +740,8 @@ function lr({ menus: e }) {
738
740
  )
739
741
  ] }) : null;
740
742
  }
741
- function Ie() {
742
- const { endpoint: e, serverVersion: r, storeVersion: o } = B(), n = Ke(r, o), l = V(() => Fe({
743
+ function Se() {
744
+ const { endpoint: e, serverVersion: r, storeVersion: o } = B(), n = Ke(r, o), l = G(() => Fe({
743
745
  baseURL: e,
744
746
  headers: n
745
747
  }), [e]);
@@ -755,9 +757,9 @@ function Ie() {
755
757
  };
756
758
  }
757
759
  const Je = at(function(r) {
758
- return /* @__PURE__ */ t(w, { height: 60, display: "flex", alignItems: "center", justifyContent: "center", ...r, children: /* @__PURE__ */ t(le, {}) });
760
+ return /* @__PURE__ */ t(w, { height: 60, display: "flex", alignItems: "center", justifyContent: "center", ...r, children: /* @__PURE__ */ t(ie, {}) });
759
761
  });
760
- function Ee({
762
+ function Ae({
761
763
  icon: e,
762
764
  children: r,
763
765
  maxWidth: o = 100,
@@ -777,16 +779,16 @@ function Ee({
777
779
  )
778
780
  ] });
779
781
  }
780
- const ar = 16 / 9, ue = 292, xe = 189, oe = 336;
781
- function sr() {
782
+ const cr = 16 / 9, ue = 292, xe = 189, re = 336;
783
+ function dr() {
782
784
  var y, R;
783
- const { t: e, search: r } = B(), { get: o } = Ie(), n = we(), l = U(n.breakpoints.down("md")), a = ((R = (y = window.blocklet) == null ? void 0 : y.preferences) == null ? void 0 : R.homeBanner) || [], {
785
+ const { t: e, search: r } = B(), { get: o } = Se(), n = we(), l = V(n.breakpoints.down("md")), a = ((R = (y = window.blocklet) == null ? void 0 : y.preferences) == null ? void 0 : R.homeBanner) || [], {
784
786
  data: s = [],
785
787
  error: i,
786
788
  loading: m
787
- } = ne(async () => {
789
+ } = oe(async () => {
788
790
  const p = await o(
789
- ve(P.blockletsPath, { didList: a.map((C) => C.did).join(",") })
791
+ ke(P.blockletsPath, { didList: a.map((C) => C.did).join(",") })
790
792
  );
791
793
  return p != null && p.dataList ? a.map((C) => p.dataList.find((b) => b.did === C.did)) : [];
792
794
  });
@@ -799,7 +801,7 @@ function sr() {
799
801
  cursor: "pointer",
800
802
  color: "text.hint"
801
803
  };
802
- return !i && a.length > 0 ? /* @__PURE__ */ h(z, { children: [
804
+ return !i && a.length > 0 ? /* @__PURE__ */ h(F, { children: [
803
805
  /* @__PURE__ */ t(v, { component: "h2", variant: "h2", mt: { xs: 2, md: 0 }, mb: 3, children: e("explore.title") }),
804
806
  /* @__PURE__ */ t(
805
807
  w,
@@ -812,7 +814,7 @@ function sr() {
812
814
  borderRadius: 3,
813
815
  overflow: "hidden",
814
816
  children: m ? /* @__PURE__ */ h(w, { p: 5, display: { md: "flex" }, gap: 5, alignItems: "center", justifyContent: "center", children: [
815
- /* @__PURE__ */ t(_, { variant: "rounded", height: xe, width: oe }),
817
+ /* @__PURE__ */ t(_, { variant: "rounded", height: xe, width: re }),
816
818
  /* @__PURE__ */ h(w, { flex: 1, height: "100%", children: [
817
819
  /* @__PURE__ */ t(_, { variant: "text", height: 50, width: 100 }),
818
820
  /* @__PURE__ */ t(_, { variant: "text", height: 40, width: "100%" }),
@@ -840,8 +842,8 @@ function sr() {
840
842
  items: a.map((p, C) => ({
841
843
  original: p.did,
842
844
  renderItem: () => {
843
- var F;
844
- const b = s[C] || {}, k = p.cover || dr(p.did, (F = b.screenshots) == null ? void 0 : F[0]), A = qe(k, n.breakpoints.values.md * 2);
845
+ var D;
846
+ const b = s[C] || {}, k = p.cover || hr(p.did, (D = b.screenshots) == null ? void 0 : D[0]), A = qe(k, n.breakpoints.values.md * 2);
845
847
  return /* @__PURE__ */ h(
846
848
  O,
847
849
  {
@@ -890,7 +892,7 @@ function sr() {
890
892
  )
891
893
  ] }) : null;
892
894
  function f(p) {
893
- return /* @__PURE__ */ t(w, { borderRadius: 2, overflow: "hidden", position: "relative", width: { xs: "100%", md: oe }, children: /* @__PURE__ */ t(ur, { url: p }) });
895
+ return /* @__PURE__ */ t(w, { borderRadius: 2, overflow: "hidden", position: "relative", width: { xs: "100%", md: re }, children: /* @__PURE__ */ t(pr, { url: p }) });
894
896
  }
895
897
  function u(p) {
896
898
  return /* @__PURE__ */ t(v, { variant: "h2", width: "100%", children: p });
@@ -922,13 +924,13 @@ function sr() {
922
924
  function x(p, C = 0) {
923
925
  const { did: b, owner: k, stats: A } = p;
924
926
  return /* @__PURE__ */ h(w, { display: "flex", alignItems: "center", gap: 2, color: "text.secondary", children: [
925
- /* @__PURE__ */ t(Ee, { icon: /* @__PURE__ */ t(He, { src: k.avatar, did: b, size: 20, variant: "circle" }), children: k.fullName }),
926
- /* @__PURE__ */ t(Ee, { icon: /* @__PURE__ */ t(X, { icon: It }), title: `${A.downloads + C}`, children: cr(A.downloads + C) })
927
+ /* @__PURE__ */ t(Ae, { icon: /* @__PURE__ */ t(He, { src: k.avatar, did: b, size: 20, variant: "circle" }), children: k.fullName }),
928
+ /* @__PURE__ */ t(Ae, { icon: /* @__PURE__ */ t(M, { icon: It }), title: `${A.downloads + C}`, children: ur(A.downloads + C) })
927
929
  ] });
928
930
  }
929
931
  function I(p) {
930
932
  return /* @__PURE__ */ t(
931
- ie,
933
+ ne,
932
934
  {
933
935
  variant: "outlined",
934
936
  size: "small",
@@ -945,16 +947,16 @@ function sr() {
945
947
  );
946
948
  }
947
949
  }
948
- const cr = (e) => Number.isNaN(e) ? 0 : e < 1e3 ? e : e < 1e6 ? `${(e / 1e3).toFixed(1)}k` : e < 1e9 ? `${(e / 1e6).toFixed(1)}m` : `${(e / 1e9).toFixed(1)}b`, dr = (e, r) => e && r ? `/assets/${e}/screenshots/${r}` : "";
949
- function ur({ url: e }) {
950
+ const ur = (e) => Number.isNaN(e) ? 0 : e < 1e3 ? e : e < 1e6 ? `${(e / 1e3).toFixed(1)}k` : e < 1e9 ? `${(e / 1e6).toFixed(1)}m` : `${(e / 1e9).toFixed(1)}b`, hr = (e, r) => e && r ? `/assets/${e}/screenshots/${r}` : "";
951
+ function pr({ url: e }) {
950
952
  const [r, o] = E(!0);
951
- return /* @__PURE__ */ h(z, { children: [
953
+ return /* @__PURE__ */ h(F, { children: [
952
954
  r && /* @__PURE__ */ t(
953
955
  _,
954
956
  {
955
957
  variant: "rectangular",
956
958
  sx: {
957
- width: { xs: "100%", md: oe },
959
+ width: { xs: "100%", md: re },
958
960
  height: { xs: "auto", md: xe }
959
961
  }
960
962
  }
@@ -966,46 +968,46 @@ function ur({ url: e }) {
966
968
  component: "img",
967
969
  src: e,
968
970
  alt: "",
969
- width: { xs: "100%", md: oe },
971
+ width: { xs: "100%", md: re },
970
972
  height: { xs: "auto", md: xe },
971
973
  borderRadius: 2,
972
974
  border: 1,
973
975
  borderColor: "divider",
974
- sx: { objectFit: "container", cursor: "pointer", aspectRatio: ar },
976
+ sx: { objectFit: "container", cursor: "pointer", aspectRatio: cr },
975
977
  onLoad: () => o(!1),
976
978
  onError: () => o(!1)
977
979
  }
978
980
  )
979
981
  ] });
980
982
  }
981
- function hr({ title: e, blocklets: r }) {
983
+ function mr({ title: e, blocklets: r }) {
982
984
  const { blockletRender: o, serverVersion: n } = B();
983
985
  return /* @__PURE__ */ h(w, { mt: 3, children: [
984
986
  /* @__PURE__ */ t(v, { component: "h3", variant: "h3", sx: { mb: 2 }, children: e }),
985
- /* @__PURE__ */ t(Te, { container: !0, spacing: 2, boxSizing: "border-box", maxWidth: "calc(100vw - 16px)", children: r.map((l) => /* @__PURE__ */ t(Te, { item: !0, xs: 12, md: 6, p: "2px", "data-blocklet-did": l.did, children: /* @__PURE__ */ t(w, { padding: "1px", children: o({ blocklet: l, blocklets: r, serverVersion: n }) }) }, l.did)) })
987
+ /* @__PURE__ */ t(Be, { container: !0, spacing: 2, boxSizing: "border-box", maxWidth: "calc(100vw - 16px)", children: r.map((l) => /* @__PURE__ */ t(Be, { item: !0, xs: 12, md: 6, p: "2px", "data-blocklet-did": l.did, children: /* @__PURE__ */ t(w, { padding: "1px", children: o({ blocklet: l, blocklets: r, serverVersion: n }) }) }, l.did)) })
986
988
  ] });
987
989
  }
988
- function pr() {
989
- const { get: e } = Ie(), { t: r } = B(), {
990
+ function fr() {
991
+ const { get: e } = Se(), { t: r } = B(), {
990
992
  data: o = [],
991
993
  error: n,
992
994
  loading: l
993
- } = ne(async () => {
995
+ } = oe(async () => {
994
996
  const a = await e(P.explorePath);
995
997
  return Array.isArray(a) ? a : [];
996
998
  });
997
- return n ? /* @__PURE__ */ t(be, { error: new Error(`Failed to fetch blocklets from ${P.explorePath}`) }) : l ? /* @__PURE__ */ t(Je, { mt: 15 }) : /* @__PURE__ */ h(z, { children: [
998
- /* @__PURE__ */ t(sr, {}),
999
+ return n ? /* @__PURE__ */ t(be, { error: new Error(`Failed to fetch blocklets from ${P.explorePath}`) }) : l ? /* @__PURE__ */ t(Je, { mt: 15 }) : /* @__PURE__ */ h(F, { children: [
1000
+ /* @__PURE__ */ t(dr, {}),
999
1001
  o.map(
1000
1002
  (a) => {
1001
1003
  var s;
1002
- return ((s = a.blocklets) == null ? void 0 : s.length) > 0 ? /* @__PURE__ */ t(hr, { title: r(`explore.${a.type}`), blocklets: a.blocklets }, a.type) : null;
1004
+ return ((s = a.blocklets) == null ? void 0 : s.length) > 0 ? /* @__PURE__ */ t(mr, { title: r(`explore.${a.type}`), blocklets: a.blocklets }, a.type) : null;
1003
1005
  }
1004
1006
  )
1005
1007
  ] });
1006
1008
  }
1007
- const he = "__FREE_TEXT__", Oe = "__NO_RESULT__", pe = 40;
1008
- function mr({
1009
+ const he = "__FREE_TEXT__", Ee = "__NO_RESULT__", pe = 40;
1010
+ function gr({
1009
1011
  endpoint: e,
1010
1012
  t: r,
1011
1013
  locale: o,
@@ -1014,11 +1016,11 @@ function mr({
1014
1016
  handleSearchSelect: a,
1015
1017
  ...s
1016
1018
  }) {
1017
- const i = re(null), m = re(!1), [d, f] = E(!1), [u, g] = E(""), [x, I] = E(!1), y = Ie(), [R, p] = E(!1), C = (s == null ? void 0 : s.placeholder) || r("common.searchStore"), b = async (c) => {
1019
+ const i = te(null), m = te(!1), [d, f] = E(!1), [u, g] = E(""), [x, I] = E(!1), y = Se(), [R, p] = E(!1), C = (s == null ? void 0 : s.placeholder) || r("common.searchStore"), b = async (c) => {
1018
1020
  p(!0);
1019
- const S = await y.get(Re(e, ve(P.blockletsPath, c)));
1021
+ const S = await y.get(Ie(e, ke(P.blockletsPath, c)));
1020
1022
  return p(!1), S.dataList || [];
1021
- }, { data: k, run: A } = ne(
1023
+ }, { data: k, run: A } = oe(
1022
1024
  (c) => c ? b({
1023
1025
  sortBy: P.nameDesc,
1024
1026
  page: 1,
@@ -1030,20 +1032,20 @@ function mr({
1030
1032
  manual: !0
1031
1033
  }
1032
1034
  );
1033
- G(() => {
1035
+ q(() => {
1034
1036
  p(!0), A(n.keyword), g(n.keyword || "");
1035
- }, [n.keyword, A]), zt(
1037
+ }, [n.keyword, A]), Ft(
1036
1038
  "ctrl + k, command + k",
1037
1039
  (c) => {
1038
- var S, N;
1039
- return c.stopPropagation(), c.preventDefault(), (N = (S = i.current) == null ? void 0 : S.querySelector("input")) == null || N.focus(), !1;
1040
+ var S, W;
1041
+ return c.stopPropagation(), c.preventDefault(), (W = (S = i.current) == null ? void 0 : S.querySelector("input")) == null || W.focus(), !1;
1040
1042
  },
1041
1043
  { enableOnTags: ["INPUT"] }
1042
1044
  );
1043
- const F = De((c) => A(c), { wait: 300 }), $ = { name: he, title: u, did: "" };
1044
- let D = [];
1045
- return u && (R ? D = [$] : k != null && k.length ? D = [$, ...k] : D = [{ name: Oe, title: r("blocklet.noResults"), did: "" }]), /* @__PURE__ */ h(z, { children: [
1046
- /* @__PURE__ */ h(_t, { fullScreen: !0, open: x, sx: { display: { md: "none" } }, children: [
1045
+ const D = De((c) => A(c), { wait: 300 }), j = { name: he, title: u, did: "" };
1046
+ let N = [];
1047
+ return u && (R ? N = [j] : k != null && k.length ? N = [j, ...k] : N = [{ name: Ee, title: r("blocklet.noResults"), did: "" }]), /* @__PURE__ */ h(F, { children: [
1048
+ /* @__PURE__ */ h(Mt, { fullScreen: !0, open: x, sx: { display: { md: "none" } }, children: [
1047
1049
  /* @__PURE__ */ h(w, { p: 2, pb: 0, display: "flex", alignItems: "center", gap: 2, children: [
1048
1050
  /* @__PURE__ */ t(
1049
1051
  Ue,
@@ -1067,13 +1069,13 @@ function mr({
1067
1069
  placeholder: C,
1068
1070
  className: "bl-autocomplete-input",
1069
1071
  value: u,
1070
- onChange: (c) => q(c.target.value),
1071
- startAdornment: H(x),
1072
- endAdornment: K()
1072
+ onChange: (c) => K(c.target.value),
1073
+ startAdornment: U(x),
1074
+ endAdornment: X()
1073
1075
  }
1074
1076
  ),
1075
1077
  /* @__PURE__ */ t(
1076
- ie,
1078
+ ne,
1077
1079
  {
1078
1080
  variant: "outlined",
1079
1081
  onClick: () => {
@@ -1083,17 +1085,11 @@ function mr({
1083
1085
  }
1084
1086
  )
1085
1087
  ] }),
1086
- /* @__PURE__ */ t(je, { sx: { p: 0.5 }, children: D.map((c) => Y(c)) })
1088
+ /* @__PURE__ */ t(je, { sx: { p: 0.5 }, children: N.map((c) => Y(c)) })
1087
1089
  ] }),
1090
+ /* @__PURE__ */ t(w, { sx: { display: { sx: "block", md: "none" }, paddingTop: 1, opacity: 0.5 }, children: /* @__PURE__ */ t(M, { icon: se, style: { fontSize: 22, color: "inherit" }, onClick: () => I(!0) }) }),
1088
1091
  /* @__PURE__ */ t(
1089
- te,
1090
- {
1091
- sx: { display: { sx: "block", md: "none" }, fontSize: 28, color: "text.hint" },
1092
- onClick: () => I(!0)
1093
- }
1094
- ),
1095
- /* @__PURE__ */ t(
1096
- Lt,
1092
+ _t,
1097
1093
  {
1098
1094
  ref: i,
1099
1095
  open: !!u && d,
@@ -1103,11 +1099,11 @@ function mr({
1103
1099
  f(!1), S === "selectOption" && !m.current && l(u);
1104
1100
  },
1105
1101
  onKeyDown: (c) => {
1106
- c.key === "Enter" && !u && j();
1102
+ c.key === "Enter" && !u && H();
1107
1103
  },
1108
1104
  disableClearable: !0,
1109
1105
  inputValue: u,
1110
- onInputChange: (c, S) => q(S),
1106
+ onInputChange: (c, S) => K(S),
1111
1107
  isOptionEqualToValue: (c, S) => c.name === S.name,
1112
1108
  getOptionLabel: (c) => c.title,
1113
1109
  getOptionKey: (c) => c.name,
@@ -1125,7 +1121,7 @@ function mr({
1125
1121
  }
1126
1122
  },
1127
1123
  renderInput: (c) => /* @__PURE__ */ t(
1128
- Mt,
1124
+ zt,
1129
1125
  {
1130
1126
  ...c,
1131
1127
  InputProps: {
@@ -1134,16 +1130,16 @@ function mr({
1134
1130
  placeholder: C,
1135
1131
  className: "bl-autocomplete-input",
1136
1132
  value: u,
1137
- startAdornment: H(d),
1138
- endAdornment: K()
1133
+ startAdornment: U(d),
1134
+ endAdornment: X()
1139
1135
  }
1140
1136
  }
1141
1137
  ),
1142
1138
  filterOptions: (c) => c,
1143
1139
  ...s,
1144
- options: D,
1140
+ options: N,
1145
1141
  renderOption: (c, S) => Y(S),
1146
- value: $,
1142
+ value: j,
1147
1143
  sx: [
1148
1144
  {
1149
1145
  bgcolor: "grey.50",
@@ -1163,27 +1159,27 @@ function mr({
1163
1159
  }
1164
1160
  )
1165
1161
  ] });
1166
- function q(c) {
1167
- p(!0), g(c), m.current = !1, F.run(c);
1162
+ function K(c) {
1163
+ p(!0), g(c), m.current = !1, D.run(c);
1168
1164
  }
1169
- function j() {
1170
- I(!1), g(""), q(""), l("");
1165
+ function H() {
1166
+ I(!1), g(""), K(""), l("");
1171
1167
  }
1172
- function ae(c) {
1168
+ function le(c) {
1173
1169
  c != null && c.did ? (I(!1), m.current = !0, g(""), a(c)) : c.name === he && (I(!1), l(u));
1174
1170
  }
1175
1171
  function Y(c) {
1176
- var S, N;
1172
+ var S, W;
1177
1173
  return /* @__PURE__ */ h(
1178
1174
  $e,
1179
1175
  {
1180
1176
  sx: { display: "flex", alignItems: "center", gap: 1, p: 1.5, borderRadius: "8px" },
1181
- onClick: () => ae(c),
1177
+ onClick: () => le(c),
1182
1178
  children: [
1183
1179
  Z(c),
1184
1180
  /* @__PURE__ */ h(v, { variant: "body1", children: [
1185
1181
  /* @__PURE__ */ t(v, { fontWeight: "fontWeightMedium", display: "flex", alignItems: "center", gap: 1, children: c.title }),
1186
- /* @__PURE__ */ t(v, { sx: { color: "text.hint" }, fontSize: "13px", children: ((N = (S = c.category) == null ? void 0 : S.locales) == null ? void 0 : N[o || "en"]) || "" })
1182
+ /* @__PURE__ */ t(v, { sx: { color: "text.hint" }, fontSize: "13px", children: ((W = (S = c.category) == null ? void 0 : S.locales) == null ? void 0 : W[o || "en"]) || "" })
1187
1183
  ] })
1188
1184
  ]
1189
1185
  },
@@ -1191,7 +1187,7 @@ function mr({
1191
1187
  );
1192
1188
  }
1193
1189
  function Z(c) {
1194
- if ([he, Oe].includes(c.name))
1190
+ if ([he, Ee].includes(c.name))
1195
1191
  return /* @__PURE__ */ t(
1196
1192
  w,
1197
1193
  {
@@ -1203,48 +1199,55 @@ function mr({
1203
1199
  color: "text.hint",
1204
1200
  bgcolor: "grey.100",
1205
1201
  borderRadius: "8px",
1206
- children: /* @__PURE__ */ t(te, { sx: { fontSize: 28 } })
1202
+ children: /* @__PURE__ */ t(M, { icon: se, style: { fontSize: 28 } })
1207
1203
  }
1208
1204
  );
1209
1205
  let S = "";
1210
- return c.logo && (S = Re(e, "assets", c.did, qe(c.logo, pe, c.version))), /* @__PURE__ */ t(He, { src: S, size: pe, style: { borderRadius: "8px", overflow: "hidden" } });
1206
+ return c.logo && (S = Ie(e, "assets", c.did, qe(c.logo, pe, c.version))), /* @__PURE__ */ t(He, { src: S, size: pe, style: { borderRadius: "8px", overflow: "hidden" } });
1211
1207
  }
1212
- function H(c = !0) {
1213
- return /* @__PURE__ */ t(w, { sx: { display: "flex", pl: 0.5, alignItems: "center", color: "text.hint" }, children: c && u && R ? /* @__PURE__ */ t(le, { color: "inherit", size: 16 }) : /* @__PURE__ */ t(te, { sx: { fontSize: 16, cursor: "default" } }) });
1208
+ function U(c = !0) {
1209
+ return /* @__PURE__ */ t(w, { sx: { display: "flex", pl: 0.5, alignItems: "center", color: "text.hint" }, children: c && u && R ? /* @__PURE__ */ t(ie, { color: "inherit", size: 16 }) : /* @__PURE__ */ t(M, { icon: se, style: { fontSize: 16, cursor: "default" } }) });
1214
1210
  }
1215
- function K() {
1216
- return u ? /* @__PURE__ */ t(w, { sx: { display: "flex", alignItems: "center", color: "text.hint" }, children: /* @__PURE__ */ t(ke, { sx: { fontSize: 20, cursor: "pointer" }, onClick: () => j() }) }) : null;
1211
+ function X() {
1212
+ return u ? /* @__PURE__ */ t(w, { sx: { display: "flex", alignItems: "center", color: "text.hint" }, children: /* @__PURE__ */ t(
1213
+ M,
1214
+ {
1215
+ icon: Lt,
1216
+ style: { fontSize: 20, cursor: "pointer", color: "inherit" },
1217
+ onClick: () => H()
1218
+ }
1219
+ ) }) : null;
1217
1220
  }
1218
1221
  }
1219
- function fr({ placeholder: e, ...r }) {
1222
+ function yr({ placeholder: e, ...r }) {
1220
1223
  const { search: o, t: n } = B(), { filters: l, handleKeyword: a } = o, [s, i] = E(l.keyword || ""), m = De(a, { wait: 300 }), d = (g) => {
1221
1224
  const { value: x } = g.target;
1222
1225
  i(x), m.run(x);
1223
1226
  }, f = () => {
1224
1227
  i(""), a("");
1225
1228
  };
1226
- G(() => {
1229
+ q(() => {
1227
1230
  i(l.keyword || "");
1228
1231
  }, [l.keyword]);
1229
1232
  const u = e || n("common.searchPlaceholder");
1230
1233
  return /* @__PURE__ */ t(
1231
- gr,
1234
+ xr,
1232
1235
  {
1233
1236
  inputProps: {
1234
1237
  "data-cy": "search-blocklet"
1235
1238
  },
1236
- startAdornment: /* @__PURE__ */ t(Ae, { position: "start", children: /* @__PURE__ */ t(yr, { sx: { fontSize: 18, ml: -0.5 } }) }),
1239
+ startAdornment: /* @__PURE__ */ t(Pe, { position: "start", children: /* @__PURE__ */ t(wr, { sx: { fontSize: 18, ml: -0.5 } }) }),
1237
1240
  onChange: d,
1238
1241
  placeholder: u,
1239
1242
  value: s,
1240
1243
  title: u,
1241
1244
  "data-cy": "search",
1242
- endAdornment: s && /* @__PURE__ */ t(Ae, { position: "end", children: /* @__PURE__ */ t(xr, { "data-cy": "search-delete", onClick: f }) }),
1245
+ endAdornment: s && /* @__PURE__ */ t(Pe, { position: "end", children: /* @__PURE__ */ t(br, { "data-cy": "search-delete", onClick: f }) }),
1243
1246
  ...r
1244
1247
  }
1245
1248
  );
1246
1249
  }
1247
- const gr = Q(Ue)`
1250
+ const xr = Q(Ue)`
1248
1251
  background-color: ${(e) => e.theme.palette.grey[50]};
1249
1252
  font-size: 14px;
1250
1253
  border-radius: 6px;
@@ -1261,14 +1264,14 @@ const gr = Q(Ue)`
1261
1264
  color: transparent;
1262
1265
  }
1263
1266
  }
1264
- `, yr = Q(te)`
1267
+ `, wr = Q(Dt)`
1265
1268
  color: ${(e) => e.theme.palette.grey[500]};
1266
- `, xr = Q(ke)`
1269
+ `, br = Q(ze)`
1267
1270
  color: ${(e) => e.theme.palette.grey[500]};
1268
1271
  font-size: 16px;
1269
1272
  cursor: pointer;
1270
1273
  `;
1271
- function wr() {
1274
+ function kr() {
1272
1275
  var b;
1273
1276
  const {
1274
1277
  search: e,
@@ -1312,8 +1315,8 @@ function wr() {
1312
1315
  justifyContent: { xs: "flex-start", md: "flex-end" },
1313
1316
  gap: 2,
1314
1317
  children: [
1315
- i.showSearch ? /* @__PURE__ */ t(w, { flex: 1, flexBasis: { xs: "100%", md: "auto" }, children: m ? /* @__PURE__ */ t(fr, {}) : /* @__PURE__ */ t(
1316
- mr,
1318
+ i.showSearch ? /* @__PURE__ */ t(w, { flex: 1, flexBasis: { xs: "100%", md: "auto" }, children: m ? /* @__PURE__ */ t(yr, {}) : /* @__PURE__ */ t(
1319
+ gr,
1317
1320
  {
1318
1321
  locale: n,
1319
1322
  endpoint: o,
@@ -1330,7 +1333,7 @@ function wr() {
1330
1333
  }
1331
1334
  ) }) : null,
1332
1335
  u.owner && a && /* @__PURE__ */ t(
1333
- Pe,
1336
+ Te,
1334
1337
  {
1335
1338
  label: r("blocklet.authorTag", { name: a }),
1336
1339
  size: "small",
@@ -1338,7 +1341,7 @@ function wr() {
1338
1341
  }
1339
1342
  ),
1340
1343
  u.resourceDid && u.resourceBlocklet && /* @__PURE__ */ t(
1341
- Pe,
1344
+ Te,
1342
1345
  {
1343
1346
  label: r("blocklet.resourceTag", { name: u.resourceBlocklet }),
1344
1347
  size: "small",
@@ -1346,7 +1349,7 @@ function wr() {
1346
1349
  }
1347
1350
  ),
1348
1351
  s ? /* @__PURE__ */ t(
1349
- Le,
1352
+ Oe,
1350
1353
  {
1351
1354
  checked: u.showResources !== "false",
1352
1355
  onChange: (k) => y(k ? "true" : "false"),
@@ -1354,7 +1357,7 @@ function wr() {
1354
1357
  }
1355
1358
  ) : null,
1356
1359
  /* @__PURE__ */ t(
1357
- Le,
1360
+ Oe,
1358
1361
  {
1359
1362
  checked: u.price === "free",
1360
1363
  onChange: (k) => x(k ? "free" : ""),
@@ -1386,7 +1389,7 @@ function wr() {
1386
1389
  }
1387
1390
  );
1388
1391
  }
1389
- function Le({
1392
+ function Oe({
1390
1393
  checked: e,
1391
1394
  onChange: r,
1392
1395
  label: o
@@ -1401,8 +1404,8 @@ function Le({
1401
1404
  Ne,
1402
1405
  {
1403
1406
  checked: e,
1404
- icon: /* @__PURE__ */ t(X, { style: { padding: 0, color: n.palette.text.secondary }, icon: At }),
1405
- checkedIcon: /* @__PURE__ */ t(X, { style: { padding: 0, color: n.palette.primary.main }, icon: Et }),
1407
+ icon: /* @__PURE__ */ t(M, { style: { padding: 0, color: n.palette.text.secondary }, icon: At }),
1408
+ checkedIcon: /* @__PURE__ */ t(M, { style: { padding: 0, color: n.palette.primary.main }, icon: Et }),
1406
1409
  size: "large",
1407
1410
  sx: { p: 0, mr: 1 },
1408
1411
  onChange: (l) => r(l.target.checked)
@@ -1414,11 +1417,11 @@ function Le({
1414
1417
  }
1415
1418
  function ee({ children: e }) {
1416
1419
  return /* @__PURE__ */ h(w, { display: "flex", mt: 2, flexDirection: "column", alignItems: "center", justifyContent: "center", color: "text.hint", children: [
1417
- /* @__PURE__ */ t(Ft, {}),
1420
+ /* @__PURE__ */ t(Nt, {}),
1418
1421
  e
1419
1422
  ] });
1420
1423
  }
1421
- function _e() {
1424
+ function Le() {
1422
1425
  const { t: e } = B();
1423
1426
  return /* @__PURE__ */ t(v, { style: { textAlign: "center" }, variant: "subtitle2", children: e("blocklet.noResults") });
1424
1427
  }
@@ -1453,7 +1456,7 @@ function fe({
1453
1456
  ] })
1454
1457
  ] });
1455
1458
  }
1456
- function br() {
1459
+ function vr() {
1457
1460
  const { t: e, search: r, getCategoryLocale: o, selectedCategory: n } = B(), { filters: l } = r, a = !!n || !!l.price;
1458
1461
  if (l.keyword && a)
1459
1462
  return /* @__PURE__ */ h(ee, { children: [
@@ -1489,13 +1492,13 @@ function br() {
1489
1492
  primaryEnd: e("blocklet.noCategoryResults2"),
1490
1493
  filter: s
1491
1494
  }
1492
- ) : /* @__PURE__ */ t(_e, {}),
1495
+ ) : /* @__PURE__ */ t(Le, {}),
1493
1496
  /* @__PURE__ */ t(me, { filterTip: !0 })
1494
1497
  ] });
1495
1498
  }
1496
- return /* @__PURE__ */ t(ee, { children: /* @__PURE__ */ t(_e, {}) });
1499
+ return /* @__PURE__ */ t(ee, { children: /* @__PURE__ */ t(Le, {}) });
1497
1500
  }
1498
- const kr = (e, r, o, n) => dt(
1501
+ const Cr = (e, r, o, n) => dt(
1499
1502
  async (l) => {
1500
1503
  l || (o.currentPage = o.defaultCurrentPage);
1501
1504
  const { currentPage: a, pageSize: s } = o, i = {
@@ -1511,24 +1514,24 @@ const kr = (e, r, o, n) => dt(
1511
1514
  },
1512
1515
  {
1513
1516
  isNoMore: (l) => l ? l.page * l.pageSize >= l.total : !1,
1514
- reloadDeps: [e, Dt(r)],
1517
+ reloadDeps: [e, Wt(r)],
1515
1518
  onError: n
1516
1519
  }
1517
1520
  );
1518
- function vr() {
1521
+ function Sr() {
1519
1522
  var u;
1520
1523
  const { storeApi: e, search: r, extraFilter: o, errors: n, updateDeveloperName: l } = B(), { filters: a } = r, s = ut({
1521
1524
  currentPage: P.currentPage,
1522
- pageSize: Qt() ? P.mobilePageSize : P.pageSize,
1525
+ pageSize: Zt() ? P.mobilePageSize : P.pageSize,
1523
1526
  defaultCurrentPage: P.defaultCurrentPage
1524
- }), [i, m] = E(null), d = kr(e, a, s, m), f = V(
1527
+ }), [i, m] = E(null), d = Cr(e, a, s, m), f = G(
1525
1528
  () => {
1526
1529
  var g, x;
1527
1530
  return o ? o(((g = d.data) == null ? void 0 : g.list) || []) : ((x = d.data) == null ? void 0 : x.list) || [];
1528
1531
  },
1529
1532
  [d.data, o]
1530
1533
  );
1531
- return G(() => {
1534
+ return q(() => {
1532
1535
  const g = f.find((x) => x.owner.did === a.owner);
1533
1536
  l((g == null ? void 0 : g.owner.fullName) || (g == null ? void 0 : g.author.name) || "");
1534
1537
  }, [a.owner, f, l]), {
@@ -1547,24 +1550,24 @@ function vr() {
1547
1550
  }
1548
1551
  };
1549
1552
  }
1550
- function Cr() {
1551
- const { t: e, search: r, endpoint: o, blockletRender: n, serverVersion: l, minItemWidth: a, layout: s, baseSearch: i, compact: m } = B(), { filters: d } = r, { blocklets: f, errors: u, loadMore: g, loadings: x, hasNextPage: I, total: y } = vr(), [R] = Pt({
1553
+ function Ir() {
1554
+ const { t: e, search: r, endpoint: o, blockletRender: n, serverVersion: l, minItemWidth: a, layout: s, baseSearch: i, compact: m } = B(), { filters: d } = r, { blocklets: f, errors: u, loadMore: g, loadings: x, hasNextPage: I, total: y } = Sr(), [R] = Pt({
1552
1555
  loading: x.fetchBlockletsLoading || x.loadingMore,
1553
1556
  hasNextPage: I,
1554
1557
  onLoadMore: g
1555
1558
  });
1556
1559
  if (u.fetchBlockletsError) {
1557
- const k = new Error(`Failed to fetch blocklets from ${o}: ${Kt(u.fetchBlockletsError)}`);
1560
+ const k = new Error(`Failed to fetch blocklets from ${o}: ${Qt(u.fetchBlockletsError)}`);
1558
1561
  return /* @__PURE__ */ t(be, { error: k });
1559
1562
  }
1560
1563
  const p = i && s.showSearch || !d.keyword;
1561
- return /* @__PURE__ */ h(z, { children: [
1562
- p ? /* @__PURE__ */ t(wr, {}) : /* @__PURE__ */ h(z, { children: [
1563
- /* @__PURE__ */ t(Se, { xs: /* @__PURE__ */ t(Ze, {}), md: null }),
1564
+ return /* @__PURE__ */ h(F, { children: [
1565
+ p ? /* @__PURE__ */ t(kr, {}) : /* @__PURE__ */ h(F, { children: [
1566
+ /* @__PURE__ */ t(Ce, { xs: /* @__PURE__ */ t(Ze, {}), md: null }),
1564
1567
  b()
1565
1568
  ] }),
1566
1569
  C(),
1567
- !x.fetchBlockletsLoading && I && /* @__PURE__ */ t(w, { height: 70, minHeight: 70, display: "flex", justifyContent: "center", py: 2, overflow: "hidden", ref: R, children: /* @__PURE__ */ t(le, {}) })
1570
+ !x.fetchBlockletsLoading && I && /* @__PURE__ */ t(w, { height: 70, minHeight: 70, display: "flex", justifyContent: "center", py: 2, overflow: "hidden", ref: R, children: /* @__PURE__ */ t(ie, {}) })
1568
1571
  ] });
1569
1572
  function C() {
1570
1573
  return x.fetchBlockletsLoading ? /* @__PURE__ */ t(Je, { mt: 15 }) : f.length ? /* @__PURE__ */ t(
@@ -1593,7 +1596,7 @@ function Cr() {
1593
1596
  k.did
1594
1597
  ))
1595
1598
  }
1596
- ) : /* @__PURE__ */ t(br, {});
1599
+ ) : /* @__PURE__ */ t(vr, {});
1597
1600
  }
1598
1601
  function b() {
1599
1602
  return /* @__PURE__ */ h(
@@ -1622,8 +1625,8 @@ function Cr() {
1622
1625
  );
1623
1626
  }
1624
1627
  }
1625
- function Sr() {
1626
- const { t: e, selectedCategory: r, getCategoryLocale: o } = B(), { toggleOpen: n } = Ce();
1628
+ function Rr() {
1629
+ const { t: e, selectedCategory: r, getCategoryLocale: o } = B(), { toggleOpen: n } = ve();
1627
1630
  return /* @__PURE__ */ h(
1628
1631
  v,
1629
1632
  {
@@ -1634,17 +1637,17 @@ function Sr() {
1634
1637
  py: 2,
1635
1638
  fontWeight: "fontWeightMedium",
1636
1639
  children: [
1637
- /* @__PURE__ */ t(Ye, { onClick: () => n(!0), children: /* @__PURE__ */ t(Nt, {}) }),
1640
+ /* @__PURE__ */ t(Ye, { onClick: () => n(!0), children: /* @__PURE__ */ t($t, {}) }),
1638
1641
  o(r) || e("common.category")
1639
1642
  ]
1640
1643
  }
1641
1644
  );
1642
1645
  }
1643
- function Ir({ menus: e, children: r }) {
1646
+ function Br({ menus: e, children: r }) {
1644
1647
  var d;
1645
- const { search: o, layout: n, compact: l } = B(), { filters: a } = o, s = re(null), i = a.category || a.keyword || a.price, m = (d = e == null ? void 0 : e.find((f) => f.key === a.menu)) == null ? void 0 : d.key;
1646
- return /* @__PURE__ */ t(jt, { children: /* @__PURE__ */ h(st, { FallbackComponent: be, children: [
1647
- !l && /* @__PURE__ */ t(Sr, {}),
1648
+ const { search: o, layout: n, compact: l } = B(), { filters: a } = o, s = te(null), i = a.category || a.keyword || a.price, m = (d = e == null ? void 0 : e.find((f) => f.key === a.menu)) == null ? void 0 : d.key;
1649
+ return /* @__PURE__ */ t(Ut, { children: /* @__PURE__ */ h(st, { FallbackComponent: be, children: [
1650
+ !l && /* @__PURE__ */ t(Rr, {}),
1648
1651
  /* @__PURE__ */ h(
1649
1652
  w,
1650
1653
  {
@@ -1654,7 +1657,7 @@ function Ir({ menus: e, children: r }) {
1654
1657
  className: "list-container",
1655
1658
  pt: { xs: 0, md: l ? 0 : 5 },
1656
1659
  children: [
1657
- /* @__PURE__ */ t(lr, { menus: e }),
1660
+ /* @__PURE__ */ t(sr, { menus: e }),
1658
1661
  /* @__PURE__ */ h(
1659
1662
  O,
1660
1663
  {
@@ -1669,7 +1672,7 @@ function Ir({ menus: e, children: r }) {
1669
1672
  } : { overflow: "visible" },
1670
1673
  children: [
1671
1674
  m && (r == null ? void 0 : r(m)),
1672
- !m && (n.showExplore && !i ? /* @__PURE__ */ t(pr, {}) : /* @__PURE__ */ t(Cr, {}))
1675
+ !m && (n.showExplore && !i ? /* @__PURE__ */ t(fr, {}) : /* @__PURE__ */ t(Ir, {}))
1673
1676
  ]
1674
1677
  }
1675
1678
  )
@@ -1678,8 +1681,8 @@ function Ir({ menus: e, children: r }) {
1678
1681
  )
1679
1682
  ] }) });
1680
1683
  }
1681
- function _o(e) {
1682
- return /* @__PURE__ */ h(Wt, { variant: "outlined", ...e, sx: { maxWidth: 400, borderRadius: "8px", p: { xs: 2, md: 3 }, ...e.sx }, children: [
1684
+ function Do(e) {
1685
+ return /* @__PURE__ */ h(jt, { variant: "outlined", ...e, sx: { maxWidth: 400, borderRadius: "8px", p: { xs: 2, md: 3 }, ...e.sx }, children: [
1683
1686
  /* @__PURE__ */ h(ce, { display: "flex", alignItems: "center", gap: 2, pb: 1, children: [
1684
1687
  /* @__PURE__ */ h(ce, { display: "flex", alignItems: "center", gap: 2, flex: 1, children: [
1685
1688
  /* @__PURE__ */ t(L, { variant: "rounded", width: 48, height: 48 }),
@@ -1697,10 +1700,10 @@ function _o(e) {
1697
1700
  ] })
1698
1701
  ] });
1699
1702
  }
1700
- function Mo({ showSkeleton: e, ...r }) {
1701
- return e ? /* @__PURE__ */ t(_, { variant: "rectangular", width: r.width, height: r.height }) : /* @__PURE__ */ t($t, { ...r });
1703
+ function No({ showSkeleton: e, ...r }) {
1704
+ return e ? /* @__PURE__ */ t(_, { variant: "rectangular", width: r.width, height: r.height }) : /* @__PURE__ */ t(Ht, { ...r });
1702
1705
  }
1703
- function zo(e) {
1706
+ function Wo(e) {
1704
1707
  const { menus: r, children: o, ...n } = e, l = we(), a = et(
1705
1708
  it({}, l, {
1706
1709
  typography: {
@@ -1729,12 +1732,12 @@ function zo(e) {
1729
1732
  }
1730
1733
  })
1731
1734
  );
1732
- return /* @__PURE__ */ t(tt, { theme: a, children: /* @__PURE__ */ t(tr, { ...n, children: /* @__PURE__ */ t(Ir, { menus: r, children: o }) }) });
1735
+ return /* @__PURE__ */ t(tt, { theme: a, children: /* @__PURE__ */ t(or, { ...n, children: /* @__PURE__ */ t(Br, { menus: r, children: o }) }) });
1733
1736
  }
1734
1737
  export {
1735
- mr as Autocomplete,
1736
- _o as CardSkeleton,
1737
- Mo as Image,
1738
- zo as default,
1739
- Ut as useSearch
1738
+ gr as Autocomplete,
1739
+ Do as CardSkeleton,
1740
+ No as Image,
1741
+ Wo as default,
1742
+ Gt as useSearch
1740
1743
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/list",
3
- "version": "0.16.54",
3
+ "version": "0.16.56",
4
4
  "description": "Common ux components of blocklet",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -52,8 +52,8 @@
52
52
  "react-dom": ">=18.2.0"
53
53
  },
54
54
  "dependencies": {
55
- "@blocklet/js-sdk": "^1.16.43",
56
- "@blocklet/util": "0.16.54",
55
+ "@blocklet/js-sdk": "^1.16.44",
56
+ "@blocklet/util": "0.16.56",
57
57
  "@emotion/react": "^11.10.0",
58
58
  "@emotion/styled": "^11.10.0",
59
59
  "@iconify-icons/tabler": "^1.2.95",
@@ -91,5 +91,5 @@
91
91
  "prettier": "^3.3.2",
92
92
  "vite": "^5.4.10"
93
93
  },
94
- "gitHead": "cd61c68097ae0920974b2266e548ec48b53854e4"
94
+ "gitHead": "cd958524b32ee15ed019478300ea166559105748"
95
95
  }