@vc-shell/framework 1.0.69 → 1.0.71

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 (468) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/core/api/platform.ts +2762 -2225
  3. package/core/composables/index.ts +1 -0
  4. package/core/composables/useMenuComposer/index.ts +25 -0
  5. package/core/composables/useNotifications/index.ts +25 -31
  6. package/core/composables/useUser/index.ts +176 -10
  7. package/core/directives/index.ts +0 -1
  8. package/core/plugins/index.ts +1 -1
  9. package/core/plugins/modularity/index.ts +8 -1
  10. package/core/plugins/signalR/index.ts +32 -0
  11. package/core/types/index.ts +56 -17
  12. package/dist/core/api/platform.d.ts +1005 -931
  13. package/dist/core/api/platform.d.ts.map +1 -1
  14. package/dist/core/composables/index.d.ts +1 -0
  15. package/dist/core/composables/index.d.ts.map +1 -1
  16. package/dist/core/composables/useMenuComposer/index.d.ts +12 -0
  17. package/dist/core/composables/useMenuComposer/index.d.ts.map +1 -0
  18. package/dist/core/composables/useNotifications/index.d.ts +4 -6
  19. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  20. package/dist/core/composables/useUser/index.d.ts +18 -1
  21. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  22. package/dist/core/directives/autofocus/index.d.ts +1 -1
  23. package/dist/core/directives/autofocus/index.d.ts.map +1 -1
  24. package/dist/core/directives/index.d.ts +0 -1
  25. package/dist/core/directives/index.d.ts.map +1 -1
  26. package/dist/core/directives/loading/index.d.ts +1 -1
  27. package/dist/core/directives/loading/index.d.ts.map +1 -1
  28. package/dist/core/directives/permissions/index.d.ts +1 -1
  29. package/dist/core/directives/permissions/index.d.ts.map +1 -1
  30. package/dist/core/plugins/index.d.ts +1 -1
  31. package/dist/core/plugins/index.d.ts.map +1 -1
  32. package/dist/core/plugins/modularity/index.d.ts +1 -1
  33. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  34. package/dist/core/plugins/signalR/index.d.ts +4 -0
  35. package/dist/core/plugins/signalR/index.d.ts.map +1 -0
  36. package/dist/core/types/index.d.ts +46 -20
  37. package/dist/core/types/index.d.ts.map +1 -1
  38. package/dist/framework.mjs +31824 -29372
  39. package/dist/index.css +1 -1
  40. package/dist/index.d.ts +3 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/injectionSymbols.d.ts +6 -0
  43. package/dist/injectionSymbols.d.ts.map +1 -0
  44. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts +1 -3
  45. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts.map +1 -1
  46. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +6 -3
  47. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  48. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts +1 -1
  49. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  50. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +13 -456
  51. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts.map +1 -1
  52. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +19 -454
  53. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  54. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +3 -4
  55. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  56. package/dist/shared/components/blade-navigation/index.d.ts +1 -9
  57. package/dist/shared/components/blade-navigation/index.d.ts.map +1 -1
  58. package/dist/shared/components/blade-navigation/plugin.d.ts +13 -0
  59. package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -0
  60. package/dist/shared/components/blade-navigation/types/index.d.ts +53 -26
  61. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  62. package/dist/shared/components/change-password/change-password.vue.d.ts +7 -0
  63. package/dist/shared/components/change-password/change-password.vue.d.ts.map +1 -0
  64. package/dist/shared/components/change-password/index.d.ts +11 -0
  65. package/dist/shared/components/change-password/index.d.ts.map +1 -0
  66. package/dist/{core/plugins → shared/components}/error-interceptor/index.d.ts +53 -15
  67. package/dist/shared/components/error-interceptor/index.d.ts.map +1 -0
  68. package/dist/{core/plugins → shared/components}/error-interceptor/interceptor.d.ts +1 -1
  69. package/dist/shared/components/error-interceptor/interceptor.d.ts.map +1 -0
  70. package/dist/shared/components/index.d.ts +9 -0
  71. package/dist/shared/components/index.d.ts.map +1 -0
  72. package/dist/shared/components/language-selector/index.d.ts +55 -0
  73. package/dist/shared/components/language-selector/index.d.ts.map +1 -0
  74. package/dist/shared/components/language-selector/language-selector.vue.d.ts +45 -0
  75. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -0
  76. package/dist/shared/components/notifications/components/notification-container/index.d.ts +13 -13
  77. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  78. package/dist/shared/components/notifications/core/notification.d.ts.map +1 -1
  79. package/dist/shared/components/notifications/index.d.ts +0 -9
  80. package/dist/shared/components/notifications/index.d.ts.map +1 -1
  81. package/dist/shared/components/notifications/types/index.d.ts +3 -1
  82. package/dist/shared/components/notifications/types/index.d.ts.map +1 -1
  83. package/dist/shared/components/popup-handler/components/index.d.ts +2 -0
  84. package/dist/shared/components/popup-handler/components/index.d.ts.map +1 -0
  85. package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts +2 -0
  86. package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts.map +1 -0
  87. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts +3 -0
  88. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts.map +1 -0
  89. package/dist/shared/components/popup-handler/composables/index.d.ts +2 -0
  90. package/dist/shared/components/popup-handler/composables/index.d.ts.map +1 -0
  91. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts +12 -0
  92. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts.map +1 -0
  93. package/dist/shared/components/popup-handler/index.d.ts +16 -0
  94. package/dist/shared/components/popup-handler/index.d.ts.map +1 -0
  95. package/dist/shared/components/popup-handler/plugin.d.ts +6 -0
  96. package/dist/shared/components/popup-handler/plugin.d.ts.map +1 -0
  97. package/dist/shared/components/popup-handler/types/index.d.ts +26 -0
  98. package/dist/shared/components/popup-handler/types/index.d.ts.map +1 -0
  99. package/dist/shared/components/popup-handler/utils/index.d.ts +3 -0
  100. package/dist/shared/components/popup-handler/utils/index.d.ts.map +1 -0
  101. package/dist/shared/components/user-dropdown-button/index.d.ts +43 -0
  102. package/dist/shared/components/user-dropdown-button/index.d.ts.map +1 -0
  103. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +33 -0
  104. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -0
  105. package/dist/shared/index.d.ts +3 -5
  106. package/dist/shared/index.d.ts.map +1 -1
  107. package/dist/shared/locales/index.d.ts +3 -0
  108. package/dist/shared/locales/index.d.ts.map +1 -0
  109. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +13 -11
  110. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  111. package/dist/shared/modules/assets/components/assets-details/index.d.ts +25 -123
  112. package/dist/shared/modules/assets/components/assets-details/index.d.ts.map +1 -1
  113. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +15 -18
  114. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  115. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +30 -150
  116. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts.map +1 -1
  117. package/dist/shared/modules/index.d.ts +3 -0
  118. package/dist/shared/modules/index.d.ts.map +1 -0
  119. package/dist/shared/pages/InvitePage/components/index.d.ts +2 -0
  120. package/dist/shared/pages/InvitePage/components/index.d.ts.map +1 -0
  121. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +33 -0
  122. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -0
  123. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +32 -0
  124. package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +1 -0
  125. package/dist/shared/pages/InvitePage/index.d.ts +5 -0
  126. package/dist/shared/pages/InvitePage/index.d.ts.map +1 -0
  127. package/dist/shared/pages/InvitePage/locales/index.d.ts +3 -0
  128. package/dist/shared/pages/InvitePage/locales/index.d.ts.map +1 -0
  129. package/dist/shared/pages/LoginPage/components/index.d.ts +2 -0
  130. package/dist/shared/pages/LoginPage/components/index.d.ts.map +1 -0
  131. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts +17 -0
  132. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -0
  133. package/dist/shared/pages/LoginPage/components/login/index.d.ts +28 -0
  134. package/dist/shared/pages/LoginPage/components/login/index.d.ts.map +1 -0
  135. package/dist/shared/pages/LoginPage/index.d.ts +3 -0
  136. package/dist/shared/pages/LoginPage/index.d.ts.map +1 -0
  137. package/dist/shared/pages/LoginPage/locales/index.d.ts +3 -0
  138. package/dist/shared/pages/LoginPage/locales/index.d.ts.map +1 -0
  139. package/dist/shared/pages/LoginPage/plugin.d.ts +6 -0
  140. package/dist/shared/pages/LoginPage/plugin.d.ts.map +1 -0
  141. package/dist/shared/pages/ResetPasswordPage/components/index.d.ts +2 -0
  142. package/dist/shared/pages/ResetPasswordPage/components/index.d.ts.map +1 -0
  143. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +33 -0
  144. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -0
  145. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +32 -0
  146. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -0
  147. package/dist/shared/pages/ResetPasswordPage/index.d.ts +5 -0
  148. package/dist/shared/pages/ResetPasswordPage/index.d.ts.map +1 -0
  149. package/dist/shared/pages/ResetPasswordPage/locales/index.d.ts +3 -0
  150. package/dist/shared/pages/ResetPasswordPage/locales/index.d.ts.map +1 -0
  151. package/dist/shared/pages/index.d.ts +10 -0
  152. package/dist/shared/pages/index.d.ts.map +1 -0
  153. package/dist/tsconfig.tsbuildinfo +1 -1
  154. package/dist/typings/index.d.ts +8 -0
  155. package/dist/typings/index.d.ts.map +1 -0
  156. package/dist/ui/components/atoms/vc-badge/index.d.ts +56 -19
  157. package/dist/ui/components/atoms/vc-badge/index.d.ts.map +1 -1
  158. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +2 -2
  159. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  160. package/dist/ui/components/atoms/vc-button/index.d.ts +103 -49
  161. package/dist/ui/components/atoms/vc-button/index.d.ts.map +1 -1
  162. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +17 -11
  163. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  164. package/dist/ui/components/atoms/vc-card/index.d.ts +66 -44
  165. package/dist/ui/components/atoms/vc-card/index.d.ts.map +1 -1
  166. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts +8 -6
  167. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
  168. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +74 -48
  169. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -1
  170. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts +8 -5
  171. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  172. package/dist/ui/components/atoms/vc-col/index.d.ts +54 -19
  173. package/dist/ui/components/atoms/vc-col/index.d.ts.map +1 -1
  174. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts +7 -4
  175. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts.map +1 -1
  176. package/dist/ui/components/atoms/vc-container/index.d.ts +56 -19
  177. package/dist/ui/components/atoms/vc-container/index.d.ts.map +1 -1
  178. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
  179. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
  180. package/dist/ui/components/atoms/vc-hint/index.d.ts +53 -8
  181. package/dist/ui/components/atoms/vc-hint/index.d.ts.map +1 -1
  182. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts +2 -2
  183. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts.map +1 -1
  184. package/dist/ui/components/atoms/vc-icon/index.d.ts +4 -8
  185. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -1
  186. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +7 -4
  187. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  188. package/dist/ui/components/atoms/vc-image/index.d.ts +17 -23
  189. package/dist/ui/components/atoms/vc-image/index.d.ts.map +1 -1
  190. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +8 -5
  191. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
  192. package/dist/ui/components/atoms/vc-info-row/index.d.ts +10 -12
  193. package/dist/ui/components/atoms/vc-info-row/index.d.ts.map +1 -1
  194. package/dist/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts +7 -4
  195. package/dist/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts.map +1 -1
  196. package/dist/ui/components/atoms/vc-label/index.d.ts +56 -23
  197. package/dist/ui/components/atoms/vc-label/index.d.ts.map +1 -1
  198. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +8 -5
  199. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -1
  200. package/dist/ui/components/atoms/vc-link/index.d.ts +56 -20
  201. package/dist/ui/components/atoms/vc-link/index.d.ts.map +1 -1
  202. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts +2 -2
  203. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
  204. package/dist/ui/components/atoms/vc-loading/index.d.ts +1 -1
  205. package/dist/ui/components/atoms/vc-loading/index.d.ts.map +1 -1
  206. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts +1 -1
  207. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
  208. package/dist/ui/components/atoms/vc-progress/index.d.ts +54 -27
  209. package/dist/ui/components/atoms/vc-progress/index.d.ts.map +1 -1
  210. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +6 -3
  211. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  212. package/dist/ui/components/atoms/vc-row/index.d.ts +53 -8
  213. package/dist/ui/components/atoms/vc-row/index.d.ts.map +1 -1
  214. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts +2 -2
  215. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts.map +1 -1
  216. package/dist/ui/components/atoms/vc-status/index.d.ts +61 -36
  217. package/dist/ui/components/atoms/vc-status/index.d.ts.map +1 -1
  218. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +8 -5
  219. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  220. package/dist/ui/components/atoms/vc-status-icon/index.d.ts +1 -1
  221. package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -1
  222. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts +1 -1
  223. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts.map +1 -1
  224. package/dist/ui/components/atoms/vc-switch/index.d.ts +1 -1
  225. package/dist/ui/components/atoms/vc-switch/index.d.ts.map +1 -1
  226. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts +1 -1
  227. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts.map +1 -1
  228. package/dist/ui/components/atoms/vc-widget/index.d.ts +1 -1
  229. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +1 -1
  230. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -1
  231. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  232. package/dist/ui/components/index.d.ts +2 -0
  233. package/dist/ui/components/index.d.ts.map +1 -1
  234. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +3 -3
  235. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts.map +1 -1
  236. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts +1 -3
  237. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts.map +1 -1
  238. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +6 -3
  239. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  240. package/dist/ui/components/molecules/vc-code-editor/index.d.ts +79 -65
  241. package/dist/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -1
  242. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +7 -4
  243. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -1
  244. package/dist/ui/components/molecules/vc-editor/index.d.ts +80 -69
  245. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -1
  246. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +7 -4
  247. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  248. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +77 -65
  249. package/dist/ui/components/molecules/vc-file-upload/index.d.ts.map +1 -1
  250. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +7 -4
  251. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  252. package/dist/ui/components/molecules/vc-form/index.d.ts +53 -8
  253. package/dist/ui/components/molecules/vc-form/index.d.ts.map +1 -1
  254. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts +2 -2
  255. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -1
  256. package/dist/ui/components/molecules/vc-input/index.d.ts +116 -128
  257. package/dist/ui/components/molecules/vc-input/index.d.ts.map +1 -1
  258. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +17 -13
  259. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  260. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +125 -137
  261. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
  262. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +9 -8
  263. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
  264. package/dist/ui/components/molecules/vc-notification/index.d.ts +1 -1
  265. package/dist/ui/components/molecules/vc-notification/index.d.ts.map +1 -1
  266. package/dist/ui/components/molecules/vc-notification/vc-notification.vue.d.ts +1 -1
  267. package/dist/ui/components/molecules/vc-notification/vc-notification.vue.d.ts.map +1 -1
  268. package/dist/ui/components/molecules/vc-pagination/index.d.ts +7 -11
  269. package/dist/ui/components/molecules/vc-pagination/index.d.ts.map +1 -1
  270. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +6 -3
  271. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  272. package/dist/ui/components/molecules/vc-rating/index.d.ts +73 -55
  273. package/dist/ui/components/molecules/vc-rating/index.d.ts.map +1 -1
  274. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +8 -5
  275. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
  276. package/dist/ui/components/molecules/vc-select/index.d.ts +188 -584
  277. package/dist/ui/components/molecules/vc-select/index.d.ts.map +1 -1
  278. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +643 -119
  279. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  280. package/dist/ui/components/molecules/vc-slider/index.d.ts +70 -55
  281. package/dist/ui/components/molecules/vc-slider/index.d.ts.map +1 -1
  282. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +10 -7
  283. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
  284. package/dist/ui/components/molecules/vc-textarea/index.d.ts +80 -68
  285. package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +1 -1
  286. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +7 -4
  287. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
  288. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +21 -7
  289. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  290. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +8 -17
  291. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts.map +1 -1
  292. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +20 -37
  293. 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
  294. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +20 -13
  295. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  296. package/dist/ui/components/organisms/vc-app/index.d.ts +138 -160
  297. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  298. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +23 -24
  299. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  300. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +4 -4
  301. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  302. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +8 -5
  303. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
  304. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +7 -4
  305. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  306. package/dist/ui/components/organisms/vc-blade/index.d.ts +90 -129
  307. package/dist/ui/components/organisms/vc-blade/index.d.ts.map +1 -1
  308. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +11 -15
  309. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  310. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts +3 -5
  311. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts.map +1 -1
  312. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +6 -3
  313. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  314. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +7 -4
  315. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
  316. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +18 -7
  317. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  318. package/dist/ui/components/organisms/vc-gallery/index.d.ts +37 -52
  319. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -1
  320. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +8 -8
  321. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  322. package/dist/ui/components/organisms/vc-login-form/index.d.ts +62 -31
  323. package/dist/ui/components/organisms/vc-login-form/index.d.ts.map +1 -1
  324. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts +7 -4
  325. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -1
  326. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts +32 -0
  327. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -0
  328. package/dist/ui/components/organisms/vc-notification-dropdown/index.d.ts +44 -0
  329. package/dist/ui/components/organisms/vc-notification-dropdown/index.d.ts.map +1 -0
  330. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts +22 -0
  331. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts.map +1 -0
  332. package/dist/ui/components/organisms/vc-notification-template/index.d.ts +135 -0
  333. package/dist/ui/components/organisms/vc-notification-template/index.d.ts.map +1 -0
  334. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts +24 -0
  335. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts.map +1 -0
  336. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts +17 -0
  337. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts.map +1 -0
  338. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts +20 -0
  339. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts.map +1 -0
  340. package/dist/ui/components/organisms/vc-popup/index.d.ts +87 -42
  341. package/dist/ui/components/organisms/vc-popup/index.d.ts.map +1 -1
  342. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +16 -6
  343. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  344. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +1 -1
  345. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  346. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +6 -3
  347. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
  348. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +6 -3
  349. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
  350. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +10 -6
  351. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  352. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +48 -47
  353. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  354. package/dist/ui/components/organisms/vc-table/index.d.ts +205 -661
  355. package/dist/ui/components/organisms/vc-table/index.d.ts.map +1 -1
  356. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +186 -135
  357. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  358. package/dist/ui/types/index.d.ts +2 -0
  359. package/dist/ui/types/index.d.ts.map +1 -1
  360. package/package.json +25 -22
  361. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -2
  362. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +5 -3
  363. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +26 -34
  364. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +104 -69
  365. package/shared/components/blade-navigation/index.ts +1 -12
  366. package/shared/components/blade-navigation/plugin.ts +33 -0
  367. package/shared/components/blade-navigation/types/index.ts +59 -36
  368. package/shared/components/change-password/change-password.vue +167 -0
  369. package/shared/components/change-password/index.ts +10 -0
  370. package/{core/plugins → shared/components}/error-interceptor/interceptor.ts +1 -1
  371. package/shared/components/index.ts +8 -0
  372. package/shared/components/language-selector/index.ts +10 -0
  373. package/shared/components/language-selector/language-selector.vue +60 -0
  374. package/shared/components/notifications/composables/useContainer/index.ts +2 -2
  375. package/shared/components/notifications/core/notification.ts +3 -3
  376. package/shared/components/notifications/index.ts +0 -11
  377. package/shared/components/notifications/types/index.ts +4 -1
  378. package/shared/components/popup-handler/components/index.ts +1 -0
  379. package/shared/components/popup-handler/components/vc-popup-container/index.ts +3 -0
  380. package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +25 -0
  381. package/shared/components/popup-handler/composables/index.ts +1 -0
  382. package/shared/components/popup-handler/composables/usePopup/index.ts +129 -0
  383. package/shared/components/popup-handler/index.ts +19 -0
  384. package/shared/components/popup-handler/plugin.ts +24 -0
  385. package/shared/components/popup-handler/types/index.ts +28 -0
  386. package/shared/components/popup-handler/utils/index.ts +9 -0
  387. package/shared/components/user-dropdown-button/index.ts +10 -0
  388. package/shared/components/user-dropdown-button/user-dropdown-button.vue +124 -0
  389. package/shared/index.ts +14 -8
  390. package/shared/locales/en.json +35 -0
  391. package/shared/locales/index.ts +2 -0
  392. package/shared/modules/assets/components/assets-details/assets-details.vue +12 -16
  393. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +32 -35
  394. package/shared/modules/index.ts +2 -0
  395. package/shared/pages/InvitePage/components/index.ts +1 -0
  396. package/shared/pages/InvitePage/components/invite/Invite.vue +172 -0
  397. package/shared/pages/InvitePage/components/invite/index.ts +3 -0
  398. package/shared/pages/InvitePage/index.ts +7 -0
  399. package/shared/pages/InvitePage/locales/en.json +31 -0
  400. package/shared/pages/InvitePage/locales/index.ts +2 -0
  401. package/shared/pages/LoginPage/components/index.ts +1 -0
  402. package/shared/pages/LoginPage/components/login/Login.vue +283 -0
  403. package/shared/pages/LoginPage/components/login/index.ts +3 -0
  404. package/shared/pages/LoginPage/index.ts +2 -0
  405. package/shared/pages/LoginPage/locales/en.json +36 -0
  406. package/shared/pages/LoginPage/locales/index.ts +2 -0
  407. package/shared/pages/LoginPage/plugin.ts +17 -0
  408. package/shared/pages/ResetPasswordPage/components/index.ts +1 -0
  409. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +166 -0
  410. package/shared/pages/ResetPasswordPage/components/reset-password/index.ts +3 -0
  411. package/shared/pages/ResetPasswordPage/index.ts +7 -0
  412. package/shared/pages/ResetPasswordPage/locales/en.json +28 -0
  413. package/shared/pages/ResetPasswordPage/locales/index.ts +2 -0
  414. package/shared/pages/index.ts +12 -0
  415. package/ui/components/atoms/vc-button/vc-button.vue +110 -144
  416. package/ui/components/atoms/vc-card/vc-card.vue +2 -2
  417. package/ui/components/atoms/vc-info-row/vc-info-row.vue +2 -2
  418. package/ui/components/atoms/vc-label/vc-label.vue +1 -1
  419. package/ui/components/atoms/vc-loading/vc-loading.vue +1 -1
  420. package/ui/components/atoms/vc-switch/vc-switch.vue +1 -1
  421. package/ui/components/index.ts +2 -0
  422. package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +3 -3
  423. package/ui/components/molecules/vc-editor/vc-editor.vue +3 -3
  424. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +2 -2
  425. package/ui/components/molecules/vc-input/vc-input.vue +17 -17
  426. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +8 -8
  427. package/ui/components/molecules/vc-notification/vc-notification.vue +1 -1
  428. package/ui/components/molecules/vc-rating/vc-rating.vue +1 -1
  429. package/ui/components/molecules/vc-select/index.ts +1 -86
  430. package/ui/components/molecules/vc-select/vc-select.stories.ts +1 -1
  431. package/ui/components/molecules/vc-select/vc-select.vue +276 -198
  432. package/ui/components/molecules/vc-slider/vc-slider.vue +3 -3
  433. package/ui/components/molecules/vc-textarea/vc-textarea.vue +2 -2
  434. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +21 -16
  435. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +5 -9
  436. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +21 -31
  437. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +22 -16
  438. package/ui/components/organisms/vc-app/vc-app.vue +24 -24
  439. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +10 -13
  440. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +4 -4
  441. package/ui/components/organisms/vc-blade/vc-blade.vue +32 -47
  442. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +84 -84
  443. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +3 -3
  444. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +9 -3
  445. package/ui/components/organisms/vc-gallery/vc-gallery.vue +27 -23
  446. package/ui/components/organisms/vc-login-form/vc-login-form.stories.ts +1 -1
  447. package/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue +63 -0
  448. package/ui/components/organisms/vc-notification-dropdown/index.ts +3 -0
  449. package/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue +125 -0
  450. package/ui/components/organisms/vc-notification-template/index.ts +3 -0
  451. package/ui/components/organisms/vc-notification-template/vc-notification-template.vue +33 -0
  452. package/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue +28 -0
  453. package/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue +33 -0
  454. package/ui/components/organisms/vc-popup/vc-popup.vue +62 -7
  455. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +6 -6
  456. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +10 -13
  457. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +27 -24
  458. package/ui/components/organisms/vc-table/index.ts +1 -17
  459. package/ui/components/organisms/vc-table/vc-table.stories.ts +1 -1
  460. package/ui/components/organisms/vc-table/vc-table.vue +163 -148
  461. package/ui/locales/en.json +21 -10
  462. package/ui/types/index.ts +2 -0
  463. package/core/directives/click-outside/index.ts +0 -21
  464. package/dist/core/directives/click-outside/index.d.ts +0 -3
  465. package/dist/core/directives/click-outside/index.d.ts.map +0 -1
  466. package/dist/core/plugins/error-interceptor/index.d.ts.map +0 -1
  467. package/dist/core/plugins/error-interceptor/interceptor.d.ts.map +0 -1
  468. /package/{core/plugins → shared/components}/error-interceptor/index.ts +0 -0
