@vc-shell/framework 1.0.52 → 1.0.54

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 (390) hide show
  1. package/core/composables/index.ts +0 -1
  2. package/core/composables/useApiClient/index.ts +9 -4
  3. package/core/composables/useAsync/index.ts +2 -6
  4. package/core/composables/useAutosave/index.ts +1 -3
  5. package/core/composables/useFunctions/debounce.ts +1 -4
  6. package/core/composables/useFunctions/delay.ts +1 -4
  7. package/core/composables/useFunctions/once.ts +1 -3
  8. package/core/composables/useFunctions/throttle.ts +1 -4
  9. package/core/composables/useI18n/index.ts +3 -24
  10. package/core/composables/useLoading/index.ts +1 -3
  11. package/core/composables/useNotifications/index.ts +6 -13
  12. package/core/composables/usePermissions/index.ts +1 -1
  13. package/core/composables/useSettings/index.ts +3 -4
  14. package/core/composables/useUser/index.ts +27 -66
  15. package/core/directives/permissions/index.ts +1 -1
  16. package/core/plugins/i18n/index.ts +8 -0
  17. package/core/plugins/index.ts +3 -1
  18. package/core/plugins/modularity/index.ts +32 -0
  19. package/core/plugins/moment/humanize.ts +1 -4
  20. package/core/plugins/validation/index.ts +11 -1
  21. package/core/plugins/validation/rules.ts +48 -170
  22. package/core/types/index.ts +7 -9
  23. package/dist/core/composables/index.d.ts +0 -1
  24. package/dist/core/composables/index.d.ts.map +1 -1
  25. package/dist/core/composables/useApiClient/index.d.ts +9 -3
  26. package/dist/core/composables/useApiClient/index.d.ts.map +1 -1
  27. package/dist/core/composables/useAsync/index.d.ts.map +1 -1
  28. package/dist/core/composables/useAutosave/index.d.ts.map +1 -1
  29. package/dist/core/composables/useFunctions/debounce.d.ts.map +1 -1
  30. package/dist/core/composables/useFunctions/delay.d.ts.map +1 -1
  31. package/dist/core/composables/useFunctions/once.d.ts.map +1 -1
  32. package/dist/core/composables/useFunctions/throttle.d.ts.map +1 -1
  33. package/dist/core/composables/useI18n/index.d.ts +2 -4
  34. package/dist/core/composables/useI18n/index.d.ts.map +1 -1
  35. package/dist/core/composables/useLoading/index.d.ts.map +1 -1
  36. package/dist/core/composables/useNotifications/index.d.ts +1 -1
  37. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  38. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  39. package/dist/core/composables/useUser/index.d.ts +2 -2
  40. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  41. package/dist/core/plugins/i18n/index.d.ts +3 -0
  42. package/dist/core/plugins/i18n/index.d.ts.map +1 -0
  43. package/dist/core/plugins/index.d.ts +3 -1
  44. package/dist/core/plugins/index.d.ts.map +1 -1
  45. package/dist/core/plugins/modularity/index.d.ts +8 -0
  46. package/dist/core/plugins/modularity/index.d.ts.map +1 -0
  47. package/dist/core/plugins/moment/humanize.d.ts.map +1 -1
  48. package/dist/core/plugins/validation/index.d.ts +3 -1
  49. package/dist/core/plugins/validation/index.d.ts.map +1 -1
  50. package/dist/core/plugins/validation/rules.d.ts +32 -11
  51. package/dist/core/plugins/validation/rules.d.ts.map +1 -1
  52. package/dist/core/types/index.d.ts +5 -6
  53. package/dist/core/types/index.d.ts.map +1 -1
  54. package/dist/framework.esm.js +42553 -0
  55. package/dist/framework.js +74 -72
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/shared/app-switcher/composables/useAppSwitcher/index.d.ts +1 -1
  58. package/dist/shared/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  59. package/dist/shared/app-switcher/index.d.ts +2 -3
  60. package/dist/shared/app-switcher/index.d.ts.map +1 -1
  61. package/dist/shared/assets/components/index.d.ts +1 -1
  62. package/dist/shared/assets/components/index.d.ts.map +1 -1
  63. package/dist/shared/assets/index.d.ts +2 -3
  64. package/dist/shared/assets/index.d.ts.map +1 -1
  65. package/dist/shared/blade-navigation/composables/index.d.ts +1 -1
  66. package/dist/shared/blade-navigation/composables/index.d.ts.map +1 -1
  67. package/dist/shared/blade-navigation/composables/useBladeNavigation/index.d.ts +2 -2
  68. package/dist/shared/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  69. package/dist/shared/blade-navigation/index.d.ts +2 -3
  70. package/dist/shared/blade-navigation/index.d.ts.map +1 -1
  71. package/dist/shared/blade-navigation/types/index.d.ts +1 -1
  72. package/dist/shared/blade-navigation/types/index.d.ts.map +1 -1
  73. package/dist/shared/index.d.ts +4 -1
  74. package/dist/shared/index.d.ts.map +1 -1
  75. package/dist/style.css +1 -1
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/dist/ui/components/atoms/vc-badge/index.d.ts +3 -3
  78. package/dist/ui/components/atoms/vc-badge/index.d.ts.map +1 -1
  79. package/dist/ui/components/atoms/vc-badge/vc-badge-model.d.ts +20 -20
  80. package/dist/ui/components/atoms/vc-badge/vc-badge-model.d.ts.map +1 -1
  81. package/dist/ui/components/atoms/vc-button/index.d.ts +3 -3
  82. package/dist/ui/components/atoms/vc-button/index.d.ts.map +1 -1
  83. package/dist/ui/components/atoms/vc-button/vc-button-model.d.ts +30 -24
  84. package/dist/ui/components/atoms/vc-button/vc-button-model.d.ts.map +1 -1
  85. package/dist/ui/components/atoms/vc-card/index.d.ts +5 -0
  86. package/dist/ui/components/atoms/vc-card/index.d.ts.map +1 -0
  87. package/dist/ui/components/atoms/vc-card/vc-card-model.d.ts +33 -0
  88. package/dist/ui/components/atoms/vc-card/vc-card-model.d.ts.map +1 -0
  89. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +5 -0
  90. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -0
  91. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox-model.d.ts +31 -0
  92. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox-model.d.ts.map +1 -0
  93. package/dist/ui/components/atoms/vc-col/index.d.ts +5 -0
  94. package/dist/ui/components/atoms/vc-col/index.d.ts.map +1 -0
  95. package/dist/ui/components/atoms/vc-col/vc-col-model.d.ts +13 -0
  96. package/dist/ui/components/atoms/vc-col/vc-col-model.d.ts.map +1 -0
  97. package/dist/ui/components/atoms/vc-container/index.d.ts +5 -0
  98. package/dist/ui/components/atoms/vc-container/index.d.ts.map +1 -0
  99. package/dist/ui/components/atoms/vc-container/vc-container-model.d.ts +25 -0
  100. package/dist/ui/components/atoms/vc-container/vc-container-model.d.ts.map +1 -0
  101. package/dist/ui/components/atoms/vc-hint/index.d.ts +2 -0
  102. package/dist/ui/components/atoms/vc-hint/index.d.ts.map +1 -0
  103. package/dist/ui/components/atoms/vc-hint/vc-hint-model.d.ts +5 -0
  104. package/dist/ui/components/atoms/vc-hint/vc-hint-model.d.ts.map +1 -0
  105. package/dist/ui/components/atoms/vc-icon/index.d.ts +5 -0
  106. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -0
  107. package/dist/ui/components/atoms/vc-icon/vc-icon-model.d.ts +17 -0
  108. package/dist/ui/components/atoms/vc-icon/vc-icon-model.d.ts.map +1 -0
  109. package/dist/ui/components/atoms/vc-image/index.d.ts +5 -0
  110. package/dist/ui/components/atoms/vc-image/index.d.ts.map +1 -0
  111. package/dist/ui/components/atoms/vc-image/vc-image-model.d.ts +38 -0
  112. package/dist/ui/components/atoms/vc-image/vc-image-model.d.ts.map +1 -0
  113. package/dist/ui/components/atoms/vc-image/vc-image.stories.d.ts.map +1 -1
  114. package/dist/ui/components/atoms/vc-info-row/index.d.ts +5 -0
  115. package/dist/ui/components/atoms/vc-info-row/index.d.ts.map +1 -0
  116. package/dist/ui/components/atoms/vc-info-row/vc-info-row-model.d.ts +25 -0
  117. package/dist/ui/components/atoms/vc-info-row/vc-info-row-model.d.ts.map +1 -0
  118. package/dist/ui/components/atoms/vc-label/index.d.ts +5 -0
  119. package/dist/ui/components/atoms/vc-label/index.d.ts.map +1 -0
  120. package/dist/ui/components/atoms/vc-label/vc-label-model.d.ts +18 -0
  121. package/dist/ui/components/atoms/vc-label/vc-label-model.d.ts.map +1 -0
  122. package/dist/ui/components/atoms/vc-link/index.d.ts +5 -0
  123. package/dist/ui/components/atoms/vc-link/index.d.ts.map +1 -0
  124. package/dist/ui/components/atoms/vc-link/vc-link-model.d.ts +21 -0
  125. package/dist/ui/components/atoms/vc-link/vc-link-model.d.ts.map +1 -0
  126. package/dist/ui/components/atoms/vc-loading/index.d.ts +5 -0
  127. package/dist/ui/components/atoms/vc-loading/index.d.ts.map +1 -0
  128. package/dist/ui/components/atoms/vc-loading/vc-loading-model.d.ts +13 -0
  129. package/dist/ui/components/atoms/vc-loading/vc-loading-model.d.ts.map +1 -0
  130. package/dist/ui/components/atoms/vc-progress/index.d.ts +5 -0
  131. package/dist/ui/components/atoms/vc-progress/index.d.ts.map +1 -0
  132. package/dist/ui/components/atoms/vc-progress/vc-progress-model.d.ts +17 -0
  133. package/dist/ui/components/atoms/vc-progress/vc-progress-model.d.ts.map +1 -0
  134. package/dist/ui/components/atoms/vc-row/index.d.ts +2 -0
  135. package/dist/ui/components/atoms/vc-row/index.d.ts.map +1 -0
  136. package/dist/ui/components/atoms/vc-row/vc-row-model.d.ts +5 -0
  137. package/dist/ui/components/atoms/vc-row/vc-row-model.d.ts.map +1 -0
  138. package/dist/ui/components/atoms/vc-status/index.d.ts +5 -0
  139. package/dist/ui/components/atoms/vc-status/index.d.ts.map +1 -0
  140. package/dist/ui/components/atoms/vc-status/vc-status-model.d.ts +21 -0
  141. package/dist/ui/components/atoms/vc-status/vc-status-model.d.ts.map +1 -0
  142. package/dist/ui/components/atoms/vc-status-icon/index.d.ts +5 -0
  143. package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -0
  144. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon-model.d.ts +13 -0
  145. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon-model.d.ts.map +1 -0
  146. package/dist/ui/components/atoms/vc-switch/index.d.ts +5 -0
  147. package/dist/ui/components/atoms/vc-switch/index.d.ts.map +1 -0
  148. package/dist/ui/components/atoms/vc-switch/vc-switch-model.d.ts +30 -0
  149. package/dist/ui/components/atoms/vc-switch/vc-switch-model.d.ts.map +1 -0
  150. package/dist/ui/components/atoms/vc-widget/index.d.ts +5 -0
  151. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +1 -0
  152. package/dist/ui/components/atoms/vc-widget/vc-widget-model.d.ts +20 -0
  153. package/dist/ui/components/atoms/vc-widget/vc-widget-model.d.ts.map +1 -0
  154. package/dist/ui/components/index.d.ts +34 -34
  155. package/dist/ui/components/index.d.ts.map +1 -1
  156. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts +5 -0
  157. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts.map +1 -0
  158. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.d.ts +19 -0
  159. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.d.ts.map +1 -0
  160. package/dist/ui/components/molecules/vc-editor/index.d.ts +5 -0
  161. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -0
  162. package/dist/ui/components/molecules/vc-editor/vc-editor-model.d.ts +33 -0
  163. package/dist/ui/components/molecules/vc-editor/vc-editor-model.d.ts.map +1 -0
  164. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +5 -0
  165. package/dist/ui/components/molecules/vc-file-upload/index.d.ts.map +1 -0
  166. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload-model.d.ts +34 -0
  167. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload-model.d.ts.map +1 -0
  168. package/dist/ui/components/molecules/vc-form/index.d.ts +2 -0
  169. package/dist/ui/components/molecules/vc-form/index.d.ts.map +1 -0
  170. package/dist/ui/components/molecules/vc-form/vc-form-model.d.ts +5 -0
  171. package/dist/ui/components/molecules/vc-form/vc-form-model.d.ts.map +1 -0
  172. package/dist/ui/components/molecules/vc-input/index.d.ts +3 -3
  173. package/dist/ui/components/molecules/vc-input/index.d.ts.map +1 -1
  174. package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts +48 -25
  175. package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts.map +1 -1
  176. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +3 -3
  177. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
  178. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts +36 -28
  179. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts.map +1 -1
  180. package/dist/ui/components/molecules/vc-notification/index.d.ts +5 -0
  181. package/dist/ui/components/molecules/vc-notification/index.d.ts.map +1 -0
  182. package/dist/ui/components/molecules/vc-notification/vc-notification-model.d.ts +18 -0
  183. package/dist/ui/components/molecules/vc-notification/vc-notification-model.d.ts.map +1 -0
  184. package/dist/ui/components/molecules/vc-pagination/index.d.ts +5 -0
  185. package/dist/ui/components/molecules/vc-pagination/index.d.ts.map +1 -0
  186. package/dist/ui/components/molecules/vc-pagination/vc-pagination-model.d.ts +25 -0
  187. package/dist/ui/components/molecules/vc-pagination/vc-pagination-model.d.ts.map +1 -0
  188. package/dist/ui/components/molecules/vc-rating/index.d.ts +5 -0
  189. package/dist/ui/components/molecules/vc-rating/index.d.ts.map +1 -0
  190. package/dist/ui/components/molecules/vc-rating/vc-rating-model.d.ts +21 -0
  191. package/dist/ui/components/molecules/vc-rating/vc-rating-model.d.ts.map +1 -0
  192. package/dist/ui/components/molecules/vc-select/index.d.ts +3 -3
  193. package/dist/ui/components/molecules/vc-select/index.d.ts.map +1 -1
  194. package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts +67 -32
  195. package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts.map +1 -1
  196. package/dist/ui/components/molecules/vc-slider/index.d.ts +5 -0
  197. package/dist/ui/components/molecules/vc-slider/index.d.ts.map +1 -0
  198. package/dist/ui/components/molecules/vc-slider/vc-slider-model.d.ts +33 -0
  199. package/dist/ui/components/molecules/vc-slider/vc-slider-model.d.ts.map +1 -0
  200. package/dist/ui/components/molecules/vc-textarea/index.d.ts +5 -0
  201. package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +1 -0
  202. package/dist/ui/components/molecules/vc-textarea/vc-textarea-model.d.ts +37 -0
  203. package/dist/ui/components/molecules/vc-textarea/vc-textarea-model.d.ts.map +1 -0
  204. package/dist/ui/components/organisms/vc-app/index.d.ts +5 -0
  205. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -0
  206. package/dist/ui/components/organisms/vc-app/vc-app-model.d.ts +61 -0
  207. package/dist/ui/components/organisms/vc-app/vc-app-model.d.ts.map +1 -0
  208. package/dist/ui/components/organisms/vc-blade/index.d.ts +5 -0
  209. package/dist/ui/components/organisms/vc-blade/index.d.ts.map +1 -0
  210. package/dist/ui/components/organisms/vc-blade/vc-blade-model.d.ts +34 -0
  211. package/dist/ui/components/organisms/vc-blade/vc-blade-model.d.ts.map +1 -0
  212. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts.map +1 -1
  213. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts +5 -0
  214. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts.map +1 -0
  215. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.d.ts +43 -0
  216. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.d.ts.map +1 -0
  217. package/dist/ui/components/organisms/vc-gallery/index.d.ts +5 -0
  218. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -0
  219. package/dist/ui/components/organisms/vc-gallery/vc-gallery-model.d.ts +74 -0
  220. package/dist/ui/components/organisms/vc-gallery/vc-gallery-model.d.ts.map +1 -0
  221. package/dist/ui/components/organisms/vc-login-form/index.d.ts +5 -0
  222. package/dist/ui/components/organisms/vc-login-form/index.d.ts.map +1 -0
  223. package/dist/ui/components/organisms/vc-login-form/vc-login-form-model.d.ts +15 -0
  224. package/dist/ui/components/organisms/vc-login-form/vc-login-form-model.d.ts.map +1 -0
  225. package/dist/ui/components/organisms/vc-popup/index.d.ts +5 -0
  226. package/dist/ui/components/organisms/vc-popup/index.d.ts.map +1 -0
  227. package/dist/ui/components/organisms/vc-popup/vc-popup-model.d.ts +22 -0
  228. package/dist/ui/components/organisms/vc-popup/vc-popup-model.d.ts.map +1 -0
  229. package/dist/ui/components/organisms/vc-table/index.d.ts +5 -0
  230. package/dist/ui/components/organisms/vc-table/index.d.ts.map +1 -0
  231. package/dist/ui/components/organisms/vc-table/vc-table-model.d.ts +135 -0
  232. package/dist/ui/components/organisms/vc-table/vc-table-model.d.ts.map +1 -0
  233. package/dist/ui/types/index.d.ts +76 -6
  234. package/dist/ui/types/index.d.ts.map +1 -1
  235. package/dist/ui/types/ts-helpers.d.ts +14 -4
  236. package/dist/ui/types/ts-helpers.d.ts.map +1 -1
  237. package/dist/ui/utils/index.d.ts +2 -0
  238. package/dist/ui/utils/index.d.ts.map +1 -0
  239. package/dist/ui/utils/types.d.ts +3 -0
  240. package/dist/ui/utils/types.d.ts.map +1 -0
  241. package/dist/vite.config.d.ts +1 -1
  242. package/dist/vite.config.d.ts.map +1 -1
  243. package/package.json +9 -11
  244. package/shared/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -6
  245. package/shared/app-switcher/composables/useAppSwitcher/index.ts +3 -8
  246. package/shared/app-switcher/index.ts +3 -10
  247. package/shared/assets/components/assets-details/assets-details.vue +10 -31
  248. package/shared/assets/components/index.ts +1 -1
  249. package/shared/assets/index.ts +3 -15
  250. package/shared/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +2 -7
  251. package/shared/blade-navigation/composables/index.ts +1 -1
  252. package/shared/blade-navigation/composables/useBladeNavigation/index.ts +8 -37
  253. package/shared/blade-navigation/index.ts +3 -10
  254. package/shared/blade-navigation/types/index.ts +1 -1
  255. package/shared/index.ts +9 -11
  256. package/ui/components/atoms/vc-badge/index.ts +5 -5
  257. package/ui/components/atoms/vc-badge/vc-badge-model.ts +21 -20
  258. package/ui/components/atoms/vc-badge/vc-badge.vue +5 -11
  259. package/ui/components/atoms/vc-button/index.ts +5 -5
  260. package/ui/components/atoms/vc-button/vc-button-model.ts +31 -24
  261. package/ui/components/atoms/vc-button/vc-button.vue +9 -38
  262. package/ui/components/atoms/vc-card/index.ts +6 -0
  263. package/ui/components/atoms/vc-card/vc-card-model.ts +37 -0
  264. package/ui/components/atoms/vc-card/vc-card.vue +20 -36
  265. package/ui/components/atoms/vc-checkbox/index.ts +8 -0
  266. package/ui/components/atoms/vc-checkbox/vc-checkbox-model.ts +35 -0
  267. package/ui/components/atoms/vc-checkbox/vc-checkbox.vue +15 -30
  268. package/ui/components/atoms/vc-col/index.ts +5 -0
  269. package/ui/components/atoms/vc-col/vc-col-model.ts +15 -0
  270. package/ui/components/atoms/vc-col/vc-col.vue +2 -6
  271. package/ui/components/atoms/vc-container/index.ts +8 -0
  272. package/ui/components/atoms/vc-container/vc-container-model.ts +28 -0
  273. package/ui/components/atoms/vc-container/vc-container.vue +11 -26
  274. package/ui/components/atoms/vc-hint/index.ts +2 -0
  275. package/ui/components/atoms/vc-hint/vc-hint-model.ts +5 -0
  276. package/ui/components/atoms/vc-icon/index.ts +5 -0
  277. package/ui/components/atoms/vc-icon/vc-icon-model.ts +19 -0
  278. package/ui/components/atoms/vc-icon/vc-icon.vue +2 -8
  279. package/ui/components/atoms/vc-image/index.ts +7 -0
  280. package/ui/components/atoms/vc-image/vc-image-model.ts +41 -0
  281. package/ui/components/atoms/vc-image/vc-image.stories.ts +1 -2
  282. package/ui/components/atoms/vc-image/vc-image.vue +12 -42
  283. package/ui/components/atoms/vc-info-row/index.ts +5 -0
  284. package/ui/components/atoms/vc-info-row/vc-info-row-model.ts +27 -0
  285. package/ui/components/atoms/vc-info-row/vc-info-row.vue +14 -24
  286. package/ui/components/atoms/vc-label/index.ts +5 -0
  287. package/ui/components/atoms/vc-label/vc-label-model.ts +20 -0
  288. package/ui/components/atoms/vc-label/vc-label.vue +11 -15
  289. package/ui/components/atoms/vc-link/index.ts +6 -0
  290. package/ui/components/atoms/vc-link/vc-link-model.ts +24 -0
  291. package/ui/components/atoms/vc-link/vc-link.vue +4 -11
  292. package/ui/components/atoms/vc-loading/index.ts +5 -0
  293. package/ui/components/atoms/vc-loading/vc-loading-model.ts +15 -0
  294. package/ui/components/atoms/vc-loading/vc-loading.vue +5 -11
  295. package/ui/components/atoms/vc-progress/index.ts +5 -0
  296. package/ui/components/atoms/vc-progress/vc-progress-model.ts +19 -0
  297. package/ui/components/atoms/vc-progress/vc-progress.vue +5 -20
  298. package/ui/components/atoms/vc-row/index.ts +2 -0
  299. package/ui/components/atoms/vc-row/vc-row-model.ts +5 -0
  300. package/ui/components/atoms/vc-status/index.ts +5 -0
  301. package/ui/components/atoms/vc-status/vc-status-model.ts +23 -0
  302. package/ui/components/atoms/vc-status/vc-status.vue +3 -21
  303. package/ui/components/atoms/vc-status-icon/index.ts +5 -0
  304. package/ui/components/atoms/vc-status-icon/vc-status-icon-model.ts +15 -0
  305. package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +11 -9
  306. package/ui/components/atoms/vc-switch/index.ts +7 -0
  307. package/ui/components/atoms/vc-switch/vc-switch-model.ts +34 -0
  308. package/ui/components/atoms/vc-switch/vc-switch.vue +12 -28
  309. package/ui/components/atoms/vc-widget/index.ts +7 -0
  310. package/ui/components/atoms/vc-widget/vc-widget-model.ts +23 -0
  311. package/ui/components/atoms/vc-widget/vc-widget.vue +15 -22
  312. package/ui/components/index.ts +34 -34
  313. package/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue +1 -1
  314. package/ui/components/molecules/vc-breadcrumbs/index.ts +5 -0
  315. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.ts +23 -0
  316. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +6 -14
  317. package/ui/components/molecules/vc-editor/index.ts +7 -0
  318. package/ui/components/molecules/vc-editor/vc-editor-model.ts +37 -0
  319. package/ui/components/molecules/vc-editor/vc-editor.vue +25 -56
  320. package/ui/components/molecules/vc-file-upload/index.ts +8 -0
  321. package/ui/components/molecules/vc-file-upload/vc-file-upload-model.ts +37 -0
  322. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +11 -36
  323. package/ui/components/molecules/vc-form/index.ts +2 -0
  324. package/ui/components/molecules/vc-form/vc-form-model.ts +5 -0
  325. package/ui/components/molecules/vc-input/index.ts +5 -6
  326. package/ui/components/molecules/vc-input/vc-input-model.ts +53 -35
  327. package/ui/components/molecules/vc-input/vc-input.vue +41 -29
  328. package/ui/components/molecules/vc-input-currency/index.ts +4 -3
  329. package/ui/components/molecules/vc-input-currency/vc-input-currency-model.ts +42 -32
  330. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +12 -7
  331. package/ui/components/molecules/vc-notification/index.ts +8 -0
  332. package/ui/components/molecules/vc-notification/vc-notification-model.ts +21 -0
  333. package/ui/components/molecules/vc-notification/vc-notification.vue +4 -13
  334. package/ui/components/molecules/vc-pagination/index.ts +8 -0
  335. package/ui/components/molecules/vc-pagination/vc-pagination-model.ts +29 -0
  336. package/ui/components/molecules/vc-pagination/vc-pagination.vue +21 -23
  337. package/ui/components/molecules/vc-rating/index.ts +5 -0
  338. package/ui/components/molecules/vc-rating/vc-rating-model.ts +23 -0
  339. package/ui/components/molecules/vc-rating/vc-rating.vue +11 -13
  340. package/ui/components/molecules/vc-select/index.ts +5 -5
  341. package/ui/components/molecules/vc-select/vc-select-model.ts +74 -44
  342. package/ui/components/molecules/vc-select/vc-select.vue +128 -173
  343. package/ui/components/molecules/vc-slider/index.ts +5 -0
  344. package/ui/components/molecules/vc-slider/vc-slider-model.ts +34 -0
  345. package/ui/components/molecules/vc-slider/vc-slider.vue +2 -26
  346. package/ui/components/molecules/vc-textarea/index.ts +8 -0
  347. package/ui/components/molecules/vc-textarea/vc-textarea-model.ts +41 -0
  348. package/ui/components/molecules/vc-textarea/vc-textarea.vue +19 -53
  349. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +16 -12
  350. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +13 -4
  351. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +18 -15
  352. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +11 -5
  353. package/ui/components/organisms/vc-app/index.ts +6 -0
  354. package/ui/components/organisms/vc-app/vc-app-model.ts +65 -0
  355. package/ui/components/organisms/vc-app/vc-app.vue +10 -52
  356. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +40 -40
  357. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +20 -14
  358. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +14 -12
  359. package/ui/components/organisms/vc-blade/index.ts +7 -0
  360. package/ui/components/organisms/vc-blade/vc-blade-model.ts +37 -0
  361. package/ui/components/organisms/vc-blade/vc-blade.stories.ts +1 -2
  362. package/ui/components/organisms/vc-blade/vc-blade.vue +13 -40
  363. package/ui/components/organisms/vc-dynamic-property/index.ts +5 -0
  364. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.ts +58 -0
  365. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +101 -125
  366. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +41 -24
  367. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +16 -11
  368. package/ui/components/organisms/vc-gallery/index.ts +8 -0
  369. package/ui/components/organisms/vc-gallery/vc-gallery-model.ts +78 -0
  370. package/ui/components/organisms/vc-gallery/vc-gallery.vue +11 -88
  371. package/ui/components/organisms/vc-login-form/index.ts +5 -0
  372. package/ui/components/organisms/vc-login-form/vc-login-form-model.ts +16 -0
  373. package/ui/components/organisms/vc-login-form/vc-login-form.vue +2 -15
  374. package/ui/components/organisms/vc-popup/index.ts +7 -0
  375. package/ui/components/organisms/vc-popup/vc-popup-model.ts +25 -0
  376. package/ui/components/organisms/vc-popup/vc-popup.vue +7 -18
  377. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +21 -27
  378. package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +2 -6
  379. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +9 -3
  380. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +31 -43
  381. package/ui/components/organisms/vc-table/index.ts +7 -0
  382. package/ui/components/organisms/vc-table/vc-table-model.ts +116 -0
  383. package/ui/components/organisms/vc-table/vc-table.vue +108 -139
  384. package/ui/types/index.ts +106 -15
  385. package/ui/types/ts-helpers.ts +23 -3
  386. package/ui/utils/index.ts +1 -0
  387. package/ui/utils/types.ts +2 -0
  388. package/core/composables/useLogger/index.ts +0 -24
  389. package/dist/core/composables/useLogger/index.d.ts +0 -5
  390. package/dist/core/composables/useLogger/index.d.ts.map +0 -1
