@vc-shell/framework 1.0.119 → 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 (354) hide show
  1. package/CHANGELOG.md +15 -5771
  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 +11021 -10956
  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 +2 -2
  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 +434 -34
  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 +61 -44
  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 +3 -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 +70 -70
  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 +30 -42
  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 +4 -15
  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-filter/vc-table-filter.vue.d.ts.map +1 -1
  261. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +15 -15
  262. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  263. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +105 -105
  264. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  265. package/package.json +5 -5
  266. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -3
  267. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +1 -1
  268. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +7 -7
  269. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +80 -80
  270. package/shared/components/blade-navigation/types/index.ts +50 -18
  271. package/shared/components/change-password/change-password.vue +32 -5
  272. package/shared/components/error-interceptor/interceptor.ts +4 -4
  273. package/shared/components/notifications/composables/useContainer/index.ts +2 -2
  274. package/shared/components/notifications/composables/useInstance/index.ts +2 -2
  275. package/shared/components/notifications/core/notification.ts +2 -2
  276. package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +2 -2
  277. package/shared/components/popup-handler/composables/usePopup/index.ts +13 -6
  278. package/shared/components/popup-handler/types/index.ts +1 -7
  279. package/shared/components/user-dropdown-button/user-dropdown-button.vue +1 -1
  280. package/shared/modules/assets/components/assets-details/assets-details.vue +12 -6
  281. package/shared/modules/assets/components/assets-details/index.ts +1 -3
  282. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +10 -10
  283. package/shared/modules/dynamic/components/FIELD_MAP.ts +4 -2
  284. package/shared/modules/dynamic/components/SchemaRender.ts +2 -2
  285. package/shared/modules/dynamic/components/factories.ts +24 -13
  286. package/shared/modules/dynamic/components/fields/Button.ts +3 -3
  287. package/shared/modules/dynamic/components/fields/Card.ts +30 -15
  288. package/shared/modules/dynamic/components/fields/Checkbox.ts +2 -2
  289. package/shared/modules/dynamic/components/fields/ContentField.ts +2 -2
  290. package/shared/modules/dynamic/components/fields/DynamicProperty.ts +19 -9
  291. package/shared/modules/dynamic/components/fields/Fieldset.ts +7 -4
  292. package/shared/modules/dynamic/components/fields/GalleryField.ts +42 -22
  293. package/shared/modules/dynamic/components/fields/ImageField.ts +2 -2
  294. package/shared/modules/dynamic/components/fields/InputCurrency.ts +8 -4
  295. package/shared/modules/dynamic/components/fields/InputField.ts +9 -9
  296. package/shared/modules/dynamic/components/fields/SelectField.ts +6 -3
  297. package/shared/modules/dynamic/components/fields/StatusField.ts +3 -3
  298. package/shared/modules/dynamic/components/fields/TextareaField.ts +41 -0
  299. package/shared/modules/dynamic/components/fields/ValidationField.ts +9 -9
  300. package/shared/modules/dynamic/components/fields/VideoField.ts +2 -5
  301. package/shared/modules/dynamic/components/fields/props.ts +1 -2
  302. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +18 -10
  303. package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +7 -6
  304. package/shared/modules/dynamic/factories/base/useListFactory.ts +4 -4
  305. package/shared/modules/dynamic/factories/types/index.ts +11 -9
  306. package/shared/modules/dynamic/helpers/nodeBuilder.ts +97 -34
  307. package/shared/modules/dynamic/helpers/override.ts +14 -27
  308. package/shared/modules/dynamic/helpers/safeIn.ts +6 -0
  309. package/shared/modules/dynamic/helpers/setters.ts +11 -2
  310. package/shared/modules/dynamic/helpers/toolbarReducer.ts +3 -3
  311. package/shared/modules/dynamic/helpers/unwrapInterpolation.ts +2 -1
  312. package/shared/modules/dynamic/index.ts +38 -29
  313. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +33 -31
  314. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +45 -33
  315. package/shared/modules/dynamic/types/index.ts +436 -34
  316. package/shared/modules/dynamic/types/models.ts +11 -3
  317. package/shared/pages/InvitePage/components/invite/Invite.vue +17 -19
  318. package/shared/pages/LoginPage/components/login/Login.vue +6 -8
  319. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +17 -19
  320. package/shared/utilities/assets.ts +6 -4
  321. package/shared/utilities/vueUtils.ts +46 -0
  322. package/ui/components/atoms/vc-checkbox/vc-checkbox.vue +8 -2
  323. package/ui/components/atoms/vc-status-icon/index.ts +1 -3
  324. package/ui/components/atoms/vc-video/vc-video.vue +1 -14
  325. package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +1 -3
  326. package/ui/components/molecules/vc-editor/vc-editor.vue +13 -7
  327. package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +14 -5
  328. package/ui/components/molecules/vc-field/vc-field.vue +1 -1
  329. package/ui/components/molecules/vc-input/vc-input.vue +4 -4
  330. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +11 -11
  331. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -1
  332. package/ui/components/molecules/vc-notification/index.ts +1 -3
  333. package/ui/components/molecules/vc-notification/vc-notification.vue +6 -6
  334. package/ui/components/molecules/vc-select/vc-select.vue +6 -4
  335. package/ui/components/molecules/vc-textarea/index.ts +1 -10
  336. package/ui/components/molecules/vc-textarea/vc-textarea.vue +6 -1
  337. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +0 -1
  338. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +3 -3
  339. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +7 -7
  340. package/ui/components/organisms/vc-app/vc-app.vue +11 -19
  341. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +2 -2
  342. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +2 -2
  343. package/ui/components/organisms/vc-blade/vc-blade.vue +1 -1
  344. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +3 -3
  345. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +1 -1
  346. package/ui/components/organisms/vc-gallery/vc-gallery.vue +29 -26
  347. package/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue +3 -16
  348. package/ui/components/organisms/vc-notification-dropdown/vc-notification-dropdown.vue +1 -1
  349. package/ui/components/organisms/vc-notification-template/index.ts +1 -3
  350. package/ui/components/organisms/vc-notification-template/vc-notification-template.vue +35 -17
  351. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +6 -6
  352. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +7 -5
  353. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +11 -16
  354. package/ui/components/organisms/vc-table/vc-table.vue +45 -42
