@vc-shell/framework 1.0.69 → 1.0.70

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 (373) hide show
  1. package/CHANGELOG.md +38 -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 +24 -30
  6. package/core/composables/useUser/index.ts +1 -1
  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 +3 -5
  19. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  20. package/dist/core/directives/autofocus/index.d.ts +1 -1
  21. package/dist/core/directives/autofocus/index.d.ts.map +1 -1
  22. package/dist/core/directives/index.d.ts +0 -1
  23. package/dist/core/directives/index.d.ts.map +1 -1
  24. package/dist/core/directives/loading/index.d.ts +1 -1
  25. package/dist/core/directives/loading/index.d.ts.map +1 -1
  26. package/dist/core/directives/permissions/index.d.ts +1 -1
  27. package/dist/core/directives/permissions/index.d.ts.map +1 -1
  28. package/dist/core/plugins/index.d.ts +1 -1
  29. package/dist/core/plugins/index.d.ts.map +1 -1
  30. package/dist/core/plugins/modularity/index.d.ts +1 -1
  31. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  32. package/dist/core/plugins/signalR/index.d.ts +4 -0
  33. package/dist/core/plugins/signalR/index.d.ts.map +1 -0
  34. package/dist/core/types/index.d.ts +46 -20
  35. package/dist/core/types/index.d.ts.map +1 -1
  36. package/dist/framework.mjs +29318 -28417
  37. package/dist/index.css +1 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts +1 -3
  40. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts.map +1 -1
  41. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +6 -3
  42. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  43. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  44. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +13 -456
  45. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts.map +1 -1
  46. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +19 -454
  47. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  48. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +2 -3
  49. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  50. package/dist/shared/components/blade-navigation/index.d.ts +1 -9
  51. package/dist/shared/components/blade-navigation/index.d.ts.map +1 -1
  52. package/dist/shared/components/blade-navigation/plugin.d.ts +13 -0
  53. package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -0
  54. package/dist/shared/components/blade-navigation/types/index.d.ts +53 -26
  55. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  56. package/dist/{core/plugins → shared/components}/error-interceptor/index.d.ts +53 -15
  57. package/dist/shared/components/error-interceptor/index.d.ts.map +1 -0
  58. package/dist/{core/plugins → shared/components}/error-interceptor/interceptor.d.ts +1 -1
  59. package/dist/shared/components/error-interceptor/interceptor.d.ts.map +1 -0
  60. package/dist/shared/components/notifications/components/notification-container/index.d.ts +13 -13
  61. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  62. package/dist/shared/components/notifications/index.d.ts +0 -9
  63. package/dist/shared/components/notifications/index.d.ts.map +1 -1
  64. package/dist/shared/components/popup-handler/components/index.d.ts +2 -0
  65. package/dist/shared/components/popup-handler/components/index.d.ts.map +1 -0
  66. package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts +2 -0
  67. package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts.map +1 -0
  68. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts +3 -0
  69. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts.map +1 -0
  70. package/dist/shared/components/popup-handler/composables/index.d.ts +2 -0
  71. package/dist/shared/components/popup-handler/composables/index.d.ts.map +1 -0
  72. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts +12 -0
  73. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts.map +1 -0
  74. package/dist/shared/components/popup-handler/index.d.ts +16 -0
  75. package/dist/shared/components/popup-handler/index.d.ts.map +1 -0
  76. package/dist/shared/components/popup-handler/plugin.d.ts +6 -0
  77. package/dist/shared/components/popup-handler/plugin.d.ts.map +1 -0
  78. package/dist/shared/components/popup-handler/types/index.d.ts +26 -0
  79. package/dist/shared/components/popup-handler/types/index.d.ts.map +1 -0
  80. package/dist/shared/components/popup-handler/utils/index.d.ts +3 -0
  81. package/dist/shared/components/popup-handler/utils/index.d.ts.map +1 -0
  82. package/dist/shared/index.d.ts +2 -0
  83. package/dist/shared/index.d.ts.map +1 -1
  84. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +13 -4
  85. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  86. package/dist/shared/modules/assets/components/assets-details/index.d.ts +85 -49
  87. package/dist/shared/modules/assets/components/assets-details/index.d.ts.map +1 -1
  88. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +15 -11
  89. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  90. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +89 -64
  91. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts.map +1 -1
  92. package/dist/tsconfig.tsbuildinfo +1 -1
  93. package/dist/ui/components/atoms/vc-badge/index.d.ts +56 -19
  94. package/dist/ui/components/atoms/vc-badge/index.d.ts.map +1 -1
  95. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +2 -2
  96. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  97. package/dist/ui/components/atoms/vc-button/index.d.ts +68 -44
  98. package/dist/ui/components/atoms/vc-button/index.d.ts.map +1 -1
  99. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +7 -4
  100. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  101. package/dist/ui/components/atoms/vc-card/index.d.ts +66 -44
  102. package/dist/ui/components/atoms/vc-card/index.d.ts.map +1 -1
  103. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts +8 -6
  104. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
  105. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +74 -48
  106. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -1
  107. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts +8 -5
  108. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  109. package/dist/ui/components/atoms/vc-col/index.d.ts +54 -19
  110. package/dist/ui/components/atoms/vc-col/index.d.ts.map +1 -1
  111. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts +7 -4
  112. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts.map +1 -1
  113. package/dist/ui/components/atoms/vc-container/index.d.ts +56 -19
  114. package/dist/ui/components/atoms/vc-container/index.d.ts.map +1 -1
  115. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
  116. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
  117. package/dist/ui/components/atoms/vc-hint/index.d.ts +53 -8
  118. package/dist/ui/components/atoms/vc-hint/index.d.ts.map +1 -1
  119. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts +2 -2
  120. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts.map +1 -1
  121. package/dist/ui/components/atoms/vc-icon/index.d.ts +4 -8
  122. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -1
  123. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +7 -4
  124. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  125. package/dist/ui/components/atoms/vc-image/index.d.ts +17 -23
  126. package/dist/ui/components/atoms/vc-image/index.d.ts.map +1 -1
  127. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +8 -5
  128. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
  129. package/dist/ui/components/atoms/vc-info-row/index.d.ts +10 -12
  130. package/dist/ui/components/atoms/vc-info-row/index.d.ts.map +1 -1
  131. package/dist/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts +7 -4
  132. package/dist/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts.map +1 -1
  133. package/dist/ui/components/atoms/vc-label/index.d.ts +56 -23
  134. package/dist/ui/components/atoms/vc-label/index.d.ts.map +1 -1
  135. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +8 -5
  136. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -1
  137. package/dist/ui/components/atoms/vc-link/index.d.ts +56 -20
  138. package/dist/ui/components/atoms/vc-link/index.d.ts.map +1 -1
  139. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts +2 -2
  140. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
  141. package/dist/ui/components/atoms/vc-loading/index.d.ts +1 -1
  142. package/dist/ui/components/atoms/vc-loading/index.d.ts.map +1 -1
  143. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts +1 -1
  144. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
  145. package/dist/ui/components/atoms/vc-progress/index.d.ts +54 -27
  146. package/dist/ui/components/atoms/vc-progress/index.d.ts.map +1 -1
  147. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +6 -3
  148. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  149. package/dist/ui/components/atoms/vc-row/index.d.ts +53 -8
  150. package/dist/ui/components/atoms/vc-row/index.d.ts.map +1 -1
  151. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts +2 -2
  152. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts.map +1 -1
  153. package/dist/ui/components/atoms/vc-status/index.d.ts +56 -31
  154. package/dist/ui/components/atoms/vc-status/index.d.ts.map +1 -1
  155. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +7 -4
  156. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  157. package/dist/ui/components/atoms/vc-status-icon/index.d.ts +1 -1
  158. package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -1
  159. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts +1 -1
  160. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts.map +1 -1
  161. package/dist/ui/components/atoms/vc-switch/index.d.ts +1 -1
  162. package/dist/ui/components/atoms/vc-switch/index.d.ts.map +1 -1
  163. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts +1 -1
  164. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts.map +1 -1
  165. package/dist/ui/components/atoms/vc-widget/index.d.ts +1 -1
  166. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +1 -1
  167. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -1
  168. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  169. package/dist/ui/components/index.d.ts +2 -0
  170. package/dist/ui/components/index.d.ts.map +1 -1
  171. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +3 -3
  172. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts.map +1 -1
  173. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts +1 -3
  174. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts.map +1 -1
  175. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +6 -3
  176. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  177. package/dist/ui/components/molecules/vc-code-editor/index.d.ts +79 -65
  178. package/dist/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -1
  179. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +7 -4
  180. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -1
  181. package/dist/ui/components/molecules/vc-editor/index.d.ts +80 -69
  182. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -1
  183. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +7 -4
  184. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  185. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +77 -65
  186. package/dist/ui/components/molecules/vc-file-upload/index.d.ts.map +1 -1
  187. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +7 -4
  188. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  189. package/dist/ui/components/molecules/vc-form/index.d.ts +53 -8
  190. package/dist/ui/components/molecules/vc-form/index.d.ts.map +1 -1
  191. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts +2 -2
  192. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -1
  193. package/dist/ui/components/molecules/vc-input/index.d.ts +116 -128
  194. package/dist/ui/components/molecules/vc-input/index.d.ts.map +1 -1
  195. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +17 -13
  196. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  197. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +125 -137
  198. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
  199. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +9 -8
  200. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
  201. package/dist/ui/components/molecules/vc-notification/index.d.ts +1 -1
  202. package/dist/ui/components/molecules/vc-notification/index.d.ts.map +1 -1
  203. package/dist/ui/components/molecules/vc-notification/vc-notification.vue.d.ts +1 -1
  204. package/dist/ui/components/molecules/vc-notification/vc-notification.vue.d.ts.map +1 -1
  205. package/dist/ui/components/molecules/vc-pagination/index.d.ts +7 -11
  206. package/dist/ui/components/molecules/vc-pagination/index.d.ts.map +1 -1
  207. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +6 -3
  208. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  209. package/dist/ui/components/molecules/vc-rating/index.d.ts +73 -55
  210. package/dist/ui/components/molecules/vc-rating/index.d.ts.map +1 -1
  211. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +8 -5
  212. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
  213. package/dist/ui/components/molecules/vc-select/index.d.ts +188 -584
  214. package/dist/ui/components/molecules/vc-select/index.d.ts.map +1 -1
  215. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +643 -119
  216. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  217. package/dist/ui/components/molecules/vc-slider/index.d.ts +70 -55
  218. package/dist/ui/components/molecules/vc-slider/index.d.ts.map +1 -1
  219. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +10 -7
  220. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
  221. package/dist/ui/components/molecules/vc-textarea/index.d.ts +80 -68
  222. package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +1 -1
  223. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +7 -4
  224. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
  225. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +21 -7
  226. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  227. 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
  228. 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
  229. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +19 -36
  230. 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
  231. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +20 -13
  232. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  233. package/dist/ui/components/organisms/vc-app/index.d.ts +138 -160
  234. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  235. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +23 -24
  236. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  237. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +4 -4
  238. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  239. 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
  240. 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
  241. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +7 -4
  242. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  243. package/dist/ui/components/organisms/vc-blade/index.d.ts +103 -112
  244. package/dist/ui/components/organisms/vc-blade/index.d.ts.map +1 -1
  245. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +11 -10
  246. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  247. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts +3 -5
  248. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts.map +1 -1
  249. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +6 -3
  250. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  251. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +7 -4
  252. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
  253. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +18 -7
  254. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  255. package/dist/ui/components/organisms/vc-gallery/index.d.ts +37 -52
  256. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -1
  257. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +8 -8
  258. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  259. package/dist/ui/components/organisms/vc-login-form/index.d.ts +62 -31
  260. package/dist/ui/components/organisms/vc-login-form/index.d.ts.map +1 -1
  261. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts +7 -4
  262. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -1
  263. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts +32 -0
  264. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -0
  265. package/dist/ui/components/organisms/vc-notification-dropdown/index.d.ts +44 -0
  266. package/dist/ui/components/organisms/vc-notification-dropdown/index.d.ts.map +1 -0
  267. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts +22 -0
  268. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts.map +1 -0
  269. package/dist/ui/components/organisms/vc-notification-template/index.d.ts +135 -0
  270. package/dist/ui/components/organisms/vc-notification-template/index.d.ts.map +1 -0
  271. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts +24 -0
  272. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts.map +1 -0
  273. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts +17 -0
  274. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts.map +1 -0
  275. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts +20 -0
  276. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts.map +1 -0
  277. package/dist/ui/components/organisms/vc-popup/index.d.ts +87 -42
  278. package/dist/ui/components/organisms/vc-popup/index.d.ts.map +1 -1
  279. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +16 -6
  280. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  281. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +1 -1
  282. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  283. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +6 -3
  284. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
  285. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +6 -3
  286. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
  287. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +8 -5
  288. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  289. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +48 -47
  290. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  291. package/dist/ui/components/organisms/vc-table/index.d.ts +205 -661
  292. package/dist/ui/components/organisms/vc-table/index.d.ts.map +1 -1
  293. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +185 -134
  294. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  295. package/dist/ui/types/index.d.ts +2 -0
  296. package/dist/ui/types/index.d.ts.map +1 -1
  297. package/package.json +23 -22
  298. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -2
  299. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +4 -2
  300. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +25 -26
  301. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +106 -68
  302. package/shared/components/blade-navigation/index.ts +1 -12
  303. package/shared/components/blade-navigation/plugin.ts +33 -0
  304. package/shared/components/blade-navigation/types/index.ts +59 -36
  305. package/{core/plugins → shared/components}/error-interceptor/interceptor.ts +1 -1
  306. package/shared/components/notifications/composables/useContainer/index.ts +2 -2
  307. package/shared/components/notifications/core/notification.ts +1 -1
  308. package/shared/components/notifications/index.ts +0 -11
  309. package/shared/components/popup-handler/components/index.ts +1 -0
  310. package/shared/components/popup-handler/components/vc-popup-container/index.ts +3 -0
  311. package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +25 -0
  312. package/shared/components/popup-handler/composables/index.ts +1 -0
  313. package/shared/components/popup-handler/composables/usePopup/index.ts +129 -0
  314. package/shared/components/popup-handler/index.ts +19 -0
  315. package/shared/components/popup-handler/plugin.ts +24 -0
  316. package/shared/components/popup-handler/types/index.ts +28 -0
  317. package/shared/components/popup-handler/utils/index.ts +9 -0
  318. package/shared/index.ts +4 -2
  319. package/shared/modules/assets/components/assets-details/assets-details.vue +12 -10
  320. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +33 -30
  321. package/ui/components/atoms/vc-button/vc-button.vue +1 -1
  322. package/ui/components/atoms/vc-card/vc-card.vue +2 -2
  323. package/ui/components/atoms/vc-info-row/vc-info-row.vue +2 -2
  324. package/ui/components/atoms/vc-label/vc-label.vue +1 -1
  325. package/ui/components/atoms/vc-loading/vc-loading.vue +1 -1
  326. package/ui/components/atoms/vc-switch/vc-switch.vue +1 -1
  327. package/ui/components/index.ts +2 -0
  328. package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +3 -3
  329. package/ui/components/molecules/vc-editor/vc-editor.vue +3 -3
  330. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +2 -2
  331. package/ui/components/molecules/vc-input/vc-input.vue +17 -17
  332. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +8 -8
  333. package/ui/components/molecules/vc-notification/vc-notification.vue +1 -1
  334. package/ui/components/molecules/vc-rating/vc-rating.vue +1 -1
  335. package/ui/components/molecules/vc-select/index.ts +1 -86
  336. package/ui/components/molecules/vc-select/vc-select.stories.ts +1 -1
  337. package/ui/components/molecules/vc-select/vc-select.vue +276 -198
  338. package/ui/components/molecules/vc-slider/vc-slider.vue +3 -3
  339. package/ui/components/molecules/vc-textarea/vc-textarea.vue +2 -2
  340. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +20 -15
  341. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +5 -9
  342. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +18 -27
  343. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +22 -16
  344. package/ui/components/organisms/vc-app/vc-app.vue +20 -17
  345. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +5 -5
  346. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +4 -4
  347. package/ui/components/organisms/vc-blade/vc-blade.vue +25 -32
  348. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +84 -84
  349. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +3 -3
  350. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +9 -3
  351. package/ui/components/organisms/vc-gallery/vc-gallery.vue +27 -23
  352. package/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue +63 -0
  353. package/ui/components/organisms/vc-notification-dropdown/index.ts +3 -0
  354. package/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue +125 -0
  355. package/ui/components/organisms/vc-notification-template/index.ts +3 -0
  356. package/ui/components/organisms/vc-notification-template/vc-notification-template.vue +33 -0
  357. package/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue +28 -0
  358. package/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue +33 -0
  359. package/ui/components/organisms/vc-popup/vc-popup.vue +62 -7
  360. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +6 -6
  361. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +5 -5
  362. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +27 -24
  363. package/ui/components/organisms/vc-table/index.ts +1 -17
  364. package/ui/components/organisms/vc-table/vc-table.stories.ts +1 -1
  365. package/ui/components/organisms/vc-table/vc-table.vue +140 -132
  366. package/ui/locales/en.json +21 -10
  367. package/ui/types/index.ts +2 -0
  368. package/core/directives/click-outside/index.ts +0 -21
  369. package/dist/core/directives/click-outside/index.d.ts +0 -3
  370. package/dist/core/directives/click-outside/index.d.ts.map +0 -1
  371. package/dist/core/plugins/error-interceptor/index.d.ts.map +0 -1
  372. package/dist/core/plugins/error-interceptor/interceptor.d.ts.map +0 -1
  373. /package/{core/plugins → shared/components}/error-interceptor/index.ts +0 -0