@@ -1,10 +1,9 @@
1
1
  <template>
2
2
  <Field
3
- v-if="
4
- (property.dictionary || property.isDictionary) && !property.multivalue
5
- "
3
+ v-if="(property['dictionary'] || property['isDictionary']) && !property['multivalue']"
6
4
  v-slot="{ errorMessage, handleChange, errors }"
7
- :name="property.displayName || property.name"
5
+ :label="handleDisplayName || property['displayName']"
6
+ :name="property['displayName'] || property['name']"
8
7
  :modelValue="getter(property, true)"
9
8
  :rules="rules"
10
9
  >
@@ -12,7 +11,7 @@
12
11
  v-bind="$attrs"
13
12
  :error="!!errors.length"
14
13
  :error-message="errorMessage"
15
- :label="handleDisplayName || property.displayName"
14
+ :label="handleDisplayName || property['displayName']"
16
15
  :modelValue="getter(property, true)"
17
16
  @update:modelValue="
18
17
  (e) => {
@@ -20,8 +19,8 @@
20
19
  setter(property, e, items);
21
20
  }
22
21
  "
23
- :required="property.required || property.isRequired"
24
- :placeholder="handleDisplayName || property.defaultValue"
22
+ :required="property['required'] || property['isRequired']"
23
+ :placeholder="handleDisplayName || property['defaultValue']"
25
24
  :options="items"