@@ -1,4 +1,4 @@
1
- import { VcButton, VcField, VcIcon, VcImage, VcInput, VcStatus, VcVideo } from "./../../../../ui/components";
1
+ import { VcButton, VcField, VcGallery, VcIcon, VcImage, VcInput, VcStatus, VcVideo } from "./../../../../ui/components";
2
2
  import { ITableColumns, IValidationRules } from "../../../../core/types";
3
3
  import type { ComponentProps, ComponentEmit, ComponentSlots } from "vue-component-type-helpers";
4
4
 
@@ -7,6 +7,8 @@ export type KeysOfUnion<T> = T extends T ? keyof T : never;
7
7
  export type Composable<T> = T[keyof T];
8
8
 
9
9
  export type DynamicSchema = DynamicGridSchema | DynamicDetailsSchema;
10
+ type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
11
+ type RequiredBy<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
10
12
 
11
13
  export interface DynamicGridSchema {
12
14
  /**
@@ -41,27 +43,27 @@ export interface SettingsDetails extends SettingsBase {
41
43
 
42
44
  export interface SettingsBase {
43
45
  /**
44
- * @description Blade url
46
+ * Blade url
45
47
  */
46
48
  url?: string;
47
49
  /**
48
- * @description Locale key for VueI18n locale files
50
+ * Locale key for VueI18n locale files
49
51
  */
50
52
  localizationPrefix: string;
51
53
  /**
52
- * @description Required component id
54
+ * Required component id
53
55
  */
54
56
  id: string;
55
57
  /**
56
- * @description Blade default header title
58
+ * Blade default header title
57
59
  */
58
60
  titleTemplate: string;
59
61
  /**
60
- * @description Composable to use at {@link SettingsBase.model } blade component view
62
+ * Composable to use at {@link SettingsBase.model } blade component view
61
63
  */
62
64
  composable: string;
63
65
  /**
64
- * @description Toolbar items array
66
+ * Toolbar items array
65
67
  * @default 'save', 'delete' in {@link SettingsDetails}
66
68
  * @default 'refresh', 'add' in {@link SettingsWorkspace}
67
69
  */
@@ -72,17 +74,18 @@ export interface SettingsBase {
72
74
  method: string;
73
75
  }[];
74
76
  /**
75
- * @description Blade component
77
+ * Blade component
76
78
  */
77
79
  component: string;
78
80
  /**
79
- * @description Blade permissions
81
+ * Blade permissions
80
82
  */
81
83
  permissions?: string | string[];
82
84
  pushNotificationType?: string | string[];
83
85
  }
