@movk/nuxt 1.1.2 → 1.3.0

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 (301) hide show
  1. package/.nuxt/movk-ui.css +3 -0
  2. package/README.md +75 -104
  3. package/dist/module.d.mts +59 -1
  4. package/dist/module.json +2 -2
  5. package/dist/module.mjs +136 -56
  6. package/dist/runtime/components/AutoForm.d.vue.ts +10 -31
  7. package/dist/runtime/components/AutoForm.vue +114 -148
  8. package/dist/runtime/components/AutoForm.vue.d.ts +10 -31
  9. package/dist/runtime/components/ColorChooser.d.vue.ts +20 -17
  10. package/dist/runtime/components/ColorChooser.vue +305 -31
  11. package/dist/runtime/components/ColorChooser.vue.d.ts +20 -17
  12. package/dist/runtime/components/DataTable.d.vue.ts +57 -0
  13. package/dist/runtime/components/DataTable.vue +584 -0
  14. package/dist/runtime/components/DataTable.vue.d.ts +57 -0
  15. package/dist/runtime/components/DatePicker.d.vue.ts +15 -22
  16. package/dist/runtime/components/DatePicker.vue +173 -65
  17. package/dist/runtime/components/DatePicker.vue.d.ts +15 -22
  18. package/dist/runtime/components/MessageBox.d.vue.ts +36 -0
  19. package/dist/runtime/components/MessageBox.vue +113 -0
  20. package/dist/runtime/components/MessageBox.vue.d.ts +36 -0
  21. package/dist/runtime/components/PillGroup.d.vue.ts +33 -0
  22. package/dist/runtime/components/PillGroup.vue +291 -0
  23. package/dist/runtime/components/PillGroup.vue.d.ts +33 -0
  24. package/dist/runtime/components/Popconfirm.d.vue.ts +30 -0
  25. package/dist/runtime/components/Popconfirm.vue +143 -0
  26. package/dist/runtime/components/Popconfirm.vue.d.ts +30 -0
  27. package/dist/runtime/components/SearchForm.d.vue.ts +43 -0
  28. package/dist/runtime/components/SearchForm.vue +274 -0
  29. package/dist/runtime/components/SearchForm.vue.d.ts +43 -0
  30. package/dist/runtime/components/SlideVerify.d.vue.ts +13 -79
  31. package/dist/runtime/components/SlideVerify.vue +117 -90
  32. package/dist/runtime/components/SlideVerify.vue.d.ts +13 -79
  33. package/dist/runtime/components/StarRating.d.vue.ts +25 -82
  34. package/dist/runtime/components/StarRating.vue +128 -99
  35. package/dist/runtime/components/StarRating.vue.d.ts +25 -82
  36. package/dist/runtime/components/input/AsPhoneNumberInput.d.vue.ts +32 -0
  37. package/dist/runtime/components/input/AsPhoneNumberInput.vue +48 -0
  38. package/dist/runtime/components/input/AsPhoneNumberInput.vue.d.ts +32 -0
  39. package/dist/runtime/components/input/WithCharacterLimit.d.vue.ts +13 -7
  40. package/dist/runtime/components/input/WithCharacterLimit.vue +27 -15
  41. package/dist/runtime/components/input/WithCharacterLimit.vue.d.ts +13 -7
  42. package/dist/runtime/components/input/WithClear.d.vue.ts +11 -5
  43. package/dist/runtime/components/input/WithClear.vue +29 -10
  44. package/dist/runtime/components/input/WithClear.vue.d.ts +11 -5
  45. package/dist/runtime/components/input/WithCopy.d.vue.ts +13 -7
  46. package/dist/runtime/components/input/WithCopy.vue +28 -11
  47. package/dist/runtime/components/input/WithCopy.vue.d.ts +13 -7
  48. package/dist/runtime/components/input/WithFloatingLabel.d.vue.ts +33 -0
  49. package/dist/runtime/components/input/WithFloatingLabel.vue +75 -0
  50. package/dist/runtime/components/input/WithFloatingLabel.vue.d.ts +33 -0
  51. package/dist/runtime/components/input/WithPasswordToggle.d.vue.ts +13 -7
  52. package/dist/runtime/components/input/WithPasswordToggle.vue +27 -10
  53. package/dist/runtime/components/input/WithPasswordToggle.vue.d.ts +13 -7
  54. package/dist/runtime/components/theme-picker/ThemePicker.d.vue.ts +8 -1
  55. package/dist/runtime/components/theme-picker/ThemePicker.vue +37 -28
  56. package/dist/runtime/components/theme-picker/ThemePicker.vue.d.ts +8 -1
  57. package/dist/runtime/components/theme-picker/ThemePickerButton.d.vue.ts +5 -6
  58. package/dist/runtime/components/theme-picker/ThemePickerButton.vue +4 -0
  59. package/dist/runtime/components/theme-picker/ThemePickerButton.vue.d.ts +5 -6
  60. package/dist/runtime/composables/index.d.ts +9 -8
  61. package/dist/runtime/composables/index.js +2 -1
  62. package/dist/runtime/composables/useApiFetch.d.ts +23 -15
  63. package/dist/runtime/composables/useApiFetch.js +21 -28
  64. package/dist/runtime/composables/useAutoForm.d.ts +14 -98
  65. package/dist/runtime/composables/useAutoForm.js +55 -161
  66. package/dist/runtime/composables/useClientApiFetch.d.ts +7 -7
  67. package/dist/runtime/composables/useDateFormatter.d.ts +16 -3
  68. package/dist/runtime/composables/useDateFormatter.js +89 -30
  69. package/dist/runtime/composables/useDownloadWithProgress.d.ts +26 -27
  70. package/dist/runtime/composables/useDownloadWithProgress.js +143 -42
  71. package/dist/runtime/composables/useLazyApiFetch.d.ts +19 -0
  72. package/dist/runtime/composables/useLazyApiFetch.js +4 -0
  73. package/dist/runtime/composables/useMessageBox.d.ts +6 -0
  74. package/dist/runtime/composables/useMessageBox.js +16 -0
  75. package/dist/runtime/composables/useTheme.d.ts +21 -8
  76. package/dist/runtime/composables/useTheme.js +109 -86
  77. package/dist/runtime/composables/useUploadWithProgress.d.ts +22 -28
  78. package/dist/runtime/composables/useUploadWithProgress.js +79 -68
  79. package/dist/runtime/domains/api/auth.d.ts +2 -0
  80. package/dist/runtime/domains/api/auth.js +31 -0
  81. package/dist/runtime/domains/api/endpoint-config.d.ts +11 -0
  82. package/dist/runtime/domains/api/endpoint-config.js +17 -0
  83. package/dist/runtime/domains/api/errors.d.ts +2 -0
  84. package/dist/runtime/domains/api/errors.js +10 -0
  85. package/dist/runtime/domains/api/fetch-key.d.ts +20 -0
  86. package/dist/runtime/domains/api/fetch-key.js +23 -0
  87. package/dist/runtime/domains/api/interceptors/error.d.ts +13 -0
  88. package/dist/runtime/domains/api/interceptors/error.js +49 -0
  89. package/dist/runtime/domains/api/interceptors/request.d.ts +12 -0
  90. package/dist/runtime/domains/api/interceptors/request.js +46 -0
  91. package/dist/runtime/domains/api/interceptors/response.d.ts +17 -0
  92. package/dist/runtime/domains/api/interceptors/response.js +27 -0
  93. package/dist/runtime/domains/api/response.d.ts +4 -0
  94. package/dist/runtime/domains/api/response.js +14 -0
  95. package/dist/runtime/domains/api/toast.d.ts +15 -0
  96. package/dist/runtime/domains/api/toast.js +46 -0
  97. package/dist/runtime/domains/api/transfer.d.ts +69 -0
  98. package/dist/runtime/domains/api/transfer.js +81 -0
  99. package/dist/runtime/domains/auto-form/actions.d.ts +2 -0
  100. package/dist/runtime/domains/auto-form/actions.js +4 -0
  101. package/dist/runtime/domains/auto-form/components/Array.d.vue.ts +13 -0
  102. package/dist/runtime/{components/auto-form-renderer/AutoFormRendererArray.vue → domains/auto-form/components/Array.vue} +37 -48
  103. package/dist/runtime/domains/auto-form/components/Array.vue.d.ts +13 -0
  104. package/dist/runtime/domains/auto-form/components/Children.d.vue.ts +11 -0
  105. package/dist/runtime/domains/auto-form/components/Children.vue +50 -0
  106. package/dist/runtime/domains/auto-form/components/Children.vue.d.ts +11 -0
  107. package/dist/runtime/domains/auto-form/components/Field.d.vue.ts +11 -0
  108. package/dist/runtime/domains/auto-form/components/Field.vue +56 -0
  109. package/dist/runtime/domains/auto-form/components/Field.vue.d.ts +11 -0
  110. package/dist/runtime/domains/auto-form/components/Layout.d.vue.ts +11 -0
  111. package/dist/runtime/domains/auto-form/components/Layout.vue +89 -0
  112. package/dist/runtime/domains/auto-form/components/Layout.vue.d.ts +11 -0
  113. package/dist/runtime/domains/auto-form/components/Nested.d.vue.ts +11 -0
  114. package/dist/runtime/domains/auto-form/components/Nested.vue +47 -0
  115. package/dist/runtime/domains/auto-form/components/Nested.vue.d.ts +11 -0
  116. package/dist/runtime/{constants/auto-form.d.ts → domains/auto-form/constants.d.ts} +0 -2
  117. package/dist/runtime/{constants/auto-form.js → domains/auto-form/constants.js} +0 -25
  118. package/dist/runtime/domains/auto-form/controls.d.ts +41 -0
  119. package/dist/runtime/domains/auto-form/controls.js +73 -0
  120. package/dist/runtime/{utils/field-utils.d.ts → domains/auto-form/fields.d.ts} +7 -21
  121. package/dist/runtime/{utils/field-utils.js → domains/auto-form/fields.js} +19 -4
  122. package/dist/runtime/domains/auto-form/metadata.d.ts +22 -0
  123. package/dist/runtime/domains/auto-form/metadata.js +53 -0
  124. package/dist/runtime/domains/auto-form/provider.d.ts +62 -0
  125. package/dist/runtime/{internal/useAutoFormProvider.js → domains/auto-form/provider.js} +6 -3
  126. package/dist/runtime/domains/auto-form/reactive.d.ts +12 -0
  127. package/dist/runtime/{utils/reactive-utils.js → domains/auto-form/reactive.js} +1 -1
  128. package/dist/runtime/domains/auto-form/schema.d.ts +7 -0
  129. package/dist/runtime/{utils/schema-introspector.js → domains/auto-form/schema.js} +12 -10
  130. package/dist/runtime/domains/data-table/columns/constants.d.ts +50 -0
  131. package/dist/runtime/domains/data-table/columns/constants.js +19 -0
  132. package/dist/runtime/domains/data-table/columns/resolve-columns.d.ts +4 -0
  133. package/dist/runtime/domains/data-table/columns/resolve-columns.js +59 -0
  134. package/dist/runtime/domains/data-table/columns/resolve-data-column.d.ts +9 -0
  135. package/dist/runtime/domains/data-table/columns/resolve-data-column.js +164 -0
  136. package/dist/runtime/domains/data-table/columns/resolve-group-column.d.ts +4 -0
  137. package/dist/runtime/domains/data-table/columns/resolve-group-column.js +19 -0
  138. package/dist/runtime/domains/data-table/columns/resolve-special-columns.d.ts +8 -0
  139. package/dist/runtime/domains/data-table/columns/resolve-special-columns.js +232 -0
  140. package/dist/runtime/domains/data-table/columns/style.d.ts +11 -0
  141. package/dist/runtime/domains/data-table/columns/style.js +67 -0
  142. package/dist/runtime/domains/data-table/columns/utils.d.ts +6 -0
  143. package/dist/runtime/domains/data-table/columns/utils.js +16 -0
  144. package/dist/runtime/domains/data-table/components/ActionConfirm.d.vue.ts +10 -0
  145. package/dist/runtime/domains/data-table/components/ActionConfirm.vue +39 -0
  146. package/dist/runtime/domains/data-table/components/ActionConfirm.vue.d.ts +10 -0
  147. package/dist/runtime/domains/data-table/components/ActionsCell.d.vue.ts +11 -0
  148. package/dist/runtime/domains/data-table/components/ActionsCell.vue +91 -0
  149. package/dist/runtime/domains/data-table/components/ActionsCell.vue.d.ts +11 -0
  150. package/dist/runtime/domains/data-table/components/CellTooltip.d.vue.ts +9 -0
  151. package/dist/runtime/domains/data-table/components/CellTooltip.vue +40 -0
  152. package/dist/runtime/domains/data-table/components/CellTooltip.vue.d.ts +9 -0
  153. package/dist/runtime/domains/data-table/components/Pagination.d.vue.ts +26 -0
  154. package/dist/runtime/domains/data-table/components/Pagination.vue +132 -0
  155. package/dist/runtime/domains/data-table/components/Pagination.vue.d.ts +26 -0
  156. package/dist/runtime/domains/data-table/indent.d.ts +8 -0
  157. package/dist/runtime/domains/data-table/indent.js +19 -0
  158. package/dist/runtime/domains/data-table/tree-selection.d.ts +9 -0
  159. package/dist/runtime/domains/data-table/tree-selection.js +76 -0
  160. package/dist/runtime/{utils/theme.d.ts → domains/theme/theme-icons.d.ts} +0 -1
  161. package/dist/runtime/index.css +1 -0
  162. package/dist/runtime/plugins/api.factory.js +28 -171
  163. package/dist/runtime/plugins/theme.js +72 -70
  164. package/dist/runtime/types/api/config.d.ts +127 -0
  165. package/dist/runtime/types/api/fetch.d.ts +50 -0
  166. package/dist/runtime/types/api/index.d.ts +5 -0
  167. package/dist/runtime/types/api/module.d.ts +94 -0
  168. package/dist/runtime/types/api/response.d.ts +62 -0
  169. package/dist/runtime/types/api/transfer.d.ts +32 -0
  170. package/dist/runtime/types/api/transfer.js +0 -0
  171. package/dist/runtime/types/app.config.d.ts +6 -0
  172. package/dist/runtime/types/auto-form/base.d.ts +26 -0
  173. package/dist/runtime/types/auto-form/base.js +0 -0
  174. package/dist/runtime/types/auto-form/component.d.ts +28 -0
  175. package/dist/runtime/types/auto-form/component.js +0 -0
  176. package/dist/runtime/types/auto-form/controls.d.ts +45 -0
  177. package/dist/runtime/types/auto-form/controls.js +0 -0
  178. package/dist/runtime/types/auto-form/fields.d.ts +68 -0
  179. package/dist/runtime/types/auto-form/fields.js +0 -0
  180. package/dist/runtime/types/auto-form/index.d.ts +7 -0
  181. package/dist/runtime/types/auto-form/index.js +0 -0
  182. package/dist/runtime/types/auto-form/search-form.d.ts +84 -0
  183. package/dist/runtime/types/auto-form/search-form.js +0 -0
  184. package/dist/runtime/types/auto-form/slots.d.ts +85 -0
  185. package/dist/runtime/types/auto-form/slots.js +0 -0
  186. package/dist/runtime/types/auto-form/zod-factory.d.ts +127 -0
  187. package/dist/runtime/types/auto-form/zod-factory.js +0 -0
  188. package/dist/runtime/types/components/color-chooser.d.ts +109 -0
  189. package/dist/runtime/types/components/color-chooser.js +0 -0
  190. package/dist/runtime/types/components/date-picker.d.ts +41 -0
  191. package/dist/runtime/types/components/date-picker.js +0 -0
  192. package/dist/runtime/types/components/index.d.ts +8 -0
  193. package/dist/runtime/types/components/index.js +0 -0
  194. package/dist/runtime/types/components/input/as-phone-number-input.d.ts +17 -0
  195. package/dist/runtime/types/components/input/as-phone-number-input.js +0 -0
  196. package/dist/runtime/types/components/input/index.d.ts +6 -0
  197. package/dist/runtime/types/components/input/index.js +0 -0
  198. package/dist/runtime/types/components/input/with-character-limit.d.ts +11 -0
  199. package/dist/runtime/types/components/input/with-character-limit.js +0 -0
  200. package/dist/runtime/types/components/input/with-clear.d.ts +10 -0
  201. package/dist/runtime/types/components/input/with-clear.js +0 -0
  202. package/dist/runtime/types/components/input/with-copy.d.ts +11 -0
  203. package/dist/runtime/types/components/input/with-copy.js +0 -0
  204. package/dist/runtime/types/components/input/with-floating-label.d.ts +12 -0
  205. package/dist/runtime/types/components/input/with-floating-label.js +0 -0
  206. package/dist/runtime/types/components/input/with-password-toggle.d.ts +7 -0
  207. package/dist/runtime/types/components/input/with-password-toggle.js +0 -0
  208. package/dist/runtime/types/components/message-box.d.ts +69 -0
  209. package/dist/runtime/types/components/message-box.js +0 -0
  210. package/dist/runtime/types/components/pill-group.d.ts +103 -0
  211. package/dist/runtime/types/components/pill-group.js +0 -0
  212. package/dist/runtime/types/components/popconfirm.d.ts +74 -0
  213. package/dist/runtime/types/components/popconfirm.js +0 -0
  214. package/dist/runtime/types/components/slide-verify.d.ts +54 -0
  215. package/dist/runtime/types/components/slide-verify.js +0 -0
  216. package/dist/runtime/types/components/star-rating.d.ts +55 -0
  217. package/dist/runtime/types/components/star-rating.js +0 -0
  218. package/dist/runtime/types/data-table/columns.d.ts +236 -0
  219. package/dist/runtime/types/data-table/columns.js +6 -0
  220. package/dist/runtime/types/data-table/component.d.ts +190 -0
  221. package/dist/runtime/types/data-table/component.js +0 -0
  222. package/dist/runtime/types/data-table/contexts.d.ts +44 -0
  223. package/dist/runtime/types/data-table/contexts.js +0 -0
  224. package/dist/runtime/types/data-table/index.d.ts +6 -0
  225. package/dist/runtime/types/data-table/index.js +1 -0
  226. package/dist/runtime/types/data-table/pagination.d.ts +87 -0
  227. package/dist/runtime/types/data-table/pagination.js +0 -0
  228. package/dist/runtime/types/index.d.ts +6 -5
  229. package/dist/runtime/types/index.js +5 -5
  230. package/dist/runtime/types/shared.d.ts +5 -0
  231. package/dist/runtime/types/shared.js +0 -0
  232. package/dist/runtime/types/zod.d.ts +19 -17
  233. package/dist/runtime/utils/extend-theme.d.ts +19 -0
  234. package/dist/runtime/utils/extend-theme.js +44 -0
  235. package/dist/runtime/utils/form-control.d.ts +33 -0
  236. package/dist/runtime/utils/form-control.js +54 -0
  237. package/dist/runtime/utils/meta.d.ts +4 -0
  238. package/dist/runtime/utils/meta.js +14 -0
  239. package/dist/runtime/utils/theme-defaults.d.ts +27 -0
  240. package/dist/runtime/utils/theme-defaults.js +28 -0
  241. package/dist/runtime/utils/tv.d.ts +1 -0
  242. package/dist/runtime/utils/tv.js +4 -0
  243. package/dist/runtime/vue/composables/useSiteConfig.d.ts +13 -0
  244. package/dist/runtime/vue/composables/useSiteConfig.js +11 -0
  245. package/dist/runtime/vue/plugins/theme.d.ts +6 -0
  246. package/dist/runtime/vue/plugins/theme.js +14 -0
  247. package/dist/runtime/vue/stubs/base.d.ts +2 -0
  248. package/dist/runtime/vue/stubs/base.js +2 -0
  249. package/dist/runtime/vue/stubs/inertia.d.ts +2 -0
  250. package/dist/runtime/vue/stubs/inertia.js +2 -0
  251. package/dist/runtime/vue/stubs/movk-extra.d.ts +2 -0
  252. package/dist/runtime/vue/stubs/movk-extra.js +2 -0
  253. package/dist/runtime/vue/stubs/none.d.ts +2 -0
  254. package/dist/runtime/vue/stubs/none.js +2 -0
  255. package/dist/runtime/vue/stubs/vue-router.d.ts +2 -0
  256. package/dist/runtime/vue/stubs/vue-router.js +2 -0
  257. package/dist/shared/nuxt.DfBEyjld.mjs +667 -0
  258. package/dist/types.d.mts +2 -6
  259. package/dist/unplugin.d.mts +28 -0
  260. package/dist/unplugin.mjs +292 -0
  261. package/dist/vite.d.mts +12 -0
  262. package/dist/vite.mjs +20 -0
  263. package/package.json +82 -42
  264. package/vue-plugin.d.ts +5 -0
  265. package/dist/runtime/components/auto-form-renderer/AutoFormRendererArray.d.vue.ts +0 -20
  266. package/dist/runtime/components/auto-form-renderer/AutoFormRendererArray.vue.d.ts +0 -20
  267. package/dist/runtime/components/auto-form-renderer/AutoFormRendererField.d.vue.ts +0 -20
  268. package/dist/runtime/components/auto-form-renderer/AutoFormRendererField.vue +0 -55
  269. package/dist/runtime/components/auto-form-renderer/AutoFormRendererField.vue.d.ts +0 -20
  270. package/dist/runtime/components/auto-form-renderer/AutoFormRendererLayout.d.vue.ts +0 -20
  271. package/dist/runtime/components/auto-form-renderer/AutoFormRendererLayout.vue +0 -125
  272. package/dist/runtime/components/auto-form-renderer/AutoFormRendererLayout.vue.d.ts +0 -20
  273. package/dist/runtime/components/auto-form-renderer/AutoFormRendererNested.d.vue.ts +0 -20
  274. package/dist/runtime/components/auto-form-renderer/AutoFormRendererNested.vue +0 -105
  275. package/dist/runtime/components/auto-form-renderer/AutoFormRendererNested.vue.d.ts +0 -20
  276. package/dist/runtime/composables/useApiAuth.d.ts +0 -47
  277. package/dist/runtime/composables/useApiAuth.js +0 -66
  278. package/dist/runtime/internal/useAutoFormProvider.d.ts +0 -50
  279. package/dist/runtime/schemas/api.d.ts +0 -590
  280. package/dist/runtime/schemas/api.js +0 -228
  281. package/dist/runtime/server/api/_movk/session.post.d.ts +0 -10
  282. package/dist/runtime/server/api/_movk/session.post.js +0 -18
  283. package/dist/runtime/style.css +0 -1
  284. package/dist/runtime/types/api.d.ts +0 -218
  285. package/dist/runtime/types/auth.d.ts +0 -34
  286. package/dist/runtime/types/auto-form-renderer.d.ts +0 -22
  287. package/dist/runtime/types/auto-form.d.ts +0 -548
  288. package/dist/runtime/types/components.d.ts +0 -43
  289. package/dist/runtime/types/module.d.ts +0 -39
  290. package/dist/runtime/utils/api-utils.d.ts +0 -79
  291. package/dist/runtime/utils/api-utils.js +0 -127
  292. package/dist/runtime/utils/auto-form.d.ts +0 -3
  293. package/dist/runtime/utils/auto-form.js +0 -18
  294. package/dist/runtime/utils/reactive-utils.d.ts +0 -30
  295. package/dist/runtime/utils/schema-introspector.d.ts +0 -13
  296. /package/dist/runtime/{utils/theme.js → domains/theme/theme-icons.js} +0 -0
  297. /package/dist/runtime/types/{api.js → api/config.js} +0 -0
  298. /package/dist/runtime/types/{auto-form-renderer.js → api/fetch.js} +0 -0
  299. /package/dist/runtime/types/{auto-form.js → api/index.js} +0 -0
  300. /package/dist/runtime/types/{module.js → api/module.js} +0 -0
  301. /package/dist/runtime/types/{components.js → api/response.js} +0 -0
