@vc-shell/framework 1.0.69 → 1.0.71

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/core/api/platform.ts +2762 -2225
  3. package/core/composables/index.ts +1 -0
  4. package/core/composables/useMenuComposer/index.ts +25 -0
  5. package/core/composables/useNotifications/index.ts +25 -31
  6. package/core/composables/useUser/index.ts +176 -10
  7. package/core/directives/index.ts +0 -1
  8. package/core/plugins/index.ts +1 -1
  9. package/core/plugins/modularity/index.ts +8 -1
  10. package/core/plugins/signalR/index.ts +32 -0
  11. package/core/types/index.ts +56 -17
  12. package/dist/core/api/platform.d.ts +1005 -931
  13. package/dist/core/api/platform.d.ts.map +1 -1
  14. package/dist/core/composables/index.d.ts +1 -0
  15. package/dist/core/composables/index.d.ts.map +1 -1
  16. package/dist/core/composables/useMenuComposer/index.d.ts +12 -0
  17. package/dist/core/composables/useMenuComposer/index.d.ts.map +1 -0
  18. package/dist/core/composables/useNotifications/index.d.ts +4 -6
  19. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  20. package/dist/core/composables/useUser/index.d.ts +18 -1
  21. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  22. package/dist/core/directives/autofocus/index.d.ts +1 -1
  23. package/dist/core/directives/autofocus/index.d.ts.map +1 -1
  24. package/dist/core/directives/index.d.ts +0 -1
  25. package/dist/core/directives/index.d.ts.map +1 -1
  26. package/dist/core/directives/loading/index.d.ts +1 -1
  27. package/dist/core/directives/loading/index.d.ts.map +1 -1
  28. package/dist/core/directives/permissions/index.d.ts +1 -1
  29. package/dist/core/directives/permissions/index.d.ts.map +1 -1
  30. package/dist/core/plugins/index.d.ts +1 -1
  31. package/dist/core/plugins/index.d.ts.map +1 -1
  32. package/dist/core/plugins/modularity/index.d.ts +1 -1
  33. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  34. package/dist/core/plugins/signalR/index.d.ts +4 -0
  35. package/dist/core/plugins/signalR/index.d.ts.map +1 -0
  36. package/dist/core/types/index.d.ts +46 -20
  37. package/dist/core/types/index.d.ts.map +1 -1
  38. package/dist/framework.mjs +31824 -29372
  39. package/dist/index.css +1 -1
  40. package/dist/index.d.ts +3 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/injectionSymbols.d.ts +6 -0
  43. package/dist/injectionSymbols.d.ts.map +1 -0
  44. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts +1 -3
  45. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts.map +1 -1
  46. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +6 -3
  47. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -1
  48. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts +1 -1
  49. package/dist/shared/components/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  50. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +13 -456
  51. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts.map +1 -1
  52. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +19 -454
  53. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  54. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +3 -4
  55. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  56. package/dist/shared/components/blade-navigation/index.d.ts +1 -9
  57. package/dist/shared/components/blade-navigation/index.d.ts.map +1 -1
  58. package/dist/shared/components/blade-navigation/plugin.d.ts +13 -0
  59. package/dist/shared/components/blade-navigation/plugin.d.ts.map +1 -0
  60. package/dist/shared/components/blade-navigation/types/index.d.ts +53 -26
  61. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  62. package/dist/shared/components/change-password/change-password.vue.d.ts +7 -0
  63. package/dist/shared/components/change-password/change-password.vue.d.ts.map +1 -0
  64. package/dist/shared/components/change-password/index.d.ts +11 -0
  65. package/dist/shared/components/change-password/index.d.ts.map +1 -0
  66. package/dist/{core/plugins → shared/components}/error-interceptor/index.d.ts +53 -15
  67. package/dist/shared/components/error-interceptor/index.d.ts.map +1 -0
  68. package/dist/{core/plugins → shared/components}/error-interceptor/interceptor.d.ts +1 -1
  69. package/dist/shared/components/error-interceptor/interceptor.d.ts.map +1 -0
  70. package/dist/shared/components/index.d.ts +9 -0
  71. package/dist/shared/components/index.d.ts.map +1 -0
  72. package/dist/shared/components/language-selector/index.d.ts +55 -0
  73. package/dist/shared/components/language-selector/index.d.ts.map +1 -0
  74. package/dist/shared/components/language-selector/language-selector.vue.d.ts +45 -0
  75. package/dist/shared/components/language-selector/language-selector.vue.d.ts.map +1 -0
  76. package/dist/shared/components/notifications/components/notification-container/index.d.ts +13 -13
  77. package/dist/shared/components/notifications/components/notification-container/index.d.ts.map +1 -1
  78. package/dist/shared/components/notifications/core/notification.d.ts.map +1 -1
  79. package/dist/shared/components/notifications/index.d.ts +0 -9
  80. package/dist/shared/components/notifications/index.d.ts.map +1 -1
  81. package/dist/shared/components/notifications/types/index.d.ts +3 -1
  82. package/dist/shared/components/notifications/types/index.d.ts.map +1 -1
  83. package/dist/shared/components/popup-handler/components/index.d.ts +2 -0
  84. package/dist/shared/components/popup-handler/components/index.d.ts.map +1 -0
  85. package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts +2 -0
  86. package/dist/shared/components/popup-handler/components/vc-popup-container/index.d.ts.map +1 -0
  87. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts +3 -0
  88. package/dist/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue.d.ts.map +1 -0
  89. package/dist/shared/components/popup-handler/composables/index.d.ts +2 -0
  90. package/dist/shared/components/popup-handler/composables/index.d.ts.map +1 -0
  91. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts +12 -0
  92. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts.map +1 -0
  93. package/dist/shared/components/popup-handler/index.d.ts +16 -0
  94. package/dist/shared/components/popup-handler/index.d.ts.map +1 -0
  95. package/dist/shared/components/popup-handler/plugin.d.ts +6 -0
  96. package/dist/shared/components/popup-handler/plugin.d.ts.map +1 -0
  97. package/dist/shared/components/popup-handler/types/index.d.ts +26 -0
  98. package/dist/shared/components/popup-handler/types/index.d.ts.map +1 -0
  99. package/dist/shared/components/popup-handler/utils/index.d.ts +3 -0
  100. package/dist/shared/components/popup-handler/utils/index.d.ts.map +1 -0
  101. package/dist/shared/components/user-dropdown-button/index.d.ts +43 -0
  102. package/dist/shared/components/user-dropdown-button/index.d.ts.map +1 -0
  103. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +33 -0
  104. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts.map +1 -0
  105. package/dist/shared/index.d.ts +3 -5
  106. package/dist/shared/index.d.ts.map +1 -1
  107. package/dist/shared/locales/index.d.ts +3 -0
  108. package/dist/shared/locales/index.d.ts.map +1 -0
  109. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +13 -11
  110. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  111. package/dist/shared/modules/assets/components/assets-details/index.d.ts +25 -123
  112. package/dist/shared/modules/assets/components/assets-details/index.d.ts.map +1 -1
  113. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +15 -18
  114. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts.map +1 -1
  115. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +30 -150
  116. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts.map +1 -1
  117. package/dist/shared/modules/index.d.ts +3 -0
  118. package/dist/shared/modules/index.d.ts.map +1 -0
  119. package/dist/shared/pages/InvitePage/components/index.d.ts +2 -0
  120. package/dist/shared/pages/InvitePage/components/index.d.ts.map +1 -0
  121. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +33 -0
  122. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -0
  123. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +32 -0
  124. package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +1 -0
  125. package/dist/shared/pages/InvitePage/index.d.ts +5 -0
  126. package/dist/shared/pages/InvitePage/index.d.ts.map +1 -0
  127. package/dist/shared/pages/InvitePage/locales/index.d.ts +3 -0
  128. package/dist/shared/pages/InvitePage/locales/index.d.ts.map +1 -0
  129. package/dist/shared/pages/LoginPage/components/index.d.ts +2 -0
  130. package/dist/shared/pages/LoginPage/components/index.d.ts.map +1 -0
  131. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts +17 -0
  132. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -0
  133. package/dist/shared/pages/LoginPage/components/login/index.d.ts +28 -0
  134. package/dist/shared/pages/LoginPage/components/login/index.d.ts.map +1 -0
  135. package/dist/shared/pages/LoginPage/index.d.ts +3 -0
  136. package/dist/shared/pages/LoginPage/index.d.ts.map +1 -0
  137. package/dist/shared/pages/LoginPage/locales/index.d.ts +3 -0
  138. package/dist/shared/pages/LoginPage/locales/index.d.ts.map +1 -0
  139. package/dist/shared/pages/LoginPage/plugin.d.ts +6 -0
  140. package/dist/shared/pages/LoginPage/plugin.d.ts.map +1 -0
  141. package/dist/shared/pages/ResetPasswordPage/components/index.d.ts +2 -0
  142. package/dist/shared/pages/ResetPasswordPage/components/index.d.ts.map +1 -0
  143. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +33 -0
  144. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -0
  145. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +32 -0
  146. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -0
  147. package/dist/shared/pages/ResetPasswordPage/index.d.ts +5 -0
  148. package/dist/shared/pages/ResetPasswordPage/index.d.ts.map +1 -0
  149. package/dist/shared/pages/ResetPasswordPage/locales/index.d.ts +3 -0
  150. package/dist/shared/pages/ResetPasswordPage/locales/index.d.ts.map +1 -0
  151. package/dist/shared/pages/index.d.ts +10 -0
  152. package/dist/shared/pages/index.d.ts.map +1 -0
  153. package/dist/tsconfig.tsbuildinfo +1 -1
  154. package/dist/typings/index.d.ts +8 -0
  155. package/dist/typings/index.d.ts.map +1 -0
  156. package/dist/ui/components/atoms/vc-badge/index.d.ts +56 -19
  157. package/dist/ui/components/atoms/vc-badge/index.d.ts.map +1 -1
  158. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +2 -2
  159. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -1
  160. package/dist/ui/components/atoms/vc-button/index.d.ts +103 -49
  161. package/dist/ui/components/atoms/vc-button/index.d.ts.map +1 -1
  162. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +17 -11
  163. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -1
  164. package/dist/ui/components/atoms/vc-card/index.d.ts +66 -44
  165. package/dist/ui/components/atoms/vc-card/index.d.ts.map +1 -1
  166. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts +8 -6
  167. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -1
  168. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +74 -48
  169. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -1
  170. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts +8 -5
  171. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  172. package/dist/ui/components/atoms/vc-col/index.d.ts +54 -19
  173. package/dist/ui/components/atoms/vc-col/index.d.ts.map +1 -1
  174. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts +7 -4
  175. package/dist/ui/components/atoms/vc-col/vc-col.vue.d.ts.map +1 -1
  176. package/dist/ui/components/atoms/vc-container/index.d.ts +56 -19
  177. package/dist/ui/components/atoms/vc-container/index.d.ts.map +1 -1
  178. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
  179. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -1
  180. package/dist/ui/components/atoms/vc-hint/index.d.ts +53 -8
  181. package/dist/ui/components/atoms/vc-hint/index.d.ts.map +1 -1
  182. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts +2 -2
  183. package/dist/ui/components/atoms/vc-hint/vc-hint.vue.d.ts.map +1 -1
  184. package/dist/ui/components/atoms/vc-icon/index.d.ts +4 -8
  185. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -1
  186. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +7 -4
  187. package/dist/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -1
  188. package/dist/ui/components/atoms/vc-image/index.d.ts +17 -23
  189. package/dist/ui/components/atoms/vc-image/index.d.ts.map +1 -1
  190. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +8 -5
  191. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -1
  192. package/dist/ui/components/atoms/vc-info-row/index.d.ts +10 -12
  193. package/dist/ui/components/atoms/vc-info-row/index.d.ts.map +1 -1
  194. package/dist/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts +7 -4
  195. package/dist/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts.map +1 -1
  196. package/dist/ui/components/atoms/vc-label/index.d.ts +56 -23
  197. package/dist/ui/components/atoms/vc-label/index.d.ts.map +1 -1
  198. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +8 -5
  199. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -1
  200. package/dist/ui/components/atoms/vc-link/index.d.ts +56 -20
  201. package/dist/ui/components/atoms/vc-link/index.d.ts.map +1 -1
  202. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts +2 -2
  203. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -1
  204. package/dist/ui/components/atoms/vc-loading/index.d.ts +1 -1
  205. package/dist/ui/components/atoms/vc-loading/index.d.ts.map +1 -1
  206. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts +1 -1
  207. package/dist/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -1
  208. package/dist/ui/components/atoms/vc-progress/index.d.ts +54 -27
  209. package/dist/ui/components/atoms/vc-progress/index.d.ts.map +1 -1
  210. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +6 -3
  211. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -1
  212. package/dist/ui/components/atoms/vc-row/index.d.ts +53 -8
  213. package/dist/ui/components/atoms/vc-row/index.d.ts.map +1 -1
  214. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts +2 -2
  215. package/dist/ui/components/atoms/vc-row/vc-row.vue.d.ts.map +1 -1
  216. package/dist/ui/components/atoms/vc-status/index.d.ts +61 -36
  217. package/dist/ui/components/atoms/vc-status/index.d.ts.map +1 -1
  218. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts +8 -5
  219. package/dist/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -1
  220. package/dist/ui/components/atoms/vc-status-icon/index.d.ts +1 -1
  221. package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -1
  222. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts +1 -1
  223. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts.map +1 -1
  224. package/dist/ui/components/atoms/vc-switch/index.d.ts +1 -1
  225. package/dist/ui/components/atoms/vc-switch/index.d.ts.map +1 -1
  226. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts +1 -1
  227. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts.map +1 -1
  228. package/dist/ui/components/atoms/vc-widget/index.d.ts +1 -1
  229. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +1 -1
  230. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -1
  231. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -1
  232. package/dist/ui/components/index.d.ts +2 -0
  233. package/dist/ui/components/index.d.ts.map +1 -1
  234. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +3 -3
  235. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts.map +1 -1
  236. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts +1 -3
  237. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts.map +1 -1
  238. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +6 -3
  239. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -1
  240. package/dist/ui/components/molecules/vc-code-editor/index.d.ts +79 -65
  241. package/dist/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -1
  242. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +7 -4
  243. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -1
  244. package/dist/ui/components/molecules/vc-editor/index.d.ts +80 -69
  245. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -1
  246. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +7 -4
  247. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  248. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +77 -65
  249. package/dist/ui/components/molecules/vc-file-upload/index.d.ts.map +1 -1
  250. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +7 -4
  251. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -1
  252. package/dist/ui/components/molecules/vc-form/index.d.ts +53 -8
  253. package/dist/ui/components/molecules/vc-form/index.d.ts.map +1 -1
  254. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts +2 -2
  255. package/dist/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -1
  256. package/dist/ui/components/molecules/vc-input/index.d.ts +116 -128
  257. package/dist/ui/components/molecules/vc-input/index.d.ts.map +1 -1
  258. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +17 -13
  259. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -1
  260. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +125 -137
  261. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
  262. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +9 -8
  263. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
  264. package/dist/ui/components/molecules/vc-notification/index.d.ts +1 -1
  265. package/dist/ui/components/molecules/vc-notification/index.d.ts.map +1 -1
  266. package/dist/ui/components/molecules/vc-notification/vc-notification.vue.d.ts +1 -1
  267. package/dist/ui/components/molecules/vc-notification/vc-notification.vue.d.ts.map +1 -1
  268. package/dist/ui/components/molecules/vc-pagination/index.d.ts +7 -11
  269. package/dist/ui/components/molecules/vc-pagination/index.d.ts.map +1 -1
  270. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +6 -3
  271. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -1
  272. package/dist/ui/components/molecules/vc-rating/index.d.ts +73 -55
  273. package/dist/ui/components/molecules/vc-rating/index.d.ts.map +1 -1
  274. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +8 -5
  275. package/dist/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -1
  276. package/dist/ui/components/molecules/vc-select/index.d.ts +188 -584
  277. package/dist/ui/components/molecules/vc-select/index.d.ts.map +1 -1
  278. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +643 -119
  279. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  280. package/dist/ui/components/molecules/vc-slider/index.d.ts +70 -55
  281. package/dist/ui/components/molecules/vc-slider/index.d.ts.map +1 -1
  282. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +10 -7
  283. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -1
  284. package/dist/ui/components/molecules/vc-textarea/index.d.ts +80 -68
  285. package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +1 -1
  286. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +7 -4
  287. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
  288. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +21 -7
  289. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  290. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +8 -17
  291. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts.map +1 -1
  292. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +20 -37
  293. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts.map +1 -1
  294. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +20 -13
  295. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -1
  296. package/dist/ui/components/organisms/vc-app/index.d.ts +138 -160
  297. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  298. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +23 -24
  299. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  300. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +4 -4
  301. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -1
  302. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +8 -5
  303. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
  304. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +7 -4
  305. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  306. package/dist/ui/components/organisms/vc-blade/index.d.ts +90 -129
  307. package/dist/ui/components/organisms/vc-blade/index.d.ts.map +1 -1
  308. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +11 -15
  309. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -1
  310. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts +3 -5
  311. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts.map +1 -1
  312. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +6 -3
  313. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  314. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +7 -4
  315. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -1
  316. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +18 -7
  317. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -1
  318. package/dist/ui/components/organisms/vc-gallery/index.d.ts +37 -52
  319. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -1
  320. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +8 -8
  321. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  322. package/dist/ui/components/organisms/vc-login-form/index.d.ts +62 -31
  323. package/dist/ui/components/organisms/vc-login-form/index.d.ts.map +1 -1
  324. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts +7 -4
  325. package/dist/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -1
  326. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts +32 -0
  327. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -0
  328. package/dist/ui/components/organisms/vc-notification-dropdown/index.d.ts +44 -0
  329. package/dist/ui/components/organisms/vc-notification-dropdown/index.d.ts.map +1 -0
  330. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts +22 -0
  331. package/dist/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue.d.ts.map +1 -0
  332. package/dist/ui/components/organisms/vc-notification-template/index.d.ts +135 -0
  333. package/dist/ui/components/organisms/vc-notification-template/index.d.ts.map +1 -0
  334. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts +24 -0
  335. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts.map +1 -0
  336. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts +17 -0
  337. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts.map +1 -0
  338. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts +20 -0
  339. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts.map +1 -0
  340. package/dist/ui/components/organisms/vc-popup/index.d.ts +87 -42
  341. package/dist/ui/components/organisms/vc-popup/index.d.ts.map +1 -1
  342. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +16 -6
  343. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -1
  344. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +1 -1
  345. package/dist/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -1
  346. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +6 -3
  347. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -1
  348. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +6 -3
  349. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -1
  350. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +10 -6
  351. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -1
  352. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +48 -47
  353. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  354. package/dist/ui/components/organisms/vc-table/index.d.ts +205 -661
  355. package/dist/ui/components/organisms/vc-table/index.d.ts.map +1 -1
  356. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +186 -135
  357. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  358. package/dist/ui/types/index.d.ts +2 -0
  359. package/dist/ui/types/index.d.ts.map +1 -1
  360. package/package.json +25 -22
  361. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -2
  362. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +5 -3
  363. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +26 -34
  364. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +104 -69
  365. package/shared/components/blade-navigation/index.ts +1 -12
  366. package/shared/components/blade-navigation/plugin.ts +33 -0
  367. package/shared/components/blade-navigation/types/index.ts +59 -36
  368. package/shared/components/change-password/change-password.vue +167 -0
  369. package/shared/components/change-password/index.ts +10 -0
  370. package/{core/plugins → shared/components}/error-interceptor/interceptor.ts +1 -1
  371. package/shared/components/index.ts +8 -0
  372. package/shared/components/language-selector/index.ts +10 -0
  373. package/shared/components/language-selector/language-selector.vue +60 -0
  374. package/shared/components/notifications/composables/useContainer/index.ts +2 -2
  375. package/shared/components/notifications/core/notification.ts +3 -3
  376. package/shared/components/notifications/index.ts +0 -11
  377. package/shared/components/notifications/types/index.ts +4 -1
  378. package/shared/components/popup-handler/components/index.ts +1 -0
  379. package/shared/components/popup-handler/components/vc-popup-container/index.ts +3 -0
  380. package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +25 -0
  381. package/shared/components/popup-handler/composables/index.ts +1 -0
  382. package/shared/components/popup-handler/composables/usePopup/index.ts +129 -0
  383. package/shared/components/popup-handler/index.ts +19 -0
  384. package/shared/components/popup-handler/plugin.ts +24 -0
  385. package/shared/components/popup-handler/types/index.ts +28 -0
  386. package/shared/components/popup-handler/utils/index.ts +9 -0
  387. package/shared/components/user-dropdown-button/index.ts +10 -0
  388. package/shared/components/user-dropdown-button/user-dropdown-button.vue +124 -0
  389. package/shared/index.ts +14 -8
  390. package/shared/locales/en.json +35 -0
  391. package/shared/locales/index.ts +2 -0
  392. package/shared/modules/assets/components/assets-details/assets-details.vue +12 -16
  393. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +32 -35
  394. package/shared/modules/index.ts +2 -0
  395. package/shared/pages/InvitePage/components/index.ts +1 -0
  396. package/shared/pages/InvitePage/components/invite/Invite.vue +172 -0
  397. package/shared/pages/InvitePage/components/invite/index.ts +3 -0
  398. package/shared/pages/InvitePage/index.ts +7 -0
  399. package/shared/pages/InvitePage/locales/en.json +31 -0
  400. package/shared/pages/InvitePage/locales/index.ts +2 -0
  401. package/shared/pages/LoginPage/components/index.ts +1 -0
  402. package/shared/pages/LoginPage/components/login/Login.vue +283 -0
  403. package/shared/pages/LoginPage/components/login/index.ts +3 -0
  404. package/shared/pages/LoginPage/index.ts +2 -0
  405. package/shared/pages/LoginPage/locales/en.json +36 -0
  406. package/shared/pages/LoginPage/locales/index.ts +2 -0
  407. package/shared/pages/LoginPage/plugin.ts +17 -0
  408. package/shared/pages/ResetPasswordPage/components/index.ts +1 -0
  409. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +166 -0
  410. package/shared/pages/ResetPasswordPage/components/reset-password/index.ts +3 -0
  411. package/shared/pages/ResetPasswordPage/index.ts +7 -0
  412. package/shared/pages/ResetPasswordPage/locales/en.json +28 -0
  413. package/shared/pages/ResetPasswordPage/locales/index.ts +2 -0
  414. package/shared/pages/index.ts +12 -0
  415. package/ui/components/atoms/vc-button/vc-button.vue +110 -144
  416. package/ui/components/atoms/vc-card/vc-card.vue +2 -2
  417. package/ui/components/atoms/vc-info-row/vc-info-row.vue +2 -2
  418. package/ui/components/atoms/vc-label/vc-label.vue +1 -1
  419. package/ui/components/atoms/vc-loading/vc-loading.vue +1 -1
  420. package/ui/components/atoms/vc-switch/vc-switch.vue +1 -1
  421. package/ui/components/index.ts +2 -0
  422. package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +3 -3
  423. package/ui/components/molecules/vc-editor/vc-editor.vue +3 -3
  424. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +2 -2
  425. package/ui/components/molecules/vc-input/vc-input.vue +17 -17
  426. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +8 -8
  427. package/ui/components/molecules/vc-notification/vc-notification.vue +1 -1
  428. package/ui/components/molecules/vc-rating/vc-rating.vue +1 -1
  429. package/ui/components/molecules/vc-select/index.ts +1 -86
  430. package/ui/components/molecules/vc-select/vc-select.stories.ts +1 -1
  431. package/ui/components/molecules/vc-select/vc-select.vue +276 -198
  432. package/ui/components/molecules/vc-slider/vc-slider.vue +3 -3
  433. package/ui/components/molecules/vc-textarea/vc-textarea.vue +2 -2
  434. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +21 -16
  435. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +5 -9
  436. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +21 -31
  437. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +22 -16
  438. package/ui/components/organisms/vc-app/vc-app.vue +24 -24
  439. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +10 -13
  440. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +4 -4
  441. package/ui/components/organisms/vc-blade/vc-blade.vue +32 -47
  442. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +84 -84
  443. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +3 -3
  444. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +9 -3
  445. package/ui/components/organisms/vc-gallery/vc-gallery.vue +27 -23
  446. package/ui/components/organisms/vc-login-form/vc-login-form.stories.ts +1 -1
  447. package/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue +63 -0
  448. package/ui/components/organisms/vc-notification-dropdown/index.ts +3 -0
  449. package/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue +125 -0
  450. package/ui/components/organisms/vc-notification-template/index.ts +3 -0
  451. package/ui/components/organisms/vc-notification-template/vc-notification-template.vue +33 -0
  452. package/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue +28 -0
  453. package/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue +33 -0
  454. package/ui/components/organisms/vc-popup/vc-popup.vue +62 -7
  455. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +6 -6
  456. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +10 -13
  457. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +27 -24
  458. package/ui/components/organisms/vc-table/index.ts +1 -17
  459. package/ui/components/organisms/vc-table/vc-table.stories.ts +1 -1
  460. package/ui/components/organisms/vc-table/vc-table.vue +163 -148
  461. package/ui/locales/en.json +21 -10
  462. package/ui/types/index.ts +2 -0
  463. package/core/directives/click-outside/index.ts +0 -21
  464. package/dist/core/directives/click-outside/index.d.ts +0 -3
  465. package/dist/core/directives/click-outside/index.d.ts.map +0 -1
  466. package/dist/core/plugins/error-interceptor/index.d.ts.map +0 -1
  467. package/dist/core/plugins/error-interceptor/interceptor.d.ts.map +0 -1
  468. /package/{core/plugins → shared/components}/error-interceptor/index.ts +0 -0
