@blocklet/list 0.12.48 → 0.12.49

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.
@@ -10,7 +10,8 @@ const en = {
10
10
  common: {
11
11
  searchStore: 'Search the store',
12
12
  price: 'Price',
13
- category: 'Category'
13
+ category: 'Category',
14
+ resourceType: 'Resource Type'
14
15
  },
15
16
  sort: {
16
17
  sort: 'Sort',
@@ -45,7 +46,8 @@ const zh = {
45
46
  common: {
46
47
  searchStore: '搜索商店内应用',
47
48
  price: '价格',
48
- category: '类别'
49
+ category: '类别',
50
+ resourceType: '资源类型'
49
51
  },
50
52
  sort: {
51
53
  sort: '排序',
package/lib/base.js CHANGED
@@ -42,6 +42,9 @@ function ListBase() {
42
42
  const sortOptions = (0, _utils.getSortOptions)(t);
43
43
  const sortLocale = ((_sortOptions$find = sortOptions.find(f => f.value === filters.sortBy)) === null || _sortOptions$find === void 0 ? void 0 : _sortOptions$find.name) || t('sort.sort');
44
44
  const categoryLocale = getCategoryLocale(filters.category);
45
+ const {
46
+ resourceType
47
+ } = filters || {};
45
48
  const priceLocale = (_priceOptions$find = priceOptions.find(price => price.value === filters.price)) === null || _priceOptions$find === void 0 ? void 0 : _priceOptions$find.name;
46
49
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_material.Box, {
47
50
  display: "flex",
@@ -100,6 +103,8 @@ function ListBase() {
100
103
  onDelete: () => {
101
104
  handlePrice(null);
102
105
  }
106
+ }), resourceType && /*#__PURE__*/(0, _jsxRuntime.jsx)(_filter2.CustomChip, {
107
+ label: "".concat(t('common.resourceType'), ": ").concat(resourceType)
103
108
  })]
104
109
  })]
105
110
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactErrorBoundary.ErrorBoundary, {
@@ -44,7 +44,7 @@ FilterChip.propTypes = {
44
44
  icon: _propTypes.default.element
45
45
  };
46
46
  FilterChip.defaultProps = {
47
- onDelete: () => {},
47
+ onDelete: null,
48
48
  icon: null,
49
49
  label: null
50
50
  };
package/lib/index.es.js CHANGED
@@ -1,13 +1,13 @@
1
- import { jsx as t, jsxs as h, Fragment as Ce } from "react/jsx-runtime";
1
+ import { jsx as t, jsxs as f, Fragment as Ce } from "react/jsx-runtime";
2
2
  import { useTheme as pe } from "@mui/material/styles";
3
- import { css as Pe, Global as Be } from "@emotion/react";
3
+ import { css as Pe, Global as Te } from "@emotion/react";
4
4
  import { styled as C } from "@arcblock/ux/lib/Theme";
5
- import $e from "@mui/icons-material/Sort";
6
- import { Button as Te, CircularProgress as W, MenuList as Re, useMediaQuery as ze, SvgIcon as Ie, Popper as _e, Grow as De, Paper as Ne, ClickAwayListener as Ae, MenuItem as Le, Chip as Me, Grid as de, Box as _, OutlinedInput as Oe, InputAdornment as le, Hidden as ae } from "@mui/material";
5
+ import Be from "@mui/icons-material/Sort";
6
+ import { Button as $e, CircularProgress as W, MenuList as Re, useMediaQuery as ze, SvgIcon as Ie, Popper as _e, Grow as De, Paper as Ne, ClickAwayListener as Ae, MenuItem as Le, Chip as Me, Grid as ue, Box as D, OutlinedInput as Oe, InputAdornment as le, Hidden as ae } from "@mui/material";
7
7
  import Fe from "@mui/icons-material/Face";
8
8
  import { ErrorBoundary as Ee } from "react-error-boundary";
9
- import { ErrorFallback as ue } from "@arcblock/ux/lib/ErrorBoundary";
10
- import { createContext as qe, useMemo as A, useState as F, useCallback as H, useEffect as E, useContext as je, forwardRef as Ge, useRef as L, memo as Ue, createElement as Ke, Fragment as We } from "react";
9
+ import { ErrorFallback as de } from "@arcblock/ux/lib/ErrorBoundary";
10
+ import { createContext as qe, useMemo as L, useState as F, useCallback as H, useEffect as E, useContext as je, forwardRef as Ge, useRef as M, memo as Ue, createElement as Ke, Fragment as We } from "react";
11
11
  import n from "prop-types";
12
12
  import { useReactive as He, useInfiniteScroll as Ve, useRequest as Qe, useSize as Je, useCreation as Xe, useDebounceFn as Ye } from "ahooks";
13
13
  import Ze from "lodash/orderBy";
@@ -25,8 +25,8 @@ import st from "@arcblock/ux/lib/Empty";
25
25
  import ct from "react-infinite-scroll-hook";
26
26
  import pt from "@mui/material/Box";
27
27
  import me from "@mui/material/Typography";
28
- import dt from "@mui/icons-material/Search";
29
- import ut from "@mui/icons-material/Close";
28
+ import ut from "@mui/icons-material/Search";
29
+ import dt from "@mui/icons-material/Close";
30
30
  import { createRoot as mt } from "react-dom/client";
31
31
  import { autocomplete as ft } from "@algolia/autocomplete-js";
32
32
  import { useHotkeys as ht } from "react-hotkeys-hook";
@@ -62,16 +62,17 @@ const yt = (e) => [
62
62
  function Ct(e, o) {
63
63
  let r;
64
64
  return function(...i) {
65
- return r && clearTimeout(r), new Promise((c) => {
66
- r = setTimeout(() => c(e(...i)), o);
65
+ return r && clearTimeout(r), new Promise((s) => {
66
+ r = setTimeout(() => s(e(...i)), o);
67
67
  });
68
68
  };
69
69
  }
70
- const Pt = Ct((e) => Promise.resolve(e), 300), Bt = {
70
+ const Pt = Ct((e) => Promise.resolve(e), 300), Tt = {
71
71
  common: {
72
72
  searchStore: "Search the store",
73
73
  price: "Price",
74
- category: "Category"
74
+ category: "Category",
75
+ resourceType: "Resource Type"
75
76
  },
76
77
  sort: {
77
78
  sort: "Sort",
@@ -101,11 +102,12 @@ const Pt = Ct((e) => Promise.resolve(e), 300), Bt = {
101
102
  autocomplete: {
102
103
  expandResult: 'Show {number} search results for "{name}" '
103
104
  }
104
- }, $t = {
105
+ }, Bt = {
105
106
  common: {
106
107
  searchStore: "搜索商店内应用",
107
108
  price: "价格",
108
- category: "类别"
109
+ category: "类别",
110
+ resourceType: "资源类型"
109
111
  },
110
112
  sort: {
111
113
  sort: "排序",
@@ -136,8 +138,8 @@ const Pt = Ct((e) => Promise.resolve(e), 300), Bt = {
136
138
  expandResult: "显示 {number} 条 “{name}” 的搜索结果 "
137
139
  }
138
140
  }, K = {
139
- en: ie(Bt),
140
- zh: ie($t)
141
+ en: ie(Tt),
142
+ zh: ie(Bt)
141
143
  }, fe = {
142
144
  filters: n.shape({
143
145
  keyword: n.string,
@@ -145,7 +147,8 @@ const Pt = Ct((e) => Promise.resolve(e), 300), Bt = {
145
147
  sortDirection: n.string,
146
148
  price: n.string,
147
149
  category: n.string,
148
- developer: n.string
150
+ developer: n.string,
151
+ resourceType: n.string
149
152
  }),
150
153
  wrapChildren: n.func,
151
154
  extraFilter: n.func,
@@ -166,7 +169,7 @@ const Pt = Ct((e) => Promise.resolve(e), 300), Bt = {
166
169
  wrapChildren: (e) => e,
167
170
  extraFilter: (e) => e,
168
171
  baseSearch: !1
169
- }, T = {
172
+ }, R = {
170
173
  nameAsc: "title",
171
174
  nameDesc: "title",
172
175
  popularity: "stats.downloads",
@@ -177,47 +180,47 @@ const Pt = Ct((e) => Promise.resolve(e), 300), Bt = {
177
180
  blockletsPath: "/api/v2/blocklets.json",
178
181
  categoriesPath: "/api/blocklets/categories",
179
182
  cacheSize: 100
180
- }, ge = qe({}), { Provider: Tt, Consumer: Sr } = ge;
183
+ }, ge = qe({}), { Provider: $t, Consumer: Sr } = ge;
181
184
  function V({
182
185
  filters: e,
183
186
  children: o,
184
187
  endpoint: r,
185
188
  locale: l,
186
189
  blockletRender: i,
187
- onFilterChange: c,
190
+ onFilterChange: s,
188
191
  onSearchSelect: k,
189
- extraFilter: g,
190
- wrapChildren: d,
192
+ extraFilter: h,
193
+ wrapChildren: u,
191
194
  baseSearch: b,
192
195
  serverVersion: m,
193
196
  storeVersion: P
194
197
  }) {
195
- const B = {};
196
- m && (B["x-blocklet-server-version"] = m), P && (B["x-blocklet-store-version"] = P);
197
- const x = A(() => et.create({
198
+ const T = {};
199
+ m && (T["x-blocklet-server-version"] = m), P && (T["x-blocklet-store-version"] = P);
200
+ const x = L(() => et.create({
198
201
  baseURL: r,
199
- headers: B
200
- }), [r]), y = A(() => ({ sortBy: "popularity", sortDirection: "desc", ...e }), [e]), $ = y.category, p = He({
201
- currentPage: T.currentPage,
202
- pageSize: wt() ? T.mobilePageSize : T.pageSize,
203
- defaultCurrentPage: T.defaultCurrentPage
204
- }), [s, w] = F(null), {
205
- data: f = { list: [], total: 0 },
206
- loading: N,
202
+ headers: T
203
+ }), [r]), g = L(() => ({ sortBy: "popularity", sortDirection: "desc", ...e }), [e]), B = g.category, p = He({
204
+ currentPage: R.currentPage,
205
+ pageSize: wt() ? R.mobilePageSize : R.pageSize,
206
+ defaultCurrentPage: R.defaultCurrentPage
207
+ }), [c, w] = F(null), {
208
+ data: y = { list: [], total: 0 },
209
+ loading: $,
207
210
  loadMore: v,
208
- loadingMore: I
211
+ loadingMore: _
209
212
  } = Ve(
210
213
  async (a) => {
211
- var R;
212
- const u = {
213
- ...y,
214
- sortBy: T[y.sortBy],
215
- page: vt(((R = a == null ? void 0 : a.list) == null ? void 0 : R.length) || 0, p.pageSize),
214
+ var z;
215
+ const d = {
216
+ ...g,
217
+ sortBy: R[g.sortBy],
218
+ page: vt(((z = a == null ? void 0 : a.list) == null ? void 0 : z.length) || 0, p.pageSize),
216
219
  pageSize: p.pageSize
217
220
  };
218
221
  w(null);
219
- const { data: S = {} } = await x.get(T.blockletsPath, {
220
- params: u
222
+ const { data: S = {} } = await x.get(R.blockletsPath, {
223
+ params: d
221
224
  });
222
225
  return { list: (S == null ? void 0 : S.dataList) || [], total: (S == null ? void 0 : S.total) || 0 };
223
226
  },
@@ -235,28 +238,28 @@ function V({
235
238
  run: ke
236
239
  } = Qe(
237
240
  async () => {
238
- const { data: a } = await x.get(T.categoriesPath);
241
+ const { data: a } = await x.get(R.categoriesPath);
239
242
  return Array.isArray(a) ? a : [];
240
243
  },
241
244
  { manual: !0 }
242
- ), U = A(() => Ze(G || [], [(u) => u.name], ["asc"]), [G]), re = H(
243
- (a, u) => {
245
+ ), U = L(() => Ze(G || [], [(d) => d.name], ["asc"]), [G]), re = H(
246
+ (a, d) => {
244
247
  const S = K[l] ? K[l][a] : K.en[a];
245
- return kt(S, u);
248
+ return kt(S, d);
246
249
  },
247
250
  [l]
248
- ), oe = A(() => {
249
- let a = f.list || [];
250
- return a = g(a), a;
251
- }, [f, g]), we = A(() => xt(U, l), [U, l]), ve = bt(re), Se = {
252
- errors: { fetchBlockletsError: s, fetchCategoriesError: be },
253
- loadings: { fetchBlockletsLoading: N, fetchCategoriesLoading: xe, loadingMore: I },
251
+ ), oe = L(() => {
252
+ let a = y.list || [];
253
+ return a = h(a), a;
254
+ }, [y, h]), we = L(() => xt(U, l), [U, l]), ve = bt(re), Se = {
255
+ errors: { fetchBlockletsError: c, fetchCategoriesError: be },
256
+ loadings: { fetchBlockletsLoading: $, fetchCategoriesLoading: xe, loadingMore: _ },
254
257
  endpoint: r,
255
258
  blockletList: oe,
256
- wrapChildren: d,
259
+ wrapChildren: u,
257
260
  t: re,
258
- filters: y,
259
- selectedCategory: $,
261
+ filters: g,
262
+ selectedCategory: B,
260
263
  categoryList: U,
261
264
  blockletRender: i,
262
265
  locale: l,
@@ -264,39 +267,39 @@ function V({
264
267
  priceOptions: ve,
265
268
  storeApi: x,
266
269
  baseSearch: b,
267
- hasNextPage: f.list.length < f.total,
270
+ hasNextPage: y.list.length < y.total,
268
271
  handleSort: (a) => {
269
- const u = {
270
- ...y,
272
+ const d = {
273
+ ...g,
271
274
  sortBy: a,
272
275
  sortDirection: a === "nameAsc" ? "asc" : "desc"
273
276
  };
274
- c(u);
277
+ s(d);
275
278
  },
276
279
  handleKeyword: (a) => {
277
- const u = { ...y, keyword: a || void 0 };
278
- c(u);
280
+ const d = { ...g, keyword: a || void 0 };
281
+ s(d);
279
282
  },
280
283
  handlePrice: (a) => {
281
- const u = {
282
- ...y,
283
- price: a === y.price ? void 0 : a
284
+ const d = {
285
+ ...g,
286
+ price: a === g.price ? void 0 : a
284
287
  };
285
- c(u);
288
+ s(d);
286
289
  },
287
290
  handleCategory: (a) => {
288
- let u = a;
289
- (a === "all" || a === y.category) && (u = void 0);
290
- const S = { ...y, category: u };
291
- c(S);
291
+ let d = a;
292
+ (a === "all" || a === g.category) && (d = void 0);
293
+ const S = { ...g, category: d };
294
+ s(S);
292
295
  },
293
296
  handleDeveloper: (a) => {
294
- const u = { ...y, owner: a || void 0 };
295
- c(u);
297
+ const d = { ...g, owner: a || void 0 };
298
+ s(d);
296
299
  },
297
300
  handlePage: (a) => {
298
- const u = { ...y, currentPage: a };
299
- c(u);
301
+ const d = { ...g, currentPage: a };
302
+ s(d);
300
303
  },
301
304
  loadMore: () => {
302
305
  v();
@@ -304,38 +307,38 @@ function V({
304
307
  getCategoryLocale: (a) => {
305
308
  if (!a)
306
309
  return null;
307
- let u = null;
308
- const S = G.find((R) => R._id === a);
309
- return S && (u = S.locales[l]), u;
310
+ let d = null;
311
+ const S = G.find((z) => z._id === a);
312
+ return S && (d = S.locales[l]), d;
310
313
  },
311
314
  get developerName() {
312
- var u, S;
313
- return ((S = (u = oe.find((R) => {
315
+ var d, S;
316
+ return ((S = (d = oe.find((z) => {
314
317
  var ne;
315
- return ((ne = R == null ? void 0 : R.owner) == null ? void 0 : ne.did) === y.owner;
316
- })) == null ? void 0 : u.owner) == null ? void 0 : S.name) || "";
318
+ return ((ne = z == null ? void 0 : z.owner) == null ? void 0 : ne.did) === g.owner;
319
+ })) == null ? void 0 : d.owner) == null ? void 0 : S.name) || "";
317
320
  },
318
321
  handleSearchSelect: k
319
322
  };
320
323
  return E(() => {
321
324
  ke();
322
- }, [r]), /* @__PURE__ */ t(Tt, { value: Se, children: o });
325
+ }, [r]), /* @__PURE__ */ t($t, { value: Se, children: o });
323
326
  }
324
327
  V.propTypes = {
325
328
  ...fe,
326
329
  children: n.any.isRequired
327
330
  };
328
331
  V.defaultProps = he;
329
- function z() {
332
+ function I() {
330
333
  const e = je(ge);
331
334
  return e || {};
332
335
  }
333
- const Rt = C(Te)`
336
+ const Rt = C($e)`
334
337
  border-radius: 4px;
335
- `, Q = Ge(({ children: e, rounded: o, loading: r, disabled: l, ...i }, c) => /* @__PURE__ */ t(
338
+ `, Q = Ge(({ children: e, rounded: o, loading: r, disabled: l, ...i }, s) => /* @__PURE__ */ t(
336
339
  Rt,
337
340
  {
338
- ref: c,
341
+ ref: s,
339
342
  disableElevation: !0,
340
343
  disabled: l || r,
341
344
  ...i,
@@ -355,32 +358,32 @@ Q.defaultProps = {
355
358
  loading: !1,
356
359
  disabled: !1
357
360
  };
358
- function J({ title: e, value: o, icon: r, prepend: l, options: i, onChange: c, itemRender: k, ...g }) {
359
- const d = L(null), b = pe(), [m, P] = F(!1), [B, x] = F(o !== null ? o : ""), y = ze(b.breakpoints.down("sm"));
361
+ function J({ title: e, value: o, icon: r, prepend: l, options: i, onChange: s, itemRender: k, ...h }) {
362
+ const u = M(null), b = pe(), [m, P] = F(!1), [T, x] = F(o !== null ? o : ""), g = ze(b.breakpoints.down("sm"));
360
363
  E(() => {
361
364
  x(o !== null ? o : "");
362
365
  }, [o]);
363
- const $ = H(() => {
366
+ const B = H(() => {
364
367
  P(!1);
365
368
  }, []), p = H(() => {
366
369
  P(!0);
367
370
  }, []);
368
- function s(f) {
369
- x(f.value), c(f.value), y && $();
371
+ function c(y) {
372
+ x(y.value), s(y.value), g && B();
370
373
  }
371
- function w(f) {
372
- return f === B;
374
+ function w(y) {
375
+ return y === T;
373
376
  }
374
- return /* @__PURE__ */ h(Ce, { children: [
375
- /* @__PURE__ */ h(
377
+ return /* @__PURE__ */ f(Ce, { children: [
378
+ /* @__PURE__ */ f(
376
379
  zt,
377
380
  {
378
- ref: d,
381
+ ref: u,
379
382
  onClick: p,
380
383
  variant: "outlined",
381
384
  size: "small",
382
- className: ["my-select__selector", nt(B) ? "" : "my-select__selector--active"].join(" "),
383
- ...g,
385
+ className: ["my-select__selector", nt(T) ? "" : "my-select__selector--active"].join(" "),
386
+ ...h,
384
387
  children: [
385
388
  /* @__PURE__ */ t("div", { className: "my-select__icon", children: r }),
386
389
  e,
@@ -388,17 +391,17 @@ function J({ title: e, value: o, icon: r, prepend: l, options: i, onChange: c, i
388
391
  ]
389
392
  }
390
393
  ),
391
- /* @__PURE__ */ t(_e, { open: m, anchorEl: d.current, transition: !0, style: { zIndex: "9999" }, children: ({ TransitionProps: f, placement: N }) => /* @__PURE__ */ t(
394
+ /* @__PURE__ */ t(_e, { open: m, anchorEl: u.current, transition: !0, style: { zIndex: "9999" }, children: ({ TransitionProps: y, placement: $ }) => /* @__PURE__ */ t(
392
395
  De,
393
396
  {
394
- ...f,
395
- style: { transformOrigin: N === "bottom" ? "center top" : "center bottom" },
396
- children: /* @__PURE__ */ t(Ne, { children: /* @__PURE__ */ t(Ae, { onClickAway: $, children: /* @__PURE__ */ h(It, { autoFocusItem: m, onMouseEnter: p, onMouseLeave: $, children: [
397
+ ...y,
398
+ style: { transformOrigin: $ === "bottom" ? "center top" : "center bottom" },
399
+ children: /* @__PURE__ */ t(Ne, { children: /* @__PURE__ */ t(Ae, { onClickAway: B, children: /* @__PURE__ */ f(It, { autoFocusItem: m, onMouseEnter: p, onMouseLeave: B, children: [
397
400
  l,
398
401
  i.map((v) => k ? k(v) : /* @__PURE__ */ t(
399
402
  Le,
400
403
  {
401
- onClick: () => s(v),
404
+ onClick: () => c(v),
402
405
  className: [
403
406
  "my-select__option",
404
407
  w(v.value) ? "my-select__option--active" : ""
@@ -478,8 +481,8 @@ const zt = C(Q)`
478
481
  }
479
482
  }
480
483
  `;
481
- function D({ options: e, onChange: o, title: r, value: l }) {
482
- return /* @__PURE__ */ h(_t, { children: [
484
+ function A({ options: e, onChange: o, title: r, value: l }) {
485
+ return /* @__PURE__ */ f(_t, { children: [
483
486
  /* @__PURE__ */ t("div", { className: "title", children: r }),
484
487
  /* @__PURE__ */ t("div", { className: "list", children: e.map((i) => /* @__PURE__ */ t(
485
488
  "div",
@@ -522,24 +525,24 @@ const _t = C("div")`
522
525
  font-weight: bold;
523
526
  }
524
527
  `;
525
- D.propTypes = {
528
+ A.propTypes = {
526
529
  title: n.string.isRequired,
527
530
  options: n.array.isRequired,
528
531
  onChange: n.func.isRequired,
529
532
  value: n.oneOfType([n.string, n.number])
530
533
  };
531
- D.defaultProps = {
534
+ A.defaultProps = {
532
535
  value: null
533
536
  };
534
537
  function X() {
535
- const { selectedCategory: e, handleCategory: o, t: r, handlePrice: l, filters: i, categoryOptions: c, priceOptions: k } = z(), [g, d] = F(!1), b = (m, P) => {
536
- m === "category" && o(P), m === "price" && l(P), d(!1);
538
+ const { selectedCategory: e, handleCategory: o, t: r, handlePrice: l, filters: i, categoryOptions: s, priceOptions: k } = I(), [h, u] = F(!1), b = (m, P) => {
539
+ m === "category" && o(P), m === "price" && l(P), u(!1);
537
540
  };
538
- return /* @__PURE__ */ h(Dt, { children: [
539
- /* @__PURE__ */ t(it, { variant: "outlined", className: "filter-button", onClick: () => d(!0), children: /* @__PURE__ */ t(lt, { className: "filter-icon", fontSize: "small" }) }),
540
- /* @__PURE__ */ h(at, { fullWidth: !0, title: "", open: g, onClose: () => d(!1), children: [
541
+ return /* @__PURE__ */ f(Dt, { children: [
542
+ /* @__PURE__ */ t(it, { variant: "outlined", className: "filter-button", onClick: () => u(!0), children: /* @__PURE__ */ t(lt, { className: "filter-icon", fontSize: "small" }) }),
543
+ /* @__PURE__ */ f(at, { fullWidth: !0, title: "", open: h, onClose: () => u(!1), children: [
541
544
  /* @__PURE__ */ t(
542
- D,
545
+ A,
543
546
  {
544
547
  title: r("common.price"),
545
548
  options: k,
@@ -549,11 +552,11 @@ function X() {
549
552
  }
550
553
  }
551
554
  ),
552
- c.length > 0 && /* @__PURE__ */ t("div", { style: { marginTop: "16px" }, children: /* @__PURE__ */ t(
553
- D,
555
+ s.length > 0 && /* @__PURE__ */ t("div", { style: { marginTop: "16px" }, children: /* @__PURE__ */ t(
556
+ A,
554
557
  {
555
558
  title: r("common.category"),
556
- options: c,
559
+ options: s,
557
560
  value: e,
558
561
  onChange: (m) => {
559
562
  b("category", m);
@@ -586,27 +589,26 @@ const Nt = C("div")`
586
589
  padding: 4px 0;
587
590
  }
588
591
  `;
589
- function M({ label: e, icon: o, onDelete: r, ...l }) {
592
+ function N({ label: e, icon: o, onDelete: r, ...l }) {
590
593
  return e ? /* @__PURE__ */ t(Nt, { ...l, children: /* @__PURE__ */ t(Me, { color: "primary", "data-cy": "filter-tag", icon: o, label: e, onDelete: r }) }) : null;
591
594
  }
592
- M.propTypes = {
595
+ N.propTypes = {
593
596
  label: n.string,
594
597
  onDelete: n.func,
595
598
  icon: n.element
596
599
  };
597
- M.defaultProps = {
598
- onDelete: () => {
599
- },
600
+ N.defaultProps = {
601
+ onDelete: null,
600
602
  icon: null,
601
603
  label: null
602
604
  };
603
605
  function se() {
604
- const { t: e } = z();
606
+ const { t: e } = I();
605
607
  return /* @__PURE__ */ t(me, { style: { textAlign: "center" }, variant: "subtitle2", children: e("blocklet.noResults") });
606
608
  }
607
609
  function O({ filterTip: e, keywordTip: o }) {
608
- const { t: r, locale: l } = z(), i = () => l === "zh" ? "、" : " , ";
609
- return /* @__PURE__ */ h(pt, { className: "tips", children: [
610
+ const { t: r, locale: l } = I(), i = () => l === "zh" ? "、" : " , ";
611
+ return /* @__PURE__ */ f(pt, { className: "tips", children: [
610
612
  /* @__PURE__ */ t("span", { style: { marginRight: "16px" }, children: r("blocklet.emptyTip") }),
611
613
  e && /* @__PURE__ */ t("span", { children: r("blocklet.filterTip") }),
612
614
  e && o && i(),
@@ -622,14 +624,14 @@ O.defaultProps = {
622
624
  keywordTip: !1
623
625
  };
624
626
  function j({ primaryStart: e, primaryEnd: o, filter: r }) {
625
- return /* @__PURE__ */ h(me, { variant: "subtitle2", children: [
627
+ return /* @__PURE__ */ f(me, { variant: "subtitle2", children: [
626
628
  /* @__PURE__ */ t("span", { children: e }),
627
- /* @__PURE__ */ h("span", { className: "primary", children: [
629
+ /* @__PURE__ */ f("span", { className: "primary", children: [
628
630
  " ",
629
631
  r,
630
632
  " "
631
633
  ] }),
632
- /* @__PURE__ */ h("span", { children: [
634
+ /* @__PURE__ */ f("span", { children: [
633
635
  o,
634
636
  " "
635
637
  ] })
@@ -645,81 +647,81 @@ function Y({ blocklets: e, ...o }) {
645
647
  blockletRender: r,
646
648
  errors: l,
647
649
  loadings: i,
648
- selectedCategory: c,
650
+ selectedCategory: s,
649
651
  getCategoryLocale: k,
650
- filters: g,
651
- t: d,
652
+ filters: h,
653
+ t: u,
652
654
  hasNextPage: b,
653
655
  loadMore: m,
654
656
  endpoint: P
655
- } = z(), B = L(null), x = Je(B.current), y = Xe(() => x ? x.width > 900 ? 12 : x.width > 600 ? 8 : 4 : 0, [x]), $ = !!c || !!g.price, [p] = ct({
657
+ } = I(), T = M(null), x = Je(T.current), g = Xe(() => x ? x.width > 900 ? 12 : x.width > 600 ? 8 : 4 : 0, [x]), B = !!s || !!h.price, [p] = ct({
656
658
  loading: i.fetchBlockletsLoading || i.loadingMore,
657
659
  hasNextPage: b,
658
660
  onLoadMore: m
659
661
  });
660
662
  if (l.fetchBlockletsError)
661
663
  return /* @__PURE__ */ t(
662
- ue,
664
+ de,
663
665
  {
664
666
  error: new Error(`Failed to fetch blocklets from ${P}: ${l.fetchBlockletsError.message}`)
665
667
  }
666
668
  );
667
669
  if (i.fetchBlockletsLoading)
668
- return /* @__PURE__ */ t(_, { height: 60, display: "flex", alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ t(W, {}) });
669
- if (g.keyword && $ && e.length === 0)
670
- return /* @__PURE__ */ h(q, { children: [
670
+ return /* @__PURE__ */ t(D, { height: 60, display: "flex", alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ t(W, {}) });
671
+ if (h.keyword && B && e.length === 0)
672
+ return /* @__PURE__ */ f(q, { children: [
671
673
  /* @__PURE__ */ t(
672
674
  j,
673
675
  {
674
- primaryStart: d("blocklet.noBlockletPart1"),
675
- primaryEnd: d("blocklet.noBlockletPart2"),
676
- filter: g.keyword
676
+ primaryStart: u("blocklet.noBlockletPart1"),
677
+ primaryEnd: u("blocklet.noBlockletPart2"),
678
+ filter: h.keyword
677
679
  }
678
680
  ),
679
681
  /* @__PURE__ */ t(O, { keywordTip: !0, filterTip: !0 })
680
682
  ] });
681
- if (g.keyword && e.length === 0)
682
- return /* @__PURE__ */ h(q, { children: [
683
+ if (h.keyword && e.length === 0)
684
+ return /* @__PURE__ */ f(q, { children: [
683
685
  /* @__PURE__ */ t(
684
686
  j,
685
687
  {
686
- primaryStart: d("blocklet.noBlockletPart1"),
687
- primaryEnd: d("blocklet.noBlockletPart2"),
688
- filter: g.keyword
688
+ primaryStart: u("blocklet.noBlockletPart1"),
689
+ primaryEnd: u("blocklet.noBlockletPart2"),
690
+ filter: h.keyword
689
691
  }
690
692
  ),
691
693
  /* @__PURE__ */ t(O, { keywordTip: !0 })
692
694
  ] });
693
- if ($ && e.length === 0) {
694
- const s = k(c);
695
- return /* @__PURE__ */ h(q, { children: [
696
- s ? /* @__PURE__ */ t(
695
+ if (B && e.length === 0) {
696
+ const c = k(s);
697
+ return /* @__PURE__ */ f(q, { children: [
698
+ c ? /* @__PURE__ */ t(
697
699
  j,
698
700
  {
699
- primaryStart: d("blocklet.noCategoryResults1"),
700
- primaryEnd: d("blocklet.noCategoryResults2"),
701
- filter: s
701
+ primaryStart: u("blocklet.noCategoryResults1"),
702
+ primaryEnd: u("blocklet.noCategoryResults2"),
703
+ filter: c
702
704
  }
703
705
  ) : /* @__PURE__ */ t(se, {}),
704
706
  /* @__PURE__ */ t(O, { filterTip: !0 })
705
707
  ] });
706
708
  }
707
- return e.length === 0 ? /* @__PURE__ */ t(q, { children: /* @__PURE__ */ t(se, {}) }) : /* @__PURE__ */ h(At, { container: !0, ...o, columns: y, ref: B, children: [
708
- e.map((s) => /* @__PURE__ */ t(ce, { item: !0, xs: 4, "data-blocklet-did": s.did, children: r({ blocklet: s, blocklets: e }) }, s.did)),
709
- b && /* @__PURE__ */ t(ce, { item: !0, xs: 12, ref: p, children: /* @__PURE__ */ t(_, { height: 60, display: "flex", justifyContent: "center", children: /* @__PURE__ */ t(W, {}) }) })
709
+ return e.length === 0 ? /* @__PURE__ */ t(q, { children: /* @__PURE__ */ t(se, {}) }) : /* @__PURE__ */ f(At, { container: !0, ...o, columns: g, ref: T, children: [
710
+ e.map((c) => /* @__PURE__ */ t(ce, { item: !0, xs: 4, "data-blocklet-did": c.did, children: r({ blocklet: c, blocklets: e }) }, c.did)),
711
+ b && /* @__PURE__ */ t(ce, { item: !0, xs: 12, ref: p, children: /* @__PURE__ */ t(D, { height: 60, display: "flex", justifyContent: "center", children: /* @__PURE__ */ t(W, {}) }) })
710
712
  ] });
711
713
  }
712
714
  Y.propTypes = {
713
715
  blocklets: n.array.isRequired
714
716
  };
715
717
  Y.defaultProps = {};
716
- const At = C(de)`
718
+ const At = C(ue)`
717
719
  opacity: ${(e) => e.columns > 0 ? 1 : 0};
718
720
  &.MuiGrid-root {
719
721
  width: 100%;
720
722
  margin: 0 -16px;
721
723
  }
722
- `, ce = Ue(C(de)`
724
+ `, ce = Ue(C(ue)`
723
725
  @media (max-width: ${(e) => e.theme.breakpoints.values.sm}px) {
724
726
  &.MuiGrid-item {
725
727
  padding-bottom: 0px;
@@ -740,14 +742,14 @@ const At = C(de)`
740
742
  }
741
743
  `;
742
744
  function Z() {
743
- const { selectedCategory: e, handleCategory: o, t: r, handlePrice: l, filters: i, categoryOptions: c, priceOptions: k } = z();
744
- return /* @__PURE__ */ h(Lt, { children: [
745
- /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(D, { title: r("common.price"), options: k, value: i.price, onChange: l }) }),
746
- c.length > 0 && /* @__PURE__ */ t("div", { style: { marginTop: "16px" }, children: /* @__PURE__ */ t(
747
- D,
745
+ const { selectedCategory: e, handleCategory: o, t: r, handlePrice: l, filters: i, categoryOptions: s, priceOptions: k } = I();
746
+ return /* @__PURE__ */ f(Lt, { children: [
747
+ /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(A, { title: r("common.price"), options: k, value: i.price, onChange: l }) }),
748
+ s.length > 0 && /* @__PURE__ */ t("div", { style: { marginTop: "16px" }, children: /* @__PURE__ */ t(
749
+ A,
748
750
  {
749
751
  title: r("common.category"),
750
- options: c,
752
+ options: s,
751
753
  value: e,
752
754
  onChange: o
753
755
  }
@@ -766,14 +768,14 @@ const Lt = C("aside")`
766
768
  Z.propTypes = {};
767
769
  Z.defaultProps = {};
768
770
  function ee({ placeholder: e, ...o }) {
769
- const { filters: r, handleKeyword: l } = z(), [i, c] = F(r.keyword || ""), k = Ye(l, { wait: 300 }), g = (b) => {
771
+ const { filters: r, handleKeyword: l } = I(), [i, s] = F(r.keyword || ""), k = Ye(l, { wait: 300 }), h = (b) => {
770
772
  const { value: m } = b.target;
771
- c(m), k.run(m);
772
- }, d = () => {
773
- c(""), l();
773
+ s(m), k.run(m);
774
+ }, u = () => {
775
+ s(""), l();
774
776
  };
775
777
  return E(() => {
776
- c(r.keyword || "");
778
+ s(r.keyword || "");
777
779
  }, [r.keyword]), /* @__PURE__ */ t(
778
780
  Mt,
779
781
  {
@@ -781,12 +783,12 @@ function ee({ placeholder: e, ...o }) {
781
783
  "data-cy": "search-blocklet"
782
784
  },
783
785
  startAdornment: /* @__PURE__ */ t(le, { position: "start", children: /* @__PURE__ */ t(Ot, {}) }),
784
- onChange: g,
786
+ onChange: h,
785
787
  placeholder: e,
786
788
  value: i,
787
789
  title: e,
788
790
  "data-cy": "search",
789
- endAdornment: i && /* @__PURE__ */ t(le, { position: "end", children: /* @__PURE__ */ t(Ft, { "data-cy": "search-delete", onClick: d }) }),
791
+ endAdornment: i && /* @__PURE__ */ t(le, { position: "end", children: /* @__PURE__ */ t(Ft, { "data-cy": "search-delete", onClick: u }) }),
790
792
  ...o
791
793
  }
792
794
  );
@@ -813,32 +815,32 @@ const Mt = C(Oe)`
813
815
  color: transparent;
814
816
  }
815
817
  }
816
- `, Ot = C(dt)`
818
+ `, Ot = C(ut)`
817
819
  color: ${(e) => e.theme.palette.grey[500]};
818
820
  font-size: 28px;
819
821
  @media (max-width: ${(e) => e.theme.breakpoints.values.md}px) {
820
822
  font-size: 24px;
821
823
  }
822
- `, Ft = C(ut)`
824
+ `, Ft = C(dt)`
823
825
  color: ${(e) => e.theme.palette.grey[500]};
824
826
  font-size: 16px;
825
827
  cursor: pointer;
826
828
  `;
827
829
  function te({ onSelect: e, wrapChildren: o }) {
828
- const r = L(null), l = L(null), i = L(null), { storeApi: c, blockletRender: k, filters: g, endpoint: d, handleKeyword: b, t: m } = z(), P = async (p) => {
829
- const { data: s } = await c.get(T.blockletsPath, { params: p }), w = s.dataList || [];
830
- return w.length > 0 && w.unshift({ type: "more-result", total: s.total || 0 }), w;
831
- }, B = (p) => {
830
+ const r = M(null), l = M(null), i = M(null), { storeApi: s, blockletRender: k, filters: h, endpoint: u, handleKeyword: b, t: m } = I(), P = async (p) => {
831
+ const { data: c } = await s.get(R.blockletsPath, { params: p }), w = c.dataList || [];
832
+ return w.length > 0 && w.unshift({ type: "more-result", total: c.total || 0 }), w;
833
+ }, T = (p) => {
832
834
  b(p.state.query), p.setIsOpen(!1);
833
835
  }, x = () => {
834
836
  r.current && setTimeout(() => {
835
837
  const p = r.current.querySelector("input.bl-autocomplete-input");
836
838
  p && p.focus();
837
839
  });
838
- }, y = (p) => {
840
+ }, g = (p) => {
839
841
  p.setIsOpen(!1), x();
840
- }, $ = ({ prevState: p, state: s }) => {
841
- p.query !== s.query && (s.query || b());
842
+ }, B = ({ prevState: p, state: c }) => {
843
+ p.query !== c.query && (c.query || b());
842
844
  };
843
845
  return ht(
844
846
  "ctrl + k, command + k",
@@ -846,16 +848,16 @@ function te({ onSelect: e, wrapChildren: o }) {
846
848
  { enableOnTags: ["INPUT"] }
847
849
  ), E(() => {
848
850
  x();
849
- }, [d]), E(() => {
851
+ }, [u]), E(() => {
850
852
  if (!r.current)
851
853
  return;
852
854
  const p = ft({
853
855
  container: r.current,
854
856
  renderer: { createElement: Ke, Fragment: We, render: () => {
855
857
  } },
856
- render({ children: s }, w) {
857
- var f;
858
- (!l.current || i.current !== w) && (i.current = w, (f = l.current) == null || f.unmount(), l.current = mt(w)), l.current.render(o(s));
858
+ render({ children: c }, w) {
859
+ var y;
860
+ (!l.current || i.current !== w) && (i.current = w, (y = l.current) == null || y.unmount(), l.current = mt(w)), l.current.render(o(c));
859
861
  },
860
862
  autoFocus: !0,
861
863
  openOnFocus: !1,
@@ -868,44 +870,44 @@ function te({ onSelect: e, wrapChildren: o }) {
868
870
  },
869
871
  placeholder: m("common.searchStore"),
870
872
  initialState: {
871
- query: g.keyword
873
+ query: h.keyword
872
874
  },
873
- onStateChange(s) {
874
- $(s);
875
+ onStateChange(c) {
876
+ B(c);
875
877
  },
876
- onSubmit: B,
877
- onReset(s) {
878
- y(s);
878
+ onSubmit: T,
879
+ onReset(c) {
880
+ g(c);
879
881
  },
880
- getSources({ query: s, state: w, ...f }) {
881
- const N = {
882
- ...g,
883
- sortBy: T[g.sortBy],
882
+ getSources({ query: c, state: w, ...y }) {
883
+ const $ = {
884
+ ...h,
885
+ sortBy: R[h.sortBy],
884
886
  page: 1,
885
887
  pageSize: 10,
886
- keyword: s
888
+ keyword: c
887
889
  };
888
890
  return Pt([
889
891
  {
890
892
  sourceId: "blocklets",
891
893
  getItems() {
892
- return P(N);
894
+ return P($);
893
895
  },
894
896
  // 选中后填充 搜索框中值
895
897
  getItemInputValue({ item: v }) {
896
- return v.type === "more-result" ? s : v.title;
898
+ return v.type === "more-result" ? c : v.title;
897
899
  },
898
900
  // 选中或者点击自动完成列表中的 item 时触发
899
- onSelect({ event: v, item: I }) {
900
- return I.type === "more-result" ? (f.setIsOpen(!1), b(s)) : v.type === "keydown" ? b(I.title) : e({
901
- blocklet: I,
902
- detailUrl: gt(d, `/blocklets/${I.did}`),
903
- storeUrl: d
901
+ onSelect({ event: v, item: _ }) {
902
+ return _.type === "more-result" ? (y.setIsOpen(!1), b(c)) : v.type === "keydown" ? b(_.title) : e({
903
+ blocklet: _,
904
+ detailUrl: gt(u, `/blocklets/${_.did}`),
905
+ storeUrl: u
904
906
  });
905
907
  },
906
908
  templates: {
907
909
  item({ item: v }) {
908
- return v.type === "more-result" ? /* @__PURE__ */ t("div", { children: m("autocomplete.expandResult", { name: s, number: v.total.toLocaleString() }) }) : k({ blocklet: v, autocompleteSetters: f });
910
+ return v.type === "more-result" ? /* @__PURE__ */ t("div", { children: m("autocomplete.expandResult", { name: c, number: v.total.toLocaleString() }) }) : k({ blocklet: v, autocompleteSetters: y });
909
911
  },
910
912
  noResults() {
911
913
  return m("blocklet.noResults");
@@ -918,7 +920,7 @@ function te({ onSelect: e, wrapChildren: o }) {
918
920
  return () => {
919
921
  p.destroy();
920
922
  };
921
- }, [g, k]), /* @__PURE__ */ t("div", { className: "bl-search-container", ref: r });
923
+ }, [h, k]), /* @__PURE__ */ t("div", { className: "bl-search-container", ref: r });
922
924
  }
923
925
  te.propTypes = {
924
926
  onSelect: n.func.isRequired,
@@ -928,47 +930,47 @@ te.defaultProps = {
928
930
  wrapChildren: (e) => e
929
931
  };
930
932
  function Et() {
931
- var s, w;
933
+ var w, y;
932
934
  const {
933
935
  handleDeveloper: e,
934
936
  blockletList: o,
935
937
  filters: r,
936
938
  developerName: l,
937
939
  handleSort: i,
938
- handleCategory: c,
940
+ handleCategory: s,
939
941
  handlePrice: k,
940
- handleSearchSelect: g,
941
- t: d,
942
+ handleSearchSelect: h,
943
+ t: u,
942
944
  getCategoryLocale: b,
943
945
  priceOptions: m,
944
946
  wrapChildren: P,
945
- baseSearch: B
946
- } = z(), x = yt(d), y = ((s = x.find((f) => f.value === r.sortBy)) == null ? void 0 : s.name) || d("sort.sort"), $ = b(r.category), p = (w = m.find((f) => f.value === r.price)) == null ? void 0 : w.name;
947
- return /* @__PURE__ */ h(_, { display: "flex", alignItems: "flex-start", height: "100%", children: [
947
+ baseSearch: T
948
+ } = I(), x = yt(u), g = ((w = x.find(($) => $.value === r.sortBy)) == null ? void 0 : w.name) || u("sort.sort"), B = b(r.category), { resourceType: p } = r || {}, c = (y = m.find(($) => $.value === r.price)) == null ? void 0 : y.name;
949
+ return /* @__PURE__ */ f(D, { display: "flex", alignItems: "flex-start", height: "100%", children: [
948
950
  /* @__PURE__ */ t(ae, { mdDown: !0, children: /* @__PURE__ */ t(Z, {}) }),
949
- /* @__PURE__ */ h(qt, { children: [
950
- /* @__PURE__ */ h(jt, { children: [
951
- /* @__PURE__ */ h(_, { className: "filter-bar", display: "flex", alignItems: "center", children: [
952
- B ? /* @__PURE__ */ t(ee, { className: "bl-search-container", placeholder: d("common.searchStore") }) : /* @__PURE__ */ t(te, { onSelect: g, wrapChildren: P }),
953
- /* @__PURE__ */ h(_, { mt: 0, ml: "16px", className: "filter-container", children: [
951
+ /* @__PURE__ */ f(qt, { children: [
952
+ /* @__PURE__ */ f(jt, { children: [
953
+ /* @__PURE__ */ f(D, { className: "filter-bar", display: "flex", alignItems: "center", children: [
954
+ T ? /* @__PURE__ */ t(ee, { className: "bl-search-container", placeholder: u("common.searchStore") }) : /* @__PURE__ */ t(te, { onSelect: h, wrapChildren: P }),
955
+ /* @__PURE__ */ f(D, { mt: 0, ml: "16px", className: "filter-container", children: [
954
956
  /* @__PURE__ */ t(ae, { mdUp: !0, children: /* @__PURE__ */ t(X, {}) }),
955
957
  /* @__PURE__ */ t(
956
958
  J,
957
959
  {
958
960
  value: r.sortBy,
959
961
  options: x,
960
- title: y,
961
- icon: /* @__PURE__ */ t($e, {}),
962
- onChange: (f) => {
963
- i(f);
962
+ title: g,
963
+ icon: /* @__PURE__ */ t(Be, {}),
964
+ onChange: ($) => {
965
+ i($);
964
966
  }
965
967
  }
966
968
  )
967
969
  ] })
968
970
  ] }),
969
- /* @__PURE__ */ h(_, { display: "flex", flexWrap: "wrap", alignItems: "center", mb: "16px", children: [
971
+ /* @__PURE__ */ f(D, { display: "flex", flexWrap: "wrap", alignItems: "center", mb: "16px", children: [
970
972
  /* @__PURE__ */ t(
971
- M,
973
+ N,
972
974
  {
973
975
  label: l,
974
976
  icon: /* @__PURE__ */ t(Fe, {}),
@@ -978,26 +980,27 @@ function Et() {
978
980
  }
979
981
  ),
980
982
  /* @__PURE__ */ t(
981
- M,
983
+ N,
982
984
  {
983
- label: $,
985
+ label: B,
984
986
  onDelete: () => {
985
- c(null);
987
+ s(null);
986
988
  }
987
989
  }
988
990
  ),
989
991
  /* @__PURE__ */ t(
990
- M,
992
+ N,
991
993
  {
992
- label: p,
994
+ label: c,
993
995
  onDelete: () => {
994
996
  k(null);
995
997
  }
996
998
  }
997
- )
999
+ ),
1000
+ p && /* @__PURE__ */ t(N, { label: `${u("common.resourceType")}: ${p}` })
998
1001
  ] })
999
1002
  ] }),
1000
- /* @__PURE__ */ t(Ee, { FallbackComponent: ue, children: /* @__PURE__ */ t("div", { style: { position: "relative", flex: 1, overflow: "auto" }, children: /* @__PURE__ */ t(Y, { blocklets: o }) }) })
1003
+ /* @__PURE__ */ t(Ee, { FallbackComponent: de, children: /* @__PURE__ */ t("div", { style: { position: "relative", flex: 1, overflow: "auto" }, children: /* @__PURE__ */ t(Y, { blocklets: o }) }) })
1001
1004
  ] })
1002
1005
  ] });
1003
1006
  }
@@ -1091,8 +1094,8 @@ function ye(e) {
1091
1094
  }
1092
1095
  `
1093
1096
  };
1094
- return /* @__PURE__ */ h(V, { ...e, children: [
1095
- /* @__PURE__ */ t(Be, { styles: l.autocomplete }),
1097
+ return /* @__PURE__ */ f(V, { ...e, children: [
1098
+ /* @__PURE__ */ t(Te, { styles: l.autocomplete }),
1096
1099
  /* @__PURE__ */ t(Et, {})
1097
1100
  ] });
1098
1101
  }
@@ -13,7 +13,8 @@ const propTypes = {
13
13
  sortDirection: _propTypes.default.string,
14
14
  price: _propTypes.default.string,
15
15
  category: _propTypes.default.string,
16
- developer: _propTypes.default.string
16
+ developer: _propTypes.default.string,
17
+ resourceType: _propTypes.default.string
17
18
  }),
18
19
  wrapChildren: _propTypes.default.func,
19
20
  extraFilter: _propTypes.default.func,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blocklet/list",
3
- "version": "0.12.48",
3
+ "version": "0.12.49",
4
4
  "description": "Common ux components of blocklet",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -83,5 +83,5 @@
83
83
  "prettier": "^2.7.1",
84
84
  "vite": "^4.4.9"
85
85
  },
86
- "gitHead": "414faf0703d3aaa36b118b4a31cef6697e5174fd"
86
+ "gitHead": "dbd8f7da7a2e562913826a76e795b9e3b5112833"
87
87
  }