@vc-shell/framework 1.1.21 → 1.1.23

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 (222) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/core/composables/useAppInsights/index.ts +11 -1
  3. package/core/composables/useBladeRegistry/index.ts +176 -0
  4. package/core/composables/useDynamicProperties/index.ts +380 -255
  5. package/core/composables/useErrorHandler/index.ts +2 -3
  6. package/core/composables/useKeyboardNavigation/index.ts +52 -10
  7. package/core/composables/useLanguages/index.ts +78 -78
  8. package/core/plugins/modularity/index.ts +17 -6
  9. package/core/services/global-search-service/index.ts +36 -0
  10. package/dist/core/composables/useAppInsights/index.d.ts +5 -2
  11. package/dist/core/composables/useAppInsights/index.d.ts.map +1 -1
  12. package/dist/core/composables/useBladeRegistry/index.d.ts +48 -0
  13. package/dist/core/composables/useBladeRegistry/index.d.ts.map +1 -0
  14. package/dist/core/composables/useDynamicProperties/index.d.ts +12 -9
  15. package/dist/core/composables/useDynamicProperties/index.d.ts.map +1 -1
  16. package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
  17. package/dist/core/composables/useKeyboardNavigation/index.d.ts.map +1 -1
  18. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  19. package/dist/core/services/global-search-service/index.d.ts +10 -0
  20. package/dist/core/services/global-search-service/index.d.ts.map +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +7 -12
  23. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  24. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeActions.d.ts +15 -0
  25. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeActions.d.ts.map +1 -0
  26. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.d.ts +11 -0
  27. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.d.ts.map +1 -0
  28. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.d.ts +15 -0
  29. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.d.ts.map +1 -0
  30. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeWatchers.d.ts +6 -0
  31. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeWatchers.d.ts.map +1 -0
  32. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/routerUtils.d.ts +28 -0
  33. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/internal/routerUtils.d.ts.map +1 -0
  34. package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -1
  35. package/dist/shared/components/blade-navigation/types/index.d.ts +5 -5
  36. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  37. package/dist/shared/components/notification-template/notification-template.vue.d.ts +2 -2
  38. package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -1
  39. package/dist/shared/components/notifications/components/notification-container/index.d.ts +6 -6
  40. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  41. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +2 -2
  42. package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
  43. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +2 -2
  44. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +1 -1
  45. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  46. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +1 -1
  47. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  48. package/dist/tsconfig.tsbuildinfo +1 -1
  49. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +1 -1
  50. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  51. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
  52. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +1 -1
  53. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  54. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts +1 -1
  55. package/dist/ui/components/atoms/vc-icon/vc-material-icon.vue.d.ts.map +1 -1
  56. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +1 -1
  57. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  58. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +2 -2
  59. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +2 -2
  60. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  61. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +2 -2
  62. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  63. package/dist/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue.d.ts +2 -0
  64. package/dist/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue.d.ts.map +1 -1
  65. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +1 -1
  66. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  67. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +1 -1
  68. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
  69. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +1 -1
  70. 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
  71. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  72. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-base-button.vue.d.ts +1 -1
  73. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +1 -1
  74. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
  75. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts +1 -1
  76. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-buttons/_internal/vc-blade-toolbar-button/vc-blade-toolbar-circle-button.vue.d.ts.map +1 -1
  77. package/dist/ui/components/organisms/vc-blade/vc-blade.backupsb.d.ts +3 -3
  78. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +1 -1
  79. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  80. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  81. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +2 -2
  82. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +1 -1
  83. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  84. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +3 -3
  85. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  86. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +1 -1
  87. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  88. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +1 -1
  89. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
  90. package/package.json +4 -4
  91. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +199 -597
  92. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeActions.ts +151 -0
  93. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeRouteResolver.ts +243 -0
  94. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeState.ts +93 -0
  95. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeWatchers.ts +90 -0
  96. package/shared/components/blade-navigation/composables/useBladeNavigation/internal/routerUtils.ts +150 -0
  97. package/shared/components/blade-navigation/plugin.ts +17 -12
  98. package/shared/components/blade-navigation/types/index.ts +2 -4
  99. package/shared/components/notification-template/notification-template.vue +2 -2
  100. package/shared/modules/dynamic/index.ts +2 -8
  101. package/ui/components/molecules/vc-input-dropdown/vc-input-dropdown.vue +4 -0
  102. package/ui/components/organisms/vc-app/vc-app.vue +11 -6
  103. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +10 -1
  104. package/dist/apl-B2DGVGxc.js +0 -76
  105. package/dist/asciiarmor-2LVJmxlE.js +0 -34
  106. package/dist/asn1-jKiBa2Ya.js +0 -95
  107. package/dist/asterisk-DS281yxp.js +0 -271
  108. package/dist/brainfuck-C_p9pTT8.js +0 -34
  109. package/dist/clike-DGTaUp48.js +0 -620
  110. package/dist/clojure-CCKyeQKf.js +0 -800
  111. package/dist/cmake-CuaCgAKt.js +0 -28
  112. package/dist/cobol-BlTKFDRj.js +0 -72
  113. package/dist/coffeescript-BVCvwO8I.js +0 -179
  114. package/dist/commonlisp-D_kxz07b.js +0 -75
  115. package/dist/crystal-D309uH6_.js +0 -217
  116. package/dist/css-BkF-NPzE.js +0 -1553
  117. package/dist/cypher-BMq4Fwjl.js +0 -68
  118. package/dist/d-BZcgY6La.js +0 -127
  119. package/dist/diff-Cg9d_RX2.js +0 -18
  120. package/dist/dockerfile-DIy8NleC.js +0 -194
  121. package/dist/dtd-CtLokQ-U.js +0 -84
  122. package/dist/dylan-QYeExnWK.js +0 -234
  123. package/dist/ebnf-DUPDuY4r.js +0 -78
  124. package/dist/ecl-CiXN-g_D.js +0 -121
  125. package/dist/eiffel-yQhjl4T1.js +0 -110
  126. package/dist/elm-CNT9vbN0.js +0 -108
  127. package/dist/erlang-CFOYdy9e.js +0 -487
  128. package/dist/factor-DDOC7X6P.js +0 -65
  129. package/dist/fcl-CPC2WYrI.js +0 -103
  130. package/dist/forth-BmxRyE9S.js +0 -60
  131. package/dist/fortran-9bvPyrOW.js +0 -442
  132. package/dist/framework.js +0 -290
  133. package/dist/gas-cpmYfFX2.js +0 -183
  134. package/dist/gherkin-CJuwpceU.js +0 -34
  135. package/dist/groovy-DZeT_VM-.js +0 -146
  136. package/dist/haskell-Bvt3Qq1t.js +0 -375
  137. package/dist/haxe-70NVW1pR.js +0 -359
  138. package/dist/http-D9LttvKF.js +0 -44
  139. package/dist/idl-B6TRFYjl.js +0 -947
  140. package/dist/index-0xMdBsaq.js +0 -611
  141. package/dist/index-B6RKUVy8.js +0 -134
  142. package/dist/index-BXAxQnpt.js +0 -71
  143. package/dist/index-Ba3wq-Du.js +0 -147479
  144. package/dist/index-BgMVbUF5.js +0 -249
  145. package/dist/index-CE1KKIYQ.js +0 -268
  146. package/dist/index-CSMBCpee.js +0 -75
  147. package/dist/index-DCiQjA10.js +0 -58
  148. package/dist/index-DLIwas3l.js +0 -93
  149. package/dist/index-DwOkUUXE.js +0 -288
  150. package/dist/index-DwsB54rD.js +0 -308
  151. package/dist/index-Dyg1bSFn.js +0 -341
  152. package/dist/index-GpoS3tMh.js +0 -137
  153. package/dist/index-J_8wNmd3.js +0 -98
  154. package/dist/index-VLNTEhMQ.js +0 -156
  155. package/dist/index-WZKioztF.js +0 -299
  156. package/dist/index-_7O686wp.js +0 -538
  157. package/dist/index.css +0 -9
  158. package/dist/javascript-C2yteZeJ.js +0 -691
  159. package/dist/jinja2-DnB6dQmV.js +0 -154
  160. package/dist/julia-DpvXAuO6.js +0 -241
  161. package/dist/livescript-CanGTf8u.js +0 -272
  162. package/dist/lua-XplVlWi_.js +0 -217
  163. package/dist/mathematica-jaRHnSxC.js +0 -35
  164. package/dist/mbox-BctzC1hL.js +0 -76
  165. package/dist/mirc-CFBPAOaF.js +0 -72
  166. package/dist/mllike-BSnXJBGA.js +0 -272
  167. package/dist/modelica-vUgVs--1.js +0 -93
  168. package/dist/mscgen-Cpl0NYLN.js +0 -104
  169. package/dist/mumps-CQoS1kWX.js +0 -25
  170. package/dist/nginx-zDPm3Z74.js +0 -89
  171. package/dist/nsis-fePjrhq7.js +0 -62
  172. package/dist/ntriples-CsNjv2QF.js +0 -79
  173. package/dist/octave-C8PmmSRH.js +0 -143
  174. package/dist/oz-Ce8aN8oE.js +0 -151
  175. package/dist/pascal-De0D6mP7.js +0 -77
  176. package/dist/perl-B4bSCe1C.js +0 -915
  177. package/dist/pig-D24Z8EXi.js +0 -54
  178. package/dist/powershell-DkYVfTzP.js +0 -249
  179. package/dist/properties-Dn9wna3M.js +0 -26
  180. package/dist/protobuf-BPIjwpzm.js +0 -49
  181. package/dist/pug-CwAQJzGR.js +0 -248
  182. package/dist/puppet-nyd4dhjf.js +0 -45
  183. package/dist/python-BkR3uSy8.js +0 -313
  184. package/dist/q-DXjKs-tC.js +0 -83
  185. package/dist/r-LKEuhEGI.js +0 -104
  186. package/dist/rpm-IznJm2Xc.js +0 -57
  187. package/dist/ruby-CcYfvIk6.js +0 -228
  188. package/dist/sas-7E8yHoCW.js +0 -105
  189. package/dist/scheme-DjibxsNh.js +0 -124
  190. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts +0 -110
  191. package/dist/shared/modules/dynamic/components/fields/storybook/pages/DynamicRender.d.ts.map +0 -1
  192. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +0 -147
  193. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +0 -1
  194. package/dist/shell-C0C2sNA_.js +0 -182
  195. package/dist/sieve-Bwz7vjP5.js +0 -72
  196. package/dist/simple-mode-B0dvCdAA.js +0 -89
  197. package/dist/smalltalk-Bhddl2pB.js +0 -48
  198. package/dist/solr-BNlsLglM.js +0 -41
  199. package/dist/sparql-FarWu_Gb.js +0 -197
  200. package/dist/spreadsheet-C-cy4P5N.js +0 -49
  201. package/dist/sql-CfG5lQ3l.js +0 -282
  202. package/dist/stex-Du4h4KAU.js +0 -129
  203. package/dist/stylus-CAdqWld3.js +0 -250
  204. package/dist/swift-DSxqR9R6.js +0 -230
  205. package/dist/tcl-xfoLljhY.js +0 -81
  206. package/dist/textile-D1AWE-pc.js +0 -295
  207. package/dist/tiddlywiki-5wqsXtSk.js +0 -155
  208. package/dist/tiki-__Kn3CeS.js +0 -181
  209. package/dist/toml-BHiuTcfn.js +0 -49
  210. package/dist/troff-D2UO-fKf.js +0 -35
  211. package/dist/ttcn-Bsa4sfRm.js +0 -123
  212. package/dist/ttcn-cfg-Bac_acMi.js +0 -88
  213. package/dist/turtle-xwJUxoPV.js +0 -80
  214. package/dist/vb-c2kQGd6-.js +0 -74
  215. package/dist/vbscript-1f_Dhg5H.js +0 -324
  216. package/dist/velocity-DJd0pTTC.js +0 -96
  217. package/dist/verilog-CiS1jyi5.js +0 -262
  218. package/dist/vhdl-T9HkrbI2.js +0 -106
  219. package/dist/webidl-CjfDENEo.js +0 -155
  220. package/dist/xquery-BUQdORAS.js +0 -422
  221. package/dist/yacas-C0absKBh.js +0 -73
  222. package/dist/z80-Pki2zAjW.js +0 -61
