@vc-shell/framework 1.1.0-alpha.5 → 1.1.0-alpha.6

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 (114) hide show
  1. package/core/composables/useMenuService/index.ts +20 -110
  2. package/core/composables/useWidgets/index.ts +2 -1
  3. package/core/plugins/modularity/index.ts +3 -3
  4. package/core/services/menu-service.ts +195 -0
  5. package/core/services/widget-service.ts +20 -0
  6. package/core/types/index.ts +1 -1
  7. package/dist/core/composables/useMenuService/index.d.ts +4 -10
  8. package/dist/core/composables/useMenuService/index.d.ts.map +1 -1
  9. package/dist/core/composables/useWidgets/index.d.ts +2 -1
  10. package/dist/core/composables/useWidgets/index.d.ts.map +1 -1
  11. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  12. package/dist/core/services/menu-service.d.ts +17 -0
  13. package/dist/core/services/menu-service.d.ts.map +1 -0
  14. package/dist/core/services/widget-service.d.ts +4 -0
  15. package/dist/core/services/widget-service.d.ts.map +1 -1
  16. package/dist/core/types/index.d.ts +1 -1
  17. package/dist/core/types/index.d.ts.map +1 -1
  18. package/dist/framework.js +220 -210
  19. package/dist/{index-CPfPePmU.js → index-3ySdd-mG.js} +1 -1
  20. package/dist/{index-CabhPQ7N.js → index-B-nvqNbp.js} +1 -1
  21. package/dist/{index-4hH_NTkO.js → index-BQF2-UMe.js} +1 -1
  22. package/dist/{index-BRw_Gtzh.js → index-BXlxP2d2.js} +1 -1
  23. package/dist/{index-T0rTYtsD.js → index-C7P-aBjd.js} +1 -1
  24. package/dist/{index-BqAfhE0O.js → index-CO_2IshF.js} +1 -1
  25. package/dist/{index-ClLnTkeM.js → index-CfyFpaKq.js} +1 -1
  26. package/dist/{index-XpeCWx3L.js → index-Ci23AX3j.js} +1 -1
  27. package/dist/{index-NzMAKJjd.js → index-CyuFXG83.js} +1 -1
  28. package/dist/{index-CVRw68l1.js → index-D1rpRTKf.js} +1 -1
  29. package/dist/{index-z-TY6ELw.js → index-DLxTAT7x.js} +1 -1
  30. package/dist/{index-Dho76GDx.js → index-DOVhosAY.js} +1 -1
  31. package/dist/{index-CebrwV8l.js → index-DZAq0B3U.js} +23773 -23336
  32. package/dist/{index-BTjwjD_q.js → index-DtkJ7xTB.js} +1 -1
  33. package/dist/{index-BzlggnM4.js → index-DvGVm1rK.js} +1 -1
  34. package/dist/{index-Bvk6Bxh6.js → index-EDF1MDtU.js} +1 -1
  35. package/dist/{index-DftzTUkM.js → index-LjqdX6jw.js} +1 -1
  36. package/dist/index.css +1 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/injection-keys.d.ts +2 -0
  39. package/dist/injection-keys.d.ts.map +1 -1
  40. package/dist/shared/components/draggable-dashboard/DraggableDashboard.vue.d.ts +2 -0
  41. package/dist/shared/components/draggable-dashboard/DraggableDashboard.vue.d.ts.map +1 -1
  42. package/dist/shared/components/draggable-dashboard/composables/useCellSizeCalculator.d.ts +25 -0
  43. package/dist/shared/components/draggable-dashboard/composables/useCellSizeCalculator.d.ts.map +1 -0
  44. package/dist/shared/components/draggable-dashboard/composables/useCollisionDetection.d.ts +27 -0
  45. package/dist/shared/components/draggable-dashboard/composables/useCollisionDetection.d.ts.map +1 -0
  46. package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts +22 -0
  47. package/dist/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.d.ts.map +1 -1
  48. package/dist/shared/components/draggable-dashboard/composables/useDashboardGrid.d.ts +12 -4
  49. package/dist/shared/components/draggable-dashboard/composables/useDashboardGrid.d.ts.map +1 -1
  50. package/dist/shared/components/draggable-dashboard/composables/useDragClone.d.ts +15 -0
  51. package/dist/shared/components/draggable-dashboard/composables/useDragClone.d.ts.map +1 -0
  52. package/dist/shared/components/draggable-dashboard/composables/useEventCoordinates.d.ts +33 -0
  53. package/dist/shared/components/draggable-dashboard/composables/useEventCoordinates.d.ts.map +1 -0
  54. package/dist/shared/components/draggable-dashboard/composables/useGridPosition.d.ts +57 -0
  55. package/dist/shared/components/draggable-dashboard/composables/useGridPosition.d.ts.map +1 -0
  56. package/dist/shared/components/draggable-dashboard/composables/useGridSystem.d.ts +22 -0
  57. package/dist/shared/components/draggable-dashboard/composables/useGridSystem.d.ts.map +1 -0
  58. package/dist/shared/components/draggable-dashboard/composables/useLayoutPersistence.d.ts +19 -0
  59. package/dist/shared/components/draggable-dashboard/composables/useLayoutPersistence.d.ts.map +1 -0
  60. package/dist/shared/components/draggable-dashboard/composables/useResizeObserver.d.ts +18 -0
  61. package/dist/shared/components/draggable-dashboard/composables/useResizeObserver.d.ts.map +1 -0
  62. package/dist/shared/components/draggable-dashboard/composables/useWidgetLayout.d.ts +14 -0
  63. package/dist/shared/components/draggable-dashboard/composables/useWidgetLayout.d.ts.map +1 -0
  64. package/dist/shared/components/draggable-dashboard/composables/useWidgetStyles.d.ts +21 -0
  65. package/dist/shared/components/draggable-dashboard/composables/useWidgetStyles.d.ts.map +1 -0
  66. package/dist/shared/components/draggable-dashboard/types.d.ts +5 -1
  67. package/dist/shared/components/draggable-dashboard/types.d.ts.map +1 -1
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/dist/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue.d.ts +18 -0
  70. package/dist/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue.d.ts.map +1 -0
  71. package/dist/ui/components/atoms/vc-icon/icons/OffersIcon.vue.d.ts +18 -0
  72. package/dist/ui/components/atoms/vc-icon/icons/OffersIcon.vue.d.ts.map +1 -0
  73. package/dist/ui/components/atoms/vc-icon/icons/OrdersIcon.vue.d.ts +18 -0
  74. package/dist/ui/components/atoms/vc-icon/icons/OrdersIcon.vue.d.ts.map +1 -0
  75. package/dist/ui/components/atoms/vc-icon/icons/PeopleIcon.vue.d.ts +18 -0
  76. package/dist/ui/components/atoms/vc-icon/icons/PeopleIcon.vue.d.ts.map +1 -0
  77. package/dist/ui/components/atoms/vc-icon/icons/ProductsIcon.vue.d.ts +18 -0
  78. package/dist/ui/components/atoms/vc-icon/icons/ProductsIcon.vue.d.ts.map +1 -0
  79. package/dist/ui/components/atoms/vc-icon/icons/ProfileIcon.vue.d.ts +18 -0
  80. package/dist/ui/components/atoms/vc-icon/icons/ProfileIcon.vue.d.ts.map +1 -0
  81. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts +6 -0
  82. package/dist/ui/components/atoms/vc-icon/icons/index.d.ts.map +1 -1
  83. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  84. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +2 -1
  85. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts.map +1 -1
  86. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  87. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  88. package/package.json +4 -4
  89. package/shared/components/draggable-dashboard/DraggableDashboard.vue +114 -148
  90. package/shared/components/draggable-dashboard/composables/useCellSizeCalculator.ts +121 -0
  91. package/shared/components/draggable-dashboard/composables/useCollisionDetection.ts +219 -0
  92. package/shared/components/draggable-dashboard/composables/useDashboardDragAndDrop.ts +126 -331
  93. package/shared/components/draggable-dashboard/composables/useDashboardGrid.ts +74 -220
  94. package/shared/components/draggable-dashboard/composables/useDragClone.ts +97 -0
  95. package/shared/components/draggable-dashboard/composables/useEventCoordinates.ts +91 -0
  96. package/shared/components/draggable-dashboard/composables/useGridPosition.ts +150 -0
  97. package/shared/components/draggable-dashboard/composables/useGridSystem.ts +169 -0
  98. package/shared/components/draggable-dashboard/composables/useLayoutPersistence.ts +89 -0
  99. package/shared/components/draggable-dashboard/composables/useResizeObserver.ts +105 -0
  100. package/shared/components/draggable-dashboard/composables/useWidgetLayout.ts +264 -0
  101. package/shared/components/draggable-dashboard/composables/useWidgetStyles.ts +120 -0
  102. package/shared/components/draggable-dashboard/types.ts +6 -1
  103. package/ui/components/atoms/vc-icon/icons/FulfillmentCentersIcon.vue +27 -0
  104. package/ui/components/atoms/vc-icon/icons/OffersIcon.vue +23 -0
  105. package/ui/components/atoms/vc-icon/icons/OrdersIcon.vue +19 -0
  106. package/ui/components/atoms/vc-icon/icons/PeopleIcon.vue +21 -0
  107. package/ui/components/atoms/vc-icon/icons/ProductsIcon.vue +23 -0
  108. package/ui/components/atoms/vc-icon/icons/ProfileIcon.vue +18 -0
  109. package/ui/components/atoms/vc-icon/icons/index.ts +6 -0
  110. package/ui/components/atoms/vc-icon/vc-icon.vue +101 -82
  111. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +2 -2
  112. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +1 -0
  113. package/ui/components/organisms/vc-app/vc-app.vue +2 -3
  114. package/ui/components/organisms/vc-table/vc-table.vue +4 -1