@@ -10,13 +10,13 @@
10
10
  ]"
11
11
  :space-between="spaceBetweenSlides"
12
12
  :navigation="buttonsList as any"
13
- :slidesPerView="slidesPerView as any"
14
- :resizeObserver="true"
13
+ :slides-per-view="slidesPerView as any"
14
+ :resize-observer="true"
15
15
  >
16
16
  <swiper-slide
17
- :swiper-ref="SwiperCore"
18
17
  v-for="(slide, i) in slides"
19
18
  :key="i"
19
+ :swiper-ref="SwiperCore"
20
20
  >
21
21
  <slot :slide="slide"></slot>
22
22
  </swiper-slide>
@@ -15,7 +15,7 @@
15
15
  <span>{{ label }}</span>
16
16
  <template
17
17
  v-if="tooltip"
18
- v-slot:tooltip
18
+ #tooltip
19
19
  >
20
20
  <span v-html="tooltip"></span>
21
21
  </template>
@@ -28,8 +28,8 @@
28
28
  :placeholder="placeholder"
29
29
  :value="modelValue"
30
30
  :disabled="disabled"
31
- @input="onInput"
32
31
  :maxlength="maxchars"
32
+ @input="onInput"
33
33
  ></textarea>
34
34
  </div>
35
35
 
