@vc-shell/framework 1.0.53 → 1.0.56

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 (772) hide show
  1. package/core/composables/index.ts +0 -1
  2. package/core/composables/useApiClient/index.ts +1 -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 +5 -12
  12. package/core/composables/useSettings/index.ts +2 -3
  13. package/core/composables/useUser/index.ts +25 -64
  14. package/core/plugins/i18n/index.ts +8 -0
  15. package/core/plugins/index.ts +3 -1
  16. package/core/plugins/modularity/index.ts +32 -0
  17. package/core/plugins/moment/humanize.ts +1 -4
  18. package/core/plugins/validation/index.ts +11 -1
  19. package/core/plugins/validation/rules.ts +48 -170
  20. package/core/types/index.ts +7 -9
  21. package/dist/framework.mjs +105222 -0
  22. package/dist/index.css +1 -0
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/types/core/api/index.d.ts.map +1 -0
  25. package/dist/types/core/api/platform.d.ts.map +1 -0
  26. package/dist/{core → types/core}/composables/index.d.ts +0 -1
  27. package/dist/types/core/composables/index.d.ts.map +1 -0
  28. package/dist/types/core/composables/useApiClient/index.d.ts.map +1 -0
  29. package/dist/types/core/composables/useAsync/index.d.ts.map +1 -0
  30. package/dist/types/core/composables/useAutosave/index.d.ts.map +1 -0
  31. package/dist/types/core/composables/useFunctions/debounce.d.ts.map +1 -0
  32. package/dist/types/core/composables/useFunctions/delay.d.ts.map +1 -0
  33. package/dist/types/core/composables/useFunctions/index.d.ts.map +1 -0
  34. package/dist/types/core/composables/useFunctions/once.d.ts.map +1 -0
  35. package/dist/types/core/composables/useFunctions/sleep.d.ts.map +1 -0
  36. package/dist/types/core/composables/useFunctions/throttle.d.ts.map +1 -0
  37. package/dist/types/core/composables/useI18n/index.d.ts +3 -0
  38. package/dist/types/core/composables/useI18n/index.d.ts.map +1 -0
  39. package/dist/types/core/composables/useLoading/index.d.ts.map +1 -0
  40. package/dist/types/core/composables/useNotifications/index.d.ts.map +1 -0
  41. package/dist/types/core/composables/usePermissions/index.d.ts.map +1 -0
  42. package/dist/types/core/composables/useSettings/index.d.ts.map +1 -0
  43. package/dist/types/core/composables/useUser/index.d.ts.map +1 -0
  44. package/dist/types/core/directives/autofocus/index.d.ts.map +1 -0
  45. package/dist/types/core/directives/click-outside/index.d.ts.map +1 -0
  46. package/dist/types/core/directives/index.d.ts.map +1 -0
  47. package/dist/types/core/directives/loading/index.d.ts.map +1 -0
  48. package/dist/types/core/directives/permissions/index.d.ts.map +1 -0
  49. package/dist/types/core/plugins/i18n/index.d.ts +3 -0
  50. package/dist/types/core/plugins/i18n/index.d.ts.map +1 -0
  51. package/dist/types/core/plugins/index.d.ts +5 -0
  52. package/dist/types/core/plugins/index.d.ts.map +1 -0
  53. package/dist/types/core/plugins/modularity/index.d.ts +8 -0
  54. package/dist/types/core/plugins/modularity/index.d.ts.map +1 -0
  55. package/dist/types/core/plugins/moment/humanize.d.ts.map +1 -0
  56. package/dist/types/core/plugins/moment/index.d.ts.map +1 -0
  57. package/dist/types/core/plugins/moment/moment.d.ts.map +1 -0
  58. package/dist/types/core/plugins/validation/index.d.ts +5 -0
  59. package/dist/types/core/plugins/validation/index.d.ts.map +1 -0
  60. package/dist/types/core/plugins/validation/rules.d.ts +33 -0
  61. package/dist/types/core/plugins/validation/rules.d.ts.map +1 -0
  62. package/dist/{core → types/core}/types/index.d.ts +4 -5
  63. package/dist/types/core/types/index.d.ts.map +1 -0
  64. package/dist/types/core/utilities/camelToSnake.d.ts.map +1 -0
  65. package/dist/types/core/utilities/index.d.ts.map +1 -0
  66. package/dist/{index.d.ts → types/index.d.ts} +1 -1
  67. package/dist/types/index.d.ts.map +1 -0
  68. package/dist/types/shared/app-switcher/components/index.d.ts.map +1 -0
  69. package/dist/types/shared/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts +31 -0
  70. package/dist/types/shared/app-switcher/components/vc-app-switcher/vc-app-switcher.vue.d.ts.map +1 -0
  71. package/dist/types/shared/app-switcher/composables/index.d.ts.map +1 -0
  72. package/dist/types/shared/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -0
  73. package/dist/{shared → types/shared}/app-switcher/index.d.ts +2 -3
  74. package/dist/types/shared/app-switcher/index.d.ts.map +1 -0
  75. package/dist/types/shared/assets/components/assets-details/assets-details.vue.d.ts +52 -0
  76. package/dist/types/shared/assets/components/assets-details/assets-details.vue.d.ts.map +1 -0
  77. package/dist/types/shared/assets/components/index.d.ts +2 -0
  78. package/dist/types/shared/assets/components/index.d.ts.map +1 -0
  79. package/dist/types/shared/assets/index.d.ts +6 -0
  80. package/dist/types/shared/assets/index.d.ts.map +1 -0
  81. package/dist/types/shared/assets/locales/index.d.ts.map +1 -0
  82. package/dist/types/shared/blade-navigation/components/index.d.ts.map +1 -0
  83. package/dist/types/shared/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts +70 -0
  84. package/dist/types/shared/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue.d.ts.map +1 -0
  85. package/dist/types/shared/blade-navigation/composables/index.d.ts +2 -0
  86. package/dist/types/shared/blade-navigation/composables/index.d.ts.map +1 -0
  87. package/dist/{shared → types/shared}/blade-navigation/composables/useBladeNavigation/index.d.ts +1 -1
  88. package/dist/types/shared/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -0
  89. package/dist/types/shared/blade-navigation/index.d.ts +8 -0
  90. package/dist/types/shared/blade-navigation/index.d.ts.map +1 -0
  91. package/dist/types/shared/blade-navigation/types/index.d.ts.map +1 -0
  92. package/dist/{shared → types/shared}/index.d.ts +4 -1
  93. package/dist/types/shared/index.d.ts.map +1 -0
  94. package/dist/types/tsconfig.tsbuildinfo +1 -0
  95. package/dist/types/ui/components/atoms/vc-badge/index.d.ts +11 -0
  96. package/dist/types/ui/components/atoms/vc-badge/index.d.ts.map +1 -0
  97. package/dist/types/ui/components/atoms/vc-badge/vc-badge.stories.d.ts +105 -0
  98. package/dist/types/ui/components/atoms/vc-badge/vc-badge.stories.d.ts.map +1 -0
  99. package/dist/types/ui/components/atoms/vc-badge/vc-badge.vue.d.ts +31 -0
  100. package/dist/types/ui/components/atoms/vc-badge/vc-badge.vue.d.ts.map +1 -0
  101. package/dist/types/ui/components/atoms/vc-button/index.d.ts +8 -0
  102. package/dist/types/ui/components/atoms/vc-button/index.d.ts.map +1 -0
  103. package/dist/types/ui/components/atoms/vc-button/vc-button.stories.d.ts +163 -0
  104. package/dist/types/ui/components/atoms/vc-button/vc-button.stories.d.ts.map +1 -0
  105. package/dist/types/ui/components/atoms/vc-button/vc-button.vue.d.ts +48 -0
  106. package/dist/types/ui/components/atoms/vc-button/vc-button.vue.d.ts.map +1 -0
  107. package/dist/types/ui/components/atoms/vc-card/index.d.ts +9 -0
  108. package/dist/types/ui/components/atoms/vc-card/index.d.ts.map +1 -0
  109. package/dist/types/ui/components/atoms/vc-card/vc-card.vue.d.ts +50 -0
  110. package/dist/types/ui/components/atoms/vc-card/vc-card.vue.d.ts.map +1 -0
  111. package/dist/types/ui/components/atoms/vc-checkbox/index.d.ts +9 -0
  112. package/dist/types/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -0
  113. package/dist/types/ui/components/atoms/vc-checkbox/vc-checkbox.stories.d.ts +144 -0
  114. package/dist/types/ui/components/atoms/vc-checkbox/vc-checkbox.stories.d.ts.map +1 -0
  115. package/dist/types/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts +45 -0
  116. package/dist/types/ui/components/atoms/vc-checkbox/vc-checkbox.vue.d.ts.map +1 -0
  117. package/dist/types/ui/components/atoms/vc-col/index.d.ts +8 -0
  118. package/dist/types/ui/components/atoms/vc-col/index.d.ts.map +1 -0
  119. package/dist/types/ui/components/atoms/vc-col/vc-col.vue.d.ts +33 -0
  120. package/dist/types/ui/components/atoms/vc-col/vc-col.vue.d.ts.map +1 -0
  121. package/dist/types/ui/components/atoms/vc-container/index.d.ts +8 -0
  122. package/dist/types/ui/components/atoms/vc-container/index.d.ts.map +1 -0
  123. package/dist/types/ui/components/atoms/vc-container/vc-container.stories.d.ts +114 -0
  124. package/dist/types/ui/components/atoms/vc-container/vc-container.stories.d.ts.map +1 -0
  125. package/dist/types/ui/components/atoms/vc-container/vc-container.vue.d.ts +34 -0
  126. package/dist/types/ui/components/atoms/vc-container/vc-container.vue.d.ts.map +1 -0
  127. package/dist/types/ui/components/atoms/vc-hint/index.d.ts +8 -0
  128. package/dist/types/ui/components/atoms/vc-hint/index.d.ts.map +1 -0
  129. package/dist/types/ui/components/atoms/vc-hint/vc-hint.stories.d.ts +53 -0
  130. package/dist/types/ui/components/atoms/vc-hint/vc-hint.stories.d.ts.map +1 -0
  131. package/dist/types/ui/components/atoms/vc-hint/vc-hint.vue.d.ts +10 -0
  132. package/dist/types/ui/components/atoms/vc-hint/vc-hint.vue.d.ts.map +1 -0
  133. package/dist/types/ui/components/atoms/vc-icon/index.d.ts +8 -0
  134. package/dist/types/ui/components/atoms/vc-icon/index.d.ts.map +1 -0
  135. package/dist/types/ui/components/atoms/vc-icon/vc-icon.stories.d.ts +40 -0
  136. package/dist/types/ui/components/atoms/vc-icon/vc-icon.stories.d.ts.map +1 -0
  137. package/dist/types/ui/components/atoms/vc-icon/vc-icon.vue.d.ts +30 -0
  138. package/dist/types/ui/components/atoms/vc-icon/vc-icon.vue.d.ts.map +1 -0
  139. package/dist/types/ui/components/atoms/vc-image/index.d.ts +8 -0
  140. package/dist/types/ui/components/atoms/vc-image/index.d.ts.map +1 -0
  141. package/dist/types/ui/components/atoms/vc-image/vc-image.stories.d.ts +87 -0
  142. package/dist/types/ui/components/atoms/vc-image/vc-image.stories.d.ts.map +1 -0
  143. package/dist/types/ui/components/atoms/vc-image/vc-image.vue.d.ts +45 -0
  144. package/dist/types/ui/components/atoms/vc-image/vc-image.vue.d.ts.map +1 -0
  145. package/dist/types/ui/components/atoms/vc-info-row/index.d.ts +8 -0
  146. package/dist/types/ui/components/atoms/vc-info-row/index.d.ts.map +1 -0
  147. package/dist/types/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts +29 -0
  148. package/dist/types/ui/components/atoms/vc-info-row/vc-info-row.vue.d.ts.map +1 -0
  149. package/dist/types/ui/components/atoms/vc-label/index.d.ts +9 -0
  150. package/dist/types/ui/components/atoms/vc-label/index.d.ts.map +1 -0
  151. package/dist/types/ui/components/atoms/vc-label/vc-label.stories.d.ts +96 -0
  152. package/dist/types/ui/components/atoms/vc-label/vc-label.stories.d.ts.map +1 -0
  153. package/dist/types/ui/components/atoms/vc-label/vc-label.vue.d.ts +35 -0
  154. package/dist/types/ui/components/atoms/vc-label/vc-label.vue.d.ts.map +1 -0
  155. package/dist/types/ui/components/atoms/vc-link/index.d.ts +8 -0
  156. package/dist/types/ui/components/atoms/vc-link/index.d.ts.map +1 -0
  157. package/dist/types/ui/components/atoms/vc-link/vc-link.stories.d.ts +111 -0
  158. package/dist/types/ui/components/atoms/vc-link/vc-link.stories.d.ts.map +1 -0
  159. package/dist/types/ui/components/atoms/vc-link/vc-link.vue.d.ts +31 -0
  160. package/dist/types/ui/components/atoms/vc-link/vc-link.vue.d.ts.map +1 -0
  161. package/dist/types/ui/components/atoms/vc-loading/index.d.ts +8 -0
  162. package/dist/types/ui/components/atoms/vc-loading/index.d.ts.map +1 -0
  163. package/dist/types/ui/components/atoms/vc-loading/vc-loading.vue.d.ts +15 -0
  164. package/dist/types/ui/components/atoms/vc-loading/vc-loading.vue.d.ts.map +1 -0
  165. package/dist/types/ui/components/atoms/vc-progress/index.d.ts +8 -0
  166. package/dist/types/ui/components/atoms/vc-progress/index.d.ts.map +1 -0
  167. package/dist/types/ui/components/atoms/vc-progress/vc-progress.stories.d.ts +32 -0
  168. package/dist/types/ui/components/atoms/vc-progress/vc-progress.stories.d.ts.map +1 -0
  169. package/dist/types/ui/components/atoms/vc-progress/vc-progress.vue.d.ts +30 -0
  170. package/dist/types/ui/components/atoms/vc-progress/vc-progress.vue.d.ts.map +1 -0
  171. package/dist/types/ui/components/atoms/vc-row/index.d.ts +8 -0
  172. package/dist/types/ui/components/atoms/vc-row/index.d.ts.map +1 -0
  173. package/dist/types/ui/components/atoms/vc-row/vc-row.vue.d.ts +10 -0
  174. package/dist/types/ui/components/atoms/vc-row/vc-row.vue.d.ts.map +1 -0
  175. package/dist/types/ui/components/atoms/vc-status/index.d.ts +8 -0
  176. package/dist/types/ui/components/atoms/vc-status/index.d.ts.map +1 -0
  177. package/dist/types/ui/components/atoms/vc-status/vc-status.stories.d.ts +118 -0
  178. package/dist/types/ui/components/atoms/vc-status/vc-status.stories.d.ts.map +1 -0
  179. package/dist/types/ui/components/atoms/vc-status/vc-status.vue.d.ts +38 -0
  180. package/dist/types/ui/components/atoms/vc-status/vc-status.vue.d.ts.map +1 -0
  181. package/dist/types/ui/components/atoms/vc-status-icon/index.d.ts +8 -0
  182. package/dist/types/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -0
  183. package/dist/types/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts +15 -0
  184. package/dist/types/ui/components/atoms/vc-status-icon/vc-status-icon.vue.d.ts.map +1 -0
  185. package/dist/types/ui/components/atoms/vc-switch/index.d.ts +8 -0
  186. package/dist/types/ui/components/atoms/vc-switch/index.d.ts.map +1 -0
  187. package/dist/types/ui/components/atoms/vc-switch/vc-switch.stories.d.ts +45 -0
  188. package/dist/types/ui/components/atoms/vc-switch/vc-switch.stories.d.ts.map +1 -0
  189. package/dist/types/ui/components/atoms/vc-switch/vc-switch.vue.d.ts +26 -0
  190. package/dist/types/ui/components/atoms/vc-switch/vc-switch.vue.d.ts.map +1 -0
  191. package/dist/types/ui/components/atoms/vc-widget/index.d.ts +8 -0
  192. package/dist/types/ui/components/atoms/vc-widget/index.d.ts.map +1 -0
  193. package/dist/types/ui/components/atoms/vc-widget/vc-widget.vue.d.ts +25 -0
  194. package/dist/types/ui/components/atoms/vc-widget/vc-widget.vue.d.ts.map +1 -0
  195. package/dist/types/ui/components/index.d.ts +40 -0
  196. package/dist/types/ui/components/index.d.ts.map +1 -0
  197. package/dist/types/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts +53 -0
  198. package/dist/types/ui/components/molecules/vc-breadcrumbs/_internal/vc-breadcrumbs-item/vc-breadcrumbs-item.vue.d.ts.map +1 -0
  199. package/dist/types/ui/components/molecules/vc-breadcrumbs/index.d.ts +8 -0
  200. package/dist/types/ui/components/molecules/vc-breadcrumbs/index.d.ts.map +1 -0
  201. package/dist/types/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts +39 -0
  202. package/dist/types/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts.map +1 -0
  203. package/dist/types/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts +38 -0
  204. package/dist/types/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue.d.ts.map +1 -0
  205. package/dist/types/ui/components/molecules/vc-code-editor/index.d.ts +8 -0
  206. package/dist/types/ui/components/molecules/vc-code-editor/index.d.ts.map +1 -0
  207. package/dist/types/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts +52 -0
  208. package/dist/types/ui/components/molecules/vc-code-editor/vc-code-editor.vue.d.ts.map +1 -0
  209. package/dist/types/ui/components/molecules/vc-editor/index.d.ts +8 -0
  210. package/dist/types/ui/components/molecules/vc-editor/index.d.ts.map +1 -0
  211. package/dist/types/ui/components/molecules/vc-editor/vc-editor.vue.d.ts +52 -0
  212. package/dist/types/ui/components/molecules/vc-editor/vc-editor.vue.d.ts.map +1 -0
  213. package/dist/types/ui/components/molecules/vc-file-upload/index.d.ts +8 -0
  214. package/dist/types/ui/components/molecules/vc-file-upload/index.d.ts.map +1 -0
  215. package/dist/types/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts +51 -0
  216. package/dist/types/ui/components/molecules/vc-file-upload/vc-file-upload.vue.d.ts.map +1 -0
  217. package/dist/types/ui/components/molecules/vc-form/index.d.ts +8 -0
  218. package/dist/types/ui/components/molecules/vc-form/index.d.ts.map +1 -0
  219. package/dist/types/ui/components/molecules/vc-form/vc-form.stories.d.ts +53 -0
  220. package/dist/types/ui/components/molecules/vc-form/vc-form.stories.d.ts.map +1 -0
  221. package/dist/types/ui/components/molecules/vc-form/vc-form.vue.d.ts +10 -0
  222. package/dist/types/ui/components/molecules/vc-form/vc-form.vue.d.ts.map +1 -0
  223. package/dist/types/ui/components/molecules/vc-input/index.d.ts +58 -0
  224. package/dist/types/ui/components/molecules/vc-input/index.d.ts.map +1 -0
  225. package/dist/types/ui/components/molecules/vc-input/vc-input.vue.d.ts +135 -0
  226. package/dist/types/ui/components/molecules/vc-input/vc-input.vue.d.ts.map +1 -0
  227. package/dist/types/ui/components/molecules/vc-input-currency/index.d.ts +16 -0
  228. package/dist/types/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -0
  229. package/dist/types/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts +144 -0
  230. package/dist/types/ui/components/molecules/vc-input-currency/vc-input-currency.vue.d.ts.map +1 -0
  231. package/dist/types/ui/components/molecules/vc-notification/index.d.ts +8 -0
  232. package/dist/types/ui/components/molecules/vc-notification/index.d.ts.map +1 -0
  233. package/dist/types/ui/components/molecules/vc-notification/vc-notification.vue.d.ts +44 -0
  234. package/dist/types/ui/components/molecules/vc-notification/vc-notification.vue.d.ts.map +1 -0
  235. package/dist/types/ui/components/molecules/vc-pagination/index.d.ts +8 -0
  236. package/dist/types/ui/components/molecules/vc-pagination/index.d.ts.map +1 -0
  237. package/dist/types/ui/components/molecules/vc-pagination/vc-pagination.stories.d.ts +42 -0
  238. package/dist/types/ui/components/molecules/vc-pagination/vc-pagination.stories.d.ts.map +1 -0
  239. package/dist/types/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts +38 -0
  240. package/dist/types/ui/components/molecules/vc-pagination/vc-pagination.vue.d.ts.map +1 -0
  241. package/dist/types/ui/components/molecules/vc-rating/index.d.ts +8 -0
  242. package/dist/types/ui/components/molecules/vc-rating/index.d.ts.map +1 -0
  243. package/dist/types/ui/components/molecules/vc-rating/vc-rating.stories.d.ts +158 -0
  244. package/dist/types/ui/components/molecules/vc-rating/vc-rating.stories.d.ts.map +1 -0
  245. package/dist/types/ui/components/molecules/vc-rating/vc-rating.vue.d.ts +41 -0
  246. package/dist/types/ui/components/molecules/vc-rating/vc-rating.vue.d.ts.map +1 -0
  247. package/dist/types/ui/components/molecules/vc-select/index.d.ts +87 -0
  248. package/dist/types/ui/components/molecules/vc-select/index.d.ts.map +1 -0
  249. package/dist/types/ui/components/molecules/vc-select/vc-select.vue.d.ts +216 -0
  250. package/dist/types/ui/components/molecules/vc-select/vc-select.vue.d.ts.map +1 -0
  251. package/dist/types/ui/components/molecules/vc-slider/index.d.ts +12 -0
  252. package/dist/types/ui/components/molecules/vc-slider/index.d.ts.map +1 -0
  253. package/dist/types/ui/components/molecules/vc-slider/vc-slider.vue.d.ts +50 -0
  254. package/dist/types/ui/components/molecules/vc-slider/vc-slider.vue.d.ts.map +1 -0
  255. package/dist/types/ui/components/molecules/vc-textarea/index.d.ts +8 -0
  256. package/dist/types/ui/components/molecules/vc-textarea/index.d.ts.map +1 -0
  257. package/dist/types/ui/components/molecules/vc-textarea/vc-textarea.stories.d.ts +206 -0
  258. package/dist/types/ui/components/molecules/vc-textarea/vc-textarea.stories.d.ts.map +1 -0
  259. package/dist/types/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts +51 -0
  260. package/dist/types/ui/components/molecules/vc-textarea/vc-textarea.vue.d.ts.map +1 -0
  261. package/dist/types/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts +49 -0
  262. package/dist/types/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue.d.ts.map +1 -0
  263. package/dist/types/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts +50 -0
  264. package/dist/types/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue.d.ts.map +1 -0
  265. package/dist/types/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts +75 -0
  266. package/dist/types/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue.d.ts.map +1 -0
  267. package/dist/types/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts +49 -0
  268. package/dist/types/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue.d.ts.map +1 -0
  269. package/dist/types/ui/components/organisms/vc-app/index.d.ts +11 -0
  270. package/dist/types/ui/components/organisms/vc-app/index.d.ts.map +1 -0
  271. package/dist/types/ui/components/organisms/vc-app/vc-app.stories.d.ts +310 -0
  272. package/dist/types/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +1 -0
  273. package/dist/types/ui/components/organisms/vc-app/vc-app.vue.d.ts +82 -0
  274. package/dist/types/ui/components/organisms/vc-app/vc-app.vue.d.ts.map +1 -0
  275. package/dist/types/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts +48 -0
  276. package/dist/types/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue.d.ts.map +1 -0
  277. package/dist/types/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts +64 -0
  278. package/dist/types/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue.d.ts.map +1 -0
  279. package/dist/types/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts +27 -0
  280. package/dist/types/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue.d.ts.map +1 -0
  281. package/dist/types/ui/components/organisms/vc-blade/index.d.ts +9 -0
  282. package/dist/types/ui/components/organisms/vc-blade/index.d.ts.map +1 -0
  283. package/dist/types/ui/components/organisms/vc-blade/vc-blade.stories.d.ts +212 -0
  284. package/dist/types/ui/components/organisms/vc-blade/vc-blade.stories.d.ts.map +1 -0
  285. package/dist/types/ui/components/organisms/vc-blade/vc-blade.vue.d.ts +55 -0
  286. package/dist/types/ui/components/organisms/vc-blade/vc-blade.vue.d.ts.map +1 -0
  287. package/dist/types/ui/components/organisms/vc-dynamic-property/index.d.ts +8 -0
  288. package/dist/types/ui/components/organisms/vc-dynamic-property/index.d.ts.map +1 -0
  289. package/dist/types/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts +35 -0
  290. package/dist/types/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue.d.ts.map +1 -0
  291. package/dist/types/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts +78 -0
  292. package/dist/types/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue.d.ts.map +1 -0
  293. package/dist/types/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts +31 -0
  294. package/dist/types/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue.d.ts.map +1 -0
  295. package/dist/types/ui/components/organisms/vc-gallery/index.d.ts +8 -0
  296. package/dist/types/ui/components/organisms/vc-gallery/index.d.ts.map +1 -0
  297. package/dist/types/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts +96 -0
  298. package/dist/types/ui/components/organisms/vc-gallery/vc-gallery.vue.d.ts.map +1 -0
  299. package/dist/types/ui/components/organisms/vc-login-form/index.d.ts +8 -0
  300. package/dist/types/ui/components/organisms/vc-login-form/index.d.ts.map +1 -0
  301. package/dist/types/ui/components/organisms/vc-login-form/vc-login-form.stories.d.ts +115 -0
  302. package/dist/types/ui/components/organisms/vc-login-form/vc-login-form.stories.d.ts.map +1 -0
  303. package/dist/types/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts +35 -0
  304. package/dist/types/ui/components/organisms/vc-login-form/vc-login-form.vue.d.ts.map +1 -0
  305. package/dist/types/ui/components/organisms/vc-popup/index.d.ts +8 -0
  306. package/dist/types/ui/components/organisms/vc-popup/index.d.ts.map +1 -0
  307. package/dist/types/ui/components/organisms/vc-popup/vc-popup.stories.d.ts +131 -0
  308. package/dist/types/ui/components/organisms/vc-popup/vc-popup.stories.d.ts.map +1 -0
  309. package/dist/types/ui/components/organisms/vc-popup/vc-popup.vue.d.ts +46 -0
  310. package/dist/types/ui/components/organisms/vc-popup/vc-popup.vue.d.ts.map +1 -0
  311. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts +31 -0
  312. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue.d.ts.map +1 -0
  313. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts +28 -0
  314. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue.d.ts.map +1 -0
  315. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts +30 -0
  316. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue.d.ts.map +1 -0
  317. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts +43 -0
  318. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue.d.ts.map +1 -0
  319. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts +55 -0
  320. package/dist/types/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue.d.ts.map +1 -0
  321. package/dist/types/ui/components/organisms/vc-table/index.d.ts +29 -0
  322. package/dist/types/ui/components/organisms/vc-table/index.d.ts.map +1 -0
  323. package/dist/types/ui/components/organisms/vc-table/vc-table.stories.d.ts +631 -0
  324. package/dist/types/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +1 -0
  325. package/dist/types/ui/components/organisms/vc-table/vc-table.vue.d.ts +165 -0
  326. package/dist/types/ui/components/organisms/vc-table/vc-table.vue.d.ts.map +1 -0
  327. package/dist/types/ui/services/components.d.ts +2 -0
  328. package/dist/types/ui/services/components.d.ts.map +1 -0
  329. package/dist/types/ui/services/types/components.d.ts +14 -0
  330. package/dist/types/ui/services/types/components.d.ts.map +1 -0
  331. package/dist/types/ui/services/types/index.d.ts +7 -0
  332. package/dist/types/ui/services/types/index.d.ts.map +1 -0
  333. package/dist/types/ui/services/types/ts-helpers.d.ts +8 -0
  334. package/dist/types/ui/services/types/ts-helpers.d.ts.map +1 -0
  335. package/dist/types/vite.config.d.ts +3 -0
  336. package/dist/{vite.config.d.ts.map → types/vite.config.d.ts.map} +1 -1
  337. package/package.json +19 -19
  338. package/shared/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +3 -6
  339. package/shared/app-switcher/composables/useAppSwitcher/index.ts +2 -7
  340. package/shared/app-switcher/index.ts +3 -10
  341. package/shared/assets/components/assets-details/assets-details.vue +7 -28
  342. package/shared/assets/components/index.ts +1 -1
  343. package/shared/assets/index.ts +3 -15
  344. package/shared/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +2 -7
  345. package/shared/blade-navigation/composables/index.ts +1 -1
  346. package/shared/blade-navigation/composables/useBladeNavigation/index.ts +7 -36
  347. package/shared/blade-navigation/index.ts +3 -10
  348. package/shared/index.ts +9 -11
  349. package/ui/components/atoms/vc-badge/index.ts +11 -6
  350. package/ui/components/atoms/vc-badge/vc-badge.vue +13 -10
  351. package/ui/components/atoms/vc-button/index.ts +8 -6
  352. package/ui/components/atoms/vc-button/vc-button.vue +22 -9
  353. package/ui/components/atoms/vc-card/index.ts +9 -6
  354. package/ui/components/atoms/vc-card/vc-card.vue +34 -9
  355. package/ui/components/atoms/vc-checkbox/index.ts +9 -6
  356. package/ui/components/atoms/vc-checkbox/vc-checkbox.vue +27 -12
  357. package/ui/components/atoms/vc-col/index.ts +8 -5
  358. package/ui/components/atoms/vc-col/vc-col.vue +4 -2
  359. package/ui/components/atoms/vc-container/index.ts +8 -6
  360. package/ui/components/atoms/vc-container/vc-container.vue +15 -14
  361. package/ui/components/atoms/vc-hint/index.ts +8 -1
  362. package/ui/components/atoms/vc-icon/index.ts +8 -6
  363. package/ui/components/atoms/vc-icon/vc-icon.vue +5 -2
  364. package/ui/components/atoms/vc-image/index.ts +8 -6
  365. package/ui/components/atoms/vc-image/vc-image.stories.ts +1 -2
  366. package/ui/components/atoms/vc-image/vc-image.vue +26 -13
  367. package/ui/components/atoms/vc-info-row/index.ts +8 -6
  368. package/ui/components/atoms/vc-info-row/vc-info-row.vue +19 -7
  369. package/ui/components/atoms/vc-label/index.ts +9 -6
  370. package/ui/components/atoms/vc-label/vc-label.vue +10 -4
  371. package/ui/components/atoms/vc-link/index.ts +8 -6
  372. package/ui/components/atoms/vc-link/vc-link.vue +12 -6
  373. package/ui/components/atoms/vc-loading/index.ts +8 -6
  374. package/ui/components/atoms/vc-loading/vc-loading.vue +6 -9
  375. package/ui/components/atoms/vc-progress/index.ts +8 -6
  376. package/ui/components/atoms/vc-progress/vc-progress.vue +8 -11
  377. package/ui/components/atoms/vc-row/index.ts +8 -1
  378. package/ui/components/atoms/vc-status/index.ts +8 -6
  379. package/ui/components/atoms/vc-status/vc-status.vue +7 -8
  380. package/ui/components/atoms/vc-status-icon/index.ts +8 -6
  381. package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +4 -4
  382. package/ui/components/atoms/vc-switch/index.ts +8 -6
  383. package/ui/components/atoms/vc-switch/vc-switch.vue +23 -11
  384. package/ui/components/atoms/vc-widget/index.ts +8 -6
  385. package/ui/components/atoms/vc-widget/vc-widget.vue +25 -7
  386. package/ui/components/index.ts +39 -38
  387. package/ui/components/molecules/vc-breadcrumbs/index.ts +8 -6
  388. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +15 -3
  389. package/ui/components/molecules/vc-code-editor/index.ts +9 -0
  390. package/ui/components/molecules/vc-code-editor/vc-code-editor.vue +103 -0
  391. package/ui/components/molecules/vc-editor/index.ts +8 -6
  392. package/ui/components/molecules/vc-editor/vc-editor.vue +105 -28
  393. package/ui/components/molecules/vc-file-upload/index.ts +8 -6
  394. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +23 -11
  395. package/ui/components/molecules/vc-form/index.ts +8 -1
  396. package/ui/components/molecules/vc-input/index.ts +57 -6
  397. package/ui/components/molecules/vc-input/vc-input.vue +126 -26
  398. package/ui/components/molecules/vc-input-currency/index.ts +15 -6
  399. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +117 -6
  400. package/ui/components/molecules/vc-notification/index.ts +8 -6
  401. package/ui/components/molecules/vc-notification/vc-notification.vue +11 -3
  402. package/ui/components/molecules/vc-pagination/index.ts +8 -6
  403. package/ui/components/molecules/vc-pagination/vc-pagination.vue +28 -8
  404. package/ui/components/molecules/vc-rating/index.ts +8 -6
  405. package/ui/components/molecules/vc-rating/vc-rating.vue +18 -4
  406. package/ui/components/molecules/vc-select/index.ts +86 -6
  407. package/ui/components/molecules/vc-select/vc-select.vue +322 -210
  408. package/ui/components/molecules/vc-slider/index.ts +11 -6
  409. package/ui/components/molecules/vc-slider/vc-slider.vue +11 -5
  410. package/ui/components/molecules/vc-textarea/index.ts +8 -6
  411. package/ui/components/molecules/vc-textarea/vc-textarea.vue +32 -10
  412. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +13 -9
  413. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +12 -3
  414. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +18 -16
  415. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +8 -2
  416. package/ui/components/organisms/vc-app/index.ts +11 -5
  417. package/ui/components/organisms/vc-app/vc-app.vue +29 -19
  418. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +22 -7
  419. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +19 -13
  420. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +13 -11
  421. package/ui/components/organisms/vc-blade/index.ts +9 -6
  422. package/ui/components/organisms/vc-blade/vc-blade.stories.ts +1 -2
  423. package/ui/components/organisms/vc-blade/vc-blade.vue +27 -10
  424. package/ui/components/organisms/vc-dynamic-property/index.ts +9 -6
  425. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +114 -87
  426. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +9 -2
  427. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +14 -9
  428. package/ui/components/organisms/vc-gallery/index.ts +8 -6
  429. package/ui/components/organisms/vc-gallery/vc-gallery.vue +37 -9
  430. package/ui/components/organisms/vc-login-form/index.ts +8 -6
  431. package/ui/components/organisms/vc-login-form/vc-login-form.vue +6 -2
  432. package/ui/components/organisms/vc-popup/index.ts +8 -6
  433. package/ui/components/organisms/vc-popup/vc-popup.vue +15 -4
  434. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +19 -25
  435. package/ui/components/organisms/vc-table/_internal/vc-table-column-switcher/vc-table-column-switcher.vue +94 -0
  436. package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +2 -6
  437. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +8 -2
  438. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +27 -39
  439. package/ui/components/organisms/vc-table/index.ts +16 -6
  440. package/ui/components/organisms/vc-table/vc-table.vue +561 -133
  441. package/ui/services/components.ts +40 -0
  442. package/ui/services/types/components.ts +14 -0
  443. package/ui/services/types/index.ts +9 -0
  444. package/ui/services/types/ts-helpers.ts +18 -0
  445. package/core/composables/useLogger/index.ts +0 -24
  446. package/dist/core/api/index.d.ts.map +0 -1
  447. package/dist/core/api/platform.d.ts.map +0 -1
  448. package/dist/core/composables/index.d.ts.map +0 -1
  449. package/dist/core/composables/useApiClient/index.d.ts.map +0 -1
  450. package/dist/core/composables/useAsync/index.d.ts.map +0 -1
  451. package/dist/core/composables/useAutosave/index.d.ts.map +0 -1
  452. package/dist/core/composables/useFunctions/debounce.d.ts.map +0 -1
  453. package/dist/core/composables/useFunctions/delay.d.ts.map +0 -1
  454. package/dist/core/composables/useFunctions/index.d.ts.map +0 -1
  455. package/dist/core/composables/useFunctions/once.d.ts.map +0 -1
  456. package/dist/core/composables/useFunctions/sleep.d.ts.map +0 -1
  457. package/dist/core/composables/useFunctions/throttle.d.ts.map +0 -1
  458. package/dist/core/composables/useI18n/index.d.ts +0 -5
  459. package/dist/core/composables/useI18n/index.d.ts.map +0 -1
  460. package/dist/core/composables/useLoading/index.d.ts.map +0 -1
  461. package/dist/core/composables/useLogger/index.d.ts +0 -5
  462. package/dist/core/composables/useLogger/index.d.ts.map +0 -1
  463. package/dist/core/composables/useNotifications/index.d.ts.map +0 -1
  464. package/dist/core/composables/usePermissions/index.d.ts.map +0 -1
  465. package/dist/core/composables/useSettings/index.d.ts.map +0 -1
  466. package/dist/core/composables/useUser/index.d.ts.map +0 -1
  467. package/dist/core/directives/autofocus/index.d.ts.map +0 -1
  468. package/dist/core/directives/click-outside/index.d.ts.map +0 -1
  469. package/dist/core/directives/index.d.ts.map +0 -1
  470. package/dist/core/directives/loading/index.d.ts.map +0 -1
  471. package/dist/core/directives/permissions/index.d.ts.map +0 -1
  472. package/dist/core/plugins/index.d.ts +0 -3
  473. package/dist/core/plugins/index.d.ts.map +0 -1
  474. package/dist/core/plugins/moment/humanize.d.ts.map +0 -1
  475. package/dist/core/plugins/moment/index.d.ts.map +0 -1
  476. package/dist/core/plugins/moment/moment.d.ts.map +0 -1
  477. package/dist/core/plugins/validation/index.d.ts +0 -3
  478. package/dist/core/plugins/validation/index.d.ts.map +0 -1
  479. package/dist/core/plugins/validation/rules.d.ts +0 -12
  480. package/dist/core/plugins/validation/rules.d.ts.map +0 -1
  481. package/dist/core/types/index.d.ts.map +0 -1
  482. package/dist/core/utilities/camelToSnake.d.ts.map +0 -1
  483. package/dist/core/utilities/index.d.ts.map +0 -1
  484. package/dist/framework.js +0 -1135
  485. package/dist/index.d.ts.map +0 -1
  486. package/dist/shared/app-switcher/components/index.d.ts.map +0 -1
  487. package/dist/shared/app-switcher/composables/index.d.ts.map +0 -1
  488. package/dist/shared/app-switcher/composables/useAppSwitcher/index.d.ts.map +0 -1
  489. package/dist/shared/app-switcher/index.d.ts.map +0 -1
  490. package/dist/shared/assets/components/index.d.ts +0 -2
  491. package/dist/shared/assets/components/index.d.ts.map +0 -1
  492. package/dist/shared/assets/index.d.ts +0 -7
  493. package/dist/shared/assets/index.d.ts.map +0 -1
  494. package/dist/shared/assets/locales/index.d.ts.map +0 -1
  495. package/dist/shared/blade-navigation/components/index.d.ts.map +0 -1
  496. package/dist/shared/blade-navigation/composables/index.d.ts +0 -2
  497. package/dist/shared/blade-navigation/composables/index.d.ts.map +0 -1
  498. package/dist/shared/blade-navigation/composables/useBladeNavigation/index.d.ts.map +0 -1
  499. package/dist/shared/blade-navigation/index.d.ts +0 -9
  500. package/dist/shared/blade-navigation/index.d.ts.map +0 -1
  501. package/dist/shared/blade-navigation/types/index.d.ts.map +0 -1
  502. package/dist/shared/index.d.ts.map +0 -1
  503. package/dist/style.css +0 -1
  504. package/dist/ui/components/atoms/vc-badge/index.d.ts +0 -5
  505. package/dist/ui/components/atoms/vc-badge/index.d.ts.map +0 -1
  506. package/dist/ui/components/atoms/vc-badge/vc-badge-model.d.ts +0 -23
  507. package/dist/ui/components/atoms/vc-badge/vc-badge-model.d.ts.map +0 -1
  508. package/dist/ui/components/atoms/vc-badge/vc-badge.stories.d.ts +0 -7
  509. package/dist/ui/components/atoms/vc-badge/vc-badge.stories.d.ts.map +0 -1
  510. package/dist/ui/components/atoms/vc-button/index.d.ts +0 -5
  511. package/dist/ui/components/atoms/vc-button/index.d.ts.map +0 -1
  512. package/dist/ui/components/atoms/vc-button/vc-button-model.d.ts +0 -14
  513. package/dist/ui/components/atoms/vc-button/vc-button-model.d.ts.map +0 -1
  514. package/dist/ui/components/atoms/vc-button/vc-button.stories.d.ts +0 -15
  515. package/dist/ui/components/atoms/vc-button/vc-button.stories.d.ts.map +0 -1
  516. package/dist/ui/components/atoms/vc-card/index.d.ts +0 -5
  517. package/dist/ui/components/atoms/vc-card/index.d.ts.map +0 -1
  518. package/dist/ui/components/atoms/vc-card/vc-card-model.d.ts +0 -16
  519. package/dist/ui/components/atoms/vc-card/vc-card-model.d.ts.map +0 -1
  520. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +0 -5
  521. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +0 -1
  522. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox-model.d.ts +0 -14
  523. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox-model.d.ts.map +0 -1
  524. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.stories.d.ts +0 -7
  525. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox.stories.d.ts.map +0 -1
  526. package/dist/ui/components/atoms/vc-col/index.d.ts +0 -5
  527. package/dist/ui/components/atoms/vc-col/index.d.ts.map +0 -1
  528. package/dist/ui/components/atoms/vc-col/vc-col-model.d.ts +0 -8
  529. package/dist/ui/components/atoms/vc-col/vc-col-model.d.ts.map +0 -1
  530. package/dist/ui/components/atoms/vc-container/index.d.ts +0 -5
  531. package/dist/ui/components/atoms/vc-container/index.d.ts.map +0 -1
  532. package/dist/ui/components/atoms/vc-container/vc-container-model.d.ts +0 -11
  533. package/dist/ui/components/atoms/vc-container/vc-container-model.d.ts.map +0 -1
  534. package/dist/ui/components/atoms/vc-container/vc-container.stories.d.ts +0 -7
  535. package/dist/ui/components/atoms/vc-container/vc-container.stories.d.ts.map +0 -1
  536. package/dist/ui/components/atoms/vc-hint/index.d.ts +0 -2
  537. package/dist/ui/components/atoms/vc-hint/index.d.ts.map +0 -1
  538. package/dist/ui/components/atoms/vc-hint/vc-hint.stories.d.ts +0 -7
  539. package/dist/ui/components/atoms/vc-hint/vc-hint.stories.d.ts.map +0 -1
  540. package/dist/ui/components/atoms/vc-icon/index.d.ts +0 -5
  541. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +0 -1
  542. package/dist/ui/components/atoms/vc-icon/vc-icon-model.d.ts +0 -9
  543. package/dist/ui/components/atoms/vc-icon/vc-icon-model.d.ts.map +0 -1
  544. package/dist/ui/components/atoms/vc-icon/vc-icon.stories.d.ts +0 -15
  545. package/dist/ui/components/atoms/vc-icon/vc-icon.stories.d.ts.map +0 -1
  546. package/dist/ui/components/atoms/vc-image/index.d.ts +0 -5
  547. package/dist/ui/components/atoms/vc-image/index.d.ts.map +0 -1
  548. package/dist/ui/components/atoms/vc-image/vc-image-model.d.ts +0 -15
  549. package/dist/ui/components/atoms/vc-image/vc-image-model.d.ts.map +0 -1
  550. package/dist/ui/components/atoms/vc-image/vc-image.stories.d.ts +0 -21
  551. package/dist/ui/components/atoms/vc-image/vc-image.stories.d.ts.map +0 -1
  552. package/dist/ui/components/atoms/vc-info-row/index.d.ts +0 -5
  553. package/dist/ui/components/atoms/vc-info-row/index.d.ts.map +0 -1
  554. package/dist/ui/components/atoms/vc-info-row/vc-info-row-model.d.ts +0 -11
  555. package/dist/ui/components/atoms/vc-info-row/vc-info-row-model.d.ts.map +0 -1
  556. package/dist/ui/components/atoms/vc-label/index.d.ts +0 -5
  557. package/dist/ui/components/atoms/vc-label/index.d.ts.map +0 -1
  558. package/dist/ui/components/atoms/vc-label/vc-label-model.d.ts +0 -10
  559. package/dist/ui/components/atoms/vc-label/vc-label-model.d.ts.map +0 -1
  560. package/dist/ui/components/atoms/vc-label/vc-label.stories.d.ts +0 -7
  561. package/dist/ui/components/atoms/vc-label/vc-label.stories.d.ts.map +0 -1
  562. package/dist/ui/components/atoms/vc-link/index.d.ts +0 -5
  563. package/dist/ui/components/atoms/vc-link/index.d.ts.map +0 -1
  564. package/dist/ui/components/atoms/vc-link/vc-link-model.d.ts +0 -10
  565. package/dist/ui/components/atoms/vc-link/vc-link-model.d.ts.map +0 -1
  566. package/dist/ui/components/atoms/vc-link/vc-link.stories.d.ts +0 -13
  567. package/dist/ui/components/atoms/vc-link/vc-link.stories.d.ts.map +0 -1
  568. package/dist/ui/components/atoms/vc-loading/index.d.ts +0 -5
  569. package/dist/ui/components/atoms/vc-loading/index.d.ts.map +0 -1
  570. package/dist/ui/components/atoms/vc-loading/vc-loading-model.d.ts +0 -8
  571. package/dist/ui/components/atoms/vc-loading/vc-loading-model.d.ts.map +0 -1
  572. package/dist/ui/components/atoms/vc-progress/index.d.ts +0 -5
  573. package/dist/ui/components/atoms/vc-progress/index.d.ts.map +0 -1
  574. package/dist/ui/components/atoms/vc-progress/vc-progress-model.d.ts +0 -9
  575. package/dist/ui/components/atoms/vc-progress/vc-progress-model.d.ts.map +0 -1
  576. package/dist/ui/components/atoms/vc-progress/vc-progress.stories.d.ts +0 -7
  577. package/dist/ui/components/atoms/vc-progress/vc-progress.stories.d.ts.map +0 -1
  578. package/dist/ui/components/atoms/vc-row/index.d.ts +0 -2
  579. package/dist/ui/components/atoms/vc-row/index.d.ts.map +0 -1
  580. package/dist/ui/components/atoms/vc-row/vc-row-model.d.ts +0 -5
  581. package/dist/ui/components/atoms/vc-row/vc-row-model.d.ts.map +0 -1
  582. package/dist/ui/components/atoms/vc-status/index.d.ts +0 -5
  583. package/dist/ui/components/atoms/vc-status/index.d.ts.map +0 -1
  584. package/dist/ui/components/atoms/vc-status/vc-status-model.d.ts +0 -10
  585. package/dist/ui/components/atoms/vc-status/vc-status-model.d.ts.map +0 -1
  586. package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts +0 -7
  587. package/dist/ui/components/atoms/vc-status/vc-status.stories.d.ts.map +0 -1
  588. package/dist/ui/components/atoms/vc-status-icon/index.d.ts +0 -5
  589. package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +0 -1
  590. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon-model.d.ts +0 -8
  591. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon-model.d.ts.map +0 -1
  592. package/dist/ui/components/atoms/vc-switch/index.d.ts +0 -5
  593. package/dist/ui/components/atoms/vc-switch/index.d.ts.map +0 -1
  594. package/dist/ui/components/atoms/vc-switch/vc-switch-model.d.ts +0 -13
  595. package/dist/ui/components/atoms/vc-switch/vc-switch-model.d.ts.map +0 -1
  596. package/dist/ui/components/atoms/vc-switch/vc-switch.stories.d.ts +0 -7
  597. package/dist/ui/components/atoms/vc-switch/vc-switch.stories.d.ts.map +0 -1
  598. package/dist/ui/components/atoms/vc-widget/index.d.ts +0 -5
  599. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +0 -1
  600. package/dist/ui/components/atoms/vc-widget/vc-widget-model.d.ts +0 -12
  601. package/dist/ui/components/atoms/vc-widget/vc-widget-model.d.ts.map +0 -1
  602. package/dist/ui/components/index.d.ts +0 -39
  603. package/dist/ui/components/index.d.ts.map +0 -1
  604. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts +0 -5
  605. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts.map +0 -1
  606. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.d.ts +0 -14
  607. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.d.ts.map +0 -1
  608. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts +0 -7
  609. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.stories.d.ts.map +0 -1
  610. package/dist/ui/components/molecules/vc-editor/index.d.ts +0 -5
  611. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +0 -1
  612. package/dist/ui/components/molecules/vc-editor/vc-editor-model.d.ts +0 -16
  613. package/dist/ui/components/molecules/vc-editor/vc-editor-model.d.ts.map +0 -1
  614. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +0 -5
  615. package/dist/ui/components/molecules/vc-file-upload/index.d.ts.map +0 -1
  616. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload-model.d.ts +0 -14
  617. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload-model.d.ts.map +0 -1
  618. package/dist/ui/components/molecules/vc-form/index.d.ts +0 -2
  619. package/dist/ui/components/molecules/vc-form/index.d.ts.map +0 -1
  620. package/dist/ui/components/molecules/vc-form/vc-form.stories.d.ts +0 -7
  621. package/dist/ui/components/molecules/vc-form/vc-form.stories.d.ts.map +0 -1
  622. package/dist/ui/components/molecules/vc-input/index.d.ts +0 -5
  623. package/dist/ui/components/molecules/vc-input/index.d.ts.map +0 -1
  624. package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts +0 -136
  625. package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts.map +0 -1
  626. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +0 -5
  627. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +0 -1
  628. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts +0 -118
  629. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts.map +0 -1
  630. package/dist/ui/components/molecules/vc-notification/index.d.ts +0 -5
  631. package/dist/ui/components/molecules/vc-notification/index.d.ts.map +0 -1
  632. package/dist/ui/components/molecules/vc-notification/vc-notification-model.d.ts +0 -10
  633. package/dist/ui/components/molecules/vc-notification/vc-notification-model.d.ts.map +0 -1
  634. package/dist/ui/components/molecules/vc-pagination/index.d.ts +0 -5
  635. package/dist/ui/components/molecules/vc-pagination/index.d.ts.map +0 -1
  636. package/dist/ui/components/molecules/vc-pagination/vc-pagination-model.d.ts +0 -11
  637. package/dist/ui/components/molecules/vc-pagination/vc-pagination-model.d.ts.map +0 -1
  638. package/dist/ui/components/molecules/vc-pagination/vc-pagination.stories.d.ts +0 -7
  639. package/dist/ui/components/molecules/vc-pagination/vc-pagination.stories.d.ts.map +0 -1
  640. package/dist/ui/components/molecules/vc-rating/index.d.ts +0 -5
  641. package/dist/ui/components/molecules/vc-rating/index.d.ts.map +0 -1
  642. package/dist/ui/components/molecules/vc-rating/vc-rating-model.d.ts +0 -13
  643. package/dist/ui/components/molecules/vc-rating/vc-rating-model.d.ts.map +0 -1
  644. package/dist/ui/components/molecules/vc-rating/vc-rating.stories.d.ts +0 -7
  645. package/dist/ui/components/molecules/vc-rating/vc-rating.stories.d.ts.map +0 -1
  646. package/dist/ui/components/molecules/vc-select/index.d.ts +0 -5
  647. package/dist/ui/components/molecules/vc-select/index.d.ts.map +0 -1
  648. package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts +0 -200
  649. package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts.map +0 -1
  650. package/dist/ui/components/molecules/vc-slider/index.d.ts +0 -5
  651. package/dist/ui/components/molecules/vc-slider/index.d.ts.map +0 -1
  652. package/dist/ui/components/molecules/vc-slider/vc-slider-model.d.ts +0 -16
  653. package/dist/ui/components/molecules/vc-slider/vc-slider-model.d.ts.map +0 -1
  654. package/dist/ui/components/molecules/vc-textarea/index.d.ts +0 -5
  655. package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +0 -1
  656. package/dist/ui/components/molecules/vc-textarea/vc-textarea-model.d.ts +0 -17
  657. package/dist/ui/components/molecules/vc-textarea/vc-textarea-model.d.ts.map +0 -1
  658. package/dist/ui/components/molecules/vc-textarea/vc-textarea.stories.d.ts +0 -7
  659. package/dist/ui/components/molecules/vc-textarea/vc-textarea.stories.d.ts.map +0 -1
  660. package/dist/ui/components/organisms/vc-app/index.d.ts +0 -5
  661. package/dist/ui/components/organisms/vc-app/index.d.ts.map +0 -1
  662. package/dist/ui/components/organisms/vc-app/vc-app-model.d.ts +0 -26
  663. package/dist/ui/components/organisms/vc-app/vc-app-model.d.ts.map +0 -1
  664. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts +0 -16
  665. package/dist/ui/components/organisms/vc-app/vc-app.stories.d.ts.map +0 -1
  666. package/dist/ui/components/organisms/vc-blade/index.d.ts +0 -5
  667. package/dist/ui/components/organisms/vc-blade/index.d.ts.map +0 -1
  668. package/dist/ui/components/organisms/vc-blade/vc-blade-model.d.ts +0 -17
  669. package/dist/ui/components/organisms/vc-blade/vc-blade-model.d.ts.map +0 -1
  670. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts +0 -17
  671. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts.map +0 -1
  672. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts +0 -5
  673. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts.map +0 -1
  674. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.d.ts +0 -14
  675. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.d.ts.map +0 -1
  676. package/dist/ui/components/organisms/vc-gallery/index.d.ts +0 -5
  677. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +0 -1
  678. package/dist/ui/components/organisms/vc-gallery/vc-gallery-model.d.ts +0 -32
  679. package/dist/ui/components/organisms/vc-gallery/vc-gallery-model.d.ts.map +0 -1
  680. package/dist/ui/components/organisms/vc-login-form/index.d.ts +0 -5
  681. package/dist/ui/components/organisms/vc-login-form/index.d.ts.map +0 -1
  682. package/dist/ui/components/organisms/vc-login-form/vc-login-form-model.d.ts +0 -10
  683. package/dist/ui/components/organisms/vc-login-form/vc-login-form-model.d.ts.map +0 -1
  684. package/dist/ui/components/organisms/vc-login-form/vc-login-form.stories.d.ts +0 -7
  685. package/dist/ui/components/organisms/vc-login-form/vc-login-form.stories.d.ts.map +0 -1
  686. package/dist/ui/components/organisms/vc-popup/index.d.ts +0 -5
  687. package/dist/ui/components/organisms/vc-popup/index.d.ts.map +0 -1
  688. package/dist/ui/components/organisms/vc-popup/vc-popup-model.d.ts +0 -11
  689. package/dist/ui/components/organisms/vc-popup/vc-popup-model.d.ts.map +0 -1
  690. package/dist/ui/components/organisms/vc-popup/vc-popup.stories.d.ts +0 -7
  691. package/dist/ui/components/organisms/vc-popup/vc-popup.stories.d.ts.map +0 -1
  692. package/dist/ui/components/organisms/vc-table/index.d.ts +0 -5
  693. package/dist/ui/components/organisms/vc-table/index.d.ts.map +0 -1
  694. package/dist/ui/components/organisms/vc-table/vc-table-model.d.ts +0 -66
  695. package/dist/ui/components/organisms/vc-table/vc-table-model.d.ts.map +0 -1
  696. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts +0 -7
  697. package/dist/ui/components/organisms/vc-table/vc-table.stories.d.ts.map +0 -1
  698. package/dist/ui/types/index.d.ts +0 -81
  699. package/dist/ui/types/index.d.ts.map +0 -1
  700. package/dist/ui/types/ts-helpers.d.ts +0 -12
  701. package/dist/ui/types/ts-helpers.d.ts.map +0 -1
  702. package/dist/vite.config.d.ts +0 -3
  703. package/ui/components/atoms/vc-badge/vc-badge-model.ts +0 -24
  704. package/ui/components/atoms/vc-button/vc-button-model.ts +0 -22
  705. package/ui/components/atoms/vc-card/vc-card-model.ts +0 -17
  706. package/ui/components/atoms/vc-checkbox/vc-checkbox-model.ts +0 -15
  707. package/ui/components/atoms/vc-col/vc-col-model.ts +0 -9
  708. package/ui/components/atoms/vc-container/vc-container-model.ts +0 -12
  709. package/ui/components/atoms/vc-icon/vc-icon-model.ts +0 -10
  710. package/ui/components/atoms/vc-image/vc-image-model.ts +0 -27
  711. package/ui/components/atoms/vc-info-row/vc-info-row-model.ts +0 -12
  712. package/ui/components/atoms/vc-label/vc-label-model.ts +0 -11
  713. package/ui/components/atoms/vc-link/vc-link-model.ts +0 -11
  714. package/ui/components/atoms/vc-loading/vc-loading-model.ts +0 -9
  715. package/ui/components/atoms/vc-progress/vc-progress-model.ts +0 -10
  716. package/ui/components/atoms/vc-row/vc-row-model.ts +0 -5
  717. package/ui/components/atoms/vc-status/vc-status-model.ts +0 -17
  718. package/ui/components/atoms/vc-status-icon/vc-status-icon-model.ts +0 -9
  719. package/ui/components/atoms/vc-switch/vc-switch-model.ts +0 -14
  720. package/ui/components/atoms/vc-widget/vc-widget-model.ts +0 -13
  721. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.ts +0 -15
  722. package/ui/components/molecules/vc-editor/vc-editor-model.ts +0 -17
  723. package/ui/components/molecules/vc-file-upload/vc-file-upload-model.ts +0 -15
  724. package/ui/components/molecules/vc-input/vc-input-model.ts +0 -147
  725. package/ui/components/molecules/vc-input-currency/vc-input-currency-model.ts +0 -122
  726. package/ui/components/molecules/vc-notification/vc-notification-model.ts +0 -11
  727. package/ui/components/molecules/vc-pagination/vc-pagination-model.ts +0 -12
  728. package/ui/components/molecules/vc-rating/vc-rating-model.ts +0 -14
  729. package/ui/components/molecules/vc-select/vc-select-model.ts +0 -210
  730. package/ui/components/molecules/vc-slider/vc-slider-model.ts +0 -15
  731. package/ui/components/molecules/vc-textarea/vc-textarea-model.ts +0 -18
  732. package/ui/components/organisms/vc-app/vc-app-model.ts +0 -27
  733. package/ui/components/organisms/vc-blade/vc-blade-model.ts +0 -18
  734. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.ts +0 -25
  735. package/ui/components/organisms/vc-gallery/vc-gallery-model.ts +0 -33
  736. package/ui/components/organisms/vc-login-form/vc-login-form-model.ts +0 -11
  737. package/ui/components/organisms/vc-popup/vc-popup-model.ts +0 -12
  738. package/ui/components/organisms/vc-table/vc-table-model.ts +0 -56
  739. package/ui/types/index.ts +0 -213
  740. package/ui/types/ts-helpers.ts +0 -32
  741. /package/dist/{core → types/core}/api/index.d.ts +0 -0
  742. /package/dist/{core → types/core}/api/platform.d.ts +0 -0
  743. /package/dist/{core → types/core}/composables/useApiClient/index.d.ts +0 -0
  744. /package/dist/{core → types/core}/composables/useAsync/index.d.ts +0 -0
  745. /package/dist/{core → types/core}/composables/useAutosave/index.d.ts +0 -0
  746. /package/dist/{core → types/core}/composables/useFunctions/debounce.d.ts +0 -0
  747. /package/dist/{core → types/core}/composables/useFunctions/delay.d.ts +0 -0
  748. /package/dist/{core → types/core}/composables/useFunctions/index.d.ts +0 -0
  749. /package/dist/{core → types/core}/composables/useFunctions/once.d.ts +0 -0
  750. /package/dist/{core → types/core}/composables/useFunctions/sleep.d.ts +0 -0
  751. /package/dist/{core → types/core}/composables/useFunctions/throttle.d.ts +0 -0
  752. /package/dist/{core → types/core}/composables/useLoading/index.d.ts +0 -0
  753. /package/dist/{core → types/core}/composables/useNotifications/index.d.ts +0 -0
  754. /package/dist/{core → types/core}/composables/usePermissions/index.d.ts +0 -0
  755. /package/dist/{core → types/core}/composables/useSettings/index.d.ts +0 -0
  756. /package/dist/{core → types/core}/composables/useUser/index.d.ts +0 -0
  757. /package/dist/{core → types/core}/directives/autofocus/index.d.ts +0 -0
  758. /package/dist/{core → types/core}/directives/click-outside/index.d.ts +0 -0
  759. /package/dist/{core → types/core}/directives/index.d.ts +0 -0
  760. /package/dist/{core → types/core}/directives/loading/index.d.ts +0 -0
  761. /package/dist/{core → types/core}/directives/permissions/index.d.ts +0 -0
  762. /package/dist/{core → types/core}/plugins/moment/humanize.d.ts +0 -0
  763. /package/dist/{core → types/core}/plugins/moment/index.d.ts +0 -0
  764. /package/dist/{core → types/core}/plugins/moment/moment.d.ts +0 -0
  765. /package/dist/{core → types/core}/utilities/camelToSnake.d.ts +0 -0
  766. /package/dist/{core → types/core}/utilities/index.d.ts +0 -0
  767. /package/dist/{shared → types/shared}/app-switcher/components/index.d.ts +0 -0
  768. /package/dist/{shared → types/shared}/app-switcher/composables/index.d.ts +0 -0
  769. /package/dist/{shared → types/shared}/app-switcher/composables/useAppSwitcher/index.d.ts +0 -0
  770. /package/dist/{shared → types/shared}/assets/locales/index.d.ts +0 -0
  771. /package/dist/{shared → types/shared}/blade-navigation/components/index.d.ts +0 -0
  772. /package/dist/{shared → types/shared}/blade-navigation/types/index.d.ts +0 -0
