@vc-shell/framework 1.1.30 → 1.1.34

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 (109) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/core/composables/useErrorHandler/index.ts +28 -36
  3. package/core/composables/useLanguages/index.ts +1 -0
  4. package/core/services/settings-menu-service.ts +6 -6
  5. package/core/utilities/error.ts +89 -0
  6. package/dist/core/composables/useErrorHandler/index.d.ts +10 -1
  7. package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
  8. package/dist/core/composables/useLanguages/index.d.ts.map +1 -1
  9. package/dist/core/services/settings-menu-service.d.ts +3 -3
  10. package/dist/core/services/settings-menu-service.d.ts.map +1 -1
  11. package/dist/core/utilities/error.d.ts +13 -0
  12. package/dist/core/utilities/error.d.ts.map +1 -0
  13. package/dist/framework.js +138 -134
  14. package/dist/{index-Bpzd_lmX.js → index-0JXtGXkU.js} +1 -1
  15. package/dist/{index-DJxEdMUZ.js → index-B4vlCcFR.js} +1 -1
  16. package/dist/{index-Bn87vMP8.js → index-Bo-tMcwW.js} +1 -1
  17. package/dist/{index-CM7z23lM.js → index-Bxzy9NzM.js} +1 -1
  18. package/dist/{index-BhEc39Bx.js → index-C0HMg87C.js} +1 -1
  19. package/dist/{index-DFp2PcZu.js → index-C34EKuYz.js} +1 -1
  20. package/dist/{index-B8e874V3.js → index-CIYNhqa0.js} +1 -1
  21. package/dist/{index-CK1ZmJzV.js → index-D2ktcdHl.js} +30374 -30127
  22. package/dist/{index-CR9ZPpuz.js → index-DKAEB9Q6.js} +1 -1
  23. package/dist/{index-BeTy-tH8.js → index-DWkmlYj4.js} +1 -1
  24. package/dist/{index-Cl-FWJ0z.js → index-Dxs7WOw2.js} +1 -1
  25. package/dist/{index-sElVLLwP.js → index-NFZ0riWN.js} +1 -1
  26. package/dist/{index-BerVe4OV.js → index-W3dvhLJ3.js} +1 -1
  27. package/dist/{index-C-pBZXky.js → index-Yu2Xrty9.js} +1 -1
  28. package/dist/{index-AgS-u96H.js → index-jKOJ5dxS.js} +1 -1
  29. package/dist/{index-HFn5nMnu.js → index-lJ-eV6nh.js} +1 -1
  30. package/dist/{index-NX-Ek0LQ.js → index-uOSH3WBg.js} +1 -1
  31. package/dist/index.css +1 -1
  32. package/dist/locales/de.json +1 -1
  33. package/dist/locales/en.json +1 -1
  34. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  35. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +3 -2
  36. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -1
  37. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +2 -0
  38. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  39. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.d.ts +2 -0
  40. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.d.ts.map +1 -1
  41. package/dist/shared/components/blade-navigation/types/index.d.ts +3 -2
  42. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  43. package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts +18 -363
  44. package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts.map +1 -1
  45. package/dist/shared/components/error-interceptor/interceptor.d.ts +7 -4
  46. package/dist/shared/components/error-interceptor/interceptor.d.ts.map +1 -1
  47. package/dist/shared/components/index.d.ts +1 -0
  48. package/dist/shared/components/index.d.ts.map +1 -1
  49. package/dist/shared/components/multilanguage-selector/index.d.ts +2 -0
  50. package/dist/shared/components/multilanguage-selector/index.d.ts.map +1 -0
  51. package/dist/shared/components/multilanguage-selector/multilanguage-selector.vue.d.ts +43 -0
  52. package/dist/shared/components/multilanguage-selector/multilanguage-selector.vue.d.ts.map +1 -0
  53. package/dist/shared/composables/index.d.ts +1 -0
  54. package/dist/shared/composables/index.d.ts.map +1 -1
  55. package/dist/shared/composables/useModificationTracker/index.d.ts +34 -0
  56. package/dist/shared/composables/useModificationTracker/index.d.ts.map +1 -0
  57. package/dist/shared/index.d.ts +1 -0
  58. package/dist/shared/index.d.ts.map +1 -1
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/dist/ui/components/atoms/index.d.ts +1 -0
  61. package/dist/ui/components/atoms/index.d.ts.map +1 -1
  62. package/dist/ui/components/atoms/vc-banner/index.d.ts +2 -0
  63. package/dist/ui/components/atoms/vc-banner/index.d.ts.map +1 -0
  64. package/dist/ui/components/atoms/vc-banner/vc-banner.vue.d.ts +25 -0
  65. package/dist/ui/components/atoms/vc-banner/vc-banner.vue.d.ts.map +1 -0
  66. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
  67. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts +1 -0
  68. package/dist/ui/components/molecules/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  69. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +1 -0
  70. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  71. package/dist/ui/components/organisms/vc-blade/vc-blade.backupsb.d.ts +5 -1
  72. package/dist/ui/components/organisms/vc-blade/vc-blade.backupsb.d.ts.map +1 -1
  73. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +3 -1
  74. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  75. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts +0 -1
  76. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue.d.ts.map +1 -1
  77. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts +0 -1
  78. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue.d.ts.map +1 -1
  79. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts +0 -1
  80. package/dist/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue.d.ts.map +1 -1
  81. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts +4 -4
  82. package/dist/ui/components/organisms/vc-table/composables/useTableActions.d.ts.map +1 -1
  83. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  84. package/package.json +5 -6
  85. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +18 -18
  86. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +5 -3
  87. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +12 -1
  88. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.ts +34 -0
  89. package/shared/components/blade-navigation/types/index.ts +2 -1
  90. package/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.ts +17 -3
  91. package/shared/components/error-interceptor/interceptor.ts +48 -44
  92. package/shared/components/index.ts +1 -0
  93. package/shared/components/multilanguage-selector/index.ts +1 -0
  94. package/shared/components/multilanguage-selector/multilanguage-selector.vue +144 -0
  95. package/shared/composables/index.ts +2 -1
  96. package/shared/composables/useModificationTracker/index.ts +93 -0
  97. package/shared/index.ts +1 -0
  98. package/ui/components/atoms/index.ts +1 -0
  99. package/ui/components/atoms/vc-banner/index.ts +1 -0
  100. package/ui/components/atoms/vc-banner/vc-banner.vue +138 -0
  101. package/ui/components/atoms/vc-card/vc-card.vue +6 -0
  102. package/ui/components/molecules/vc-checkbox/vc-checkbox.vue +9 -3
  103. package/ui/components/organisms/vc-app/vc-app.vue +6 -1
  104. package/ui/components/organisms/vc-blade/vc-blade.vue +40 -50
  105. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-body/vc-table-body.vue +0 -2
  106. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/_internal/vc-table-row/vc-table-row.vue +1 -2
  107. package/ui/components/organisms/vc-table/_internal/vc-table-desktop-view/vc-table-desktop-view.vue +0 -2
  108. package/ui/components/organisms/vc-table/composables/useTableActions.ts +13 -8
  109. package/ui/components/organisms/vc-table/vc-table.vue +6 -6
