@vc-shell/framework 1.0.53 → 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 (354) 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 +3 -5
  21. package/dist/core/composables/index.d.ts +0 -1
  22. package/dist/core/composables/index.d.ts.map +1 -1
  23. package/dist/core/composables/useApiClient/index.d.ts.map +1 -1
  24. package/dist/core/composables/useAsync/index.d.ts.map +1 -1
  25. package/dist/core/composables/useAutosave/index.d.ts.map +1 -1
  26. package/dist/core/composables/useFunctions/debounce.d.ts.map +1 -1
  27. package/dist/core/composables/useFunctions/delay.d.ts.map +1 -1
  28. package/dist/core/composables/useFunctions/once.d.ts.map +1 -1
  29. package/dist/core/composables/useFunctions/throttle.d.ts.map +1 -1
  30. package/dist/core/composables/useI18n/index.d.ts +2 -4
  31. package/dist/core/composables/useI18n/index.d.ts.map +1 -1
  32. package/dist/core/composables/useLoading/index.d.ts.map +1 -1
  33. package/dist/core/composables/useNotifications/index.d.ts.map +1 -1
  34. package/dist/core/composables/useSettings/index.d.ts.map +1 -1
  35. package/dist/core/composables/useUser/index.d.ts.map +1 -1
  36. package/dist/core/plugins/i18n/index.d.ts +3 -0
  37. package/dist/core/plugins/i18n/index.d.ts.map +1 -0
  38. package/dist/core/plugins/index.d.ts +3 -1
  39. package/dist/core/plugins/index.d.ts.map +1 -1
  40. package/dist/core/plugins/modularity/index.d.ts +8 -0
  41. package/dist/core/plugins/modularity/index.d.ts.map +1 -0
  42. package/dist/core/plugins/moment/humanize.d.ts.map +1 -1
  43. package/dist/core/plugins/validation/index.d.ts +3 -1
  44. package/dist/core/plugins/validation/index.d.ts.map +1 -1
  45. package/dist/core/plugins/validation/rules.d.ts +32 -11
  46. package/dist/core/plugins/validation/rules.d.ts.map +1 -1
  47. package/dist/core/types/index.d.ts +0 -1
  48. package/dist/core/types/index.d.ts.map +1 -1
  49. package/dist/framework.esm.js +42553 -0
  50. package/dist/framework.js +77 -75
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/shared/app-switcher/composables/useAppSwitcher/index.d.ts.map +1 -1
  53. package/dist/shared/app-switcher/index.d.ts +2 -3
  54. package/dist/shared/app-switcher/index.d.ts.map +1 -1
  55. package/dist/shared/assets/components/index.d.ts +1 -1
  56. package/dist/shared/assets/components/index.d.ts.map +1 -1
  57. package/dist/shared/assets/index.d.ts +2 -3
  58. package/dist/shared/assets/index.d.ts.map +1 -1
  59. package/dist/shared/blade-navigation/composables/index.d.ts +1 -1
  60. package/dist/shared/blade-navigation/composables/index.d.ts.map +1 -1
  61. package/dist/shared/blade-navigation/composables/useBladeNavigation/index.d.ts +1 -1
  62. package/dist/shared/blade-navigation/composables/useBladeNavigation/index.d.ts.map +1 -1
  63. package/dist/shared/blade-navigation/index.d.ts +2 -3
  64. package/dist/shared/blade-navigation/index.d.ts.map +1 -1
  65. package/dist/shared/index.d.ts +4 -1
  66. package/dist/shared/index.d.ts.map +1 -1
  67. package/dist/style.css +1 -1
  68. package/dist/tsconfig.tsbuildinfo +1 -1
  69. package/dist/ui/components/atoms/vc-badge/index.d.ts +2 -2
  70. package/dist/ui/components/atoms/vc-badge/index.d.ts.map +1 -1
  71. package/dist/ui/components/atoms/vc-badge/vc-badge-model.d.ts +20 -15
  72. package/dist/ui/components/atoms/vc-badge/vc-badge-model.d.ts.map +1 -1
  73. package/dist/ui/components/atoms/vc-button/index.d.ts +2 -2
  74. package/dist/ui/components/atoms/vc-button/index.d.ts.map +1 -1
  75. package/dist/ui/components/atoms/vc-button/vc-button-model.d.ts +30 -10
  76. package/dist/ui/components/atoms/vc-button/vc-button-model.d.ts.map +1 -1
  77. package/dist/ui/components/atoms/vc-card/index.d.ts +2 -2
  78. package/dist/ui/components/atoms/vc-card/index.d.ts.map +1 -1
  79. package/dist/ui/components/atoms/vc-card/vc-card-model.d.ts +28 -11
  80. package/dist/ui/components/atoms/vc-card/vc-card-model.d.ts.map +1 -1
  81. package/dist/ui/components/atoms/vc-checkbox/index.d.ts +2 -2
  82. package/dist/ui/components/atoms/vc-checkbox/index.d.ts.map +1 -1
  83. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox-model.d.ts +25 -8
  84. package/dist/ui/components/atoms/vc-checkbox/vc-checkbox-model.d.ts.map +1 -1
  85. package/dist/ui/components/atoms/vc-col/index.d.ts.map +1 -1
  86. package/dist/ui/components/atoms/vc-col/vc-col-model.d.ts +8 -3
  87. package/dist/ui/components/atoms/vc-col/vc-col-model.d.ts.map +1 -1
  88. package/dist/ui/components/atoms/vc-container/index.d.ts +2 -2
  89. package/dist/ui/components/atoms/vc-container/index.d.ts.map +1 -1
  90. package/dist/ui/components/atoms/vc-container/vc-container-model.d.ts +20 -6
  91. package/dist/ui/components/atoms/vc-container/vc-container-model.d.ts.map +1 -1
  92. package/dist/ui/components/atoms/vc-hint/vc-hint-model.d.ts +5 -0
  93. package/dist/ui/components/atoms/vc-hint/vc-hint-model.d.ts.map +1 -0
  94. package/dist/ui/components/atoms/vc-icon/index.d.ts.map +1 -1
  95. package/dist/ui/components/atoms/vc-icon/vc-icon-model.d.ts +13 -5
  96. package/dist/ui/components/atoms/vc-icon/vc-icon-model.d.ts.map +1 -1
  97. package/dist/ui/components/atoms/vc-image/index.d.ts +2 -2
  98. package/dist/ui/components/atoms/vc-image/index.d.ts.map +1 -1
  99. package/dist/ui/components/atoms/vc-image/vc-image-model.d.ts +34 -11
  100. package/dist/ui/components/atoms/vc-image/vc-image-model.d.ts.map +1 -1
  101. package/dist/ui/components/atoms/vc-image/vc-image.stories.d.ts.map +1 -1
  102. package/dist/ui/components/atoms/vc-info-row/index.d.ts.map +1 -1
  103. package/dist/ui/components/atoms/vc-info-row/vc-info-row-model.d.ts +21 -7
  104. package/dist/ui/components/atoms/vc-info-row/vc-info-row-model.d.ts.map +1 -1
  105. package/dist/ui/components/atoms/vc-label/index.d.ts.map +1 -1
  106. package/dist/ui/components/atoms/vc-label/vc-label-model.d.ts +12 -4
  107. package/dist/ui/components/atoms/vc-label/vc-label-model.d.ts.map +1 -1
  108. package/dist/ui/components/atoms/vc-link/index.d.ts +2 -2
  109. package/dist/ui/components/atoms/vc-link/index.d.ts.map +1 -1
  110. package/dist/ui/components/atoms/vc-link/vc-link-model.d.ts +16 -5
  111. package/dist/ui/components/atoms/vc-link/vc-link-model.d.ts.map +1 -1
  112. package/dist/ui/components/atoms/vc-loading/index.d.ts.map +1 -1
  113. package/dist/ui/components/atoms/vc-loading/vc-loading-model.d.ts +8 -3
  114. package/dist/ui/components/atoms/vc-loading/vc-loading-model.d.ts.map +1 -1
  115. package/dist/ui/components/atoms/vc-progress/index.d.ts.map +1 -1
  116. package/dist/ui/components/atoms/vc-progress/vc-progress-model.d.ts +13 -5
  117. package/dist/ui/components/atoms/vc-progress/vc-progress-model.d.ts.map +1 -1
  118. package/dist/ui/components/atoms/vc-status/index.d.ts.map +1 -1
  119. package/dist/ui/components/atoms/vc-status/vc-status-model.d.ts +17 -6
  120. package/dist/ui/components/atoms/vc-status/vc-status-model.d.ts.map +1 -1
  121. package/dist/ui/components/atoms/vc-status-icon/index.d.ts.map +1 -1
  122. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon-model.d.ts +8 -3
  123. package/dist/ui/components/atoms/vc-status-icon/vc-status-icon-model.d.ts.map +1 -1
  124. package/dist/ui/components/atoms/vc-switch/index.d.ts +2 -2
  125. package/dist/ui/components/atoms/vc-switch/index.d.ts.map +1 -1
  126. package/dist/ui/components/atoms/vc-switch/vc-switch-model.d.ts +25 -8
  127. package/dist/ui/components/atoms/vc-switch/vc-switch-model.d.ts.map +1 -1
  128. package/dist/ui/components/atoms/vc-widget/index.d.ts +2 -2
  129. package/dist/ui/components/atoms/vc-widget/index.d.ts.map +1 -1
  130. package/dist/ui/components/atoms/vc-widget/vc-widget-model.d.ts +15 -7
  131. package/dist/ui/components/atoms/vc-widget/vc-widget-model.d.ts.map +1 -1
  132. package/dist/ui/components/index.d.ts.map +1 -1
  133. package/dist/ui/components/molecules/vc-breadcrumbs/index.d.ts.map +1 -1
  134. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.d.ts +15 -10
  135. package/dist/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.d.ts.map +1 -1
  136. package/dist/ui/components/molecules/vc-editor/index.d.ts +2 -2
  137. package/dist/ui/components/molecules/vc-editor/index.d.ts.map +1 -1
  138. package/dist/ui/components/molecules/vc-editor/vc-editor-model.d.ts +28 -11
  139. package/dist/ui/components/molecules/vc-editor/vc-editor-model.d.ts.map +1 -1
  140. package/dist/ui/components/molecules/vc-file-upload/index.d.ts +2 -2
  141. package/dist/ui/components/molecules/vc-file-upload/index.d.ts.map +1 -1
  142. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload-model.d.ts +30 -10
  143. package/dist/ui/components/molecules/vc-file-upload/vc-file-upload-model.d.ts.map +1 -1
  144. package/dist/ui/components/molecules/vc-form/vc-form-model.d.ts +5 -0
  145. package/dist/ui/components/molecules/vc-form/vc-form-model.d.ts.map +1 -0
  146. package/dist/ui/components/molecules/vc-input/index.d.ts +2 -2
  147. package/dist/ui/components/molecules/vc-input/index.d.ts.map +1 -1
  148. package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts +48 -25
  149. package/dist/ui/components/molecules/vc-input/vc-input-model.d.ts.map +1 -1
  150. package/dist/ui/components/molecules/vc-input-currency/index.d.ts +2 -2
  151. package/dist/ui/components/molecules/vc-input-currency/index.d.ts.map +1 -1
  152. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts +36 -28
  153. package/dist/ui/components/molecules/vc-input-currency/vc-input-currency-model.d.ts.map +1 -1
  154. package/dist/ui/components/molecules/vc-notification/index.d.ts +2 -2
  155. package/dist/ui/components/molecules/vc-notification/index.d.ts.map +1 -1
  156. package/dist/ui/components/molecules/vc-notification/vc-notification-model.d.ts +13 -5
  157. package/dist/ui/components/molecules/vc-notification/vc-notification-model.d.ts.map +1 -1
  158. package/dist/ui/components/molecules/vc-pagination/index.d.ts +2 -2
  159. package/dist/ui/components/molecules/vc-pagination/index.d.ts.map +1 -1
  160. package/dist/ui/components/molecules/vc-pagination/vc-pagination-model.d.ts +20 -6
  161. package/dist/ui/components/molecules/vc-pagination/vc-pagination-model.d.ts.map +1 -1
  162. package/dist/ui/components/molecules/vc-rating/index.d.ts.map +1 -1
  163. package/dist/ui/components/molecules/vc-rating/vc-rating-model.d.ts +17 -9
  164. package/dist/ui/components/molecules/vc-rating/vc-rating-model.d.ts.map +1 -1
  165. package/dist/ui/components/molecules/vc-select/index.d.ts +2 -2
  166. package/dist/ui/components/molecules/vc-select/index.d.ts.map +1 -1
  167. package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts +67 -32
  168. package/dist/ui/components/molecules/vc-select/vc-select-model.d.ts.map +1 -1
  169. package/dist/ui/components/molecules/vc-slider/index.d.ts.map +1 -1
  170. package/dist/ui/components/molecules/vc-slider/vc-slider-model.d.ts +25 -8
  171. package/dist/ui/components/molecules/vc-slider/vc-slider-model.d.ts.map +1 -1
  172. package/dist/ui/components/molecules/vc-textarea/index.d.ts +2 -2
  173. package/dist/ui/components/molecules/vc-textarea/index.d.ts.map +1 -1
  174. package/dist/ui/components/molecules/vc-textarea/vc-textarea-model.d.ts +32 -12
  175. package/dist/ui/components/molecules/vc-textarea/vc-textarea-model.d.ts.map +1 -1
  176. package/dist/ui/components/organisms/vc-app/index.d.ts +2 -2
  177. package/dist/ui/components/organisms/vc-app/index.d.ts.map +1 -1
  178. package/dist/ui/components/organisms/vc-app/vc-app-model.d.ts +52 -17
  179. package/dist/ui/components/organisms/vc-app/vc-app-model.d.ts.map +1 -1
  180. package/dist/ui/components/organisms/vc-blade/index.d.ts +2 -2
  181. package/dist/ui/components/organisms/vc-blade/index.d.ts.map +1 -1
  182. package/dist/ui/components/organisms/vc-blade/vc-blade-model.d.ts +28 -11
  183. package/dist/ui/components/organisms/vc-blade/vc-blade-model.d.ts.map +1 -1
  184. package/dist/ui/components/organisms/vc-blade/vc-blade.stories.d.ts.map +1 -1
  185. package/dist/ui/components/organisms/vc-dynamic-property/index.d.ts.map +1 -1
  186. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.d.ts +39 -10
  187. package/dist/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.d.ts.map +1 -1
  188. package/dist/ui/components/organisms/vc-gallery/index.d.ts +2 -2
  189. package/dist/ui/components/organisms/vc-gallery/index.d.ts.map +1 -1
  190. package/dist/ui/components/organisms/vc-gallery/vc-gallery-model.d.ts +69 -27
  191. package/dist/ui/components/organisms/vc-gallery/vc-gallery-model.d.ts.map +1 -1
  192. package/dist/ui/components/organisms/vc-login-form/index.d.ts.map +1 -1
  193. package/dist/ui/components/organisms/vc-login-form/vc-login-form-model.d.ts +10 -5
  194. package/dist/ui/components/organisms/vc-login-form/vc-login-form-model.d.ts.map +1 -1
  195. package/dist/ui/components/organisms/vc-popup/index.d.ts +2 -2
  196. package/dist/ui/components/organisms/vc-popup/index.d.ts.map +1 -1
  197. package/dist/ui/components/organisms/vc-popup/vc-popup-model.d.ts +18 -7
  198. package/dist/ui/components/organisms/vc-popup/vc-popup-model.d.ts.map +1 -1
  199. package/dist/ui/components/organisms/vc-table/index.d.ts +2 -2
  200. package/dist/ui/components/organisms/vc-table/index.d.ts.map +1 -1
  201. package/dist/ui/components/organisms/vc-table/vc-table-model.d.ts +103 -34
  202. package/dist/ui/components/organisms/vc-table/vc-table-model.d.ts.map +1 -1
  203. package/dist/ui/types/index.d.ts +48 -46
  204. package/dist/ui/types/index.d.ts.map +1 -1
  205. package/dist/ui/types/ts-helpers.d.ts +14 -4
  206. package/dist/ui/types/ts-helpers.d.ts.map +1 -1
  207. package/dist/ui/utils/index.d.ts +2 -0
  208. package/dist/ui/utils/index.d.ts.map +1 -0
  209. package/dist/ui/utils/types.d.ts +3 -0
  210. package/dist/ui/utils/types.d.ts.map +1 -0
  211. package/dist/vite.config.d.ts +1 -1
  212. package/dist/vite.config.d.ts.map +1 -1
  213. package/package.json +8 -11
  214. package/shared/app-switcher/components/vc-app-switcher/vc-app-switcher.vue +2 -5
  215. package/shared/app-switcher/composables/useAppSwitcher/index.ts +2 -7
  216. package/shared/app-switcher/index.ts +3 -10
  217. package/shared/assets/components/assets-details/assets-details.vue +7 -28
  218. package/shared/assets/components/index.ts +1 -1
  219. package/shared/assets/index.ts +3 -15
  220. package/shared/blade-navigation/components/vc-blade-navigation/vc-blade-navigation.vue +2 -7
  221. package/shared/blade-navigation/composables/index.ts +1 -1
  222. package/shared/blade-navigation/composables/useBladeNavigation/index.ts +7 -36
  223. package/shared/blade-navigation/index.ts +3 -10
  224. package/shared/index.ts +9 -11
  225. package/ui/components/atoms/vc-badge/index.ts +4 -4
  226. package/ui/components/atoms/vc-badge/vc-badge-model.ts +22 -15
  227. package/ui/components/atoms/vc-badge/vc-badge.vue +5 -10
  228. package/ui/components/atoms/vc-button/index.ts +4 -4
  229. package/ui/components/atoms/vc-button/vc-button-model.ts +32 -17
  230. package/ui/components/atoms/vc-button/vc-button.vue +8 -13
  231. package/ui/components/atoms/vc-card/index.ts +3 -4
  232. package/ui/components/atoms/vc-card/vc-card-model.ts +31 -11
  233. package/ui/components/atoms/vc-card/vc-card.vue +20 -11
  234. package/ui/components/atoms/vc-checkbox/index.ts +3 -2
  235. package/ui/components/atoms/vc-checkbox/vc-checkbox-model.ts +28 -8
  236. package/ui/components/atoms/vc-checkbox/vc-checkbox.vue +15 -11
  237. package/ui/components/atoms/vc-col/index.ts +1 -2
  238. package/ui/components/atoms/vc-col/vc-col-model.ts +9 -3
  239. package/ui/components/atoms/vc-col/vc-col.vue +2 -4
  240. package/ui/components/atoms/vc-container/index.ts +3 -2
  241. package/ui/components/atoms/vc-container/vc-container-model.ts +24 -8
  242. package/ui/components/atoms/vc-container/vc-container.vue +6 -14
  243. package/ui/components/atoms/vc-hint/vc-hint-model.ts +5 -0
  244. package/ui/components/atoms/vc-icon/index.ts +1 -3
  245. package/ui/components/atoms/vc-icon/vc-icon-model.ts +15 -6
  246. package/ui/components/atoms/vc-icon/vc-icon.vue +2 -5
  247. package/ui/components/atoms/vc-image/index.ts +4 -4
  248. package/ui/components/atoms/vc-image/vc-image-model.ts +36 -22
  249. package/ui/components/atoms/vc-image/vc-image.stories.ts +1 -2
  250. package/ui/components/atoms/vc-image/vc-image.vue +13 -17
  251. package/ui/components/atoms/vc-info-row/index.ts +1 -3
  252. package/ui/components/atoms/vc-info-row/vc-info-row-model.ts +22 -7
  253. package/ui/components/atoms/vc-info-row/vc-info-row.vue +13 -9
  254. package/ui/components/atoms/vc-label/index.ts +1 -3
  255. package/ui/components/atoms/vc-label/vc-label-model.ts +13 -4
  256. package/ui/components/atoms/vc-label/vc-label.vue +6 -6
  257. package/ui/components/atoms/vc-link/index.ts +3 -4
  258. package/ui/components/atoms/vc-link/vc-link-model.ts +18 -5
  259. package/ui/components/atoms/vc-link/vc-link.vue +4 -6
  260. package/ui/components/atoms/vc-loading/index.ts +1 -3
  261. package/ui/components/atoms/vc-loading/vc-loading-model.ts +9 -3
  262. package/ui/components/atoms/vc-loading/vc-loading.vue +4 -9
  263. package/ui/components/atoms/vc-progress/index.ts +1 -3
  264. package/ui/components/atoms/vc-progress/vc-progress-model.ts +14 -5
  265. package/ui/components/atoms/vc-progress/vc-progress.vue +4 -13
  266. package/ui/components/atoms/vc-status/index.ts +1 -3
  267. package/ui/components/atoms/vc-status/vc-status-model.ts +18 -12
  268. package/ui/components/atoms/vc-status/vc-status.vue +3 -11
  269. package/ui/components/atoms/vc-status-icon/index.ts +1 -3
  270. package/ui/components/atoms/vc-status-icon/vc-status-icon-model.ts +9 -3
  271. package/ui/components/atoms/vc-status-icon/vc-status-icon.vue +2 -4
  272. package/ui/components/atoms/vc-switch/index.ts +4 -4
  273. package/ui/components/atoms/vc-switch/vc-switch-model.ts +28 -8
  274. package/ui/components/atoms/vc-switch/vc-switch.vue +12 -10
  275. package/ui/components/atoms/vc-widget/index.ts +4 -4
  276. package/ui/components/atoms/vc-widget/vc-widget-model.ts +17 -7
  277. package/ui/components/atoms/vc-widget/vc-widget.vue +16 -7
  278. package/ui/components/index.ts +1 -1
  279. package/ui/components/molecules/vc-breadcrumbs/index.ts +1 -3
  280. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs-model.ts +18 -10
  281. package/ui/components/molecules/vc-breadcrumbs/vc-breadcrumbs.vue +6 -5
  282. package/ui/components/molecules/vc-editor/index.ts +4 -4
  283. package/ui/components/molecules/vc-editor/vc-editor-model.ts +31 -11
  284. package/ui/components/molecules/vc-editor/vc-editor.vue +17 -11
  285. package/ui/components/molecules/vc-file-upload/index.ts +3 -2
  286. package/ui/components/molecules/vc-file-upload/vc-file-upload-model.ts +33 -11
  287. package/ui/components/molecules/vc-file-upload/vc-file-upload.vue +10 -14
  288. package/ui/components/molecules/vc-form/vc-form-model.ts +5 -0
  289. package/ui/components/molecules/vc-input/index.ts +4 -5
  290. package/ui/components/molecules/vc-input/vc-input-model.ts +53 -35
  291. package/ui/components/molecules/vc-input/vc-input.vue +41 -29
  292. package/ui/components/molecules/vc-input-currency/index.ts +3 -2
  293. package/ui/components/molecules/vc-input-currency/vc-input-currency-model.ts +42 -32
  294. package/ui/components/molecules/vc-input-currency/vc-input-currency.vue +12 -7
  295. package/ui/components/molecules/vc-notification/index.ts +4 -3
  296. package/ui/components/molecules/vc-notification/vc-notification-model.ts +15 -5
  297. package/ui/components/molecules/vc-notification/vc-notification.vue +3 -5
  298. package/ui/components/molecules/vc-pagination/index.ts +4 -3
  299. package/ui/components/molecules/vc-pagination/vc-pagination-model.ts +23 -6
  300. package/ui/components/molecules/vc-pagination/vc-pagination.vue +19 -11
  301. package/ui/components/molecules/vc-rating/index.ts +2 -4
  302. package/ui/components/molecules/vc-rating/vc-rating-model.ts +18 -9
  303. package/ui/components/molecules/vc-rating/vc-rating.vue +10 -4
  304. package/ui/components/molecules/vc-select/index.ts +5 -5
  305. package/ui/components/molecules/vc-select/vc-select-model.ts +74 -44
  306. package/ui/components/molecules/vc-select/vc-select.vue +126 -171
  307. package/ui/components/molecules/vc-slider/index.ts +2 -4
  308. package/ui/components/molecules/vc-slider/vc-slider-model.ts +30 -11
  309. package/ui/components/molecules/vc-slider/vc-slider.vue +2 -8
  310. package/ui/components/molecules/vc-textarea/index.ts +4 -3
  311. package/ui/components/molecules/vc-textarea/vc-textarea-model.ts +35 -12
  312. package/ui/components/molecules/vc-textarea/vc-textarea.vue +16 -12
  313. package/ui/components/organisms/vc-app/_internal/vc-app-bar/vc-app-bar.vue +13 -9
  314. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/_internal/vc-app-menu-link.vue +12 -3
  315. package/ui/components/organisms/vc-app/_internal/vc-app-menu/_internal/vc-app-menu-item/vc-app-menu-item.vue +18 -16
  316. package/ui/components/organisms/vc-app/_internal/vc-app-menu/vc-app-menu.vue +8 -2
  317. package/ui/components/organisms/vc-app/index.ts +4 -4
  318. package/ui/components/organisms/vc-app/vc-app-model.ts +55 -17
  319. package/ui/components/organisms/vc-app/vc-app.vue +8 -25
  320. package/ui/components/organisms/vc-blade/_internal/vc-blade-header/vc-blade-header.vue +22 -7
  321. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/_internal/vc-blade-toolbar-button/vc-blade-toolbar-button.vue +19 -13
  322. package/ui/components/organisms/vc-blade/_internal/vc-blade-toolbar/vc-blade-toolbar.vue +13 -11
  323. package/ui/components/organisms/vc-blade/index.ts +5 -5
  324. package/ui/components/organisms/vc-blade/vc-blade-model.ts +30 -11
  325. package/ui/components/organisms/vc-blade/vc-blade.stories.ts +1 -2
  326. package/ui/components/organisms/vc-blade/vc-blade.vue +12 -14
  327. package/ui/components/organisms/vc-dynamic-property/index.ts +2 -4
  328. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property-model.ts +53 -20
  329. package/ui/components/organisms/vc-dynamic-property/vc-dynamic-property.vue +41 -37
  330. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-item/vc-gallery-item.vue +9 -2
  331. package/ui/components/organisms/vc-gallery/_internal/vc-gallery-preview/vc-gallery-preview.vue +14 -9
  332. package/ui/components/organisms/vc-gallery/index.ts +4 -3
  333. package/ui/components/organisms/vc-gallery/vc-gallery-model.ts +72 -27
  334. package/ui/components/organisms/vc-gallery/vc-gallery.vue +7 -20
  335. package/ui/components/organisms/vc-login-form/index.ts +2 -4
  336. package/ui/components/organisms/vc-login-form/vc-login-form-model.ts +10 -5
  337. package/ui/components/organisms/vc-login-form/vc-login-form.vue +2 -4
  338. package/ui/components/organisms/vc-popup/index.ts +5 -5
  339. package/ui/components/organisms/vc-popup/vc-popup-model.ts +20 -7
  340. package/ui/components/organisms/vc-popup/vc-popup.vue +7 -7
  341. package/ui/components/organisms/vc-table/_internal/vc-table-cell/vc-table-cell.vue +19 -25
  342. package/ui/components/organisms/vc-table/_internal/vc-table-counter/vc-table-counter.vue +2 -6
  343. package/ui/components/organisms/vc-table/_internal/vc-table-filter/vc-table-filter.vue +8 -2
  344. package/ui/components/organisms/vc-table/_internal/vc-table-mobile-item/vc-table-mobile-item.vue +27 -39
  345. package/ui/components/organisms/vc-table/index.ts +5 -5
  346. package/ui/components/organisms/vc-table/vc-table-model.ts +98 -38
  347. package/ui/components/organisms/vc-table/vc-table.vue +105 -103
  348. package/ui/types/index.ts +64 -160
  349. package/ui/types/ts-helpers.ts +23 -3
  350. package/ui/utils/index.ts +1 -0
  351. package/ui/utils/types.ts +2 -0
  352. package/core/composables/useLogger/index.ts +0 -24
  353. package/dist/core/composables/useLogger/index.d.ts +0 -5
  354. package/dist/core/composables/useLogger/index.d.ts.map +0 -1