@@ -1,26 +1,25 @@
1
1
  <template>
2
- <div
3
- class="tw-relative tw-overflow-hidden tw-flex tw-flex-col tw-grow tw-basis-0"
4
- >
2
+ <div class="tw-relative tw-overflow-hidden tw-flex tw-flex-col tw-grow tw-basis-0">
5
3
  <!-- Header slot with filter and searchbar -->
6
4
  <slot
7
5
  name="header"
8
6
  v-if="
9
7
  ($slots['header'] || header) &&
10
- ((items && items.length) ||
11
- searchValue ||
12
- searchValue === '' ||
13
- activeFilterCount)
8
+ ((items && items.length) || searchValue || searchValue === '' || activeFilterCount)
14
9
  "
15
10
  >
16
- <div
17
- class="tw-shrink-0 tw-flex tw-items-center tw-justify-between tw-p-4"
18
- >
11
+ <div class="tw-shrink-0 tw-flex tw-items-center tw-justify-between tw-p-4">
19
12
  <!-- Table filter mobile button -->
20
- <div v-if="$isMobile.value && $slots['filters']" class="tw-mr-3">
13
+ <div
14
+ v-if="$isMobile.value && $slots['filters']"
15
+ class="tw-mr-3"
16
+ >
21
17
  <VcTableFilter :counter="activeFilterCount">
