@vc-shell/framework 1.0.120 → 1.0.121

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (349) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/core/api/platform.ts +8215 -8033
  3. package/core/composables/useApiClient/index.ts +2 -1
  4. package/core/composables/useAsync/index.ts +3 -3
  5. package/core/composables/useErrorHandler/index.ts +2 -2
  6. package/core/composables/useFunctions/debounce.ts +2 -1
  7. package/core/composables/useNotifications/index.ts +4 -5
  8. package/core/composables/usePermissions/index.ts +8 -12
  9. package/core/composables/useSettings/index.ts +1 -1
  10. package/core/composables/useUser/index.ts +21 -17
  11. package/core/plugins/modularity/index.ts +7 -3
  12. package/core/plugins/moment/humanize.ts +3 -3
  13. package/core/plugins/moment/moment.ts +3 -3
  14. package/core/plugins/validation/rules.ts +1 -1
  15. package/core/types/index.ts +20 -25
  16. package/dist/core/api/platform.d.ts +5 -5
  17. package/dist/core/api/platform.d.ts.map +1 -1
  18. package/dist/core/composables/useApiClient/index.d.ts.map +1 -1
  19. package/dist/core/composables/useAsync/index.d.ts +1 -1
  20. package/dist/core/composables/useAsync/index.d.ts.map +1 -1
  21. package/dist/core/composables/useErrorHandler/index.d.ts +1 -1
  22. package/dist/core/composables/useErrorHandler/index.d.ts.map +1 -1
  23. package/dist/core/composables/useFunctions/debounce.d.ts +1 -1
  24. package/dist/core/composables/useFunctions/debounce.d.ts.map +1 -1
  25. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  26. package/dist/core/composables/usePermissions/index.d.ts +1 -1
  27. package/dist/core/composables/usePermissions/index.d.ts.map +1 -1
  28. package/dist/core/composables/useUser/index.d.ts +5 -5
  29. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  30. package/dist/core/plugins/modularity/index.d.ts +8 -6
  31. package/dist/core/plugins/modularity/index.d.ts.map +1 -1
  32. package/dist/core/plugins/moment/humanize.d.ts +1 -1
  33. package/dist/core/plugins/moment/humanize.d.ts.map +1 -1
  34. package/dist/core/plugins/moment/moment.d.ts.map +1 -1
  35. package/dist/core/types/index.d.ts +20 -19
  36. package/dist/core/types/index.d.ts.map +1 -1
  37. package/dist/framework.mjs +7866 -7825
  38. package/dist/index.css +1 -1
  39. package/dist/shared/components/app-switcher/components/vc-app-switcher/index.d.ts +3 -3
  40. package/dist/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +3 -3
  41. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/index.d.ts +21 -21
  42. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +23 -22
  43. package/dist/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -1
  44. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts +10 -10
  45. package/dist/shared/components/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  46. package/dist/shared/components/blade-navigation/types/index.d.ts +34 -18
  47. package/dist/shared/components/blade-navigation/types/index.d.ts.map +1 -1
  48. package/dist/shared/components/change-password/change-password.vue.d.ts +1 -1
  49. package/dist/shared/components/change-password/index.d.ts +1 -1
  50. package/dist/shared/components/error-interceptor/index.d.ts +35 -35
  51. package/dist/shared/components/error-interceptor/interceptor.d.ts +4 -4
  52. package/dist/shared/components/error-interceptor/interceptor.d.ts.map +1 -1
  53. package/dist/shared/components/language-selector/index.d.ts +7 -7
  54. package/dist/shared/components/language-selector/language-selector.vue.d.ts +3 -3
  55. package/dist/shared/components/notifications/components/notification-container/index.d.ts +9 -9
  56. package/dist/shared/components/notifications/composables/useContainer/index.d.ts +1 -1
  57. package/dist/shared/components/notifications/composables/useContainer/index.d.ts.map +1 -1
  58. package/dist/shared/components/notifications/core/notification.d.ts +4 -4
  59. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts +2 -1
  60. package/dist/shared/components/popup-handler/composables/usePopup/index.d.ts.map +1 -1
  61. package/dist/shared/components/popup-handler/types/index.d.ts +2 -7
  62. package/dist/shared/components/popup-handler/types/index.d.ts.map +1 -1
  63. package/dist/shared/components/popup-handler/utils/index.d.ts +1 -1
  64. package/dist/shared/components/popup-handler/utils/index.d.ts.map +1 -1
  65. package/dist/shared/components/user-dropdown-button/index.d.ts +5 -5
  66. package/dist/shared/components/user-dropdown-button/user-dropdown-button.vue.d.ts +3 -3
  67. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts +3 -3
  68. package/dist/shared/modules/assets/components/assets-details/assets-details.vue.d.ts.map +1 -1
  69. package/dist/shared/modules/assets/components/assets-details/index.d.ts +1 -46
  70. package/dist/shared/modules/assets/components/assets-details/index.d.ts.map +1 -1
  71. package/dist/shared/modules/assets/index.d.ts +1 -1
  72. package/dist/shared/modules/assets-manager/components/assets-manager/assets-manager.vue.d.ts +6 -6
  73. package/dist/shared/modules/assets-manager/components/assets-manager/index.d.ts +12 -12
  74. package/dist/shared/modules/assets-manager/index.d.ts +1 -1
  75. package/dist/shared/modules/dynamic/components/FIELD_MAP.d.ts +1 -2
  76. package/dist/shared/modules/dynamic/components/FIELD_MAP.d.ts.map +1 -1
  77. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts +83 -82
  78. package/dist/shared/modules/dynamic/components/SchemaRender.d.ts.map +1 -1
  79. package/dist/shared/modules/dynamic/components/factories.d.ts +15 -14
  80. package/dist/shared/modules/dynamic/components/factories.d.ts.map +1 -1
  81. package/dist/shared/modules/dynamic/components/fields/Button.d.ts +39 -42
  82. package/dist/shared/modules/dynamic/components/fields/Button.d.ts.map +1 -1
  83. package/dist/shared/modules/dynamic/components/fields/Card.d.ts +39 -42
  84. package/dist/shared/modules/dynamic/components/fields/Card.d.ts.map +1 -1
  85. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts +39 -42
  86. package/dist/shared/modules/dynamic/components/fields/Checkbox.d.ts.map +1 -1
  87. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts +39 -42
  88. package/dist/shared/modules/dynamic/components/fields/ContentField.d.ts.map +1 -1
  89. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts +39 -42
  90. package/dist/shared/modules/dynamic/components/fields/DynamicProperty.d.ts.map +1 -1
  91. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts +39 -42
  92. package/dist/shared/modules/dynamic/components/fields/EditorField.d.ts.map +1 -1
  93. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts +39 -42
  94. package/dist/shared/modules/dynamic/components/fields/Fieldset.d.ts.map +1 -1
  95. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts +39 -42
  96. package/dist/shared/modules/dynamic/components/fields/GalleryField.d.ts.map +1 -1
  97. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts +39 -42
  98. package/dist/shared/modules/dynamic/components/fields/ImageField.d.ts.map +1 -1
  99. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts +39 -42
  100. package/dist/shared/modules/dynamic/components/fields/InputCurrency.d.ts.map +1 -1
  101. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts +39 -42
  102. package/dist/shared/modules/dynamic/components/fields/InputField.d.ts.map +1 -1
  103. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts +39 -42
  104. package/dist/shared/modules/dynamic/components/fields/SelectField.d.ts.map +1 -1
  105. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts +39 -42
  106. package/dist/shared/modules/dynamic/components/fields/StatusField.d.ts.map +1 -1
  107. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts +132 -0
  108. package/dist/shared/modules/dynamic/components/fields/TextareaField.d.ts.map +1 -0
  109. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts +39 -42
  110. package/dist/shared/modules/dynamic/components/fields/VideoField.d.ts.map +1 -1
  111. package/dist/shared/modules/dynamic/components/fields/props.d.ts +38 -41
  112. package/dist/shared/modules/dynamic/components/fields/props.d.ts.map +1 -1
  113. package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts +2 -2
  114. package/dist/shared/modules/dynamic/composables/useFilterBuilder/index.d.ts.map +1 -1
  115. package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts +3 -3
  116. package/dist/shared/modules/dynamic/factories/base/useDetailsFactory.d.ts.map +1 -1
  117. package/dist/shared/modules/dynamic/factories/types/index.d.ts +10 -11
  118. package/dist/shared/modules/dynamic/factories/types/index.d.ts.map +1 -1
  119. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts +1 -1
  120. package/dist/shared/modules/dynamic/helpers/nodeBuilder.d.ts.map +1 -1
  121. package/dist/shared/modules/dynamic/helpers/override.d.ts.map +1 -1
  122. package/dist/shared/modules/dynamic/helpers/safeIn.d.ts +5 -0
  123. package/dist/shared/modules/dynamic/helpers/safeIn.d.ts.map +1 -0
  124. package/dist/shared/modules/dynamic/helpers/setters.d.ts +1 -0
  125. package/dist/shared/modules/dynamic/helpers/setters.d.ts.map +1 -1
  126. package/dist/shared/modules/dynamic/helpers/toolbarReducer.d.ts +1 -1
  127. package/dist/shared/modules/dynamic/helpers/toolbarReducer.d.ts.map +1 -1
  128. package/dist/shared/modules/dynamic/helpers/unwrapInterpolation.d.ts +1 -1
  129. package/dist/shared/modules/dynamic/helpers/unwrapInterpolation.d.ts.map +1 -1
  130. package/dist/shared/modules/dynamic/index.d.ts +7 -7
  131. package/dist/shared/modules/dynamic/index.d.ts.map +1 -1
  132. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts +30 -30
  133. package/dist/shared/modules/dynamic/pages/dynamic-blade-form.vue.d.ts.map +1 -1
  134. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts +11 -10
  135. package/dist/shared/modules/dynamic/pages/dynamic-blade-list.vue.d.ts.map +1 -1
  136. package/dist/shared/modules/dynamic/types/index.d.ts +321 -17
  137. package/dist/shared/modules/dynamic/types/index.d.ts.map +1 -1
  138. package/dist/shared/modules/dynamic/types/models.d.ts +7 -3
  139. package/dist/shared/modules/dynamic/types/models.d.ts.map +1 -1
  140. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts +15 -28
  141. package/dist/shared/pages/InvitePage/components/invite/Invite.vue.d.ts.map +1 -1
  142. package/dist/shared/pages/InvitePage/components/invite/index.d.ts +13 -17
  143. package/dist/shared/pages/InvitePage/components/invite/index.d.ts.map +1 -1
  144. package/dist/shared/pages/LoginPage/components/login/Login.vue.d.ts.map +1 -1
  145. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts +15 -28
  146. package/dist/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue.d.ts.map +1 -1
  147. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts +13 -17
  148. package/dist/shared/pages/ResetPasswordPage/components/reset-password/index.d.ts.map +1 -1
  149. package/dist/shared/utilities/assets.d.ts +3 -3
  150. package/dist/shared/utilities/assets.d.ts.map +1 -1
  151. package/dist/shared/utilities/vueUtils.d.ts +34 -0
  152. package/dist/shared/utilities/vueUtils.d.ts.map +1 -0
  153. package/dist/tsconfig.tsbuildinfo +1 -1
  154. package/dist/ui/components/atoms/vc-badge/index.d.ts +30 -30
  155. package/dist/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +1 -1
  156. package/dist/ui/components/atoms/vc-button/vc-button.vue.d.ts +1 -1
  157. package/dist/ui/components/atoms/vc-card/index.d.ts +37 -37
  158. package/dist/ui/components/atoms/vc-card/vc-card.vue.d.ts +2 -2
  159. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +49 -45
  160. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -1
  161. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts +2 -2
  162. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -1
  163. package/dist/ui/components/atoms/vc-container/index.d.ts +33 -33
  164. package/dist/ui/components/atoms/vc-container/vc-container.vue.d.ts +2 -2
  165. package/dist/ui/components/atoms/vc-hint/index.d.ts +22 -22
  166. package/dist/ui/components/atoms/vc-image/index.d.ts +10 -10
  167. package/dist/ui/components/atoms/vc-image/vc-image.vue.d.ts +2 -2
  168. package/dist/ui/components/atoms/vc-info-row/index.d.ts +4 -4
  169. package/dist/ui/components/atoms/vc-label/index.d.ts +26 -26
  170. package/dist/ui/components/atoms/vc-label/vc-label.vue.d.ts +1 -1
  171. package/dist/ui/components/atoms/vc-link/index.d.ts +29 -29
  172. package/dist/ui/components/atoms/vc-link/vc-link.vue.d.ts +1 -1
  173. package/dist/ui/components/atoms/vc-progress/index.d.ts +43 -43
  174. package/dist/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +1 -1
  175. package/dist/ui/components/atoms/vc-status-icon/index.d.ts +1 -9
  176. package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -1
  177. package/dist/ui/components/atoms/vc-switch/index.d.ts +1 -1
  178. package/dist/ui/components/atoms/vc-switch/vc-switch.vue.d.ts +1 -1
  179. package/dist/ui/components/atoms/vc-video/index.d.ts +1 -19
  180. package/dist/ui/components/atoms/vc-video/index.d.ts.map +1 -1
  181. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts +1 -4
  182. package/dist/ui/components/atoms/vc-video/vc-video.vue.d.ts.map +1 -1
  183. package/dist/ui/components/atoms/vc-widget/index.d.ts +1 -1
  184. package/dist/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +1 -1
  185. package/dist/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +9 -9
  186. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts +8 -8
  187. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +4 -4
  188. package/dist/ui/components/molecules/vc-code-editor/index.d.ts +65 -75
  189. package/dist/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -1
  190. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +5 -16
  191. package/dist/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -1
  192. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +6 -20
  193. package/dist/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -1
  194. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts +3 -3
  195. package/dist/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue.d.ts.map +1 -1
  196. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts +2 -2
  197. package/dist/ui/components/molecules/vc-field/vc-field.vue.d.ts.map +1 -1
  198. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +59 -59
  199. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +2 -2
  200. package/dist/ui/components/molecules/vc-form/index.d.ts +22 -22
  201. package/dist/ui/components/molecules/vc-input/vc-input.vue.d.ts +8 -8
  202. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +99 -99
  203. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
  204. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +8 -8
  205. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -1
  206. package/dist/ui/components/molecules/vc-multivalue/index.d.ts +70 -70
  207. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts +70 -70
  208. package/dist/ui/components/molecules/vc-multivalue/vc-multivalue.vue.d.ts.map +1 -1
  209. package/dist/ui/components/molecules/vc-notification/index.d.ts +1 -51
  210. package/dist/ui/components/molecules/vc-notification/index.d.ts.map +1 -1
  211. package/dist/ui/components/molecules/vc-pagination/index.d.ts +7 -7
  212. package/dist/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +1 -1
  213. package/dist/ui/components/molecules/vc-rating/index.d.ts +25 -25
  214. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts +80 -80
  215. package/dist/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -1
  216. package/dist/ui/components/molecules/vc-slider/index.d.ts +40 -40
  217. package/dist/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +2 -2
  218. package/dist/ui/components/molecules/vc-textarea/index.d.ts +1 -230
  219. package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +1 -1
  220. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +6 -6
  221. package/dist/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -1
  222. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +4 -7
  223. package/dist/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -1
  224. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +1 -1
  225. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +13 -13
  226. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts.map +1 -1
  227. package/dist/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +10 -10
  228. package/dist/ui/components/organisms/vc-app/index.d.ts +93 -92
  229. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  230. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts +20 -21
  231. package/dist/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -1
  232. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +4 -4
  233. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +9 -9
  234. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -1
  235. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +2 -2
  236. package/dist/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -1
  237. package/dist/ui/components/organisms/vc-blade/index.d.ts +70 -70
  238. package/dist/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +5 -5
  239. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +67 -67
  240. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -1
  241. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +15 -15
  242. package/dist/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +3 -3
  243. package/dist/ui/components/organisms/vc-gallery/index.d.ts +24 -36
  244. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -1
  245. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +8 -10
  246. package/dist/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -1
  247. package/dist/ui/components/organisms/vc-login-form/index.d.ts +24 -24
  248. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts +1 -1
  249. package/dist/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue.d.ts.map +1 -1
  250. package/dist/ui/components/organisms/vc-notification-template/index.d.ts +1 -103
  251. package/dist/ui/components/organisms/vc-notification-template/index.d.ts.map +1 -1
  252. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts +2 -0
  253. package/dist/ui/components/organisms/vc-notification-template/vc-notification-template.vue.d.ts.map +1 -1
  254. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-error/vc-popup-error.vue.d.ts +1 -1
  255. package/dist/ui/components/organisms/vc-popup/_internal/vc-popup-warning/vc-popup-warning.vue.d.ts +2 -2
  256. package/dist/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +2 -2
  257. package/dist/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +1 -1
  258. package/dist/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +1 -1
  259. package/dist/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +2 -2
  260. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +15 -15
  261. package/dist/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -1
  262. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts +105 -105
  263. package/dist/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -1
  264. package/package.json +5 -5
  265. package/shared/components/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -3
  266. package/shared/components/app-switcher/composables/useAppSwitcher/index.ts +1 -1
  267. package/shared/components/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +7 -7
  268. package/shared/components/blade-navigation/composables/useBladeNavigation/index.ts +80 -80
  269. package/shared/components/blade-navigation/types/index.ts +50 -18
  270. package/shared/components/change-password/change-password.vue +32 -5
  271. package/shared/components/error-interceptor/interceptor.ts +4 -4
  272. package/shared/components/notifications/composables/useContainer/index.ts +2 -2
  273. package/shared/components/notifications/composables/useInstance/index.ts +2 -2
  274. package/shared/components/notifications/core/notification.ts +2 -2
  275. package/shared/components/popup-handler/components/vc-popup-container/vc-popup-container.vue +2 -2
  276. package/shared/components/popup-handler/composables/usePopup/index.ts +13 -6
  277. package/shared/components/popup-handler/types/index.ts +1 -7
  278. package/shared/components/user-dropdown-button/user-dropdown-button.vue +1 -1
  279. package/shared/modules/assets/components/assets-details/assets-details.vue +12 -6
  280. package/shared/modules/assets/components/assets-details/index.ts +1 -3
  281. package/shared/modules/assets-manager/components/assets-manager/assets-manager.vue +10 -10
  282. package/shared/modules/dynamic/components/FIELD_MAP.ts +4 -2
  283. package/shared/modules/dynamic/components/SchemaRender.ts +2 -2
  284. package/shared/modules/dynamic/components/factories.ts +24 -13
  285. package/shared/modules/dynamic/components/fields/Button.ts +3 -3
  286. package/shared/modules/dynamic/components/fields/Card.ts +30 -15
  287. package/shared/modules/dynamic/components/fields/Checkbox.ts +2 -2
  288. package/shared/modules/dynamic/components/fields/ContentField.ts +2 -2
  289. package/shared/modules/dynamic/components/fields/DynamicProperty.ts +19 -9
  290. package/shared/modules/dynamic/components/fields/Fieldset.ts +7 -4
  291. package/shared/modules/dynamic/components/fields/GalleryField.ts +42 -22
  292. package/shared/modules/dynamic/components/fields/ImageField.ts +2 -2
  293. package/shared/modules/dynamic/components/fields/InputCurrency.ts +8 -4
  294. package/shared/modules/dynamic/components/fields/InputField.ts +9 -9
  295. package/shared/modules/dynamic/components/fields/SelectField.ts +6 -3
  296. package/shared/modules/dynamic/components/fields/StatusField.ts +3 -3
  297. package/shared/modules/dynamic/components/fields/TextareaField.ts +41 -0
  298. package/shared/modules/dynamic/components/fields/ValidationField.ts +9 -9
  299. package/shared/modules/dynamic/components/fields/VideoField.ts +2 -5
  300. package/shared/modules/dynamic/components/fields/props.ts +1 -2
  301. package/shared/modules/dynamic/composables/useFilterBuilder/index.ts +18 -10
  302. package/shared/modules/dynamic/factories/base/useDetailsFactory.ts +7 -6
  303. package/shared/modules/dynamic/factories/base/useListFactory.ts +4 -4
  304. package/shared/modules/dynamic/factories/types/index.ts +11 -9
  305. package/shared/modules/dynamic/helpers/nodeBuilder.ts +53 -27
  306. package/shared/modules/dynamic/helpers/override.ts +14 -27
  307. package/shared/modules/dynamic/helpers/safeIn.ts +6 -0
  308. package/shared/modules/dynamic/helpers/setters.ts +11 -2
  309. package/shared/modules/dynamic/helpers/toolbarReducer.ts +3 -3
  310. package/shared/modules/dynamic/helpers/unwrapInterpolation.ts +2 -1
  311. package/shared/modules/dynamic/index.ts +38 -29
  312. package/shared/modules/dynamic/pages/dynamic-blade-form.vue +33 -31
  313. package/shared/modules/dynamic/pages/dynamic-blade-list.vue +45 -33
  314. package/shared/modules/dynamic/types/index.ts +323 -17
  315. package/shared/modules/dynamic/types/models.ts +11 -3
  316. package/shared/pages/InvitePage/components/invite/Invite.vue +17 -19
  317. package/shared/pages/LoginPage/components/login/Login.vue +6 -8
  318. package/shared/pages/ResetPasswordPage/components/reset-password/ResetPassword.vue +17 -19
  319. package/shared/utilities/assets.ts +6 -4
  320. package/shared/utilities/vueUtils.ts +46 -0
  321. package/ui/components/atoms/vc-checkbox/vc-checkbox.vue +2 -2
  322. package/ui/components/atoms/vc-status-icon/index.ts +1 -3
  323. package/ui/components/atoms/vc-video/vc-video.vue +1 -14
  324. package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +1 -3
  325. package/ui/components/molecules/vc-editor/vc-editor.vue +13 -7
  326. package/ui/components/molecules/vc-field/_internal/vc-field-type/vc-field-type.vue +14 -5
  327. package/ui/components/molecules/vc-field/vc-field.vue +1 -1
  328. package/ui/components/molecules/vc-input/vc-input.vue +4 -4
  329. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +11 -11
  330. package/ui/components/molecules/vc-multivalue/vc-multivalue.vue +1 -1
  331. package/ui/components/molecules/vc-notification/index.ts +1 -3
  332. package/ui/components/molecules/vc-notification/vc-notification.vue +6 -6
  333. package/ui/components/molecules/vc-select/vc-select.vue +6 -4
  334. package/ui/components/molecules/vc-textarea/index.ts +1 -10
  335. package/ui/components/molecules/vc-textarea/vc-textarea.vue +6 -1
  336. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +0 -1
  337. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +3 -3
  338. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +7 -7
  339. package/ui/components/organisms/vc-app/vc-app.vue +11 -19
  340. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +2 -2
  341. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +2 -2
  342. package/ui/components/organisms/vc-blade/vc-blade.vue +1 -1
  343. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +3 -3
  344. package/ui/components/organisms/vc-gallery/vc-gallery.vue +6 -7
  345. package/ui/components/organisms/vc-notification-dropdown/_internal/notification/notification.vue +1 -12
  346. package/ui/components/organisms/vc-notification-template/index.ts +1 -3
  347. package/ui/components/organisms/vc-notification-template/vc-notification-template.vue +35 -17
  348. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +6 -6
  349. package/ui/components/organisms/vc-table/vc-table.vue +12 -11