@@ -9,20 +9,31 @@
9
9
  }"
10
10
  >
11
11
  <!-- Select label -->
12
- <VcLabel v-if="label" class="tw-mb-2" :required="required">
12
+ <VcLabel
13
+ v-if="label"
14
+ class="tw-mb-2"
15
+ :required="required"
16
+ >
13
17
  <span>{{ label }}</span>
14
- <template v-if="tooltip" v-slot:tooltip>
18
+ <template
19
+ v-if="tooltip"
20
+ v-slot:tooltip
21
+ >
15
22
  <span v-html="tooltip"></span>
16
23
  </template>
17
24
  </VcLabel>
18
25
 
19
26
  <!-- Select field -->
20
- <div class="tw-flex tw-flex-nowrap tw-items-start" ref="dropdownToggleRef">
27
+ <div
28
+ class="tw-flex tw-flex-nowrap tw-items-start"
29
+ ref="dropdownToggleRef"
30
+ >
21
31
  <div class="tw-flex tw-flex-auto tw-text-left tw-max-w-full">
22
- <slot name="control" :toggleHandler="toggleDropdown">
23
- <div
24
- class="tw-relative tw-flex tw-flex-auto tw-text-left tw-max-w-full"
25
- >
32
+ <slot
33
+ name="control"
34
+ :toggleHandler="toggleDropdown"
35
+ >
36
+ <div class="tw-relative tw-flex tw-flex-auto tw-text-left tw-max-w-full">
26
37
  <div