@@ -1,33 +1,28 @@
1
1
  <template>
2
2
  <ErrorInterceptor
3
- capture
4
3
  v-slot="{ error, reset }"
4
+ capture
5
5
  >
6
6
  <router-view
7
- @vnode-before-unmount="reset"
8
- v-slot="{ Component, route }"
7
+ v-slot="{ Component }"
9
8
  :key="route.path"
9
+ @vue:before-unmount="reset"
10
10
  >
11
11
  <component
12
12
  :is="Component"
13
- :closable="false"
14
13
  v-show="$isMobile.value ? !blades.length : blades.length <= 1"
15
- @open:blade="onBladeOpen($event, 0)"
14
+ :key="route.path"
15
+ :ref="(el: CoreBladeExposed) => setParentRef(el, Component)"
16
+ :closable="false"
16
17
  :options="parentBladeOptions"
17
18
  :expanded="blades.length === 0"
18
19
  :maximized="findStateById(0)"
19
20
  :blades="blades"
20
21
  :param="resolveParam"
21
- :key="route.path"
22
- :ref="(el: IBladeElement) => setParentRef(el, Component)"
22
+ :error="error"
23
23
  @expand:blade="handleMaximizeBlade(0, true)"
24
24
  @collapse:blade="handleMaximizeBlade(0, false)"
