@vc-shell/framework 1.1.24 → 1.1.26

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 (83) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/core/composables/useAppInsights/index.ts +2 -2
  3. package/core/composables/useErrorHandler/index.ts +3 -2
  4. package/core/composables/useGlobalSearch/useGlobalSearch.md +263 -0
  5. package/core/composables/usePermissions/index.ts +2 -2
  6. package/core/composables/useTheme/index.ts +74 -26
  7. package/core/composables/useUser/index.ts +29 -8
  8. package/core/composables/useUserManagement/index.ts +45 -0
  9. package/core/interceptors/index.ts +2 -2
  10. package/core/plugins/signalR/index.ts +2 -2
  11. package/core/services/global-search-service/global-search-service.md +203 -0
  12. package/core/services/widget-service.ts +35 -12
  13. package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
  14. package/dist/core/composables/useTheme/index.d.ts +14 -5
  15. package/dist/core/composables/useTheme/index.d.ts.map +1 -1
  16. package/dist/core/composables/useUser/index.d.ts +11 -3
  17. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  18. package/dist/core/composables/useUserManagement/index.d.ts +23 -0
  19. package/dist/core/composables/useUserManagement/index.d.ts.map +1 -0
  20. package/dist/core/services/widget-service.d.ts +9 -7
  21. package/dist/core/services/widget-service.d.ts.map +1 -1
  22. package/dist/framework.js +94 -93
  23. package/dist/{index-DvenBxy6.js → index-20xYwcGS.js} +22032 -21961
  24. package/dist/{index-Br7ZwtRW.js → index-3B7GY2EI.js} +1 -1
  25. package/dist/{index-DAnceKLv.js → index-BGUwsXYM.js} +1 -1
  26. package/dist/{index-eOG-NNYN.js → index-BGghog2f.js} +1 -1
  27. package/dist/{index-Cxkjjuah.js → index-BQNK41p5.js} +1 -1
  28. package/dist/{index-CIzLBvgg.js → index-BeIJlP3x.js} +1 -1
  29. package/dist/{index-BnqqEJTE.js → index-BobFEOd-.js} +1 -1
  30. package/dist/{index-BYcoxn-f.js → index-CYbdhec2.js} +1 -1
  31. package/dist/{index-BbuBDu8A.js → index-DQczMBoO.js} +1 -1
  32. package/dist/{index-cuex9jil.js → index-DSNT0XVw.js} +1 -1
  33. package/dist/{index-DoArZBIw.js → index-DXHjWa3b.js} +1 -1
  34. package/dist/{index-Dk1K3-27.js → index-Dcf_1-Il.js} +1 -1
  35. package/dist/{index-CGL9e-cM.js → index-DszRvG1r.js} +1 -1
  36. package/dist/{index-CLAYu8Qj.js → index-DyPpTQJI.js} +1 -1
  37. package/dist/{index-Cmbxdwnl.js → index-Nr1LNRXa.js} +1 -1
  38. package/dist/{index-CRwMOCjN.js → index-RMOqRXFr.js} +1 -1
  39. package/dist/{index-BLmjssqE.js → index-Tsyx9GI7.js} +1 -1
  40. package/dist/index.css +1 -1
  41. package/dist/locales/de.json +6 -0
  42. package/dist/locales/en.json +6 -0
  43. package/dist/shared/components/change-password/change-password.vue.d.ts.map +1 -1
  44. package/dist/shared/components/notifications/components/notification-container/index.d.ts +1 -1
  45. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  46. package/dist/shared/components/settings-menu/settings-menu.vue.d.ts.map +1 -1
  47. package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts +6 -11
  48. package/dist/shared/components/settings-menu-item/settings-menu-item.vue.d.ts.map +1 -1
  49. package/dist/shared/components/sidebar/sidebar.vue.d.ts +3 -11
  50. package/dist/shared/components/sidebar/sidebar.vue.d.ts.map +1 -1
  51. package/dist/shared/components/theme-selector/theme-selector.vue.d.ts.map +1 -1
  52. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  53. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  54. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
  55. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  58. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  59. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  60. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue.d.ts.map +1 -1
  61. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue.d.ts.map +1 -1
  62. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +1 -1
  63. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  64. package/package.json +4 -4
  65. package/shared/components/change-password/change-password.vue +2 -3
  66. package/shared/components/logout-button/logout-button.vue +2 -2
  67. package/shared/components/settings-menu/settings-menu.vue +1 -4
  68. package/shared/components/settings-menu-item/settings-menu-item.vue +9 -1
  69. package/shared/components/sidebar/sidebar.vue +6 -1
  70. package/shared/components/theme-selector/theme-selector.vue +11 -11
  71. package/shared/components/user-dropdown-button/_internal/user-info.vue +2 -2
  72. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +1 -0
  73. package/shared/pages/InvitePage/components/invite/Invite.vue +217 -216
  74. package/shared/pages/LoginPage/components/login/Login.vue +3 -2
  75. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +3 -2
  76. package/ui/components/atoms/vc-icon/vc-icon.vue +5 -10
  77. package/ui/components/atoms/vc-widget/vc-widget.vue +13 -6
  78. package/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.stories.ts +0 -2
  79. package/ui/components/organisms/vc-app/vc-app.vue +4 -3
  80. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue +2 -1
  81. package/ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue +2 -0
  82. package/ui/components/organisms/vc-popup/vc-popup.stories.ts +398 -0
  83. package/ui/components/organisms/vc-popup/vc-popup.vue +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vc-icon.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/atoms/vc-icon/vc-icon.vue"],"names":[],"mappings":"AAumBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAOrC,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAC9F,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,KAAK;IACpB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;;UAxBQ,QAAQ;UANR,MAAM,GAAG,SAAS;cA6Bd,MAAM;kBAXF,OAAO;;AAybxB,wBAOG"}
