@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
@@ -2,8 +2,8 @@
2
2
  <div
3
3
  class="vc-app-menu-item"
4
4
  :class="[
5
- { 'vc-app-menu-item_active': isActive && !children.length },
6
- { 'vc-app-menu-item_no-hover': children.length },
5
+ { 'vc-app-menu-item_active': isActive && !children?.length },
6
+ { 'vc-app-menu-item_no-hover': children?.length },
7
7
  ]"
8
8
  @click="$emit('onClick')"
9
9
  >
@@ -28,7 +28,7 @@
28
28
  <div class="vc-app-menu-item__title">
29
29
  {{ title }}
30
30
  <VcIcon
31
- v-if="children.length"
31
+ v-if="children?.length"
32
32
  class="vc-app-menu-item__title-icon"
33
33
  icon="fas fa-chevron-down"
34
34
  size="xs"
@@ -10,8 +10,8 @@
10
10
  :is-active="isExactActive"
11
11
  :children="children"
12
12
  :sticky="sticky"
13
- :icon="icon"
14
- :title="title"
13
+ :icon="icon ?? ''"
14
+ :title="title ?? ''"
15
15
  @on-click="onMenuItemClick"
16
16
  />
17
17
  </router-link>
@@ -20,8 +20,8 @@
20
20
  <vc-app-menu-link
21
21
  :children="children"
22
22
  :sticky="sticky"
23
- :icon="icon"
24
- :title="title"
23
+ :icon="icon ?? ''"
24
+ :title="title ?? ''"
25
25
  @on-click="onMenuItemClick"
26
26
  />
27
27
 
@@ -36,7 +36,7 @@
36
36
  >
37
37
  <router-link
38
38
  v-slot="{ isActive }"
39
- :to="nested.component.url"
39
+ :to="(nested.component?.url as string)"
40
40
  custom
41
41
  >
42
42
  <div
@@ -64,12 +64,12 @@ import { onMounted, ref } from "vue";
64
64
  import { BladeMenu } from "./../../../../../../../../core/types";
65
65
  import VcAppMenuLink from "./_internal/vc-app-menu-link.vue";
66
66
  import { useRoute } from "vue-router";
67
- import { BladeConstructor } from "./../../../../../../../../shared";
67
+ import { BladeInstanceConstructor } from "./../../../../../../../../shared";
68
68
 