@@ -15,8 +15,8 @@
15
15
 
16
16
  <!-- Title -->
17
17
  <div
18
- class="tw-text-[color:var(--app-bar-product-name-color)] tw-text-[length:var(--app-bar-product-name-size)] tw-font-medium"
19
18
  v-if="title"
19
+ class="tw-text-[color:var(--app-bar-product-name-color)] tw-text-[length:var(--app-bar-product-name-size)] tw-font-medium"
20
20
  >
21
21
  {{ title }}
22
22
  </div>
@@ -33,8 +33,8 @@
33
33
 
34
34
  <!-- Show back link when more than one blade is opened -->
35
35
  <VcLink
36
- class="tw-ml-3"
37
36
  v-else-if="blades.length > 1"
37
+ class="tw-ml-3"
38
38
  @click="$emit('backlink:click')"
39
39
  >
40
40
  <VcIcon
@@ -57,17 +57,16 @@
57
57
  <template v-if="item.isVisible === undefined || item.isVisible">
58
58
  <!-- Draw custom component is it is passed -->
59
59
  <component
60
- v-if="item.component"
61
60
  :is="item.component"
62
- v-bind="item.bladeOptions"
63
- :isAccent="item.isAccent"
61
+ v-if="item.component"
62
+ v-bind="item.options"
63
+ :is-accent="item.isAccent"
64
64
  ></component>