@@ -1,110 +1,20 @@
1
- import { createSharedComposable, createUnrefFn, useArrayFind } from "@vueuse/core";
2
- import { Ref, ref, computed } from "vue";
3
- import * as _ from "lodash-es";
4
- import { i18n } from "./../../plugins/i18n";
5
- import { MenuItem } from "../../types";
6
-
7
- interface MenuService {
8
- addMenuItem: (item: MenuItem) => void;
9
- menuItems: Ref<MenuItem[]>;
10
- removeMenuItem: (item: MenuItem) => void;
11
- }
12
-
13
- const menuItems: Ref<MenuItem[]> = ref([]);
14
- const rawMenu: Ref<MenuItem[]> = ref([]);
15
-
16
- function useMenuServiceFn(): MenuService {
17
- const { t } = i18n.global;
18
-
19
- function addMenuItem(item: MenuItem): void {
20
- rawMenu.value.push(item);
21
- constructMenu();
22
- }
23
-
24
- const upsert = createUnrefFn(
25
- (array: (MenuItem | Omit<MenuItem, "icon">)[], element: MenuItem | Omit<MenuItem, "icon">) => {
26
- const index = array.findIndex((_element) => _.isEqual(_.omit(_element, "title"), _.omit(element, "title")));
27
- if (index > -1) {
28
- array[index] = { ...element };
29
- } else {
30
- array.push({ ...element });
31
- }
32
- },
33
- );
34
-
35
- function sortByPriority(a: MenuItem, b: MenuItem): number {
36
- const getPriority = (item: MenuItem): number => item.priority ?? Infinity;
37
- return getPriority(a) - getPriority(b);
38
- }
39
-
40
- function sortByGroupPriority(a: MenuItem, b: MenuItem): number {
41
- const getGroupPriority = (item: MenuItem): number => item.inGroupPriority ?? Infinity;
42
- return getGroupPriority(a) - getGroupPriority(b);
43
- }
44
-
45
- function constructMenu(): void {
46
- const constructedMenu: Ref<MenuItem[]> = ref([]);
47
-
48
- rawMenu.value.forEach((item) => {
49
- if (item.group) {
50
- const isGroupExist = useArrayFind(
51
- constructedMenu,
52
- (m) => m.groupId === "group_" + _.snakeCase(t(item.group ?? "")),
53
- );
54
-
55
- const groupItem = _.omit(
56
- {
57
- ...item,
58
- title: computed(() => t(item.title as string)),
59
- },
60
- "group",
61
- "groupIcon",
62
- "groupPriority",
63
- );
64
-
65
- if (isGroupExist.value && isGroupExist.value.children) {
66
- upsert(isGroupExist.value.children, groupItem);
67
- } else {
68
- const group: Omit<MenuItem, "icon"> = {
69
- groupId: "group_" + _.snakeCase(t(item.group)),
70
- groupIcon: item.groupIcon ?? "",
71
- title: computed(() => t(item.group as string)),
72
- children: [_.omit(groupItem)],
73
- priority: item.priority,
74
- };
75
- upsert(constructedMenu.value, group);
76
- }
77
- } else {
78
- if (item.title) {
79
- upsert(constructedMenu.value, { ...item });
80
- }
81
- }
82
- });
83
-
84
- menuItems.value = constructedMenu.value
85
- .map(
86
- (x): MenuItem => ({
87
- ...x,
88
- title: computed(() => t(x.title as string)),
89
- id: _.snakeCase(t(x.title as string)),
90
- children: x.children?.sort(sortByGroupPriority),
91
- }),
92
- )
93
- .sort(sortByPriority);
94
- }
95
-
96
- function removeMenuItem(item: MenuItem): void {
97
- const index = menuItems.value.indexOf(item);
98
- menuItems.value.splice(index, 1);
99
- }
100
-
101
- return {
102
- addMenuItem,
103
- menuItems,
104
- removeMenuItem,
105
- };
106
- }
107
-
108
- const useMenuService = createSharedComposable(useMenuServiceFn);
109
-
110
- export { useMenuService };
1
+ import { provide, inject, getCurrentInstance } from "vue";
2
+ import { MenuService, createMenuService, addMenuItem } from "../../services/menu-service";
3
+ import { MenuServiceKey } from "../../../injection-keys";
4
+
5
+ export function provideMenuService(): MenuService {
6
+ const service = createMenuService();
7
+ provide(MenuServiceKey, service);
8
+ return service;
9
+ }
10
+
11
+ export function useMenuService(): MenuService {
12
+ const service = inject(MenuServiceKey);
13
+ if (!service) {
14
+ console.error("Menu service not found in current context. Injection chain:", getCurrentInstance());
15
+ throw new Error("MenuService not provided");
16
+ }
17
+ return service;
18
+ }
19
+
20
+ export { addMenuItem };
@@ -1,5 +1,5 @@
1
1
  import { getCurrentInstance, inject, provide } from "vue";