@@ -0,0 +1,292 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { normalize, basename, dirname, join } from 'pathe';
3
+ import { globSync } from 'tinyglobby';
4
+ import { defu } from 'defu';
5
+ import { createUnplugin } from 'unplugin';
6
+ import { NuxtUIPlugin } from '@nuxt/ui/unplugin';
7
+ import MagicString from 'magic-string';
8
+ import { resolvePathSync } from 'mlly';
9
+ import fs from 'node:fs';
10
+ import path from 'node:path';
11
+ import { g as getTemplates } from './shared/nuxt.DfBEyjld.mjs';
12
+ import { kebabCase } from 'scule';
13
+ import { getDefaultConfig } from '../dist/runtime/utils/theme-defaults.js';
14
+ import { getPackageJsonMetadata } from '../dist/runtime/utils/meta.js';
15
+ import '@nuxt/kit';
16
+
17
+ function resolveRouterMode(options) {
18
+ if (options.ui?.router === false) return "none";
19
+ if (options.ui?.router === "inertia") return "inertia";
20
+ return "vue-router";
21
+ }
22
+ function buildUiOverrideMap(routerMode) {
23
+ const map = /* @__PURE__ */ new Map();
24
+ const overridesLink = resolvePathSync(`@nuxt/ui/runtime/vue/overrides/${routerMode}/Link.vue`, {
25
+ extensions: [".vue"],
26
+ url: import.meta.url
27
+ });
28
+ const componentsIcon = resolvePathSync("@nuxt/ui/runtime/vue/components/Icon.vue", {
29
+ extensions: [".vue"],
30
+ url: import.meta.url
31
+ });
32
+ for (const dir of [dirname(overridesLink), dirname(componentsIcon)]) {
33
+ for (const file of globSync("**/*.vue", { cwd: dir, absolute: true })) {
34
+ const name = basename(file, ".vue");
35
+ if (!map.has(name)) map.set(name, file);
36
+ }
37
+ }
38
+ return map;
39
+ }
40
+ const MOVK_COMPONENTS_VIRTUAL = "virtual:movk-components";
41
+ function MovkEnvironmentPlugin(options) {
42
+ const routerMode = resolveRouterMode(options);
43
+ const stubPath = resolvePathSync(`../runtime/vue/stubs/${routerMode}`, {
44
+ extensions: [".ts", ".mjs", ".js"],
45
+ url: import.meta.url
46
+ });
47
+ const messageBoxPath = resolvePathSync("../runtime/components/MessageBox", {
48
+ extensions: [".vue"],
49
+ url: import.meta.url
50
+ });
51
+ const uiOverrides = buildUiOverrideMap(routerMode);
52
+ return {
53
+ name: "movk:environment",
54
+ enforce: "pre",
55
+ resolveId(id, importer) {
56
+ if (id === "#imports") return stubPath;
57
+ if (id === "#components") return MOVK_COMPONENTS_VIRTUAL;
58
+ if (importer && /^\.{1,2}\/(?:.*\/)?[^/]+\.vue$/.test(id)) {
59
+ const ni = normalize(importer);
60
+ if (ni.includes("/@nuxt/ui/") && ni.includes("/runtime/")) {
61
+ const override = uiOverrides.get(basename(id, ".vue"));
62
+ if (override) return override;
63
+ }
64
+ }
65
+ },
66
+ loadInclude: (id) => id === MOVK_COMPONENTS_VIRTUAL,
67
+ load(id) {
68
+ if (id !== MOVK_COMPONENTS_VIRTUAL) return;
69
+ const iconOverride = uiOverrides.get("Icon");
70
+ const reExports = UI_COMPONENTS.map((name) => {
71
+ const from = name === "UIcon" && iconOverride ? iconOverride : `@nuxt/ui/components/${name.slice(1)}.vue`;
72
+ return `export { default as ${name} } from ${JSON.stringify(from)}`;
73
+ });
74
+ return [
75
+ `import LazyMMessageBoxComponent from ${JSON.stringify(messageBoxPath)}`,
76
+ ...reExports,
77
+ `export const LazyMMessageBox = LazyMMessageBoxComponent`
78
+ ].join("\n");
79
+ },
80
+ transformInclude(id) {
81
+ return normalize(id).includes(runtimeDir);
82
+ },
83
+ transform(code) {
84
+ if (code.includes("import.meta.client")) {
85
+ const s = new MagicString(code);
86
+ s.replaceAll("import.meta.client", "true");
87
+ if (s.hasChanged()) {
88
+ return { code: s.toString(), map: s.generateMap({ hires: true }) };
89
+ }
90
+ }
91
+ }
92
+ };
93
+ }
94
+
95
+ function MovkTemplatePlugin(options) {
96
+ const templates = getTemplates(options).filter((t) => t.write && t.filename);
97
+ const templateKeys = new Set(templates.map((t) => `#build/${t.filename}`));
98
+ async function writeTemplates(root) {
99
+ const map = {};
100
+ const dir = path.join(root, "node_modules", ".movk-ui");
101
+ for (const template of templates) {
102
+ const filePath = path.join(dir, template.filename);
103
+ if (!fs.existsSync(path.dirname(filePath))) {
104
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
105
+ }
106
+ fs.writeFileSync(filePath, await template.getContents({}));
107
+ map[`#build/${template.filename}`] = filePath;
108
+ }
109
+ return map;
110
+ }
111
+ return {
112
+ name: "movk:templates",
113
+ enforce: "pre",
114
+ vite: {
115
+ async config(config) {
116
+ const alias = await writeTemplates(config.root || process.cwd());
117
+ return { resolve: { alias } };
118
+ }
119
+ },
120
+ resolveId(id) {
121
+ if (templateKeys.has(id + ".ts")) {
122
+ return id.replace("#build/", "virtual:movk-templates/") + ".ts";
123
+ }
124
+ },
125
+ loadInclude: (id) => templateKeys.has(id.replace("virtual:movk-templates/", "#build/")),
126
+ load(id) {
127
+ const key = id.replace("virtual:movk-templates/", "#build/");
128
+ return templates.find((t) => `#build/${t.filename}` === key).getContents({});
129
+ }
130
+ };
131
+ }
132
+
133
+ const UI_COLOR_DEFAULTS = {
134
+ primary: "blue",
135
+ secondary: "blue",
136
+ success: "green",
137
+ info: "blue",
138
+ warning: "yellow",
139
+ error: "red",
140
+ neutral: "slate"
141
+ };
142
+ function MovkAppConfigPlugin(options) {
143
+ const movkDefault = JSON.stringify(getDefaultConfig(options.theme));
144
+ const colorDefaults = JSON.stringify(UI_COLOR_DEFAULTS);
145
+ let movkSite = JSON.stringify(options.site ?? {});
146
+ return {
147
+ name: "movk:app-config",
148
+ vite: {
149
+ async configResolved(config) {
150
+ const meta = await getPackageJsonMetadata(config.root);
151
+ movkSite = JSON.stringify(defu(options.site, {
152
+ name: kebabCase(meta.name || "") || "movk",
153
+ description: meta.description
154
+ }));
155
+ }
156
+ },
157
+ transform(code, id) {
158
+ if (!id.includes("nuxt-ui-app-config")) return;
159
+ if (!code.includes("export default")) return;
160
+ const injected = [
161
+ `import { defu as __movkDefu } from 'defu'`,
162
+ code.replace("export default", "const __movkUiAppConfig ="),
163
+ `export default __movkDefu({`,
164
+ ` movk: ${movkDefault},`,
165
+ ` movkSite: ${movkSite},`,
166
+ ` ui: __movkDefu({ colors: ${colorDefaults} }, __movkUiAppConfig.ui || {})`,
167
+ `}, __movkUiAppConfig)`
168
+ ].join("\n");
169
+ return { code: injected, map: null };
170
+ }
171
+ };
172
+ }
173
+
174
+ const MOVK_PLUGINS_VIRTUAL = "virtual:movk-plugins";
175
+ function MovkPluginsPlugin(options) {
176
+ const themePath = resolvePathSync("../runtime/vue/plugins/theme", {
177
+ extensions: [".ts", ".mjs", ".js"],
178
+ url: import.meta.url
179
+ });
180
+ const themeEnabled = options.theme?.enabled !== false;
181
+ return {
182
+ name: "movk:plugins",
183
+ enforce: "pre",
184
+ resolveId(id) {
185
+ if (id === "@movk/nuxt/vue-plugin") return MOVK_PLUGINS_VIRTUAL;
186
+ },
187
+ loadInclude: (id) => id === MOVK_PLUGINS_VIRTUAL,
188
+ load(id) {
189
+ if (id !== MOVK_PLUGINS_VIRTUAL) return;
190
+ return [
191
+ `import nuxtUIPlugin from '@nuxt/ui/vue-plugin'`,
192
+ themeEnabled ? `import movkThemePlugin from ${JSON.stringify(themePath)}` : "",
193
+ `export default {`,
194
+ ` install(app, pluginOptions = {}) {`,
195
+ ` app.use(nuxtUIPlugin, pluginOptions)`,
196
+ themeEnabled ? ` app.use(movkThemePlugin)` : "",
197
+ ` }`,
198
+ `}`
199
+ ].filter(Boolean).join("\n");
200
+ }
201
+ };
202
+ }
203
+
204
+ const runtimeDir = normalize(fileURLToPath(new URL("./runtime", import.meta.url)));
205
+ const UI_COMPONENTS = [
206
+ "UAccordion",
207
+ "UButton",
208
+ "UBadge",
209
+ "UCheckbox",
210
+ "UCollapsible",
211
+ "UForm",
212
+ "UDropdownMenu",
213
+ "UIcon",
214
+ "UInput",
215
+ "UModal",
216
+ "UPagination",
217
+ "USelect",
218
+ "UPopover",
219
+ "UCalendar",
220
+ "UColorPicker",
221
+ "UTable",
222
+ "UFormField",
223
+ "UTooltip",
224
+ "UInputNumber",
225
+ "USwitch",
226
+ "UTextarea",
227
+ "USlider",
228
+ "UPinInput",
229
+ "UInputTags",
230
+ "UFileUpload",
231
+ "USelectMenu",
232
+ "UInputMenu",
233
+ "UCheckboxGroup",
234
+ "URadioGroup",
235
+ "UInputDate",
236
+ "UInputTime",
237
+ "UListbox"
238
+ ];
239
+ const MOVK_COMPOSABLES = {
240
+ useAutoForm: ["useAutoForm", "defineControl", "DEFAULT_CONTROLS", "getAutoFormMetadata"],
241
+ useTheme: ["useTheme"],
242
+ useDateFormatter: ["useDateFormatter", "CalendarDate"],
243
+ useMessageBox: ["useMessageBox"]
244
+ };
245
+ function createMovkComponentSource(cwd, prefix, ignore = []) {
246
+ const files = globSync("**/*.vue", { cwd, ignore: ignore.filter(Boolean) });
247
+ const paths = new Map(files.map((c) => {
248
+ const componentName = `${prefix}${c.split("/").pop()?.replace(/\.vue$/, "")}`;
249
+ return [componentName, c];
250
+ }));
251
+ return {
252
+ resolve: (componentName) => {
253
+ const relativePath = paths.get(componentName);
254
+ if (!relativePath) return;
255
+ return { name: "default", from: join(cwd, relativePath) };
256
+ }
257
+ };
258
+ }
259
+ const MovkPlugin = createUnplugin((_options = {}, meta) => {
260
+ const options = defu(_options, { prefix: "M", theme: { enabled: true } });
261
+ const componentIgnore = options.theme?.enabled === false ? ["theme-picker/**"] : [];
262
+ const movkComponents = createMovkComponentSource(join(runtimeDir, "components"), options.prefix, componentIgnore);
263
+ const ui = options.ui || {};
264
+ const uiOptions = defu(
265
+ {
266
+ prefix: "U",
267
+ // movk 强制 U 前缀(U* shim 依赖),不可被 ui.prefix 覆盖
268
+ // 把 movk 非服务端 composables 注入 @nuxt/ui 的 unplugin-auto-import 单实例(避免第二实例)
269
+ autoImport: ui.autoImport === false ? false : defu(ui.autoImport, {
270
+ // 对齐 Nuxt:允许在 <template> 内使用自动导入(如复用页里 :data="makePeople(30)")
271
+ vueTemplate: true,
272
+ imports: Object.entries(MOVK_COMPOSABLES).map(([from, names]) => ({
273
+ from: join(runtimeDir, "composables", from),
274
+ imports: [...names]
275
+ }))
276
+ }),
277
+ // movk 组件解析器注入 @nuxt/ui 的 unplugin-vue-components(defu 数组拼接),避免第二个实例触发重复检测
278
+ components: ui.components === false ? false : defu(ui.components, { resolvers: [(name) => movkComponents.resolve(name)] })
279
+ },
280
+ ui
281
+ );
282
+ const uiPlugins = NuxtUIPlugin.raw(uiOptions, meta);
283
+ return [
284
+ MovkEnvironmentPlugin(options),
285
+ MovkAppConfigPlugin(options),
286
+ ...Array.isArray(uiPlugins) ? uiPlugins : [uiPlugins],
287
+ MovkTemplatePlugin(options),
288
+ MovkPluginsPlugin(options)
289
+ ].flat(1);
290
+ });
291
+
292
+ export { MovkPlugin, UI_COMPONENTS, runtimeDir };
@@ -0,0 +1,12 @@
1
+ import * as unplugin from 'unplugin';
2
+ import { MovkUIOptions } from './unplugin.mjs';
3
+ import '@nuxt/ui/unplugin';
4
+ import './module.mjs';
5
+ import '@nuxt/schema';
6
+ import '../dist/runtime/types/api/module.js';
7
+ import '@nuxt/ui';
8
+ import '../dist/runtime/types/index.js';
9
+
10
+ declare const _default: (options?: MovkUIOptions | undefined) => unplugin.VitePlugin<any> | unplugin.VitePlugin<any>[];
11
+
12
+ export { MovkUIOptions, _default as default };
package/dist/vite.mjs ADDED
@@ -0,0 +1,20 @@
1
+ import { MovkPlugin } from './unplugin.mjs';
2
+ import 'node:url';
3
+ import 'pathe';
4
+ import 'tinyglobby';
5
+ import 'defu';
6
+ import 'unplugin';
7
+ import '@nuxt/ui/unplugin';
8
+ import 'magic-string';
9
+ import 'mlly';
10
+ import 'node:fs';
11
+ import 'node:path';
12
+ import './shared/nuxt.DfBEyjld.mjs';
13
+ import 'scule';
14
+ import '@nuxt/kit';
15
+ import '../dist/runtime/utils/theme-defaults.js';
16
+ import '../dist/runtime/utils/meta.js';
17
+
18
+ const vite = MovkPlugin.vite;
19
+
20
+ export { vite as default };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@movk/nuxt",
3
3
  "type": "module",