22
18
  <template v-slot:default="{ closePanel }">
23
- <slot name="filters" :closePanel="closePanel"></slot>
19
+ <slot
20
+ name="filters"
21
+ :closePanel="closePanel"
22
+ ></slot>
24
23
  </template>
25
24
  </VcTableFilter>
26
25
  </div>
@@ -36,14 +35,20 @@
36
35
  ></VcInput>
37
36
 
38
37
  <!-- Table filter desktop button -->
39
- <div v-if="$isDesktop.value && $slots['filters']" class="tw-ml-3">
38
+ <div
39
+ v-if="$isDesktop.value && $slots['filters']"
40
+ class="tw-ml-3"
41
+ >
40
42
  <VcTableFilter
41
43
  :title="$t('Filters')"
42
44
  :counter="activeFilterCount"
43
45
  :parentExpanded="expanded"
44
46
  >
45
47
  <template v-slot:default="{ closePanel }">
46
- <slot name="filters" :closePanel="closePanel"></slot>
48
+ <slot
49
+ name="filters"
50
+ :closePanel="closePanel"
51
+ ></slot>
47
52
  </template>
48
53
  </VcTableFilter>
49
54
  </div>
@@ -67,15 +72,18 @@
67
72
  <template v-if="$isMobile.value && $slots['mobile-item']">
