@vc-shell/framework 1.0.128 → 1.0.130

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 (331) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/core/api/platform.ts +514 -92
  3. package/core/composables/index.ts +2 -1
  4. package/core/composables/useApiClient/index.ts +1 -7
  5. package/core/composables/useAssets/index.ts +0 -6
  6. package/core/composables/useBeforeUnload/index.ts +20 -0
  7. package/core/composables/useMenuService/index.ts +96 -0
  8. package/core/composables/useNotifications/index.ts +29 -40
  9. package/core/composables/useSettings/index.ts +23 -29
  10. package/core/composables/useUser/index.ts +61 -132
  11. package/core/directives/loading/styles.css +5 -5
  12. package/core/interceptors/index.ts +75 -0
  13. package/core/plugins/i18n/index.ts +1 -0
  14. package/core/plugins/modularity/index.ts +63 -20
  15. package/core/plugins/moment/moment.ts +2 -2
  16. package/core/plugins/signalR/index.ts +23 -3
  17. package/core/types/index.ts +18 -35
  18. package/core/utilities/kebabToCamel.ts +1 -1
  19. package/dist/core/api/platform.d.ts +125 -87
  20. package/dist/core/api/platform.d.ts.map +1 -1
  21. package/dist/core/composables/index.d.ts +2 -1
  22. package/dist/core/composables/index.d.ts.map +1 -1
  23. package/dist/core/composables/useApiClient/index.d.ts.map +1 -1
  24. package/dist/core/composables/useAssets/index.d.ts.map +1 -1
  25. package/dist/core/composables/useBeforeUnload/index.d.ts +5 -0
  26. package/dist/core/composables/useBeforeUnload/index.d.ts.map +1 -0
  27. package/dist/core/composables/useMenuService/index.d.ts +16 -0
  28. package/dist/core/composables/useMenuService/index.d.ts.map +1 -0
  29. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  30. package/dist/core/composables/useSettings/index.d.ts +2 -2
  31. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  32. package/dist/core/composables/useUser/index.d.ts +8 -6
  33. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  34. package/dist/core/interceptors/index.d.ts +3 -0
  35. package/dist/core/interceptors/index.d.ts.map +1 -0
  36. package/dist/core/plugins/i18n/index.d.ts.map +1 -1
  37. package/dist/core/plugins/modularity/index.d.ts +1 -1
  38. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  39. package/dist/core/plugins/moment/moment.d.ts.map +1 -1
  40. package/dist/core/plugins/signalR/index.d.ts.map +1 -1
  41. package/dist/core/types/index.d.ts +16 -29
  42. package/dist/core/types/index.d.ts.map +1 -1
  43. package/dist/{framework.mjs → framework.js} +32147 -32235
  44. package/dist/index.css +1 -1
  45. package/dist/index.d.ts +5 -2
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts +1 -19
  48. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts.map +1 -1
  49. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +3 -0
  50. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  51. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +1 -70
  52. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts.map +1 -1
  53. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +1 -82
  54. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  55. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts +28 -0
  56. package/dist/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.d.ts.map +1 -0
  57. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +11 -27
  58. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  59. package/dist/shared/components/blade-navigation/injectionKeys.d.ts +4 -0
  60. package/dist/shared/components/blade-navigation/injectionKeys.d.ts.map +1 -0
  61. package/dist/shared/components/blade-navigation/plugin.d.ts +4 -1
  62. package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -1
  63. package/dist/shared/components/blade-navigation/types/index.d.ts +48 -35
  64. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  65. package/dist/shared/components/error-interceptor/index.d.ts +33 -67
  66. package/dist/shared/components/error-interceptor/index.d.ts.map +1 -1
  67. package/dist/shared/components/index.d.ts +2 -0
  68. package/dist/shared/components/index.d.ts.map +1 -1
  69. package/dist/shared/components/language-selector/index.d.ts +1 -49
  70. package/dist/shared/components/language-selector/index.d.ts.map +1 -1
  71. package/dist/shared/components/language-selector/language-selector.vue.d.ts +1 -40
  72. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -1
  73. package/dist/{ui/components/organisms/vc-notification-dropdown → shared/components/notification-dropdown}/_internal/notification/notification.vue.d.ts +2 -2
  74. package/dist/shared/components/notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -0
  75. package/dist/shared/components/notification-dropdown/index.d.ts +7 -0
  76. package/dist/shared/components/notification-dropdown/index.d.ts.map +1 -0
  77. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts +3 -0
  78. package/dist/shared/components/notification-dropdown/notification-dropdown.vue.d.ts.map +1 -0
  79. package/dist/shared/components/notification-template/index.d.ts +91 -0
  80. package/dist/shared/components/notification-template/index.d.ts.map +1 -0
  81. package/dist/{ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts → shared/components/notification-template/notification-template.vue.d.ts} +2 -2
  82. package/dist/shared/components/notification-template/notification-template.vue.d.ts.map +1 -0
  83. package/dist/shared/components/notifications/components/notification-container/index.d.ts +1 -1
  84. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  85. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts.map +1 -1
  86. package/dist/shared/components/user-dropdown-button/index.d.ts +10 -16
  87. package/dist/shared/components/user-dropdown-button/index.d.ts.map +1 -1
  88. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +7 -4
  89. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -1
  90. package/dist/shared/index.d.ts +4 -1
  91. package/dist/shared/index.d.ts.map +1 -1
  92. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +3 -0
  93. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  94. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +3 -0
  95. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  96. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
  97. package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts.map +1 -1
  98. package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts.map +1 -1
  99. package/dist/shared/modules/dynamic/factories/types/index.d.ts +3 -1
  100. package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
  101. package/dist/shared/modules/dynamic/index.d.ts +1 -3
  102. package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
  103. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +12 -10
  104. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  105. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +5 -2
  106. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  107. package/dist/shared/modules/dynamic/types/index.d.ts +16 -1
  108. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  109. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  110. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
  111. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  112. package/dist/shared/utilities/vueUtils.d.ts.map +1 -1
  113. package/dist/tailwind.config.d.ts +56 -0
  114. package/dist/tailwind.config.d.ts.map +1 -0
  115. package/dist/tsconfig.tsbuildinfo +1 -1
  116. package/dist/ui/components/atoms/vc-badge/index.d.ts +32 -67
  117. package/dist/ui/components/atoms/vc-badge/index.d.ts.map +1 -1
  118. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  119. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +6 -1
  120. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  121. package/dist/ui/components/atoms/vc-card/index.d.ts +66 -102
  122. package/dist/ui/components/atoms/vc-card/index.d.ts.map +1 -1
  123. package/dist/ui/components/atoms/vc-card/vc-card.stories.d.ts +7 -0
  124. package/dist/ui/components/atoms/vc-card/vc-card.stories.d.ts.map +1 -0
  125. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts +7 -1
  126. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
  127. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +91 -129
  128. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -1
  129. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts +7 -1
  130. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  131. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts +6 -1
  132. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts.map +1 -1
  133. package/dist/ui/components/atoms/vc-container/index.d.ts +36 -71
  134. package/dist/ui/components/atoms/vc-container/index.d.ts.map +1 -1
  135. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
  136. package/dist/ui/components/atoms/vc-hint/index.d.ts +8 -38
  137. package/dist/ui/components/atoms/vc-hint/index.d.ts.map +1 -1
  138. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts.map +1 -1
  139. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +3 -0
  140. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  141. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +3 -0
  142. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
  143. package/dist/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts +3 -0
  144. package/dist/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts.map +1 -1
  145. package/dist/ui/components/atoms/vc-label/index.d.ts +42 -74
  146. package/dist/ui/components/atoms/vc-label/index.d.ts.map +1 -1
  147. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +7 -1
  148. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -1
  149. package/dist/ui/components/atoms/vc-link/index.d.ts +32 -66
  150. package/dist/ui/components/atoms/vc-link/index.d.ts.map +1 -1
  151. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
  152. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
  153. package/dist/ui/components/atoms/vc-progress/index.d.ts +30 -63
  154. package/dist/ui/components/atoms/vc-progress/index.d.ts.map +1 -1
  155. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +3 -0
  156. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  157. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts +3 -1
  158. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts.map +1 -1
  159. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +6 -1
  160. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  161. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts.map +1 -1
  162. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts.map +1 -1
  163. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts +3 -0
  164. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
  165. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  166. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +3 -0
  167. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  168. package/dist/ui/components/molecules/vc-code-editor/index.d.ts +59 -98
  169. package/dist/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -1
  170. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +1 -0
  171. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -1
  172. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +4 -1
  173. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  174. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
  175. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +3 -0
  176. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
  177. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +67 -105
  178. package/dist/ui/components/molecules/vc-file-upload/index.d.ts.map +1 -1
  179. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +3 -0
  180. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  181. package/dist/ui/components/molecules/vc-form/index.d.ts +8 -38
  182. package/dist/ui/components/molecules/vc-form/index.d.ts.map +1 -1
  183. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -1
  184. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +56 -1
  185. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  186. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +159 -214
  187. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
  188. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +3 -0
  189. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
  190. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +27 -9
  191. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -1
  192. package/dist/ui/components/molecules/vc-notification/vc-notification.vue.d.ts.map +1 -1
  193. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +3 -0
  194. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  195. package/dist/ui/components/molecules/vc-rating/index.d.ts +59 -96
  196. package/dist/ui/components/molecules/vc-rating/index.d.ts.map +1 -1
  197. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +3 -0
  198. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
  199. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +257 -8
  200. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  201. package/dist/ui/components/molecules/vc-slider/index.d.ts +55 -91
  202. package/dist/ui/components/molecules/vc-slider/index.d.ts.map +1 -1
  203. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +3 -0
  204. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
  205. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +6 -1
  206. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
  207. package/dist/ui/components/organisms/index.d.ts +0 -2
  208. package/dist/ui/components/organisms/index.d.ts.map +1 -1
  209. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +2 -4
  210. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  211. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +10 -7
  212. 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
  213. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +10 -18
  214. 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
  215. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +16 -16
  216. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  217. package/dist/ui/components/organisms/vc-app/index.d.ts +1 -292
  218. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  219. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +17 -56
  220. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  221. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  222. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +3 -0
  223. 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
  224. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +3 -0
  225. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  226. package/dist/ui/components/organisms/vc-blade/index.d.ts +89 -131
  227. package/dist/ui/components/organisms/vc-blade/index.d.ts.map +1 -1
  228. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +3 -0
  229. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  230. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +21 -18
  231. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  232. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +4 -1
  233. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
  234. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +4 -1
  235. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  236. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +3 -0
  237. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  238. package/dist/ui/components/organisms/vc-login-form/index.d.ts +32 -66
  239. package/dist/ui/components/organisms/vc-login-form/index.d.ts.map +1 -1
  240. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts +3 -0
  241. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -1
  242. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts.map +1 -1
  243. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts.map +1 -1
  244. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  245. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +3 -0
  246. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
  247. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +3 -0
  248. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
  249. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +3 -0
  250. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  251. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +57 -6
  252. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  253. package/dist/ui/types/index.d.ts +5 -45
  254. package/dist/ui/types/index.d.ts.map +1 -1
  255. package/package.json +26 -30
  256. package/shared/components/app-switcher/components/vc-app-switcher/index.ts +1 -3
  257. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +2 -2
  258. package/shared/components/blade-navigation/components/vc-blade-navigation/index.ts +1 -3
  259. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +46 -157
  260. package/shared/components/blade-navigation/components/vc-blade-view/vc-blade-view.ts +81 -0
  261. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +323 -261
  262. package/shared/components/blade-navigation/injectionKeys.ts +4 -0
  263. package/shared/components/blade-navigation/plugin.ts +8 -10
  264. package/shared/components/blade-navigation/types/index.ts +53 -44
  265. package/shared/components/index.ts +2 -0
  266. package/shared/components/language-selector/language-selector.vue +12 -12
  267. package/{ui/components/organisms/vc-notification-dropdown → shared/components/notification-dropdown}/_internal/notification/notification.vue +6 -5
  268. package/shared/components/notification-dropdown/index.ts +10 -0
  269. package/{ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue → shared/components/notification-dropdown/notification-dropdown.vue} +21 -17
  270. package/shared/components/notification-template/index.ts +10 -0
  271. package/{ui/components/organisms/vc-notification-template/vc-notification-template.vue → shared/components/notification-template/notification-template.vue} +2 -2
  272. package/shared/components/popup-handler/composables/usePopup/index.ts +29 -9
  273. package/shared/components/user-dropdown-button/user-dropdown-button.vue +58 -17
  274. package/shared/index.ts +3 -2
  275. package/shared/locales/en.json +7 -0
  276. package/shared/modules/assets/components/assets-details/assets-details.vue +5 -0
  277. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +8 -5
  278. package/shared/modules/dynamic/components/fields/GalleryField.ts +7 -7
  279. package/shared/modules/dynamic/components/fields/InputCurrency.ts +2 -1
  280. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +42 -36
  281. package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +5 -3
  282. package/shared/modules/dynamic/factories/types/index.ts +6 -2
  283. package/shared/modules/dynamic/helpers/override.ts +38 -32
  284. package/shared/modules/dynamic/helpers/safeIn.ts +1 -1
  285. package/shared/modules/dynamic/index.ts +12 -12
  286. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +96 -57
  287. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +133 -118
  288. package/shared/modules/dynamic/types/index.ts +16 -1
  289. package/shared/pages/InvitePage/components/invite/Invite.vue +2 -2
  290. package/shared/pages/LoginPage/components/login/Login.vue +23 -16
  291. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +3 -3
  292. package/shared/utilities/vueUtils.ts +7 -7
  293. package/tailwind.config.ts +50 -0
  294. package/ui/components/atoms/vc-button/vc-button.vue +1 -1
  295. package/ui/components/atoms/vc-card/vc-card.stories.ts +25 -0
  296. package/ui/components/atoms/vc-card/vc-card.vue +1 -1
  297. package/ui/components/atoms/vc-container/vc-container.vue +1 -1
  298. package/ui/components/atoms/vc-icon/vc-icon.vue +1 -1
  299. package/ui/components/molecules/vc-editor/vc-editor.vue +2 -7
  300. package/ui/components/molecules/vc-notification/vc-notification.vue +2 -2
  301. package/ui/components/molecules/vc-select/vc-select.vue +13 -13
  302. package/ui/components/organisms/index.ts +0 -2
  303. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +25 -42
  304. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +123 -25
  305. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +11 -103
  306. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +34 -52
  307. package/ui/components/organisms/vc-app/index.ts +1 -12
  308. package/ui/components/organisms/vc-app/vc-app.stories.ts +36 -36
  309. package/ui/components/organisms/vc-app/vc-app.vue +122 -61
  310. package/ui/components/organisms/vc-blade/vc-blade.vue +5 -13
  311. package/ui/components/organisms/vc-table/vc-table.vue +9 -9
  312. package/ui/locales/en.json +2 -4
  313. package/ui/types/index.ts +7 -51
  314. package/core/composables/useMenuComposer/index.ts +0 -25
  315. package/dist/core/composables/useMenuComposer/index.d.ts +0 -12
  316. package/dist/core/composables/useMenuComposer/index.d.ts.map +0 -1
  317. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts.map +0 -1
  318. package/dist/ui/components/organisms/vc-notification-dropdown/index.d.ts +0 -38
  319. package/dist/ui/components/organisms/vc-notification-dropdown/index.d.ts.map +0 -1
  320. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts +0 -21
  321. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts.map +0 -1
  322. package/dist/ui/components/organisms/vc-notification-template/index.d.ts +0 -2
  323. package/dist/ui/components/organisms/vc-notification-template/index.d.ts.map +0 -1
  324. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts.map +0 -1
  325. package/dist/utils/isInDemoMode.d.ts +0 -2
  326. package/dist/utils/isInDemoMode.d.ts.map +0 -1
  327. package/dist/vite.config.d.ts +0 -3
  328. package/dist/vite.config.d.ts.map +0 -1
  329. package/tailwind.config.js +0 -50
  330. package/ui/components/organisms/vc-notification-dropdown/index.ts +0 -3
  331. package/ui/components/organisms/vc-notification-template/index.ts +0 -1