27
38
  class="tw-flex tw-items-center tw-flex-nowrap tw-pr-3"
28
39
  v-if="$slots['prepend']"
@@ -33,21 +44,15 @@
33
44
  <div
34
45
  class="tw-truncate vc-select__field-wrapper tw-relative tw-box-border tw-border tw-border-solid tw-border-[color:var(--select-border-color)] tw-rounded-[var(--select-border-radius)] tw-bg-[color:var(--select-background-color)] tw-flex tw-flex-col tw-flex-nowrap tw-flex-auto tw-items-stretch"
35
46
  >
36
- <div
37
- class="tw-flex tw-flex-col tw-flex-nowrap tw-flex-auto tw-relative"
38
- >
39
- <div
40
- class="tw-flex tw-flex-nowrap tw-flex-auto tw-h-full tw-px-3"
41
- >
47
+ <div class="tw-flex tw-flex-col tw-flex-nowrap tw-flex-auto tw-relative">
48
+ <div class="tw-flex tw-flex-nowrap tw-flex-auto tw-h-full tw-px-3">
42
49
  <div
43
50
  class="tw-flex tw-items-center tw-flex-nowrap tw-pr-3"
44
51
  v-if="$slots['prepend-inner']"
45
52
  >
46
53
  <slot name="prepend-inner"></slot>