25
25
  >
26
- <template
27
- v-slot:error
28
- v-if="error"
29
- >{{ error }}</template
30
- >
31
26
  </component>
32
27
  </router-view>
33
28
  </ErrorInterceptor>
@@ -41,26 +36,22 @@
41
36
  capture
42
37
  >
43
38
  <component
39
+ :is="blade.blade"
44
40
  v-show="i >= blades.length - ($isMobile.value ? 1 : 2)"
45
- :is="blade.component"
41
+ :ref="(el: CoreBladeExposed) => setBladesRef(el, blade)"
46
42
  :param="blade.param"
47
43
  :closable="i >= 0"
48
44
  :expanded="i === blades.length - 1"
49
45
  :maximized="findStateById(blade.idx)"
50
- :options="blade.bladeOptions"
51
- @open:blade="onBladeOpen($event, blade.idx)"
46
+ :options="blade.options"
47
+ :error="error"
48
+ :blades="blades"
52
49
  @close:blade="onBladeClose(i)"
53
50
  @close:children="$emit('onClose', i + 1)"
54
51
  @parent:call="$emit('onParentCall', { id: i, args: $event })"
55
52
  @expand:blade="handleMaximizeBlade(blade.idx, true)"
56
53
  @collapse:blade="handleMaximizeBlade(blade.idx, false)"