@@ -1,6 +1,5 @@
1
1
  import { onErrorCaptured, getCurrentInstance, ref, Ref } from "vue";
2
- import { useAppInsights as useInsights } from "vue3-application-insights";
3
- import { useUser } from "..";
2
+ import { useAppInsights, useUser } from "..";
4
3
 
5
4
  interface IUseErrorHandler {
6
5
  error: Ref<string | null>;
@@ -10,7 +9,7 @@ interface IUseErrorHandler {
10
9
  export function useErrorHandler(capture?: boolean): IUseErrorHandler {
11
10
  const error = ref<string | null>(null);
12
11
  const instance = getCurrentInstance();
13
- const appInsights = useInsights();
12
+ const { appInsights } = useAppInsights();
14
13
  const { user } = useUser();
15
14
 
16
15
  function reset() {
@@ -25,6 +25,15 @@ export function useKeyboardNavigation(options: UseKeyboardNavigationOptions = {}
25
25
  const container = ref<HTMLElement | null>(null);
26
26
  const focusedItemIndex = ref(-1);
27
27
 
28
+ /**
29
+ * Validate and reset focused index if it's out of bounds
30
+ */
31
+ const validateFocusedIndex = (elements: HTMLElement[]) => {
32
+ if (focusedItemIndex.value >= elements.length || focusedItemIndex.value < 0) {
33
+ focusedItemIndex.value = elements.length > 0 ? 0 : -1;
34
+ }
35
+ };
36
+
28
37
  /**
29
38
  * Handler for keydown events for navigation
30
39
  */
@@ -35,6 +44,9 @@ export function useKeyboardNavigation(options: UseKeyboardNavigationOptions = {}
35
44
 
36
45
  if (!focusableElements.length) return;
37
46
 
47
+ // Validate focused index before processing any navigation
48
+ validateFocusedIndex(focusableElements);
49
+
38
50
  switch (event.key) {
39
51
  case "Tab":
40
52
  // Standard tabulation between elements
@@ -54,11 +66,14 @@ export function useKeyboardNavigation(options: UseKeyboardNavigationOptions = {}
54
66
  case " ":
55
67
  // Selection of the current element
56
68
  if (focusedItemIndex.value >= 0 && focusedItemIndex.value < focusableElements.length) {
57
- event.preventDefault();
58
- if (onEnter) {
59
- onEnter(focusableElements[focusedItemIndex.value]);
60
- } else {
61
- focusableElements[focusedItemIndex.value].click();
69
+ const currentElement = focusableElements[focusedItemIndex.value];
70
+ if (currentElement) {
71
+ event.preventDefault();
72
+ if (onEnter) {
73
+ onEnter(currentElement);
74
+ } else if (typeof currentElement.click === "function") {
75
+ currentElement.click();
76
+ }
62
77
  }
63
78
  }
64
79
  break;
@@ -91,13 +106,21 @@ export function useKeyboardNavigation(options: UseKeyboardNavigationOptions = {}
91
106
  const focusNextElement = (elements: HTMLElement[]) => {
92
107
  if (!elements.length) return;
93
108
 
109
+ validateFocusedIndex(elements);
110
+
94
111
  if (focusedItemIndex.value < elements.length - 1) {
95
112
  focusedItemIndex.value++;
96
113
  } else if (loop) {
97
114
  focusedItemIndex.value = 0;
115
+ } else {
116
+ // If loop is false and we're at the last element, stay at the last element
117
+ return;
98
118
  }
99
119
 
100
- elements[focusedItemIndex.value].focus();
120
+ const elementToFocus = elements[focusedItemIndex.value];
121
+ if (elementToFocus && typeof elementToFocus.focus === "function") {
122
+ elementToFocus.focus();
123
+ }
101
124
  };
102
125
 
103
126
  /**
@@ -106,13 +129,21 @@ export function useKeyboardNavigation(options: UseKeyboardNavigationOptions = {}
106
129
  const focusPreviousElement = (elements: HTMLElement[]) => {
107
130
  if (!elements.length) return;
108
131
 
132
+ validateFocusedIndex(elements);
133
+
109
134
  if (focusedItemIndex.value > 0) {
110
135
  focusedItemIndex.value--;
111
136
  } else if (loop) {
112
137
  focusedItemIndex.value = elements.length - 1;
138
+ } else {
139
+ // If loop is false and we're at the first element, stay at the first element
140
+ return;
113
141
  }
114
142
 
115
- elements[focusedItemIndex.value].focus();
143
+ const elementToFocus = elements[focusedItemIndex.value];
144
+ if (elementToFocus && typeof elementToFocus.focus === "function") {
145
+ elementToFocus.focus();
146
+ }
116
147
  };
117
148
 
118
149
  /**
@@ -121,7 +152,10 @@ export function useKeyboardNavigation(options: UseKeyboardNavigationOptions = {}
121
152
  const focusFirstElement = (elements: HTMLElement[]) => {
122
153
  if (!elements.length) return;
123
154
  focusedItemIndex.value = 0;
124
- elements[0].focus();
155
+ const elementToFocus = elements[0];
156
+ if (elementToFocus && typeof elementToFocus.focus === "function") {
157
+ elementToFocus.focus();
158
+ }
125
159
  };
126
160
 
127
161
  /**
@@ -130,7 +164,10 @@ export function useKeyboardNavigation(options: UseKeyboardNavigationOptions = {}
130
164
  const focusLastElement = (elements: HTMLElement[]) => {
131
165
  if (!elements.length) return;
132
166
  focusedItemIndex.value = elements.length - 1;
133
- elements[elements.length - 1].focus();
167
+ const elementToFocus = elements[elements.length - 1];
168
+ if (elementToFocus && typeof elementToFocus.focus === "function") {
169
+ elementToFocus.focus();
170
+ }
134
171
  };
135
172
 
136
173
  /**
@@ -192,7 +229,12 @@ export function useKeyboardNavigation(options: UseKeyboardNavigationOptions = {}
192
229
  }
193
230
  },
194
231
  setFocusedIndex: (index: number) => {
195
- focusedItemIndex.value = index;
232
+ if (container.value) {
233
+ const elements = Array.from(container.value.querySelectorAll(itemSelector)) as HTMLElement[];
234
+ if (index >= 0 && index < elements.length) {
235
+ focusedItemIndex.value = index;
236
+ }
237
+ }
196
238
  },
197
239
  getFocusedIndex: () => focusedItemIndex.value,
198
240
  };
@@ -1,78 +1,78 @@
1
- import * as veeValidate from "vee-validate";
2
- import { i18n } from "../../plugins/i18n";
3
- import { setLocale as setVeeI18nLocale, localize } from "@vee-validate/i18n";
4
- import { createSharedComposable, useLocalStorage } from "@vueuse/core";
5
- import { ComputedRef, computed } from "vue";
6
- import ISO6391 from "iso-639-1";
7
- import { languageToCountryMap } from "../../constants";
8
-
9
- export interface IUseLanguages {
10
- setLocale: (locale: string) => void;
11
- currentLocale: ComputedRef<string>;
12
- getLocaleByTag: (localeTag: string) => string | undefined;
13
- resolveCamelCaseLocale: (locale: string) => string;
14
- getFlag: (language: string) => Promise<string>;
15
- }
16
-
17
- export const useLanguages = createSharedComposable(() => {
18
- const defaultLanguage = i18n.global.locale.value;
19
- const savedLocale = useLocalStorage("VC_LANGUAGE_SETTINGS", "");
20
-
21
- const currentLocale = computed(() => {
22
- let locale = defaultLanguage;
23
-
24
- if (i18n.global.availableLocales.includes(savedLocale.value)) {
25
- locale = savedLocale.value;
26
- }
27
-
28
- return locale;
29
- });
30
-
31
- function setLocale(locale: string) {
32
- i18n.global.locale.value = locale;
33
- veeValidate.configure({
34
- generateMessage: localize(locale, {
35
- messages: (i18n.global.getLocaleMessage(locale) as { messages: Record<string, string> }).messages,
36
- }),
37
- });
38
- setVeeI18nLocale(locale);
39
- savedLocale.value = locale;
40
- }
41
-
42
- function getLocaleByTag(localeTag: string) {
43
- if (!localeTag) return;
44
-
45
- const twoLetterLanguageName = localeTag.split("-")[0];
46
-
47
- return ISO6391.getNativeName(twoLetterLanguageName);
48
- }
49
-
50
- function resolveCamelCaseLocale(locale: string) {
51
- const formattedLocale = locale.replace(/([a-z]+)([A-Z]+)/g, "$1-$2").toLowerCase();
52
-
53
- if (i18n.global.getLocaleMessage(formattedLocale)) {
54
- return formattedLocale;
55
- }
56
- return "en";
57
- }
58
-
59
- function getCountryCode(language: string): string {
60
- return (
61
- languageToCountryMap[language.toLocaleLowerCase()] || languageToCountryMap[language.slice(0, 2)] || "xx" // placeholder for unknown country
62
- );
63
- }
64
-
65
- async function getFlag(language: string): Promise<string> {
66
- const countryCode = getCountryCode(language);
67
- return new URL(`../../../assets/icons/flags/${countryCode}.svg`, import.meta.url).href;
68
- }
69
-
70
- return {
71
- setLocale,
72
- currentLocale,
73
- getLocaleByTag,
74
- resolveCamelCaseLocale,
75
- getFlag,
76
- getCountryCode,
77
- };
78
- });
1
+ import * as veeValidate from "vee-validate";
2
+ import { i18n } from "../../plugins/i18n";
3
+ import { setLocale as setVeeI18nLocale, localize } from "@vee-validate/i18n";
4
+ import { createSharedComposable, useLocalStorage } from "@vueuse/core";
5
+ import { ComputedRef, computed } from "vue";
6
+ import ISO6391 from "iso-639-1";
7
+ import { languageToCountryMap } from "../../constants";
8
+
9
+ export interface IUseLanguages {
10
+ setLocale: (locale: string) => void;
11
+ currentLocale: ComputedRef<string>;
12
+ getLocaleByTag: (localeTag: string) => string | undefined;
13
+ resolveCamelCaseLocale: (locale: string) => string;
14
+ getFlag: (language: string) => Promise<string>;
15
+ }
16
+
17
+ export const useLanguages = createSharedComposable(() => {
18
+ const defaultLanguage = i18n.global.locale.value;
19
+ const savedLocale = useLocalStorage("VC_LANGUAGE_SETTINGS", "");
20
+
21
+ const currentLocale = computed(() => {
22
+ let locale = defaultLanguage;
23
+
24
+ if (i18n.global.availableLocales.includes(savedLocale.value)) {
25
+ locale = savedLocale.value;
26
+ }
27
+
28
+ return locale;
29
+ });
30
+
31
+ function setLocale(locale: string) {
32
+ i18n.global.locale.value = locale;
33
+ veeValidate.configure({
34
+ generateMessage: localize(locale, {
35
+ messages: (i18n.global.getLocaleMessage(locale) as { messages: Record<string, string> }).messages,
36
+ }),
37
+ });
38
+ setVeeI18nLocale(locale);
39
+ savedLocale.value = locale;
40
+ }
41
+
42
+ function getLocaleByTag(localeTag: string) {
43
+ if (!localeTag) return;
44
+
45
+ const twoLetterLanguageName = localeTag.split("-")[0];
46
+
47
+ return ISO6391.getNativeName(twoLetterLanguageName);
48
+ }
49
+
50
+ function resolveCamelCaseLocale(locale: string) {
51
+ const formattedLocale = locale.replace(/([a-z]+)([A-Z]+)/g, "$1-$2").toLowerCase();
52
+
53
+ if (i18n.global.getLocaleMessage(formattedLocale)) {
54
+ return formattedLocale;
55
+ }
56
+ return "en";
57
+ }
58
+
59
+ function getCountryCode(language: string): string {
60
+ return (
61
+ languageToCountryMap[language.toLocaleLowerCase()] || languageToCountryMap[language.slice(0, 2)] || "xx" // placeholder for unknown country
62
+ );
63
+ }
64
+
65
+ async function getFlag(language: string): Promise<string> {
66
+ const countryCode = getCountryCode(language);
67
+ return new URL(`../../../assets/icons/flags/${countryCode}.svg`, import.meta.url).href;
68
+ }
69
+
70
+ return {
71
+ setLocale,
72
+ currentLocale,
73
+ getLocaleByTag,
74
+ resolveCamelCaseLocale,
75
+ getFlag,
76
+ getCountryCode,
77
+ };
78
+ });
@@ -130,7 +130,18 @@ export function createAppModule(
130
130
  const mainRoute = routerInstance.getRoutes().find((r) => r.meta?.root);
131
131
 
132
132
  if (!mainRoute) {
133
- throw new Error("Main route not found. Make sure you have added `meta: {root: true}` to the main route.");
133
+ throw new Error(
134
+ "[vc-shell][createAppModule] Main route not found. Ensure `meta: { root: true }` is set on the main application route.",
135
+ );
136
+ }
137
+
138
+ if (!mainRoute.name || typeof mainRoute.name !== "string" || mainRoute.name.trim() === "") {
139
+ console.error(
140
+ "[vc-shell][createAppModule] Main route found, but its 'name' property is missing, not a string, or empty. Cannot add child routes for blades. Main route details:",
141
+ mainRoute,
142
+ );
143
+ // Potentially throw an error here or handle it, as blade routes won't be added
144
+ return; // Skip adding this blade route if mainRoute.name is invalid
134
145
  }
135
146
 
136
147
  const mainRouteName = mainRoute.name;
@@ -161,15 +172,15 @@ export function createAppModule(
161
172
  // Remove existing page in global properties if it exists
162
173
  if (app.config.globalProperties.pages) {
163
174
  const existingPageIndex = app.config.globalProperties.pages.findIndex(
164
- (p: BladeInstanceConstructor) => p.name === bladeVNode.type.name,
175
+ (p: BladeInstanceConstructor) => p.name === (bladeVNode.type as BladeInstanceConstructor).name,
165
176
  );
166
177
  if (existingPageIndex !== -1) {
167
178
  app.config.globalProperties.pages.splice(existingPageIndex, 1);
168
179
  }
169
180
  }
170
181
 
171
- // Add new page to global properties
172
- app.config.globalProperties.pages?.push(bladeVNode);
182
+ // Add new page to global properties - storing the component constructor (VNode's type)
183
+ app.config.globalProperties.pages?.push(bladeVNode.type as BladeInstanceConstructor);
173
184
 
174
185
  // Remove existing bladeRoute if it exists
175
186
  if (app.config.globalProperties.bladeRoutes) {
@@ -181,9 +192,9 @@ export function createAppModule(
181
192
  }
182
193
  }
183
194
 
184
- // Add new bladeRoute
195
+ // Add new bladeRoute - storing the component constructor (VNode's type) in the component field
185
196
  app.config.globalProperties.bladeRoutes?.push({
186
- component: bladeVNode,
197
+ component: bladeVNode.type as BladeInstanceConstructor,
187
198
  route: page.url,
188
199
  name: routeName,
189
200
  isWorkspace: page.isWorkspace || false,
@@ -0,0 +1,36 @@
1
+ import { Ref, ref } from "vue";
2
+
3
+ export interface GlobalSearchState {
4
+ isSearchVisible: Ref<Record<string, boolean>>;
5
+ searchQuery: Ref<Record<string, string>>;
6
+ toggleSearch: (bladeId: string) => void;
7
+ setSearchQuery: (bladeId: string, query: string) => void;
8
+ closeSearch: (bladeId: string) => void;
9
+ }
10
+
11
+ export function createGlobalSearchService() {
12
+ const isSearchVisible = ref<Record<string, boolean>>({});
13
+ const searchQuery = ref<Record<string, string>>({});
14
+
15
+ const toggleSearch = (bladeId: string) => {
16
+ isSearchVisible.value[bladeId] = !isSearchVisible.value[bladeId];
17
+ };
18
+
19
+ const setSearchQuery = (bladeId: string, query: string) => {
20
+ searchQuery.value[bladeId] = query;
21
+ };
22
+
23
+ const closeSearch = (bladeId: string) => {
24
+ isSearchVisible.value[bladeId] = false;
25
+ };
26
+
27
+ const state: GlobalSearchState = {
28
+ isSearchVisible,
29
+ searchQuery,
30
+ toggleSearch,
31
+ setSearchQuery,
32
+ closeSearch,
33
+ };
34
+
35
+ return state;
36
+ }
@@ -1,4 +1,5 @@
1
- export declare function useAppInsights(): {
1
+ import { ApplicationInsights } from "@microsoft/applicationinsights-web";
2
+ export interface IUseAppInsights {
2
3
  setupPageTracking: {
3
4
  beforeEach: (route: {
4
5
  name: string;
@@ -8,5 +9,7 @@ export declare function useAppInsights(): {
8
9
  fullPath: string;
9
10
  }) => void;
10
11
  };
11
- };
12
+ appInsights: ApplicationInsights;
13
+ }
14
+ export declare function useAppInsights(): IUseAppInsights;
12
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useAppInsights/index.ts"],"names":[],"mappings":"AAKA,wBAAgB,cAAc;;4BAUC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE;2BASjB;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE;;EAmB/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useAppInsights/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAW,MAAM,oCAAoC,CAAC;AAElF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE;QACjB,UAAU,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QAC9C,SAAS,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;KAChE,CAAC;IACF,WAAW,EAAE,mBAAmB,CAAC;CAClC;AAED,wBAAgB,cAAc,IAAI,eAAe,CAuChD"}
@@ -0,0 +1,48 @@
1
+ import { App, ComputedRef } from "vue";
2
+ import { BladeInstanceConstructor } from "../../../shared/components/blade-navigation/types";
3
+ /**
4
+ * Interface for blade registration data
5
+ */
6
+ export interface IBladeRegistrationData {
7
+ component: BladeInstanceConstructor;
8
+ route?: string;
9
+ isWorkspace?: boolean;
10
+ }
11
+ /**
12
+ * Injection key for provide/inject pattern
13
+ */
14
+ export declare const BladeRegistryKey: unique symbol;
15
+ /**
16
+ * Public interface for blade registry
17
+ */
18
+ export interface IBladeRegistry {
19
+ /** Readonly map of all registered blades */
20
+ readonly registeredBladesMap: ComputedRef<ReadonlyMap<string, IBladeRegistrationData>>;
21
+ /** Get blade registration data by name */
22
+ getBlade: (name: string) => IBladeRegistrationData | undefined;
23
+ /** Get blade component by name */
24
+ getBladeComponent: (name: string) => BladeInstanceConstructor | undefined;
25
+ }
26
+ /**
27
+ * Extended interface for blade registry instance with internal registration function
28
+ */
29
+ export interface IBladeRegistryInstance extends IBladeRegistry {
30
+ _registerBladeFn: (name: string, registrationData: IBladeRegistrationData) => void;
31
+ }
32
+ /**
33
+ * Creates a blade registry instance
34
+ * This function should be called once during application initialization
35
+ *
36
+ * @param app - Vue application instance
37
+ * @returns Blade registry instance with registration capabilities
38
+ */
39
+ export declare function createBladeRegistry(app: App): IBladeRegistryInstance;
40
+ /**
41
+ * Composable function for accessing blade registry
42
+ * Must be used after createBladeRegistry is called and provided with BladeRegistryKey
43
+ *
44
+ * @returns Blade registry interface
45
+ * @throws Error if registry is not available
46
+ */
47
+ export declare function useBladeRegistry(): IBladeRegistry;
48
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useBladeRegistry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAgC,WAAW,EAA2B,MAAM,KAAK,CAAC;AAC9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,wBAAwB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CAEvB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAA0B,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4CAA4C;IAC5C,QAAQ,CAAC,mBAAmB,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC;IACvF,0CAA0C;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,sBAAsB,GAAG,SAAS,CAAC;IAC/D,kCAAkC;IAClC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;CAC3E;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACpF;AAeD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,sBAAsB,CAqGpE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAQjD"}
@@ -49,16 +49,19 @@ export interface IUseDynamicProperties<TProperty extends IBaseProperty<TProperty
49
49
  getPropertyValue: (property: TProperty, locale: string) => string | TPropertyValue[] | (TPropertyDictionaryItem & {
50
50
  value: string;
51
51
  })[];
52
- setPropertyValue: (data: {
53
- property: TProperty;
54
- value: string | TPropertyValue[] | (TPropertyDictionaryItem & {
55
- value: string;
56
- })[];
57
- dictionary?: TPropertyDictionaryItem[];
58
- locale?: string;
59
- initialProp?: TProperty;
60
- }) => void;
52
+ setPropertyValue: (data: SetPropertyValueParams<TProperty, TPropertyValue, TPropertyDictionaryItem>) => void;
61
53
  loadMeasurements(measureId: string, keyword?: string, locale?: string): Promise<TMeasurement[] | undefined>;
62
54
  }
55
+ interface SetPropertyValueParams<TProperty, TPropertyValue, TPropertyDictionaryItem> {
56
+ property: TProperty;
57
+ value: string | TPropertyValue[] | (TPropertyDictionaryItem & {
58
+ value: string;
59
+ })[];
60
+ dictionary?: TPropertyDictionaryItem[];
61
+ locale?: string;
62
+ initialProp?: TProperty;
63
+ unitOfMeasureId?: string;
64
+ }
63
65
  export declare const useDynamicProperties: <TProperty extends IBaseProperty<TPropertyValue>, TPropertyValue extends IBasePropertyValue, TPropertyDictionaryItem extends IBasePropertyDictionaryItem, TPropertyDictionaryItemSearchCriteria extends IBasePropertyDictionaryItemSearchCriteria, TMeasurement extends IBaseMeasurementDictionaryItem>(searchDictionaryItemsFunction: (criteria: TPropertyDictionaryItemSearchCriteria) => Promise<TPropertyDictionaryItem[] | undefined>, PropertyValueConstructor: new (data?: Partial<TPropertyValue>) => TPropertyValue, PropertyDictionaryItemConstructor: new (data?: Partial<TPropertyDictionaryItem>) => TPropertyDictionaryItem, searchMeasurementFunction?: (measureId: string, locale?: string) => Promise<TMeasurement[] | undefined>) => IUseDynamicProperties<TProperty, TPropertyValue, TPropertyDictionaryItem, TPropertyDictionaryItemSearchCriteria>;
66
+ export {};
64
67
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useDynamicProperties/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useDynamicProperties/index.ts"],"names":[],"mappings":"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"}
@@ -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,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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useKeyboardNavigation/index.ts"],"names":[],"mappings":"AAEA,UAAU,4BAA4B;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC;iCA2H1C,WAAW;;;;;;6BAuDpB,MAAM;;EAKlC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/composables/useKeyboardNavigation/index.ts"],"names":[],"mappings":"AAEA,UAAU,4BAA4B;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC;iCAgK1C,WAAW;;;;;;6BAuDpB,MAAM;;EAUlC"}
@@ -1 +1 @@
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"}
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;EAyNxD;AAED,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { Ref } from "vue";
2
+ export interface GlobalSearchState {
3
+ isSearchVisible: Ref<Record<string, boolean>>;
4
+ searchQuery: Ref<Record<string, string>>;
5
+ toggleSearch: (bladeId: string) => void;
6
+ setSearchQuery: (bladeId: string, query: string) => void;
7
+ closeSearch: (bladeId: string) => void;
8
+ }
9
+ export declare function createGlobalSearchService(): GlobalSearchState;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../core/services/global-search-service/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAO,MAAM,KAAK,CAAC;AAE/B,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,wBAAgB,yBAAyB,sBAyBxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,MAAM,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,EAAE,GAAG,EAAa,MAAM,KAAK,CAAC;AA0BrC,OAAO,eAAe,CAAC;AACvB,OAAO,+BAA+B,CAAC;AACvC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,4BAA4B,CAAC;AAiBpC,OAAO,uDAAuD,CAAC;AAC/D,OAAO,iDAAiD,CAAC;AAEzD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,+BAA+B,CAAC;AAIvC,MAAM,WAAW,sBAAsB;IACrC,OAAO,CACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,mBAAmB,CAAC,EAAE;YACpB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH,GACA,IAAI,CAAC;CACT;wBAsQI,sBAAsB;AA9O3B,wBA8O4B;AAE5B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAE3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,MAAM,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,EAAE,GAAG,EAAa,MAAM,KAAK,CAAC;AAkCrC,OAAO,eAAe,CAAC;AACvB,OAAO,+BAA+B,CAAC;AACvC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,4BAA4B,CAAC;AAiBpC,OAAO,uDAAuD,CAAC;AAC/D,OAAO,iDAAiD,CAAC;AAEzD,OAAO,8CAA8C,CAAC;AAEtD,OAAO,+BAA+B,CAAC;AAIvC,MAAM,WAAW,sBAAsB;IACrC,OAAO,CACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE;YACL,MAAM,EAAE,MAAM,CAAC;YACf,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,mBAAmB,CAAC,EAAE;YACpB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;SAC5B,CAAC;KACH,GACA,IAAI,CAAC;CACT;wBA4QI,sBAAsB;AApP3B,wBAoP4B;AAE5B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,YAAY,CAAC;AAE3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,UAAU,CAAC"}
@@ -1,24 +1,19 @@
1
1
  import { Component, ComputedRef } from "vue";
2
- import { RouteLocationNormalized, NavigationFailure, RouteRecordName, RouteParams, RouteParamsGeneric, RouteRecordNameGeneric } from "vue-router";
2
+ import { RouteLocationNormalized, NavigationFailure, RouteLocationRaw } from "vue-router";
3
3
  import { BladeVNode, IBladeEvent, IParentCallArgs, BladeInstanceConstructor } from "../../types";
4
4
  import "core-js/actual/array/find-last";
5
5
  import "core-js/actual/array/find-last-index";
6
6
  interface IUseBladeNavigation {
7
7
  readonly blades: ComputedRef<BladeVNode[]>;
8
- readonly currentBladeNavigationData: ComputedRef<BladeVNode["props"]["navigation"]>;
9
- openBlade: <Blade extends Component>({ blade, param, options, onOpen, onClose, replaceCurrentBlade }: IBladeEvent<Blade>, isWorkspace?: boolean) => Promise<void | NavigationFailure>;
8
+ readonly activeWorkspace: ComputedRef<BladeVNode | undefined>;
9
+ readonly currentBladeNavigationData: ComputedRef<BladeVNode["props"]["navigation"] | undefined>;
10
+ openBlade: <Blade extends Component>(args: IBladeEvent<Blade>, isWorkspace?: boolean) => Promise<void | NavigationFailure>;
10
11
  closeBlade: (index: number) => Promise<boolean>;
11
- goToRoot: () => {
12
- name: RouteRecordNameGeneric;
13
- params: RouteParamsGeneric;
14
- };
12
+ goToRoot: () => RouteLocationRaw;
15
13
  onParentCall: (parentExposedMethods: Record<string, any>, args: IParentCallArgs) => void;
16
14
  onBeforeClose: (cb: () => Promise<boolean | undefined>) => void;
17
- resolveBladeByName: (name: string) => BladeInstanceConstructor;
18
- routeResolver: (to: RouteLocationNormalized) => Promise<{
19
- name: RouteRecordName | undefined;
20
- params: RouteParams;
21
- } | undefined> | undefined;
15
+ resolveBladeByName: (name: string) => BladeInstanceConstructor | undefined;
16
+ routeResolver: (to: RouteLocationNormalized) => Promise<RouteLocationRaw | undefined> | RouteLocationRaw | undefined;
22
17
  setNavigationQuery: (query: Record<string, string | number>) => void;
23
18
  getNavigationQuery: () => Record<string, string | number> | undefined;
24
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../shared/components/blade-navigation/composables/useBladeNavigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,SAAS,EAA0B,WAAW,EAAS,MAAM,KAAK,CAAC;AAIxH,OAAO,EACL,uBAAuB,EAEvB,iBAAiB,EACjB,eAAe,EACf,WAAW,EAGX,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAGL,UAAU,EACV,WAAW,EACX,eAAe,EACf,wBAAwB,EAGzB,MAAM,aAAa,CAAC;AAIrB,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAG9C,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACpF,SAAS,EAAE,CAAC,KAAK,SAAS,SAAS,EACjC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,EACnF,WAAW,CAAC,EAAE,OAAO,KAClB,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,EAAE,MAAM;QACd,IAAI,EAAE,sBAAsB,CAAC;QAC7B,MAAM,EAAE,kBAAkB,CAAC;KAC5B,CAAC;IACF,YAAY,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACzF,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,wBAAwB,CAAC;IAC/D,aAAa,EAAE,CAAC,EAAE,EAAE,uBAAuB,KACvC,OAAO,CACH;QACE,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;QAClC,MAAM,EAAE,WAAW,CAAC;KACrB,GACD,SAAS,CACZ,GACD,SAAS,CAAC;IACd,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;CACvE;AA8OD,wBAAgB,kBAAkB,IAAI,mBAAmB,CAgXxD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../shared/components/blade-navigation/composables/useBladeNavigation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,SAAS,EAAE,WAAW,EAAE,MAAM,KAAK,CAAC;AAIzF,OAAO,EAAE,uBAAuB,EAAY,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGpG,OAAO,EAGL,UAAU,EACV,WAAW,EACX,eAAe,EACf,wBAAwB,EAEzB,MAAM,aAAa,CAAC;AAIrB,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAU9C,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC9D,QAAQ,CAAC,0BAA0B,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC;IAChG,SAAS,EAAE,CAAC,KAAK,SAAS,SAAS,EACjC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,EACxB,WAAW,CAAC,EAAE,OAAO,KAClB,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;IACvC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,QAAQ,EAAE,MAAM,gBAAgB,CAAC;IACjC,YAAY,EAAE,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACzF,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC;IAChE,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;IAC3E,aAAa,EAAE,CAAC,EAAE,EAAE,uBAAuB,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACrH,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;CACvE;AAgJD,wBAAgB,kBAAkB,IAAI,mBAAmB,CA6ExD"}
@@ -0,0 +1,15 @@
1
+ import { Component } from "vue";
2
+ import { RouteLocationNormalized, Router, LocationQuery, NavigationFailure, RouteParams } from "vue-router";
3
+ import { useAppInsights } from "../../../../../../core/composables";
4
+ import { i18n } from "../../../../../../core/plugins/i18n";
5
+ import type { notification as NotificationServiceType } from "../../../../notifications";
6
+ import type { BladeVNode, IBladeEvent, BladeInstanceConstructor } from "../../../types";
7
+ import type { _createBladeStateManagement } from "./bladeState";
8
+ import type { _createRouterUtils } from "./routerUtils";
9
+ export declare function _createBladeActions(router: Router, route: RouteLocationNormalized, bladeState: ReturnType<typeof _createBladeStateManagement>, routerUtils: ReturnType<typeof _createRouterUtils>, ensureBladeComponent: <Blade extends Component>(bladeInput: BladeInstanceConstructor<Blade> | {
10
+ name: string;
11
+ } | null | undefined) => BladeInstanceConstructor<Blade>, hasAccess: (permissions?: string | string[]) => boolean, notificationServiceInstance: typeof NotificationServiceType, i18nInstance: typeof i18n, setupPageTrackingInstance: ReturnType<typeof useAppInsights>["setupPageTracking"]): {
12
+ openWorkspace: <Blade extends Component>({ blade: bladeInput, param, options }: IBladeEvent<Blade>, query?: LocationQuery | undefined, routeParams?: RouteParams, replace?: boolean) => Promise<NavigationFailure | void>;
13
+ openBlade: <Blade extends Component>(args: IBladeEvent<Blade>, isWorkspaceTarget?: boolean, sourceBladeInstance?: BladeVNode) => Promise<void | NavigationFailure>;
14
+ };
15
+ //# sourceMappingURL=bladeActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bladeActions.d.ts","sourceRoot":"","sources":["../../../../../../../shared/components/blade-navigation/composables/useBladeNavigation/internal/bladeActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,SAAS,EAAW,MAAM,KAAK,CAAC;AAG5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGxD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,uBAAuB,EAC9B,UAAU,EAAE,UAAU,CAAC,OAAO,2BAA2B,CAAC,EAC1D,WAAW,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,EAClD,oBAAoB,EAAE,CAAC,KAAK,SAAS,SAAS,EAC5C,UAAU,EAAE,wBAAwB,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,KAC9E,wBAAwB,CAAC,KAAK,CAAC,EACpC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,EACvD,2BAA2B,EAAE,OAAO,uBAAuB,EAC3D,YAAY,EAAE,OAAO,IAAI,EACzB,yBAAyB,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,mBAAmB,CAAC;oBAEpD,KAAK,SAAS,SAAS,yCACX,WAAW,CAAC,KAAK,CAAC,UAClD,aAAa,GAAG,SAAS,gBACnB,WAAW,wBAEvB,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAgDX,KAAK,SAAS,SAAS,QACxC,WAAW,CAAC,KAAK,CAAC,qDAEF,UAAU,KAC/B,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC;EAoErC"}