47
54
  </div>
48
- <div
49
- class="tw-flex tw-flex-nowrap tw-flex-auto tw-h-full tw-truncate"
50
- >
55
+ <div class="tw-flex tw-flex-nowrap tw-flex-auto tw-h-full tw-truncate">
51
56
  <div
52
57
  class="tw-flex tw-items-center tw-flex-wrap tw-pr-3 tw-pointer-events-none"
53
58
  v-if="prefix"
@@ -58,14 +63,13 @@
58
63
  class="tw-w-full tw-appearance-none tw-border-none tw-outline-none tw-min-h-[var(--select-height)] tw-flex tw-items-center tw-w-full tw-box-border tw-box-border tw-cursor-pointer invalid:tw-text-[color:var(--select-placeholder-color)] tw-truncate"
59
64
  @click.stop="toggleDropdown"
60
65
  >
61
- <div v-if="!hasValue" class="tw-text-[#a5a5a5]">
66
+ <div
67
+ v-if="!hasValue"
68
+ class="tw-text-[#a5a5a5]"
69
+ >
62
70
  {{ placeholder }}
63
71
  </div>
64
- <template
65
- v-else-if="
66
- selectedScope && selectedScope.length && hasValue
67
- "
68
- >
72
+ <template v-else-if="selectedScope && selectedScope.length && hasValue">
69
73
  <template v-if="$slots['selected-item']">
