@vc-shell/framework 1.0.120 → 1.0.122

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 +13 -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
@@ -1,20 +1,29 @@
1
- import { ExtractPropTypes, computed, h, markRaw, reactive, ref, toRefs, toValue, unref, watch } from "vue";
1
+ import { Component, ExtractPropTypes, computed, h, markRaw, reactive, ref, toRefs, toValue, unref, watch } from "vue";
2
2
  import { Gallery } from "../factories";
3
3
  import componentProps from "./props";
4
4
  import { IImage } from "../../../../../core/types";
5
5
  import { useBladeNavigation, usePopup } from "./../../../../components";
6
6
  import { useI18n } from "vue-i18n";
7
- import { AssetsDetails } from "../../../assets";
7
+ import { default as AssetsDetails } from "../../../assets/components/assets-details/assets-details.vue";
8
8
  import * as _ from "lodash-es";
9
9
  import { GallerySchema } from "../../types";
10
10
  import { unrefNested } from "./../../helpers/unrefNested";
11
11
  import { setModel } from "../../helpers/setters";
12
+ import { safeIn } from "../../helpers/safeIn";
12
13
 
13
14
  export default {
14
15
  name: "GalleryField",
15
16
  props: componentProps,
16
17
  setup(props: ExtractPropTypes<typeof componentProps> & { element: GallerySchema }) {
17
- if (!_.has(props.bladeContext.scope, "assetsHandler.images")) {
18
+ if (
19
+ !(
20
+ safeIn("bladeContext", props) &&
21
+ props.bladeContext &&
22
+ safeIn("scope", props.bladeContext) &&
23
+ props.bladeContext.scope &&
24
+ props.bladeContext.scope.assetsHandler?.images
25
+ )
26
+ ) {
18
27
  throw new Error(
19
28
  `There is no assetsHandler.images config provided in blade scope: ${JSON.stringify(
20
29
  props.bladeContext.scope,
@@ -28,7 +37,7 @@ export default {
28
37
  const { t } = useI18n({ useScope: "global" });
29
38
  const { openBlade } = useBladeNavigation();
30
39
 
31
- const { edit, remove, upload, loading } = toRefs(props.bladeContext.scope.assetsHandler.images);
40
+ const imagesHandler = toRefs(props.bladeContext.scope?.assetsHandler?.images);
32
41
  const internalModel = ref();
33
42
 
34
43
  watch(
@@ -43,27 +52,29 @@ export default {
43
52
 
44
53
  return () => {
45
54
  const imageHandlers = {
46
- loading,
55
+ loading: imagesHandler.loading,
47
56
  async edit(image: IImage) {
48
- internalModel.value[props.element.property] = await edit.value(
57
+ internalModel.value[props.element.property] = await imagesHandler.edit?.value?.(
49
58
  unref(props.formData)[props.element.property] as IImage[],
50
59
  image
51
60
  );
52
61
  await editImages(internalModel.value[props.element.property]);
53
62
  },
54
- async upload(files: FileList) {
55
- internalModel.value[props.element.property] = await upload.value(
56
- files,
57
- unref(props.formData)[props.element.property] as IImage[],
58
- (unref(props.formData).id as string) || (unref(props.formData).categoryId as string),
59
- props.element.uploadFolder
60
- );
63
+ async upload(files: FileList | null) {
64
+ if (files) {
65
+ internalModel.value[props.element.property] = await imagesHandler.upload?.value?.(
66
+ files,
67
+ unref(props.formData)[props.element.property] as IImage[],
68
+ (unref(props.formData).id as string) || (unref(props.formData).categoryId as string),
69
+ props.element.uploadFolder
70
+ );
61
71
 
62
- files = null;
72
+ files = null;
63
73
 
64
- await editImages(internalModel.value[props.element.property]);
74
+ await editImages(internalModel.value[props.element.property]);
65
75
 
66
- return internalModel.value[props.element.property];
76
+ return internalModel.value[props.element.property];
77
+ }
67
78
  },
68
79
  async remove(image: IImage) {
69
80
  if (
@@ -77,7 +88,7 @@ export default {
77
88
  )
78
89
  )
79
90
  ) {
80
- internalModel.value[props.element.property] = await remove.value(
91
+ internalModel.value[props.element.property] = await imagesHandler.remove?.value?.(
81
92
  unref(props.formData)[props.element.property] as IImage[],
82
93
  image
83
94
  );
@@ -99,9 +110,16 @@ export default {
99
110
  }
100
111
 
101
112
  async function editImages(args: IImage[]) {
102
- internalModel.value[props.element.property] = args;
103
- setModel({ property: props.element.property, value: args, context: props.fieldContext });
104
- await props.bladeContext.validationState.validate();
113
+ if (props.fieldContext) {
114
+ internalModel.value[props.element.property] = args;
115
+ setModel({
116
+ property: props.element.property,
117
+ value: args,
118
+ context: props.fieldContext,
119
+ scope: props.bladeContext.scope,
120
+ });
121
+ await props.bladeContext.validationState.validate();
122
+ }
105
123
  }
106
124
 
107
125
  const field = Gallery({
@@ -109,7 +127,9 @@ export default {
109
127
  ...props.baseProps,
110
128
  loading: imageHandlers.loading,
111
129
  images: props.baseProps.modelValue,
112
- multiple: true,
130
+ multiple: props.element.multiple,
131
+ variant: props.element.variant,
132
+ itemActions: props.element.actions,
113
133
  onUpload: imageHandlers.upload,
114
134
  onRemove: imageHandlers.remove,
115
135
  onEdit: onGalleryItemEdit,
@@ -118,7 +138,7 @@ export default {
118
138
  options: props.baseOptions,
119
139
  });
120
140
 
121
- return props.baseOptions.visibility ? h(field.component, unrefNested(field.props)) : null;
141
+ return props.baseOptions.visibility ? h(field.component as Component, unrefNested(field.props)) : null;
122
142
  };
123
143
  },
124
144
  };
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, h } from "vue";
1
+ import { ExtractPropTypes, h, Component } from "vue";
2
2
  import { ImageField } from "../factories";
3
3
  import componentProps from "./props";
4
4
  import { ImageSchema } from "../../types";
@@ -22,7 +22,7 @@ export default {
22
22
  options: props.baseOptions,
23
23
  });
24
24
 
25
- const render = h(field.component, field.props);
25
+ const render = h(field.component as Component, field.props);
26
26
 
27
27
  return props.baseOptions.visibility ? render : null;
28
28
  };
@@ -5,7 +5,6 @@ import ValidationField from "./ValidationField";
5
5
  import { getModel } from "../../helpers/getters";
6
6
  import { setModel } from "../../helpers/setters";
7
7
  import { InputCurrencySchema } from "../../types";
8
- import { unrefNested } from "../../helpers/unrefNested";
9
8
 
10
9
  export default {
11
10
  name: "InputCurrency",
@@ -15,12 +14,17 @@ export default {
15
14
  const field = InputCurrency({
16
15
  props: {
17
16
  ...props.baseProps,
18
- option: getModel(props.element.optionProperty, props.fieldContext).value,
17
+ option: getModel(props.element.optionProperty, props.fieldContext ?? {}).value,
19
18
  optionLabel: props.element.optionLabel,
20
19
  optionValue: props.element.optionValue,
21
- options: unref(props.bladeContext.scope)["currencies"],
20
+ options: unref(props.bladeContext.scope)?.["currencies"],
22
21
  "onUpdate:option": (e: string | number | Record<string, unknown>) => {
23
- setModel({ value: e, property: props.element.optionProperty, context: props.fieldContext });
22
+ setModel({
23
+ value: e,
24
+ property: props.element.optionProperty,
25
+ context: props.fieldContext ?? {},
26
+ scope: props.bladeContext.scope,
27
+ });
24
28
  },
25
29
  clearable: props.element.clearable || false,
26
30
  },
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, h, VNode } from "vue";
1
+ import { ExtractPropTypes, h, VNode, Component } from "vue";
2
2
  import { InputField } from "../factories";
3
3
  import componentProps from "./props";
4
4
  import ValidationField from "./ValidationField";
@@ -25,15 +25,15 @@ export default {
25
25
  clearable: props.element.clearable || false,
26
26
  },
27
27
  options: props.baseOptions,
28
- slots: Object.entries(slotsMap).reduce((acc, [key, value]: [keyof InputSchema, keyof InputSchema]) => {
29
- if (props.element[key]) {
30
- acc[value] = () =>
28
+ slots: Object.entries(slotsMap).reduce((acc, [key, value]) => {
29
+ if (props.element[key as keyof InputSchema]) {
30
+ acc[value as keyof InputSchema] = () =>
31
31
  nodeBuilder({
32
- controlSchema: props.element[key] as ControlSchema,
33
- parentId: `${(props.element[key] as ControlSchema).id}`,
34
- internalContext: props.fieldContext,
32
+ controlSchema: props.element[key as keyof InputSchema] as ControlSchema,
33
+ parentId: `${(props.element[key as keyof InputSchema] as ControlSchema).id}`,
34
+ internalContext: props.fieldContext ?? {},
35
35
  bladeContext: props.bladeContext,
36
- currentLocale: props.currentLocale,
36
+ currentLocale: props.currentLocale ?? "en-US",
37
37
  formData: props.formData,
38
38
  });
39
39
  }
@@ -41,7 +41,7 @@ export default {
41
41
  }, {} as Record<keyof InputSchema, () => VNode | false>),
42
42
  });
43
43
 
44
- const render = h(field.component, field.props, field.slots);
44
+ const render = h(field.component as Component, field.props, field.slots);
45
45
 
46
46
  if (field.props.rules) {
47
47
  return props.baseOptions.visibility
@@ -1,10 +1,10 @@
1
+ import { ComponentSlots } from "../../../../utilities/vueUtils";
1
2
  import { h, resolveComponent, ExtractPropTypes, Component, VNode } from "vue";
2
3
  import { SelectField } from "../factories";
3
4
  import componentProps from "./props";
4
5
  import ValidationField from "./ValidationField";
5
6
  import { SelectSchema } from "../../types";
6
7
  import { VcSelect } from "../../../../../ui/components";
7
- import type { ComponentSlots } from "vue-component-type-helpers";
8
8
 
9
9
  type TScope =
10
10
  | Parameters<ComponentSlots<typeof VcSelect>["option"]>["0"]
@@ -21,7 +21,7 @@ export default {
21
21
  optionValue: props.element.optionValue,
22
22
  optionLabel: props.element.optionLabel,
23
23
  emitValue: props.element.emitValue,
24
- options: props.bladeContext.scope[props.element.optionsMethod],
24
+ options: props.bladeContext.scope?.[props.element.optionsMethod],
25
25
  currentLanguage: props.currentLocale,
26
26
  clearable: props.element.clearable || false,
27
27
  searchable: props.element.searchable || false,
@@ -32,7 +32,10 @@ export default {
32
32
  props.element.customTemplate &&
33
33
  ["selected-item", "option"].reduce((obj, slot) => {
34
34
  obj[slot] = (scope: TScope) =>
35
- h(resolveComponent(props.element.customTemplate.component), { context: scope, slotName: slot });
35
+ h(resolveComponent(props.element.customTemplate?.component as string), {
36
+ context: scope,
37
+ slotName: slot,
38
+ });
36
39
  return obj;
37
40
  }, {} as Record<string, (scope: TScope) => VNode>),
38
41
  });
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, computed, h, unref } from "vue";
1
+ import { Component, ExtractPropTypes, computed, h, unref } from "vue";
2
2
  import componentProps from "./props";
3
3
  import { StatusSchema } from "../../types";
4
4
  import { StatusField } from "../factories";
@@ -13,7 +13,7 @@ export default {
13
13
  if (props.element.content && typeof props.element.content === "string") {
14
14
  return props.element.content;
15
15
  } else if (props.element.content?.method) {
16
- const method = unref(props.bladeContext.scope)[props.element.content?.method];
16
+ const method = unref(props.bladeContext.scope)?.[props.element.content?.method];
17
17
  if (method === "function") {
18
18
  return method();
19
19
  } else {
@@ -48,7 +48,7 @@ export default {
48
48
  });
49
49
 
50
50
  return props.baseOptions.visibility
51
- ? h(field.component, { ...field.props, class: "tw-w-full tw-box-border" }, field.slots)
51
+ ? h(field.component as Component, { ...field.props, class: "tw-w-full tw-box-border" }, field.slots)
52
52
  : null;
53
53
  };
54
54
  },
@@ -0,0 +1,41 @@
1
+ import { TextareaField } from "./../factories";
2
+ import { TextareaSchema } from "./../../types/index";
3
+ import { ExtractPropTypes, h, Component } from "vue";
4
+ import componentProps from "./props";
5
+ import ValidationField from "./ValidationField";
6
+
7
+ export default {
8
+ name: "TextareaField",
9
+ props: componentProps,
10
+ setup(props: ExtractPropTypes<typeof componentProps> & { element: TextareaSchema }) {
11
+ return () => {
12
+ const field = TextareaField({
13
+ props: {
14
+ ...props.baseProps,
15
+ currentLanguage: props.currentLocale,
16
+ clearable: props.element.clearable || false,
17
+ },
18
+ options: props.baseOptions,
19
+ });
20
+
21
+ const render = h(field.component as Component, field.props);
22
+
23
+ if (field.props.rules) {
24
+ return props.baseOptions.visibility
25
+ ? h(
26
+ ValidationField,
27
+ {
28
+ props: field.props,
29
+ index: props.elIndex,
30
+ rows: props.rows,
31
+ key: `${String(field.props.key)}_validation`,
32
+ },
33
+ () => render
34
+ )
35
+ : null;
36
+ } else {
37
+ return props.baseOptions.visibility ? render : null;
38
+ }
39
+ };
40
+ },
41
+ };
@@ -15,30 +15,30 @@ export default defineComponent({
15
15
  setup(props) {
16
16
  const slots = useSlots();
17
17
  const fieldKey = computed(() =>
18
- unref(props.props).multilanguage
19
- ? `${String(props.props.key)}_${unref(props.props.currentLanguage)}`
20
- : String(props.props.key)
18
+ unref(props.props)?.multilanguage
19
+ ? `${String(props.props?.key)}_${unref(props.props?.currentLanguage)}`
20
+ : String(props.props?.key)
21
21
  );
22
22
 
23
23
  const fieldNameLang = reactify((name: string) => {
24
- return props.props.multilanguage ? name + "_" + props.props.currentLanguage : name;
24
+ return props.props?.multilanguage ? name + "_" + props.props.currentLanguage : name;
25
25
  });
26
26
 
27
27
  return () =>
28
28
  h(
29
29
  Field,
30
30
  {
31
- rules: props.props.rules,
32
- modelValue: props.props.modelValue,
33
- label: props.props.label,
31
+ rules: props.props?.rules,
32
+ modelValue: props.props?.modelValue,
33
+ label: props.props?.label,
34
34
  key: fieldKey.value,
35
35
  name: fieldNameLang(
36
- props.rows > 1 && props.index >= 0 ? props.props?.name + "_" + props.index : props.props?.name
36
+ (props.rows ?? 1) > 1 && (props.index ?? 0) >= 0 ? props.props?.name + "_" + props.index : props.props?.name
37
37
  ).value,
38
38
  },
39
39
  {
40
40
  default: ({ errorMessage, errors }: { errorMessage: ComputedRef<string | undefined>; errors: string[] }) => {
41
- return slots.default().map((slot) =>
41
+ return slots.default?.().map((slot) =>
42
42
  h(slot, {
43
43
  ...props.props,
44
44
  error: !!errors.length,
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, h } from "vue";
1
+ import { Component, ExtractPropTypes, h } from "vue";
2
2
  import { VideoField } from "../factories";
3
3
  import componentProps from "./props";
4
4
  import { VideoSchema } from "../../types";
@@ -13,14 +13,11 @@ export default {
13
13
  ...props.baseProps,
14
14
  source: props.baseProps.modelValue,
15
15
  size: props.element.size,
16
- rounded: props.element.rounded,
17
- bordered: props.element.bordered,
18
- clickable: props.element.clickable,
19
16
  },
20
17
  options: props.baseOptions,
21
18
  });
22
19
 
23
- const render = h(field.component, field.props);
20
+ const render = h(field.component as Component, field.props);
24
21
 
25
22
  return props.baseOptions.visibility ? render : null;
26
23
  };
@@ -9,7 +9,7 @@ export default {
9
9
  default: () => ({} as IControlBaseProps),
10
10
  },
11
11
  baseOptions: {
12
- type: Object as PropType<UnwrapNestedRefs<IControlBaseOptions>>,
12
+ type: Object as PropType<IControlBaseOptions>,
13
13
  default: () => ({} as IControlBaseOptions),
14
14
  },
15
15
  element: {
@@ -30,7 +30,6 @@ export default {
30
30
  },
31
31
  fieldContext: {
32
32
  type: Object,
33
- default: undefined,
34
33
  },
35
34
  nodeBuilder: {
36
35
  type: Function,
@@ -40,14 +40,16 @@ interface Data {
40
40
  }
41
41
 
42
42
  export interface UseFilterBuilder {
43
- filterComponent: (slotMethods: { close: () => void }) => VNode<
44
- RendererNode,
45
- RendererElement,
46
- {
47
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
- [key: string]: any;
49
- }
50
- >;
43
+ filterComponent: (slotMethods: { close: () => void }) =>
44
+ | VNode<
45
+ RendererNode,
46
+ RendererElement,
47
+ {
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ [key: string]: any;
50
+ }
51
+ >
52
+ | undefined;
51
53
  activeFilterCount: ComputedRef<number>;
52
54
  isFilterVisible: ComputedRef<boolean>;
53
55
  reset: () => Promise<void>;
@@ -55,7 +57,11 @@ export interface UseFilterBuilder {
55
57
  readonly filter: Record<string, any>;
56
58
  }
57
59
 
58
- export default <Query>(args: { data: Data; query: MaybeRef<Query>; load: AsyncAction<Query> }): UseFilterBuilder => {
60
+ export default <Query>(args: {
61
+ data: Data | undefined;
62
+ query: MaybeRef<Query>;
63
+ load: AsyncAction<Query>;
64
+ }): UseFilterBuilder => {
59
65
  const _search = args.load;
60
66
  const _data = args.data;
61
67
 
@@ -108,7 +114,9 @@ export default <Query>(args: { data: Data; query: MaybeRef<Query>; load: AsyncAc
108
114
  const filterData = control.data;
109
115
  const fields = createCheckboxFromData(filterData, control);
110
116
 
111
- obj = fields;
117
+ if (fields) {
118
+ obj = fields;
119
+ }
112
120
  }
113
121
  if (control.component === "vc-input") {
114
122
  obj[control.field] = createInput(control);
@@ -6,9 +6,9 @@ import type { ItemId, IValidationState, UseDetails } from "../types";
6
6
  import { createUnrefFn } from "@vueuse/core";
7
7
 
8
8
  export interface UseDetailsFactoryParams<Item> {
9
- load: (args: ItemId) => Promise<Item>;
10
- saveChanges: (details: Item) => Promise<Item>;
11
- remove: (args: ItemId) => Promise<void>;
9
+ load: (args?: ItemId) => Promise<Item>;
10
+ saveChanges: (details: Item) => Promise<Item | void>;
11
+ remove?: (args: ItemId) => Promise<void>;
12
12
  }
13
13
 
14
14
  export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<Item>) => {
@@ -23,20 +23,20 @@ export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<I
23
23
  const isDirty = useIsFormDirty();
24
24
  const isDisabled = computed(() => !isDirty.value || !isFormValid.value);
25
25
 
26
- const { loading: itemLoading, action: load } = useAsync<ItemId>(async (args) => {
26
+ const { loading: itemLoading, action: load } = useAsync<ItemId>(async (args?: ItemId) => {
27
27
  item.value = await factoryParams.load(args);
28
28
  resetModified(item.value);
29
29
  });
30
30
 
31
31
  const { loading: manageLoading, action: saveChanges } = useAsync<Item>(async (item) => {
32
32
  if (validationState.value.valid) {
33
- await factoryParams.saveChanges(item);
33
+ await factoryParams.saveChanges(item as Item);
34
34
  isModified.value = false;
35
35
  } else throw new Error("Form is not valid");
36
36
  });
37
37
 
38
38
  const { loading: removeLoading, action: remove } = useAsync<ItemId>(async (args) => {
39
- await factoryParams.remove(args);
39
+ await factoryParams.remove?.(args as ItemId);
40
40
  });
41
41
 
42
42
  const loading = useLoading(itemLoading, manageLoading, removeLoading);
@@ -48,6 +48,7 @@ export const useDetailsFactory = <Item>(factoryParams: UseDetailsFactoryParams<I
48
48
  modified: isModified.value,
49
49
  disabled: isDisabled.value,
50
50
  validated: !isDisabled.value && isModified.value,
51
+ cachedValue: itemTemp.value,
51
52
  setFieldError,
52
53
  setErrors,
53
54
  resetModified,
@@ -38,18 +38,18 @@ export const useListFactory = <Items extends Record<string, any>[], Query extend
38
38
 
39
39
  const { loading: itemsLoading, action: load } = useAsync<Query>(async (query) => {
40
40
  searchQuery.value = { ...searchQuery.value, ...query };
41
- searchResult.value = await factoryParams.load(query);
41
+ searchResult.value = await factoryParams.load?.(query as Query);
42
42
  });
43
43
 
44
44
  const { loading: itemsDelete, action: remove } = useAsync<CustomQuery>(async (customQuery) => {
45
- await factoryParams.remove(searchQuery.value, customQuery);
45
+ await factoryParams.remove?.(searchQuery.value, customQuery as CustomQuery);
46
46
  });
47
47
 
48
48
  const loading = useLoading(itemsLoading, itemsDelete);
49
49
 
50
50
  const pagination = computed(() => ({
51
51
  currentPage: (searchQuery.value?.skip || 0) / Math.max(1, searchQuery?.value.take || 20) + 1,
52
- totalCount: searchResult.value?.totalCount,
52
+ totalCount: searchResult.value?.totalCount || 0,
53
53
  pageSize: pageSize,
54
54
  get pages() {
55
55
  return Math.ceil(this.totalCount / this.pageSize);
@@ -57,7 +57,7 @@ export const useListFactory = <Items extends Record<string, any>[], Query extend
57
57
  }));
58
58
 
59
59
  return {
60
- items: computed(() => searchResult.value?.results),
60
+ items: computed(() => searchResult.value?.results as Items),
61
61
  query: searchQuery,
62
62
  loading,
63
63
  pagination,
@@ -1,9 +1,10 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { ComputedRef, MaybeRef, Ref, UnwrapNestedRefs, UnwrapRef } from "vue";
2
+ import { ComputedRef, MaybeRef, Ref, UnwrapNestedRefs } from "vue";
3
3
  import { AsyncAction } from "../../../../../core/composables";
4
4
  import { SettingsSchema } from "../../types";
5
5
  import { Asset, AssetsHandler, IBladeToolbar, IImage } from "../../../../../core/types";
6
6
  import { useBladeNavigation } from "../../../../components";
7
+ import { FormContext } from "vee-validate";
7
8
 
8
9
  export type ItemId = { id: string };
9
10
 
@@ -20,10 +21,11 @@ export interface IValidationState<Item> {
20
21
  disabled: boolean;
21
22
  modified: boolean;
22
23
  validated: boolean;
23
- setFieldError: (field: string, message: string | string[]) => void;
24
- setErrors: (fields: Record<string, string>) => void;
24
+ cachedValue: Item | undefined;
25
+ setFieldError: FormContext["setFieldError"];
26
+ setErrors: FormContext["setErrors"];
25
27
  resetModified: (data: MaybeRef<Item>, updateInitial?: MaybeRef<boolean>) => void;
26
- validate: () => Promise<{ valid: boolean; errors: Record<string, string> }>;
28
+ validate: FormContext["validate"];
27
29
  }
28
30
 
29
31
  export type CustomQuery = { ids: string[] | null; allSelected?: boolean };
@@ -31,9 +33,9 @@ export type CustomQuery = { ids: string[] | null; allSelected?: boolean };
31
33
  export interface UseDetails<Item, Scope extends DetailsBaseBladeScope = DetailsBaseBladeScope> {
32
34
  load: AsyncAction<ItemId>;
33
35
  saveChanges: AsyncAction<Item>;
34
- remove: AsyncAction<ItemId>;
36
+ remove?: AsyncAction<ItemId>;
35
37
  loading: ComputedRef<boolean>;
36
- item: Ref<Item>;
38
+ item: Ref<Item | undefined>;
37
39
  validationState: ComputedRef<IValidationState<Item>>;
38
40
  scope?: ComputedRef<UnwrapNestedRefs<Scope>>;
39
41
  bladeTitle?: ComputedRef<string>;
@@ -64,7 +66,7 @@ export interface ListBaseBladeScope extends BaseBladeScope {
64
66
  }
65
67
 
66
68
  export interface DetailsBaseBladeScope extends BaseBladeScope {
67
- disabled?: ComputedRef<boolean>;
69
+ disabled?: ComputedRef<boolean | undefined>;
68
70
  multilanguage?: {
69
71
  loading: ComputedRef<boolean>;
70
72
  currentLocale: Ref<string>;
@@ -89,8 +91,8 @@ export interface DetailsBaseBladeScope extends BaseBladeScope {
89
91
  }) => void;
90
92
  };
91
93
  assetsHandler?: {
92
- assets?: AssetsHandler<Asset, Asset>;
93
- images?: AssetsHandler<IImage, IImage>;
94
+ assets?: AssetsHandler<Asset>;
95
+ images?: AssetsHandler<IImage>;
94
96
  };
95
97
  }
96
98