@@ -0,0 +1,167 @@
1
+ <template>
2
+ <VcPopup
3
+ variant="small"
4
+ :title="$t('COMPONENTS.CHANGE_PASSWORD.TITLE')"
5
+ @close="$emit('close')"
6
+ >
7
+ <div class="tw-p-3">
8
+ <VcForm>
9
+ <Field
10
+ v-slot="{ field, errorMessage, errors }"
11
+ :label="$t('COMPONENTS.CHANGE_PASSWORD.CURRENT_PASSWORD.LABEL')"
12
+ name="current"
13
+ rules="required|min:6"
14
+ :model-value="form.currentPassword"
15
+ >
16
+ <VcInput
17
+ v-bind="field"
18
+ ref="passwordField"
19
+ v-model="form.currentPassword"
20
+ class="tw-mb-4 tw-mt-1"
21
+ :label="$t('COMPONENTS.CHANGE_PASSWORD.CURRENT_PASSWORD.LABEL')"
22
+ :placeholder="$t('COMPONENTS.CHANGE_PASSWORD.CURRENT_PASSWORD.PLACEHOLDER')"
23
+ type="password"
24
+ required
25
+ :error="!!errors.length"
26
+ :error-message="errorMessage"
27
+ @update:model-value="validate"
28
+ ></VcInput>
29
+ </Field>
30
+ <Field
31
+ v-slot="{ field, errorMessage, errors }"
32
+ :label="$t('COMPONENTS.CHANGE_PASSWORD.NEW_PASSWORD.LABEL')"
33
+ name="new_pass"
34
+ rules="required|min:6"
35
+ :model-value="form.password"
36
+ >
37
+ <VcInput
38
+ v-bind="field"
39
+ ref="newPasswordField"
40
+ v-model="form.password"
41
+ class="tw-mb-4 tw-mt-1"
42
+ :label="$t('COMPONENTS.CHANGE_PASSWORD.NEW_PASSWORD.LABEL')"
43
+ :placeholder="$t('COMPONENTS.CHANGE_PASSWORD.NEW_PASSWORD.PLACEHOLDER')"
44
+ type="password"
45
+ required
46
+ :error="!!errors.length"
47
+ :error-message="errorMessage"
48
+ @update:model-value="validate"
49
+ ></VcInput>
50
+ </Field>
51
+ <Field
52
+ v-slot="{ field, errorMessage, errors }"
53
+ :label="$t('COMPONENTS.CHANGE_PASSWORD.CONFIRM_PASSWORD.LABEL')"
54
+ name="confirm_pass"
55
+ rules="required|min:6"
56
+ :model-value="form.confirmPassword"
57
+ >
58
+ <VcInput
59
+ v-bind="field"
60
+ ref="confirmPasswordField"
61
+ v-model="form.confirmPassword"
62
+ class="tw-mb-4"
63
+ :label="$t('COMPONENTS.CHANGE_PASSWORD.CONFIRM_PASSWORD.LABEL')"
64
+ :placeholder="$t('COMPONENTS.CHANGE_PASSWORD.CONFIRM_PASSWORD.PLACEHOLDER')"
65
+ type="password"
66
+ required
67
+ :error="!!errors.length"
68
+ :error-message="errorMessage"
69
+ @update:model-value="validate"
70
+ ></VcInput>
71
+ </Field>
72
+ <div class="tw-flex tw-justify-center tw-items-center tw-pt-2">
73
+ <span
74
+ v-if="$isDesktop.value"
75
+ class="tw-grow tw-basis-0"
76
+ ></span>
77
+ <VcButton
78
+ :outline="true"
79
+ class="tw-mr-3"
80
+ @click="$emit('close')"
81
+ >
82
+ {{ $t("COMPONENTS.CHANGE_PASSWORD.CANCEL") }}
83
+ </VcButton>
84
+ <VcButton
85
+ :disabled="loading || !form.isValid || isDisabled"
86
+ @click="changePassword"
87
+ >
88
+ {{ $t("COMPONENTS.CHANGE_PASSWORD.SAVE") }}
89
+ </VcButton>
90
+ </div>
91
+
92
+ <VcHint
93
+ v-for="(err, i) in form.errors"
94
+ :key="i"
95
+ class="tw-mt-3 !tw-text-[#f14e4e]"
96
+ >
97
+ <!-- TODO: stylizing-->
98
+ {{
99
+ (err as IIdentityError).code ? $t(`COMPONENTS.CHANGE_PASSWORD.ERRORS.${(err as IIdentityError).code}`) : err
100
+ }}
101
+ </VcHint>
102
+ </VcForm>
103
+ </div>
104
+ </VcPopup>
105
+ </template>
106
+
107
+ <script lang="ts" setup>
108
+ import { nextTick, reactive, computed } from "vue";
109
+ import { useIsFormValid, Field, useIsFormDirty, useForm } from "vee-validate";
110
+ import { VcInput, VcHint, VcButton, VcPopup, VcForm } from "./../../../ui/components";
111
+ import { IIdentityError } from "./../../../core/api";
112
+ import { useUser } from "./../../../core/composables/useUser";
113
+
114
+ interface IChangePassForm {
115
+ isValid: boolean;
116
+ errors: IIdentityError[] | string[];
117
+ currentPassword: string;
118
+ password: string;
119
+ confirmPassword: string;
120
+ }
121
+
122
+ interface Emits {
123
+ (event: "close"): void;
124
+ }
125
+
126
+ const emit = defineEmits<Emits>();
127
+ const { changeUserPassword, loading, validatePassword } = useUser();
128
+ useForm({ validateOnMount: false });
129
+ const isValid = useIsFormValid();
130
+ const isDirty = useIsFormDirty();
131
+ const form = reactive<IChangePassForm>({
132
+ isValid: false,
133
+ errors: [],
134
+ currentPassword: "",
135
+ password: "",
136
+ confirmPassword: "",
137
+ });
138
+
139
+ const isDisabled = computed(() => {
140
+ return !isDirty.value || !isValid.value;
141
+ });
142
+
143
+ async function changePassword() {
144
+ const result = await changeUserPassword(form.currentPassword, form.password);
145
+ if (result.succeeded) {
146
+ emit("close");
147
+ } else {
148
+ form.errors = result.errors;
149
+ form.isValid = form.errors.length == 0;
150
+ }
151
+ }
152
+
153
+ function validate() {
154
+ nextTick(async () => {
155
+ if (form.password || form.confirmPassword) {
156
+ form.errors = (await validatePassword(form.password)).errors;
157
+ if (form.confirmPassword !== form.password) {
158
+ (form.errors as IIdentityError[]).push({ code: "Repeat-password" });
159
+ }
160
+ if (form.confirmPassword === form.currentPassword && form.password === form.currentPassword) {
161
+ (form.errors as IIdentityError[]).push({ code: "Equal-passwords" });
162
+ }
163
+ form.isValid = form.errors.length == 0;
164
+ }
165
+ });
166
+ }
167
+ </script>
@@ -0,0 +1,10 @@
1
+ import _ChangePassword from "./change-password.vue";
2
+
3
+ export const ChangePassword = _ChangePassword as typeof _ChangePassword;
4
+
5
+ // Declare globally
6
+ declare module "@vue/runtime-core" {
7
+ export interface GlobalComponents {
8
+ ChangePassword: typeof ChangePassword;
9
+ }
10
+ }
@@ -1,4 +1,4 @@
1
- import { useErrorHandler } from "./../../composables";
1
+ import { useErrorHandler } from "./../../../core/composables";
2
2
  import { SetupContext, defineComponent, VNode } from "vue";