68
73
  <div>
69
74
  <VcTableMobileItem
70
- v-for="item in items"
71
- :key="item.id"
75
+ v-for="(item, i) in items"
76
+ :key="i"
72
77
  :item="item"
73
78
  :actionBuilder="itemActionBuilder"
74
79
  @click="$emit('itemClick', item)"
75
80
  @swipeStart="handleSwipe"
76
81
  :swipingItem="mobileSwipeItem"
77
82
  >
78
- <slot name="mobile-item" :item="item"></slot>
83
+ <slot
84
+ name="mobile-item"
85
+ :item="item"
86
+ ></slot>
79
87
  </VcTableMobileItem>
80
88
  </div>
81
89
  </template>
@@ -83,18 +91,20 @@
83
91
  <!-- Desktop table view -->
84
92
  <table
85
93
  v-else
86
- class="[border-spacing:0] tw-border-collapse tw-relative tw-pt-[43px] tw-table-fixed tw-box-border tw-w-full"
94
+ class="[border-spacing:0] tw-border-collapse tw-relative tw-pt-[43px] tw-table-fixed tw-box-border tw-w-full tw-relative"
87
95
  :class="{
88
96
  'vc-table_empty': !items || !items.length,
89
97
  'vc-table_multiselect': multiselect,
90
98
  }"
