@vc-shell/framework 1.0.120 → 1.0.121

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 (349) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/core/api/platform.ts +8215 -8033
  3. package/core/composables/useApiClient/index.ts +2 -1
  4. package/core/composables/useAsync/index.ts +3 -3
  5. package/core/composables/useErrorHandler/index.ts +2 -2
  6. package/core/composables/useFunctions/debounce.ts +2 -1
  7. package/core/composables/useNotifications/index.ts +4 -5
  8. package/core/composables/usePermissions/index.ts +8 -12
  9. package/core/composables/useSettings/index.ts +1 -1
  10. package/core/composables/useUser/index.ts +21 -17
  11. package/core/plugins/modularity/index.ts +7 -3
  12. package/core/plugins/moment/humanize.ts +3 -3
  13. package/core/plugins/moment/moment.ts +3 -3
  14. package/core/plugins/validation/rules.ts +1 -1
  15. package/core/types/index.ts +20 -25
  16. package/dist/core/api/platform.d.ts +5 -5
  17. package/dist/core/api/platform.d.ts.map +1 -1
  18. package/dist/core/composables/useApiClient/index.d.ts.map +1 -1
  19. package/dist/core/composables/useAsync/index.d.ts +1 -1
  20. package/dist/core/composables/useAsync/index.d.ts.map +1 -1
  21. package/dist/core/composables/useErrorHandler/index.d.ts +1 -1
  22. package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
  23. package/dist/core/composables/useFunctions/debounce.d.ts +1 -1
  24. package/dist/core/composables/useFunctions/debounce.d.ts.map +1 -1
  25. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  26. package/dist/core/composables/usePermissions/index.d.ts +1 -1
  27. package/dist/core/composables/usePermissions/index.d.ts.map +1 -1
  28. package/dist/core/composables/useUser/index.d.ts +5 -5
  29. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  30. package/dist/core/plugins/modularity/index.d.ts +8 -6
  31. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  32. package/dist/core/plugins/moment/humanize.d.ts +1 -1
  33. package/dist/core/plugins/moment/humanize.d.ts.map +1 -1
  34. package/dist/core/plugins/moment/moment.d.ts.map +1 -1
  35. package/dist/core/types/index.d.ts +20 -19
  36. package/dist/core/types/index.d.ts.map +1 -1
  37. package/dist/framework.mjs +7866 -7825
  38. package/dist/index.css +1 -1
  39. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts +3 -3
  40. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +3 -3
  41. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +21 -21
  42. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +23 -22
  43. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  44. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +10 -10
  45. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  46. package/dist/shared/components/blade-navigation/types/index.d.ts +34 -18
  47. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  48. package/dist/shared/components/change-password/change-password.vue.d.ts +1 -1
  49. package/dist/shared/components/change-password/index.d.ts +1 -1
  50. package/dist/shared/components/error-interceptor/index.d.ts +35 -35
  51. package/dist/shared/components/error-interceptor/interceptor.d.ts +4 -4
  52. package/dist/shared/components/error-interceptor/interceptor.d.ts.map +1 -1
  53. package/dist/shared/components/language-selector/index.d.ts +7 -7
  54. package/dist/shared/components/language-selector/language-selector.vue.d.ts +3 -3
  55. package/dist/shared/components/notifications/components/notification-container/index.d.ts +9 -9
  56. package/dist/shared/components/notifications/composables/useContainer/index.d.ts +1 -1
  57. package/dist/shared/components/notifications/composables/useContainer/index.d.ts.map +1 -1
  58. package/dist/shared/components/notifications/core/notification.d.ts +4 -4
  59. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts +2 -1
  60. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts.map +1 -1
  61. package/dist/shared/components/popup-handler/types/index.d.ts +2 -7
  62. package/dist/shared/components/popup-handler/types/index.d.ts.map +1 -1
  63. package/dist/shared/components/popup-handler/utils/index.d.ts +1 -1
  64. package/dist/shared/components/popup-handler/utils/index.d.ts.map +1 -1
  65. package/dist/shared/components/user-dropdown-button/index.d.ts +5 -5
  66. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +3 -3
  67. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +3 -3
  68. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  69. package/dist/shared/modules/assets/components/assets-details/index.d.ts +1 -46
  70. package/dist/shared/modules/assets/components/assets-details/index.d.ts.map +1 -1
  71. package/dist/shared/modules/assets/index.d.ts +1 -1
  72. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +6 -6
  73. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +12 -12
  74. package/dist/shared/modules/assets-manager/index.d.ts +1 -1
  75. package/dist/shared/modules/dynamic/components/FIELD_MAP.d.ts +1 -2
  76. package/dist/shared/modules/dynamic/components/FIELD_MAP.d.ts.map +1 -1
  77. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +83 -82
  78. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts.map +1 -1
  79. package/dist/shared/modules/dynamic/components/factories.d.ts +15 -14
  80. package/dist/shared/modules/dynamic/components/factories.d.ts.map +1 -1
  81. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +39 -42
  82. package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
  83. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +39 -42
  84. package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
  85. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +39 -42
  86. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
  87. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +39 -42
  88. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
  89. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +39 -42
  90. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
  91. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +39 -42
  92. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
  93. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +39 -42
  94. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
  95. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +39 -42
  96. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
  97. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +39 -42
  98. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
  99. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +39 -42
  100. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
  101. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +39 -42
  102. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
  103. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +39 -42
  104. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
  105. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +39 -42
  106. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
  107. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +132 -0
  108. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -0
  109. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +39 -42
  110. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
  111. package/dist/shared/modules/dynamic/components/fields/props.d.ts +38 -41
  112. package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
  113. package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts +2 -2
  114. package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts.map +1 -1
  115. package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts +3 -3
  116. package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts.map +1 -1
  117. package/dist/shared/modules/dynamic/factories/types/index.d.ts +10 -11
  118. package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
  119. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts +1 -1
  120. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
  121. package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
  122. package/dist/shared/modules/dynamic/helpers/safeIn.d.ts +5 -0
  123. package/dist/shared/modules/dynamic/helpers/safeIn.d.ts.map +1 -0
  124. package/dist/shared/modules/dynamic/helpers/setters.d.ts +1 -0
  125. package/dist/shared/modules/dynamic/helpers/setters.d.ts.map +1 -1
  126. package/dist/shared/modules/dynamic/helpers/toolbarReducer.d.ts +1 -1
  127. package/dist/shared/modules/dynamic/helpers/toolbarReducer.d.ts.map +1 -1
  128. package/dist/shared/modules/dynamic/helpers/unwrapInterpolation.d.ts +1 -1
  129. package/dist/shared/modules/dynamic/helpers/unwrapInterpolation.d.ts.map +1 -1
  130. package/dist/shared/modules/dynamic/index.d.ts +7 -7
  131. package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
  132. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +30 -30
  133. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  134. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +11 -10
  135. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  136. package/dist/shared/modules/dynamic/types/index.d.ts +321 -17
  137. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  138. package/dist/shared/modules/dynamic/types/models.d.ts +7 -3
  139. package/dist/shared/modules/dynamic/types/models.d.ts.map +1 -1
  140. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +15 -28
  141. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  142. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +13 -17
  143. package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +1 -1
  144. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
  145. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +15 -28
  146. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  147. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +13 -17
  148. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -1
  149. package/dist/shared/utilities/assets.d.ts +3 -3
  150. package/dist/shared/utilities/assets.d.ts.map +1 -1
  151. package/dist/shared/utilities/vueUtils.d.ts +34 -0
  152. package/dist/shared/utilities/vueUtils.d.ts.map +1 -0
  153. package/dist/tsconfig.tsbuildinfo +1 -1
  154. package/dist/ui/components/atoms/vc-badge/index.d.ts +30 -30
  155. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +1 -1
  156. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +1 -1
  157. package/dist/ui/components/atoms/vc-card/index.d.ts +37 -37
  158. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts +2 -2
  159. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +49 -45
  160. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -1
  161. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts +2 -2
  162. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  163. package/dist/ui/components/atoms/vc-container/index.d.ts +33 -33
  164. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
  165. package/dist/ui/components/atoms/vc-hint/index.d.ts +22 -22
  166. package/dist/ui/components/atoms/vc-image/index.d.ts +10 -10
  167. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +2 -2
  168. package/dist/ui/components/atoms/vc-info-row/index.d.ts +4 -4
  169. package/dist/ui/components/atoms/vc-label/index.d.ts +26 -26
  170. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +1 -1
  171. package/dist/ui/components/atoms/vc-link/index.d.ts +29 -29
  172. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts +1 -1
  173. package/dist/ui/components/atoms/vc-progress/index.d.ts +43 -43
  174. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +1 -1
  175. package/dist/ui/components/atoms/vc-status-icon/index.d.ts +1 -9
  176. package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -1
  177. package/dist/ui/components/atoms/vc-switch/index.d.ts +1 -1
  178. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts +1 -1
  179. package/dist/ui/components/atoms/vc-video/index.d.ts +1 -19
  180. package/dist/ui/components/atoms/vc-video/index.d.ts.map +1 -1
  181. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts +1 -4
  182. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
  183. package/dist/ui/components/atoms/vc-widget/index.d.ts +1 -1
  184. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -1
  185. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +9 -9
  186. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts +8 -8
  187. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +4 -4
  188. package/dist/ui/components/molecules/vc-code-editor/index.d.ts +65 -75
  189. package/dist/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -1
  190. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +5 -16
  191. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -1
  192. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +6 -20
  193. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  194. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts +3 -3
  195. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
  196. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +2 -2
  197. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
  198. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +59 -59
  199. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +2 -2
  200. package/dist/ui/components/molecules/vc-form/index.d.ts +22 -22
  201. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +8 -8
  202. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +99 -99
  203. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
  204. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +8 -8
  205. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
  206. package/dist/ui/components/molecules/vc-multivalue/index.d.ts +70 -70
  207. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +70 -70
  208. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -1
  209. package/dist/ui/components/molecules/vc-notification/index.d.ts +1 -51
  210. package/dist/ui/components/molecules/vc-notification/index.d.ts.map +1 -1
  211. package/dist/ui/components/molecules/vc-pagination/index.d.ts +7 -7
  212. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +1 -1
  213. package/dist/ui/components/molecules/vc-rating/index.d.ts +25 -25
  214. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +80 -80
  215. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  216. package/dist/ui/components/molecules/vc-slider/index.d.ts +40 -40
  217. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +2 -2
  218. package/dist/ui/components/molecules/vc-textarea/index.d.ts +1 -230
  219. package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +1 -1
  220. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +6 -6
  221. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
  222. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +4 -7
  223. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  224. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +1 -1
  225. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +13 -13
  226. 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
  227. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +10 -10
  228. package/dist/ui/components/organisms/vc-app/index.d.ts +93 -92
  229. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  230. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +20 -21
  231. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  232. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +4 -4
  233. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +9 -9
  234. 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
  235. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +2 -2
  236. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  237. package/dist/ui/components/organisms/vc-blade/index.d.ts +70 -70
  238. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +5 -5
  239. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +67 -67
  240. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  241. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +15 -15
  242. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +3 -3
  243. package/dist/ui/components/organisms/vc-gallery/index.d.ts +24 -36
  244. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -1
  245. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +8 -10
  246. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  247. package/dist/ui/components/organisms/vc-login-form/index.d.ts +24 -24
  248. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts +1 -1
  249. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -1
  250. package/dist/ui/components/organisms/vc-notification-template/index.d.ts +1 -103
  251. package/dist/ui/components/organisms/vc-notification-template/index.d.ts.map +1 -1
  252. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts +2 -0
  253. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts.map +1 -1
  254. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts +1 -1
  255. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts +2 -2
  256. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +2 -2
  257. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +1 -1
  258. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +1 -1
  259. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +2 -2
  260. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +15 -15
  261. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  262. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +105 -105
  263. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  264. package/package.json +5 -5
  265. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -3
  266. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +1 -1
  267. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +7 -7
  268. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +80 -80
  269. package/shared/components/blade-navigation/types/index.ts +50 -18
  270. package/shared/components/change-password/change-password.vue +32 -5
  271. package/shared/components/error-interceptor/interceptor.ts +4 -4
  272. package/shared/components/notifications/composables/useContainer/index.ts +2 -2
  273. package/shared/components/notifications/composables/useInstance/index.ts +2 -2
  274. package/shared/components/notifications/core/notification.ts +2 -2
  275. package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +2 -2
  276. package/shared/components/popup-handler/composables/usePopup/index.ts +13 -6
  277. package/shared/components/popup-handler/types/index.ts +1 -7
  278. package/shared/components/user-dropdown-button/user-dropdown-button.vue +1 -1
  279. package/shared/modules/assets/components/assets-details/assets-details.vue +12 -6
  280. package/shared/modules/assets/components/assets-details/index.ts +1 -3
  281. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +10 -10
  282. package/shared/modules/dynamic/components/FIELD_MAP.ts +4 -2
  283. package/shared/modules/dynamic/components/SchemaRender.ts +2 -2
  284. package/shared/modules/dynamic/components/factories.ts +24 -13
  285. package/shared/modules/dynamic/components/fields/Button.ts +3 -3
  286. package/shared/modules/dynamic/components/fields/Card.ts +30 -15
  287. package/shared/modules/dynamic/components/fields/Checkbox.ts +2 -2
  288. package/shared/modules/dynamic/components/fields/ContentField.ts +2 -2
  289. package/shared/modules/dynamic/components/fields/DynamicProperty.ts +19 -9
  290. package/shared/modules/dynamic/components/fields/Fieldset.ts +7 -4
  291. package/shared/modules/dynamic/components/fields/GalleryField.ts +42 -22
  292. package/shared/modules/dynamic/components/fields/ImageField.ts +2 -2
  293. package/shared/modules/dynamic/components/fields/InputCurrency.ts +8 -4
  294. package/shared/modules/dynamic/components/fields/InputField.ts +9 -9
  295. package/shared/modules/dynamic/components/fields/SelectField.ts +6 -3
  296. package/shared/modules/dynamic/components/fields/StatusField.ts +3 -3
  297. package/shared/modules/dynamic/components/fields/TextareaField.ts +41 -0
  298. package/shared/modules/dynamic/components/fields/ValidationField.ts +9 -9
  299. package/shared/modules/dynamic/components/fields/VideoField.ts +2 -5
  300. package/shared/modules/dynamic/components/fields/props.ts +1 -2
  301. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +18 -10
  302. package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +7 -6
  303. package/shared/modules/dynamic/factories/base/useListFactory.ts +4 -4
  304. package/shared/modules/dynamic/factories/types/index.ts +11 -9
  305. package/shared/modules/dynamic/helpers/nodeBuilder.ts +53 -27
  306. package/shared/modules/dynamic/helpers/override.ts +14 -27
  307. package/shared/modules/dynamic/helpers/safeIn.ts +6 -0
  308. package/shared/modules/dynamic/helpers/setters.ts +11 -2
  309. package/shared/modules/dynamic/helpers/toolbarReducer.ts +3 -3
  310. package/shared/modules/dynamic/helpers/unwrapInterpolation.ts +2 -1
  311. package/shared/modules/dynamic/index.ts +38 -29
  312. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +33 -31
  313. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +45 -33
  314. package/shared/modules/dynamic/types/index.ts +323 -17
  315. package/shared/modules/dynamic/types/models.ts +11 -3
  316. package/shared/pages/InvitePage/components/invite/Invite.vue +17 -19
  317. package/shared/pages/LoginPage/components/login/Login.vue +6 -8
  318. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +17 -19
  319. package/shared/utilities/assets.ts +6 -4
  320. package/shared/utilities/vueUtils.ts +46 -0
  321. package/ui/components/atoms/vc-checkbox/vc-checkbox.vue +2 -2
  322. package/ui/components/atoms/vc-status-icon/index.ts +1 -3
  323. package/ui/components/atoms/vc-video/vc-video.vue +1 -14
  324. package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +1 -3
  325. package/ui/components/molecules/vc-editor/vc-editor.vue +13 -7
  326. package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +14 -5
  327. package/ui/components/molecules/vc-field/vc-field.vue +1 -1
  328. package/ui/components/molecules/vc-input/vc-input.vue +4 -4
  329. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +11 -11
  330. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -1
  331. package/ui/components/molecules/vc-notification/index.ts +1 -3
  332. package/ui/components/molecules/vc-notification/vc-notification.vue +6 -6
  333. package/ui/components/molecules/vc-select/vc-select.vue +6 -4
  334. package/ui/components/molecules/vc-textarea/index.ts +1 -10
  335. package/ui/components/molecules/vc-textarea/vc-textarea.vue +6 -1
  336. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +0 -1
  337. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +3 -3
  338. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +7 -7
  339. package/ui/components/organisms/vc-app/vc-app.vue +11 -19
  340. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +2 -2
  341. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +2 -2
  342. package/ui/components/organisms/vc-blade/vc-blade.vue +1 -1
  343. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +3 -3
  344. package/ui/components/organisms/vc-gallery/vc-gallery.vue +6 -7
  345. package/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue +1 -12
  346. package/ui/components/organisms/vc-notification-template/index.ts +1 -3
  347. package/ui/components/organisms/vc-notification-template/vc-notification-template.vue +35 -17
  348. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +6 -6
  349. package/ui/components/organisms/vc-table/vc-table.vue +12 -11