3
3
 
4
4
  export interface Props {
@@ -0,0 +1,8 @@
1
+ export * from "./app-switcher";
2
+ export * from "./blade-navigation";
3
+ export * from "./notifications";
4
+ export * from "./error-interceptor";
5
+ export * from "./popup-handler";
6
+ export * from "./change-password";
7
+ export * from "./language-selector";
8
+ export * from "./user-dropdown-button";
@@ -0,0 +1,10 @@
1
+ import _LanguageSelector from "./language-selector.vue";
2
+
3
+ export const LanguageSelector = _LanguageSelector as typeof _LanguageSelector;
4
+
5
+ // Declare globally
6
+ declare module "@vue/runtime-core" {
7
+ export interface GlobalComponents {
8
+ LanguageSelector: typeof LanguageSelector;
9
+ }
10
+ }
@@ -0,0 +1,60 @@
1
+ <template>
2
+ <div
3
+ v-on-click-outside="
4
+ () => {
5
+ isDropActive = false;
6
+ }
7
+ "
8
+ class="tw-relative"
9
+ :title="title"
10
+ @click.stop="isDropActive = !isDropActive"
11
+ >
12
+ <div
13
+ :class="[
14
+ {
15
+ 'tw-shadow-[0_-6px_6px_white,1px_1px_22px_rgba(126,142,157,0.2)] [clip-path:inset(0px_-20px_0px_-20px)] tw-bg-white tw-z-[10000]':
16
+ isDropActive,
17
+ },
18
+ 'tw-relative tw-h-full tw-flex tw-items-center tw-justify-center tw-w-[var(--app-bar-button-width)] tw-border-l tw-border-solid tw-border-l-[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)]',
19
+ ]"
20
+ >
21
+ <VcIcon
22
+ icon="fas fa-globe"
23
+ size="xl"
24
+ ></VcIcon>
25
+ </div>
26
+ <div
27
+ v-if="isDropActive"
28
+ class="tw-absolute tw-right-0 tw-top-[var(--app-bar-height)] tw-bg-white tw-shadow-[0_-6px_6px_white,1px_1px_22px_rgba(126,142,157,0.2)] tw-w-min tw-z-[10000]"
29
+ >
30
+ <div
31
+ v-for="(lang, i) in languageItems"
32
+ :key="i"
33
+ class="tw-p-3 tw-text-lg tw-text-black tw-border-l tw-border-solid tw-border-l-[#eef0f2] tw-border-b tw-border-b-[#eef0f2] tw-white tw-cursor-pointer hover:tw-bg-[#eff7fc]"
34
+ @click="lang.hasOwnProperty('clickHandler') && lang.clickHandler(lang.lang)"
35
+ >
36
+ {{ lang.title }}
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </template>
41
+
42
+ <script lang="ts" setup>
43
+ import { VcIcon } from "./../../../ui/components";
44
+ import { ref } from "vue";
45
+ import { vOnClickOutside } from "@vueuse/components";
46
+
47
+ export interface Props {
48
+ title: string;
49
+ value: string;
50
+ languageItems: { lang: string; title: string; clickHandler: (lang: string) => void }[];
51
+ }
52
+
53
+ withDefaults(defineProps<Props>(), {
54
+ title: "",
55
+ value: "",
56
+ languageItems: () => [],
57
+ });
58
+
59
+ const isDropActive = ref(false);
60
+ </script>
@@ -114,7 +114,7 @@ export function useContainer(): IUseContainer {
114
114
  nextTick(() => {
115
115
  notificationContainer.value?.push(options);
116
116
  if (options.onOpen && typeof options?.onOpen === "function") {
117
- options.onOpen(options.payload ?? {});
117
+ options.onOpen(options.payload);
118
118
  }
119
119
  });
120
120
  }