69
69
  export interface Props {
70
70
  sticky?: boolean;
71
71
  isVisible?: boolean;
72
- component?: BladeConstructor;
72
+ component?: BladeInstanceConstructor;
73
73
  icon?: string;
74
74
  title?: string;
75
75
  children?: BladeMenu[];
@@ -17,7 +17,6 @@
17
17
  :blades="bladesRefs"
18
18
  :buttons="toolbarItems"
19
19
  :title="title"
20
- @toolbarbutton:click="onToolbarButtonClick"
21
20
  @menubutton:click="($refs.menu as Record<'isMobileVisible', boolean>).isMobileVisible = true"
22
21
  @backlink:click="$emit('backlink:click', bladesRefs.length - 2)"
23
22
  @logo:click="$emit('logo:click')"
@@ -61,16 +60,16 @@ import { getCurrentInstance, markRaw } from "vue";
61
60
  import { BladeMenu, IBladeToolbar } from "../../../../core/types";
62
61
  import VcAppBar from "./_internal/vc-app-bar/vc-app-bar.vue";
63
62
  import VcAppMenu from "./_internal/vc-app-menu/vc-app-menu.vue";
64
- import { BladePageComponent, IBladeRef, useBladeNavigation } from "./../../../../shared";
63
+ import { BladeInstanceConstructor, IBladeRef, useBladeNavigation } from "./../../../../shared";
65
64
 
66
65
  export interface Props {
67
- pages?: BladePageComponent[];
66
+ pages?: BladeInstanceConstructor[];
68
67
  menuItems?: BladeMenu[];
69
68
  mobileMenuItems?: IBladeToolbar[];
70
69
  toolbarItems?: IBladeToolbar[];
71
70
  isReady?: boolean;
72
71
  isAuthorized?: boolean;
73
- logo?: string;
72
+ logo: string;
74
73
  version?: string;
75
74
  theme?: "light" | "dark";
76
75
  bladesRefs?: IBladeRef[];
@@ -109,25 +108,18 @@ const onMenuItemClick = function ({ item }: { item: BladeMenu }) {
109
108
  if (item.clickHandler && typeof item.clickHandler === "function") {
110
109
  item.clickHandler(instance?.exposed);
111
110
  } else {
112
- openBlade(
113
- {
114
- blade: markRaw(item.component),
115
- },
116
- true
117
- );
118
- }
119
- };
120
-
121
- const onToolbarButtonClick = function (item: Record<string, unknown>) {
122
- console.debug(`vc-app#onToolbarButtonClick() called.`);
123
-
124
- if (item.clickHandler && typeof item.clickHandler === "function") {
125
- item.clickHandler(instance?.proxy);
111
+ if (item.component) {
112
+ openBlade(
113
+ {
114
+ blade: markRaw(item.component),
115
+ },
116
+ true
117
+ );
118
+ }
126
119
  }
127
120
  };
128
121
 
129
122
  defineExpose({
130
- onToolbarButtonClick,
131
123
  onMenuItemClick,
132
124
  });
133
125
  </script>
@@ -2,7 +2,7 @@
2
2
  <div
3
3
  class="vc-blade-toolbar-button"
4
4
  :class="{ 'vc-blade-toolbar-button_disabled': disabled || isWaiting }"
5
- :title="title as string"
5
+ :title="title"
6
6
  @click="onClick"
7
7
  >
8
8
  <div ref="dropButtonRef">
@@ -56,7 +56,7 @@ import { IBladeDropdownItem } from "./../../../../../../../../core/types";
56
56
  export interface Props {
57
57
  isExpanded: boolean;
58
58
  icon?: string | (() => string);
59
- title?: string | unknown;
59
+ title?: string;
60
60
  options?: Record<string, unknown>;
61
61
  disabled?: boolean;
62
62
  dropdownItems?: IBladeDropdownItem[];
@@ -13,7 +13,7 @@
13
13
  v-if="item.isVisible === undefined || item.isVisible"
14
14
  :is-expanded="isExpanded"
15
15
  :icon="item.icon"
16
- :title="item.title"
16
+ :title="unref(item.title)"
17
17
  :options="item.options"
18
18
  :disabled="item.disabled as boolean"
19
19
  :dropdown-items="item.dropdownItems"
@@ -31,7 +31,7 @@
31
31
 
32
32
  <script lang="ts" setup>
33
33
  import { IBladeToolbar } from "./../../../../../../core/types";
34
- import { ref } from "vue";
34
+ import { ref, unref } from "vue";
35
35
  import VcBladeToolbarButton from "./_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue";
36
36
  import { VcIcon } from "./../../../../";
37
37
 
@@ -110,7 +110,7 @@ const { open } = usePopup({
110
110
  title: t("COMPONENTS.ORGANISMS.VC_BLADE.ERROR_POPUP.TITLE"),
111
111
  },
112
112
  slots: {
113
- default: computed(() => error.value),
113
+ default: computed(() => error?.value),
114
114
  },
115
115
  });
116
116
 
@@ -191,7 +191,7 @@
191
191
 
192
192
  <!-- eslint-disable @typescript-eslint/no-explicit-any -->
193
193
  <script lang="ts" setup generic="T extends {[x:string]: any; id?: string}">
194
- import { ref, onMounted, computed, watch } from "vue";
194
+ import { ref, onMounted, computed, Ref } from "vue";
195
195
  import { Field } from "vee-validate";
196
196
  import { useI18n } from "vue-i18n";
197
197
  import { VcSelect, VcInput, VcTextarea, VcCheckbox } from "./../../";
@@ -244,7 +244,7 @@ const emit = defineEmits<{
244
244
 
245
245
  const { locale, te, t } = useI18n({ useScope: "global" });
246
246
 
247
- const items = ref([]);
247
+ const items: Ref<any[]> = ref([]);
248
248
  const loading = ref(false);
249
249
 
250
250
  const computedProperty = computed(() => {
@@ -305,7 +305,7 @@ onMounted(async () => {
305
305
  await getOptions();
306
306
  });
307
307
 
308
- async function getOptions(keyword: string = null) {
308
+ async function getOptions(keyword: string | undefined = undefined) {
309
309
  if (props.optionsGetter) {
310
310
  try {
311
311
  loading.value = true;
@@ -7,7 +7,7 @@
7
7
  <template #title>
8
8
  <div>
9
9
  <span>{{ currentImage.name }} (</span>
10
- <VcLink @click="copyLink(currentImage.url)">{{
10
+ <VcLink @click="copyLink(currentImage.url ?? '')">{{
11
11
  t("COMPONENTS.ORGANISMS.VC_GALLERY.INTERNAL.VC_GALLERY_PREVIEW.COPY_IMAGE_LINK")
12
12
  }}</VcLink>
13
13
  <span>)</span>
@@ -33,7 +33,7 @@
33
33
  @drop="onItemDrop($event, image)"
34
34
  ></VcGalleryItem>
35
35
  <VcFileUpload
36
- v-if="!disabled && !hideAfterUpload"
36
+ v-if="!disabled && !defaultImages.length"
37
37
  class="tw-m-2"
38
38
  :icon="uploadIcon"
39
39
  :variant="variant"
@@ -84,8 +84,6 @@ export interface Props {
84
84
  edit: boolean;
85
85
  remove: boolean;
86
86
  };
87
- disableDrag?: boolean;
88
- hideAfterUpload?: boolean;
89
87
  rules?: string | Record<string, unknown>;
90
88
  name?: string;
91
89
  loading?: boolean;
@@ -123,6 +121,7 @@ const reorderGalleryRef = ref<HTMLElement>();
123
121
  const dropPosition = ref<number>();
124
122
 
125
123
  const currentIndex = computed(() => previewImageIndex.value);
124
+ const disableDrag = computed(() => defaultImages.value.length <= 1);
126
125
 
127
126
  const { open } = usePopup(
128
127
  computed(() => ({
@@ -165,53 +164,55 @@ const updateOrder = () => {
165
164
  };
166
165
 
167
166
  function onItemMouseDown(event: MouseEvent & { currentTarget?: { draggable: boolean } }) {
168
- if (!props.disableDrag && !props.disabled) {
167
+ if (!disableDrag.value && !props.disabled) {
169
168
  event.currentTarget.draggable = true;
170
169
  return;
171
170
  }
172
171
  }
173
172
 
174
173
  function onItemDragStart(event: DragEvent, item: IImage) {
175
- if (!props.disableDrag && !props.disabled) {
174
+ if (!disableDrag.value && !props.disabled) {
176
175
  draggedItem.value = item;
177
176
  draggedElement.value = event.target as HTMLElement;
178
- event.dataTransfer.setData("text", "gallery_reorder");
177
+ event.dataTransfer?.setData("text", "gallery_reorder");
179
178
  }
180
179
  }
181
180
 
182
181
  function onItemDragOver(event: DragEvent) {
183
182
  const dropItem = findParentElement(event.target as HTMLElement);
184
183
 
185
- if (!props.disableDrag && !props.disabled && draggedItem.value && dropItem) {
184
+ if (!disableDrag.value && !props.disabled && draggedItem.value && dropItem) {
186
185
  event.preventDefault();
187
186
 
188
- const containerOffset = galleryRef.value.getBoundingClientRect();
187
+ const containerOffset = galleryRef.value?.getBoundingClientRect();
189
188
  const dropItemOffset = dropItem.getBoundingClientRect();
190
189
 
191
- if (draggedElement.value !== dropItem) {
190
+ if (draggedElement.value !== dropItem && containerOffset) {
192
191
  const elementStyle = getComputedStyle(dropItem);
193
192
  const dropItemOffsetWidth = dropItem.offsetWidth + parseFloat(elementStyle.marginLeft);
194
193
  const targetLeft = dropItemOffset.left - containerOffset.left;
195
194
  const columnCenter = dropItemOffset.left + dropItemOffsetWidth / 2;
196
195
 
197
- reorderGalleryRef.value.style.top = dropItemOffset.top - containerOffset.top + "px";
198
- reorderGalleryRef.value.style.height = dropItem.offsetHeight + "px";
196
+ if (reorderGalleryRef.value) {
197
+ reorderGalleryRef.value.style.top = dropItemOffset.top - containerOffset.top + "px";
198
+ reorderGalleryRef.value.style.height = dropItem.offsetHeight + "px";
199
199
 
200
- if (event.pageX > columnCenter) {
201
- reorderGalleryRef.value.style.left = targetLeft + dropItemOffsetWidth + "px";
202
- dropPosition.value = 1;
203
- } else {
204
- reorderGalleryRef.value.style.left = targetLeft - parseFloat(elementStyle.marginLeft) + "px";
205
- dropPosition.value = -1;
206
- }
200
+ if (event.pageX > columnCenter) {
201
+ reorderGalleryRef.value.style.left = targetLeft + dropItemOffsetWidth + "px";
202
+ dropPosition.value = 1;
203
+ } else {
204
+ reorderGalleryRef.value.style.left = targetLeft - parseFloat(elementStyle.marginLeft) + "px";
205
+ dropPosition.value = -1;
206
+ }
207
207
 
208
- reorderGalleryRef.value.style.display = "block";
208
+ reorderGalleryRef.value.style.display = "block";
209
+ }
209
210
  }
210
211
  }
211
212
  }
212
213
 
213
214
  function onItemDragLeave(event: DragEvent) {
214
- if (!props.disableDrag && !props.disabled && draggedItem.value) {
215
+ if (!disableDrag.value && !props.disabled && draggedItem.value && reorderGalleryRef.value) {
215
216
  event.preventDefault();
216
217
 
217
218
  reorderGalleryRef.value.style.display = "none";
@@ -241,10 +242,12 @@ function onItemDrop(event: DragEvent, item: IImage) {
241
242
  updateOrder();
242
243
  }
243
244
 
244
- reorderGalleryRef.value.style.display = "none";
245
- draggedElement.value.draggable = false;
246
- draggedItem.value = null;
247
- dropPosition.value = null;
245
+ if (reorderGalleryRef.value && draggedElement.value) {
246
+ reorderGalleryRef.value.style.display = "none";
247
+ draggedElement.value.draggable = false;
248
+ draggedItem.value = undefined;
249
+ dropPosition.value = undefined;
250
+ }
248
251
  }
249
252
  }
250
253
 
@@ -265,8 +268,8 @@ function findParentElement(element: HTMLElement) {
265
268
  } else {
266
269
  let parent = element.parentElement;
267
270
 
268
- while (!parent.classList.contains("vc-gallery__item")) {
269
- parent = parent.parentElement;
271
+ while (!(parent && parent.classList.contains("vc-gallery__item"))) {
272
+ parent = parent?.parentElement || null;
270
273
  if (!parent) break;
271
274
  }
272
275
  return parent;
@@ -7,8 +7,9 @@
7
7
  <template v-else>
8
8
  <VcNotificationTemplate
9
9
  :color="notificationStyle.color"
10
- :title="notification.title"
10
+ :title="notification.title ?? ''"
11
11
  :icon="notificationStyle.icon"
12
+ :notification="notification"
12
13
  >
13
14
  <VcHint
14
15
  v-if="notification.description"
@@ -17,18 +18,12 @@
17
18
  >
18
19
  </VcNotificationTemplate>
19
20
  </template>
20
- <div class="tw-flex tw-shrink-0">
21
- <p class="tw-text-s tw-leading-[18px] tw-text-[#8e8e8e] tw-m-0">
22
- {{ pushTime }}
23
- </p>
24
- </div>
25
21
  </VcRow>
26
22
  </div>
27
23
  </template>
28
24
 
29
25
  <script lang="ts" setup>
30
26
  import { computed, h } from "vue";
31
- import moment from "moment";
32
27
  import { PushNotification } from "./../../../../../../core/api/platform";
33
28
  import { VcRow, VcNotificationTemplate } from "./../../../../";
34
29
  import { NotificationTemplateConstructor } from "./../../../../../../core/types";
@@ -42,23 +37,15 @@ export interface Emits {
42
37
  (event: "onClick"): void;
43
38
  }
44
39
 
45
- const props = withDefaults(defineProps<Props>(), {
46
- notification: undefined,
47
- });
40
+ const props = defineProps<Props>();
48
41
 
49
42
  const emit = defineEmits<Emits>();
50
43
 
51
- const locale = window.navigator.language;
52
-
53
44
  const notificationStyle = computed(() => ({
54
45
  color: "#A9BCCD",
55
46
  icon: "fas fa-info",
56
47
  }));
57
48
 
58
- const pushTime = computed(() => {
59
- return moment(props.notification.created).locale(locale).format("L LT");
60
- });
61
-
62
49
  const currentTemplate = computed(() => props.templates?.find((x) => x?.notifyType === props.notification.notifyType));
63
50
 
64
51
  function notificationTemplateRenderer() {
@@ -65,7 +65,7 @@
65
65
  >
66
66
  <NotificationItem
67
67
  :notification="item"
68
- :templates="templates"
68
+ :templates="templates || []"
69
69
  @on-click="() => (isDropdownVisible = false)"
70
70
  />
71
71
  </div>
@@ -1,3 +1 @@
1
- import _NotificationTemplate from "./vc-notification-template.vue";
2
-
3
- export const VcNotificationTemplate = _NotificationTemplate as typeof _NotificationTemplate;
1
+ export { default as VcNotificationTemplate } from "./vc-notification-template.vue";
@@ -1,33 +1,51 @@
1
1
  <template>
2
- <div class="tw-flex tw-items-center">
3
- <div
4
- class="tw-w-[41px] tw-h-[41px] tw-rounded-full tw-text-white tw-mr-4 tw-flex tw-items-center tw-justify-center tw-shrink-0"
5
- :style="{ 'background-color': color }"
6
- >
7
- <VcIcon
8
- :icon="icon"
9
- size="l"
10
- ></VcIcon>
11
- </div>
12
- <div>
13
- <p
14
- class="tw-text-[color:var(--basic-black-color)] tw-text-xl tw-leading-[19px] tw-font-bold tw-m-0 tw-mb-1"
15
- :class="{ 'tw-mr-4': $isDesktop.value }"
2
+ <div class="tw-flex flex-row tw-justify-between tw-grow tw-basis-0">
3
+ <div class="tw-flex tw-items-center">
4
+ <div
5
+ class="tw-w-[41px] tw-h-[41px] tw-rounded-full tw-text-white tw-mr-4 tw-flex tw-items-center tw-justify-center tw-shrink-0"
6
+ :style="{ 'background-color': color }"
16
7
  >
17
- {{ title }}
8
+ <VcIcon
9
+ :icon="icon"
10
+ size="l"
11
+ ></VcIcon>
12
+ </div>
13
+ <div>
14
+ <p
15
+ class="tw-text-[color:var(--basic-black-color)] tw-text-xl tw-leading-[19px] tw-font-bold tw-m-0 tw-mb-1"
16
+ :class="{ 'tw-mr-4': $isDesktop.value }"
17
+ >
18
+ {{ title }}
19
+ </p>
20
+ <slot></slot>
21
+ </div>
22
+ </div>
23
+ <div class="tw-flex tw-shrink-0">
24
+ <p class="tw-text-s tw-leading-[18px] tw-text-[#8e8e8e] tw-m-0">
25
+ {{ pushTime }}
18
26
  </p>
19
- <slot></slot>
20
27
  </div>
21
28
  </div>
22
29
  </template>
23
30
 
24
31
  <script setup lang="ts">
32
+ import { computed } from "vue";
25
33
  import { VcIcon } from "./../../";
34
+ import moment from "moment";
35
+ import { PushNotification } from "../../../../core/api/platform";
36
+
26
37
  export interface Props {
27
38
  color: string;
28
39
  icon: string;
29
40
  title: string;
41
+ notification: PushNotification;
30
42
  }
31
43
 
32
- defineProps<Props>();
44
+ const props = defineProps<Props>();
45
+
46
+ const locale = window.navigator.language;
47
+
48
+ const pushTime = computed(() => {
49
+ return moment(props.notification.created).locale(locale).format("L LT");
50
+ });
33
51
  </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <!-- Money cell -->
3
3
  <template v-if="cell.type === 'money'">
4
- <template v-if="value > 0">
4
+ <template v-if="typeof Number(value) === 'number' && Number(value) > 0">
5
5
  <span>{{ Math.trunc(Number(value)) }}</span
6
6
  ><span class="tw-text-[#a5a5a5] tw-text-xs"
7
7
  >.{{ `${(Number(value) * 100) % 100}`.padEnd(2, "0").slice(0, 2) }}</span
@@ -33,8 +33,8 @@
33
33
  {{ moment(value).locale(locale).format(cell.format) }}
34
34
  </template>
35
35
  <template v-else>
36
- <template v-if="cell.type === 'date'">{{ value.toLocaleDateString() }}</template>
37
- <template v-if="cell.type === 'time'">{{ value.toLocaleTimeString() }}</template>
36
+ <template v-if="cell.type === 'date'">{{ value instanceof Date && value.toLocaleDateString() }}</template>
37
+ <template v-if="cell.type === 'time'">{{ value instanceof Date && value.toLocaleTimeString() }}</template>
38
38
  <template v-if="cell.type === 'date-time'">{{ value.toLocaleString() }}</template>
39
39
  </template>
40
40
  </template>
@@ -47,7 +47,7 @@
47
47
  :bordered="true"
48
48
  size="s"
49
49
  aspect="1x1"
50
- :src="value"
50
+ :src="(value as string)"
51
51
  background="contain"
52
52
  />
53
53
  </template>
@@ -62,7 +62,7 @@
62
62
  v-else-if="cell.type === 'status-icon'"
63
63
  class="tw-flex tw-justify-center"
64
64
  >
65
- <VcStatusIcon :status="value"></VcStatusIcon>
65
+ <VcStatusIcon :status="(value as boolean)"></VcStatusIcon>
66
66
  </div>
67
67
 
68
68
  <!-- Number cell -->
@@ -97,7 +97,7 @@ export interface Props {
97
97
  const props = defineProps<Props>();
98
98
 
99
99
  const locale = window.navigator.language;
100
- const value = computed(() => {
100
+ const value = computed((): unknown => {
101
101
  return (props.cell.field || props.cell.id).split(".").reduce((p: { [x: string]: unknown }, c: string) => {
102
102
  if (p && Array.isArray(p) && p.length) {
103
103
  const val = p && p[0][c];
@@ -58,7 +58,7 @@
58
58
 
59
59
  <script lang="ts" setup>
60
60
  import { ref, watch, computed, nextTick } from "vue";
61
- import { offset, computePosition, ComputePositionReturn } from "@floating-ui/vue";
61
+ import { offset, computePosition, ComputePositionReturn, ReferenceElement } from "@floating-ui/vue";
62
62
 
63
63
  export interface Props {
64
64
  title?: string;
@@ -100,10 +100,12 @@ function openPanel(isMobile: boolean) {
100
100
  if (!isMobile) {
101
101
  if (isPanelVisible.value) {
102
102
  nextTick(() => {
103
- computePosition(filterToggle.value, filterPanel.value, {
104
- placement: "bottom-end",
105
- middleware: [offset(10)],
106
- }).then((item) => (popper.value = item));
103
+ if (filterToggle.value && filterPanel.value) {
104
+ computePosition(filterToggle.value as ReferenceElement, filterPanel.value, {
105
+ placement: "bottom-end",
106
+ middleware: [offset(10)],
107
+ }).then((item) => (popper.value = item));
108
+ }
107
109
  });
108
110
  }
109
111
  }
@@ -17,7 +17,7 @@
17
17
  <div
18
18
  class="tw-flex tw-grow tw-basis-[1] tw-flex-col tw-justify-center tw-items-center tw-text-white"
19
19
  :class="[`vc-table-mobile__item-action_${leftSwipeActions[0].variant}`]"
20
- @click.stop="leftSwipeActions[0].clickHandler(item)"
20
+ @click.stop="leftSwipeActions[0].clickHandler(item as T)"
21
21
  >
22
22
  <VcIcon :icon="leftSwipeActions[0].icon"></VcIcon>
23
23
  <div class="tw-mt-1 tw-text-lg">
@@ -40,7 +40,7 @@
40
40
  <div
41
41
  class="tw-flex tw-grow tw-basis-[1] tw-flex-col tw-justify-center tw-items-center tw-text-white"
42
42
  :class="[`vc-table-mobile__item-action_${rightSwipeActions[0].variant}`]"
43
- @click.stop="rightSwipeActions[0].clickHandler(item)"
43
+ @click.stop="rightSwipeActions[0].clickHandler(item as T)"
44
44
  >
45
45
  <VcIcon :icon="rightSwipeActions[0].icon"></VcIcon>
46
46
  <div class="vc-table-mobile__item-action-text">
@@ -53,7 +53,7 @@
53
53
  v-if="rightSwipeActions.length === 2"
54
54
  class="tw-flex tw-grow tw-basis-[1] tw-flex-col tw-justify-center tw-items-center tw-text-white"
55
55
  :class="[`vc-table-mobile__item-action_${rightSwipeActions[1].variant}`]"
56
- @click.stop="rightSwipeActions[1].clickHandler(item)"
56
+ @click.stop="rightSwipeActions[1].clickHandler(item as T)"
57
57
  >
58
58
  <VcIcon :icon="rightSwipeActions[1].icon"></VcIcon>
59
59
  <div class="tw-mt-1 tw-text-lg">
@@ -99,7 +99,7 @@
99
99
  v-for="(itemAction, i) in itemActions"
100
100
  :key="i"
101
101
  class="tw-flex tw-grow tw-shrink-0 tw-flex-col tw-items-center tw-text-[#319ed4] tw-my-2 tw-box-border tw-p-1 tw-max-w-[80px]"
102
- @click="itemAction.clickHandler(item)"
102
+ @click="itemAction.clickHandler(item as T)"
103
103
  >
104
104
  <VcIcon
105
105
  :icon="itemAction.icon"
@@ -119,7 +119,7 @@
119
119
  </template>
120
120
 
121
121
  <script lang="ts" setup generic="T extends TableItem | string">
122
- import { computed, ref, watch } from "vue";
122
+ import { Ref, computed, ref, watch } from "vue";
123
123
  import { IActionBuilderResult } from "./../../../../../../core/types";
124
124
  import { useI18n } from "vue-i18n";
125
125
 
@@ -133,16 +133,11 @@ export interface TableItem {
133
133
  actions?: IActionBuilderResult[];
134
134
  }
135
135
 
136
- const props = withDefaults(
137
- defineProps<{
138
- item: T;
139
- actionBuilder?: (item: T) => IActionBuilderResult[];
140
- swipingItem?: string;
141
- }>(),
142
- {
143
- swipingItem: null,
144
- }
145
- );
136
+ const props = defineProps<{
137
+ item: T;
138
+ actionBuilder?: (item: T) => IActionBuilderResult[];
139
+ swipingItem?: string;
140
+ }>();
146
141
 
147
142
  const emit = defineEmits<Emits>();
148
143
  const { t } = useI18n({ useScope: "global" });
@@ -154,7 +149,7 @@ const isMoving = ref(false);
154
149
  const threshold = 10;
155
150
  const maxWidth = 80;
156
151
  const isActionsPopupVisible = ref(false);
157
- const itemActions = ref([]);
152
+ const itemActions: Ref<IActionBuilderResult<T>[]> = ref([]);
158
153
 
159
154
  watch(
160
155
  () => props.swipingItem,