70
74
  <slot
71
75
  name="selected-item"
@@ -86,9 +90,7 @@
86
90
  <div
87
91
  class="tw-bg-[#fbfdfe] tw-border tw-border-solid tw-border-[color:#bdd1df] tw-rounded-[2px] tw-flex tw-items-center tw-h-[28px] tw-box-border tw-px-2"
88
92
  >
89
- <span>{{
90
- getEmittingOptionValue(item.opt)
91
- }}</span>
93
+ <span>{{ getEmittingOptionValue(item.opt) }}</span>
92
94
  <VcIcon
93
95
  v-if="!disabled"
94
96
  class="tw-text-[#a9bfd2] tw-ml-2 tw-cursor-pointer hover:tw-text-[color:var(--select-clear-color-hover)]"
@@ -117,7 +119,10 @@
117
119
  class="tw-cursor-pointer tw-flex tw-items-center tw-pl-3 tw-text-[color:var(--select-clear-color)] hover:tw-text-[color:var(--select-clear-color-hover)]"
118
120
  @click="onReset"
119
121
  >
120
- <VcIcon size="s" icon="fas fa-times"></VcIcon>
122
+ <VcIcon
123
+ size="s"
124
+ icon="fas fa-times"
125
+ ></VcIcon>
121
126
  </div>
122
127
  </div>
123
128
  <div
@@ -145,16 +150,20 @@
145
150
  class="vc-select__chevron tw-cursor-pointer tw-flex-nowrap tw-text-[color:var(--select-chevron-color)] hover:tw-text-[color:var(--select-chevron-color-hover)]"
146
151
  @click.stop="toggleDropdown"
147
152
  >
148
- <VcIcon size="s" icon="fas fa-chevron-down"></VcIcon>
153
+ <VcIcon
154
+ size="s"
155
+ icon="fas fa-chevron-down"
156
+ ></VcIcon>
149
157
  </div>
150
158
  </div>
151
159
  </div>
152
160
  </div>
153
161
  </div>
154
- <div
155
- class="tw-absolute tw-translate-y-full tw-left-0 tw-right-0 tw-bottom-0 tw-min-h-[20px]"
156
- >
157
- <Transition name="slide-up" mode="out-in">
162
+ <div class="tw-absolute tw-translate-y-full tw-left-0 tw-right-0 tw-bottom-0 tw-min-h-[20px]">
163
+ <Transition
164
+ name="slide-up"
165
+ mode="out-in"
166
+ >
158
167
  <div v-if="error">
159
168
  <slot name="error">
160
169
  <VcHint
@@ -203,7 +212,10 @@
203
212
  @input="onInput"
204
213
  />
205
214
 
206
- <VcContainer :no-padding="true" ref="root">
215
+ <VcContainer
216
+ :no-padding="true"
217
+ ref="root"
218
+ >
207
219
  <div
208
220
  v-if="!(optionsList && optionsList.length)"