91
99
  >
92
- <thead v-if="columns" class="vc-table__header">
100
+ <thead
101
+ v-if="filteredCols"
102
+ class="vc-table__header"
103
+ >
93
104
  <tr class="vc-table__header-row">
94
105
  <th
95
106
  v-if="multiselect"
96
- class="tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
97
- width="50"
107
+ class="tw-h-[42px] tw-w-[50px] tw-max-w-[50px] tw-min-w-[50px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border tw-sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
98
108
  >
99
109
  <div class="tw-flex tw-justify-center tw-items-center">
100
110
  <VcCheckbox
@@ -103,64 +113,110 @@
103
113
  @click.stop
104
114
  ></VcCheckbox>
105
115
  </div>
116
+ <div class="tw-w-3 tw-top-0 tw-bottom-0 tw-absolute tw-right-0 tw-flex tw-justify-end">
117
+ <div class="tw-w-px tw-bg-[#e5e7eb] tw-h-full"></div>
118
+ </div>
119
+ </th>
120
+ <th
121
+ class="tw-h-[42px] tw-w-[44px] tw-max-w-[44px] tw-min-w-[44px] tw-bg-[#f9f9f9] tw-m-w-[70px] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border tw-sticky tw-top-0 tw-select-none tw-z-[1]"
122
+ v-if="itemActionBuilder"
123
+ >
124
+ <div class="tw-w-3 tw-top-0 tw-bottom-0 tw-absolute tw-right-0 tw-flex tw-justify-end">
125
+ <div class="tw-w-px tw-bg-[#e5e7eb] tw-h-full"></div>
126
+ </div>
106
127
  </th>
