@vc-shell/framework 1.0.289 → 1.0.290

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,12 @@
1
+ ## [1.0.290](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.289...v1.0.290) (2024-09-13)
2
+
3
+
4
+ ### Features
5
+
6
+ * **shared:** user-dropdown-button - add baseMenuItemsHandler prop and handle default menu items ([e5f4017](https://github.com/VirtoCommerce/vc-shell/commit/e5f40174dae9445ed074493d824e3c95c37c7150))
7
+
8
+
9
+
1
10
  ## [1.0.289](https://github.com/VirtoCommerce/vc-shell/compare/v1.0.288...v1.0.289) (2024-09-10)
2
11
 
3
12
 
package/dist/framework.js CHANGED
@@ -59325,13 +59325,13 @@ const LAe = {
59325
59325
  name: {},
59326
59326
  role: {},
59327
59327
  menuItems: { default: () => [] },
59328
+ baseMenuItemsHandler: {},
59328
59329
  disabled: { type: Boolean }
59329
59330
  },
59330
59331
  setup(t) {
59331
59332
  const e = t, { user: n, signOut: r } = va(), i = Wu(), { t: a } = mn({ useScope: "global" }), { open: o } = td({
59332
59333
  component: Gx
59333
- }), { closeBlade: s } = Hl(), l = X(!1), c = te(() => [
59334
- ...e.menuItems,
59334
+ }), { closeBlade: s } = Hl(), l = X(!1), c = X([
59335
59335
  {
59336
59336
  title: a("SHELL.ACCOUNT.CHANGE_PASSWORD"),
59337
59337
  icon: "fas fa-key",
@@ -59346,26 +59346,33 @@ const LAe = {
59346
59346
  await s(0) || (await r(), i.push({ name: "Login" }));
59347
59347
  }
59348
59348
  }
59349
- ]), u = () => {
59350
- !e.disabled && c.value && c.value.length && (l.value = !l.value);
59351
- }, d = () => {
59349
+ ]), u = te(() => {
59350
+ const p = d();
59351
+ return p?.length ? [...e.menuItems, ...p] : [...e.menuItems];
59352
+ });
59353
+ function d() {
59354
+ return e.baseMenuItemsHandler && typeof e.baseMenuItemsHandler == "function" ? e.baseMenuItemsHandler(c.value) : c.value;
59355
+ }
59356
+ const f = () => {
59357
+ !e.disabled && u.value && u.value.length && (l.value = !l.value);
59358
+ }, h = () => {
59352
59359
  l.value = !1;
59353
- }, f = te(() => {
59360
+ }, m = te(() => {
59354
59361
  if (e.avatarUrl)
59355
59362
  return `background-image: url(${CSS.escape(e.avatarUrl)})`;
59356
59363
  });
59357
- return (h, m) => zn((B(), z("div", {
59364
+ return (p, g) => zn((B(), z("div", {
59358
59365
  class: Be(["user-dropdown-button", {
59359
59366
  "user-dropdown-button_active": l.value,
59360
- "tw-w-auto": h.disabled
59367
+ "tw-w-auto": p.disabled
59361
59368
  }]),
59362
- onClick: Ut(u, ["stop"])
59369
+ onClick: Ut(f, ["stop"])
59363
59370
  }, [
59364
59371
  ae("div", YAe, [
59365
- h.avatarUrl ? (B(), z("div", {
59372
+ p.avatarUrl ? (B(), z("div", {
59366
59373
  key: 0,
59367
59374
  class: "user-dropdown-button__avatar",
59368
- style: rn(f.value)
59375
+ style: rn(m.value)
59369
59376
  }, null, 4)) : (B(), Pe(D(vt), {
59370
59377
  key: 1,
59371
59378
  icon: "fas fa-user-circle",
@@ -59373,37 +59380,37 @@ const LAe = {
59373
59380
  class: "tw-text-[color:var(--app-bar-button-color)]"
59374
59381
  })),
59375
59382
  ae("div", qAe, [
59376
- ae("div", GAe, Oe(h.name || D(n)?.userName), 1),
59377
- ae("div", WAe, Oe(h.role && h.$t(`SHELL.USER.ROLE.${h.role}`) || (D(n)?.isAdministrator ? h.$t("SHELL.USER.ROLE.ADMINISTRATOR") : "")), 1)
59383
+ ae("div", GAe, Oe(p.name || D(n)?.userName), 1),
59384
+ ae("div", WAe, Oe(p.role && p.$t(`SHELL.USER.ROLE.${p.role}`) || (D(n)?.isAdministrator ? p.$t("SHELL.USER.ROLE.ADMINISTRATOR") : "")), 1)
59378
59385
  ]),
59379
- !h.disabled && c.value && c.value.length ? (B(), z("div", zAe, [
59386
+ !p.disabled && u.value && u.value.length ? (B(), z("div", zAe, [
59380
59387
  we(D(vt), {
59381
59388
  icon: "fas fa-chevron-down",
59382
59389
  size: "xl"
59383
59390
  })
59384
59391
  ])) : le("", !0)
59385
59392
  ]),
59386
- c.value && l.value ? (B(), z("div", {
59393
+ u.value && l.value ? (B(), z("div", {
59387
59394
  key: 0,
59388
59395
  class: "user-dropdown-button__menu",
59389
- onClick: m[0] || (m[0] = Ut((p) => l.value = !1, ["stop"]))
59396
+ onClick: g[0] || (g[0] = Ut((v) => l.value = !1, ["stop"]))
59390
59397
  }, [
59391
- (B(!0), z(Xe, null, St(c.value, (p, g) => (B(), z("div", {
59392
- key: `menu_item_${g}`,
59398
+ (B(!0), z(Xe, null, St(u.value, (v, y) => (B(), z("div", {
59399
+ key: `menu_item_${y}`,
59393
59400
  class: "user-dropdown-button__menu-item tw-group",
59394
- onClick: (v) => p.hasOwnProperty("clickHandler") ? p.clickHandler?.() : null
59401
+ onClick: (_) => v.hasOwnProperty("clickHandler") ? v.clickHandler?.() : null
59395
59402
  }, [
59396
- p.icon ? (B(), Pe(D(vt), {
59403
+ v.icon ? (B(), Pe(D(vt), {
59397
59404
  key: 0,
59398
- icon: p.icon,
59405
+ icon: v.icon,
59399
59406
  size: "l",
59400
59407
  class: "tw-mr-3 tw-text-[color:var(--app-bar-button-color)] group-hover:tw-text-[color:var(--app-bar-button-color-hover)]"
59401
59408
  }, null, 8, ["icon"])) : le("", !0),
59402
- ae("p", null, Oe(p.title), 1)
59409
+ ae("p", null, Oe(v.title), 1)
59403
59410
  ], 8, KAe))), 128))
59404
59411
  ])) : le("", !0)
59405
59412
  ], 2)), [
59406
- [D(Ml), d]
59413
+ [D(Ml), h]
59407
59414
  ]);
59408
59415
  }
59409
59416
  }), Hm = JAe, XAe = { class: "tw-flex flex-row tw-justify-between tw-grow tw-basis-0" }, QAe = { class: "tw-flex tw-items-center" }, ZAe = { class: "tw-flex tw-shrink-0" }, eOe = { class: "tw-text-s tw-leading-[18px] tw-text-[#8e8e8e] tw-m-0" }, tOe = /* @__PURE__ */ Ge({
@@ -15,6 +15,9 @@ export declare const UserDropdownButton: import("vue").DefineComponent<{
15
15
  type: import("vue").PropType<import("../../..").BladeMenu<import("vue").Component>[]>;
16
16
  default: () => never[];
17
17
  };
18
+ baseMenuItemsHandler: {
19
+ type: import("vue").PropType<(defaultMenuItems: import("../../..").BladeMenu<import("vue").Component>[]) => import("../../..").BladeMenu<import("vue").Component>[]>;
20
+ };
18
21
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
19
22
  disabled: {
20
23
  type: import("vue").PropType<boolean>;
@@ -32,6 +35,9 @@ export declare const UserDropdownButton: import("vue").DefineComponent<{
32
35
  type: import("vue").PropType<import("../../..").BladeMenu<import("vue").Component>[]>;
33
36
  default: () => never[];
34
37
  };
38
+ baseMenuItemsHandler: {
39
+ type: import("vue").PropType<(defaultMenuItems: import("../../..").BladeMenu<import("vue").Component>[]) => import("../../..").BladeMenu<import("vue").Component>[]>;
40
+ };
35
41
  }>>, {
36
42
  menuItems: import("../../..").BladeMenu<import("vue").Component>[];
37
43
  }, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../shared/components/user-dropdown-button/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoD,CAAC;AAGpF,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAiB,gBAAgB;QAC/B,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;KAC/C;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../shared/components/user-dropdown-button/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAoD,CAAC;AAGpF,OAAO,QAAQ,mBAAmB,CAAC;IACjC,UAAiB,gBAAgB;QAC/B,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;KAC/C;CACF"}
@@ -4,6 +4,7 @@ export interface Props {
4
4
  name?: string | undefined;
5
5
  role?: string | undefined;
6
6
  menuItems?: BladeMenu[];
7
+ baseMenuItemsHandler?: (defaultMenuItems: BladeMenu[]) => BladeMenu[];
7
8
  disabled?: boolean;
8
9
  }
9
10
  declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
@@ -1 +1 @@
1
- {"version":3,"file":"user-dropdown-button.vue.d.ts","sourceRoot":"","sources":["../../../../shared/components/user-dropdown-button/user-dropdown-button.vue.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD,MAAM,WAAW,KAAK;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;;AA2QD,wBAMG;AACH,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"}
1
+ {"version":3,"file":"user-dropdown-button.vue.d.ts","sourceRoot":"","sources":["../../../../shared/components/user-dropdown-button/user-dropdown-button.vue.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD,MAAM,WAAW,KAAK;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,CAAC,gBAAgB,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;;;;;;;;AA0RD,wBAMG;AACH,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"}
@@ -127,6 +127,9 @@ declare const _default: {
127
127
  type: import("vue").PropType<import("../../../..").BladeMenu<import("vue").Component>[]>;
128
128
  default: () => never[];
129
129
  };
130
+ baseMenuItemsHandler: {
131
+ type: import("vue").PropType<(defaultMenuItems: import("../../../..").BladeMenu<import("vue").Component>[]) => import("../../../..").BladeMenu<import("vue").Component>[]>;
132
+ };
130
133
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
131
134
  disabled: {
132
135
  type: import("vue").PropType<boolean>;
@@ -144,6 +147,9 @@ declare const _default: {
144
147
  type: import("vue").PropType<import("../../../..").BladeMenu<import("vue").Component>[]>;
145
148
  default: () => never[];
146
149
  };
150
+ baseMenuItemsHandler: {
151
+ type: import("vue").PropType<(defaultMenuItems: import("../../../..").BladeMenu<import("vue").Component>[]) => import("../../../..").BladeMenu<import("vue").Component>[]>;
152
+ };
147
153
  }>>, {
148
154
  menuItems: import("../../../..").BladeMenu<import("vue").Component>[];
149
155
  }, {}>;
@@ -171,6 +177,9 @@ declare const _default: {
171
177
  type: import("vue").PropType<import("../../../..").BladeMenu<import("vue").Component>[]>;
172
178
  default: () => never[];
173
179
  };
180
+ baseMenuItemsHandler: {
181
+ type: import("vue").PropType<(defaultMenuItems: import("../../../..").BladeMenu<import("vue").Component>[]) => import("../../../..").BladeMenu<import("vue").Component>[]>;
182
+ };
174
183
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
175
184
  disabled: {
176
185
  type: import("vue").PropType<boolean>;
@@ -188,6 +197,9 @@ declare const _default: {
188
197
  type: import("vue").PropType<import("../../../..").BladeMenu<import("vue").Component>[]>;
189
198
  default: () => never[];
190
199
  };
200
+ baseMenuItemsHandler: {
201
+ type: import("vue").PropType<(defaultMenuItems: import("../../../..").BladeMenu<import("vue").Component>[]) => import("../../../..").BladeMenu<import("vue").Component>[]>;
202
+ };
191
203
  }>>, {
192
204
  menuItems: import("../../../..").BladeMenu<import("vue").Component>[];
193
205
  }, {}>;
@@ -213,6 +225,9 @@ declare const _default: {
213
225
  type: import("vue").PropType<import("../../../..").BladeMenu<import("vue").Component>[]>;
214
226
  default: () => never[];
215
227
  };
228
+ baseMenuItemsHandler: {
229
+ type: import("vue").PropType<(defaultMenuItems: import("../../../..").BladeMenu<import("vue").Component>[]) => import("../../../..").BladeMenu<import("vue").Component>[]>;
230
+ };
216
231
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
217
232
  disabled: {
218
233
  type: import("vue").PropType<boolean>;
@@ -230,6 +245,9 @@ declare const _default: {
230
245
  type: import("vue").PropType<import("../../../..").BladeMenu<import("vue").Component>[]>;
231
246
  default: () => never[];
232
247
  };
248
+ baseMenuItemsHandler: {
249
+ type: import("vue").PropType<(defaultMenuItems: import("../../../..").BladeMenu<import("vue").Component>[]) => import("../../../..").BladeMenu<import("vue").Component>[]>;
250
+ };
233
251
  }>>, {
234
252
  menuItems: import("../../../..").BladeMenu<import("vue").Component>[];
235
253
  }, {}>;
@@ -257,6 +275,9 @@ declare const _default: {
257
275
  type: import("vue").PropType<import("../../../..").BladeMenu<import("vue").Component>[]>;
258
276
  default: () => never[];
259
277
  };
278
+ baseMenuItemsHandler: {
279
+ type: import("vue").PropType<(defaultMenuItems: import("../../../..").BladeMenu<import("vue").Component>[]) => import("../../../..").BladeMenu<import("vue").Component>[]>;
280
+ };
260
281
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
261
282
  disabled: {
262
283
  type: import("vue").PropType<boolean>;
@@ -274,6 +295,9 @@ declare const _default: {
274
295
  type: import("vue").PropType<import("../../../..").BladeMenu<import("vue").Component>[]>;
275
296
  default: () => never[];
276
297
  };
298
+ baseMenuItemsHandler: {
299
+ type: import("vue").PropType<(defaultMenuItems: import("../../../..").BladeMenu<import("vue").Component>[]) => import("../../../..").BladeMenu<import("vue").Component>[]>;
300
+ };
277
301
  }>>, {
278
302
  menuItems: import("../../../..").BladeMenu<import("vue").Component>[];
279
303
  }, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"vc-app.stories.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-app/vc-app.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK3B,wBAmB+B;AAE/B,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,CAgBxC,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,OAAO,KAAK,CAYtD,CAAC;AAUH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,OAAO,KAAK,CAsBlD,CAAC;AAUH,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,OAAO,KAAK,CAYzD,CAAC;AAUH,eAAO,MAAM,iCAAiC,EAAE,OAAO,CAAC,OAAO,KAAK,CAqBlE,CAAC;AAUH,eAAO,MAAM,+BAA+B,EAAE,OAAO,CAAC,OAAO,KAAK,CAqBhE,CAAC;AAWH,eAAO,MAAM,4BAA4B,EAAE,OAAO,CAAC,OAAO,KAAK,CAqB7D,CAAC"}
1
+ {"version":3,"file":"vc-app.stories.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-app/vc-app.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAK3B,wBAmB+B;AAE/B,eAAO,MAAM,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,CAgBxC,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,OAAO,KAAK,CAYtD,CAAC;AAUH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,OAAO,KAAK,CAsBlD,CAAC;AAUH,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,OAAO,KAAK,CAYzD,CAAC;AAUH,eAAO,MAAM,iCAAiC,EAAE,OAAO,CAAC,OAAO,KAAK,CAqBlE,CAAC;AAUH,eAAO,MAAM,+BAA+B,EAAE,OAAO,CAAC,OAAO,KAAK,CAqBhE,CAAC;AAWH,eAAO,MAAM,4BAA4B,EAAE,OAAO,CAAC,OAAO,KAAK,CAqB7D,CAAC"}
@@ -27,6 +27,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
27
27
  type: import("vue").PropType<import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
28
28
  default: () => never[];
29
29
  };
30
+ baseMenuItemsHandler: {
31
+ type: import("vue").PropType<(defaultMenuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[]) => import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
32
+ };
30
33
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
31
34
  disabled: {
32
35
  type: import("vue").PropType<boolean>;
@@ -44,6 +47,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
44
47
  type: import("vue").PropType<import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
45
48
  default: () => never[];
46
49
  };
50
+ baseMenuItemsHandler: {
51
+ type: import("vue").PropType<(defaultMenuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[]) => import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
52
+ };
47
53
  }>>, {
48
54
  menuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[];
49
55
  }, {}>;
@@ -71,6 +77,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
71
77
  type: import("vue").PropType<import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
72
78
  default: () => never[];
73
79
  };
80
+ baseMenuItemsHandler: {
81
+ type: import("vue").PropType<(defaultMenuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[]) => import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
82
+ };
74
83
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
75
84
  disabled: {
76
85
  type: import("vue").PropType<boolean>;
@@ -88,6 +97,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
88
97
  type: import("vue").PropType<import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
89
98
  default: () => never[];
90
99
  };
100
+ baseMenuItemsHandler: {
101
+ type: import("vue").PropType<(defaultMenuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[]) => import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
102
+ };
91
103
  }>>, {
92
104
  menuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[];
93
105
  }, {}>;
@@ -113,6 +125,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
113
125
  type: import("vue").PropType<import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
114
126
  default: () => never[];
115
127
  };
128
+ baseMenuItemsHandler: {
129
+ type: import("vue").PropType<(defaultMenuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[]) => import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
130
+ };
116
131
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
117
132
  disabled: {
118
133
  type: import("vue").PropType<boolean>;
@@ -130,6 +145,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
130
145
  type: import("vue").PropType<import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
131
146
  default: () => never[];
132
147
  };
148
+ baseMenuItemsHandler: {
149
+ type: import("vue").PropType<(defaultMenuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[]) => import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
150
+ };
133
151
  }>>, {
134
152
  menuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[];
135
153
  }, {}>;
@@ -157,6 +175,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
157
175
  type: import("vue").PropType<import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
158
176
  default: () => never[];
159
177
  };
178
+ baseMenuItemsHandler: {
179
+ type: import("vue").PropType<(defaultMenuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[]) => import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
180
+ };
160
181
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
161
182
  disabled: {
162
183
  type: import("vue").PropType<boolean>;
@@ -174,6 +195,9 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
174
195
  type: import("vue").PropType<import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
175
196
  default: () => never[];
176
197
  };
198
+ baseMenuItemsHandler: {
199
+ type: import("vue").PropType<(defaultMenuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[]) => import("../../../../core/types").BladeMenu<import("vue").Component>[]>;
200
+ };
177
201
  }>>, {
178
202
  menuItems: import("../../../../core/types").BladeMenu<import("vue").Component>[];
179
203
  }, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"vc-app.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-app/vc-app.vue.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2cD,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,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.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-app/vc-app.vue.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2cD,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,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.289",
3
+ "version": "1.0.290",
4
4
  "type": "module",
5
5
  "main": "./dist/framework.js",
6
6
  "types": "./dist/index.d.ts",
@@ -61,9 +61,9 @@
61
61
  "devDependencies": {
62
62
  "@types/dompurify": "^3.0.5",
63
63
  "@types/quill": "^2.0.14",
64
- "@vc-shell/api-client-generator": "^1.0.289",
65
- "@vc-shell/config-generator": "^1.0.289",
66
- "@vc-shell/ts-config": "^1.0.289",
64
+ "@vc-shell/api-client-generator": "^1.0.290",
65
+ "@vc-shell/config-generator": "^1.0.290",
66
+ "@vc-shell/ts-config": "^1.0.290",
67
67
  "@vitejs/plugin-vue": "^5.0.3",
68
68
  "cypress-signalr-mock": "^1.5.0",
69
69
  "sass": "^1.69.6",
@@ -81,6 +81,7 @@ export interface Props {
81
81
  name?: string | undefined;
82
82
  role?: string | undefined;
83
83
  menuItems?: BladeMenu[];
84
+ baseMenuItemsHandler?: (defaultMenuItems: BladeMenu[]) => BladeMenu[];
84
85
  disabled?: boolean;
85
86
  }
86
87
  const props = withDefaults(defineProps<Props>(), {
@@ -96,8 +97,7 @@ const { open } = usePopup({
96
97
  });
97
98
  const { closeBlade } = useBladeNavigation();
98
99
  const accountMenuVisible = ref(false);
99
- const menu = computed(() => [
100
- ...props.menuItems,
100
+ const defaultMenuItems = ref([
101
101
  {
102
102
  title: t("SHELL.ACCOUNT.CHANGE_PASSWORD"),
103
103
  icon: "fas fa-key",
@@ -119,6 +119,22 @@ const menu = computed(() => [
119
119
  },
120
120
  ]);
121
121
 
122
+ const menu = computed(() => {
123
+ const defaultItems = handleDefaultMenuItems();
124
+
125
+ if (defaultItems?.length) {
126
+ return [...props.menuItems, ...defaultItems];
127
+ }
128
+ return [...props.menuItems];
129
+ });
130
+
131
+ function handleDefaultMenuItems() {
132
+ if (props.baseMenuItemsHandler && typeof props.baseMenuItemsHandler === "function") {
133
+ return props.baseMenuItemsHandler(defaultMenuItems.value);
134
+ }
135
+ return defaultMenuItems.value;
136
+ }
137
+
122
138
  const toggleAccountMenuVisible = () => {
123
139
  if (!props.disabled && menu.value && menu.value.length) {
124
140
  accountMenuVisible.value = !accountMenuVisible.value;