1
+ {"version":3,"file":"vc-icon.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/atoms/vc-icon/vc-icon.vue"],"names":[],"mappings":"AAkmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAOrC,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAC9F,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,KAAK;IACpB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;;UAxBQ,QAAQ;UANR,MAAM,GAAG,SAAS;cA6Bd,MAAM;kBAXF,OAAO;;AAybxB,wBAOG"}
@@ -1 +1 @@
1
- {"version":3,"file":"vc-widget.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/atoms/vc-widget/vc-widget.vue"],"names":[],"mappings":"AA8KA,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;;;;AAsID,wBAOG"}
1
+ {"version":3,"file":"vc-widget.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/atoms/vc-widget/vc-widget.vue"],"names":[],"mappings":"AAqLA,MAAM,WAAW,KAAK;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;;;;;;AA6ID,wBAOG"}
@@ -1 +1 @@
1
- {"version":3,"file":"vc-app.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-app/vc-app.vue"],"names":[],"mappings":"AAqUA,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,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CACrC,CAAC;AAyUF,QAAA,MAAM,eAAe;mCAnVe,IAAI;;uCAAJ,IAAI;kFA0VtC,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAQ1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"vc-app.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-app/vc-app.vue"],"names":[],"mappings":"AAuUA,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,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAWD,KAAK,WAAW,GAAG;IACjB,cAAc,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;CACrC,CAAC;AAyUF,QAAA,MAAM,eAAe;mCAnVe,IAAI;;uCAAJ,IAAI;kFA0VtC,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAQ1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"vc-widget-container-desktop.vue.d.ts","sourceRoot":"","sources":["../../../../../../../../ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue"],"names":[],"mappings":"AA0GA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI7D,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;;AAmJD,wBAMG"}
1
+ {"version":3,"file":"vc-widget-container-desktop.vue.d.ts","sourceRoot":"","sources":["../../../../../../../../ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-desktop.vue"],"names":[],"mappings":"AA2GA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI7D,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;;AAsJD,wBAMG"}
@@ -1 +1 @@
1
- {"version":3,"file":"vc-widget-container-mobile.vue.d.ts","sourceRoot":"","sources":["../../../../../../../../ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue"],"names":[],"mappings":"AAsJA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI7D,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;;AA2KD,wBAMG"}
1
+ {"version":3,"file":"vc-widget-container-mobile.vue.d.ts","sourceRoot":"","sources":["../../../../../../../../ui/components/organisms/vc-blade/_internal/vc-blade-widget-container/_internal/vc-widget-container-mobile.vue"],"names":[],"mappings":"AAwJA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI7D,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;;AA+KD,wBAMG"}
@@ -1,4 +1,4 @@
1
- interface Props {
1
+ export interface Props {
2
2
  title?: string;
3
3
  closable?: boolean;
4
4
  variant?: "default" | "error" | "warning" | "success" | "info";
@@ -1 +1 @@
1
- {"version":3,"file":"vc-popup.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-popup/vc-popup.vue"],"names":[],"mappings":"AAmWA,UAAU,KAAK;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgBD,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,GAAG,CAAC;CAC/C,CAAC;AA2TF,QAAA,MAAM,eAAe;;;;;aAnVT,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM;cADnD,OAAO;gBAIL,MAAM;6EAwVnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"vc-popup.vue.d.ts","sourceRoot":"","sources":["../../../../../ui/components/organisms/vc-popup/vc-popup.vue"],"names":[],"mappings":"AAmWA,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgBD,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7B,MAAM,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,GAAG,CAAC;CAC/C,CAAC;AA2TF,QAAA,MAAM,eAAe;;;;;aAnVT,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM;cADnD,OAAO;gBAIL,MAAM;6EAwVnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAa1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vc-shell/framework",
3
- "version": "1.1.24",
3
+ "version": "1.1.26",
4
4
  "type": "module",
5
5
  "main": "./dist/framework.js",
6
6
  "types": "./dist/index.d.ts",
@@ -70,9 +70,9 @@
70
70
  "devDependencies": {
71
71
  "@fullhuman/postcss-purgecss": "^7.0.2",
72
72
  "@types/dompurify": "^3.0.5",
73
- "@vc-shell/api-client-generator": "^1.1.24",
74
- "@vc-shell/config-generator": "^1.1.24",
75
- "@vc-shell/ts-config": "^1.1.24",
73
+ "@vc-shell/api-client-generator": "^1.1.26",
74
+ "@vc-shell/config-generator": "^1.1.26",
75
+ "@vc-shell/ts-config": "^1.1.26",
76
76
  "@vitejs/plugin-vue": "^5.2.3",
77
77
  "@vue/test-utils": "^2.4.5",
78
78
  "cypress-signalr-mock": "^1.5.0",
@@ -137,7 +137,7 @@ import { nextTick, reactive, computed } from "vue";
137
137
  import { useIsFormValid, Field, useIsFormDirty, useForm } from "vee-validate";
138
138
  import { VcInput, VcHint, VcButton, VcPopup, VcForm } from "./../../../ui/components";
139
139
  import { IIdentityError } from "./../../../core/api/platform";
140
- import { useUser } from "./../../../core/composables/useUser";
140
+ import { useUserManagement } from "./../../../core/composables/useUserManagement";
141
141
  import { useI18n } from "vue-i18n";
142
142
  import { useRouter } from "vue-router";
143
143
 
@@ -162,12 +162,11 @@ interface Emits {
162
162
 
163
163
  const emit = defineEmits<Emits>();
164
164
  const { t } = useI18n({ useScope: "global" });
165
- const { changeUserPassword, loading, validatePassword } = useUser();
165
+ const { changeUserPassword, loading, validatePassword, signOut } = useUserManagement();
166
166
  useForm({ validateOnMount: false });
167
167
  const isValid = useIsFormValid();
168
168
  const isDirty = useIsFormDirty();
169
169
  const router = useRouter();
170
- const { signOut } = useUser();
171
170
 
172
171
  const form = reactive<IChangePassForm>({
173
172
  isValid: false,
@@ -9,11 +9,11 @@
9
9
  <script lang="ts" setup>
10
10
  import { SettingsMenuItem } from "../settings-menu-item";
11
11
  import { LogoutIcon } from "../../../ui/components/atoms/vc-icon/icons";
12
- import { useUser } from "../../../core/composables";
12
+ import { useUserManagement } from "../../../core/composables/useUserManagement";
13
13
  import { useRouter } from "vue-router";
14
14
  import { useBladeNavigation } from "../blade-navigation";
15
15
 
16
- const { signOut } = useUser();
16
+ const { signOut } = useUserManagement();
17
17
  const router = useRouter();
18
18
  const { closeBlade } = useBladeNavigation();
19
19
 
@@ -10,12 +10,9 @@
10
10
  </template>
11
11
 
12
12
  <script lang="ts" setup>
13
- import { inject } from "vue";
14
13
  import { useSettingsMenu } from "../../../core/composables/useSettingsMenu";
15
- import { SettingsMenuServiceKey } from "../../../injection-keys";
16
14
 
17
- const settingsMenu = useSettingsMenu();
18
- const { items } = settingsMenu;
15
+ const { items } = useSettingsMenu();
19
16
  </script>
20
17
 
21
18
  <style lang="scss">
@@ -41,7 +41,7 @@
41
41
  <slot name="content" />
42
42
  </div>
43
43
  </template>
44
-
44
+ <!-- eslint-disable @typescript-eslint/no-explicit-any -->
45
45
  <script lang="ts" setup>
46
46
  import { Component } from "vue";
47
47
  import { VcIcon, VcImage } from "../../../ui/components";
@@ -62,6 +62,14 @@ const props = withDefaults(defineProps<Props>(), {
62
62
  triggerAction: "click",
63
63
  });
64
64
 
65
+ defineSlots<{
66
+ trigger: (props: any) => any;
67
+ icon: (props: any) => any;
68
+ title: (props: any) => any;
69
+ additional: (props: any) => any;
70
+ content: (props: any) => any;
71
+ }>();
72
+
65
73
  const emit = defineEmits<{
66
74
  (e: "trigger:click"): void;
67
75
  (e: "trigger:hover"): void;
@@ -42,7 +42,7 @@
42
42
  </template>
43
43
  </Teleport>
44
44
  </template>
45
-
45
+ <!-- eslint-disable @typescript-eslint/no-explicit-any -->
46
46
  <script lang="ts" setup>
47
47
  import { h } from "vue";
48
48
  import { VcIcon, CrossSignIcon } from "../../../ui/components";
@@ -59,6 +59,11 @@ export interface Emits {
59
59
  (event: "close"): void;
60
60
  }
61
61
 
62
+ defineSlots<{
63
+ header: (props: any) => any;
64
+ content: (props: any) => any;
65
+ }>();
66
+
62
67
  const emit = defineEmits<Emits>();
63
68
 
64
69
  const props = withDefaults(defineProps<Props>(), {
@@ -16,16 +16,16 @@
16
16
  <GenericDropdown
17
17
  :opened="opened"
18
18
  :items="themes"
19
- :is-item-active="(theme) => theme === current"
19
+ :is-item-active="(theme) => theme.key === currentThemeKey"
20
20
  @item-click="handleThemeSelect"
21
21
  >
22
22
  <template #item="{ item: theme, click }">
23
23
  <div
24
24
  class="vc-theme-selector__item"
25
- :class="{ 'vc-theme-selector__item--active': theme === current }"
25
+ :class="{ 'vc-theme-selector__item--active': theme.key === currentThemeKey }"
26
26
  @click="click"
27
27
  >
28
- <span class="vc-theme-selector__item-title">{{ _.capitalize(theme) }}</span>
28
+ <span class="vc-theme-selector__item-title">{{ theme.name }}</span>
29
29
  </div>
30
30
  </template>
31
31
  </GenericDropdown>
@@ -38,24 +38,24 @@ import { GenericDropdown } from "../generic-dropdown";
38
38
  import { useTheme } from "../../../core/composables/useTheme";
39
39
  import { ref, watch } from "vue";
40
40
  import { notification } from "..";
41
- import * as _ from "lodash-es";
42
41
  import { SettingsMenuItem } from "../settings-menu-item";
43
42
  import { VcIcon } from "../../../ui/components";
44
43
 
45
- const { current, themes, setTheme } = useTheme();
44
+ const { currentThemeKey, currentLocalizedName, themes, setTheme } = useTheme();
46
45
  const opened = ref(false);
47
46
 
48
- const handleThemeSelect = (theme: string) => {
49
- setTheme(theme);
47
+ const handleThemeSelect = (theme: { key: string; name: string }) => {
48
+ setTheme(theme.key);
50
49
  opened.value = false;
51
50
  };
52
51
 
53
52
  watch(
54
- () => current.value,
55
- (newVal) => {
56
- notification(_.capitalize(newVal));
53
+ () => currentLocalizedName.value,
54
+ (newLocalizedName) => {
55
+ if (newLocalizedName) {
56
+ notification(newLocalizedName);
57
+ }
57
58
  },
58
- { deep: true },
59
59
  );
60
60
  </script>
61
61
 
@@ -31,7 +31,7 @@
31
31
 
32
32
  <script lang="ts" setup>
33
33
  import { computed } from "vue";
34
- import { useUser } from "../../../../core/composables";
34
+ import { useUserManagement } from "../../../../core/composables/useUserManagement";
35
35
  import { VcIcon } from "../../../../ui/components";
36
36
 
37
37
  export interface Props {
@@ -42,7 +42,7 @@ export interface Props {
42
42
  }
43
43
 
44
44
  const props = defineProps<Props>();
45
- const { user } = useUser();
45
+ const { user } = useUserManagement();
46
46
 
47
47
  const imageHandler = computed(() => {
48
48
  if (props.avatarUrl) {
@@ -459,6 +459,7 @@ onMounted(() => {
459
459
  },
460
460
  },
461
461
  isVisible: visibilityMethod ? computed(() => bladeContext.value.scope?.[visibilityMethod]) : true,
462
+ updateFunctionName: "updateActiveWidgetCount",
462
463
  },
463
464
  blade.value.id,
464
465
  );