26
25
  option-value="id"
27
26
  :option-label="handleDisplayProperty"
@@ -34,70 +33,76 @@
34
33
 
35
34
  <Field
36
35
  v-else-if="
37
- property.valueType === 'ShortText' &&
38
- property.multivalue &&
39
- !(property.dictionary || property.isDictionary)
36
+ property['valueType'] === 'ShortText' &&
37
+ property['multivalue'] &&
38
+ !(property['dictionary'] || property['isDictionary'])
40
39
  "
41
- v-slot="{ errorMessage, handleChange }"
42
- :name="property.name"
43
- :modelValue="property.values"
40
+ v-slot="{ errorMessage, handleChange, errors }"
41
+ :label="handleDisplayName"
42
+ :name="property['name']"
43
+ :modelValue="property['values']"
44
44
  :rules="rules"
45
45
  >
46
- <VcMultivalue
46
+ <VcSelect
47
47
  v-bind="$attrs"
48
+ :error="!!errors.length"
48
49
  :error-message="errorMessage"
49
50
  :label="handleDisplayName"
50
- :modelValue="property.values"
51
+ :modelValue="property['values']"
51
52
  @update:modelValue="
52
53
  (e) => {
53
54
  handleChange(e);
54
55
  setter(property, e);
55
56
  }