65
65
 
66
66
  <!-- Otherwise draw default toolbar button -->
67
67
  <div
68
68
  v-else
69
69
  class="tw-relative tw-flex tw-items-center tw-justify-center tw-w-[var(--app-bar-button-width)] tw-border-l tw-border-solid tw-border-[color:var(--app-bar-button-border-color)] tw-cursor-pointer tw-text-[color: var(--app-bar-button-color)] tw-bg-[color:var(--app-bar-button-background-color)] tw-transition-[color] tw-duration-200 hover:tw-text-[color:var(--app-bar-button-color-hover)] hover:tw-bg-[color:var(--app-bar-button-background-color-hover)]"
70
- :class="{ 'vc-app-bar__button_accent': item.isAccent }"
71
70
  :title="item.title as string"
72
71
  @click="$emit('button:click', item)"
73
72
  >
@@ -75,6 +74,12 @@
75
74
  :icon="typeof item.icon === 'function' ? item.icon() : item.icon"
76
75
  size="xl"
77
76
  ></VcIcon>
77
+ <div
78
+ :class="{
79
+ 'tw-block tw-absolute tw-right-3 tw-top-[18px] tw-w-[7px] tw-h-[7px] tw-bg-[#ff4a4a] tw-rounded-full tw-z-[1]':
80
+ item.isAccent,
81
+ }"
82
+ ></div>
78
83
  </div>
79
84
  </template>
80
85
  </template>
@@ -103,9 +108,17 @@ export interface Props {
103
108
  title?: string;
104
109
  }
105
110
 
111
+ export interface Emits {
112
+ (event: "logo:click"): void;
113
+ (event: "backlink:click"): void;
114
+ (event: "toolbarbutton:click"): void;
115
+ (event: "menubutton:click"): void;
116
+ (event: "button:click", item: IBladeToolbar): void;
117
+ }
118
+
106
119
  defineProps<Props>();
107
120
 
108
- defineEmits(["logo:click", "backlink:click", "toolbarbutton:click", "menubutton:click"]);
121
+ defineEmits<Emits>();
109
122
  </script>
110
123
 
111
124
  <style lang="scss">