package/CHANGELOG.md CHANGED
@@ -1,3 +1,37 @@
1
+ ## [1.1.34](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.33...v1.1.34) (2025-06-23)
2
+
3
+
4
+
5
+ ## [1.1.33](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.32...v1.1.33) (2025-06-23)
6
+
7
+
8
+
9
+ ## [1.1.32](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.31...v1.1.32) (2025-06-23)
10
+
11
+
12
+
13
+ ## [1.1.31](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.30...v1.1.31) (2025-06-23)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **types:** update error property in IBladeInstance to allow undefined value ([c2f0fb5](https://github.com/VirtoCommerce/vc-shell/commit/c2f0fb58513e15ffadc581f2b75d43618c3b6f10))
19
+ * **useLanguages:** add validation to getFlag function to handle empty language input ([853325e](https://github.com/VirtoCommerce/vc-shell/commit/853325ecc55e5e26f2e90021f8b4b7d7b6415142))
20
+ * **vc-checkbox:** update v-model binding to use modelValue and enhance checked state logic for array support ([e3a70dd](https://github.com/VirtoCommerce/vc-shell/commit/e3a70ddc0badd12160319a259ccd592ddb823ca9))
21
+
22
+
23
+ ### Features
24
+
25
+ * **composables:** add useModificationTracker composable for tracking value changes and modifications ([ad911e1](https://github.com/VirtoCommerce/vc-shell/commit/ad911e19640ea675a70cdaf2e6b6c6f5c0f2f0a4))
26
+ * **dashboard:** enhance useDashboardDragAndDrop composable with TypeScript return type and improved setGridContainer function ([65a726f](https://github.com/VirtoCommerce/vc-shell/commit/65a726f65d396f073a21f3502fba7e62e2ce4f03))
27
+ * **error-handling:** implement DisplayableError class and enhance useErrorHandler for better error normalization and handling ([a68473b](https://github.com/VirtoCommerce/vc-shell/commit/a68473b98726d436d3ab272e0afee9db2d92174b))
28
+ * **multilanguage-selector:** add VcLanguageSelector component for language selection with dropdown functionality ([f620e1d](https://github.com/VirtoCommerce/vc-shell/commit/f620e1dfa94b4b468c5c40a276c411be4b993f9b))
29
+ * **vc-app:** add disableAppSwitcher prop to control app switcher visibility in VcApp component ([ab2d6dc](https://github.com/VirtoCommerce/vc-shell/commit/ab2d6dc7c09cbf99f7501bb6a8b51d9c3be3d1af))
30
+ * **vc-banner:** add VcBanner component for displaying contextual information with expandable content ([5fa7b4f](https://github.com/VirtoCommerce/vc-shell/commit/5fa7b4f77117a02aa559a48dc1f020414c380720))
31
+ * **vc-card:** enhance VcCard component by adding v-bind for attribute inheritance and defining component options ([12d0096](https://github.com/VirtoCommerce/vc-shell/commit/12d0096809ce46cbff1cdf30c8b4f44d6f69a8ad))
32
+
33
+
34
+
1
35
  ## [1.1.30](https://github.com/VirtoCommerce/vc-shell/compare/v1.1.29...v1.1.30) (2025-06-11)
2
36
 
3
37
 
@@ -1,14 +1,23 @@
1
1
  import { onErrorCaptured, getCurrentInstance, ref, Ref } from "vue";
2
2
  import { useAppInsights } from "..";
3
3
  import { useUserManagement } from "../useUserManagement";
4
+ import { DisplayableError, parseError } from "../../utilities/error";
4
5
 
5
6
  interface IUseErrorHandler {
6
- error: Ref<string | null>;
7
+ error: Ref<DisplayableError | null>;
7
8
  reset(): void;
8
9
  }
9
10
 
11
+ /**
12
+ * A composable to handle and normalize errors within a component's lifecycle.
13
+ * It captures errors, tracks them with Application Insights, and emits them
14
+ * for parent components to handle.
15
+ *
16
+ * @param capture - If true, prevents the error from propagating further up the component tree.
17
+ * @returns An object with the reactive error and a reset function.
18
+ */
10
19
  export function useErrorHandler(capture?: boolean): IUseErrorHandler {
11
- const error = ref<string | null>(null);
20
+ const error = ref<DisplayableError | null>(null);
12
21
  const instance = getCurrentInstance();
13
22
  const { appInsights } = useAppInsights();
14
23
  const { user } = useUserManagement();
@@ -21,45 +30,28 @@ export function useErrorHandler(capture?: boolean): IUseErrorHandler {
21
30
  }
22
31
  }
23
32
 
24
- onErrorCaptured((err) => {
25
- if (err) {
26
- if (err instanceof Error) {
27
- if (typeof err === "object" && "isApiException" in err && "response" in err) {
28
- const res = JSON.parse(String(err.response));
29
- if (res && "message" in res) {
30
- error.value = res.message;
31
- } else if (err.message) {
32
- error.value = err.message;
33
- } else {
34
- error.value = err.toString();
35
- }
36
- } else {
37
- error.value = err.message || err.toString();
38
- }
39
- } else {
40
- error.value = String(err);
41
- }
42
-
43
- if (appInsights) {
44
- appInsights.trackException({
45
- exception: err instanceof Error ? err : new Error(String(err)),
46
- properties: {
47
- userId: user.value?.id ?? "",
48
- userName: user.value?.userName ?? "",
49
- },
50
- });
51
- }
52
-
53
- console.error(err);
33
+ onErrorCaptured((err: unknown) => {
34
+ const capturedError = parseError(err);
35
+ error.value = capturedError;
36
+
37
+ if (appInsights) {
38
+ appInsights.trackException({
39
+ exception: capturedError,
40
+ properties: {
41
+ userId: user.value?.id ?? "",
42
+ userName: user.value?.userName ?? "",
43
+ },
44
+ });
54
45
  }
55
46
 
47
+ console.error("Captured Error:", capturedError.originalError);
48
+
56
49
  if (instance) {
57
- instance.emit("error", error.value);
50
+ instance.emit("error", capturedError);
58
51
  }
59
52
 
60
- if (capture) {
61
- return false;
62
- }
53
+ // if `capture` is true, stop the error from propagating further.
54
+ return !capture;
63
55
  });
64
56
 
65
57
  return {
@@ -63,6 +63,7 @@ export const useLanguages = createSharedComposable(() => {
63
63
  }
64
64
 
65
65
  async function getFlag(language: string): Promise<string> {
66
+ if (!language) return "";
66
67
  const countryCode = getCountryCode(language);
67
68
  return new URL(`../../../assets/icons/flags/${countryCode}.svg`, import.meta.url).href;
68
69
  }
@@ -1,25 +1,25 @@
1
1
  import { ref, computed, Component, ComputedRef } from "vue";
2
2
 
3
- export interface SettingsMenuItem {
3
+ export interface ISettingsMenuItem {
4
4
  id: string;
5
5
  order?: number;
6
6
  component: Component;
7
7
  props?: Record<string, unknown>;
8
8
  }
9
9
 
10
- export interface RegisterSettingsMenuItemOptions extends Omit<SettingsMenuItem, "id"> {
10
+ export interface RegisterSettingsMenuItemOptions extends Omit<ISettingsMenuItem, "id"> {
11
11
  id?: string;
12
12
  }
13
13
 
14
14
  export interface ISettingsMenuService {
15
15
  register: (options: RegisterSettingsMenuItemOptions) => string;
16
16
  unregister: (id: string) => void;
17
- items: ComputedRef<SettingsMenuItem[]>;
17
+ items: ComputedRef<ISettingsMenuItem[]>;
18
18
  }
19
19
 
20
20
  // Global state for pre-registering settings menu items
21
- const preregisteredSettingsMenuItems: SettingsMenuItem[] = [];
22
- const settingsMenuItems = ref<Map<string, SettingsMenuItem>>(new Map());
21
+ const preregisteredSettingsMenuItems: ISettingsMenuItem[] = [];
22
+ const settingsMenuItems = ref<Map<string, ISettingsMenuItem>>(new Map());
23
23
 
24
24
  /**
25
25
  * Registers a settings menu item before the service is initialized
@@ -54,7 +54,7 @@ export function createSettingsMenuService(): ISettingsMenuService {
54
54
  settingsMenuItems.value.delete(id);
55
55
  };
56
56
 
57
- const items = computed<SettingsMenuItem[]>(() => {
57
+ const items = computed<ISettingsMenuItem[]>(() => {
58
58
  return Array.from(settingsMenuItems.value.values()).sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
59
59
  });
60
60
 
@@ -0,0 +1,89 @@
1
+ // A custom error class to normalize different error types for display.
2
+ export class DisplayableError extends Error {
3
+ details: string;
4
+ originalError: unknown;
5
+
6
+ constructor(shortMessage: string, details: string, originalError: unknown) {
7
+ super(shortMessage);
8
+ this.name = "DisplayableError";
9
+ this.details = details;
10
+ this.originalError = originalError;
11
+ }
12
+ }
13
+ // TODO: add to docs?
14
+ /**
15
+ * Parses an unknown error type into a standardized DisplayableError.
16
+ * This function handles nested errors, API responses, and various error formats.
17
+ * @param errorToParse The error to analyze.
18
+ * @returns A DisplayableError instance.
19
+ */
20
+ export function parseError(errorToParse: unknown): DisplayableError {
21
+ if (errorToParse instanceof DisplayableError) {
22
+ return errorToParse;
23
+ }
24
+
25
+ // Handle Axios-style errors, which are instances of Error but have a `response` property.
26
+ if (errorToParse instanceof Error && "response" in errorToParse && errorToParse.response) {
27
+ // Delegate to parse the nested response object.
28
+ return parseError(errorToParse.response);
29
+ }
30
+
31
+ // Handle standard Error objects.
32
+ if (errorToParse instanceof Error) {
33
+ return new DisplayableError(errorToParse.message, errorToParse.stack || String(errorToParse), errorToParse);
34
+ }
35
+
36
+ // Handle strings, which might be JSON.
37
+ if (typeof errorToParse === "string") {
38
+ try {
39
+ const parsed = JSON.parse(errorToParse);
40
+ return parseError(parsed);
41
+ } catch {
42
+ // Not a JSON string, treat as a plain message.
43
+ return new DisplayableError(errorToParse, errorToParse, errorToParse);
44
+ }
45
+ }
46
+
47
+ // Handle plain objects, which are likely API responses.
48
+ if (typeof errorToParse === "object" && errorToParse !== null) {
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ const errorObject = errorToParse as Record<string, any>;
51
+
52
+ // Check if it conforms to the expected API error response structure.
53
+ if ("status" in errorObject && "data" in errorObject) {
54
+ const status = errorObject.status;
55
+ const statusText = errorObject.statusText || "Error"; // TODO: i18n
56
+ const shortMessage = `${status}: ${statusText}`;
57
+
58
+ const data = errorObject.data;
59
+ let details = "";
60
+
61
+ if (data) {
62
+ if (typeof data.exceptionMessage === "string") {
63
+ details = data.exceptionMessage;
64
+ } else if (typeof data.message === "string") {
65
+ details = data.message;
66
+ } else if (Array.isArray(data.errors)) {
67
+ details = data.errors.join("\n");
68
+ } else if (typeof data === "string") {
69
+ details = data;
70
+ } else {
71
+ details = JSON.stringify(data, null, 2);
72
+ }
73
+ } else {
74
+ // Fallback if data is null/undefined.
75
+ details = JSON.stringify(errorObject, null, 2);
76
+ }
77
+
78
+ return new DisplayableError(shortMessage, details, errorToParse);
79
+ }
80
+
81
+ // Fallback for other object structures.
82
+ const shortMessage = (errorObject.message as string) || "An unexpected error occurred.";
83
+ const details = (errorObject.stack as string) || JSON.stringify(errorObject, null, 2);
84
+ return new DisplayableError(shortMessage, details, errorToParse);
85
+ }
86
+
87
+ // Fallback for any other type (null, number, etc.).
88
+ return new DisplayableError("An unknown error occurred.", String(errorToParse), errorToParse);
89
+ }
@@ -1,8 +1,17 @@
1
1
  import { Ref } from "vue";
2
+ import { DisplayableError } from "../../utilities/error";
2
3
  interface IUseErrorHandler {
3
- error: Ref<string | null>;
4
+ error: Ref<DisplayableError | null>;
4
5
  reset(): void;
5
6
  }
7
+ /**
8
+ * A composable to handle and normalize errors within a component's lifecycle.
9
+ * It captures errors, tracks them with Application Insights, and emits them
10
+ * for parent components to handle.
11
+ *
12
+ * @param capture - If true, prevents the error from propagating further up the component tree.
13
+ * @returns An object with the reactive error and a reset function.
14
+ */
6
15
  export declare function useErrorHandler(capture?: boolean): IUseErrorHandler;
7
16
  export {};
8
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useErrorHandler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,GAAG,EAAE,MAAM,KAAK,CAAC;AAIpE,UAAU,gBAAgB;IACxB,KAAK,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CA2DnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useErrorHandler/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,GAAG,EAAE,MAAM,KAAK,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAc,MAAM,uBAAuB,CAAC;AAErE,UAAU,gBAAgB;IACxB,KAAK,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IACpC,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,gBAAgB,CA0CnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useLanguages/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAY,MAAM,KAAK,CAAC;AAI5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1D,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,YAAY;wBAcI,MAAM;;gCAWE,MAAM;qCAQD,MAAM;wBAeb,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;+BANvB,MAAM,KAAG,MAAM;CAmBjD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useLanguages/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAY,MAAM,KAAK,CAAC;AAI5C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1D,sBAAsB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,YAAY;wBAcI,MAAM;;gCAWE,MAAM;qCAQD,MAAM;wBAeb,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;+BANvB,MAAM,KAAG,MAAM;CAoBjD,CAAC"}
@@ -1,17 +1,17 @@
1
1
  import { Component, ComputedRef } from "vue";
2
- export interface SettingsMenuItem {
2
+ export interface ISettingsMenuItem {
3
3
  id: string;
4
4
  order?: number;
5
5
  component: Component;
6
6
  props?: Record<string, unknown>;
7
7
  }
8
- export interface RegisterSettingsMenuItemOptions extends Omit<SettingsMenuItem, "id"> {
8
+ export interface RegisterSettingsMenuItemOptions extends Omit<ISettingsMenuItem, "id"> {
9
9
  id?: string;
10
10
  }
11
11
  export interface ISettingsMenuService {
12
12
  register: (options: RegisterSettingsMenuItemOptions) => string;
13
13
  unregister: (id: string) => void;
14
- items: ComputedRef<SettingsMenuItem[]>;
14
+ items: ComputedRef<ISettingsMenuItem[]>;
15
15
  }
16
16
  /**
17
17
  * Registers a settings menu item before the service is initialized
@@ -1 +1 @@
1
- {"version":3,"file":"settings-menu-service.d.ts","sourceRoot":"","sources":["../../../core/services/settings-menu-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,+BAAgC,SAAQ,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC;IACnF,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,+BAA+B,KAAK,MAAM,CAAC;IAC/D,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,WAAW,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACxC;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,+BAA+B,GAAG,IAAI,CAQ/E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,oBAAoB,CAkChE"}
1
+ {"version":3,"file":"settings-menu-service.d.ts","sourceRoot":"","sources":["../../../core/services/settings-menu-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,+BAAgC,SAAQ,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC;IACpF,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,+BAA+B,KAAK,MAAM,CAAC;IAC/D,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;CACzC;AAMD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,+BAA+B,GAAG,IAAI,CAQ/E;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,oBAAoB,CAkChE"}
@@ -0,0 +1,13 @@
1
+ export declare class DisplayableError extends Error {
2
+ details: string;
3
+ originalError: unknown;
4
+ constructor(shortMessage: string, details: string, originalError: unknown);
5
+ }
6
+ /**
7
+ * Parses an unknown error type into a standardized DisplayableError.
8
+ * This function handles nested errors, API responses, and various error formats.
9
+ * @param errorToParse The error to analyze.
10
+ * @returns A DisplayableError instance.
11
+ */
12
+ export declare function parseError(errorToParse: unknown): DisplayableError;
13
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../core/utilities/error.ts"],"names":[],"mappings":"AACA,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;gBAEX,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;CAM1E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,OAAO,GAAG,gBAAgB,CAqElE"}