107
128
  <th
108
- v-for="item in columns"
129
+ v-for="item in filteredCols"
130
+ @mousedown="onColumnHeaderMouseDown"
131
+ @dragstart="onColumnHeaderDragStart($event, item)"
132
+ @dragover="onColumnHeaderDragOver"
133
+ @dragleave="onColumnHeaderDragLeave"
134
+ @drop="onColumnHeaderDrop($event, item)"
109
135
  :key="item.id"
110
- class="tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1] tw-px-3"
136
+ class="tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border tw-sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
111
137
  :class="{
112
138
  'tw-cursor-pointer tw-group': item.sortable,
113
139
  }"
114
- :width="item.width"
115
140
  @click="handleHeaderClick(item)"
141
+ :style="{ maxWidth: item.width, width: item.width }"
142
+ :id="item.id"
116
143
  >
117
144
  <div
118
- class="tw-flex tw-items-center tw-flex-nowrap"
119
- :class="tableAlignment[item.align]"
145
+ class="tw-flex tw-items-center tw-flex-nowrap tw-truncate tw-px-3"
146
+ :class="tableAlignment[item.align as string]"
120
147
  >
121
- <div>
148
+ <div class="tw-truncate">
122
149
  <slot :name="`header_${item.id}`">{{ item.title }}</slot>
123
150
  </div>
124
- <div v-if="sortField === item.id" class="tw-ml-1">
151
+ <div
152
+ v-if="sortField === item.id"
153
+ class="tw-ml-1"
154
+ >
125
155
  <VcIcon
126
156
  size="xs"