@@ -121,12 +134,4 @@ defineEmits(["logo:click", "backlink:click", "toolbarbutton:click", "menubutton:
121
134
  --app-bar-product-name-color: #34414f;
122
135
  --app-bar-product-name-size: 20px;
123
136
  }
124
-
125
- .vc-app-bar {
126
- &__button {
127
- &_accent:before {
128
- @apply tw-content-[""] tw-block tw-absolute tw-right-3 tw-top-[18px] tw-w-[7px] tw-h-[7px] tw-bg-[#ff4a4a] tw-rounded-full tw-z-[1];
129
- }
130
- }
131
- }
132
137
  </style>
@@ -2,8 +2,8 @@
2
2
  <div
3
3
  class="vc-app-menu-item"
4
4
  :class="[
5
- { 'vc-app-menu-item_active': isActive && !Object.keys(children).length },
6
- { 'vc-app-menu-item_no-hover': Object.keys(children).length },
5
+ { 'vc-app-menu-item_active': isActive && !children.length },
6
+ { 'vc-app-menu-item_no-hover': children.length },
7
7
  ]"
8
8
  @click="$emit('onClick')"
9
9
  >
@@ -28,21 +28,21 @@
28
28
  <div class="vc-app-menu-item__title">
29
29
  {{ title }}
30
30
  <VcIcon
31
+ v-if="children.length"
31
32
  class="vc-app-menu-item__title-icon"
32
33
  icon="fas fa-chevron-down"
33
34
  size="xs"
34
- v-if="Object.keys(children).length"
35
35
  ></VcIcon>
36
36
  </div>
37
37
  </div>
38
38
  </template>
39
39
  <script lang="ts" setup>
40
- import { ExtendedComponent } from "./../../../../../../../../../shared";
40
+ import { BladeMenu } from "./../../../../../../../../../core/types";
41
41
  import { VcIcon } from "./../../../../../../../";
42
42
 
43
43
  export interface Props {
44
44
  isActive?: boolean;
45
- children?: ExtendedComponent;
45
+ children?: BladeMenu[];
46
46
  sticky?: boolean;
47
47
  icon: string;
48
48
  title: string;
@@ -53,11 +53,7 @@ export interface Emits {
53
53
  }
54
54
 
55
55
  withDefaults(defineProps<Props>(), {
56
- isActive: false,
57
- children: () => ({}),
58
56
  sticky: true,
59
- icon: "",
60
- title: "",
61
57
  });
62
58
 
63
59
  defineEmits<Emits>();
@@ -2,17 +2,17 @@
2
2
  <div>
3
3
  <template v-if="component && component.url">
4
4
  <router-link
5
+ v-slot="{ isExactActive }"
5
6
  :to="component.url"
6
7
  custom
7
- v-slot="{ isExactActive, navigate }"
8
8
  >
9
9
  <vc-app-menu-link
10
- :isActive="isExactActive"
10
+ :is-active="isExactActive"
11
11
  :children="children"
12
12
  :sticky="sticky"
13
13
  :icon="icon as string"
14
14
  :title="title"
15
- @onClick="onMenuItemClick(() => navigate($event))"
15
+ @on-click="onMenuItemClick"
16
16
  />
17
17
  </router-link>
18
18
  </template>
@@ -22,33 +22,33 @@
22
22
  :sticky="sticky"
23
23
  :icon="icon as string"
24
24
  :title="title"
25
- @onClick="onMenuItemClick"
25
+ @on-click="onMenuItemClick"
26
26
  />
27
27
 
28
28
  <!-- Nested menu items -->
29
29
  <div
30
- class="vc-app-menu-item__child"
31
30
  v-if="isOpened"
31
+ class="vc-app-menu-item__child"
32
32
  >
33
33
  <template
34
34
  v-for="(nested, i) in children"
35
35
  :key="i"
36
36
  >
37
37
  <router-link
38
+ v-slot="{ isActive }"
38
39
  :to="nested.component.url"
39
40
  custom
40
- v-slot="{ isActive, navigate }"
41
41
  >
42
42
  <div
43
+ v-if="nested.isVisible === undefined || nested.isVisible"
44
+ :key="i"
43
45
  :class="[
44
46
  {
45
47
  'vc-app-menu-item__child-item_active': isActive,
46
48
  },
47
49
  'vc-app-menu-item__child-item',
48
50
  ]"
49
- v-if="nested.isVisible === undefined || nested.isVisible"
50
- :key="i"
51
- @click="$emit('child:click', { item: nested, navigationCb: navigate })"
51
+ @click="$emit('child:click', { item: nested })"
52
52
  >
53
53
  {{ nested.title }}
54
54
  </div>
@@ -61,45 +61,36 @@
61
61
 
62
62
  <script lang="ts" setup>
63
63
  import { onMounted, ref } from "vue";
64
- import { IBladeToolbar, IMenuItems } from "./../../../../../../../../core/types";
64
+ import { BladeMenu } from "./../../../../../../../../core/types";
65
65
  import VcAppMenuLink from "./_internal/vc-app-menu-link.vue";
66
- import { NavigationFailure, useRoute } from "vue-router";
67
- import { ExtendedComponent } from "./../../../../../../../../shared";
66
+ import { useRoute } from "vue-router";
67
+ import { BladeConstructor } from "./../../../../../../../../shared";
68
68
 
69
69
  export interface Props {
70
70
  sticky?: boolean;
71
71
  isVisible?: boolean;
72
- component?: ExtendedComponent;
73
- bladeOptions?: Record<string, unknown>;
74
- clickHandler?: () => void;
72
+ component?: BladeConstructor;
75
73
  icon?: string | (() => string);
76
74
  title?: string;
77
- children?: IBladeToolbar[];
78
- isCollapsed?: boolean;
75
+ children?: BladeMenu[];
79
76
  }
80
77
 
81
78
  export interface Emits {
82
- (event: "click", navigationCb: () => Promise<void | NavigationFailure>): void;
79
+ (event: "click"): void;
83
80
  (
84
81
  event: "child:click",
85
82
  {
86
83
  item,
87
- navigationCb,
88
84
  }: {
89
- item: IMenuItems;
90
- navigationCb: () => Promise<void | NavigationFailure>;
85
+ item: BladeMenu;
91
86
  }
92
87
  ): void;
93
88
  }
94
89
 
95
90
  const props = withDefaults(defineProps<Props>(), {
96
91
  sticky: true,
97
- isVisible: false,
98
92
  component: undefined,
99
- bladeOptions: () => ({}),
100
- clickHandler: undefined,
101
93
  children: () => [],
102
- isCollapsed: true,
103
94
  });
104
95
 
105
96
  const route = useRoute();
@@ -114,9 +105,9 @@ onMounted(() => {
114
105
  }
115
106
  });