@@ -86,7 +86,7 @@
86
86
  class="tw-mt-3 !tw-text-[#f14e4e]"
87
87
  >
88
88
  <!-- TODO: stylizing-->
89
- {{ t(`PASSWORDRESET.ERRORS.${error}`) }}
89
+ {{ t(`PASSWORDRESET.ERRORS.${+error}`) }}
90
90
  </VcHint>
91
91
  </VcForm>
92
92
  </VcLoginForm>
@@ -100,26 +100,24 @@ import { Field, useForm } from "vee-validate";
100
100
  import { useUser } from "./../../../../../core/composables";
101
101
  import { useI18n } from "vue-i18n";
102
102
 
103
- const props = defineProps({
104
- userId: {
105
- type: String,
106
- default: undefined,
107
- },
108
- userName: {
109
- type: String,
110
- default: undefined,
111
- },
112
- token: {
113
- type: String,
114
- default: undefined,
115
- },
116
- });
103
+ const props = defineProps<{
104
+ userId: string;
105
+ userName: string;
106
+ token: string;
107
+ }>();
108
+
117
109
  const { validateToken, validatePassword, resetPasswordByToken, signIn, loading } = useUser();
118
110
  const router = useRouter();
119
111
  const { t } = useI18n({ useScope: "global" });