84
86
 
85
- export interface ListContentSchema extends SchemaBase {
87
+ export interface ListContentSchema {
88
+ id: string;
86
89
  component: "vc-table";
87
90
  filter?: FilterSchema;
88
91
  multiselect?: boolean;
@@ -107,7 +110,8 @@ export interface ListContentSchema extends SchemaBase {
107
110
  };
108
111
  }
109
112
 
110
- export interface FormContentSchema extends SchemaBase {
113
+ export interface FormContentSchema {
114
+ id: string;
111
115
  component: "vc-form";
112
116
  children: ControlSchema[];
113
117
  }
@@ -116,143 +120,540 @@ export interface GridTemplateOverride {
116
120
  component?: string;
117
121
  }
118
122
 
119
- export interface VisibilityOptions {
120
- method: string;
121
- }
123
+ /**
124
+ * Base component schema interface.
125
+ */
122
126
  export interface SchemaBase {
127
+ /** Unique identifier for component.
128
+ * @type {string}
129
+ */
123
130
  id: string;
131
+ /** Control label.
132
+ * To show label based on some bound property - use interpolation {} syntax.
133
+ * @example {someProperty}
134
+ * @type {string}
135
+ */
124
136
  label?: string;
125
- property?: string;
137
+ /** Property name to populate the component with data.
138
+ * @type {string}
139
+ */
140
+ property: string;
141
+ /** Vee-validate and custom validation rules for the schema.
142
+ *
143
+ * Available rules - {@link IValidationRules}
144
+ * @type {IValidationRules}
145
+ */
126
146
  rules?: IValidationRules;
147
+ /** Placeholder text for component.
148
+ * @type {string}
149
+ */
127
150
  placeholder?: string;
151
+ /** Disabled state for component.
152
+ * @description Method should be defined in the blade `scope`.
153
+ * Method should return boolean value.
154
+ * @type {{ method: string }}
155
+ */
128
156
  disabled?: { method: string };
157
+ /** Tooltip text for component.
158
+ * @type {string}
159
+ */
129
160
  tooltip?: string;
130
- visibility?: VisibilityOptions;
161
+ /** Visibility options for component.
162
+ * @description Method should be defined in the blade `scope`.
163
+ * Method should return boolean value.
164
+ * @type {{ method: string }}
165
+ */
166
+ visibility?: {
167
+ method: string;
168
+ };
169
+ /** Flag to indicate if the component supports multilanguage.
170
+ * @type {boolean}
171
+ */
131
172
  multilanguage?: boolean;
173
+ /** Additional method that is called when the modelValue of the component changes
174
+ * @description Method should be defined in the blade `scope`.
175
+ * @type {{ method: string }}
176
+ */
132
177
  update?: { method: string };
133
178
  }
134
179
 
180
+ /**
181
+ * Select schema interface.
182
+ * @interface
183
+ */
135
184
  export interface SelectSchema extends SchemaBase {
185
+ /**
186
+ * Component type for select.
187
+ * @type {"vc-select"}
188
+ */
136
189
  component: "vc-select";
190
+ /**
191
+ * Property of optionProperty which holds the `value`
192
+ * @default id
193
+ * @type {string}
194
+ */
137
195
  optionValue: string;
196
+ /**
197
+ * Property of optionProperty which holds the `label`
198
+ * @default title
199
+ * @type {string}
200
+ */
138
201
  optionLabel: string;
202
+ /**
203
+ * Method that is used to get select options.
204
+ * @description Method should be defined in the blade `scope`.
205
+ * @type {string}
206
+ */
139
207
  optionsMethod: string;
208
+ /**
209
+ * Name of custom template to display data in select.
210
+ * Component should be registered globally.
211
+ * @type {{component: string}}
212
+ */
140
213
  customTemplate?: {
141
214
  component: string;
142
215
  };
216
+ /**
217
+ * Whether the select is clearable or not.
218
+ * @type {boolean}
219
+ */
143
220
  clearable?: boolean;
221
+ /**
222
+ * Update model with the value of the selected option instead of the whole option
223
+ * @default true
224
+ * @example true
225
+ * only value will be emitted
226
+ * @example false
227
+ * whole option will be emitted
228
+ * {
229
+ * value: "someValue",
230
+ * label: "someLabel"
231
+ * }
232
+ */
144
233
  emitValue?: boolean;
234
+ /**
235
+ * Whether the select is searchable or not.
236
+ * @type {boolean}
237
+ */
145
238
  searchable?: boolean;
146
239
  }
147
240
 
241
+ export interface TextareaSchema extends SchemaBase {
242
+ /**
243
+ * Component type for textarea.
244
+ * @type {"vc-textarea"}
245
+ */
246
+ component: "vc-textarea";
247
+ /**
248
+ * Whether the textarea is clearable or not.
249
+ * @type {boolean}
250
+ */
251
+ clearable?: boolean;
252
+ }
253
+
254
+ /**
255
+ * Input schema interface.
256
+ * @interface
257
+ */
148
258
  export interface InputSchema extends SchemaBase {
259
+ /**
260
+ * Component type for input.
261
+ * @type {"vc-input"}
262
+ */
149
263
  component: "vc-input";
264
+ /**
265
+ * Input type.
266
+ * @type {"number" | "text" | "password" | "email" | "tel" | "url" | "time" | "date" | "datetime-local"}
267
+ */
150
268
  variant?: ComponentProps<typeof VcInput>["type"];
269
+ /**
270
+ * Whether the input is clearable or not.
271
+ * @type {boolean}
272
+ */
151
273
  clearable?: boolean;
274
+ /**
275
+ * Schema of component to be displayed before the input.
276
+ * @type {ControlSchema}
277
+ */
152
278
  prepend?: ControlSchema;
279
+ /**
280
+ * Schema of component to be displayed after the input
281
+ * @type {ControlSchema}
282
+ */
153
283
  append?: ControlSchema;
284
+ /**
285
+ * Schema of component to be displayed inside the input after the value.
286
+ * @type {ControlSchema}
287
+ */
154
288
  appendInner?: ControlSchema;
289
+ /**
290
+ * Schema of component to be displayed inside the input before the value.
291
+ * @type {ControlSchema}
292
+ */
155
293
  prependInner?: ControlSchema;
156
294
  }
157
295
 
158
- export interface VideoSchema extends SchemaBase {
296
+ /**
297
+ * Video schema interface.
298
+ * @interface
299
+ */
300
+ export interface VideoSchema
301
+ extends Pick<SchemaBase, "id" | "property" | "label" | "visibility" | "tooltip" | "update"> {
302
+ /**
303
+ * Component type for video.
304
+ * @type {"vc-video"}
305
+ */
159
306
  component: "vc-video";
307
+ /**
308
+ * Video size.
309
+ * @type {"auto" | "xs" | "s" | "m" | "l" | "xl" | "xxl"}
310
+ */
160
311
  size?: ComponentProps<typeof VcVideo>["size"];
161
- rounded?: boolean;
162
- bordered?: boolean;
163
- clickable?: boolean;
164
312
  }
165
313
 
166
- export interface FieldSchema extends SchemaBase {
314
+ /**
315
+ * Data field schema interface.
316
+ * @interface
317
+ */
318
+ export interface FieldSchema extends Pick<SchemaBase, "id" | "property" | "label" | "visibility" | "tooltip"> {
319
+ /**
320
+ * Component type for field.
321
+ * @type {"vc-field"}
322
+ */
167
323
  component: "vc-field";
324
+ /**
325
+ * Field variant.
326
+ * @type {"text" | "normal" | "date" | "date-ago" | "link"}
327
+ */
168
328
  variant?: ComponentProps<typeof VcField>["type"];
329
+ /**
330
+ * Whether the field is copyable or not.
331
+ * @type {boolean}
332
+ */
169
333
  copyable?: boolean;
170
334
  }
171
335
 
172
- export interface ImageSchema extends SchemaBase {
336
+ /**
337
+ * Image schema interface.
338
+ * @interface
339
+ */
340
+ export interface ImageSchema extends Pick<SchemaBase, "id" | "property" | "visibility" | "update"> {
341
+ /**
342
+ * Component type for image.
343
+ * @type {"vc-image"}
344
+ */
173
345
  component: "vc-image";
346
+ /**
347
+ * Image aspect ratio.
348
+ * @type {"1x1" | "16x9" | "4x3" | "3x2"}
349
+ */
174
350
  aspect?: ComponentProps<typeof VcImage>["aspect"];
351
+ /**
352
+ * Image size.
353
+ * @type {"auto" | "xs" | "s" | "m" | "l" | "xl" | "xxl"}
354
+ */
175
355
  size?: ComponentProps<typeof VcImage>["size"];
356
+ /**
357
+ * Size of the element's background image. Accepts auto, cover, contain CSS background-size value.
358
+ * @type {"auto" | "contain" | "cover"}
359
+ */
176
360
  background?: ComponentProps<typeof VcImage>["background"];
361
+ /**
362
+ * Whether the image is rounded or not.
363
+ * @type {boolean}
364
+ */
177
365
  rounded?: boolean;
366
+ /**
367
+ * Whether the image is bordered or not.
368
+ * @type {boolean}
369
+ */
178
370
  bordered?: boolean;
371
+ /**
372
+ * Whether the image has preview on click or not.
373
+ * @type {boolean}
374
+ */
179
375
  clickable?: boolean;
180
376
  }
181
377
 
182
- export interface StatusSchema extends SchemaBase {
378
+ /**
379
+ * Status schema interface.
380
+ * @interface
381
+ */
382
+ export interface StatusSchema extends Pick<SchemaBase, "id" | "visibility"> {
383
+ /**
384
+ * Component type for status.
385
+ * @type {"vc-status"}
386
+ */
183
387
  component: "vc-status";
388
+ /**
389
+ * Whether the status is outlined or not.
390
+ * @type {boolean}
391
+ */
184
392
  outline?: boolean;
393
+ /**
394
+ * Whether the status is extendable or not.
395
+ * @type {boolean}
396
+ */
185
397
  extend?: boolean;
398
+ /**
399
+ * Status variant.
400
+ * @type {"info" | "warning" | "danger" | "success" | "light-danger"}
401
+ */
186
402
  variant?: ComponentProps<typeof VcStatus>["variant"];
403
+ /**
404
+ * Status icon.
405
+ * @type {string}
406
+ */
187
407
  icon?: string;
408
+ /**
409
+ * Status icon size.
410
+ * @type {"xs" | "s" | "m" | "l" | "xl" | "xxl" | "xxxl"}
411
+ */
188
412
  iconSize?: ComponentProps<typeof VcIcon>["size"];
413
+ /**
414
+ * Status icon variant.
415
+ * @type {"warning" | "danger" | "success"}
416
+ */
189
417
  iconVariant?: ComponentProps<typeof VcIcon>["variant"];
418
+ /**
419
+ * Status title.
420
+ * @type {string}
421
+ */
190
422
  title?: string;
423
+ /**
424
+ * Method to call to get status content.
425
+ * @description Method should be defined in the blade `scope`.
426
+ * @type {{ method: string }}
427
+ */
191
428
  content: {
192
429
  method: string;
193
430
  };
194
431
  }
195
432
 
196
- export interface InputCurrencySchema extends SchemaBase {
433
+ /**
434
+ * Input-currency schema interface.
435
+ * @interface
436
+ */
437
+ export interface InputCurrencySchema extends Omit<SchemaBase, "multilanguage"> {
438
+ /**
439
+ * Component type for input-currency.
440
+ * @type {"vc-input-currency"}
441
+ */
197
442
  component: "vc-input-currency";
443
+ /**
444
+ * Property that holds available currency options.
445
+ * @type {string}
446
+ */
198
447
  optionProperty: string;
448
+ /**
449
+ * Property of optionProperty which holds the `value`
450
+ * @default id
451
+ * @type {string}
452
+ */
199
453
  optionValue?: string;
454
+ /**
455
+ * Property of optionProperty which holds the `label`
456
+ * @default title
457
+ * @type {string}
458
+ */
200
459
  optionLabel?: string;
460
+ /**
461
+ * Whether the input-currency is clearable or not.
462
+ * @type {boolean}
463
+ */
201
464
  clearable?: boolean;
202
465
  }
203
466
 
467
+ /**
468
+ * Editor schema interface.
469
+ * @interface
470
+ */
204
471
  export interface EditorSchema extends SchemaBase {
472
+ /**
473
+ * Component type for editor.
474
+ * @type {"vc-editor"}
475
+ */
205
476
  component: "vc-editor";
206
477
  }
207
478
 
208
- export interface DynamicPropertiesSchema extends SchemaBase {
479
+ /**
480
+ * Interface for dynamic properties schema.
481
+ * @interface
482
+ */
483
+ export interface DynamicPropertiesSchema extends Pick<SchemaBase, "id" | "disabled" | "property" | "visibility"> {
484
+ /**
485
+ * The component type for dynamic properties.
486
+ * @type {"vc-dynamic-properties"}
487
+ */
209
488
  component: "vc-dynamic-properties";
489
+ /**
490
+ * An array of property names to exclude from the dynamic properties schema.
491
+ * @type {string[]}
492
+ */
210
493
  exclude?: string[];
494
+ /**
495
+ * An array of property names to include in the dynamic properties schema.
496
+ * @type {string[]}
497
+ */
211
498
  include?: string[];
212
499
  }
213
500
 
214
- export interface GallerySchema extends SchemaBase {
501
+ /**
502
+ * Gallery schema interface.
503
+ * @interface
504
+ */
505
+ export interface GallerySchema extends Omit<SchemaBase, "placeholder" | "multilanguage"> {
506
+ /**
507
+ * Component type for the gallery.
508
+ * @type {"vc-gallery"}
509
+ */
215
510
  component: "vc-gallery";
511
+ /**
512
+ * Folder name for files upload.
513
+ * @type {string}
514
+ */
216
515
  uploadFolder: string;
516
+ /**
517
+ * Gallery type
518
+ * @type {"gallery" | "file-upload"}
519
+ */
520
+ variant?: ComponentProps<typeof VcGallery>["variant"];
521
+ /**
522
+ * Whether the gallery has multiple files upload or not.
523
+ * @type {boolean}
524
+ */
525
+ multiple?: boolean;
526
+ /**
527
+ * Gallery item button actions on hover.
528
+ * @type {{
529
+ preview: boolean;
530
+ edit: boolean;
531
+ remove: boolean;
532
+ }}
533
+ */
534
+ actions?: ComponentProps<typeof VcGallery>["itemActions"];
217
535
  }
218
536
 
219
- export interface CardSchema extends SchemaBase {
537
+ /**
538
+ * Interface for a card schema.
539
+ * @interface
540
+ */
541
+ export interface CardSchema extends RequiredBy<Pick<SchemaBase, "id" | "label" | "visibility">, "label"> {
542
+ /**
543
+ * Component type for the card.
544
+ * @type {"vc-card"}
545
+ */
220
546
  component: "vc-card";
547
+ /**
548
+ * Array of control schemas for the fields in the card.
549
+ * @type {ControlSchema[]}
550
+ */
221
551
  fields: ControlSchema[];
552
+ /**
553
+ * Button schema for the action button in the card, along with the action method to use.
554
+ * @type {ButtonSchema & { method: string }}
555
+ */
222
556
  action?: ButtonSchema & { method: string };
557
+ /**
558
+ * Whether the card is collapsible or not.
559
+ * @type {boolean}
560
+ */
223
561
  collapsible?: boolean;
224
562
  }
225
563
 
226
- export interface WidgetsSchema extends SchemaBase {
564
+ export interface WidgetsSchema extends Pick<SchemaBase, "id"> {
227
565
  component: "vc-widgets";
228
566
  children: string[];
229
567
  }
230
568
 
231
- export interface CheckboxSchema extends SchemaBase {
569
+ export interface CheckboxSchema extends Omit<SchemaBase, "multilanguage" | "placeholder"> {
232
570
  component: "vc-checkbox";
233
571
  content: string;
234
572
  trueValue?: boolean;
235
573
  falseValue?: boolean;
236
574
  }
237
575
 
238
- export interface FieldsetSchema extends SchemaBase {
576
+ /**
577
+ * Fieldset schema interface.
578
+ * @interface
579
+ */
580
+ export interface FieldsetSchema extends PartialBy<Pick<SchemaBase, "id" | "property" | "visibility">, "property"> {
581
+ /**
582
+ * Component type for the fieldset.
583
+ * @type {"vc-fieldset"}
584
+ */
239
585
  component: "vc-fieldset";
586
+ /**
587
+ * Number of columns to display the fields in.
588
+ * @type {number}
589
+ */
240
590
  columns?: number;
591
+ /**
592
+ * Array of numbers that define the aspect ratio of each column.
593
+ * @example Set to [1, 1] to make all columns equal width.
594
+ * @description Uses CSS flex-grow property.
595
+ * @type {number[]}
596
+ */
241
597
  aspectRatio?: number[];
242
- fields: Exclude<ControlSchema[], FieldsetSchema>;
598
+ /**
599
+ * Array of control schemas to be displayed in the fieldset.
600
+ * @type {ControlSchema[]}
601
+ */
602
+ fields: ControlSchema[];
603
+ /**
604
+ * Method to call to remove field from the fieldset. When set - activates remove button.
605
+ *
606
+ * Used for property-based fieldsets.
607
+ *
608
+ * Allows to remove selected fieldset.
609
+ * @description Method should be defined in the blade `scope`.
610
+ * @type {{ method: string }}
611
+ */
243
612
  remove?: {
244
613
  method: string;
245
614
  };
246
615
  }
247
616
 
248
- export interface ButtonSchema extends SchemaBase {
617
+ /**
618
+ * Button schema interface.
619
+ */
620
+ export interface ButtonSchema extends Pick<SchemaBase, "id" | "disabled" | "visibility"> {
621
+ /**
622
+ * Component type.
623
+ * @type {"vc-button"}
624
+ */
249
625
  component: "vc-button";
626
+ /**
627
+ * Button inner text.
628
+ * @type {string}
629
+ */
250
630
  content: string;
631
+ /**
632
+ * Small sized button.
633
+ * @type {boolean}
634
+ */
251
635
  small?: boolean;
636
+ /**
637
+ * Button icon.
638
+ * @type {string}
639
+ */
252
640
  icon?: string;
641
+ /**
642
+ * Size of the button icon.
643
+ * @type {ComponentProps<typeof VcIcon>["size"]}
644
+ */
253
645
  iconSize?: ComponentProps<typeof VcIcon>["size"];
646
+ /**
647
+ * Button as text without overlay.
648
+ * @type {boolean}
649
+ */
254
650
  text?: boolean;
255
- method?: string;
651
+ /**
652
+ * Method to be called when the button is clicked.
653
+ * @description Method should be defined in the blade `scope`.
654
+ * @type {string}
655
+ */
656
+ method: string;
256
657
  }
257
658
 
258
659
  export type ControlSchema =
@@ -270,7 +671,8 @@ export type ControlSchema =
270
671
  | StatusSchema
271
672
  | FieldSchema
272
673
  | VideoSchema
273
- | ImageSchema;
674
+ | ImageSchema
675
+ | TextareaSchema;
274
676
 
275
677
  export interface FilterBase {
276
678
  columns: {
@@ -1,4 +1,4 @@
1
- import { ComputedRef, Raw } from "vue";
1
+ import { ComputedRef, Raw, Component } from "vue";
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  import {
4
4
  VcButton,
@@ -14,6 +14,7 @@ import {
14
14
  VcSelect,
15
15
  VcStatus,
16
16
  VcVideo,
17
+ VcTextarea,
17
18
  } from "../../../../ui/components";
18
19
  import type { ComponentProps, ComponentEmit, ComponentSlots } from "vue-component-type-helpers";
19
20
 
@@ -49,7 +50,9 @@ export type ControlType =
49
50
  | IInputCurrency
50
51
  | IStatusField
51
52
  | IContentField
52
- | IImageField;
53
+ | IImageField
54
+ | ITextareaField
55
+ | IVideoField;
53
56
 
54
57
  export type ControlTypeWithSlots = Extract<
55
58
  ControlType,
@@ -77,7 +80,7 @@ export type WithRequiredProperty<Type, Key extends keyof Type> = Type & {
77
80
  };
78
81
 
79
82
  export interface IControlBaseOptions {
80
- visibility?: ComputedRef<boolean>;
83
+ visibility?: ComputedRef<boolean | undefined>;
81
84
  }
82
85
 
83
86
  export type ISelectField = {
@@ -160,3 +163,8 @@ export type IFieldset = {
160
163
  remove?: { method?: string };
161
164
  fields?: ControlType[];
162
165
  };
166
+
167
+ export type ITextareaField = {
168
+ props: ComponentProps<typeof VcTextarea> | IControlBaseProps;
169
+ options: IControlBaseOptions;
170
+ } & FieldOpts<typeof VcTextarea>;