57
- :ref="(el: IBladeElement) => setBladesRef(el, blade)"
58
54
  >
59
- <template
60
- v-slot:error
61
- v-if="error"
62
- >{{ error }}</template
63
- >
64
55
  </component>
65
56
  </ErrorInterceptor>
66
57
  </template>
@@ -69,8 +60,15 @@
69
60
  <script lang="ts" setup>
70
61
  import { computed, ref, VNode } from "vue";
71
62
  import { useRoute } from "vue-router";
72
- import { IBladeContainer, IBladeElement, IBladeEvent, IParentCallArgs, IBladeRef } from "./../../../../../shared";
73
- import { ErrorInterceptor } from "./../../../../../core/plugins/error-interceptor";
63
+ import {
64
+ IBladeContainer,
65
+ CoreBladeExposed,
66
+ IBladeEvent,
67
+ IParentCallArgs,
68
+ IBladeRef,
69
+ BladeConstructor,
70
+ } from "./../../../../../shared";
71
+ import { ErrorInterceptor } from "./../../../error-interceptor";
74
72
 
75
73
  export interface Props {
76
74
  blades: IBladeContainer[];
@@ -89,17 +87,16 @@ const emit = defineEmits<Emits>();
89
87
  const props = withDefaults(defineProps<Props>(), {
90
88
  blades: () => [],
91
89
  parentBladeOptions: () => ({}),
92
- parentBladeParam: undefined,
93
90
  });
94
91
 
95
92
  const route = useRoute();
96
93
  const bladesRefs = ref<IBladeRef[]>([]);
97
- const state = ref<(IBladeRef & { expanded: boolean })[]>([]);
94
+ const state = ref<IBladeRef[]>([]);
98
95
 
99
96
  const visibleBlades = computed(() => bladesRefs.value.slice(-2));
100
97
 
101
98
  function handleMaximizeBlade(id: number, expand: boolean) {
102
- state.value = visibleBlades.value?.map((x: IBladeRef & { expanded: boolean }) => {
99
+ state.value = visibleBlades.value?.map((x: IBladeRef) => {
103
100
  if (x.blade.idx === id) {
104
101
  x.expanded = expand;
105
102
  }
@@ -111,13 +108,13 @@ function findStateById(id: number) {
111
108
  return state.value?.find((item) => item.blade.idx === id)?.expanded;
112
109
  }
113
110
 
114
- function setParentRef(el: IBladeElement, bladeNode: VNode) {
111
+ function setParentRef(el: CoreBladeExposed, bladeNode: VNode) {
115
112
  if (el && bladeNode) {
116
113
  bladesRefs.value = [
117
114
  {
118
115
  exposed: el,
119
116
  blade: {
120
- component: bladeNode.type as VNode,
117
+ blade: bladeNode.type as BladeConstructor,
121
118
  param: bladeNode.props?.param as string,
122
119
  idx: 0,
123
120
  },
@@ -126,7 +123,7 @@ function setParentRef(el: IBladeElement, bladeNode: VNode) {
126
123
  }
127
124
  }
128
125
 
129
- function setBladesRef(el: IBladeElement, blade: IBladeContainer) {
126
+ function setBladesRef(el: CoreBladeExposed, blade: IBladeContainer) {
130
127
  if (el && el !== null && blade) {
131
128
  const isExists = bladesRefs.value.some((item) => item.blade.idx === blade.idx);
132
129
  if (!isExists) {
@@ -139,11 +136,6 @@ function onBladeClose(index: number) {
139
136
  emit("onClose", index);
140
137
  }
141
138
 
142
- function onBladeOpen(event: IBladeEvent, idx: number) {
143
- state.value = [];
144
- emit("onOpen", { blade: event, id: idx });
145
- }
146
-
147
139
  const resolveParam = computed(() => {
148
140
  return props.parentBladeParam ? props.parentBladeParam : route.params.param;
149
141
  });
@@ -1,26 +1,48 @@
1
- import { computed, ref, unref, watch, Ref, shallowRef } from "vue";
1
+ import {
2
+ computed,
3
+ ref,
4
+ unref,
5
+ watch,
6
+ Ref,
7
+ ComponentPublicInstance,
8
+ getCurrentInstance,
9
+ markRaw,
10
+ inject,
11
+ nextTick,
12
+ } from "vue";
2
13
  import * as _ from "lodash-es";
3
- import { useRouter, useRoute, NavigationFailure } from "vue-router";
14
+ import { useRouter, useRoute } from "vue-router";
4
15
  import { usePermissions } from "../../../../../core/composables";
5
- import { ExtendedComponent, IBladeContainer, IBladeRef, IBladeEvent, IParentCallArgs } from "../../../..";
16
+ import {
17
+ IBladeContainer,
18
+ IBladeRef,
19
+ IBladeEvent,
20
+ IParentCallArgs,
21
+ BladeConstructor,
22
+ BladeComponentInternalInstance,
23
+ BladeNavigationPlugin,
24
+ notification,
25
+ } from "../../../..";
26
+ import { bladeNavigationInstance } from "./../../plugin";
6
27
 
7
28
  interface IUseBladeNavigation {
8
29
  readonly blades: Ref<IBladeContainer[]>;
9
30
  readonly parentBladeOptions: Ref<Record<string, unknown>>;
10
31
  readonly parentBladeParam: Ref<string>;
11
32
  bladesRefs: Ref<IBladeRef[]>;
12
- openBlade: (
13
- { parentBlade, component, param, bladeOptions, onOpen, onClose }: IBladeEvent,
14
- index?: number,
15
- navigationCb?: () => Promise<void | NavigationFailure>
16
- ) => void;
17
- closeBlade: (index: number) => void;
33
+ openBlade: <Blade extends ComponentPublicInstance = ComponentPublicInstance>({
34
+ blade,
35
+ param,
36
+ options,
37
+ onOpen,
38
+ onClose,
39
+ }: IBladeEvent<Blade>) => void;
40
+ closeBlade: (index: number) => Promise<boolean>;
18
41
  onParentCall: (index: number, args: IParentCallArgs) => void;
19
42
  }
20
43
 
21
- const blades: Ref<IBladeContainer[]> = ref([]);
22
- const bladesRefs: Ref<IBladeRef[]> = ref([]);
23
- const parentBladeOptions: Ref<Record<string, unknown>> = ref();
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ const parentBladeOptions: Ref<Record<string, any>> = ref();
24
46
  const parentBladeParam: Ref<string> = ref();
25
47
 
26
48
  export function useBladeNavigation(): IUseBladeNavigation {
@@ -29,71 +51,78 @@ export function useBladeNavigation(): IUseBladeNavigation {
29
51
  const { checkPermission } = usePermissions();
30
52
  const isPrevented = ref(false);
31
53
 
54
+ const instance: BladeComponentInternalInstance = getCurrentInstance();
55
+ const navigationInstance =
56
+ (instance && inject<BladeNavigationPlugin>("bladeNavigationPlugin")) || bladeNavigationInstance;
57
+
32
58
  watch(
33
- () => blades.value,
59
+ navigationInstance.blades,
34
60
  (newVal) => {
35
61
  const lastBlade = newVal[newVal.length - 1];
36
62
 
37
- if (lastBlade && lastBlade.component.url) {
63
+ if (lastBlade && lastBlade.blade.url) {
38
64
  if (lastBlade.param) {
39
- addEntryToLocation(lastBlade.component.url + "/" + lastBlade.param);
65
+ addEntryToLocation(lastBlade.blade.url + "/" + lastBlade.param);
40
66
  } else {
41
- addEntryToLocation(lastBlade.component.url);
67
+ addEntryToLocation(lastBlade.blade.url);
42
68
  }
43
69
  } else if (!lastBlade) {
70
+ clearParentData();
44
71
  addEntryToLocation(route.path);
45
72
  }
46
73
  },
47
74
  { deep: true }
48
75
  );
49
76
 
50
- async function openBlade(
51
- { parentBlade, component: blade, param, bladeOptions, onOpen, onClose }: IBladeEvent,
52
- index?: number,
53
- navigationCb?: () => Promise<void | NavigationFailure>
54
- ) {
55
- console.debug(`openBlade called.`);
56
-
57
- const parent = unref(parentBlade);
58
- const child = unref(blade);
59
- const existingChild = findBlade(child);
60
-
61
- if (parent && parent.url) {
77
+ async function openBlade<Blade extends ComponentPublicInstance>({
78
+ blade,
79
+ param,
80
+ options,
81
+ onOpen,
82
+ onClose,
83
+ }: IBladeEvent<Blade>) {
84
+ const caller = instance && instance.vnode.type;
85
+
86
+ const bladeComponent = unref(blade);
87
+ const callerIndex = navigationInstance.bladesRefs.value.findIndex((item) => {
88
+ return _.isEqual(item.blade.blade, caller);
89
+ });
90
+ const existingChild =
91
+ callerIndex >= 0 ? navigationInstance.bladesRefs.value[callerIndex + 1]?.blade.blade : undefined;
92
+ const index = caller?.idx ? caller.idx : 0;
93
+
94
+ const initiator = caller?.url && navigationInstance.bladesRefs.value.find((x) => x.blade?.blade.url === caller.url);
95
+
96
+ if (!initiator && bladeComponent.url) {
62
97
  await closeBlade(0);
63
98
 
64
99
  if (!isPrevented.value) {
65
- parentBladeOptions.value = unref(bladeOptions);
100
+ parentBladeOptions.value = unref(options);
66
101
  parentBladeParam.value = unref(param);
67
- if (navigationCb && typeof navigationCb === "function") {
68
- try {
69
- await navigationCb();
70
- } catch (e) {
71
- console.log(e);
72
- } finally {
73
- console.debug(`Navigated to: ${parent.url}`);
74
- }
75
- } else if (!navigationCb) {
76
- await router.push(parent.url);
77
- }
78
- }
79
- }
80
102
 
81
- if (child) {
103
+ await router.push(bladeComponent.url);
104
+ }
105
+ } else {
82
106
  if (existingChild === undefined) {
83
- child.idx = index + 1;
107
+ bladeComponent.idx = index ? index + 1 : 1;
84
108
  } else if (existingChild) {
85
- await closeBlade(blades.value.findIndex((x) => x.idx === existingChild.idx));
86
- child.idx = existingChild.idx;
109
+ await closeBlade(
110
+ navigationInstance.blades.value.findIndex((x: IBladeContainer) => x.idx === existingChild.idx)
111
+ );
112
+ bladeComponent.idx = existingChild.idx;
113
+ }
114
+ if (!isPrevented.value) {
115
+ await addBlade(bladeComponent, param, options, onOpen, onClose, index);
87
116
  }
88
-
89
- await addBlade(child, param, bladeOptions, onOpen, onClose, index);
90
117
  }
91
118
  }
92
119
 
93
120
  async function closeBlade(index: number) {
121
+ console.debug(`[@vc-shell/framework#useBladeNavigation] - closeBlade called.`);
94
122
  const refsIndex = index + 1;
95
- if (refsIndex < bladesRefs.value.length) {
96
- const children = bladesRefs.value.slice(refsIndex).reverse();
123
+
124
+ if (refsIndex < navigationInstance.bladesRefs.value.length) {
125
+ const children = navigationInstance.bladesRefs.value.slice(refsIndex).reverse();
97
126
 
98
127
  isPrevented.value = false;
99
128
  for (let i = 0; i < children.length; i++) {
@@ -101,35 +130,38 @@ export function useBladeNavigation(): IUseBladeNavigation {
101
130
  const result = await children[i].exposed.onBeforeClose();
102
131
  if (result === false) {
103
132
  isPrevented.value = true;
104
- break;
133
+ console.debug(`[@vc-shell/framework#useBladeNavigation] - Navigation is prevented`);
134
+ return isPrevented.value;
105
135
  }
106
136
  }
107
137
  }
108
138
  if (!isPrevented.value) {
109
- if (typeof blades.value[index]?.onClose === "function") {
110
- blades.value[index]?.onClose?.();
139
+ if (typeof navigationInstance.blades.value[index]?.onClose === "function") {
140
+ navigationInstance.blades.value[index]?.onClose?.();
111
141
  }
112
- blades.value.splice(index);
142
+
143
+ navigationInstance.blades.value.splice(index);
113
144
  }
114
145
  }
115
146
  }
116
147
 
117
148
  async function addBlade(
118
- blade: ExtendedComponent,
149
+ blade: BladeConstructor,
119
150
  param: string,
120
- bladeOptions: Record<string, unknown>,
151
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
152
+ options: Record<string, any>,
121
153
  onOpen: () => void,
122
154
  onClose: () => void,
123
- index: number
155
+ index?: number
124
156
  ) {
125
- if (blades.value.length > index) {
157
+ if (index && navigationInstance.blades.value.length > index) {
126
158
  await closeBlade(index);
127
159
  }
128
160
 
129
161
  if (blade && checkPermission(blade.permissions)) {
130
- blades.value.push({
131
- component: shallowRef(blade),
132
- bladeOptions,
162
+ navigationInstance.blades.value.push({
163
+ blade: markRaw(blade),
164
+ options,
133
165
  param,
134
166
  onOpen,
135
167
  onClose,
@@ -140,8 +172,9 @@ export function useBladeNavigation(): IUseBladeNavigation {
140
172
  onOpen();
141
173
  }
142
174
  } else {
143
- // TODO temporary access alert
144
- alert("Access restricted");
175
+ notification.error("Access restricted", {
176
+ timeout: 3000,
177
+ });
145
178
  }
146
179
  }
147
180
 
@@ -149,7 +182,7 @@ export function useBladeNavigation(): IUseBladeNavigation {
149
182
  console.debug(`vc-app#onParentCall(${index}, { method: ${args.method} }) called.`);
150
183
 
151
184
  if (index >= 0) {
152
- const currentParent = unref(bladesRefs.value[index]);
185
+ const currentParent = unref(navigationInstance.bladesRefs.value[index]);
153
186
 
154
187
  if (currentParent) {
155
188
  if (args.method && typeof currentParent.exposed[args.method] === "function") {
@@ -159,7 +192,6 @@ export function useBladeNavigation(): IUseBladeNavigation {
159
192
  args.callback(result);
160
193
  }
161
194
  } else {
162
- // TODO temporary alert
163
195
  console.error(`No such method: ${args.method}.`);
164
196
  }
165
197
  }
@@ -170,15 +202,18 @@ export function useBladeNavigation(): IUseBladeNavigation {
170
202
  history.pushState({}, null, "#" + params);
171
203
  }
172
204
 
173
- function findBlade(blade: ExtendedComponent) {
174
- return blades.value.find((x) => _.isEqual(x.component, blade));
205
+ async function clearParentData() {
206
+ nextTick(() => {
207
+ parentBladeOptions.value = undefined;
208
+ parentBladeParam.value = undefined;
209
+ });
175
210
  }
176
211
 
177
212
  return {
178
- blades: computed(() => blades.value),
213
+ blades: computed(() => navigationInstance.blades.value),
179
214
  parentBladeOptions: computed(() => parentBladeOptions.value),
180
215
  parentBladeParam: computed(() => parentBladeParam.value),
181
- bladesRefs,
216
+ bladesRefs: navigationInstance.bladesRefs,
182
217
  openBlade,
183
218
  closeBlade,
184
219
  onParentCall,
@@ -1,15 +1,4 @@
1
- import { createModule } from "../../../core/plugins/modularity";
2
- import * as components from "./components";
3
-
4
- // Declare globally
5
- declare module "@vue/runtime-core" {
6
- export interface GlobalComponents {
7
- VcBladeNavigation: (typeof components)["VcBladeNavigation"];
8
- }
9
- }
10
-
11
- export const VcBladeNavigationComponent = createModule(components);
12
-
1
+ export * from "./plugin";
13
2
  export * from "./components";
14
3
  export * from "./composables";
15
4
  export * from "./types";
@@ -0,0 +1,33 @@
1
+ import { App, ref } from "vue";
2
+ import { createModule } from "./../../../core/plugins";
3
+ import * as components from "./components";
4
+ import { BladeNavigationPlugin, IBladeContainer, IBladeRef } from "./types";
5
+
6
+ // Declare globally
7
+ declare module "@vue/runtime-core" {
8
+ export interface GlobalComponents {
9
+ VcBladeNavigation: (typeof components)["VcBladeNavigation"];
10
+ }
11
+ }
12
+
13
+ export let bladeNavigationInstance: BladeNavigationPlugin;
14
+
15
+ export const VcBladeNavigationComponent = {
16
+ install(app: App) {
17
+ // Register components
18
+ createModule(components).install(app);
19
+
20
+ // Plugin
21
+ const blades = ref<IBladeContainer[]>([]);
22
+ const bladesRefs = ref<IBladeRef[]>([]);
23
+
24
+ const bladeNavigationPlugin: BladeNavigationPlugin = {
25
+ blades,
26
+ bladesRefs,
27
+ };
28
+
29
+ app.config.globalProperties.$bladeNavigationPlugin = bladeNavigationPlugin;
30
+ app.provide("bladeNavigationPlugin", bladeNavigationPlugin);
31
+ bladeNavigationInstance = bladeNavigationPlugin;
32
+ },
33
+ };
@@ -1,57 +1,80 @@
1
- import { Component, ComponentPublicInstance, VNode } from "vue";
2
- import { IMenuItems } from "../../../../core/types";
3
- import { NavigationFailure } from "vue-router";
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { ComponentPublicInstance, VNode, ComponentInternalInstance, VNodeTypes, Ref } from "vue";
3
+ import { PushNotification } from "./../../../../core/api";
4
4
 
5
- /* onParentCall event interface */
6
- export interface IParentCallArgs {
7
- method: string;
8
- args?: unknown;
9
- callback?: (args: unknown) => void;
10
- }
5
+ export type BladeInstanceConstructor<T extends ComponentPublicInstance = any> = {
6
+ new (...args: any[]): T & { $: ComponentInternalInstance & { exposed: CoreBladeExposed & T["$"]["exposed"] } } & {
7
+ $props: T["$props"] & CoreBladeComponentProps;
8
+ };
9
+ } & CoreBladeAdditionalSettings &
10
+ CoreBladeNavigationData;
11
+
12
+ export type ComponentInstanceConstructor<T = any> = {
13
+ new (...args: any[]): T;
14
+ };
15
+
16
+ export type CoreBladeComponentProps = {
17
+ expanded?: boolean;
18
+ closable?: boolean;
19
+ param?: string;
20
+ options?: Record<string, any>;
21
+ };
22
+
23
+ export type BladePageComponent = BladeConstructor;
11
24
 
12
- /* extended component */
13
- export type ExtendedComponent = (VNode | Component) & {
25
+ export type CoreBladeAdditionalSettings = {
14
26
  url?: string;
15
27
  permissions?: string | string[];
16
- idx?: number;
28
+ scope?: {
29
+ notificationClick?: (notification: PushNotification | Record<string, any>) => IBladeEvent;
30
+ };
17
31
  };
18
32
 
19
- /* blade interface for navigation */
20
- export interface IBladeContainer extends IBladeEvent {
33
+ export type CoreBladeNavigationData = {
21
34
  idx?: number;
22
- }
35
+ };
23
36
 
24
- /* blade exposed methods */
25
- export interface IBladeElement extends ComponentPublicInstance {
26
- onBeforeClose?: () => Promise<boolean>;
37
+ export interface CoreBladeExposed {
27
38
  title?: string;
39
+ notificationClick?: (notification: PushNotification) => IBladeEvent;
40
+ onBeforeClose?: () => Promise<boolean>;
28
41
  reloadParent?: () => void;
29
- openDashboard?: () => void;
42
+ reload?: () => void;
30
43
  }
31
44
 
32
- /* emitted blade event */
33
- export interface IBladeEvent {
34
- parentBlade?: ExtendedComponent;
35
- component?: ExtendedComponent;
36
- bladeOptions?: Record<string, unknown>;
37
- param?: string;
38
- onOpen?: () => void;
39
- onClose?: () => void;
45
+ export interface IParentCallArgs {
46
+ method: string;
47
+ args?: unknown;
48
+ callback?: (args: unknown) => void;
40
49
  }
41
50
 
42
- /* menu item event */
43
- export interface IMenuClickEvent {
44
- item: IMenuItems;
45
- navigationCb: () => Promise<void | NavigationFailure>;
51
+ export interface IBladeContainer extends IBladeEvent {
52
+ idx?: number;
46
53
  }
47
54
 
48
- /* openBlade args interface */
49
- export interface IOpenBlade extends IBladeEvent {
50
- id?: number;
51
- navigationCb?: () => Promise<void | NavigationFailure>;
55
+ export interface BladeComponentInternalInstance extends ComponentInternalInstance {
56
+ vnode: VNode & { type: VNodeTypes & CoreBladeAdditionalSettings & CoreBladeNavigationData };
57
+ }
58
+
59
+ export type ExtractedBladeOptions<T, U extends keyof T> = T[U];
60
+
61
+ export type BladeConstructor<T extends ComponentPublicInstance = ComponentPublicInstance> = BladeInstanceConstructor<T>;
62
+
63
+ export interface IBladeEvent<T extends ComponentPublicInstance = ComponentPublicInstance> {
64
+ blade?: BladeConstructor<T>;
65
+ options?: ExtractedBladeOptions<InstanceType<BladeConstructor<T>>["$props"], "options">;
66
+ param?: string;
67
+ onOpen?: () => void;
68
+ onClose?: () => void;
52
69
  }
53
70
 
54
71
  export interface IBladeRef {
55
- exposed: IBladeElement;
72
+ exposed: CoreBladeExposed;
56
73
  blade: IBladeContainer;
74
+ expanded?: boolean;
75
+ }
76
+
77
+ export interface BladeNavigationPlugin {
78
+ blades: Ref<IBladeContainer[]>;
79
+ bladesRefs: Ref<IBladeRef[]>;
57
80
  }