@@ -143,6 +143,11 @@ const props = withDefaults(defineProps<Props>(), {
143
143
  });
144
144
 
145
145
  const emit = defineEmits<Emits>();
146
+
147
+ defineOptions({
148
+ name: "AssetsDetails",
149
+ });
150
+
146
151
  useForm({ validateOnMount: false });
147
152
  const isValid = useIsFormValid();
148
153
  const isDirty = useIsFormDirty();
@@ -10,7 +10,7 @@
10
10
  @collapse="$emit('collapse:blade')"
11
11
  >
12
12
  <div
13
- v-loading="options.loading"
13
+ v-loading="options?.loading"
14
14
  class="tw-relative tw-h-full"
15
15
  @dragover.prevent.stop="dragOver"
16
16
  @dragleave.prevent="dragLeave"
@@ -146,7 +146,6 @@ import { ICommonAsset, IActionBuilderResult, IBladeToolbar, ITableColumns } from
146
146
  import { ref, computed, onMounted, unref, watch, markRaw, Ref } from "vue";
147
147
  import { useI18n } from "vue-i18n";
148
148
  import moment from "moment";
149
- import { AssetsDetails as Assets } from "./../../../assets/components/assets-details";
150
149
  import { isImage, getFileThumbnail, readableSize } from "./../../../../utilities/assets";