4
- "version": "1.1.2",
5
- "packageManager": "pnpm@10.28.0",
6
- "description": "Modular engineering suite for Nuxt 4 with schema-driven forms, API integration, UI components and composables",
4
+ "version": "1.3.0",
5
+ "packageManager": "pnpm@11.5.2",
6
+ "description": "An engineering suite built on Nuxt UI: schema-driven AutoForm (Zod v4), a full-featured DataTable, standalone UI components and composables. Get the full capabilities — including API integration with auth & progress — in Nuxt 4, and use its UI, forms, tables and theming in plain Vue + Vite via the Vite plugin.",
7
7
  "author": "YiXuan <mhaibaraai@gmail.com>",
8
8
  "license": "MIT",
9
9
  "repository": {
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "homepage": "https://nuxt.mhaibaraai.cn",
14
14
  "engines": {
15
- "node": "^22.x || ^24.x"
15
+ "node": "^20.19.0 || >=22.12.0"
16
16
  },
17
17
  "bugs": {
18
18
  "url": "https://github.com/mhaibaraai/movk-nuxt/issues"
@@ -26,20 +26,35 @@
26
26
  "auto-form",
27
27
  "schema-driven",
28
28
  "validation",
29
+ "data-table",
30
+ "table",
29
31
  "api",
30
32
  "fetch",
31
33
  "auth",
32
34
  "upload",
33
35
  "download",
36
+ "theme",
37
+ "message-box",
34
38
  "composables",
35
39
  "ui-components"
36
40
  ],
37
41
  "exports": {
38
42
  ".": {
39
43
  "types": "./dist/module.d.mts",
40
- "style": "./dist/runtime/style.css",
44
+ "style": "./dist/runtime/index.css",
41
45
  "import": "./dist/module.mjs"
42
46
  },
47
+ "./vite": {
48
+ "types": "./dist/vite.d.mts",
49
+ "import": "./dist/vite.mjs"
50
+ },
51
+ "./unplugin": {
52
+ "types": "./dist/unplugin.d.mts",
53
+ "import": "./dist/unplugin.mjs"
54
+ },
55
+ "./vue-plugin": {
56
+ "types": "./vue-plugin.d.ts"
57
+ },
43
58
  "./runtime/*": "./dist/runtime/*",
44
59
  "./components/*": "./dist/runtime/components/*",
45
60
  "./composables": {
@@ -49,7 +64,9 @@
49
64
  "./composables/*": {
50
65
  "types": "./dist/runtime/composables/*.d.ts",
51
66
  "import": "./dist/runtime/composables/*.js"
52
- }
67
+ },
68
+ "./utils/*": "./dist/runtime/utils/*",
69
+ "./plugins/*": "./dist/runtime/plugins/*"
53
70
  },
54
71
  "typesVersions": {
55
72
  "*": {
@@ -67,66 +84,89 @@
67
84
  ],
68
85
  "composables/*": [
69
86
  "./dist/runtime/composables/*.d.ts"
87
+ ],
88
+ "utils/*": [
89
+ "./dist/runtime/utils/*.d.ts"
90
+ ],
91
+ "plugins/*": [
92
+ "./dist/runtime/plugins/*.d.ts"
70
93
  ]
71
94
  }
72
95
  },