@@ -136,7 +136,7 @@ export function useContainer(): IUseContainer {
136
136
 
137
137
  nextTick(() => {
138
138
  if (notification?.onClose && typeof notification?.onClose === "function") {
139
- notification.onClose(notification.payload ?? {});
139
+ notification.onClose(notification.payload);
140
140
  notification = undefined;
141
141
  }
142
142
  });
@@ -1,5 +1,5 @@
1
1
  import { mergeProps } from "vue";
2
- import { NotificationOptions } from "../types";
2
+ import { InternalNotificationOptions, NotificationOptions } from "../types";
3
3
  import { useContainer } from "../composables";
4
4
 
5
5
  const {
@@ -18,7 +18,7 @@ function checkPending(limit?: number) {
18
18
  return limitCount > 0 && visibleCount + pending.items.length >= limitCount;
19
19
  }
20
20
 
21
- function resolvePending(options) {
21
+ function resolvePending(options: InternalNotificationOptions) {
22
22
  if (checkPending(options.limit)) {
23
23
  pending.items.push({
24
24
  notificationId: options.notificationId,
@@ -27,7 +27,7 @@ function resolvePending(options) {
27
27
  }
28
28
  }
29
29
 
30
- function showNotification(content: string, options: NotificationOptions) {
30
+ function showNotification(content: string, options: InternalNotificationOptions) {
31
31
  options = mergeProps(defaultOptions as Record<string, unknown>, options as Record<string, unknown>);
32
32
 
33
33
  if (
@@ -1,16 +1,5 @@
1
- import * as components from "./components";
2
- import { createModule } from "../../../core/plugins";
3
1
  import "./styles/index.scss";
4
2
 
5
- // Declare globally
6
- declare module "@vue/runtime-core" {
7
- export interface GlobalComponents {
8
- VcNotificationContainer: (typeof components)["NotificationContainer"];
9
- }
10
- }
11
-
12
- export const VcNotificationComponent = createModule(components);
13
-
14
3
  export * from "./components";
15
4
  export * from "./composables";
16
5
  export * from "./types";
@@ -7,10 +7,13 @@ export interface NotificationOptions {
7
7
  content?: string;
8
8
  notificationId?: number | string;
9
9
  type?: NotificationType;
10
- closeNotification?(): void;
11
10
  onOpen?: <T>(payload: T) => void;
12
11
  onClose?: <T>(payload: T) => void;
13
12
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
13
  payload?: string | Record<string, any>;
15
14
  updateId?: string | number;
16
15
  }
16
+
17
+ export interface InternalNotificationOptions extends NotificationOptions {
18
+ closeNotification?(): void;
19
+ }
@@ -0,0 +1 @@
1
+ export * from "./vc-popup-container";
@@ -0,0 +1,3 @@
1
+ import _PopupContainer from "./vc-popup-container.vue";
2
+
3
+ export const VcPopupContainer = _PopupContainer as typeof _PopupContainer;
@@ -0,0 +1,25 @@
1
+ <template>
2
+ <component
3
+ :is="popup.component"
4
+ v-for="popup in popupPlugin.popups"
5
+ :key="popup.id"
6
+ v-bind="{ ...popup.props, ...popup.emits }"
7
+ @close="() => popup.close()"
8
+ >
9
+ <template
10
+ v-for="(slot, key) in popup.slots"
11
+ :key="key"
12
+ >
13
+ <div v-if="typeof slot === 'string'">{{ slot }}</div>
14
+ <component
15
+ :is="slot"
16
+ v-else
17
+ ></component>
18
+ </template>
19
+ </component>
20
+ </template>
21
+
22
+ <script setup lang="ts">
23
+ import { getPopupPlugin } from "./../../utils";
24
+ const popupPlugin = getPopupPlugin();
25
+ </script>
@@ -0,0 +1 @@
1
+ export { usePopup } from "./usePopup";
@@ -0,0 +1,129 @@
1
+ import { VcPopup } from "./../../../../../ui/components";
2
+ import { markRaw, getCurrentInstance, inject, reactive, shallowRef, nextTick, Ref } from "vue";
3
+ import { UsePopupInternal, UsePopupProps } from "./../../types";
4
+ import { popupPluginInstance } from "./../../plugin";
5
+ import { useI18n } from "vue-i18n";
6
+
7
+ interface IUsePopup {
8
+ open(): void;
9
+ close(): void;
10
+ showConfirmation(message: string | Ref<string>): Promise<boolean>;
11
+ showError(message: string | Ref<string>): void;
12
+ }
13
+
14
+ export function usePopup<T = InstanceType<typeof VcPopup>["$props"]>(props?: UsePopupProps<T>): IUsePopup {
15
+ const { t } = useI18n({ useScope: "global" });
16
+ const instance = getCurrentInstance();
17
+ const popupInstance = (instance && inject("popupPlugin")) || popupPluginInstance;
18
+ const rawPopup = createInstance(props);
19
+
20
+ async function open(customInstance?: UsePopupProps<unknown>) {
21
+ let activeInstance;
22
+ await nextTick();
23
+ if (popupInstance) {
24
+ activeInstance = popupInstance;
25
+ }
26
+
27
+ activeInstance.popups.push(rawPopup || customInstance);
28
+ }
29
+
30
+ function close(customInstance?: UsePopupProps<unknown>) {
31
+ let activeInstance;
32
+ if (popupInstance) {
33
+ activeInstance = popupInstance;
34
+ }
35
+ const index = activeInstance.popups.indexOf(rawPopup || customInstance);
36
+ if (index !== -1) activeInstance.popups.splice(index, 1);
37
+ }
38
+
39
+ async function showConfirmation(message: string | Ref<string>): Promise<boolean> {
40
+ let resolvePromise;
41
+ const confirmation = createInstance({
42
+ component: VcPopup,
43
+ props: {
44
+ type: "warning",
45
+ variant: "small",
46
+ title: t("COMPONENTS.ORGANISMS.VC_POPUP.TITLE.CONFIRMATION"),
47
+ },
48
+ emits: {
49
+ onClose() {
50
+ resolvePromise(false);
51
+ close(confirmation);
52
+ },
53
+ onConfirm() {
54
+ resolvePromise(true);
55
+ close(confirmation);
56
+ },
57
+ },
58
+ slots: {
59
+ default: message,
60
+ },
61
+ });
62
+
63
+ popupInstance.popups.push(confirmation);
64
+
65
+ return new Promise((resolve) => {
66
+ resolvePromise = resolve;
67
+ });
68
+ }
69
+
70
+ function showError(message: string | Ref<string>) {
71
+ const confirmation = createInstance({
72
+ component: VcPopup,
73
+ props: {
74
+ type: "error",
75
+ variant: "small",
76
+ title: t("COMPONENTS.ORGANISMS.VC_POPUP.TITLE.ERROR"),
77
+ },
78
+ emits: {
79
+ onClose() {
80
+ close(confirmation);
81
+ },
82
+ },
83
+ slots: {
84
+ default: message,
85
+ },
86
+ });
87
+
88
+ popupInstance.popups.push(confirmation);
89
+ }
90
+
91
+ function createInstance<T>(props: UsePopupProps<T>) {
92
+ return (
93
+ props &&
94
+ (reactive({
95
+ id: Symbol("usePopup"),
96
+ ...createComponent(props),
97
+ close: close,
98
+ open: open,
99
+ }) as UsePopupProps<unknown> & UsePopupInternal)
100
+ );
101
+ }
102
+
103
+ return {
104
+ open,
105
+ close,
106
+ showConfirmation,
107
+ showError,
108
+ };
109
+ }
110
+
111
+ function createComponent<T>(props: UsePopupProps<T>) {
112
+ const slots =
113
+ typeof props.slots === "undefined"
114
+ ? {}
115
+ : Object.fromEntries(
116
+ Object.entries(props.slots).map(([slotName, slotContent]) => {
117
+ if (typeof slotContent === "string") {
118
+ return [slotName, slotContent];
119
+ }
120
+ return [slotName, markRaw(slotContent)];
121
+ })
122
+ );
123
+
124
+ return {
125
+ ...props,
126
+ slots,
127
+ component: markRaw(shallowRef(props.component)),
128
+ };
129
+ }
@@ -0,0 +1,19 @@
1
+ import * as components from "./components";
2
+ import { PopupPlugin } from "./types";
3
+
4
+ // Declare globally
5
+ declare module "@vue/runtime-core" {
6
+ export interface GlobalComponents {
7
+ VcPopupContainer: (typeof components)["VcPopupContainer"];
8
+ }
9
+
10
+ export interface ComponentCustomProperties {
11
+ $popupPlugin: PopupPlugin;
12
+ }
13
+ }
14
+
15
+ export * from "./plugin";
16
+ export * from "./components";
17
+ export * from "./composables";
18
+ export * from "./types";
19
+ export * from "./utils";
@@ -0,0 +1,24 @@
1
+ import { App, shallowReactive } from "vue";
2
+ import * as components from "./components";
3
+ import { PopupPlugin, UsePopupProps, UsePopupInternal } from "./types";
4
+ import { createModule } from "./../../../core/plugins";
5
+
6
+ export let popupPluginInstance;
7
+
8
+ export const VcPopupHandler = {
9
+ install(app: App) {
10
+ // Register components
11
+ createModule(components).install(app);
12
+
13
+ // Plugin
14
+ const popups = shallowReactive<(UsePopupProps<unknown> & UsePopupInternal)[]>([]);
15
+
16
+ const popupPlugin: PopupPlugin = {
17
+ popups,
18
+ };
19
+
20
+ app.config.globalProperties.$popupPlugin = popupPlugin;
21
+ app.provide("popupPlugin", popupPlugin);
22
+ popupPluginInstance = popupPlugin;
23
+ },
24
+ };
@@ -0,0 +1,28 @@
1
+ import { Component, Slot as VueSlot } from "vue";
2
+
3
+ export type RawProps<T> = Omit<T, `on${string}`>;
4
+ export type RawEmits<T> = Pick<T, Extract<keyof T, `on${string}`>>;
5
+ export type Slot = string | Component | VueSlot;
6
+
7
+ export interface UsePopupInternal {
8
+ id: symbol;
9
+ open: () => void;
10
+ close: () => void;
11
+ }
12
+
13
+ export interface PopupPlugin {
14
+ popups: (UsePopupProps<unknown> & UsePopupInternal)[];
15
+ }
16
+
17
+ export interface ComponentPublicInstanceConstructor<T = unknown> {
18
+ new (...args: unknown[]): { $props: T };
19
+ }
20
+
21
+ export interface UsePopupProps<T> {
22
+ component: ComponentPublicInstanceConstructor<T>;
23
+ emits?: RawEmits<T>;
24
+ props?: RawProps<T>;
25
+ slots?: {
26
+ [key: string]: Slot;
27
+ };
28
+ }
@@ -0,0 +1,9 @@
1
+ import { getCurrentInstance, inject } from "vue";
2
+ import { PopupPlugin } from "../types";
3
+
4
+ export function getPopupPlugin() {
5
+ const instance = getCurrentInstance();
6
+ if (instance) {
7
+ return inject<PopupPlugin>("popupPlugin");
8
+ }
9
+ }
@@ -0,0 +1,10 @@
1
+ import _UserDropdownButton from "./user-dropdown-button.vue";
2
+
3
+ export const UserDropdownButton = _UserDropdownButton as typeof _UserDropdownButton;
4
+
5
+ // Declare globally
6
+ declare module "@vue/runtime-core" {
7
+ export interface GlobalComponents {
8
+ UserDropdownButton: typeof UserDropdownButton;
9
+ }
10
+ }