56
57
  "
57
- :required="property.required || property.isRequired"
58
+ :required="property['required'] || property['isRequired']"
58
59
  placeholder="Add value"
59
60
  :disabled="disabled"
60
- ></VcMultivalue>
61
+ :multiple="true"
62
+ ></VcSelect>
61
63
  </Field>
62
64
 
63
65
  <Field
64
66
  v-else-if="
65
- property.valueType === 'ShortText' &&
66
- property.multivalue &&
67
- (property.dictionary || property.isDictionary)
67
+ property['valueType'] === 'ShortText' &&
68
+ property['multivalue'] &&
69
+ (property['dictionary'] || property['isDictionary'])
68
70
  "
69
- v-slot="{ errorMessage, handleChange }"
70
- :name="property.name"
71
- :modelValue="property.values"
71
+ v-slot="{ errorMessage, handleChange, errors }"
72
+ :label="handleDisplayName"
73
+ :name="property['name']"
74
+ :modelValue="property['values']"
72
75
  :rules="rules"
73
76
  >
74
- <VcMultivalue
77
+ <VcSelect
75
78
  v-bind="$attrs"
79
+ :error="!!errors.length"
76
80
  :error-message="errorMessage"
77
81
  :label="handleDisplayName"
78
- :modelValue="property.values"
82
+ :modelValue="property['values']"
79
83
  @update:modelValue="