73
96
  "style": "./dist/runtime/index.css",
74
97
  "main": "./dist/module.mjs",
75
98
  "files": [
76
- "dist"
99
+ ".nuxt/movk-ui.css",
100
+ "dist",
101
+ "vue-plugin.d.ts"
77
102
  ],
78
103
  "peerDependencies": {
79
- "@nuxt/ui": ">=4.3.0",
80
- "zod": ">=4.3.5"
104
+ "@nuxt/ui": ">=4.6.0",
105
+ "zod": ">=4.3.6"
81
106
  },
82
107
  "scripts": {
83
108
  "prepack": "pnpm build",
84
109
  "build": "nuxt-module-build build",
85
- "dev": "nuxt dev playground",
86
- "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxt prepare playground && nuxt prepare docs",
87
- "dev:build": "nuxt build playground",
88
- "docs": "nuxt dev docs",
110
+ "dev": "cross-env TMPDIR=/tmp nuxt dev playgrounds/play --uiDev",
111
+ "dev:build": "nuxt build playgrounds/play",
112
+ "dev:vue": "pnpm --filter './playgrounds/vue' dev",
113
+ "dev:vue:build": "pnpm --filter './playgrounds/vue' build",
114
+ "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxt prepare playgrounds/play && nuxt prepare docs && pnpm dev:vue:build",
115
+ "docs": "cross-env TMPDIR=/tmp nuxt dev docs --uiDev",
89
116
  "docs:build": "nuxt build docs",
90
117
  "release": "release-it && npm publish",
91
118
  "lint": "eslint .",
92
119
  "lint:fix": "eslint . --fix",
93
- "typecheck": "vue-tsc --noEmit && nuxt typecheck playground && nuxt typecheck docs",
120
+ "typecheck": "vue-tsc --noEmit && nuxt typecheck playgrounds/play && nuxt typecheck docs && cd playgrounds/vue && vue-tsc --noEmit",
94
121
  "clean": "movk-clean",
95
- "test": "vitest"
122
+ "test": "vitest",
123
+ "test:vue": "vitest --project vue"
96
124
  },