209
221
  class="tw-w-full tw-h-full tw-box-border tw-flex tw-flex-col tw-items-center tw-justify-center"
@@ -220,9 +232,16 @@
220
232
  @click="item.toggleOption(item.opt)"
221
233
  :class="{ 'tw-bg-[#eff7fc]': item.selected }"
222
234
  >
223
- <slot name="option" v-bind="item">{{ item.label }}</slot>
235
+ <slot
236
+ name="option"
237
+ v-bind="item"
238
+ >{{ item.label }}</slot
239
+ >
224
240
  </div>
225
- <span ref="el" v-if="hasNextPage"></span>
241
+ <span
242
+ ref="el"
243
+ v-if="hasNextPage"
244
+ ></span>
226
245
  </VcContainer>
227
246
  </div>
228
247
  <!-- </teleport>-->
@@ -235,26 +254,13 @@ import { nextTick, ref, computed, watch, toRefs } from "vue";
235
254
  import { VcIcon, VcLabel, VcContainer } from "./../../../components";
236
255
  import { clickOutside as vClickOutside } from "./../../../../core/directives";
237
256
  import { createPopper, Instance, State } from "@popperjs/core";
238
- import { VcSelectProps, OptionProp } from "./vc-select-model";
257
+ import { selectEmits, selectProps, OptionProp } from "./vc-select-model";
239
258
  import { intersection, isEqual } from "lodash-es";
240
259
  import { useIntersectionObserver } from "@vueuse/core";
241
260
 
242
- const props = withDefaults(defineProps<VcSelectProps>(), {
243
- optionValue: "id",
244
- optionLabel: "title",
245
- debounce: 500,
246
- clearable: true,
247
- name: "Field",
248
- searchable: false,
249
- required: false,
250
- autofocus: true,
251
- emitValue: true,
252
- mapOptions: true,
253
- placeholder: "Click to select...",
254
- options: () => [],
255
- });
261
+ const props = defineProps(selectProps);
256
262
 
257
- const emit = defineEmits(["update:modelValue", "search", "close"]);
263
+ const emit = defineEmits(selectEmits);
258
264
 
259
265
  const { modelValue, options } = toRefs(props);
260
266
 
@@ -312,17 +318,11 @@ watch(
312
318
  const data = await props.options(
313
319
  undefined,
314
320
  undefined,
315
- Array.isArray(props.modelValue)
316
- ? props.modelValue
317
- : [props.modelValue]
318
- );
319
- defaultValue.value = data.results.filter(
320
- (x) => x[props.optionValue as string] === props.modelValue
321
+ Array.isArray(props.modelValue) ? props.modelValue : [props.modelValue]
321
322
  );
323
+ defaultValue.value = data.results.filter((x) => x[props.optionValue as string] === props.modelValue);
322
324
  } else if (props.options && Array.isArray(props.options)) {
323
- defaultValue.value = props.options.filter(
324
- (x) => x[props.optionValue as string] === props.modelValue
325
- );
325
+ defaultValue.value = props.options.filter((x) => x[props.optionValue as string] === props.modelValue);
326
326
  }
327
327
  }
328
328
  }