116
107
 
117
- function onMenuItemClick(navigationCb?: () => Promise<void | NavigationFailure>) {
108
+ function onMenuItemClick() {
118
109
  if (!props.children?.length) {
119
- emit("click", navigationCb);
110
+ emit("click");
120
111
  } else {
121
112
  isOpened.value = !isOpened.value;
122
113
  }
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <div
3
+ v-if="isMenuVisible"
3
4
  class="tw-relative tw-w-[var(--app-menu-width)] tw-transition tw-duration-100 tw-pt-4"
4
5
  :class="{
5
6
  'vc-app-menu_mobile tw-hidden !tw-fixed !tw-left-0 !tw-top-0 !tw-w-full !tw-bottom-0 !tw-z-[9999]':
@@ -28,7 +29,7 @@
28
29
 
29
30
  <!-- Show scrollable area with menu items -->
30
31
  <VcContainer
31
- :noPadding="true"
32
+ :no-padding="true"
32
33
  class="tw-grow tw-basis-0"
33
34
  >
34
35
  <div class="tw-gap-[5px] tw-flex tw-flex-col tw-px-4 tw-h-full">
@@ -38,9 +39,9 @@
38
39
  >
39
40
  <template v-if="item.isVisible === undefined || item.isVisible">
40
41
  <component
41
- v-if="item.component"
42
42
  :is="item.component"
43
- v-bind="item.bladeOptions"
43
+ v-if="item.component"
44
+ v-bind="item.options"
44
45
  class="tw-p-0 tw-mb-2 tw-w-full tw-h-auto"
45
46
  ></component>
46
47
  </template>
@@ -51,18 +52,20 @@
51
52
  >
52
53
  <VcAppMenuItem
53
54
  v-if="item.isVisible === undefined || item.isVisible"
54
- v-bind="item"
55
- :isVisible="item.isVisible as boolean"
55
+ :component="item.component"
56
+ :icon="item.icon"
57
+ :children="item.children"
58
+ :is-visible="item.isVisible as boolean"
56
59
  :title="item.title as string"
57
60
  @click="
58
- (navigationCb) => {
59
- $emit('item:click', { item, navigationCb });
61
+ () => {
62
+ $emit('item:click', { item });
60
63
  isMobileVisible = false;
61
64
  }
62
65
  "
63
66
  @child:click="
64
- ({ item: blade, navigationCb }) => {
65
- $emit('item:click', { item: blade, navigationCb });
67
+ ({ item: blade }) => {
68
+ $emit('item:click', { item: blade });
66
69
  isMobileVisible = false;
67
70
  }
68
71
  "
@@ -81,24 +84,23 @@
81
84
  </template>
82
85
 
83
86
  <script lang="ts" setup>
84
- import { ref } from "vue";
87
+ import { computed, ref } from "vue";
85
88
  import VcAppMenuItem from "./_internal/vc-app-menu-item/vc-app-menu-item.vue";
86
89
  import { VcContainer, VcIcon } from "./../../../../";
87
- import { IMenuItems } from "./../../../../../../core/types";
88
- import { IMenuClickEvent } from "./../../../../../../shared";
90
+ import { BladeMenu, IBladeToolbar } from "./../../../../../../core/types";
89
91
 
90
92
  export interface Props {
91
- items?: IMenuItems[];
92
- mobileMenuItems?: IMenuItems[];
93
+ items?: BladeMenu[];
94
+ mobileMenuItems?: IBladeToolbar[];
93
95
  version: string;
94
96
  }
95
97
 
96
98
  export interface Emits {
97
- (event: "item:click", { item, navigationCb }: IMenuClickEvent): void;
99
+ (event: "item:click", { item }: { item: BladeMenu }): void;
98
100
  (event: "version:click"): void;
99
101
  }
100
102
 
101
- withDefaults(defineProps<Props>(), {
103
+ const props = withDefaults(defineProps<Props>(), {
102
104
  items: () => [],
103
105
  mobileMenuItems: () => [],
104
106
  version: "",
@@ -108,6 +110,10 @@ defineEmits<Emits>();
108
110
 
109
111
  const isMobileVisible = ref(false);
110
112
 
113
+ const isMenuVisible = computed(() => {
114
+ return props.items.some((item) => item.isVisible);
115
+ });
116
+
111
117
  defineExpose({
112
118
  isMobileVisible,
113
119
  });
@@ -16,15 +16,15 @@
16
16
  :logo="logo"
17
17
  :blades="bladesRefs"
18
18
  :buttons="toolbarItems"
19
+ :title="title"
19
20
  @toolbarbutton:click="onToolbarButtonClick"
20
21
  @menubutton:click="($refs.menu as Record<'isMobileVisible', boolean>).isMobileVisible = true"
21
22
  @backlink:click="$emit('backlink:click', bladesRefs.length - 2)"
22
23
  @logo:click="$emit('logo:click')"
23
- :title="title"
24
24
  >
25
25
  <template
26
- v-slot:appSwitcher
27
26
  v-if="$slots['appSwitcher']"
27
+ #appSwitcher
28
28
  >
29
29
  <slot name="appSwitcher"></slot>
30
30
  </template>
@@ -37,28 +37,28 @@
37
37
  class="tw-shrink-0"
38
38
  :items="menuItems"
39
39
  :version="version"
40
- :mobileMenuItems="mobileMenuItems"
40
+ :mobile-menu-items="mobileMenuItems"
41
41
  @item:click="onMenuItemClick"
42
42
  ></VcAppMenu>
43
43
 
44
44
  <!-- Workspace blades -->
45
45
  <div
46
- class="vc-app__workspace tw-px-2 tw-w-full tw-overflow-hidden !tw-flex tw-grow tw-basis-0 tw-relative"
47
46
  v-if="$slots['bladeNavigation']"
47
+ class="vc-app__workspace tw-px-2 tw-w-full tw-overflow-hidden !tw-flex tw-grow tw-basis-0 tw-relative"
48
48
  >
49
49
  <slot name="bladeNavigation"></slot>
50
50
  </div>
51
51
 
52
- <div v-if="$slots['passwordChange']">
53
- <slot name="passwordChange"></slot>
52
+ <div v-if="$slots['modals']">
53
+ <slot name="modals"></slot>
54
54
  </div>
55
55
  </div>
56
56
  </div>
57
57
  </template>
58
58
 
59
59
  <script lang="ts">
60
- import { defineComponent, getCurrentInstance } from "vue";
61
- import { IMenuItems, IBladeToolbar } from "../../../../core/types";
60
+ import { defineComponent, getCurrentInstance, markRaw } from "vue";
61
+ import { BladeMenu, IBladeToolbar } from "../../../../core/types";
62
62
 
63
63
  export default defineComponent({
64
64
  inheritAttrs: false,
@@ -68,12 +68,12 @@ export default defineComponent({
68
68
  <script lang="ts" setup>
69
69
  import VcAppBar from "./_internal/vc-app-bar/vc-app-bar.vue";
70
70
  import VcAppMenu from "./_internal/vc-app-menu/vc-app-menu.vue";
71
- import { ExtendedComponent, IBladeRef, IMenuClickEvent, IOpenBlade } from "./../../../../shared";
71
+ import { BladePageComponent, IBladeRef, useBladeNavigation } from "./../../../../shared";
72
72
 
73
73
  export interface Props {
74
- pages?: ExtendedComponent[];
75
- menuItems?: IMenuItems[];
76
- mobileMenuItems?: IMenuItems[];
74
+ pages?: BladePageComponent[];
75
+ menuItems?: BladeMenu[];
76
+ mobileMenuItems?: IBladeToolbar[];
77
77
  toolbarItems?: IBladeToolbar[];
78
78
  isReady?: boolean;
79
79
  isAuthorized?: boolean;
@@ -85,7 +85,6 @@ export interface Props {
85
85
  }
86
86
 
87
87
  export interface Emits {
88
- (event: "open", args: IOpenBlade): void;
89
88
  (event: "close", index: number): void;
90
89
  (event: "backlink:click", index: number): void;
91
90
  (event: "logo:click"): void;
@@ -100,18 +99,22 @@ withDefaults(defineProps<Props>(), {
100
99
  bladesRefs: () => [],
101
100
  });
102
101
 
103
- const emit = defineEmits<Emits>();
102
+ defineEmits<Emits>();
104
103
 
105
104
  console.debug("vc-app: Init vc-app");
106
105
 
106
+ const { openBlade } = useBladeNavigation();
107
+
107
108
  const instance = getCurrentInstance();
108
109
 
109
- const onMenuItemClick = function ({ item, navigationCb }: IMenuClickEvent) {
110
+ const onMenuItemClick = function ({ item }: { item: BladeMenu }) {
110
111
  console.debug(`vc-app#onMenuItemClick() called.`);
111
112
  if (item.clickHandler && typeof item.clickHandler === "function") {
112
- item.clickHandler(instance?.exposed as Record<string, unknown>);
113
+ item.clickHandler(instance?.exposed);
113
114
  } else {
114
- emit("open", { parentBlade: item.component, id: 0, navigationCb });
115
+ openBlade({
116
+ blade: markRaw(item.component),
117
+ });
115
118
  }
116
119
  };
117
120
 
@@ -2,13 +2,13 @@
2
2
  <div
3
3
  class="vc-blade-toolbar-button"
4
4
  :class="{ 'vc-blade-toolbar-button_disabled': disabled || isWaiting }"
5
- @click="onClick"
6
5
  :title="title as string"
6
+ @click="onClick"
7
7
  >
8
8
  <div ref="dropButtonRef">
9
9
  <div
10
- class="vc-blade-toolbar-button__wrap"
11
10
  ref="bladeDropToggle"
11
+ class="vc-blade-toolbar-button__wrap"
12
12
  >
13
13
  <VcIcon
14
14
  class="vc-blade-toolbar-button__icon"
@@ -24,15 +24,15 @@
24
24
  </div>
25
25
  <teleport to="#app">
26
26
  <div
27
- class="vc-blade-toolbar-button__dropdown"
28
27
  v-if="isDropActive"
29
28
  ref="bladeDropRef"
29
+ class="vc-blade-toolbar-button__dropdown"
30
30
  :style="dropStyle"
31
31
  >
32
32
  <div
33
- class="vc-blade-toolbar-button__dropdown-item"
34
33
  v-for="(item, i) in dropdownItems"
35
34
  :key="i"
35
+ class="vc-blade-toolbar-button__dropdown-item"
36
36
  @click="handleDropItemClick(item)"
37
37
  >
38
38
  <VcIcon
@@ -64,7 +64,7 @@ export interface Props {
64
64
  isExpanded: boolean;
65
65
  icon?: string | (() => string);
66
66
  title?: string | unknown;
67
- bladeOptions?: Record<string, unknown>;
67
+ options?: Record<string, unknown>;
68
68
  disabled?: boolean;
69
69
  dropdownItems?: IBladeDropdownItem[];
70
70
  clickHandler?(): void;
@@ -11,13 +11,13 @@
11
11
  >
12
12
  <VcBladeToolbarButton
13
13
  v-if="item.isVisible === undefined || item.isVisible"
14
- :isExpanded="isExpanded"
14
+ :is-expanded="isExpanded"
15
15
  :icon="item.icon"
16
16
  :title="item.title"
17
- :bladeOptions="item.bladeOptions"
17
+ :options="item.options"
18
18
  :disabled="item.disabled as boolean"
19
- :dropdownItems="item.dropdownItems"
20
- :clickHandler="item.clickHandler"
19
+ :dropdown-items="item.dropdownItems"
20
+ :click-handler="item.clickHandler"
21
21
  />
22
22
  </template>
23
23
  </div>
@@ -14,8 +14,8 @@
14
14
  >
15
15
  <!-- Init blade header -->
16
16
  <VcBladeHeader
17
- class="tw-shrink-0"
18
17
  v-if="!$isMobile.value || closable"
18
+ class="tw-shrink-0"
19
19
  :maximized="maximized"
20
20
  :expandable="isExpandable"
21
21
  :closable="closable"
@@ -27,8 +27,8 @@
27
27
  @collapse="$emit('collapse')"
28
28
  >
29
29
  <template
30
- v-slot:actions
31
30
  v-if="$slots['actions']"
31
+ #actions
32
32
  >
33
33
  <slot name="actions"></slot>
34
34
  </template>
@@ -42,9 +42,9 @@
42
42
  />
43
43
  <div class="tw-line-clamp-1 tw-w-full tw-mx-2"><slot name="error"></slot></div>
44
44
  <VcButton
45
- @click="toggleErrorPopup"
46
45
  variant="onlytext"
47
46
  class="tw-shrink-0 tw-opacity-80 tw-text-white hover:!tw-opacity-100 hover:!tw-text-white"
47
+ @click="open()"
48
48
  >{{ $t("COMPONENTS.ORGANISMS.VC_BLADE.SEE_DETAILS") }}</VcButton
49
49
  >
50
50
  </div>
@@ -55,33 +55,15 @@
55
55
  class="tw-shrink-0"
56
56
  :items="toolbarItems"
57
57
  ></VcBladeToolbar>
58
-
59
- <VcPopup
60
- variant="medium"
61
- :title="$t('COMPONENTS.ORGANISMS.VC_BLADE.ERROR_POPUP.TITLE')"
62
- @close="toggleErrorPopup"
63
- v-if="isErrorPopupActive"
64
- >
65
- <div class="tw-p-5 tw-flex tw-flex-row tw-items-center tw-h-full">
66
- <VcIcon
67
- icon="fas fa-exclamation-circle"
68
- size="xxl"
69
- class="tw-text-[color:var(--blade-color-error)] tw-mr-3"
70
- ></VcIcon>
71
- <VcContainer no-padding>
72
- <slot name="error"></slot>
73
- </VcContainer>
74
- </div>
75
- </VcPopup>
76
-
77
58
  <slot></slot>
78
59
  </div>
79
60
  </template>
80
61
 
81
62
  <script lang="ts">
82
- import { defineComponent, computed, ref } from "vue";
63
+ import { defineComponent, computed, useSlots, h } from "vue";
83
64
  import { IBladeToolbar } from "../../../../core/types";
84
- import { IBladeContainer } from "./../../../../shared";
65
+ import { IBladeContainer, usePopup } from "./../../../../shared";
66
+ import { useI18n } from "vue-i18n";
85
67
 
86
68
  export default defineComponent({
87
69
  inheritAttrs: false,
@@ -91,7 +73,7 @@ export default defineComponent({
91
73
  <script lang="ts" setup>
92
74
  import VcBladeHeader from "./_internal/vc-blade-header/vc-blade-header.vue";
93
75
  import VcBladeToolbar from "./_internal/vc-blade-toolbar/vc-blade-toolbar.vue";
94
- import { VcButton, VcIcon, VcPopup, VcContainer } from "./../../";
76
+ import { VcButton, VcIcon, VcPopup } from "./../../";
95
77
 
96
78
  export interface Props {
97
79
  icon?: string;
@@ -105,7 +87,6 @@ export interface Props {
105
87
  toolbarItems?: IBladeToolbar[];
106
88
  onClose?: () => void;
107
89
  blades?: IBladeContainer[];
108
- // error?: string;
109
90
  }
110
91
 
111
92
  export interface Emits {
@@ -122,8 +103,24 @@ const props = withDefaults(defineProps<Props>(), {
122
103
  });
123
104
 
124
105
  defineEmits<Emits>();
125
-
126
- const isErrorPopupActive = ref(false);
106
+ const { t } = useI18n({ useScope: "global" });
107
+ const slots = useSlots();
108
+ const errorSlot = computed(() => slots.error && slots.error());
109
+
110
+ const { open } = usePopup({
111
+ component: VcPopup,
112
+ props: {
113
+ type: "error",
114
+ variant: "small",
115
+ title: t("COMPONENTS.ORGANISMS.VC_BLADE.ERROR_POPUP.TITLE"),
116
+ },
117
+ slots: {
118
+ default: h(
119
+ "div",
120
+ h(() => errorSlot.value)
121
+ ),
122
+ },
123
+ });
127
124
 
128
125
  const isExpandable = computed(() => {
129
126
  if (!props.expandable) {
@@ -131,10 +128,6 @@ const isExpandable = computed(() => {
131
128
  }
132
129
  return props.blades?.length !== 0;
133
130
  });
134
-
135
- function toggleErrorPopup() {
136
- isErrorPopupActive.value = !isErrorPopupActive.value;
137
- }
138
131
  </script>
139
132
 
140
133
  <style lang="scss">