97
125
  "dependencies": {
98
- "@iconify-json/lucide": "^1.2.86",
126
+ "@iconify-json/lucide": "^1.2.111",
99
127
  "@iconify-json/ph": "^1.2.2",
100
- "@iconify-json/tabler": "^1.2.26",
101
- "@internationalized/date": "^3.10.1",
102
- "@movk/core": "^1.1.0",
128
+ "@iconify-json/tabler": "^1.2.35",
129
+ "@internationalized/date": "^3.12.2",
130
+ "@movk/core": "^1.3.0",
103
131
  "@nuxt/image": "^2.0.0",
104
- "@nuxt/ui": "^4.3.0",
105
- "@vueuse/core": "^14.1.0",
106
- "@vueuse/nuxt": "^14.1.0",
107
- "defu": "^6.1.4",
108
- "motion-v": "^1.9.0",
109
- "nuxt-auth-utils": "^0.5.27",
110
- "nuxt-og-image": "^5.1.13",
132
+ "@nuxt/ui": "^4.8.2",
133
+ "@tanstack/vue-table": "^8.21.3",
134
+ "@vueuse/core": "^14.3.0",
135
+ "@vueuse/nuxt": "^14.3.0",
136
+ "colortranslator": "^6.1.1",
137
+ "defu": "^6.1.7",
138
+ "magic-string": "^0.30.21",
139
+ "maska": "^3.2.0",
140
+ "mlly": "^1.8.2",
141
+ "nuxt-auth-utils": "^0.5.29",
142
+ "nuxt-site-config": "^4.0.8",
143
+ "pathe": "^2.0.3",
144
+ "reka-ui": "^2.9.9",
111
145
  "scule": "^1.3.0",
112
- "tailwindcss": "^4.1.18",
113
- "zod": "^4.3.5"
146
+ "tailwind-variants": "^3.2.2",
147
+ "tailwindcss": "^4.3.0",
148
+ "tinyglobby": "^0.2.17",
149
+ "unifont": "^0.7.4",
150
+ "unplugin": "^3.0.0",
151
+ "zod": "^4.4.3"
114
152
  },