151
150
  import * as _ from "lodash-es";
152
151
  import { IParentCallArgs, useBladeNavigation } from "../../../../components";
@@ -179,6 +178,10 @@ const props = withDefaults(defineProps<Props>(), {
179
178
 
180
179
  const emit = defineEmits<Emits>();
181
180
 
181
+ defineOptions({
182
+ name: "AssetsManager",
183
+ });
184
+
182
185
  const { t } = useI18n({ useScope: "global" });
183
186
 
184
187
  const defaultAssets = ref<ICommonAsset[]>([]);
@@ -190,7 +193,7 @@ const readonly = computed(() => props.options.disabled);
190
193
  let assetsCopy: ICommonAsset[];
191
194
  const modified = ref(false);
192
195
 
193
- const { openBlade } = useBladeNavigation();
196
+ const { openBlade, resolveBladeByName } = useBladeNavigation();
194
197
 
195
198
  const bladeToolbar = ref<IBladeToolbar[]>([
196
199
  {
@@ -263,7 +266,7 @@ watch(
263
266
  (newVal) => {
264
267
  modified.value = !_.isEqual(newVal, assetsCopy);
265
268
  },
266
- { deep: true }
269
+ { deep: true },
267
270
  );
268
271
 
269
272
  onMounted(() => {
@@ -332,7 +335,7 @@ async function inputUpload(event: Event) {
332
335
 
333
336
  function onItemClick(item: ICommonAsset) {
334
337
  openBlade({
335
- blade: markRaw(Assets),
338
+ blade: resolveBladeByName("AssetsDetails"),
336
339
  options: {
337
340
  asset: unref(item),
338
341
  disabled: readonly.value,
@@ -28,8 +28,8 @@ export default {
28
28
  `There is no assetsHandler.images config provided in blade scope: ${JSON.stringify(
29
29
  props.bladeContext.scope,
30
30
  null,
31
- 2
32
- )}`
31
+ 2,
32
+ )}`,
33
33
  );
34
34
  }
35
35
 
@@ -47,7 +47,7 @@ export default {
47
47
  internalModel.value = _.cloneDeep(newVal);
48
48
  }
49
49
  },
50
- { deep: true, immediate: true }
50
+ { deep: true, immediate: true },
51
51
  );
52
52
 
53
53
  return () => {
@@ -83,9 +83,9 @@ export default {
83
83
  t(
84
84
  `${props.bladeContext.settings.localizationPrefix
85
85
  .trim()
86
- .toUpperCase()}.PAGES.DETAILS.ALERTS.DELETE_CONFIRMATION`
87
- )
88
- )
86
+ .toUpperCase()}.PAGES.DETAILS.ALERTS.DELETE_CONFIRMATION`,
87
+ ),
88
+ ),
89
89
  )
90
90
  ) {
91
91
  const edited = await imagesHandler.remove?.value?.([image]);
@@ -114,7 +114,7 @@ export default {
114
114
  context: props.fieldContext,
115
115
  scope: props.bladeContext.scope,
116
116
  });
117
- await props.bladeContext.validationState.validate();
117
+ await props.bladeContext.validationState.setFieldValue(props.element.id, args);
118
118
  }
119
119
  }
120
120
 
@@ -6,6 +6,7 @@ import { getModel } from "../../helpers/getters";
6
6
  import { setModel } from "../../helpers/setters";
7
7
  import { InputCurrencySchema } from "../../types";
8
8
 
9
+ // TODO fix disabling when blades is disabled
9
10
  export default {
10
11
  name: "InputCurrency",
11
12
  props: componentProps,
@@ -42,7 +43,7 @@ export default {
42
43
  rows: props.rows,
43
44
  key: `${String(field.props.key)}_validation`,
44
45
  },
45
- () => render
46
+ () => render,
46
47
  )
47
48
  : null;
48
49
  } else {
@@ -109,21 +109,24 @@ export default <Query>(args: {
109
109
  return;
110
110
  }
111
111
  controls.value = _data.columns.map((item): Control => {
112
- const ctr = item.controls.reduce((obj, control) => {
113
- if (control.component === "vc-checkbox") {
114
- const filterData = control.data;
115
- const fields = createCheckboxFromData(filterData, control);
116
-
117
- if (fields) {
118
- obj = fields;
112
+ const ctr = item.controls.reduce(
113
+ (obj, control) => {
114
+ if (control.component === "vc-checkbox") {
115
+ const filterData = control.data;
116
+ const fields = createCheckboxFromData(filterData, control);
117
+
118
+ if (fields) {
119
+ obj = fields;
120
+ }
121
+ }
122
+ if (control.component === "vc-input") {
123
+ obj[control.field] = createInput(control);
119
124
  }
120
- }
121
- if (control.component === "vc-input") {
122
- obj[control.field] = createInput(control);
123
- }
124
125
 
125
- return obj;
126
- }, {} as Record<string, ReturnType<typeof Checkbox> | ReturnType<typeof InputField>>);
126
+ return obj;
127
+ },
128
+ {} as Record<string, ReturnType<typeof Checkbox> | ReturnType<typeof InputField>>,
129
+ );
127
130
 
128
131
  return {
129
132
  title: item.title,
@@ -134,23 +137,26 @@ export default <Query>(args: {
134
137
 
135
138
  function createCheckboxFromData(data: RawControl["data"], control: RawControl) {
136
139
  if (!(data && data.length)) return;
137
- return data.reduce((obj, currC) => {
138
- obj[currC.value] = Checkbox({
139
- props: {
140
- classNames: "tw-mb-2",
141
- modelValue: computed(() => isItemSelected(currC.value, control.field)),
142
- "onUpdate:modelValue": (e: boolean) => selectFilterItem(e, currC.value, control.field),
143
- },
144
- slots: {
145
- default: () => currC.displayName,
146
- },
147
- options: {
148
- visibility: computed(() => true),
149
- },
150
- });
140
+ return data.reduce(
141
+ (obj, currC) => {
142
+ obj[currC.value] = Checkbox({
143
+ props: {
144
+ classNames: "tw-mb-2",
145
+ modelValue: computed(() => isItemSelected(currC.value, control.field)),
146
+ "onUpdate:modelValue": (e: boolean) => selectFilterItem(e, currC.value, control.field),
147
+ },
148
+ slots: {
149
+ default: () => currC.displayName,
150
+ },
151
+ options: {
152
+ visibility: computed(() => true),
153
+ },
154
+ });
151
155
 
152
- return obj;
153
- }, {} as Record<string, ReturnType<typeof Checkbox>>);
156
+ return obj;
157
+ },
158
+ {} as Record<string, ReturnType<typeof Checkbox>>,
159
+ );
154
160
  }
155
161
 
156
162
  function createInput(control: RawControl) {
@@ -202,12 +208,12 @@ export default <Query>(args: {
202
208
  return h(
203
209
  item.component as Component,
204
210
  { ...item.props, class: item.props.classNames },
205
- "slots" in item && item.slots ? { ...item.slots } : {}
211
+ "slots" in item && item.slots ? { ...item.slots } : {},
206
212
  );
207
213
  }
208
214
  }),
209
- ])
210
- )
215
+ ]),
216
+ ),
211
217
  ),
212
218
  h(VcRow, () =>
213
219
  h(VcCol, { class: "tw-p-2" }, () =>
@@ -220,15 +226,15 @@ export default <Query>(args: {
220
226
  disabled: disabled.value,
221
227
  onClick: () => resetFilters(slotMethods.close),
222
228
  },
223
- () => "Reset"
229
+ () => "Reset",
224
230
  ),
225
231
  h(
226
232
  VcButton,
227
233
  { disabled: disable.value, onClick: () => applyFilters(slotMethods.close) },
228
- () => "Apply filters"
234
+ () => "Apply filters",
229
235
  ),
230
- ])
231
- )
236
+ ]),
237
+ ),
232
238
  ),
