@vc-shell/framework 1.0.239 → 1.0.240

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ ## [1.0.240](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.239...v1.0.240) (2024-06-18)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **dynamic:** clear selectedIds after executing custom action ([4591f9b](https://github.com/VirtoCommerce/vc-shell/commit/4591f9b030d6277e1f77b92857679367759b49d1))
7
+
8
+
9
+ ### Features
10
+
11
+ * **ui:** add delay for menu opening ([276f31d](https://github.com/VirtoCommerce/vc-shell/commit/276f31d99c7a58a3610b3b36fe2188902bd3e6e4))
12
+
13
+
14
+
1
15
  ## [1.0.239](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.238...v1.0.239) (2024-06-18)
2
16
 
3
17
 
package/dist/framework.js CHANGED
@@ -46493,7 +46493,7 @@ const Dre = {
46493
46493
  const Oe = V.value.find(
46494
46494
  (De) => ("method" in De && De.method === $e.method) ?? !1
46495
46495
  );
46496
- p.value = [Ze.id], Oe ? await Oe.clickHandler?.() : await Ge(P)?.[$e.method]?.(Ze), p.value = [];
46496
+ p.value = [Ze.id], Oe ? await Oe.clickHandler?.() : (await Ge(P)?.[$e.method]?.(Ze), p.value = []);
46497
46497
  }
46498
46498
  } catch {
46499
46499
  throw new Error(`Method ${$e.method} is not defined in scope or toolbarOverrides`);
@@ -49129,39 +49129,42 @@ const eve = (t) => function() {
49129
49129
  function o() {
49130
49130
  r.value = !r.value;
49131
49131
  }
49132
- function l(c) {
49133
- i.value !== c && (i.value = c);
49132
+ let l = null;
49133
+ function c(u) {
49134
+ l && clearTimeout(l), u ? l = setTimeout(() => {
49135
+ i.value !== u && (i.value = u);
49136
+ }, 200) : i.value = u;
49134
49137
  }
49135
49138
  return e({
49136
49139
  isMobileVisible: s
49137
- }), (c, u) => a.value ? (D(), H("div", {
49140
+ }), (u, d) => a.value ? (D(), H("div", {
49138
49141
  key: 0,
49139
49142
  class: Le(["vc-app-menu tw-relative tw-w-[var(--app-menu-width)] [transition:width_300ms_cubic-bezier(0.2,0,0,1)_0s] tw-pt-[22px]", {
49140
- "vc-app-menu_mobile tw-hidden !tw-fixed !tw-left-0 !tw-top-0 !tw-w-full !tw-bottom-0 !tw-z-[9999]": c.$isMobile.value,
49143
+ "vc-app-menu_mobile tw-hidden !tw-fixed !tw-left-0 !tw-top-0 !tw-w-full !tw-bottom-0 !tw-z-[9999]": u.$isMobile.value,
49141
49144
  "!tw-block": s.value,
49142
- "!tw-w-[var(--app-menu-width-collapse)]": c.$isDesktop.value && !k(r)
49145
+ "!tw-w-[var(--app-menu-width-collapse)]": u.$isDesktop.value && !k(r)
49143
49146
  }]),
49144
- onMouseenter: u[3] || (u[3] = (d) => !k(r) && l(!0)),
49145
- onMouseover: u[4] || (u[4] = (d) => !k(r) && l(!0)),
49146
- onMouseleave: u[5] || (u[5] = (d) => l(!1))
49147
+ onMouseenter: d[3] || (d[3] = (f) => !k(r) && c(!0)),
49148
+ onMouseover: d[4] || (d[4] = (f) => !k(r) && c(!0)),
49149
+ onMouseleave: d[5] || (d[5] = (f) => c(!1))
49147
49150
  }, [
49148
- c.$isMobile.value ? (D(), H("div", {
49151
+ u.$isMobile.value ? (D(), H("div", {
49149
49152
  key: 0,
49150
49153
  class: "tw-absolute tw-left-0 tw-top-0 tw-right-0 tw-bottom-0 tw-z-[9998] tw-bg-[#808c99] tw-opacity-60",
49151
- onClick: u[0] || (u[0] = (d) => s.value = !1)
49154
+ onClick: d[0] || (d[0] = (f) => s.value = !1)
49152
49155
  })) : re("", !0),
49153
49156
  ee("div", {
49154
49157
  class: Le(["!tw-absolute vc-app-menu__inner tw-flex tw-flex-col tw-h-full [transition:width_300ms_cubic-bezier(0.2,0,0,1)_0s] tw-z-[1001] tw-top-0 tw-bottom-0 tw-bg-[color:var(--app-background)]", {
49155
- "tw-left-0 tw-pt-[22px]": c.$isDesktop.value,
49156
- "!tw-w-[var(--app-menu-width-collapse)]": c.$isDesktop.value && !k(r) && !i.value,
49157
- "tw-w-[var(--app-menu-width)]": c.$isDesktop.value && (k(r) || i.value),
49158
- "tw-shadow-none": c.$isDesktop.value && k(r),
49159
- "tw-shadow-[6px_0_5px_-2px_#3654751A]": c.$isDesktop.value && i.value
49158
+ "tw-left-0 tw-pt-[22px]": u.$isDesktop.value,
49159
+ "!tw-w-[var(--app-menu-width-collapse)]": u.$isDesktop.value && !k(r) && !i.value,
49160
+ "tw-w-[var(--app-menu-width)]": u.$isDesktop.value && (k(r) || i.value),
49161
+ "tw-shadow-none": u.$isDesktop.value && k(r),
49162
+ "tw-shadow-[6px_0_5px_-2px_#3654751A]": u.$isDesktop.value && i.value
49160
49163
  }])
49161
49164
  }, [
49162
- c.$isMobile.value ? (D(), H("div", Ese, [
49165
+ u.$isMobile.value ? (D(), H("div", Ese, [
49163
49166
  ee("button", {
49164
- onClick: u[1] || (u[1] = (d) => s.value = !1)
49167
+ onClick: d[1] || (d[1] = (f) => s.value = !1)
49165
49168
  }, [
49166
49169
  me(k(lt), {
49167
49170
  icon: "fas fa-times",
@@ -49169,7 +49172,7 @@ const eve = (t) => function() {
49169
49172
  })
49170
49173
  ])
49171
49174
  ])) : re("", !0),
49172
- c.$isDesktop.value ? (D(), H("div", Tse, [
49175
+ u.$isDesktop.value ? (D(), H("div", Tse, [
49173
49176
  ee("button", {
49174
49177
  class: "tw-flex tw-items-center tw-p-[10px] tw-rounded tw-text-[color:var(--app-menu-burger-color)] hover:tw-bg-[color:var(--app-menu-burger-background-color)]",
49175
49178
  onClick: o
@@ -49186,17 +49189,17 @@ const eve = (t) => function() {
49186
49189
  }, {
49187
49190
  default: de(() => [
49188
49191
  ee("div", Ase, [
49189
- c.$isDesktop.value ? re("", !0) : Ce(c.$slots, "mobile", { key: 0 }),
49190
- (D(!0), H(Ye, null, pt(k(n), (d) => (D(), Ne(_se, {
49191
- key: d?.id,
49192
- "is-visible": c.$hasAccess(d.permissions) && (d.children?.some((f) => c.$hasAccess(f.permissions)) ?? !0),
49193
- url: d.url,
49194
- icon: d.groupIcon || d.icon,
49195
- title: d.title,
49196
- children: d.children,
49197
- expand: c.$isDesktop.value ? k(r) || i.value : !0,
49198
- onClick: (f) => {
49199
- c.$emit("item:click", f || d), s.value = !1;
49192
+ u.$isDesktop.value ? re("", !0) : Ce(u.$slots, "mobile", { key: 0 }),
49193
+ (D(!0), H(Ye, null, pt(k(n), (f) => (D(), Ne(_se, {
49194
+ key: f?.id,
49195
+ "is-visible": u.$hasAccess(f.permissions) && (f.children?.some((h) => u.$hasAccess(h.permissions)) ?? !0),
49196
+ url: f.url,
49197
+ icon: f.groupIcon || f.icon,
49198
+ title: f.title,
49199
+ children: f.children,
49200
+ expand: u.$isDesktop.value ? k(r) || i.value : !0,
49201
+ onClick: (h) => {
49202
+ u.$emit("item:click", h || f), s.value = !1;
49200
49203
  }
49201
49204
  }, null, 8, ["is-visible", "url", "icon", "title", "children", "expand", "onClick"]))), 128))
49202
49205
  ])
@@ -49205,8 +49208,8 @@ const eve = (t) => function() {
49205
49208
  }),
49206
49209
  ee("div", {
49207
49210
  class: "tw-text-[color:var(--app-menu-version-color)] tw-text-xs tw-mt-auto tw-self-start tw-py-1 tw-pl-[22px]",
49208
- onClick: u[2] || (u[2] = (d) => c.$emit("version:click"))
49209
- }, be(c.version), 1)
49211
+ onClick: d[2] || (d[2] = (f) => u.$emit("version:click"))
49212
+ }, be(u.version), 1)
49210
49213
  ], 2)
49211
49214
  ], 34)) : re("", !0);
49212
49215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vc-app-menu.vue.d.ts","sourceRoot":"","sources":["../../../../../../../ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5C,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAChC;;;;;;;;;;;;;;;;;;;;;;AAgVD,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"vc-app-menu.vue.d.ts","sourceRoot":"","sources":["../../../../../../../ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5C,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CAChC;;;;;;;;;;;;;;;;;;;;;;AA4VD,wBAAwG;AACxG,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC;AACxD,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAAE,QAAO;QAClD,MAAM,EAAE,CAAC,CAAC;KACT,CAAA;CAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.0.239",
3
+ "version": "1.0.240",
4
4
  "type": "module",
5
5
  "main": "./dist/framework.js",
6
6
  "types": "./dist/index.d.ts",
@@ -60,9 +60,9 @@
60
60
  "devDependencies": {
61
61
  "@types/dompurify": "^3.0.5",
62
62
  "@types/quill": "^2.0.14",
63
- "@vc-shell/api-client-generator": "^1.0.239",
64
- "@vc-shell/config-generator": "^1.0.239",
65
- "@vc-shell/ts-config": "^1.0.239",
63
+ "@vc-shell/api-client-generator": "^1.0.240",
64
+ "@vc-shell/config-generator": "^1.0.240",
65
+ "@vc-shell/ts-config": "^1.0.240",
66
66
  "@vitejs/plugin-vue": "^5.0.3",
67
67
  "sass": "^1.69.6",
68
68
  "shx": "^0.3.4",
@@ -636,8 +636,8 @@ function actionBuilder(item: (typeof items.value)[number]): IActionBuilderResult
636
636
  await toolbarItem.clickHandler?.();
637
637
  } else {
638
638
  await toValue(unreffedScope)?.[action.method]?.(itemVal);
639
+ selectedIds.value = [];
639
640
  }
640
- selectedIds.value = [];
641
641
  }
642
642
  } catch (error) {
643
643
  throw new Error(`Method ${action.method} is not defined in scope or toolbarOverrides`);
@@ -135,8 +135,20 @@ function toggleMenu() {
135
135
  isExpanded.value = !isExpanded.value;
136
136
  }
137
137
 
138
+ let expandTimeout: ReturnType<typeof setTimeout> | null = null;
139
+
138
140
  function expandOverHandler(state: boolean) {
139
- if (isExpandedOver.value !== state) {
141
+ if (expandTimeout) {
142
+ clearTimeout(expandTimeout);
143
+ }
144
+
145
+ if (state) {
146
+ expandTimeout = setTimeout(() => {
147
+ if (isExpandedOver.value !== state) {
148
+ isExpandedOver.value = state;
149
+ }
150
+ }, 200);
151
+ } else {
140
152
  isExpandedOver.value = state;
141
153
  }
142
154
  }