80
84
  (e) => {
81
85
  handleChange(e);
82
86
  setter(property, e, items);
83
87
  }
84
88
  "
85
- :required="property.required || property.isRequired"
89
+ :required="property['required'] || property['isRequired']"
86
90
  placeholder="Add value"
87
- :multivalue="property.multivalue"
88
91
  :disabled="disabled"
89
92
  :options="items"
90
- keyProperty="id"
91
- displayProperty="alias"
93
+ option-label="alias"
94
+ option-value="id"
92
95
  @search="onSearch"
93
96
  @close="onClose"
94
- ></VcMultivalue>
97
+ :multiple="property['multivalue']"
98
+ ></VcSelect>
95
99
  </Field>
96
100
 
97
101
  <Field
98
- v-else-if="property.valueType === 'ShortText'"
102
+ v-else-if="property['valueType'] === 'ShortText'"
99
103
  v-slot="{ errorMessage, handleChange, errors }"
100
- :name="property.displayName || property.name"
104
+ :label="handleDisplayName || property['displayName']"
105
+ :name="property['displayName'] || property['name']"
101
106
  :modelValue="getter(property)"
102
107
  :rules="rules"
103
108
  >
@@ -105,8 +110,8 @@
105
110
  v-bind="$attrs"
106
111
  :error="!!errors.length"