115
153
  "devDependencies": {
116
- "@nuxt/devtools": "^3.1.1",
117
- "@nuxt/eslint": "^1.12.1",
118
- "@nuxt/kit": "^4.2.2",
154
+ "@nuxt/eslint-config": "^1.15.2",
155
+ "@nuxt/kit": "^4.4.7",
119
156
  "@nuxt/module-builder": "^1.0.2",
120
- "@nuxt/schema": "^4.2.2",
121
- "@nuxt/test-utils": "^3.23.0",
122
- "@release-it/bumper": "^7.0.5",
123
- "@release-it/conventional-changelog": "^10.0.4",
124
- "@vitest/coverage-v8": "^4.0.17",
125
- "eslint": "9.39.2",
126
- "jsdom": "^27.4.0",
127
- "nuxt": "^4.2.2",
128
- "typescript": "^5.9.3",
129
- "vitest": "^4.0.17",
130
- "vue-tsc": "^3.2.2"
157
+ "@nuxt/schema": "^4.4.7",
158
+ "@release-it/bumper": "^7.0.6",
159
+ "@release-it/conventional-changelog": "^11.0.1",
160
+ "cross-env": "^10.1.0",
161
+ "eslint": "^10.4.1",
162
+ "happy-dom": "^20.10.1",
163
+ "nuxt": "^4.4.7",
164
+ "typescript": "^6.0.3",
165
+ "unbuild": "^3.6.1",
166
+ "unplugin-auto-import": "^21.0.0",
167
+ "unplugin-vue-components": "^32.1.0",
168
+ "vitest": "^4.1.8",
169
+ "vue": "^3.5.35",
170
+ "vue-tsc": "^3.3.3"
131
171
  }