@@ -149,14 +149,14 @@ const isDirty = useIsFormDirty();
149
149
  const { t } = useI18n({ useScope: "global" });
150
150
  const defaultAsset = ref<Asset>({ ...props.options?.asset });
151
151
 
152
- const readonly = computed(() => props.options.disabled);
152
+ const readonly = computed(() => props.options?.disabled);
153
153
 
154
154
  const assetNameClean = computed({
155
155
  get() {
156
- return defaultAsset.value.name.split(".").shift();
156
+ return defaultAsset.value.name?.split(".").shift();
157
157
  },
158
- set(value: string) {
159
- const fileExtension = defaultAsset.value.name.split(".").pop();
158
+ set(value) {
159
+ const fileExtension = defaultAsset.value.name?.split(".").pop();
160
160
  defaultAsset.value.name = value + "." + fileExtension;
161
161
  },
162
162
  });
@@ -194,7 +194,10 @@ const bladeToolbar = ref<IBladeToolbar[]>([
194
194
 
195
195
  const assetType = computed(() => defaultAsset.value?.typeId);
196
196
 
197
- function copyLink(link: string) {
197
+ function copyLink(link: string | undefined) {
198
+ if (!link) {
199
+ return;
200
+ }
198
201
  if (link.charAt(0) === "/") {
199
202
  navigator.clipboard?.writeText(`${location.origin}${link}`);
200
203
  } else {
@@ -202,7 +205,10 @@ function copyLink(link: string) {
202
205
  }
203
206
  }
204
207
 
205
- function openLink(link: string) {
208
+ function openLink(link: string | undefined) {
209
+ if (!link) {
210
+ return;
211
+ }
206
212
  location.href = link;
207
213
  }
208
214
  </script>
@@ -1,3 +1 @@
1
- import _AssetsDetails from "./assets-details.vue";
2
-
3
- export const AssetsDetails = _AssetsDetails as typeof _AssetsDetails;
1
+ export { default as AssetsDetails } from "./assets-details.vue";
@@ -24,7 +24,7 @@
24
24
  :items="defaultAssets"
25
25
  :header="false"
26
26
  :footer="false"
27
- :item-action-builder="!readonly && actionBuilder"
27
+ :item-action-builder="!readonly ? actionBuilder : undefined"
28
28
  :multiselect="!readonly"
29
29
  class="tw-h-full tw-w-full"
30
30
  @item-click="onItemClick"
@@ -48,14 +48,14 @@
48
48
  <!-- Override size column -->
49
49
  <template #item_size="{ item }">
50
50
  <div>
51
- {{ readableSize(item.size) }}
51
+ {{ readableSize(item.size ?? 0) }}
52
52
  </div>
53
53
  </template>
54
54
 
55
55
  <!-- Override url column -->
56
56
  <template #item_url="{ item }">
57
57
  <div class="tw-flex tw-items-center tw-justify-center">
58
- <template v-if="isImage(item.name)">
58
+ <template v-if="isImage(item.name ?? '')">
59
59
  <VcImage
60
60
  :bordered="true"
61
61
  size="s"
@@ -66,7 +66,7 @@
66
66
  </template>
67
67
  <template v-else>
68
68
  <VcIcon
69
- :icon="getFileThumbnail(item.name)"
69
+ :icon="getFileThumbnail(item.name ?? '')"
70
70
  class="tw-text-[#a9bfd2] tw-text-[38px]"
71
71
  ></VcIcon>
72
72
  </template>
@@ -83,7 +83,7 @@
83
83
  <!-- Mobile -->
84
84
  <template #mobile-item="{ item }">
85
85
  <div class="tw-border-b tw-border-solid tw-border-b-[#e3e7ec] tw-p-3 tw-flex tw-flex-nowrap">
86
- <template v-if="isImage(item.name)">
86
+ <template v-if="isImage(item.name ?? '')">
87
87
  <VcImage
88
88
  :bordered="true"
89
89
  size="s"
@@ -95,7 +95,7 @@
95
95
  <template v-else>
96
96
  <div class="tw-w-12 tw-flex tw-items-center tw-justify-center">
97
97
  <VcIcon
98
- :icon="getFileThumbnail(item.name)"
98
+ :icon="getFileThumbnail(item.name ?? '')"
99
99
  class="tw-text-[#a9bfd2] tw-w-12 tw-text-[48px]"
100
100
  ></VcIcon>
101
101
  </div>
@@ -108,7 +108,7 @@
108
108
  <div class="tw-truncate tw-grow tw-basis-0 tw-mr-2">
109
109
  <VcHint>{{ t("ASSETS_MANAGER.TABLE.HEADER.SIZE") }}</VcHint>
110
110
  <div class="tw-truncate tw-mt-1">
111
- {{ readableSize(item.size) }}
111
+ {{ readableSize(item.size ?? 0) }}
112
112
  </div>
113
113
  </div>
114
114
  <div class="tw-truncate tw-grow tw-basis-0 tw-mr-2">
@@ -143,10 +143,10 @@
143
143
 
144
144
  <script setup lang="ts">
145
145
  import { Asset, IActionBuilderResult, IBladeToolbar, ITableColumns } from "../../../../../core/types";
146
- import { ref, computed, onMounted, unref, watch, markRaw, UnwrapNestedRefs } from "vue";
146
+ import { ref, computed, onMounted, unref, watch, markRaw, Ref } from "vue";
147
147
  import { useI18n } from "vue-i18n";
148
148
  import moment from "moment";
149
- import Assets from "./../../../assets/components/assets-details/assets-details.vue";
149
+ import { AssetsDetails as Assets } from "./../../../assets/components/assets-details";
150
150
  import { isImage, getFileThumbnail, readableSize } from "./../../../../utilities/assets";
151
151
  import * as _ from "lodash-es";
152
152
  import { IParentCallArgs, useBladeNavigation } from "../../../../components";
@@ -185,7 +185,7 @@ const defaultAssets = ref<Asset[]>([]);
185
185
  const isDragging = ref(false);
186
186
  const uploader = ref();
187
187
  const loading = ref(false);
188
- const selectedItems = ref([]);
188
+ const selectedItems: Ref<Asset[]> = ref([]);
189
189
  const readonly = computed(() => props.options.disabled);
190
190
  let assetsCopy: Asset[];
191
191
  const modified = ref(false);
@@ -12,12 +12,13 @@ import StatusField from "./fields/StatusField";
12
12
  import ContentField from "./fields/ContentField";
13
13
  import VideoField from "./fields/VideoField";
14
14
  import ImageField from "./fields/ImageField";
15
+ import TextareaField from "./fields/TextareaField";
15
16
 
16
17
  import { ControlSchema } from "../types";
17
- import { ConcreteComponent } from "vue";
18
18
 
19
19
  type AvailableComponents = Exclude<ControlSchema["component"], "vc-widgets">;
20
- type TFieldMap = Record<AvailableComponents, ConcreteComponent>;
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ type TFieldMap = Record<AvailableComponents, any>;
21
22
 
22
23
  const FIELD_MAP: TFieldMap = {
23
24
  "vc-select": SelectField,
@@ -34,6 +35,7 @@ const FIELD_MAP: TFieldMap = {
34
35
  "vc-field": ContentField,
35
36
  "vc-video": VideoField,
36
37
  "vc-image": ImageField,
38
+ "vc-textarea": TextareaField,
37
39
  };
38
40
 
39
41
  export default FIELD_MAP;
@@ -8,7 +8,7 @@ import { nodeBuilder } from "../helpers/nodeBuilder";
8
8
  const schemeRenderProps = {
9
9
  context: {
10
10
  type: Object as PropType<UnwrapNestedRefs<DetailsBladeContext>>,
11
- default: () => ({}),
11
+ default: () => ({} as DetailsBladeContext),
12
12
  },
13
13
  modelValue: {
14
14
  type: Object as PropType<Record<string, any>>,
@@ -74,7 +74,7 @@ export default defineComponent({
74
74
  formData: internalFormData,
75
75
  }),
76
76
  ],
77
- []
77
+ [] as VNode[]
78
78
  )
79
79
  );
80
80
  },
@@ -14,6 +14,7 @@ import {
14
14
  VcSelect,
15
15
  VcStatus,
16
16
  VcVideo,
17
+ VcTextarea,
17
18
  } from "../../../../ui/components";
18
19
  import {
19
20
  IControlBaseProps,
@@ -32,6 +33,7 @@ import {
32
33
  IContentField,
33
34
  IVideoField,
34
35
  IImageField,
36
+ ITextareaField,
35
37
  } from "../types/models";
36
38
 
37
39
  export const ControlBase = ({ visibility = undefined }: IControlBaseOptions): IControlBaseOptions => ({
@@ -62,7 +64,7 @@ export const ControlBaseProps = ({
62
64
  ...rest,
63
65
  });
64
66
 
65
- export const SelectField = ({ props, slots, options }: Partial<ISelectField>): ISelectField => ({
67
+ export const SelectField = ({ props, slots, options }: ISelectField): ISelectField => ({
66
68
  component: markRaw(VcSelect) as any,
67
69
  props: {
68
70
  ...ControlBaseProps(props),
@@ -72,7 +74,7 @@ export const SelectField = ({ props, slots, options }: Partial<ISelectField>): I
72
74
  slots,
73
75
  });
74
76
 
75
- export const StatusField = ({ props, slots, options }: Partial<IStatusField>): IStatusField => ({
77
+ export const StatusField = ({ props, slots, options }: IStatusField): IStatusField => ({
76
78
  component: markRaw(VcStatus),
77
79
  props: {
78
80
  ...ControlBaseProps(props),
@@ -82,7 +84,7 @@ export const StatusField = ({ props, slots, options }: Partial<IStatusField>): I
82
84
  slots,
83
85
  });
84
86
 
85
- export const InputField = ({ props, options, slots }: Partial<IInputField>): IInputField => ({
87
+ export const InputField = ({ props, options, slots }: IInputField): IInputField => ({
86
88
  component: markRaw(VcInput),
87
89
  props: {
88
90
  ...ControlBaseProps(props),
@@ -92,7 +94,16 @@ export const InputField = ({ props, options, slots }: Partial<IInputField>): IIn
92
94
  slots,
93
95
  });
94
96
 
95
- export const ContentField = ({ props, options }: Partial<IContentField>): IContentField => ({
97
+ export const TextareaField = ({ props, options }: ITextareaField): ITextareaField => ({
98
+ component: markRaw(VcTextarea),
99
+ props: {
100
+ ...ControlBaseProps(props),
101
+ ...props,
102
+ },
103
+ options: ControlBase(options),
104
+ });
105
+
106
+ export const ContentField = ({ props, options }: IContentField): IContentField => ({
96
107
  component: markRaw(VcField),
97
108
  props: {
98
109
  ...ControlBaseProps(props),
@@ -101,7 +112,7 @@ export const ContentField = ({ props, options }: Partial<IContentField>): IConte
101
112
  options: ControlBase(options),
102
113
  });
103
114
 
104
- export const ImageField = ({ props, options }: Partial<IImageField>): IImageField => ({
115
+ export const ImageField = ({ props, options }: IImageField): IImageField => ({
105
116
  component: markRaw(VcImage),
106
117
  props: {
107
118
  ...ControlBaseProps(props),
@@ -110,7 +121,7 @@ export const ImageField = ({ props, options }: Partial<IImageField>): IImageFiel
110
121
  options: ControlBase(options),
111
122
  });
112
123
 
113
- export const VideoField = ({ props, options }: Partial<IInputField>): IVideoField => ({
124
+ export const VideoField = ({ props, options }: IInputField): IVideoField => ({
114
125
  component: markRaw(VcVideo),
115
126
  props: {
116
127
  ...ControlBaseProps(props),
@@ -119,7 +130,7 @@ export const VideoField = ({ props, options }: Partial<IInputField>): IVideoFiel
119
130
  options: ControlBase(options),
120
131
  });
121
132
 
122
- export const InputCurrency = ({ props, options }: Partial<IInputCurrency>): IInputCurrency => ({
133
+ export const InputCurrency = ({ props, options }: IInputCurrency): IInputCurrency => ({
123
134
  component: markRaw(VcInputCurrency),
124
135
  props: {
125
136
  ...ControlBaseProps(props),
@@ -128,7 +139,7 @@ export const InputCurrency = ({ props, options }: Partial<IInputCurrency>): IInp
128
139
  options: ControlBase(options),
129
140
  });
130
141
 
131
- export const CardCollection = ({ props, options, slots }: Partial<ICardCollection>): ICardCollection => ({
142
+ export const CardCollection = ({ props, options, slots }: ICardCollection): ICardCollection => ({
132
143
  component: markRaw(VcCard),
133
144
  props: {
134
145
  ...props,
@@ -138,7 +149,7 @@ export const CardCollection = ({ props, options, slots }: Partial<ICardCollectio
138
149
  slots,
139
150
  });
140
151
 
141
- export const DynamicProperties = ({ props, options }: Partial<IDynamicProperties>): IDynamicProperties => ({
152
+ export const DynamicProperties = ({ props, options }: IDynamicProperties): IDynamicProperties => ({
142
153
  component: markRaw(VcDynamicProperty),
143
154
  props: {
144
155
  ...props,
@@ -147,7 +158,7 @@ export const DynamicProperties = ({ props, options }: Partial<IDynamicProperties
147
158
  options: ControlBase(options),
148
159
  });
149
160
 
150
- export const EditorField = ({ props, options }: Partial<IEditorField>): IEditorField => ({
161
+ export const EditorField = ({ props, options }: IEditorField): IEditorField => ({
151
162
  component: markRaw(VcEditor),
152
163
  props: {
153
164
  ...ControlBaseProps(props),
@@ -156,7 +167,7 @@ export const EditorField = ({ props, options }: Partial<IEditorField>): IEditorF
156
167
  options: ControlBase(options),
157
168
  });
158
169
 
159
- export const Gallery = ({ props, options }: Partial<IGallery>): IGallery => ({
170
+ export const Gallery = ({ props, options }: IGallery): IGallery => ({
160
171
  component: markRaw(VcGallery),
161
172
  props: {
162
173
  ...ControlBaseProps(props),
@@ -165,7 +176,7 @@ export const Gallery = ({ props, options }: Partial<IGallery>): IGallery => ({
165
176
  options: ControlBase(options),
166
177
  });
167
178
 
168
- export const Checkbox = ({ props, options, slots }: Partial<ICheckbox>): ICheckbox => ({
179
+ export const Checkbox = ({ props, options, slots }: ICheckbox): ICheckbox => ({
169
180
  component: markRaw(VcCheckbox),
170
181
  props: {
171
182
  ...ControlBaseProps(props),
@@ -175,7 +186,7 @@ export const Checkbox = ({ props, options, slots }: Partial<ICheckbox>): ICheckb
175
186
  slots,
176
187
  });
177
188
 
178
- export const Button = ({ props, options, slots }: Partial<IButton>): IButton => ({
189
+ export const Button = ({ props, options, slots }: IButton): IButton => ({
179
190
  component: markRaw(VcButton),
180
191
  props: {
181
192
  ...ControlBaseProps(props),
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, h, unref } from "vue";
1
+ import { Component, ExtractPropTypes, h, unref } from "vue";
2
2
  import { Button } from "../factories";
3
3
  import componentProps from "./props";
4
4
  import { ButtonSchema } from "../../types";
@@ -16,7 +16,7 @@ export default {
16
16
  iconSize: props.element?.iconSize,
17
17
  text: props.element?.text,
18
18
  onClick: () => {
19
- unref(props.bladeContext.scope)[props.element.method]();
19
+ unref(props.bladeContext.scope)?.[props.element.method]();
20
20
  },
21
21
  },
22
22
  options: props.baseOptions,
@@ -25,7 +25,7 @@ export default {
25
25
  },
26
26
  });
27
27
 
28
- return props.baseOptions.visibility ? h(field.component, field.props, field.slots) : null;
28
+ return props.baseOptions.visibility ? h(field.component as Component, field.props, field.slots) : null;
29
29
  };
30
30
  },
31
31
  };
@@ -1,4 +1,14 @@
1
- import { ExtractPropTypes, computed, h, toValue, VNodeChild, VNodeNormalizedChildren, watch, VNode } from "vue";
1
+ import {
2
+ ExtractPropTypes,
3
+ computed,
4
+ h,
5
+ toValue,
6
+ VNodeChild,
7
+ VNodeNormalizedChildren,
8
+ watch,
9
+ VNode,
10
+ Component,
11
+ } from "vue";
2
12
  import { CardCollection } from "../factories";
3
13
  import componentProps from "./props";
4
14
  import { CardSchema } from "../../types";
@@ -14,7 +24,7 @@ export default {
14
24
 
15
25
  const commentRecursiveNodeCheck = (node: VNodeChild | VNodeNormalizedChildren): boolean => {
16
26
  return _.every(Array.isArray(node) ? node : [node], (nodeItem) => {
17
- if (typeof nodeItem === "object") {
27
+ if (nodeItem && typeof nodeItem === "object") {
18
28
  if (
19
29
  "children" in nodeItem &&
20
30
  nodeItem.children &&
@@ -24,12 +34,13 @@ export default {
24
34
  return commentRecursiveNodeCheck(nodeItem.children);
25
35
  }
26
36
  if (
37
+ nodeItem &&
27
38
  "el" in nodeItem &&
28
39
  nodeItem.el &&
29
- "nodeType" in (nodeItem.el as VNode["el"]) &&
30
- (nodeItem.el as VNode["el"]).nodeType
40
+ "nodeType" in (nodeItem.el as VNode["el"] as HTMLElement) &&
41
+ (nodeItem.el as VNode["el"] as HTMLElement).nodeType
31
42
  ) {
32
- return (nodeItem.el as VNode["el"]).nodeType !== 8;
43
+ return (nodeItem.el as VNode["el"] as HTMLElement).nodeType !== 8;
33
44
  } else return true;
34
45
  } else return true;
35
46
  });
@@ -59,15 +70,17 @@ export default {
59
70
  slots: {
60
71
  default: () => h("div", { class: "tw-flex tw-flex-col tw-p-4 tw-gap-4" }, toValue(props.fields)),
61
72
  actions: () => {
62
- const elem = nodeBuilder({
63
- controlSchema: props.element.action,
64
- parentId: `${props.element.id}`,
65
- internalContext: props.fieldContext,
66
- bladeContext: props.bladeContext,
67
- currentLocale: props.currentLocale,
68
- formData: props.formData,
69
- });
70
- return elem;
73
+ if (props.element.action && props.fieldContext && props.currentLocale) {
74
+ const elem = nodeBuilder({
75
+ controlSchema: props.element.action,
76
+ parentId: `${props.element.id}`,
77
+ internalContext: props.fieldContext,
78
+ bladeContext: props.bladeContext,
79
+ currentLocale: props.currentLocale,
80
+ formData: props.formData,
81
+ });
82
+ return elem;
83
+ }
71
84
  },
72
85
  },
73
86
  });
@@ -80,7 +93,9 @@ export default {
80
93
  return localStorage?.getItem(key) === "true";
81
94
  }
82
95
 
83
- return props.baseOptions.visibility && isNotEmpty.value ? h(field.component, field.props, field.slots) : null;
96
+ return props.baseOptions.visibility && isNotEmpty.value
97
+ ? h(field.component as Component, field.props, field.slots)
98
+ : null;
84
99
  };
85
100
  },
86
101
  };
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, h } from "vue";
1
+ import { ExtractPropTypes, h, Component } from "vue";
2
2
  import { Checkbox } from "../factories";
3
3
  import componentProps from "./props";
4
4
  import ValidationField from "./ValidationField";
@@ -21,7 +21,7 @@ export default {
21
21
  },
22
22
  });
23
23
 
24
- const render = h(field.component, field.props, field.slots);
24
+ const render = h(field.component as Component, field.props, field.slots);
25
25
 
26
26
  if (field.props.rules) {
27
27
  return props.baseOptions.visibility
@@ -1,4 +1,4 @@
1
- import { ExtractPropTypes, h } from "vue";
1
+ import { ExtractPropTypes, h, Component } from "vue";
2
2
  import { ContentField } from "../factories";
3
3
  import componentProps from "./props";
4
4
  import { FieldSchema } from "../../types";
@@ -17,7 +17,7 @@ export default {
17
17
  options: props.baseOptions,
18
18
  });
19
19
 
20
- const render = h(field.component, field.props);
20
+ const render = h(field.component as Component, field.props);
21
21
 
22
22
  return props.baseOptions.visibility ? render : null;
23
23
  };
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { ExtractPropTypes, computed, h, ref, toValue, watch, UnwrapNestedRefs } from "vue";
2
+ import { ExtractPropTypes, computed, h, ref, toValue, watch, UnwrapNestedRefs, Component } from "vue";
3
3
  import { DynamicProperties } from "../factories";
4
4
  import componentProps from "./props";
5
5
  import { unrefNested } from "../../helpers/unrefNested";
@@ -31,7 +31,7 @@ export default {
31
31
  props: componentProps,
32
32
  emits: ["setModelData"],
33
33
  setup(props: ExtractPropTypes<typeof componentProps> & { element: DynamicPropertiesSchema }) {
34
- if (!props.bladeContext.scope.dynamicProperties) {
34
+ if (!props.bladeContext.scope?.dynamicProperties) {
35
35
  throw new Error(
36
36
  `There is no DynamicProperties config provided in blade scope: ${JSON.stringify(
37
37
  props.bladeContext.scope,
@@ -54,7 +54,7 @@ export default {
54
54
  );
55
55
 
56
56
  const filteredProps = reactify(
57
- (prop: IProperty[], { include, exclude }: { include: string[]; exclude: string[] }) => {
57
+ (prop: IProperty[], { include, exclude }: { include?: string[]; exclude?: string[] }) => {
58
58
  if (prop) {
59
59
  return prop.filter((x) => {
60
60
  if (include) return include?.includes(x.type);
@@ -75,20 +75,30 @@ export default {
75
75
  return (dynamicProps.value || [])?.map((prop) =>
76
76
  DynamicProperties({
77
77
  props: {
78
- disabled: "disabled" in props.bladeContext.scope && props.bladeContext.scope.disabled,
78
+ disabled:
79
+ props.bladeContext.scope && "disabled" in props.bladeContext.scope && props.bladeContext.scope.disabled,
79
80
  property: prop,
80
81
  modelValue: computed(() =>
81
- props.bladeContext.scope.dynamicProperties.getPropertyValue(prop, toValue(props.currentLocale))
82
+ props.bladeContext.scope?.dynamicProperties?.getPropertyValue(
83
+ prop,
84
+ toValue(props.currentLocale ?? "en-US")
85
+ )
82
86
  ),
83
- optionsGetter: props.bladeContext.scope.dynamicProperties.loadDictionaries,
87
+ optionsGetter: props.bladeContext.scope?.dynamicProperties?.loadDictionaries as (
88
+ property: Record<string, any>,
89
+ keyword?: string | undefined,
90
+ locale?: string | undefined
91
+ ) => Promise<Record<string, any>[]>,
84
92
  "onUpdate:model-value": (args: {
85
93
  property: Record<string, any>;
86
94
  value: string | Record<string, any>[];
87
95
  dictionary?: Record<string, any>[];
88
96
  locale?: string;
89
97
  }) => {
90
- props.bladeContext.scope.dynamicProperties.setPropertyValue(args);
91
- setModel({ context: props.fieldContext, property: props.element.property, value: internalModel.value });
98
+ props.bladeContext.scope?.dynamicProperties?.setPropertyValue(args);
99
+ if (props.fieldContext) {
100
+ setModel({ context: props.fieldContext, property: props.element.property, value: internalModel.value });
101
+ }
92
102
  },
93
103
  required: prop.required,
94
104
  multivalue: prop.multivalue,
@@ -112,7 +122,7 @@ export default {
112
122
 
113
123
  return () => {
114
124
  return properties && properties.length && props.baseOptions.visibility
115
- ? properties?.map((field) => h(field.component, unrefNested(field.props)))
125
+ ? properties?.map((field) => h(field.component as Component, unrefNested(field.props)))
116
126
  : null;
117
127
  };
118
128
  },
@@ -8,14 +8,14 @@ export default {
8
8
  name: "Fieldset",
9
9
  props: componentProps,
10
10
  setup(props: ExtractPropTypes<typeof componentProps> & { element: FieldsetSchema }) {
11
- const isMobile = inject<Ref<boolean>>("isMobile");
11
+ const isMobile = inject("isMobile") as Ref<boolean>;
12
12
 
13
13
  const { fields: fieldsetFields } = toRefs(props);
14
14
 
15
15
  return () =>
16
16
  props.baseOptions.visibility
17
17
  ? toValue(fieldsetFields.value).map((fields, index, arr) => {
18
- const divideByCols = Array.isArray(fields) && _.chunk(fields, props.element.columns || 1);
18
+ const divideByCols = _.chunk(fields, props.element.columns || 1) ?? [];
19
19
 
20
20
  return h(
21
21
  "div",
@@ -44,7 +44,9 @@ export default {
44
44
  {
45
45
  key: `col-${itemIndex}-${colIndex}-${index}`,
46
46
  size:
47
- "aspectRatio" in props.element ? props.element.aspectRatio[itemIndex].toString() : "1",
47
+ "aspectRatio" in props.element
48
+ ? props.element.aspectRatio?.[itemIndex].toString()
49
+ : "1",
48
50
  },
49
51
  () => {
50
52
  if (typeof item === "object") {
@@ -72,7 +74,8 @@ export default {
72
74
  "!tw-hidden": arr.length === 1,
73
75
  },
74
76
  onClick: () => {
75
- props.bladeContext.scope[props.element.remove?.method](index);
77
+ if (props.element.remove?.method)
78
+ props.bladeContext.scope?.[props.element.remove?.method](index);
76
79
  },
77
80
  })
78
81
  : undefined,