@@ -361,10 +361,7 @@ async function onLoadMore() {
361
361
  if (props.options && typeof props.options === "function") {
362
362
  try {
363
363
  listLoading.value = true;
364
- const data = await props.options(
365
- filterString.value,
366
- optionsList.value.length
367
- );
364
+ const data = await props.options(filterString.value, optionsList.value.length);
368
365
  optionsList.value.push(...data.results);
369
366
  } finally {
370
367
  listLoading.value = false;
@@ -376,36 +373,26 @@ const hasNextPage = computed(() => {
376
373
  return optionsList.value.length < totalItems.value;
377
374
  });
378
375
 
379
- const getOptionValue = computed(() =>
380
- getPropValueFn(props.optionValue, "value")
381
- );
376
+ const getOptionValue = computed(() => getPropValueFn(props.optionValue, "value"));
382
377
 
383
- const getOptionLabel = computed(() =>
384
- getPropValueFn(props.optionLabel, "label")
385
- );
378
+ const getOptionLabel = computed(() => getPropValueFn(props.optionLabel, "label"));
386
379
 
387
380
  const innerValue = computed((): Record<string, unknown>[] | string[] => {
388
381
  const mapNull = props.mapOptions === true && props.multiple !== true;
389
382
 
390
383
  const val: Record<string, unknown>[] | string[] =
391
- props.modelValue !== undefined &&
392
- (props.modelValue !== null || mapNull === true)
384
+ props.modelValue !== undefined && (props.modelValue !== null || mapNull === true)
393
385
  ? props.multiple === true && Array.isArray(props.modelValue)
394
386
  ? props.modelValue
395
387
  : [props.modelValue]
396
388
  : [];
397
389
 
398
390
  if (props.mapOptions === true && Array.isArray(optionsList.value) === true) {
399
- const cache =
400
- props.mapOptions === true && innerValueCache !== undefined
401
- ? innerValueCache
402
- : [];
391
+ const cache = props.mapOptions === true && innerValueCache !== undefined ? innerValueCache : [];
403
392
 
404
393
  const values = val.map((v) => getOption(v, cache));
405
394
 
406
- return props.modelValue === null && mapNull === true
407
- ? values.filter((v) => v !== null)
408
- : values;
395
+ return props.modelValue === null && mapNull === true ? values.filter((v) => v !== null) : values;
409
396
  }
410
397
 
411
398
  return val;
@@ -431,9 +418,7 @@ const selectedScope = computed(() => {
431
418
 
432
419
  const hasValue = computed(() => fieldValueIsFilled(innerValue.value));
433
420
 
434
- const innerOptionsValue = computed(() =>
435
- innerValue.value.map((opt) => getOptionValue.value(opt))
436
- );
421
+ const innerOptionsValue = computed(() => innerValue.value.map((opt) => getOptionValue.value(opt)));
437
422
 
438
423
  const optionScope = computed(() => {
439
424
  return optionsTemp.value.map((opt, i) => {
@@ -452,21 +437,12 @@ function getPropValueFn(propValue: OptionProp, defaultVal: OptionProp) {
452
437
 
453
438
  return typeof val === "function"
454
439
  ? val
455
- : (opt) =>
456
- opt !== null && typeof opt === "object" && val in opt ? opt[val] : opt;
440
+ : (opt) => (opt !== null && typeof opt === "object" && val in opt ? opt[val] : opt);
457
441
  }
458
442
 
459
- function getOption(
460
- value: Record<string, unknown> | string,
461
- valueCache: Array<Record<string, unknown> | string>
462
- ) {
443
+ function getOption(value: Record<string, unknown> | string, valueCache: Array<Record<string, unknown> | string>) {
463
444
  const fn = (opt) => isEqual(getOptionValue.value(opt), value);
464
- return (
465
- defaultValue.value.find(fn) ||
466
- optionsList.value.find(fn) ||
467
- valueCache.find(fn) ||
468
- value
469
- );
445
+ return defaultValue.value.find(fn) || optionsList.value.find(fn) || valueCache.find(fn) || value;
470
446
  }
471
447
 
472
448
  function fieldValueIsFilled(val: Record<string, unknown>[] | unknown[]) {
@@ -474,9 +450,7 @@ function fieldValueIsFilled(val: Record<string, unknown>[] | unknown[]) {
474
450
  }
475
451
 
476
452
  function getEmittingOptionValue(opt: Record<string, unknown>) {
477
- return props.emitValue === true
478
- ? getOptionLabel.value(opt)
479
- : getOptionValue.value(opt);
453
+ return props.emitValue === true ? getOptionLabel.value(opt) : getOptionValue.value(opt);
480
454
  }
481
455
 
482
456
  function removeAtIndex(index: number) {
@@ -523,78 +497,64 @@ async function toggleDropdown() {
523
497
 
524
498
  await nextTick(() => {
525
499
  searchRef?.value?.focus();
526
- popper.value = createPopper(
527
- dropdownToggleRef.value,
528
- dropdownRef.value,
529
- {
530
- placement: "bottom",
531
- modifiers: [
532
- {
533
- name: "flip",
534
- options: {
535
- fallbackPlacements: ["top", "bottom"],
536
- },
500
+ popper.value = createPopper(dropdownToggleRef.value, dropdownRef.value, {
501
+ placement: "bottom",
502
+ modifiers: [
503
+ {
504
+ name: "flip",
505
+ options: {
506
+ fallbackPlacements: ["top", "bottom"],
507
+ },
508
+ },
509
+ {
510
+ name: "preventOverflow",
511
+ options: {
512
+ mainAxis: false,
537
513
  },
538
- {
539
- name: "preventOverflow",
540
- options: {
541
- mainAxis: false,
542
- },
514
+ },
515
+ {
516
+ name: "sameWidthChangeBorders",
517
+ enabled: true,
518
+ phase: "beforeWrite",
519
+ requires: ["computeStyles"],
520
+ fn: ({ state }: { state: State }) => {
521
+ const placement = state.placement;
522
+ if (placement === "top") {
523
+ state.styles.popper.borderTop = "1px solid var(--select-border-color)";
524
+ state.styles.popper.borderBottom = "1px solid var(--select-background-color)";
525
+ state.styles.popper.borderRadius = "var(--select-border-radius) var(--select-border-radius) 0 0";
526
+ } else {
527
+ state.styles.popper.borderBottom = "1px solid var(--select-border-color)";
528
+ state.styles.popper.borderTop = "1px solid var(--select-background-color)";
529
+ state.styles.popper.borderRadius = "0 0 var(--select-border-radius) var(--select-border-radius)";
530
+ }
531
+ state.styles.popper.width = `${state.rects.reference.width}px`;
543
532
  },
544
- {
545
- name: "sameWidthChangeBorders",
546
- enabled: true,
547
- phase: "beforeWrite",
548
- requires: ["computeStyles"],
549
- fn: ({ state }: { state: State }) => {
550
- const placement = state.placement;
551
- if (placement === "top") {
552
- state.styles.popper.borderTop =
553
- "1px solid var(--select-border-color)";
554
- state.styles.popper.borderBottom =
555
- "1px solid var(--select-background-color)";
556
- state.styles.popper.borderRadius =
557
- "var(--select-border-radius) var(--select-border-radius) 0 0";
558
- } else {
559
- state.styles.popper.borderBottom =
560
- "1px solid var(--select-border-color)";
561
- state.styles.popper.borderTop =
562
- "1px solid var(--select-background-color)";
563
- state.styles.popper.borderRadius =
564
- "0 0 var(--select-border-radius) var(--select-border-radius)";
565
- }
566
- state.styles.popper.width = `${state.rects.reference.width}px`;
567
- },
568
- effect: ({ state }: { state: State }) => {
569
- const ref = state.elements.reference as HTMLElement;
570
- const placement = state.placement;
571
- if (placement === "top") {
572
- state.elements.popper.style.borderTop =
573
- "1px solid var(--select-border-color)";
574
- state.elements.popper.style.borderBottom =
575
- "1px solid var(--select-background-color)";
576
- state.elements.popper.style.borderRadius =
577
- "var(--select-border-radius) var(--select-border-radius) 0 0";
578
- } else {
579
- state.elements.popper.style.borderBottom =
580
- "1px solid var(--select-border-color)";
581
- state.elements.popper.style.borderTop =
582
- "1px solid var(--select-background-color)";
583
- state.elements.popper.style.borderRadius =
584
- "0 0 var(--select-border-radius) var(--select-border-radius)";
585
- }
586
- state.elements.popper.style.width = `${ref.offsetWidth}px`;
587
- },
533
+ effect: ({ state }: { state: State }) => {
534
+ const ref = state.elements.reference as HTMLElement;
535
+ const placement = state.placement;
536
+ if (placement === "top") {
537
+ state.elements.popper.style.borderTop = "1px solid var(--select-border-color)";
538
+ state.elements.popper.style.borderBottom = "1px solid var(--select-background-color)";
539
+ state.elements.popper.style.borderRadius =
540
+ "var(--select-border-radius) var(--select-border-radius) 0 0";
541
+ } else {
542
+ state.elements.popper.style.borderBottom = "1px solid var(--select-border-color)";
543
+ state.elements.popper.style.borderTop = "1px solid var(--select-background-color)";
544
+ state.elements.popper.style.borderRadius =
545
+ "0 0 var(--select-border-radius) var(--select-border-radius)";
546
+ }
547
+ state.elements.popper.style.width = `${ref.offsetWidth}px`;
588
548
  },
589
- {
590
- name: "offset",
591
- options: {
592
- offset: [0, -2],
593
- },
549
+ },
550
+ {
551
+ name: "offset",
552
+ options: {
553
+ offset: [0, -2],
594
554
  },
595
- ],
596
- }
597
- );
555
+ },
556
+ ],
557
+ });
598
558
  });
599
559
  }
600
560
  }
@@ -608,10 +568,7 @@ function toggleOption(opt: { [x: string]: string }) {
608
568
  const optValue = getOptionValue.value(opt);
609
569
 
610
570
  if (props.multiple !== true) {
611
- if (
612
- innerValue.value.length === 0 ||
613
- isEqual(getOptionValue.value(innerValue.value[0]), optValue) !== true
614
- ) {
571
+ if (innerValue.value.length === 0 || isEqual(getOptionValue.value(innerValue.value[0]), optValue) !== true) {
615
572
  emit("update:modelValue", props.emitValue === true ? optValue : opt);
616
573
  isOpened.value = false;
617
574
  }
@@ -652,9 +609,7 @@ async function onSearch(value: string) {
652
609
  }
653
610
  } else {
654
611
  optionsTemp.value = optionsList.value.filter((x) => {
655
- return x[props.optionLabel as string]
656
- .toLowerCase()
657
- .includes(filterString.value.toLowerCase());
612
+ return x[props.optionLabel as string].toLowerCase().includes(filterString.value.toLowerCase());
658
613
  });
659
614
  }
660
615
  }
@@ -1,7 +1,5 @@
1
1
  import { ComponentPublicInstance } from "vue";
2
2
  import { VcSliderProps } from "./vc-slider-model";
3
- import { ComponentConstructor } from "./../../../types/ts-helpers"
3
+ import { ComponentConstructor } from "./../../../types/ts-helpers";
4
4
  import Slider from "./vc-slider.vue";
5
- export const VcSlider: ComponentConstructor<
6
- ComponentPublicInstance<VcSliderProps>
7
- > = Slider;
5
+ export const VcSlider: ComponentConstructor<ComponentPublicInstance<VcSliderProps>> = Slider;
@@ -1,15 +1,34 @@
1
- import {VNode} from "vue";
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { PropType, VNode } from "vue";
3
+ import { ExtractTypes } from "./../../../types/ts-helpers";
2
4
 
3
- export interface VcSliderProps {
4
- slides?: Record<string, unknown>[] | any[]
5
- navigation?: boolean | undefined
6
- overflow?: boolean | undefined
7
- slidesPerView?: string | 'auto' | undefined
8
- spaceBetweenSlides?: number | undefined
9
- }
5
+ export const sliderProps = {
6
+ slides: {
7
+ type: Array as PropType<Record<string, unknown>[] | any[]>,
8
+ default: () => [],
9
+ },
10
+ navigation: {
11
+ type: Boolean,
12
+ default: false,
13
+ },
14
+ overflow: {
15
+ type: Boolean,
16
+ default: false,
17
+ },
18
+ slidesPerView: {
19
+ type: String as PropType<string | "auto">,
20
+ default: "auto",
21
+ },
22
+ spaceBetweenSlides: {
23
+ type: Number,
24
+ default: 10,
25
+ },
26
+ };
27
+
28
+ export type VcSliderProps = ExtractTypes<typeof sliderProps>;
10
29
 
11
30
  export interface VcSliderSlots {
12
- default: (args: {slide: Record<string, unknown> | any}) => VNode[]
13
- prevBtn: () => VNode[]
14
- nextBtn: () => VNode[]
31
+ default: (args: { slide: Record<string, unknown> | any }) => VNode[];
32
+ prevBtn: () => VNode[];
33
+ nextBtn: () => VNode[];
15
34
  }
@@ -48,16 +48,10 @@ import SwiperCore, { Navigation } from "swiper";
48
48
  import "swiper/swiper-bundle.min.css";
49
49
  import "swiper/swiper.min.css";
50
50
  import "swiper/components/navigation/navigation.min.css";
51
- import { VcSliderProps } from "./vc-slider-model";
51
+ import { sliderProps } from "./vc-slider-model";
52
52
  SwiperCore.use([Navigation]);
53
53
 
54
- withDefaults(defineProps<VcSliderProps>(), {
55
- slides: () => [],
56
- navigation: false,
57
- overflow: false,
58
- slidesPerView: "auto",
59
- spaceBetweenSlides: 10,
60
- });
54
+ defineProps(sliderProps);
61
55
 
62
56
  const buttonsList = computed(() => ({
63
57
  nextEl: ".vc-slider__next",
@@ -1,7 +1,8 @@
1
1
  import { ComponentPublicInstance } from "vue";
2
- import { VcTextareaProps } from "./vc-textarea-model";
3
- import { ComponentConstructor } from "./../../../types/ts-helpers"
2
+ import { VcTextareaEmits, VcTextareaProps } from "./vc-textarea-model";
3
+ import { ComponentConstructor } from "./../../../types/ts-helpers";
4
4
  import Textarea from "./vc-textarea.vue";
5
5
  export const VcTextarea: ComponentConstructor<
6
- ComponentPublicInstance<VcTextareaProps>
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ ComponentPublicInstance<VcTextareaProps, any, any, any, any, VcTextareaEmits>
7
8
  > = Textarea;
@@ -1,17 +1,40 @@
1
1
  import { VNode } from "vue";
2
+ import { ExtractTypes } from "./../../../types/ts-helpers";
3
+ import { isString } from "./../../../utils";
2
4
 
3
- export interface VcTextareaProps {
4
- placeholder?: string | undefined;
5
- modelValue: string | undefined;
6
- required?: boolean | undefined;
7
- disabled?: boolean | undefined;
8
- label?: string | undefined;
9
- tooltip?: string | undefined;
10
- name?: string | undefined;
11
- maxchars?: string | undefined;
12
- errorMessage?: string | undefined;
13
- "onUpdate:modelValue"?: (value: string) => void;
14
- }
5
+ export const textareaProps = {
6
+ placeholder: {
7
+ type: String,
8
+ default: "",
9
+ },
10
+ modelValue: String,
11
+ required: {
12
+ type: Boolean,
13
+ default: false,
14
+ },
15
+ disabled: {
16
+ type: Boolean,
17
+ default: false,
18
+ },
19
+ label: String,
20
+ tooltip: String,
21
+ name: {
22
+ type: String,
23
+ default: "Field",
24
+ },
25
+ maxchars: {
26
+ type: String,
27
+ default: "1024",
28
+ },
29
+ errorMessage: String,
30
+ };
31
+
32
+ export const textareaEmits = {
33
+ "update:modelValue": (value: string) => isString(value),
34
+ };
35
+
36
+ export type VcTextareaProps = ExtractTypes<typeof textareaProps>;
37
+ export type VcTextareaEmits = typeof textareaEmits;
15
38
 
16
39
  export interface VcTextareaSlots {
17
40
  error: () => VNode[];
@@ -7,9 +7,16 @@
7
7
  }"
8
8
  >
9
9
  <!-- Textarea label -->
10
- <VcLabel v-if="label" class="tw-mb-2" :required="required">
10
+ <VcLabel
11
+ v-if="label"
12
+ class="tw-mb-2"
13
+ :required="required"
14
+ >
11
15
  <span>{{ label }}</span>
12
- <template v-if="tooltip" v-slot:tooltip>
16
+ <template
17
+ v-if="tooltip"
18
+ v-slot:tooltip
19
+ >
13
20
  <span v-html="tooltip"></span>
14
21
  </template>
15
22
  </VcLabel>
@@ -26,7 +33,10 @@
26
33
  ></textarea>
27
34
  </div>
28
35
 
29
- <slot v-if="errorMessage" name="error">
36
+ <slot
37
+ v-if="errorMessage"
38
+ name="error"
39
+ >
30
40
  <VcHint class="vc-textarea__error">
31
41
  {{ errorMessage }}
32
42
  </VcHint>
@@ -37,17 +47,11 @@
37
47
  <script lang="ts" setup>
38
48
  import { watch } from "vue";
39
49
  import { VcLabel } from "./../../../components";
40
- import { VcTextareaProps } from "./vc-textarea-model";
50
+ import { textareaEmits, textareaProps } from "./vc-textarea-model";
41
51
 
42
- const props = withDefaults(defineProps<VcTextareaProps>(), {
43
- placeholder: "",
44
- required: false,
45
- disabled: false,
46
- name: "Field",
47
- maxchars: "1024",
48
- });
52
+ const props = defineProps(textareaProps);
49
53
 
50
- const emit = defineEmits(["update:modelValue"]);
54
+ const emit = defineEmits(textareaEmits);
51
55
 
52
56
  watch(
53
57
  () => props.modelValue,