107
112
  :error-message="errorMessage"
108
- :label="handleDisplayName || property.displayName"
109
- :modelValue="getter(property)"
113
+ :label="handleDisplayName || property['displayName']"
114
+ :modelValue="(getter(property) as string | number | Date)"
110
115
  @update:modelValue="
111
116
  (e) => {
112
117
  handleChange(e);
@@ -114,23 +119,24 @@
114
119
  }
115
120
  "
116
121
  clearable
117
- :required="property.required || property.isRequired"
122
+ :required="property['required'] || property['isRequired']"
118
123
  :placeholder="handleDisplayName || 'Add value'"
119
124
  :disabled="disabled"
120
125
  ></VcInput>
121
126
  </Field>
122
127
 
123
128
  <Field
124
- v-else-if="property.valueType === 'Number' && property.multivalue"
129
+ v-else-if="property['valueType'] === 'Number' && property['multivalue']"
125
130
  v-slot="{ errorMessage, handleChange, errors }"
126
- :name="property.name"
127
- :modelValue="property.values"
131
+ :label="handleDisplayName"
132
+ :name="property['name']"
133
+ :modelValue="property['values']"
128
134
  :rules="rules"
129
135
  >
130
136
  <VcSelect
131
137
  v-bind="$attrs"
132
138
  :label="handleDisplayName"
133
- :modelValue="property.values"
139
+ :modelValue="property['values']"
134
140
  @update:modelValue="
135
141
  (e) => {
136
142
  handleChange(e);
@@ -138,7 +144,7 @@
138
144
  }
139
145
  "
140
146
  type="number"
141
- :required="property.required || property.isRequired"
147
+ :required="property['required'] || property['isRequired']"
142
148
  placeholder="Add value"
143
149
  :disabled="disabled"
144
150
  :error="!!errors.length"
@@ -151,9 +157,10 @@
151
157
  </Field>
152
158
 
153
159
  <Field
154
- v-else-if="property.valueType === 'Number'"
160
+ v-else-if="property['valueType'] === 'Number'"
155
161
  v-slot="{ errorMessage, handleChange, errors }"
156
- :name="property.name"
162
+ :label="handleDisplayName"
163
+ :name="property['name']"
157
164
  :modelValue="getter(property)"
158
165
  :rules="rules"
159
166
  >
@@ -162,7 +169,7 @@
162
169
  :error="!!errors.length"
163
170
  :error-message="errorMessage"
164
171
  :label="handleDisplayName"
165
- :modelValue="getter(property)"
172
+ :modelValue="(getter(property) as string | number | Date)"
166
173
  @update:modelValue="