2
- import { createWidgetService, IWidgetService } from "./../../services/widget-service";
2
+ import { createWidgetService, IWidgetService, registerWidget } from "./../../services/widget-service";
3
3
  import { WidgetServiceKey } from "./../../../injection-keys";
4
4
 
5
5
  export function provideWidgetService(): IWidgetService {
@@ -17,3 +17,4 @@ export function useWidgets(): IWidgetService {
17
17
  return service;
18
18
  }
19
19
 
20
+ export { registerWidget };
@@ -1,9 +1,9 @@
1
- import { App, Component, h, watch } from "vue";
1
+ import { App, Component, h, resolveComponent, watch } from "vue";
2
2
  import { i18n } from "./../i18n";
3
3
  import { Router } from "vue-router";
4
4
  import { BladeInstanceConstructor, BladeVNode } from "./../../../shared/components/blade-navigation/types";
5
5
  import { kebabToPascal } from "./../../utilities";
6
- import { useMenuService, useNotifications } from "../../composables";
6
+ import { addMenuItem, useMenuService, useNotifications } from "../../composables";
7
7
  import * as _ from "lodash-es";
8
8
  import { notification } from "../../../shared";
9
9
 
@@ -200,9 +200,9 @@ export function createAppModule(
200
200
 
201
201
  // Add to menu
202
202
  if (page.menuItem) {
203
- const { addMenuItem } = useMenuService();
204
203
  addMenuItem({
205
204
  ...page.menuItem,
205
+ icon: resolveComponent(page.menuItem.icon as string),
206
206
  url: page.url,
207
207
  routeId: routeName,
208
208
  permissions: page.permissions,
@@ -0,0 +1,195 @@
1
+ import { computed, ComputedRef, ref, watch, type Ref } from "vue";
2
+ import * as _ from "lodash-es";
3
+ import { i18n } from "./../plugins/i18n";
4
+ import type { MenuItem } from "../types";
5
+ import { createUnrefFn, useArrayFind } from "@vueuse/core";
6
+
7
+ // Global state for pre-registering menu items
8
+ const preregisteredMenuItems: Ref<MenuItem[]> = ref([]);
9
+
10
+ /**
11
+ * Registers a menu item before the service is initialized
12
+ */
13
+ export function addMenuItem(item: MenuItem): void {
14
+ preregisteredMenuItems.value.push(item);
15
+ }
16
+
17
+ export interface MenuService {
18
+ addMenuItem: (item: MenuItem) => void;
19
+ menuItems: Ref<MenuItem[]>;
20
+ removeMenuItem: (item: MenuItem) => void;
21
+ }
22
+
23
+ // Default priority values
24
+ const DEFAULT_PRIORITY = Infinity;
25
+ const DEFAULT_GROUP_PRIORITY = Infinity;
26
+
27
+ // State
28
+ const menuItems: Ref<MenuItem[]> = ref([]);
29
+ const rawMenu: Ref<MenuItem[]> = ref([]);
30
+
31
+ /**
32
+ * Menu service implementation
33
+ * Handles the registration and organization of menu items
34
+ */
35
+ export function createMenuService(): MenuService {
36
+ const { t } = i18n.global;
37
+
38
+ /**
39
+ * Add a new menu item to the raw menu and rebuild the menu structure
40
+ * @param item - The menu item to add
41
+ */
42
+ function addMenuItem(item: MenuItem): void {
43
+ rawMenu.value.push(item);
44
+ constructMenu();
45
+ }
46
+
47
+ /**
48
+ * Removes a menu item from the menu
49
+ * @param item - The menu item to remove
50
+ */
51
+ function removeMenuItem(item: MenuItem): void {
52
+ const index = menuItems.value.indexOf(item);
53
+ if (index !== -1) {
54
+ menuItems.value.splice(index, 1);
55
+ }
56
+ }
57
+
58
+ /**
59
+ * Updates an element in an array or adds it if not found
60
+ */
61
+ const upsert = createUnrefFn(
62
+ (array: (MenuItem | Omit<MenuItem, "icon">)[], element: MenuItem | Omit<MenuItem, "icon">) => {
63
+ const index = array.findIndex((_element) => _.isEqual(_.omit(_element, "title"), _.omit(element, "title")));
64
+ if (index > -1) {
65
+ array[index] = { ...element };
66
+ } else {
67
+ array.push({ ...element });
68
+ }
69
+ },
70
+ );
71
+
72
+ /**
73
+ * Sorts menu items by their priority
74
+ */
75
+ function sortByPriority(a: MenuItem, b: MenuItem): number {
76
+ const getPriority = (item: MenuItem): number => item.priority ?? DEFAULT_PRIORITY;
77
+ return getPriority(a) - getPriority(b);
78
+ }
79
+
80
+ /**
81
+ * Sorts items within a group by their inGroupPriority
82
+ */
83
+ function sortByGroupPriority(a: MenuItem, b: MenuItem): number {
84
+ const getGroupPriority = (item: MenuItem): number => item.inGroupPriority ?? DEFAULT_GROUP_PRIORITY;
85
+ return getGroupPriority(a) - getGroupPriority(b);
86
+ }
87
+
88
+ /**
89
+ * Creates a localized ID from a title
90
+ */
91
+ function createItemId(title: string | ComputedRef<string>): string {
92
+ const titleValue = typeof title === "string" ? t(title) : title.value;
93
+ return _.snakeCase(titleValue);
94
+ }
95
+
96
+ /**
97
+ * Creates a localized computed title
98
+ */
99
+ function createLocalizedTitle(title: string): ComputedRef<string> {
100
+ return computed(() => t(title));
101
+ }
102
+
103
+ /**
104
+ * Processes a menu item that belongs to a group
105
+ */
106
+ function processGroupItem(item: MenuItem, constructedMenu: Ref<MenuItem[]>): void {
107
+ if (!item.group) return;
108
+
109
+ const groupId = "group_" + createItemId(item.group);
110
+ const existingGroup = useArrayFind(constructedMenu, (m) => m.groupId === groupId);
111
+
112
+ // Create the item to be added to the group
113
+ const groupItem = {
114
+ ..._.omit(item, ["group", "groupIcon", "groupPriority"]),
115
+ title: createLocalizedTitle(item.title as string),
116
+ } as MenuItem;
117
+
118
+ if (existingGroup.value && existingGroup.value.children) {
119
+ // Add to existing group
120
+ upsert(existingGroup.value.children, groupItem);
121
+ } else {
122
+ // Create a new group with this item
123
+ const group = {
124
+ groupId,
125
+ groupIcon: item.groupIcon ?? "",
126
+ title: createLocalizedTitle(item.group),
127
+ children: [groupItem],
128
+ priority: item.priority, // Use item priority since groupPriority doesn't exist
129
+ } as MenuItem;
130
+ upsert(constructedMenu.value, group);
131
+ }
132
+ }
133
+
134
+ /**
135
+ * Processes a standalone menu item (not in a group)
136
+ */
137
+ function processStandaloneItem(item: MenuItem, constructedMenu: Ref<MenuItem[]>): void {
138
+ if (item.title) {
139
+ const standaloneItem = {
140
+ ...item,
141
+ title: createLocalizedTitle(item.title as string),
142
+ } as MenuItem;
143
+ upsert(constructedMenu.value, standaloneItem);
144
+ }
145
+ }
146
+
147
+ /**
148
+ * Finalizes menu items by adding IDs and sorting children
149
+ */
150
+ function finalizeMenuItems(items: MenuItem[]): MenuItem[] {
151
+ return items
152
+ .map(
153
+ (item): MenuItem => ({
154
+ ...item,
155
+ title: createLocalizedTitle(item.title as string),
156
+ id: item.id || createItemId(item.title as ComputedRef<string>),
157
+ children: item.children?.sort(sortByGroupPriority),
158
+ }),
159
+ )
160
+ .sort(sortByPriority);
161
+ }
162
+
163
+ /**
164
+ * Constructs the complete menu structure from raw menu items
165
+ */
166
+ function constructMenu(): void {
167
+ const constructedMenu: Ref<MenuItem[]> = ref([]);
168
+
169
+ // Process each raw menu item
170
+ rawMenu.value.forEach((item) => {
171
+ if (item.group) {
172
+ processGroupItem(item, constructedMenu);
173
+ } else {
174
+ processStandaloneItem(item, constructedMenu);
175
+ }
176
+ });
177
+
178
+ // Finalize and set the menu items
179
+ menuItems.value = finalizeMenuItems(constructedMenu.value);
180
+ }
181
+
182
+ preregisteredMenuItems.value.forEach((item) => {
183
+ try {
184
+ addMenuItem(item);
185
+ } catch (e) {
186
+ console.warn(`Failed to register preregistered menu item ${item.id || item.title}:`, e);
187
+ }
188
+ });
189
+
190
+ return {
191
+ addMenuItem,
192
+ menuItems,
193
+ removeMenuItem,
194
+ };
195
+ }
@@ -33,6 +33,18 @@ export interface IWidgetService {
33
33
  isWidgetRegistered: (id: string) => boolean;
34
34
  }
35
35
 
36
+ // Global state for pre-registering widgets
37
+ const preregisteredWidgets: IWidgetRegistration[] = [];
38
+ const preregisteredIds = new Set<string>();
39
+
40
+ /**
41
+ * Registers a widget before the service is initialized
42
+ */
43
+ export function registerWidget(widget: IWidget, bladeId: string): void {
44
+ preregisteredWidgets.push({ bladeId, widget });
45
+ preregisteredIds.add(widget.id);
46
+ }
47
+
36
48
  export function createWidgetService(): IWidgetService {
37
49
  const widgetRegistry = reactive<Record<string, IWidget[]>>({});
38
50
  const registeredWidgets = reactive<IWidgetRegistration[]>([]);
@@ -113,6 +125,14 @@ export function createWidgetService(): IWidgetService {
113
125
  return activeWidgetRef.value?.id === id;
114
126
  };
115
127
 
128
+ preregisteredWidgets.forEach((widget) => {
129
+ try {
130
+ registerWidget(widget.widget, widget.bladeId);
131
+ } catch (e) {
132
+ console.warn(`Failed to register preregistered widget ${widget.widget.id}:`, e);
133
+ }
134
+ });
135
+
116
136
  return {
117
137
  registerWidget,
118
138
  unregisterWidget,
@@ -192,7 +192,7 @@ export interface MenuItemConfig {
192
192
  /**
193
193
  * Menu item icon.
194
194
  */
195
- icon: string;
195
+ icon: string | Component;
196
196
  /**
197
197
  * Menu group icon.
198
198
  */
@@ -1,11 +1,5 @@
1
- import { Ref } from "vue";
2
- import { MenuItem } from "../../types";
3
- interface MenuService {
4
- addMenuItem: (item: MenuItem) => void;
5
- menuItems: Ref<MenuItem[]>;
6
- removeMenuItem: (item: MenuItem) => void;
7
- }
8
- declare function useMenuServiceFn(): MenuService;
9
- declare const useMenuService: typeof useMenuServiceFn;
10
- export { useMenuService };
1
+ import { MenuService, addMenuItem } from "../../services/menu-service";
2
+ export declare function provideMenuService(): MenuService;
3
+ export declare function useMenuService(): MenuService;
4
+ export { addMenuItem };
11
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useMenuService/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAiB,MAAM,KAAK,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,UAAU,WAAW;IACnB,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC1C;AAKD,iBAAS,gBAAgB,IAAI,WAAW,CA0FvC;AAED,QAAA,MAAM,cAAc,yBAA2C,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useMenuService/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAqB,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1F,wBAAgB,kBAAkB,IAAI,WAAW,CAIhD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAO5C;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
- import { IWidgetService } from "./../../services/widget-service";
1
+ import { IWidgetService, registerWidget } from "./../../services/widget-service";
2
2
  export declare function provideWidgetService(): IWidgetService;
3
3
  export declare function useWidgets(): IWidgetService;
4
+ export { registerWidget };
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useWidgets/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtF,wBAAgB,oBAAoB,IAAI,cAAc,CAIrD;AAED,wBAAgB,UAAU,IAAI,cAAc,CAO3C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useWidgets/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,cAAc,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtG,wBAAgB,oBAAoB,IAAI,cAAc,CAIrD;AAED,wBAAgB,UAAU,IAAI,cAAc,CAO3C;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/plugins/modularity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAY,MAAM,KAAK,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAc,MAAM,qDAAqD,CAAC;AAM3G,wBAAgB,YAAY,CAAC,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,OAAO;iBAEtF,GAAG,GAAG,IAAI;EAuB1B;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;CAAE,EAClD,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,qBAAqB,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAC9E,gBAAgB,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE;iBAGhC,GAAG,YAAY;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;EA8MxD;AAED,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/plugins/modularity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAA8B,MAAM,KAAK,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAc,MAAM,qDAAqD,CAAC;AAM3G,wBAAgB,YAAY,CAAC,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,OAAO;iBAEtF,GAAG,GAAG,IAAI;EAuB1B;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;CAAE,EAClD,OAAO,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EACnC,qBAAqB,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,EAC9E,gBAAgB,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE;iBAGhC,GAAG,YAAY;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;EA8MxD;AAED,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type Ref } from "vue";
2
+ import type { MenuItem } from "../types";
3
+ /**
4
+ * Registers a menu item before the service is initialized
5
+ */
6
+ export declare function addMenuItem(item: MenuItem): void;
7
+ export interface MenuService {
8
+ addMenuItem: (item: MenuItem) => void;
9
+ menuItems: Ref<MenuItem[]>;
10
+ removeMenuItem: (item: MenuItem) => void;
11
+ }
12
+ /**
13
+ * Menu service implementation
14
+ * Handles the registration and organization of menu items
15
+ */
16
+ export declare function createMenuService(): MenuService;
17
+ //# sourceMappingURL=menu-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu-service.d.ts","sourceRoot":"","sources":["../../../core/services/menu-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAGlE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMzC;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAEhD;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3B,cAAc,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC1C;AAUD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAgK/C"}
@@ -31,5 +31,9 @@ export interface IWidgetService {
31
31
  updateActiveWidget: () => void;
32
32
  isWidgetRegistered: (id: string) => boolean;
33
33
  }
34
+ /**
35
+ * Registers a widget before the service is initialized
36
+ */
37
+ export declare function registerWidget(widget: IWidget, bladeId: string): void;
34
38
  export declare function createWidgetService(): IWidgetService;
35
39
  //# sourceMappingURL=widget-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget-service.d.ts","sourceRoot":"","sources":["../../../core/services/widget-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,yBAAyB,EAAE,MAAM,KAAK,CAAC;AAElF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAC3C,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,eAAe,EAAE,CAAC,GAAG,EAAE,yBAAyB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CA2FpD"}
1
+ {"version":3,"file":"widget-service.d.ts","sourceRoot":"","sources":["../../../core/services/widget-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,yBAAyB,EAAE,MAAM,KAAK,CAAC;AAElF,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAE9D,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAC3C,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,mBAAmB,EAAE,CAAC;IACzC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,eAAe,EAAE,CAAC,GAAG,EAAE,yBAAyB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAGrE;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAmGpD"}
@@ -164,7 +164,7 @@ export interface MenuItemConfig {
164
164
  /**
165
165
  * Menu item icon.
166
166
  */
167
- icon: string;
167
+ icon: string | Component;
168
168
  /**
169
169
  * Menu group icon.
170
170
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,EAAc,MAAM,KAAK,CAAC;AAC9D,OAAO,EAA4B,gBAAgB,EAAyB,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AAOrF,MAAM,MAAM,gBAAgB,GAAG;IAE7B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,SAAS,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,IAAI,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS;IACxD,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,CAAC,CAAC;IACd,YAAY,CAAC,IAAI,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,SAAS,CAAC,EAAE,OAAO,GAAG,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,WAAW,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAElF,YAAY,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,kCAAkC,CAAC;CAChE,GACG;IACE,SAAS,CAAC,EAAE,CAAC,CAAC;IACd,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CACrC,GAAG,aAAa,GACjB,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,kCAAkC,CAAA;CAAE,CAAC;AAE3D,MAAM,MAAM,+BAA+B,GAAG,kCAAkC,GAAG;IACjF,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAGF,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,EAAE;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,YAAY;IACnD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAE3B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EACD,OAAO,GACP,UAAU,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,WAAW,GACX,QAAQ,GACR,aAAa,GACb,QAAQ,GACR,MAAM,GACN,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB,cAAc,CAAC,EAAE;QACf,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,CAAC,iBAAiB,GAAG,YAAY,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAY,CAAC,CAAC;AAExH,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,IAAI,CAAC;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAChC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/types/index.ts"],"names":[],"mappings":"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"}