132
172
  }
@@ -0,0 +1,5 @@
1
+ import type { Plugin } from 'vue'
2
+
3
+ declare const plugin: Plugin
4
+
5
+ export default plugin
@@ -1,20 +0,0 @@
1
- import type { z } from 'zod/v4';
2
- import type { AutoFormRendererArrayProps } from '../../types/auto-form-renderer.js';
3
- declare const __VLS_export: <S extends z.ZodObject>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
- props: import("vue").PublicProps & __VLS_PrettifyLocal<AutoFormRendererArrayProps<S>> & (typeof globalThis extends {
5
- __VLS_PROPS_FALLBACK: infer P;
6
- } ? P : {});
7
- expose: (exposed: {}) => void;
8
- attrs: any;
9
- slots: {};
10
- emit: {};
11
- }>) => import("vue").VNode & {
12
- __ctx?: Awaited<typeof __VLS_setup>;
13
- };
14
- declare const _default: typeof __VLS_export;
15
- export default _default;
16
- type __VLS_PrettifyLocal<T> = (T extends any ? {
17
- [K in keyof T]: T[K];
18
- } : {
19
- [K in keyof T as K]: T[K];
20
- }) & {};
@@ -1,20 +0,0 @@
1
- import type { z } from 'zod/v4';
2
- import type { AutoFormRendererArrayProps } from '../../types/auto-form-renderer.js';
3
- declare const __VLS_export: <S extends z.ZodObject>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
- props: import("vue").PublicProps & __VLS_PrettifyLocal<AutoFormRendererArrayProps<S>> & (typeof globalThis extends {
5
- __VLS_PROPS_FALLBACK: infer P;
6
- } ? P : {});
7
- expose: (exposed: {}) => void;
8
- attrs: any;
9
- slots: {};
10
- emit: {};
11
- }>) => import("vue").VNode & {
12
- __ctx?: Awaited<typeof __VLS_setup>;
13
- };
14
- declare const _default: typeof __VLS_export;
15
- export default _default;
16
- type __VLS_PrettifyLocal<T> = (T extends any ? {
17
- [K in keyof T]: T[K];
18
- } : {
19
- [K in keyof T as K]: T[K];
20
- }) & {};
@@ -1,20 +0,0 @@
1
- import type { z } from 'zod/v4';
2
- import type { AutoFormFieldProps } from '../../types/auto-form-renderer.js';
3
- declare const __VLS_export: <S extends z.ZodObject>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
- props: import("vue").PublicProps & __VLS_PrettifyLocal<AutoFormFieldProps<S>> & (typeof globalThis extends {
5
- __VLS_PROPS_FALLBACK: infer P;
6
- } ? P : {});
7
- expose: (exposed: {}) => void;
8
- attrs: any;
9
- slots: {};
10
- emit: {};
11
- }>) => import("vue").VNode & {
12
- __ctx?: Awaited<typeof __VLS_setup>;
13
- };
14
- declare const _default: typeof __VLS_export;
15
- export default _default;
16
- type __VLS_PrettifyLocal<T> = (T extends any ? {
17
- [K in keyof T]: T[K];
18
- } : {
19
- [K in keyof T as K]: T[K];
20
- }) & {};
@@ -1,55 +0,0 @@
1
- <script setup>
2
- import { UFormField } from "#components";
3
- import { computed } from "vue";
4
- import { useAutoFormInjector } from "../../internal/useAutoFormProvider";
5
- import { VNodeRender } from "../../utils/auto-form";
6
- const { field, extraProps } = defineProps({
7
- field: { type: Object, required: true },
8
- extraProps: { type: Object, required: false },
9
- schema: { type: null, required: false }
10
- });
11
- const {
12
- resolveFieldProp,
13
- renderControl,
14
- createSlotResolver,
15
- createFormFieldSlots,
16
- createSlotProps
17
- } = useAutoFormInjector();
18
- const slotResolver = computed(() => createSlotResolver(field, extraProps));
19
- const fieldProps = computed(() => ({
20
- hidden: resolveFieldProp(field, "hidden", void 0, extraProps),
21
- as: resolveFieldProp(field, "as", void 0, extraProps),
22
- name: resolveFieldProp(field, "name", field.path, extraProps),
23
- errorPattern: resolveFieldProp(field, "errorPattern", void 0, extraProps),
24
- label: resolveFieldProp(field, "label", void 0, extraProps),
25
- description: resolveFieldProp(field, "description", void 0, extraProps),
26
- help: resolveFieldProp(field, "help", void 0, extraProps),
27
- error: resolveFieldProp(field, "error", void 0, extraProps),
28
- hint: resolveFieldProp(field, "hint", void 0, extraProps),
29
- size: resolveFieldProp(field, "size", void 0, extraProps),
30
- required: resolveFieldProp(field, "required", void 0, extraProps),
31
- eagerValidation: resolveFieldProp(field, "eagerValidation", void 0, extraProps),
32
- validateOnInputDelay: resolveFieldProp(field, "validateOnInputDelay", void 0, extraProps),
33
- class: resolveFieldProp(field, "class", void 0, extraProps),
34
- ui: resolveFieldProp(field, "ui", void 0, extraProps)
35
- }));
36
- const formFieldSlots = computed(() => createFormFieldSlots(field, slotResolver.value, extraProps));
37
- const renderedControl = computed(() => renderControl(field, extraProps));
38
- const defaultSlotProps = computed(() => createSlotProps(field, extraProps));
39
- </script>
40
-
41
- <template>
42
- <UFormField v-show="!fieldProps.hidden" v-bind="fieldProps">
43
- <template v-for="(slotComponent, slotName) in formFieldSlots" :key="slotName" #[slotName]="slotData">
44
- <VNodeRender :node="slotComponent(slotData)" />
45
- </template>
46
-
47
- <template #default="{ error }">
48
- <VNodeRender
49
- v-if="slotResolver.hasSlot('default')"
50
- :node="slotResolver.renderSlot('default', { ...defaultSlotProps, error })"
51
- />
52
- <VNodeRender v-else :node="renderedControl" />
53
- </template>
54
- </UFormField>
55
- </template>
@@ -1,20 +0,0 @@
1
- import type { z } from 'zod/v4';
2
- import type { AutoFormFieldProps } from '../../types/auto-form-renderer.js';
3
- declare const __VLS_export: <S extends z.ZodObject>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
- props: import("vue").PublicProps & __VLS_PrettifyLocal<AutoFormFieldProps<S>> & (typeof globalThis extends {
5
- __VLS_PROPS_FALLBACK: infer P;
6
- } ? P : {});
7
- expose: (exposed: {}) => void;
8
- attrs: any;
9
- slots: {};
10
- emit: {};
11
- }>) => import("vue").VNode & {
12
- __ctx?: Awaited<typeof __VLS_setup>;
13
- };
14
- declare const _default: typeof __VLS_export;
15
- export default _default;
16
- type __VLS_PrettifyLocal<T> = (T extends any ? {
17
- [K in keyof T]: T[K];
18
- } : {
19
- [K in keyof T as K]: T[K];
20
- }) & {};