120
112
  const { validate: veeValidate } = useForm({ validateOnMount: false });
121
113
 
122
- const form = reactive({
114
+ const form = reactive<{
115
+ isValid: boolean;
116
+ tokenIsValid: boolean;
117
+ errors: string[];
118
+ password: string;
119
+ confirmPassword: string;
120
+ }>({
123
121
  isValid: false,
124
122
  tokenIsValid: false,
125
123
  errors: [],
@@ -141,7 +139,7 @@ const disableButton = computed(() => {
141
139
  const validate = async () => {
142
140
  if (form.tokenIsValid) {
143
141
  const errors = (await validatePassword(form.password)).errors;
144
- form.errors = errors.map((x) => x.code);
142
+ form.errors = errors?.map((x) => x.code) as string[];
145
143
  if (form.confirmPassword !== form.password) {
146
144
  form.errors.push("Repeat-password");
147
145
  }
@@ -158,10 +156,10 @@ const resetPassword = async () => {
158
156
  if (result.succeeded) {
159
157
  router.push("/");
160
158
  } else {
161
- form.errors = [result.errorCode];
159
+ form.errors = [result.errorCode as string];
162
160
  }
163
161
  } else {
164
- form.errors = result.errors;
162
+ form.errors = result.errors as string[];
165
163
  }
166
164
  }
167
165
  };
@@ -15,17 +15,19 @@ function getExtension(fileName: string) {
15
15
  return fileName.split(".").pop()?.toLowerCase();
16
16
  }
17
17
 
18
- function isImage(name: string) {
19
- return imageExtensions.has(getExtension(name));
18
+ function isImage(name: string | undefined) {
19
+ if (!name) return false;
20
+ return imageExtensions.has(getExtension(name) ?? "");
20
21
  }
21
22
 
22
- function getFileThumbnail(name: string) {
23
+ function getFileThumbnail(name: string | undefined) {
24
+ if (!name) return "fas fa-file";
23
25
  return (
24
26
  fileThumbnails.find((thumb) => thumb.extensions.some((ext) => ext === getExtension(name)))?.image || "fas fa-file"
25
27
  );
26
28
  }
27
29
 
28
- function readableSize(bytes: number, decimals = 2) {
30
+ function readableSize(bytes: number | undefined, decimals = 2) {
29
31
  if (!bytes) return "0 Bytes";
30
32
 
31
33
  const k = 1024;
@@ -0,0 +1,46 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* eslint-disable @typescript-eslint/ban-types */
3
+
4
+ import { ComponentPublicInstance, ComputedOptions, MethodOptions } from "vue";
5
+
6
+ type RemoveOnVnodePrefix<T> = {
7
+ [K in keyof T as K extends `onVnode${string}` ? never : K extends `on${infer Event}` ? Uncapitalize<Event> : K]: T[K];
8
+ };
9
+
10
+ type EmitsExtractor<T> = RemoveOnVnodePrefix<Pick<T, Extract<keyof T, `on${string}`>>>;
11
+
12
+ export type ComponentProps<T> = T extends new () => { $props: infer P }
13
+ ? NonNullable<P>
14
+ : T extends (props: infer P, ...args: any) => any
15
+ ? P
16
+ : {};
17
+
18
+ export type ComponentSlots<T> = T extends (...args: any) => any
19
+ ? ReturnType<T> extends { [x: string]: any; __ctx?: { [x: string]: any; slots: infer Slots } }
20
+ ? NonNullable<Slots>
21
+ : {}
22
+ : T extends new () => { $slots: infer S }
23
+ ? NonNullable<S>
24
+ : {};
25
+
26
+ export type ComponentEmit<T> = T extends (...args: any) => any
27
+ ? ReturnType<T> extends { [x: string]: any; __ctx?: { [x: string]: any; props: infer Props } }
28
+ ? EmitsExtractor<Props>
29
+ : {}
30
+ : T extends new () => { $props: infer Props }
31
+ ? EmitsExtractor<Props>
32
+ : never;
33
+
34
+ export type ComponentPublicInstanceConstructor<
35
+ T extends ComponentPublicInstance<Props, RawBindings, D, C, M> = ComponentPublicInstance<any>,
36
+ Props = any,
37
+ RawBindings = any,
38
+ D = any,
39
+ C extends ComputedOptions = ComputedOptions,
40
+ M extends MethodOptions = MethodOptions
41
+ > = {
42
+ __isFragment?: never;
43
+ __isTeleport?: never;
44
+ __isSuspense?: never;
45
+ new (...args: any[]): T;
46
+ };
@@ -54,7 +54,7 @@
54
54
  import { MaybeRef, computed, unref } from "vue";
55
55
  import { VcHint } from "./../vc-hint";
56
56
  export interface Props {
57
- modelValue?: MaybeRef<boolean>;
57
+ modelValue: MaybeRef<boolean>;
58
58
  disabled?: boolean;
59
59
  required?: boolean;
60
60
  name?: string;
@@ -81,7 +81,7 @@ const value = computed({
81
81
  get() {
82
82
  return unref(props.modelValue);
83
83
  },
84
- set(newValue: boolean) {
84
+ set(newValue) {
85
85
  emit("update:modelValue", newValue);
86
86
  },
87
87
  });
@@ -1,3 +1 @@
1
- import _StatusIcon from "./vc-status-icon.vue";
2
-
3
- export const VcStatusIcon = _StatusIcon as typeof _StatusIcon;
1
+ export { default as VcStatusIcon } from "./vc-status-icon.vue";
@@ -15,17 +15,7 @@
15
15
  >
16
16
  </VcLabel>
17
17
 
18
- <div
19
- :class="[
20
- `vc-video_auto`,
21
- {
22
- 'tw-rounded-full tw-pb-[var(--video-padding-bottom-1x1)]': rounded,
23
- 'tw-rounded-[3px] tw-border tw-border-solid tw-border-[color:#efefef]': bordered,
24
- 'tw-cursor-pointer': clickable,
25
- },
26
- 'tw-relative',
27
- ]"
28
- >
18
+ <div :class="[`vc-video_auto`, 'tw-relative']">
29
19
  <div v-if="source">
30
20
  <iframe
31
21
  :src="`${source}`"
@@ -56,9 +46,6 @@ import { VcIcon, VcLabel } from "./../../";
56
46
  export interface Props {
57
47
  label?: string;
58
48
  tooltip?: string;
59
- rounded?: boolean;
60
- bordered?: boolean;
61
- clickable?: boolean;
62
49
  source?: string;
63
50
  size?: "auto" | "xs" | "s" | "m" | "l" | "xl" | "xxl";
64
51
  }
@@ -62,9 +62,7 @@ export interface Emits {
62
62
  (event: "update:modelValue", value: string | number | Date | null | undefined): void;
63
63
  }
64
64
 
65
- const props = withDefaults(defineProps<Props>(), {
66
- modelValue: null,
67
- });
65
+ const props = defineProps<Props>();
68
66
 
69
67
  const emit = defineEmits<Emits>();
70
68
  const content = ref();
@@ -26,7 +26,7 @@
26
26
 
27
27
  <!-- Editor field -->
28
28
  <QuillEditor
29
- :key="disabled.toString()"
29
+ :key="disabled?.toString()"
30
30
  v-model:content="content"
31
31
  class="quill-editor tw-border tw-border-solid tw-border-[color:var(--editor-border-color)] tw-rounded-b-[var(--editor-border-radius)] tw-h-[200px]"
32
32
  :class="{ 'tw-bg-[#fafafa] tw-text-[#424242] tw-cursor-default': disabled }"
@@ -35,6 +35,7 @@
35
35
  :modules="modules"
36
36
  content-type="html"
37
37
  :read-only="disabled"
38
+ :placeholder="placeholder"
38
39
  @update:content="onInput"
39
40
  />
40
41
  <slot
@@ -47,12 +48,12 @@
47
48
  </slot>
48
49
  </div>
49
50
  </template>
50
-
51
+ <!-- eslint-disable @typescript-eslint/no-explicit-any -->
51
52
  <script lang="ts" setup>
52
53
  import { QuillEditor } from "@vueup/vue-quill";
53
54
  import "@vueup/vue-quill/dist/vue-quill.snow.css";
54
55
  import { useUser } from "./../../../../core/composables";
55
- import { ref, unref, watch } from "vue";
56
+ import { ref, unref, watch, onMounted } from "vue";
56
57
  import ImageUploader from "quill-image-uploader";
57
58
  import { VcLabel, VcHint } from "./../../";
58
59
 
@@ -75,10 +76,7 @@ export interface Emits {
75
76
 
76
77
  const { getAccessToken } = useUser();
77
78
 
78
- const props = withDefaults(defineProps<Props>(), {
79
- modelValue: null,
80
- disabled: false,
81
- });
79
+ const props = defineProps<Props>();
82
80
 
83
81
  const emit = defineEmits<Emits>();
84
82
 
@@ -131,6 +129,14 @@ const modules = {
131
129
  },
132
130
  };
133
131
 
132
+ onMounted(() => {
133
+ // fixes quill editor placeholder visibility issue when content is not empty
134
+ const editor = document.querySelector(".ql-editor.ql-blank");
135
+ if (editor && content.value) {
136
+ editor.classList.remove("ql-blank");
137
+ }
138
+ });
139
+
134
140
  watch(
135
141
  () => props.modelValue,
136
142
  (value) => {
@@ -1,9 +1,18 @@
1
1
  <template>
2
+ <!-- Normal -->
3
+ <template v-if="type === 'normal'">
4
+ <div class="tw-flex tw-flex-row tw-justify-stretch tw-truncate tw-mt-1">
5
+ <div class="tw-truncate">
6
+ <p>{{ value }}</p>
7
+ </div>
8
+ </div>
9
+ </template>
10
+
2
11
  <!-- Text -->
3
12
  <template v-if="type === 'text'">
4
13
  <div class="tw-flex tw-flex-row tw-justify-stretch tw-truncate">
5
14
  <div class="tw-truncate">
6
- <VcHint class="tw-text-s">{{ value }}</VcHint>
15
+ <VcHint class="!tw-text-s">{{ value }}</VcHint>
7
16
  </div>
8
17
  </div>
9
18
  </template>
@@ -12,7 +21,7 @@
12
21
  <template v-if="type === 'date'">
13
22
  <div class="tw-flex tw-flex-row tw-justify-stretch tw-truncate">
14
23
  <div class="tw-truncate">
15
- <VcHint class="tw-text-s"> {{ value.toLocaleDateString() }}</VcHint>
24
+ <VcHint class="!tw-text-s"> {{ value.toLocaleDateString() }}</VcHint>
16
25
  </div>
17
26
  </div>
18
27
  </template>
@@ -21,7 +30,7 @@
21
30
  <template v-if="type === 'date-ago'">
22
31
  <div class="tw-flex tw-flex-row tw-justify-stretch tw-truncate">
23
32
  <div class="tw-truncate">
24
- <VcHint class="tw-text-s"> {{ moment(value).fromNow() ?? "N/A" }}</VcHint>
33
+ <VcHint class="!tw-text-s"> {{ moment(value).fromNow() ?? "N/A" }}</VcHint>
25
34
  </div>
26
35
  </div>
27
36
  </template>
@@ -31,7 +40,7 @@
31
40
  <div class="tw-flex tw-flex-row tw-justify-stretch tw-truncate">
32
41
  <div class="tw-truncate">
33
42
  <VcLink
34
- class="vc-link tw-text-s tw-truncate tw-w-full"
43
+ class="vc-link !tw-text-s tw-truncate tw-w-full"
35
44
  @click="onLinkClick"
36
45
  >{{ value }}</VcLink
37
46
  >
@@ -45,7 +54,7 @@
45
54
  import moment from "moment";
46
55
 
47
56
  export interface Props {
48
- type: "text" | "date" | "date-ago" | "link";
57
+ type: "text" | "date" | "date-ago" | "link" | "normal";
49
58
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
59
  value: any;
51
60
  }
@@ -43,7 +43,7 @@ export interface Props {
43
43
  /**
44
44
  * Field type
45
45
  */
46
- type?: "text" | "date" | "date-ago" | "link";
46
+ type?: "text" | "normal" | "date" | "date-ago" | "link";
47
47
  /**
48
48
  * Field content
49
49
  */
@@ -284,11 +284,11 @@ defineSlots<{
284
284
  /**
285
285
  * Field is editable
286
286
  */
287
- editable: boolean;
287
+ editable: boolean | undefined;
288
288
  /**
289
289
  * Field has focus
290
290
  */
291
- focused: boolean;
291
+ focused: boolean | undefined;
292
292
  /**
293
293
  * Field's value
294
294
  */
@@ -371,13 +371,13 @@ function onInput(e: Event) {
371
371
  emitValue(newValue);
372
372
  }
373
373
 
374
- function emitValue(val: string) {
374
+ function emitValue(val: string | number | Date | null) {
375
375
  emitValueFn = () => {
376
376
  if (mutatedModel.value !== val) {
377
377
  let value;
378
378
  if (internalType.value === "datetime-local" || internalType.value === "date") {
379
379
  value = moment(val).toDate();
380
- } else if (internalType.value === "number") {
380
+ } else if (internalType.value === "number" && val !== null) {
381
381
  value = +val;
382
382
  } else {
383
383
  value = val;
@@ -55,10 +55,9 @@
55
55
 
56
56
  <script lang="ts" setup>
57
57
  import { useCurrencyInput, CurrencyDisplay } from "vue-currency-input";
58
- import { MaybeRef, unref, watch } from "vue";
58
+ import { unref, watch } from "vue";
59
59
  import { VcSelect, VcInput } from "./../../";
60
-
61
- export type OptionProp = ((option: string | Record<string, unknown>) => string) | string | undefined;
60
+ import { OptionProp } from "../vc-select/vc-select.vue";
62
61
 
63
62
  export interface Props {
64
63
  /**
@@ -147,14 +146,14 @@ export interface Props {
147
146
  * @param option The current option being processed
148
147
  * @returns Value of the current option
149
148
  */
150
- optionValue?: OptionProp;
149
+ optionValue?: OptionProp<unknown>;
151
150
  /**
152
151
  * Property of option which holds the 'label'
153
152
  * Default value: title
154
153
  * @param option The current option being processed
155
154
  * @returns Label of the current option
156
155
  */
157
- optionLabel?: OptionProp;
156
+ optionLabel?: OptionProp<unknown>;
158
157
  }
159
158
 
160
159
  export interface Emits {
@@ -183,12 +182,13 @@ const { inputRef, setOptions, numberValue } = useCurrencyInput(
183
182
  watch(
184
183
  () => props.option,
185
184
  (newVal) => {
186
- setOptions({
187
- locale: navigator.language,
188
- currency: newVal,
189
- currencyDisplay: CurrencyDisplay.hidden,
190
- hideGroupingSeparatorOnFocus: false,
191
- });
185
+ if (newVal)
186
+ setOptions({
187
+ locale: navigator.language,
188
+ currency: newVal,
189
+ currencyDisplay: CurrencyDisplay.hidden,
190
+ hideGroupingSeparatorOnFocus: false,
191
+ });
192
192
  }
193
193
  );
194
194
 
@@ -285,7 +285,7 @@ function closeDropdown() {
285
285
  emit("close");
286
286
  }
287
287
 
288
- function onSearch(event: InputEvent) {
288
+ function onSearch(event: Event) {
289
289
  emit("search", (event.target as HTMLInputElement).value);
290
290
  }
291
291
  </script>
@@ -1,3 +1 @@
1
- import _Notification from "./vc-notification.vue";
2
-
3
- export const VcNotification = _Notification as typeof _Notification;
1
+ export { default as VcNotification } from "./vc-notification.vue";
@@ -7,8 +7,8 @@
7
7
  @mouseleave="onMouseLeave"
8
8
  >
9
9
  <VcIcon
10
- :icon="types[type]?.icon"
11
- :style="{ color: types[type]?.color }"
10
+ :icon="types[type ?? 'default']?.icon"
11
+ :style="{ color: types[type ?? 'default']?.color }"
12
12
  size="l"
13
13
  class="tw-mr-2"
14
14
  ></VcIcon>
@@ -27,7 +27,7 @@
27
27
  <script lang="ts" setup>
28
28
  import { NotificationType } from "./../../../../shared/components/notifications";
29
29
  import { VcIcon } from "./../../";
30
- import { onMounted, ref, toRefs, watch } from "vue";
30
+ import { Ref, onMounted, ref, toRefs, watch } from "vue";
31
31
 
32
32
  export interface Props {
33
33
  content?: string;
@@ -42,7 +42,7 @@ export interface Props {
42
42
 
43
43
  const props = defineProps<Props>();
44
44
 
45
- const types = {
45
+ const types: Record<NotificationType, { icon: string; color: string }> = {
46
46
  default: { icon: "fas fa-info-circle", color: "var(--notification-info)" },
47
47
  success: { icon: "fas fa-check-circle", color: "var(--notification-success)" },
48
48
  error: { icon: "fas fa-exclamation-circle", color: "var(--notification-error)" },
@@ -53,11 +53,11 @@ const { timeout } = toRefs(props);
53
53
  const timer = ref();
54
54
 
55
55
  watch(
56
- timeout,
56
+ timeout as Ref<number | boolean>,
57
57
  (newVal) => {
58
58
  if (newVal) {
59
59
  timer.value = Timer(() => {
60
- props.closeNotification();
60
+ props.closeNotification?.();
61
61
  }, props.timeout as number);
62
62
 
63
63
  timer.value.start();
@@ -257,8 +257,8 @@
257
257
  </template>
258
258
 
259
259
  <!-- eslint-disable @typescript-eslint/no-explicit-any -->
260
- <script lang="ts" setup generic="T, P extends {results?: T[]; totalCount?: number }">
261
- import { ref, computed, watch, nextTick, Ref, toRefs, MaybeRef, unref } from "vue";
260
+ <script lang="ts" setup generic="T, P extends {results: T[]; totalCount: number }">
261
+ import { ref, computed, watch, nextTick, Ref, toRefs } from "vue";
262
262
  import { vOnClickOutside } from "@vueuse/components";
263
263
  import * as _ from "lodash-es";
264
264
  import { useIntersectionObserver } from "@vueuse/core";
@@ -485,7 +485,9 @@ const emit = defineEmits<{
485
485
  */
486
486
 
487
487
  "update:modelValue": [
488
- inputValue: MaybeArray<string | Option | (T & P["results"][number] & object)[keyof T | keyof P["results"][number]]>
488
+ inputValue: MaybeArray<
489
+ string | Option | (T & P["results"][number] & object)[keyof T | keyof P["results"][number]]
490
+ > | null
489
491
  ];
490
492
  /**
491
493
  * Emitted when user wants to filter a value
@@ -710,7 +712,7 @@ function getPropValueFn(propValue: OptionProp<Option>, defaultVal: OptionProp<Op
710
712
 
711
713
  return typeof val === "function"
712
714
  ? val
713
- : (opt: Option) => (opt !== null && typeof opt === "object" && val in opt ? opt[val as keyof Option] : opt);
715
+ : (opt: Option) => (opt !== null && typeof opt === "object" && val && val in opt ? opt[val as keyof Option] : opt);
714
716
  }
715
717
 
716
718
  function getOption(value: Option, valueCache: Option[]) {
@@ -1,10 +1 @@
1
- import { VNode } from "vue";
2
- import _Textarea from "./vc-textarea.vue";
3
-
4
- export const VcTextarea = _Textarea as typeof _Textarea & {
5
- new (): {
6
- $slots: {
7
- error: () => VNode[];
8
- };
9
- };
10
- };
1
+ export { default as VcTextarea } from "./vc-textarea.vue";
@@ -65,9 +65,14 @@ export interface Props {
65
65
  }
66
66
 
67
67
  export interface Emits {
68
- (event: "update:modelValue", value: string): void;
68
+ (event: "update:modelValue", value: string | undefined): void;
69
69
  }
70
70
 
71
+ defineSlots<{
72
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
+ error: (props: any) => any;
74
+ }>();
75
+
71
76
  const props = withDefaults(defineProps<Props>(), {
72
77
  name: "Field",
73
78
  maxchars: "1024",
@@ -113,7 +113,6 @@ export interface Props {
113
113
  export interface Emits {
114
114
  (event: "logo:click"): void;
115
115
  (event: "backlink:click"): void;
116
- (event: "toolbarbutton:click"): void;
117
116
  (event: "menubutton:click"): void;
118
117
  (event: "button:click", item: IBladeToolbar): void;
119
118
  }
@@ -2,8 +2,8 @@
2
2
  <div
3
3
  class="vc-app-menu-item"
4
4
  :class="[
5
- { 'vc-app-menu-item_active': isActive && !children.length },
6
- { 'vc-app-menu-item_no-hover': children.length },
5
+ { 'vc-app-menu-item_active': isActive && !children?.length },
6
+ { 'vc-app-menu-item_no-hover': children?.length },
7
7
  ]"
8
8
  @click="$emit('onClick')"
9
9
  >
@@ -28,7 +28,7 @@
28
28
  <div class="vc-app-menu-item__title">
29
29
  {{ title }}
30
30
  <VcIcon
31
- v-if="children.length"
31
+ v-if="children?.length"
32
32
  class="vc-app-menu-item__title-icon"
33
33
  icon="fas fa-chevron-down"
34
34
  size="xs"
@@ -10,8 +10,8 @@
10
10
  :is-active="isExactActive"
11
11
  :children="children"
12
12
  :sticky="sticky"
13
- :icon="icon"
14
- :title="title"
13
+ :icon="icon ?? ''"
14
+ :title="title ?? ''"
15
15
  @on-click="onMenuItemClick"
16
16
  />
17
17
  </router-link>
@@ -20,8 +20,8 @@
20
20
  <vc-app-menu-link
21
21
  :children="children"
22
22
  :sticky="sticky"
23
- :icon="icon"
24
- :title="title"
23
+ :icon="icon ?? ''"
24
+ :title="title ?? ''"
25
25
  @on-click="onMenuItemClick"
26
26
  />
27
27
 
@@ -36,7 +36,7 @@
36
36
  >
37
37
  <router-link
38
38
  v-slot="{ isActive }"
39
- :to="nested.component.url"
39
+ :to="(nested.component?.url as string)"
40
40
  custom
41
41
  >
42
42
  <div
@@ -64,12 +64,12 @@ import { onMounted, ref } from "vue";
64
64
  import { BladeMenu } from "./../../../../../../../../core/types";
65
65
  import VcAppMenuLink from "./_internal/vc-app-menu-link.vue";
66
66
  import { useRoute } from "vue-router";
67
- import { BladeConstructor } from "./../../../../../../../../shared";
67
+ import { BladeInstanceConstructor } from "./../../../../../../../../shared";
68
68
 
69
69
  export interface Props {
70
70
  sticky?: boolean;
71
71
  isVisible?: boolean;
72
- component?: BladeConstructor;
72
+ component?: BladeInstanceConstructor;
73
73
  icon?: string;
74
74
  title?: string;
75
75
  children?: BladeMenu[];
@@ -17,7 +17,6 @@
17
17
  :blades="bladesRefs"
18
18
  :buttons="toolbarItems"
19
19
  :title="title"
20
- @toolbarbutton:click="onToolbarButtonClick"
21
20
  @menubutton:click="($refs.menu as Record<'isMobileVisible', boolean>).isMobileVisible = true"
22
21
  @backlink:click="$emit('backlink:click', bladesRefs.length - 2)"
23
22
  @logo:click="$emit('logo:click')"
@@ -61,16 +60,16 @@ import { getCurrentInstance, markRaw } from "vue";
61
60
  import { BladeMenu, IBladeToolbar } from "../../../../core/types";
62
61
  import VcAppBar from "./_internal/vc-app-bar/vc-app-bar.vue";
63
62
  import VcAppMenu from "./_internal/vc-app-menu/vc-app-menu.vue";
64
- import { BladePageComponent, IBladeRef, useBladeNavigation } from "./../../../../shared";
63
+ import { BladeInstanceConstructor, IBladeRef, useBladeNavigation } from "./../../../../shared";
65
64
 
66
65
  export interface Props {
67
- pages?: BladePageComponent[];
66
+ pages?: BladeInstanceConstructor[];
68
67
  menuItems?: BladeMenu[];
69
68
  mobileMenuItems?: IBladeToolbar[];
70
69
  toolbarItems?: IBladeToolbar[];
71
70
  isReady?: boolean;
72
71
  isAuthorized?: boolean;
73
- logo?: string;
72
+ logo: string;
74
73
  version?: string;
75
74
  theme?: "light" | "dark";
76
75
  bladesRefs?: IBladeRef[];
@@ -109,25 +108,18 @@ const onMenuItemClick = function ({ item }: { item: BladeMenu }) {
109
108
  if (item.clickHandler && typeof item.clickHandler === "function") {
110
109
  item.clickHandler(instance?.exposed);
111
110
  } else {
112
- openBlade(
113
- {
114
- blade: markRaw(item.component),
115
- },
116
- true
117
- );
118
- }
119
- };
120
-
121
- const onToolbarButtonClick = function (item: Record<string, unknown>) {
122
- console.debug(`vc-app#onToolbarButtonClick() called.`);
123
-
124
- if (item.clickHandler && typeof item.clickHandler === "function") {
125
- item.clickHandler(instance?.proxy);
111
+ if (item.component) {
112
+ openBlade(
113
+ {
114
+ blade: markRaw(item.component),
115
+ },
116
+ true
117
+ );
118
+ }
126
119
  }
127
120
  };
128
121
 
129
122
  defineExpose({
130
- onToolbarButtonClick,
131
123
  onMenuItemClick,
132
124
  });
133
125
  </script>