233
239
  ]);
234
240
  }
@@ -13,7 +13,7 @@ export interface UseDetailsFactoryParams<Item> {
13
13
 
14
14
  export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<Item>) => {
15
15
  return function useDetails(): UseDetails<Item> {
16
- const { setFieldError, setErrors, validate } = useForm({
16
+ const { setFieldError, setErrors, validate, setFieldValue, setValues } = useForm({
17
17
  validateOnMount: false,
18
18
  });
19
19
  const item = ref<Item>();
@@ -51,9 +51,11 @@ export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<I
51
51
  cachedValue: itemTemp.value,
52
52
  setFieldError,
53
53
  setErrors,
54
+ setFieldValue,
55
+ setValues,
54
56
  resetModified,
55
57
  validate,
56
- })
58
+ }),
57
59
  );
58
60
 
59
61
  watch(
@@ -61,7 +63,7 @@ export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<I
61
63
  ([state, stateCopy]) => {
62
64
  isModified.value = !_.isEqual(stateCopy.value, state.value);
63
65
  },
64
- { deep: true }
66
+ { deep: true },
65
67
  );
66
68
 
67
69
  const resetModified = createUnrefFn((data: Item, updateInitial = false) => {
@@ -23,6 +23,8 @@ export interface IValidationState<Item> {
23
23
  validated: boolean;
24
24
  cachedValue: Item | undefined;
25
25
  setFieldError: FormContext["setFieldError"];
26
+ setFieldValue: FormContext["setFieldValue"];
27
+ setValues: FormContext["setValues"];
26
28
  setErrors: FormContext["setErrors"];
27
29
  resetModified: (data: MaybeRef<Item>, updateInitial?: MaybeRef<boolean>) => void;
28
30
  validate: FormContext["validate"];
@@ -62,7 +64,9 @@ export interface BaseBladeScope {
62
64
  }
63
65
 
64
66
  export interface ListBaseBladeScope extends BaseBladeScope {
65
- openDetailsBlade: (args?: Omit<Parameters<ReturnType<typeof useBladeNavigation>["openBlade"]>["0"], "blade">) => void;
67
+ openDetailsBlade: (
68
+ args?: Omit<Parameters<ReturnType<typeof useBladeNavigation>["openBlade"]>["0"], "blade">,
69
+ ) => Promise<void>;
66
70
  }
67
71
 
68
72
  export interface DetailsBaseBladeScope extends BaseBladeScope {
@@ -80,7 +84,7 @@ export interface DetailsBaseBladeScope extends BaseBladeScope {
80
84
  loadDictionaries: (
81
85
  property: Record<string, any>,
82
86
  keyword?: string,
83
- locale?: string
87
+ locale?: string,
84
88
  ) => Promise<Record<string, any>[]>;
85
89
  getPropertyValue: (property: Record<string, any>, locale: string) => any;
86
90
  setPropertyValue: (data: {
@@ -19,40 +19,46 @@ export const handleOverrides = (overrides: OverridesSchema, schemaCopy: { [key:
19
19
  };
20
20
 
21
21
  const upsertHelper = (overrides: OverridesSchema, schemaCopy: { [key: string]: DynamicSchema }) => {
22
- return Object.entries(schemaCopy).reduce((obj, [name, schema]) => {
23
- const clonedSchema = _.cloneDeep(schema);
24
- overrides.upsert
25
- ?.filter((x) => clonedSchema.settings.id === x.id)
26
- .forEach((args) => {
27
- const valueByPath = _.get(clonedSchema, args.path);
28
- if (Array.isArray(valueByPath) && valueByPath.length && typeof args.value === "object" && "index" in args) {
29
- const findIndex = _.findIndex(valueByPath, { id: args.value.id });
22
+ return Object.entries(schemaCopy).reduce(
23
+ (obj, [name, schema]) => {
24
+ const clonedSchema = _.cloneDeep(schema);
25
+ overrides.upsert
26
+ ?.filter((x) => clonedSchema.settings.id === x.id)
27
+ .forEach((args) => {
28
+ const valueByPath = _.get(clonedSchema, args.path);
29
+ if (Array.isArray(valueByPath) && valueByPath.length && typeof args.value === "object" && "index" in args) {
30
+ const findIndex = _.findIndex(valueByPath, { id: args.value.id });
30
31
 
31
- const spliced = valueByPath /* @ts-ignore */
32
- .toSpliced(findIndex >= 0 ? findIndex : args.index, findIndex >= 0 ? 1 : 0, args.value);
33
- _.set(clonedSchema, args.path, spliced);
34
- } else {
35
- _.set(clonedSchema, args.path, args.value);
36
- }
37
- }, {});
38
- obj[name] = clonedSchema;
39
- return obj;
40
- }, {} as Record<string, DynamicSchema>);
32
+ const spliced = valueByPath /* @ts-ignore */
33
+ .toSpliced(findIndex >= 0 ? findIndex : args.index, findIndex >= 0 ? 1 : 0, args.value);
34
+ _.set(clonedSchema, args.path, spliced);
35
+ } else {
36
+ _.set(clonedSchema, args.path, args.value);
37
+ }
38
+ }, {});
39
+ obj[name] = clonedSchema;
40
+ return obj;
41
+ },
42
+ {} as Record<string, DynamicSchema>,
43
+ );
41
44
  };
42
45
 
43
46
  const removeHelper = (overrides: OverridesSchema, schemaCopy: { [key: string]: DynamicSchema }) => {
44
- return Object.entries(schemaCopy).reduce((obj, [name, schema]) => {
45
- const clonedSchema = _.cloneDeep(schema);
46
- overrides.remove
47
- ?.filter((x) => clonedSchema.settings.id === x.id)
48
- .forEach(({ path }) => {
49
- if (path) {
50
- const parentPath = path.slice(0, path.lastIndexOf("["));
51
- _.unset(clonedSchema, path);
52
- _.update(clonedSchema, parentPath, _.compact);
53
- }
54
- }, {});
55
- obj[name] = clonedSchema;
56
- return obj;
57
- }, {} as Record<string, DynamicSchema>);
47
+ return Object.entries(schemaCopy).reduce(
48
+ (obj, [name, schema]) => {
49
+ const clonedSchema = _.cloneDeep(schema);
50
+ overrides.remove
51
+ ?.filter((x) => clonedSchema.settings.id === x.id)
52
+ .forEach(({ path }) => {
53
+ if (path) {
54
+ const parentPath = path.slice(0, path.lastIndexOf("["));
55
+ _.unset(clonedSchema, path);
56
+ _.update(clonedSchema, parentPath, _.compact);
57
+ }
58
+ }, {});
59
+ obj[name] = clonedSchema;
60
+ return obj;
61
+ },
62
+ {} as Record<string, DynamicSchema>,
63
+ );
58
64
  };
@@ -2,5 +2,5 @@ type AllKeys<T> = T extends unknown ? keyof T : never;
2
2
  type FilterByKnownKey<T, K extends PropertyKey> = T extends unknown ? (K extends keyof T ? T : never) : never;
3
3
 
4
4
  export function safeIn<K extends AllKeys<T>, T extends object>(key: K, obj: T): obj is FilterByKnownKey<T, K> {
5
- return key in obj ?? undefined;
5
+ return key in obj;
6
6
  }
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import * as pages from "./pages";
3
- import { App, Component, DefineComponent, defineComponent } from "vue";
3
+ import { App, Component, defineComponent } from "vue";
4
4
  import { DynamicSchema, OverridesSchema } from "./types";
5
5
  import * as _ from "lodash-es";
6
6
  import { handleOverrides } from "./helpers/override";
@@ -8,7 +8,7 @@ import { reactiveComputed } from "@vueuse/core";
8
8
  import { kebabToPascal } from "../../../core/utilities";
9
9
  import { BladeInstanceConstructor } from "../../index";
10
10
  import { createAppModule } from "../../../core/plugins";
11
- import { BladeMenu, NavigationMenu } from "../../../core/types";
11
+ import { BladeMenu } from "../../../core/types";
12
12
  import { ComponentProps } from "./../../utilities/vueUtils";
13
13
 
14
14
  interface Registered {
@@ -33,7 +33,7 @@ const createAppModuleWrapper = (args: {
33
33
  { [bladeName]: bladeComponent },
34
34
  appModuleContent?.locales,
35
35
  appModuleContent?.notificationTemplates,
36
- appModuleContent?.moduleComponents
36
+ appModuleContent?.moduleComponents,
37
37
  );
38
38
  };
39
39
 
@@ -51,7 +51,7 @@ const register = (
51
51
  notificationTemplates?: { [key: string]: Component };
52
52
  moduleComponents?: { [key: string]: Component };
53
53
  }
54
- | undefined
54
+ | undefined,
55
55
  ): Registered => {
56
56
  const { app, component, json, options } = args;
57
57
  const bladeComponent = _.cloneDeep(component);
@@ -71,6 +71,7 @@ const register = (
71
71
  const BladeInstanceConstructor = defineComponent({
72
72
  ...bladeComponent,
73
73
  isWorkspace: "isWorkspace" in json.settings && json.settings.isWorkspace,
74
+ menuItem: ("menuItem" in json.settings && json.settings.menuItem) ?? undefined,
74
75
  setup: (props: ComponentProps<typeof bladeComponent>, ctx) =>
75
76
  (bladeComponent?.setup &&
76
77
  bladeComponent.setup(
@@ -80,9 +81,9 @@ const register = (
80
81
  {
81
82
  model: json,
82
83
  composables: args.composables,
83
- } as any
84
+ } as any,
84
85
  ),
85
- ctx
86
+ ctx,
86
87
  )) ??
87
88
  {},
88
89
  });
@@ -105,15 +106,14 @@ const register = (
105
106
  const handleError = (errorKey: string, schema: { [key: string]: DynamicSchema }, text?: string) => {
106
107
  console.error(
107
108
  `Module initialization aborted. '${errorKey}' key not found in files: ${Object.keys(schema).join(
108
- ", "
109
- )}. '${errorKey}' key ${text}`
109
+ ", ",
110
+ )}. '${errorKey}' key ${text}`,
110
111
  );
111
112
  };
112
113
 
113
- export const createDynamicAppModule = <T extends BladeMenu>(args: {
114
+ export const createDynamicAppModule = (args: {
114
115
  schema: { [key: string]: DynamicSchema };
115
116
  composables: { [key: string]: (...args: any[]) => any };
116
- menuConfig?: { [I in keyof T]: NavigationMenu<T[I]> };
117
117
  overrides?: OverridesSchema;
118
118
  moduleComponents?: { [key: string]: Component };
119
119
  locales?: { [key: string]: object };
@@ -127,7 +127,7 @@ export const createDynamicAppModule = <T extends BladeMenu>(args: {
127
127
  handleError(
128
128
  "isWorkspace",
129
129
  args.schema,
130
- "must be included in one of this files to initialize module workspace blade"
130
+ "must be included in one of this files to initialize module workspace blade",
131
131
  );
132
132
 
133
133
  if (moduleInitializer && everyHasTemplate) {
@@ -156,7 +156,7 @@ export const createDynamicAppModule = <T extends BladeMenu>(args: {
156
156
  json: JsonSchema,
157
157
  options,
158
158
  },
159
- index === 0 ? appModuleContent : undefined
159
+ index === 0 ? appModuleContent : undefined,
160
160
  );
161
161
 
162
162
  if (!blade) {