167
174
  (e) => {
168
175
  handleChange(e);
@@ -171,16 +178,17 @@
171
178
  "
172
179
  clearable
173
180
  type="number"
174
- :required="property.required || property.isRequired"
175
- :placeholder="handleDisplayName || property.defaultValue"
181
+ :required="property['required'] || property['isRequired']"
182
+ :placeholder="handleDisplayName || property['defaultValue']"
176
183
  :disabled="disabled"
177
184
  ></VcInput>
178
185
  </Field>
179
186
 
180
187
  <Field
181
- v-else-if="property.valueType === 'Integer'"
188
+ v-else-if="property['valueType'] === 'Integer'"
182
189
  v-slot="{ errorMessage, handleChange, errors }"
183
- :name="property.name"
190
+ :label="handleDisplayName"
191
+ :name="property['name']"
184
192
  :modelValue="getter(property)"
185
193
  :rules="rules"
186
194
  >
@@ -189,7 +197,7 @@
189
197
  :error="!!errors.length"
190
198
  :error-message="errorMessage"
191
199
  :label="handleDisplayName"
192
- :modelValue="getter(property)"
200
+ :modelValue="(getter(property) as string | number | Date)"
193
201
  @update:modelValue="
194
202
  (e) => {
195
203
  handleChange(e);
@@ -199,16 +207,17 @@
199
207
  clearable
200
208
  type="number"
201
209
  step="1"
202
- :required="property.required || property.isRequired"
203
- :placeholder="handleDisplayName || property.defaultValue"
210
+ :required="property['required'] || property['isRequired']"
211
+ :placeholder="handleDisplayName || property['defaultValue']"
204
212
  :disabled="disabled"
205
213
  ></VcInput>
206
214
  </Field>
207
215
 
208
216
  <Field
209
- v-else-if="property.valueType === 'DateTime'"
217
+ v-else-if="property['valueType'] === 'DateTime'"
210
218
  v-slot="{ errorMessage, handleChange, errors }"
211
- :name="property.name"
219
+ :label="handleDisplayName"
220
+ :name="property['name']"
212
221
  :modelValue="getter(property)"
213
222
  :rules="rules"
214
223
  >
@@ -217,7 +226,7 @@
217
226
  :error="!!errors.length"
218
227
  :error-message="errorMessage"
219
228
  :label="handleDisplayName"
220
- :modelValue="getter(property)"
229
+ :modelValue="(getter(property) as string | number | Date)"
221
230
  @update:modelValue="
222
231
  (e) => {
223
232
  handleChange(e);
@@ -225,16 +234,17 @@
225
234
  }
226
235
  "
227
236
  type="datetime-local"
228
- :required="property.required || property.isRequired"
229
- :placeholder="handleDisplayName || property.defaultValue"
237
+ :required="property['required'] || property['isRequired']"
238
+ :placeholder="handleDisplayName || property['defaultValue']"
230
239
  :disabled="disabled"
231
240
  ></VcInput>
232
241
  </Field>
233
242
 
234
243
  <Field
235
- v-else-if="property.valueType === 'LongText'"
244
+ v-else-if="property['valueType'] === 'LongText'"
236
245
  v-slot="{ errorMessage, handleChange }"
237
- :name="property.name"
246
+ :label="handleDisplayName"
247
+ :name="property['name']"
238
248
  :modelValue="getter(property)"
239
249
  :rules="rules"
240
250
  >
@@ -242,65 +252,67 @@
242
252
  v-bind="$attrs"
243
253
  :error-message="errorMessage"
244
254
  :label="handleDisplayName"
245
- :modelValue="getter(property)"
255
+ :modelValue="getter(property) as string"
246
256
  @update:modelValue="
247
257
  (e) => {
248
258
  handleChange(e);
249
259
  setter(property, e);
250
260
  }
251
261
  "
252
- :isRequired="property.required || property.isRequired"
253
- :placeholder="handleDisplayName || property.defaultValue"
262
+ :required="property['required'] || property['isRequired']"
263
+ :placeholder="handleDisplayName || property['defaultValue']"
254
264
  :disabled="disabled"
255
265
  ></VcTextarea>
256
266
  </Field>
257
267
 
258
268
  <Field
259
- v-else-if="property.valueType === 'Boolean'"
269
+ v-else-if="property['valueType'] === 'Boolean'"
260
270
  v-slot="{ errorMessage, handleChange }"
261
- :name="property.displayName || property.name"
271
+ :label="handleDisplayName || property['displayName']"
272
+ :name="property['displayName'] || property['name']"
262
273
  :modelValue="getter(property)"
263
274
  :rules="rules"
264
275
  >
265
276
  <VcCheckbox
266
277
  v-bind="$attrs"
267
278
  :error-message="errorMessage"
268
- :modelValue="getter(property)"
279
+ :modelValue="getter(property) as boolean"
269
280
  @update:modelValue="
270
281
  (e) => {
271
282
  handleChange(e);
272
283
  setter(property, e);
273
284
  }
274
285
  "
275
- :required="property.required || property.isRequired"
286
+ :required="property['required'] || property['isRequired']"
276
287
  :disabled="disabled"
277
- :name="property.displayName || property.name"
288
+ :name="property['displayName'] || property['name']"
278
289
  >
279
- {{ handleDisplayName || property.displayName }}
290
+ {{ handleDisplayName || property["displayName"] }}
280
291
  </VcCheckbox>
281
292
  </Field>
282
293
 
283
294
  <Field
284
- v-else-if="property.valueType === 'Html'"
295
+ v-else-if="property['valueType'] === 'Html'"
285
296
  v-slot="{ errorMessage, handleChange }"
286
- :name="property.displayName || property.name"
297
+ :label="handleDisplayName || property['displayName']"
298
+ :name="property['displayName'] || property['name']"
287
299
  :modelValue="getter(property)"
288
300
  :rules="rules"
289
301
  >
290
302
  <VcEditor
291
303
  v-bind="$attrs"
292
- :label="handleDisplayName || property.displayName"
293
- :modelValue="getter(property)"
304
+ :label="handleDisplayName || property['displayName']"
305
+ :modelValue="(getter(property) as string | number | Date)"
294
306
  @update:modelValue="
295
307
  (e) => {
296
308
  handleChange(e);
297
309
  setter(property, e);
298
310
  }
299
311
  "
300
- :required="property.required || property.isRequired"
312
+ :required="property['required'] || property['isRequired']"
301
313
  :placeholder="handleDisplayName || 'Add value'"
302
314
  :disabled="disabled"
303
- :name="property.displayName || property.name"
315
+ :name="property['displayName'] || property['name']"
304
316
  :error-message="errorMessage"
305
317
  >
306
318
  </VcEditor>
@@ -309,8 +321,9 @@
309
321
 
310
322
  <script lang="ts" setup>
311
323
  import { ref, onMounted, computed } from "vue";
312
- import { useI18n } from "@/core/composables";
324
+ import { useI18n } from "./../../../../core/composables";
313
325
  import { Field } from "vee-validate";
326
+ import { dynamicPropertyProps } from "./vc-dynamic-property-model";
314
327
 
315
328
  type IValidationRules = {
316
329
  required?: boolean;
@@ -324,64 +337,27 @@ interface IDisplayName {
324
337
  name?: string;
325
338
  }
326
339
 
327
- const props = defineProps({
328
- property: {
329
- type: Object,
330
- default: () => ({}),
331
- },
332
-
333
- dictionaries: {
334
- type: Object,
335
- default: () => ({}),
336
- },
337
-
338
- getter: {
339
- type: Function,
340
- },
341
-
342
- optionsGetter: {
343
- type: Function,
344
- },
345
-
346
- setter: {
347
- type: Function,
348
- },
349
-
350
- culture: {
351
- type: String,
352
- default: "en-US",
353
- },
354
-
355
- disabled: {
356
- type: Boolean,
357
- default: false,
358
- },
359
- });
340
+ const props = defineProps(dynamicPropertyProps);
360
341
 
361
342
  const { locale, te, t } = useI18n();
362
343
 
363
344
  const rules: IValidationRules = {};
364
345
  const items = ref([]);
365
346
  const handleDisplayProperty = computed(() => {
366
- return items.value?.some((x: { alias: string }) => x.alias)
367
- ? "alias"
368
- : "name";
347
+ return items.value?.some((x: { alias: string }) => x.alias) ? "alias" : "name";
369
348
  });
370
349
  const handleDisplayName = computed(() => {
371
350
  let localized: string;
372
- const isLocaleExists = props.property.displayNames?.find((x: IDisplayName) =>
373
- x.languageCode
374
- ?.toLowerCase()
375
- .startsWith((locale.value as string)?.toLowerCase())
351
+ const isLocaleExists = props.property["displayNames"]?.find((x: IDisplayName) =>
352
+ x.languageCode?.toLowerCase().startsWith((locale.value as string)?.toLowerCase())
376
353
  );
377
354
  if (isLocaleExists && isLocaleExists.name) {
378
355
  localized = isLocaleExists.name;
379
356
  } else {
380
- const fallback = props.property.displayNames?.find((x: IDisplayName) =>
357
+ const fallback = props.property["displayNames"]?.find((x: IDisplayName) =>
381
358
  x.languageCode?.toLowerCase().includes(props.culture?.toLowerCase())
382
359
  );
383
- localized =
384
- fallback && fallback?.name ? fallback.name : props.property.name;
360
+ localized = fallback && fallback?.name ? fallback.name : props.property["name"];
385
361
  }
386
362
 
387
363
  return localized && te(localized.toUpperCase())
@@ -395,24 +371,24 @@ onMounted(async () => {
395
371
  }
396
372
  });
397
373
 
398
- if (props.property.required || props.property.isRequired) {
374
+ if (props.property["required"] || props.property["isRequired"]) {
399
375
  rules.required = true;
400
376
  }
401
- if (props.property.validationRule?.charCountMin) {
402
- rules.min = Number(props.property.validationRule.charCountMin);
377
+ if (props.property["validationRule"]?.charCountMin) {
378
+ rules.min = Number(props.property["validationRule"].charCountMin);
403
379
  }
404
- if (props.property.validationRule?.charCountMax) {
405
- rules.max = Number(props.property.validationRule.charCountMax);
380
+ if (props.property["validationRule"]?.charCountMax) {
381
+ rules.max = Number(props.property["validationRule"].charCountMax);
406
382
  }
407
- if (props.property.validationRule?.regExp) {
408
- rules.regex = new RegExp(props.property.validationRule?.regExp);
383
+ if (props.property["validationRule"]?.regExp) {
384
+ rules.regex = new RegExp(props.property["validationRule"]?.regExp);
409
385
  }
410
386
 
411
387
  /*function getLabel() {
412
388
  return (
413
- (props.property.displayNames as { culture: string }[]).find(
389
+ (props.property['displayNames'] as { culture: string }[]).find(
414
390
  (item) => item.culture === props.culture
415
- ) || props.property.name
391
+ ) || props.property['name']
416
392
  );
417
393
  }
418
394
  */
@@ -8,20 +8,27 @@
8
8
  @tap.stop="hover = !hover"
9
9
  v-click-outside="onClose"
10
10
  >
11
- <VcImage aspect="1x1" :src="image.url" background="contain"></VcImage>
11
+ <VcImage
12
+ aspect="1x1"
13
+ :src="image.url"
14
+ background="contain"
15
+ ></VcImage>
12
16
  <div class="vc-gallery-item__overlay">
13
- <div class= "tw-flex">
17
+ <div class="tw-flex">
14
18
  <VcIcon
15
19
  v-if="!readonly && !disableDrag"
16
20
  class="vc-gallery-item__move"
17
21
  icon="fas fa-arrows-alt"
18
22
  size="s"
19
23
  ></VcIcon>
20
- <div class="tw-truncate" :title="image.name">
24
+ <div
25
+ class="tw-truncate"
26
+ :title="image.name"
27
+ >
21
28
  {{ image.name }}
22
29
  </div>
23
30
  </div>
24
- <div class= "tw-flex tw-grow tw-basis-0 tw-items-center tw-justify-around">
31
+ <div class="tw-flex tw-grow tw-basis-0 tw-items-center tw-justify-around">
25
32
  <div
26
33
  class="vc-gallery-item__button"
27
34
  @click="$emit('preview', image)"
@@ -62,28 +69,38 @@
62
69
 
63
70
  <script lang="ts" setup>
64
71
  import { ref } from "vue";
65
- import { clickOutside as vClickOutside } from "@/core/directives";
66
-
67
- defineProps({
68
- image: {
69
- type: Object,
70
- default: () => ({}),
71
- },
72
+ import { clickOutside as vClickOutside } from "./../../../../../../core/directives";
73
+ import { IImage } from "./../../../../../../core/types";
72
74
 
73
- readonly: {
74
- type: Boolean,
75
- default: false,
76
- },
77
-
78
- actions: {
79
- type: Object,
80
- default: () => ({}),
81
- },
75
+ export interface Props {
76
+ image?: IImage | undefined;
77
+ readonly?: boolean | undefined;
78
+ actions?:
79
+ | {
80
+ name?: string | undefined;
81
+ preview: boolean | undefined;
82
+ edit: boolean | undefined;
83
+ remove: boolean | undefined;
84
+ }
85
+ | undefined;
86
+ disableDrag?: boolean | undefined;
87
+ }
82
88
 
83
- disableDrag: {
84
- type: Boolean,
85
- default: false,
86
- },
89
+ withDefaults(defineProps<Props>(), {
90
+ image: () => ({
91
+ sortOrder: undefined,
92
+ title: undefined,
93
+ name: undefined,
94
+ url: undefined,
95
+ }),
96
+ readonly: false,
97
+ actions: () => ({
98
+ name: undefined,
99
+ preview: undefined,
100
+ edit: undefined,
101
+ remove: undefined,
102
+ }),
103
+ disableDrag: false,
87
104
  });
88
105
 
89
106
  defineEmits(["preview", "edit", "remove"]);
@@ -1,5 +1,8 @@
1
1
  <template>
2
- <VcPopup :title="currentImage.title" @close="$emit('close')">
2
+ <VcPopup
3
+ :title="currentImage.title"
4
+ @close="$emit('close')"
5
+ >
3
6
  <template v-slot:title>
4
7
  <div>
5
8
  <span>{{ currentImage.name }} (</span>
@@ -7,9 +10,7 @@
7
10
  <span>)</span>
8
11
  </div>
9
12
  </template>
10
- <div
11
- class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center"
12
- >
13
+ <div class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center">
13
14
  <div class="tw-box-border p-5 tw-grow tw-basis-0 tw-w-full">
14
15
  <div
15
16
  class="bg-contain tw-bg-no-repeat tw-bg-center tw-w-full tw-h-full tw-box-border"
@@ -20,19 +21,23 @@
20
21
  class="tw-absolute tw-top-2/4 -tw-mt-9 tw-h-[72px] tw-w-[72px] tw-flex tw-items-center tw-justify-center tw-rounded-full tw-bg-[#f1f6fa] tw-cursor-pointer tw-text-[#a1c0d4] [--icon-size-xl: 36px] hover:tw-shadow-[0_0_20px_rgba(31,40,50,0.15)] tw-left-[25px]"
21
22
  @click="localIndex--"
22
23
  >
23
- <VcIcon icon="fas fa-arrow-left" size="xl"></VcIcon>
24
+ <VcIcon
25
+ icon="fas fa-arrow-left"
26
+ size="xl"
27
+ ></VcIcon>
24
28
  </div>
25
29
  <div
26
30
  v-if="localIndex < images.length - 1"
27
31
  class="tw-absolute tw-top-2/4 -tw-mt-9 tw-h-[72px] tw-w-[72px] tw-flex tw-items-center tw-justify-center tw-rounded-full tw-bg-[#f1f6fa] tw-cursor-pointer tw-text-[#a1c0d4] [--icon-size-xl: 36px] hover:tw-shadow-[0_0_20px_rgba(31,40,50,0.15)] tw-right-[25px]"
28
32
  @click="localIndex++"
29
33
  >
30
- <VcIcon icon="fas fa-arrow-right" size="xl"></VcIcon>
34
+ <VcIcon
35
+ icon="fas fa-arrow-right"
36
+ size="xl"
37
+ ></VcIcon>
31
38
  </div>
32
39
  </div>
33
- <div
34
- class="tw-p-4 tw-pb-[40px] tw-max-w-full tw-overflow-x-auto tw-box-border tw-shrink tw-flex"
35
- >
40
+ <div class="tw-p-4 tw-pb-[40px] tw-max-w-full tw-overflow-x-auto tw-box-border tw-shrink tw-flex">
36
41
  <div
37
42
  v-for="(item, i) in images"
38
43
  :key="i"
@@ -56,8 +61,8 @@
56
61
 
57
62
  <script lang="ts" setup>
58
63
  import { computed, ref } from "vue";
59
- import { VcPopup } from "@/ui/components";
60
- import { IImage } from "@/core/types";
64
+ import { VcPopup } from "./../../../../../components";
65
+ import { IImage } from "./../../../../../../core/types";
61
66
 
62
67
  export interface Props {
63
68
  images?: IImage[];
@@ -0,0 +1,8 @@
1
+ import { ComponentPublicInstance } from "vue";
2
+ import { VcGalleryEmits, VcGalleryProps } from "./vc-gallery-model";
3
+ import { ComponentConstructor } from "./../../../types/ts-helpers";
4
+ import Gallery from "./vc-gallery.vue";
5
+ export const VcGallery: ComponentConstructor<
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ ComponentPublicInstance<VcGalleryProps, any, any, any, any, VcGalleryEmits>
8
+ > = Gallery;