127
- :icon="`fas fa-caret-${
128
- sortDirection === 'DESC' ? 'down' : 'up'
129
- }`"
157
+ :icon="`fas fa-caret-${sortDirection === 'DESC' ? 'down' : 'up'}`"
130
158
  ></VcIcon>
131
159
  </div>
132
160
  <div
133
161
  class="tw-flex tw-flex-col tw-ml-1 tw-invisible group-hover:tw-visible"
134
162
  v-else
135
163
  >
136
- <VcIcon size="xs" icon="fas fa-caret-up"></VcIcon>
137
- <VcIcon size="xs" icon="fas fa-caret-down"></VcIcon>
164
+ <VcIcon
165
+ size="xs"
166
+ icon="fas fa-caret-up"
167
+ ></VcIcon>
168
+ <VcIcon
169
+ size="xs"
170
+ icon="fas fa-caret-down"
171
+ ></VcIcon>
138
172
  </div>
139
173
  </div>
174
+ <div
175
+ class="tw-w-3 tw-top-0 tw-bottom-0 tw-cursor-col-resize tw-absolute tw-right-0 tw-flex tw-justify-end"
176
+ @mousedown="handleMouseDown($event, item)"
177
+ >
178
+ <div class="tw-w-px tw-bg-[#e5e7eb] tw-h-full"></div>
179
+ </div>
140
180
  </th>
181
+
141
182
  <th
142
- class="tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
143
- width="44"
144
- v-if="itemActionBuilder"
183
+ class="tw-w-auto tw-h-[42px] tw-bg-[#f9f9f9] !tw-border-0 tw-shadow-[inset_0px_1px_0px_#eaedf3,_inset_0px_-1px_0px_#eaedf3] tw-box-border tw-sticky tw-top-0 tw-select-none tw-overflow-hidden tw-z-[1]"
145
184
  ></th>
185
+ <div
186
+ class="tw-sticky tw-h-[42px] tw-z-[1] tw-right-0 tw-top-0 tw-table-cell tw-align-middle tw-w-0"
187
+ v-if="props.expanded"
188
+ >
189
+ <VcTableColumnSwitcher
190
+ :items="toggleCols"
191
+ @change="toggleColumn"
192
+ ></VcTableColumnSwitcher>
193
+ </div>
146
194
  </tr>
195
+ <div
196
+ ref="resizer"
197
+ class="tw-w-[1px] tw-absolute tw-z-10 tw-hidden tw-h-full tw-bg-[#e5e7eb] tw-cursor-col-resize"
198
+ ></div>
147
199
  </thead>
148
200
 
149
- <tbody v-if="items" class="vc-table__body">
201
+ <tbody
202
+ v-if="items"
203
+ class="vc-table__body"
204
+ >
150
205
  <tr
151
- v-for="(item, i) in items"
206
+ v-for="(item, i) in calculatedItems"
152
207
  :key="item.id"
153
208
  class="vc-table__body-row tw-h-[60px] tw-bg-white hover:tw-bg-[#dfeef9] tw-cursor-pointer"
154
209
  :class="{
155
210
  'tw-bg-[#f8f8f8]': i % 2 === 1,
156
- '!tw-bg-[#dfeef9] hover:tw-bg-[#dfeef9]':
157
- item && item.id ? selectedItemId === item.id : false,
211
+ '!tw-bg-[#dfeef9] hover:tw-bg-[#dfeef9]': item && item.id ? selectedItemId === item.id : false,
158
212
  }"
159
213
  @click="$emit('itemClick', item)"
160
- @mouseover="calculateActions(item)"
161
214
  @mouseleave="closeActions"
162
215
  >
163
- <td v-if="multiselect" width="50">
216
+ <td
217
+ v-if="multiselect"
218
+ class="tw-w-[50px] tw-max-w-[50px] tw-min-w-[50px]"
219
+ >
164
220
  <div class="tw-flex tw-justify-center tw-items-center">
165
221
  <VcCheckbox
166
222
  :modelValue="checkboxes[item.id]"
@@ -170,35 +226,24 @@
170
226
  </div>
171
227
  </td>
172
228
  <td
173
- v-for="cell in columns"
174
- :key="`${item.id}_${cell.id}`"
175
- class="tw-box-border tw-overflow-hidden tw-px-3"
176
- :class="cell.class"
177
- :width="cell.width"
178
- >
179
- <slot :name="`item_${cell.id}`" :item="item" :cell="cell">
180
- <VcTableCell :cell="cell" :item="item"></VcTableCell>
181
- </slot>
182
- </td>
183
- <td
184
- class="tw-box-border tw-overflow-visible tw-px-3"
185
- width="44"
229
+ class="tw-box-border tw-overflow-visible tw-px-3 tw-w-[44px] tw-max-w-[44px] tw-min-w-[44px]"
186
230
  v-if="itemActionBuilder"
187
231
  >
188
- <div
189
- class="vc-table__body-actions-container tw-relative !tw-hidden tw-justify-center tw-items-center"
190
- >
232
+ <div class="vc-table__body-actions-container tw-relative tw-flex tw-justify-center tw-items-center">
191
233
  <button
192
- class="tw-text-[#319ed4] tw-cursor-pointer tw-border-none tw-bg-transparent disabled:tw-text-[gray]"
234
+ class="tw-text-[#41afe6] tw-cursor-pointer tw-border-none tw-bg-transparent disabled:tw-text-[gray] tw-w-5 hover:tw-text-[#319ed4]"
193
235
  @click.stop="showActions(item, item.id)"
194
236
  :ref="(el: Element) => setActionToggleRefs(el, item.id)"
195
237
  aria-describedby="tooltip"
196
- :disabled="!(itemActions && itemActions.length)"
238
+ :disabled="!(item.actions && item.actions.length)"
197
239
  >
198
- <VcIcon icon="fas fa-cog" size="m" />
240
+ <VcIcon
241
+ icon="fas fa-ellipsis-v"
242
+ size="m"
243
+ />
199
244
  </button>
200
245
  <div
201
- class="vc-table__body-tooltip tw-bg-white tw-rounded-l-[4px] tw-p-[15px] tw-z-0 tw-absolute tw-right-0 tw-drop-shadow-[1px_3px_14px_rgba(111,122,131,0.25)]"
246
+ class="vc-table__body-tooltip tw-bg-white tw-rounded-[4px] tw-p-[15px] tw-z-[1] tw-absolute tw-right-0 tw-drop-shadow-[1px_3px_14px_rgba(111,122,131,0.25)]"
202
247
  v-show="selectedRow === item.id"
203
248
  @mouseleave="closeActions"
204
249
  :ref="(el: Element) => setTooltipRefs(el, item.id)"
@@ -208,7 +253,7 @@
208
253
  class="tw-flex tw-items-center tw-flex-row tw-text-[#3f3f3f] tw-font-normal not-italic tw-text-base tw-leading-[20px] tw-gap-[25px]"
209
254
  >
210
255
  <div
211
- v-for="(itemAction, i) in itemActions"
256
+ v-for="(itemAction, i) in item.actions"
212
257
  :key="i"
213
258
  :class="[
214
259
  'tw-flex tw-flex-row tw-items-center tw-text-[#319ed4] tw-cursor-pointer',
@@ -216,7 +261,10 @@
216
261
  ]"
217
262
  @click.stop="itemAction.clickHandler(item)"
218
263
  >
219
- <VcIcon :icon="itemAction.icon" size="m" />
264
+ <VcIcon
265
+ :icon="itemAction.icon"
266
+ size="m"
267
+ />
220
268
  <div
221
269
  class="tw-not-italic tw-font-normal tw-text-base tw-leading-[20px] tw-text-[#3f3f3f] tw-ml-[7px]"
222
270
  >
@@ -231,6 +279,25 @@
231
279
  </div>
232
280
  </div>
233
281
  </td>
282
+ <td
283
+ v-for="cell in filteredCols"
284
+ :key="`${item.id}_${cell.id}`"
285
+ class="tw-box-border tw-overflow-hidden tw-px-3"
286
+ :class="cell.class"
287
+ :style="{ maxWidth: cell.width, width: cell.width }"
288
+ >
289
+ <slot
290
+ :name="`item_${cell.id}`"
291
+ :item="item"
292
+ :cell="cell"
293
+ >
294
+ <VcTableCell
295
+ :cell="cell"
296
+ :item="item"
297
+ ></VcTableCell>
298
+ </slot>
299
+ </td>
300
+ <td></td>
234
301
  </tr>
235
302
  </tbody>
236
303
  </table>
@@ -246,23 +313,38 @@
246
313
  v-if="notfound"
247
314
  class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center tw-justify-center"
248
315
  >
249
- <img v-if="notfound.image" :src="notfound.image" />
316
+ <img
317
+ v-if="notfound.image"
318
+ :src="notfound.image"
319
+ />
250
320
  <div class="tw-m-4 vc-table__empty-text">
251
321
  {{ notfound.text }}
252
322
  </div>
253
- <VcButton v-if="notfound.action" @click="notfound.clickHandler">
323
+ <VcButton
324
+ v-if="notfound.action"
325
+ @click="notfound.clickHandler"
326
+ >
254
327
  {{ notfound.action }}
255
328
  </VcButton>
256
329
  </div>
257
330
  </slot>
258
- <slot v-else name="empty">
331
+ <slot
332
+ v-else
333
+ name="empty"
334
+ >
259
335
  <div
260
336
  v-if="empty"
261
337
  class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center tw-justify-center"
262
338
  >
263
- <img v-if="empty.image" :src="empty.image" />
339
+ <img
340
+ v-if="empty.image"
341
+ :src="empty.image"
342
+ />
264
343
  <div class="tw-m-4 tw-text-xl tw-font-medium">{{ empty.text }}</div>
265
- <VcButton v-if="empty.action" @click="empty.clickHandler">
344
+ <VcButton
345
+ v-if="empty.action"
346
+ @click="empty.clickHandler"
347
+ >
266
348
  {{ empty.action }}
267
349
  </VcButton>
268
350
  </div>
@@ -297,37 +379,68 @@
297
379
  </template>
298
380
 
299
381
  <script lang="ts" setup>
300
- import { computed, nextTick, ref, watch, onBeforeUpdate } from "vue";
301
- import {
302
- VcIcon,
303
- VcLoading,
304
- VcCheckbox,
305
- VcContainer,
306
- VcInput,
307
- VcPagination,
308
- } from "./../../../components";
382
+ import { computed, nextTick, ref, watch, onBeforeUpdate, onBeforeUnmount, Ref } from "vue";
309
383
  import VcTableCounter from "./_internal/vc-table-counter/vc-table-counter.vue";
310
384
  import VcTableFilter from "./_internal/vc-table-filter/vc-table-filter.vue";
311
385
  import VcTableMobileItem from "./_internal/vc-table-mobile-item/vc-table-mobile-item.vue";
312
386
  import VcTableCell from "./_internal/vc-table-cell/vc-table-cell.vue";
387
+ import VcTableColumnSwitcher from "./_internal/vc-table-column-switcher/vc-table-column-switcher.vue";
313
388
  import { createPopper, Instance } from "@popperjs/core";
314
- import { IActionBuilderResult } from "./../../../../core/types";
315
- import { VcTableProps } from "./vc-table-model";
389
+ import { IActionBuilderResult, ITableColumns } from "./../../../../core/types";
390
+ import { useLocalStorage, computedAsync, useCurrentElement } from "@vueuse/core";
391
+ import VcContainer from "./../../atoms/vc-container/vc-container.vue";
392
+
393
+ export interface StatusImage {
394
+ image?: string;
395
+ text: string;
396
+ action?: string;
397
+ clickHandler?: () => void;
398
+ }
399
+
400
+ export interface Props {
401
+ columns: ITableColumns[];
402
+ items: { id?: string }[] | string[];
403
+ itemActionBuilder?: (item: { id?: string }) => IActionBuilderResult[];
404
+ sort?: string;
405
+ multiselect?: boolean;
406
+ expanded?: boolean;
407
+ totalLabel?: string;
408
+ totalCount?: number;
409
+ pages?: number;
410
+ currentPage?: number;
411
+ searchPlaceholder?: string;
412
+ searchValue?: string;
413
+ loading?: boolean;
414
+ empty?: StatusImage;
415
+ notfound?: StatusImage;
416
+ header?: boolean;
417
+ footer?: boolean;
418
+ activeFilterCount?: number;
419
+ selectedItemId?: string;
420
+ scrolling?: boolean;
421
+ resizableColumns?: boolean;
422
+ reorderableColumns?: boolean;
423
+ stateKey: string;
424
+ }
425
+
426
+ export interface Emits {
427
+ (event: "paginationClick", page: number): void;
428
+ (event: "selectionChanged", values: Record<string, boolean>): void;
429
+ (event: "search:change", value: string): void;
430
+ (event: "headerClick", value: Record<string, unknown>): void;
431
+ (event: "itemClick", item: { id?: string }): void;
432
+ (event: "scroll:ptr"): void;
433
+ }
316
434
 
317
- const props = withDefaults(defineProps<VcTableProps>(), {
435
+ const props = withDefaults(defineProps<Props>(), {
318
436
  columns: () => [],
319
437
  items: () => [],
320
- itemActionBuilder: undefined,
321
- sort: undefined,
322
- multiselect: false,
323
- expanded: false,
324
438
  totalLabel: "Totals:",
325
439
  totalCount: 0,
326
440
  pages: 0,
441
+ expanded: true,
327
442
  currentPage: 0,
328
443
  searchPlaceholder: "Search...",
329
- searchValue: undefined,
330
- loading: false,
331
444
  empty: () => ({
332
445
  text: "List is empty.",
333
446
  }),
@@ -337,8 +450,8 @@ const props = withDefaults(defineProps<VcTableProps>(), {
337
450
  header: true,
338
451
  footer: true,
339
452
  activeFilterCount: 0,
340
- selectedItemId: undefined,
341
- scrolling: false,
453
+ resizableColumns: true,
454
+ reorderableColumns: true,
342
455
  });
343
456
 
344
457
  interface ITableItemRef {
@@ -346,14 +459,7 @@ interface ITableItemRef {
346
459
  id: string;
347
460
  }
348
461
 
349
- const emit = defineEmits([
350
- "paginationClick",
351
- "selectionChanged",
352
- "search:change",
353
- "headerClick",
354
- "itemClick",
355
- "scroll:ptr",
356
- ]);
462
+ const emit = defineEmits<Emits>();
357
463
 
358
464
  const checkboxes = ref<Record<string, boolean>>({});
359
465
  const selectedRow = ref<string>();
@@ -361,14 +467,30 @@ const tooltip = ref<Instance>();
361
467
  const scrollContainer = ref<typeof VcContainer>();
362
468
  const actionToggleRefs = ref<ITableItemRef[]>([]);
363
469
  const tooltipRefs = ref<ITableItemRef[]>([]);
364
- const itemActions = ref<IActionBuilderResult[]>([]);
365
470
  const mobileSwipeItem = ref<string>();
471
+ const columnResizing = ref(false);
472
+ const resizeColumnElement = ref<ITableColumns>();
473
+ const nextColumn = ref<ITableColumns>();
474
+ const lastResize = ref<number>();
475
+ const table = useCurrentElement();
476
+ const columnResizeListener = ref(null);
477
+ const columnResizeEndListener = ref(null);
478
+ const resizer = ref();
479
+ const state = useLocalStorage(props.stateKey, []);
480
+ const cols: Ref<ITableColumns[]> = ref([]);
481
+ const draggedColumn = ref();
482
+ const dropPosition = ref();
483
+ const calculatedItems = computedAsync(async () => await populateWithActions(props.items), []);
366
484
 
367
485
  onBeforeUpdate(() => {
368
486
  actionToggleRefs.value = [];
369
487
  tooltipRefs.value = [];
370
488
  });
371
489
 
490
+ onBeforeUnmount(() => {
491
+ unbindColumnResizeEvents();
492
+ });
493
+
372
494
  const sortDirection = computed(() => {
373
495
  const entry = props.sort?.split(":");
374
496
  return entry && entry.length === 2 && entry[1];
@@ -379,28 +501,85 @@ const sortField = computed(() => {
379
501
  return entry && entry.length === 2 && entry[0];
380
502
  });
381
503
 
504
+ const toggleCols = computed(() => {
505
+ return props.columns.map((item) => {
506
+ return cols.value.find((mutatedItem) => item.id === mutatedItem.id);
507
+ });
508
+ });
509
+
382
510
  const tableAlignment = {
383
- start: "justify-start",
384
- end: "justify-end",
385
- center: "justify-center",
386
- between: "justify-between",
387
- around: "justify-around",
388
- evenly: "justify-evenly",
511
+ start: "tw-justify-start",
512
+ end: "tw-justify-end",
513
+ center: "tw-justify-center",
514
+ between: "tw-justify-between",
515
+ around: "tw-justify-around",
516
+ evenly: "tw-justify-evenly",
389
517
  };
390
518
 
391
- const headerCheckbox = computed(() =>
392
- Object.values(checkboxes.value).every((value) => value)
393
- );
519
+ const headerCheckbox = computed(() => {
520
+ const checkboxList = Object.values(checkboxes.value);
521
+
522
+ if (checkboxList.length) {
523
+ return checkboxList.every((value) => value);
524
+ } else return false;
525
+ });
526
+
527
+ const filteredCols = computed(() => {
528
+ return cols.value.filter((x) => {
529
+ if (("visible" in x && x.visible) || !("visible" in x)) {
530
+ return props.expanded ? x : x.alwaysVisible;
531
+ }
532
+ });
533
+ });
394
534
 
395
535
  watch(
396
536
  () => props.items,
397
- (value: { id: string }[]) => {
537
+ async (value: { id: string }[]) => {
398
538
  checkboxes.value = {};
399
- value?.forEach((item) => (checkboxes.value[item.id] = false));
539
+ value?.forEach((item) => {
540
+ checkboxes.value[item.id] = false;
541
+ });
400
542
  scrollContainer.value?.scrollTop();
401
- }
543
+ },
544
+ { deep: true, immediate: true }
545
+ );
546
+
547
+ watch(
548
+ () => props.columns,
549
+ (newVal) => {
550
+ if (isStateful()) {
551
+ nextTick(() => restoreState());
552
+ }
553
+
554
+ if (!cols.value.length) {
555
+ cols.value = newVal;
556
+ }
557
+ },
558
+ { deep: true, immediate: true }
402
559
  );
403
560
 
561
+ async function populateWithActions(value: { id?: string }[] | string[]) {
562
+ const populatedItems = [];
563
+
564
+ if (value && typeof value === "object") {
565
+ if (props.itemActionBuilder && typeof props.itemActionBuilder === "function") {
566
+ for (let index = 0; index < value.length; index++) {
567
+ const element = value[index] as Record<string, unknown>;
568
+
569
+ if (!("actions" in element && element.actions))
570
+ populatedItems.push({
571
+ actions: await calculateActions(element),
572
+ ...element,
573
+ });
574
+ }
575
+
576
+ return populatedItems;
577
+ } else {
578
+ return props.items;
579
+ }
580
+ }
581
+ }
582
+
404
583
  function setTooltipRefs(el: Element, id: string) {
405
584
  if (el) {
406
585
  const isExists = tooltipRefs.value.some((item) => item.id === id);
@@ -421,9 +600,7 @@ function setActionToggleRefs(el: Element, id: string) {
421
600
 
422
601
  function processHeaderCheckbox() {
423
602
  const currentState = Object.values(checkboxes.value).every((value) => value);
424
- Object.keys(checkboxes.value).forEach(
425
- (key) => (checkboxes.value[key] = !currentState)
426
- );
603
+ Object.keys(checkboxes.value).forEach((key) => (checkboxes.value[key] = !currentState));
427
604
  emit("selectionChanged", checkboxes.value);
428
605
  }
429
606
 
@@ -440,29 +617,25 @@ function showActions(item: { id?: string }, index: string) {
440
617
 
441
618
  if (toggleRef && tooltipRef) {
442
619
  nextTick(() => {
443
- tooltip.value = createPopper(
444
- toggleRef.element,
445
- tooltipRef.element as HTMLElement,
446
- {
447
- placement: "bottom",
448
- onFirstUpdate: () => tooltip.value?.update(),
449
- modifiers: [
450
- {
451
- name: "offset",
452
- options: {
453
- offset: [-15, 15],
454
- },
620
+ tooltip.value = createPopper(toggleRef.element, tooltipRef.element as HTMLElement, {
621
+ placement: "bottom",
622
+ onFirstUpdate: () => tooltip.value?.update(),
623
+ modifiers: [
624
+ {
625
+ name: "offset",
626
+ options: {
627
+ offset: [-15, 15],
455
628
  },
456
- ],
457
- }
458
- );
629
+ },
630
+ ],
631
+ });
459
632
  });
460
633
  }
461
634
  }
462
635
 
463
636
  async function calculateActions(item: { id?: string }) {
464
637
  if (typeof props.itemActionBuilder === "function") {
465
- itemActions.value = await props.itemActionBuilder(item);
638
+ return await props.itemActionBuilder(item);
466
639
  }
467
640
  }
468
641
 
@@ -475,9 +648,264 @@ function handleSwipe(id: string) {
475
648
  mobileSwipeItem.value = id;
476
649
  }
477
650
 
478
- function handleHeaderClick(item: Record<string, unknown>) {
651
+ function handleHeaderClick(item: ITableColumns) {
479
652
  emit("headerClick", item);
480
653
  }
654
+
655
+ function handleMouseDown(e: MouseEvent, item: ITableColumns) {
656
+ let containerLeft = getOffset(table.value as HTMLElement).left;
657
+ resizeColumnElement.value = item;
658
+ columnResizing.value = true;
659
+ lastResize.value = e.pageX - containerLeft + table.value.scrollLeft;
660
+
661
+ bindColumnResizeEvents();
662
+ }
663
+
664
+ function bindColumnResizeEvents() {
665
+ if (!columnResizeListener.value) {
666
+ columnResizeListener.value = document.addEventListener("mousemove", (event: MouseEvent) => {
667
+ if (columnResizing.value) {
668
+ onColumnResize(event);
669
+ }
670
+ });
671
+ }
672
+ if (!columnResizeEndListener.value) {
673
+ columnResizeEndListener.value = document.addEventListener("mouseup", () => {
674
+ if (columnResizing.value) {
675
+ columnResizing.value = false;
676
+ onColumnResizeEnd();
677
+ }
678
+ });
679
+ }
680
+ }
681
+
682
+ function unbindColumnResizeEvents() {
683
+ if (columnResizeListener.value) {
684
+ document.removeEventListener("document", columnResizeListener.value);
685
+ columnResizeListener.value = null;
686
+ }
687
+ if (columnResizeEndListener.value) {
688
+ document.removeEventListener("document", columnResizeEndListener.value);
689
+ columnResizeEndListener.value = null;
690
+ }
691
+ }
692
+
693
+ function onColumnResize(event: MouseEvent) {
694
+ let containerLeft = getOffset(table.value as HTMLElement).left;
695
+
696
+ resizer.value.style.top = 0 + "px";
697
+ resizer.value.style.left = event.pageX - containerLeft + table.value.scrollLeft + "px";
698
+ resizer.value.style.display = "block";
699
+ }
700
+
701
+ function getOffset(element: HTMLElement) {
702
+ if (!element.getClientRects().length) {
703
+ return { top: 0, left: 0 };
704
+ }
705
+
706
+ let rect = element.getBoundingClientRect();
707
+ let win = element.ownerDocument.defaultView;
708
+ return {
709
+ top: rect.top + win.pageYOffset,
710
+ left: rect.left + win.pageXOffset,
711
+ };
712
+ }
713
+
714
+ function onColumnResizeEnd() {
715
+ let delta = resizer.value.offsetLeft - lastResize.value;
716
+
717
+ const columnElement: HTMLElement = table.value.querySelector(`#${resizeColumnElement.value.id}`);
718
+
719
+ let columnWidth = columnElement.offsetWidth;
720
+ let newColumnWidth = columnWidth + delta;
721
+
722
+ let minWidth = 15;
723
+
724
+ if (columnWidth + delta > parseInt(minWidth.toString(), 10)) {
725
+ nextColumn.value = filteredCols.value[filteredCols.value.indexOf(resizeColumnElement.value) + 1];
726
+
727
+ if (nextColumn.value) {
728
+ const nextColElement: HTMLElement = table.value.querySelector(`#${nextColumn.value.id}`);
729
+
730
+ let nextColumnWidth = nextColElement.offsetWidth - delta;
731
+ if (newColumnWidth > 15 && nextColumnWidth > 15) {
732
+ resizeTableCells(newColumnWidth, nextColumnWidth);
733
+ }
734
+ } else {
735
+ if (newColumnWidth > 15) {
736
+ resizeColumnElement.value.width = newColumnWidth + "px";
737
+ }
738
+ }
739
+ }
740
+ resizer.value.style.display = "none";
741
+
742
+ unbindColumnResizeEvents();
743
+
744
+ saveState();
745
+ }
746
+
747
+ function resizeTableCells(newColumnWidth: number, nextColumnWidth: number) {
748
+ resizeColumnElement.value.width = newColumnWidth + "px";
749
+ nextColumn.value.width = nextColumnWidth + "px";
750
+ }
751
+
752
+ function onColumnHeaderDragStart(event: DragEvent, item: ITableColumns) {
753
+ if (columnResizing.value) {
754
+ event.preventDefault();
755
+ return;
756
+ }
757
+
758
+ draggedColumn.value = item;
759
+ event.dataTransfer.setData("text", "reorder");
760
+ }
761
+
762
+ function findParentHeader(element: HTMLElement) {
763
+ if (element.nodeName === "TH") {
764
+ return element;
765
+ } else {
766
+ let parent = element.parentElement;
767
+
768
+ while (parent.nodeName !== "TH") {
769
+ parent = parent.parentElement;
770
+ if (!parent) break;
771
+ }
772
+
773
+ return parent;
774
+ }
775
+ }
776
+
777
+ function onColumnHeaderDragOver(event: DragEvent) {
778
+ let dropHeader = findParentHeader(event.target as HTMLElement);
779
+
780
+ if (props.reorderableColumns && draggedColumn.value && dropHeader) {
781
+ event.preventDefault();
782
+ let dropHeaderOffset = getOffset(dropHeader);
783
+
784
+ if (draggedColumn.value !== dropHeader) {
785
+ let columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;
786
+
787
+ if (event.pageX > columnCenter) {
788
+ dropPosition.value = 1;
789
+ } else {
790
+ dropPosition.value = -1;
791
+ }
792
+ }
793
+ }
794
+ }
795
+
796
+ function onColumnHeaderDragLeave(event: DragEvent) {
797
+ if (props.reorderableColumns && draggedColumn.value) {
798
+ event.preventDefault();
799
+ }
800
+ }
801
+
802
+ function onColumnHeaderDrop(event: DragEvent, item: ITableColumns) {
803
+ event.preventDefault();
804
+
805
+ if (draggedColumn.value) {
806
+ let dragIndex = cols.value.indexOf(draggedColumn.value);
807
+ let dropIndex = cols.value.indexOf(item);
808
+
809
+ let allowDrop = dragIndex !== dropIndex;
810
+
811
+ if (
812
+ allowDrop &&
813
+ ((dropIndex - dragIndex === 1 && dropPosition.value === -1) ||
814
+ (dropIndex - dragIndex === -1 && dropPosition.value === 1))
815
+ ) {
816
+ allowDrop = false;
817
+ }
818
+
819
+ if (allowDrop) {
820
+ reorderArray(cols.value, dragIndex, dropIndex);
821
+
822
+ if (isStateful()) {
823
+ saveState();
824
+ }
825
+ }
826
+
827
+ draggedColumn.value.draggable = false;
828
+ draggedColumn.value = null;
829
+ dropPosition.value = null;
830
+ }
831
+ }
832
+
833
+ function isStateful() {
834
+ return props.stateKey != null;
835
+ }
836
+
837
+ function saveState() {
838
+ console.debug("[@vc-shell/framewok#vc-table.vue] - Save state");
839
+
840
+ state.value = cols.value;
841
+ }
842
+
843
+ function restoreState() {
844
+ console.debug("[@vc-shell/framewok#vc-table.vue] - Restore state");
845
+ if (Object.keys(state.value).length) {
846
+ cols.value = state.value;
847
+ }
848
+ }
849
+
850
+ function reorderArray(value: Record<string, unknown>[], from: number, to: number) {
851
+ if (value && from !== to) {
852
+ if (to >= value.length) {
853
+ to %= value.length;
854
+ from %= value.length;
855
+ }
856
+
857
+ value.splice(to, 0, value.splice(from, 1)[0]);
858
+ }
859
+ }
860
+
861
+ function onColumnHeaderMouseDown(event: MouseEvent & { currentTarget?: { draggable: boolean } }) {
862
+ if (props.reorderableColumns) {
863
+ event.currentTarget.draggable = true;
864
+ }
865
+ }
866
+
867
+ function toggleColumn(item: ITableColumns) {
868
+ if (item) {
869
+ cols.value = cols.value.map((x) => {
870
+ if (x === item) {
871
+ x = item;
872
+ }
873
+ return x;
874
+ });
875
+ }
876
+
877
+ if (isStateful()) {
878
+ saveState();
879
+ }
880
+ }
881
+
882
+ const generatedColumns = computed(() => {
883
+ const test = props.items[0];
884
+
885
+ // return Object.keys(Object.fromEntries(Object.entries(test).filter(([key, value]) => typeof value !== "object"))).map(
886
+ // (x) => camelToSnake(x)
887
+ // );
888
+
889
+ return Object.keys(Object.fromEntries(Object.entries(test).filter(([key, value]) => typeof value !== "object")))
890
+ .filter((x) => !props.columns.some((t) => t.id === x))
891
+ .map((x) => ({
892
+ id: x,
893
+ title: camelToSnake(x),
894
+ width: "auto",
895
+ visible: false,
896
+ }));
897
+ });
898
+
899
+ function camelToSnake(str: string): string {
900
+ return (
901
+ str
902
+ .replace(/([A-Z])/g, " $1")
903
+ // uppercase the first character
904
+ .replace(/^./, function (str) {
905
+ return str.toUpperCase();
906
+ })
907
+ );
908
+ }
481
909
  </script>
482
910
 
483
911
  <style lang="scss">
@@ -524,9 +952,9 @@ $variants: (
524
952
  top: -5px;
525
953
  }
526
954
 
527
- &-row:hover .vc-table__body-actions-container {
528
- @apply tw-flex #{!important};
529
- }
955
+ // &-row:hover .vc-table__body-actions-container {
956
+ // @apply tw-flex #{!important};
957
+ // }
530
958
 
531
959
  &-actions-item {
532
960
  @each $name, $variant in $variants {