@groupteknology/vuno 2.0.0 → 3.0.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 (381) hide show
  1. package/README.md +193 -175
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +7 -1
  4. package/dist/runtime/app/assets/css/dialog.css +1 -1
  5. package/dist/runtime/app/assets/css/main.css +1 -1
  6. package/dist/runtime/app/assets/css/theme.css +1 -1
  7. package/dist/runtime/app/assets/css/tokens.css +1 -1
  8. package/dist/runtime/app/components/Alert/Alert.d.vue.ts +2 -2
  9. package/dist/runtime/app/components/Alert/Alert.theme.d.ts +7 -6
  10. package/dist/runtime/app/components/Alert/Alert.theme.js +7 -6
  11. package/dist/runtime/app/components/Alert/Alert.types.d.ts +10 -0
  12. package/dist/runtime/app/components/Alert/Alert.vue +17 -8
  13. package/dist/runtime/app/components/Alert/Alert.vue.d.ts +2 -2
  14. package/dist/runtime/app/components/App/App.d.vue.ts +3 -19
  15. package/dist/runtime/app/components/App/App.types.d.ts +4 -0
  16. package/dist/runtime/app/components/App/App.vue +48 -29
  17. package/dist/runtime/app/components/App/App.vue.d.ts +3 -19
  18. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue +2 -3
  19. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.d.ts +5 -5
  20. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.js +7 -9
  21. package/dist/runtime/app/components/App/internal/Toast/Toast.vue +27 -36
  22. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.d.ts +3 -3
  23. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.js +3 -3
  24. package/dist/runtime/app/components/Avatar/Avatar.d.vue.ts +5 -22
  25. package/dist/runtime/app/components/Avatar/Avatar.types.d.ts +10 -0
  26. package/dist/runtime/app/components/Avatar/Avatar.types.js +0 -0
  27. package/dist/runtime/app/components/Avatar/Avatar.vue.d.ts +5 -22
  28. package/dist/runtime/app/components/Badge/Badge.d.vue.ts +7 -26
  29. package/dist/runtime/app/components/Badge/Badge.types.d.ts +12 -0
  30. package/dist/runtime/app/components/Badge/Badge.types.js +0 -0
  31. package/dist/runtime/app/components/Badge/Badge.vue.d.ts +7 -26
  32. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.d.vue.ts +7 -0
  33. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.theme.d.ts +15 -0
  34. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.theme.js +16 -0
  35. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.types.d.ts +7 -0
  36. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.types.js +0 -0
  37. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.vue +109 -0
  38. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.vue.d.ts +7 -0
  39. package/dist/runtime/app/components/Button/Button.d.vue.ts +11 -31
  40. package/dist/runtime/app/components/Button/Button.theme.d.ts +36 -22
  41. package/dist/runtime/app/components/Button/Button.theme.js +28 -20
  42. package/dist/runtime/app/components/Button/Button.types.d.ts +24 -0
  43. package/dist/runtime/app/components/Button/Button.types.js +0 -0
  44. package/dist/runtime/app/components/Button/Button.vue +84 -33
  45. package/dist/runtime/app/components/Button/Button.vue.d.ts +11 -31
  46. package/dist/runtime/app/components/Card/Card.d.vue.ts +7 -69
  47. package/dist/runtime/app/components/Card/Card.theme.d.ts +56 -13
  48. package/dist/runtime/app/components/Card/Card.theme.js +39 -19
  49. package/dist/runtime/app/components/Card/Card.types.d.ts +12 -0
  50. package/dist/runtime/app/components/Card/Card.types.js +0 -0
  51. package/dist/runtime/app/components/Card/Card.vue +17 -11
  52. package/dist/runtime/app/components/Card/Card.vue.d.ts +7 -69
  53. package/dist/runtime/app/components/Code/Code.d.vue.ts +3 -13
  54. package/dist/runtime/app/components/Code/Code.theme.d.ts +1 -1
  55. package/dist/runtime/app/components/Code/Code.theme.js +1 -1
  56. package/dist/runtime/app/components/Code/Code.types.d.ts +8 -0
  57. package/dist/runtime/app/components/Code/Code.types.js +0 -0
  58. package/dist/runtime/app/components/Code/Code.vue +12 -5
  59. package/dist/runtime/app/components/Code/Code.vue.d.ts +3 -13
  60. package/dist/runtime/app/components/Collapsible/Collapsible.d.vue.ts +31 -0
  61. package/dist/runtime/app/components/Collapsible/Collapsible.theme.d.ts +6 -0
  62. package/dist/runtime/app/components/Collapsible/Collapsible.theme.js +7 -0
  63. package/dist/runtime/app/components/Collapsible/Collapsible.types.d.ts +4 -0
  64. package/dist/runtime/app/components/Collapsible/Collapsible.types.js +0 -0
  65. package/dist/runtime/app/components/Collapsible/Collapsible.vue +72 -0
  66. package/dist/runtime/app/components/Collapsible/Collapsible.vue.d.ts +31 -0
  67. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.d.vue.ts +12 -0
  68. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.types.d.ts +13 -0
  69. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.types.js +0 -0
  70. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.vue +55 -0
  71. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.vue.d.ts +12 -0
  72. package/dist/runtime/app/components/Confirm/Confirm.d.vue.ts +2 -6
  73. package/dist/runtime/app/components/Confirm/Confirm.types.d.ts +6 -0
  74. package/dist/runtime/app/components/Confirm/Confirm.types.js +0 -0
  75. package/dist/runtime/app/components/Confirm/Confirm.vue.d.ts +2 -6
  76. package/dist/runtime/app/components/Container/Container.d.vue.ts +4 -28
  77. package/dist/runtime/app/components/Container/Container.types.d.ts +9 -0
  78. package/dist/runtime/app/components/Container/Container.types.js +0 -0
  79. package/dist/runtime/app/components/Container/Container.vue +1 -1
  80. package/dist/runtime/app/components/Container/Container.vue.d.ts +4 -28
  81. package/dist/runtime/app/components/ControlGroup/ControlGroup.d.vue.ts +5 -14
  82. package/dist/runtime/app/components/ControlGroup/ControlGroup.types.d.ts +9 -0
  83. package/dist/runtime/app/components/ControlGroup/ControlGroup.types.js +0 -0
  84. package/dist/runtime/app/components/ControlGroup/ControlGroup.vue.d.ts +5 -14
  85. package/dist/runtime/app/components/DataTable/DataTable.d.vue.ts +64 -0
  86. package/dist/runtime/app/components/DataTable/DataTable.theme.d.ts +17 -0
  87. package/dist/runtime/app/components/DataTable/DataTable.theme.js +19 -0
  88. package/dist/runtime/app/components/DataTable/DataTable.types.d.ts +13 -0
  89. package/dist/runtime/app/components/DataTable/DataTable.types.js +0 -0
  90. package/dist/runtime/app/components/DataTable/DataTable.vue +356 -0
  91. package/dist/runtime/app/components/DataTable/DataTable.vue.d.ts +64 -0
  92. package/dist/runtime/app/components/{Table/internal/useVunoTable.d.ts → DataTable/internal/useVunoDataTable.d.ts} +6 -29
  93. package/dist/runtime/app/components/{Table/internal/useVunoTable.js → DataTable/internal/useVunoDataTable.js} +2 -29
  94. package/dist/runtime/app/components/FieldArray/FieldArray.d.vue.ts +2 -2
  95. package/dist/runtime/app/components/FieldArray/FieldArray.types.d.ts +2 -0
  96. package/dist/runtime/app/components/FieldArray/FieldArray.types.js +0 -0
  97. package/dist/runtime/app/components/FieldArray/FieldArray.vue +12 -5
  98. package/dist/runtime/app/components/FieldArray/FieldArray.vue.d.ts +2 -2
  99. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.d.vue.ts +2 -2
  100. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.types.d.ts +2 -0
  101. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.types.js +0 -0
  102. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue +1 -1
  103. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue.d.ts +2 -2
  104. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.d.vue.ts +4 -3
  105. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.vue.d.ts +4 -3
  106. package/dist/runtime/app/components/FieldColor/FieldColor.d.vue.ts +2 -2
  107. package/dist/runtime/app/components/FieldColor/FieldColor.types.d.ts +2 -0
  108. package/dist/runtime/app/components/FieldColor/FieldColor.types.js +0 -0
  109. package/dist/runtime/app/components/FieldColor/FieldColor.vue +3 -3
  110. package/dist/runtime/app/components/FieldColor/FieldColor.vue.d.ts +2 -2
  111. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.d.vue.ts +2 -2
  112. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.types.d.ts +2 -0
  113. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.types.js +0 -0
  114. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue +3 -3
  115. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue.d.ts +2 -2
  116. package/dist/runtime/app/components/FieldFile/FieldFile.d.vue.ts +2 -2
  117. package/dist/runtime/app/components/FieldFile/FieldFile.types.d.ts +2 -0
  118. package/dist/runtime/app/components/FieldFile/FieldFile.types.js +0 -0
  119. package/dist/runtime/app/components/FieldFile/FieldFile.vue +1 -1
  120. package/dist/runtime/app/components/FieldFile/FieldFile.vue.d.ts +2 -2
  121. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.d.vue.ts +4 -3
  122. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.d.ts +1 -0
  123. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.js +1 -0
  124. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue +26 -5
  125. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue.d.ts +4 -3
  126. package/dist/runtime/app/components/FieldInput/FieldInput.d.vue.ts +4 -4
  127. package/dist/runtime/app/components/FieldInput/FieldInput.types.d.ts +2 -0
  128. package/dist/runtime/app/components/FieldInput/FieldInput.types.js +0 -0
  129. package/dist/runtime/app/components/FieldInput/FieldInput.vue +3 -3
  130. package/dist/runtime/app/components/FieldInput/FieldInput.vue.d.ts +4 -4
  131. package/dist/runtime/app/components/FieldNumber/FieldNumber.d.vue.ts +2 -2
  132. package/dist/runtime/app/components/FieldNumber/FieldNumber.types.d.ts +2 -0
  133. package/dist/runtime/app/components/FieldNumber/FieldNumber.types.js +0 -0
  134. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue +3 -3
  135. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue.d.ts +2 -2
  136. package/dist/runtime/app/components/FieldPassword/FieldPassword.d.vue.ts +2 -2
  137. package/dist/runtime/app/components/FieldPassword/FieldPassword.types.d.ts +2 -0
  138. package/dist/runtime/app/components/FieldPassword/FieldPassword.types.js +0 -0
  139. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue +4 -4
  140. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue.d.ts +2 -2
  141. package/dist/runtime/app/components/FieldRadio/FieldRadio.d.vue.ts +3 -2
  142. package/dist/runtime/app/components/FieldRadio/FieldRadio.types.d.ts +2 -0
  143. package/dist/runtime/app/components/FieldRadio/FieldRadio.types.js +0 -0
  144. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue +1 -1
  145. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue.d.ts +3 -2
  146. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.d.vue.ts +4 -4
  147. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue +6 -2
  148. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue.d.ts +4 -4
  149. package/dist/runtime/app/components/FieldSearch/FieldSearch.d.vue.ts +3 -3
  150. package/dist/runtime/app/components/FieldSearch/FieldSearch.types.d.ts +2 -0
  151. package/dist/runtime/app/components/FieldSearch/FieldSearch.types.js +0 -0
  152. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue +4 -4
  153. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue.d.ts +3 -3
  154. package/dist/runtime/app/components/FieldSelect/FieldSelect.d.vue.ts +3 -2
  155. package/dist/runtime/app/components/FieldSelect/FieldSelect.types.d.ts +2 -0
  156. package/dist/runtime/app/components/FieldSelect/FieldSelect.types.js +0 -0
  157. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue +1 -1
  158. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue.d.ts +3 -2
  159. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.d.vue.ts +7 -7
  160. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue +16 -6
  161. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue.d.ts +7 -7
  162. package/dist/runtime/app/components/FieldSlug/FieldSlug.d.vue.ts +2 -2
  163. package/dist/runtime/app/components/FieldSlug/FieldSlug.types.d.ts +2 -0
  164. package/dist/runtime/app/components/FieldSlug/FieldSlug.types.js +0 -0
  165. package/dist/runtime/app/components/FieldSlug/FieldSlug.vue +4 -4
  166. package/dist/runtime/app/components/FieldSlug/FieldSlug.vue.d.ts +2 -2
  167. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.d.vue.ts +2 -2
  168. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.types.d.ts +2 -0
  169. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.types.js +0 -0
  170. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue +1 -1
  171. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue.d.ts +2 -2
  172. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.d.vue.ts +4 -3
  173. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.vue.d.ts +4 -3
  174. package/dist/runtime/app/components/FieldTags/FieldTags.d.vue.ts +2 -2
  175. package/dist/runtime/app/components/FieldTags/FieldTags.types.d.ts +2 -0
  176. package/dist/runtime/app/components/FieldTags/FieldTags.types.js +0 -0
  177. package/dist/runtime/app/components/FieldTags/FieldTags.vue +1 -1
  178. package/dist/runtime/app/components/FieldTags/FieldTags.vue.d.ts +2 -2
  179. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.d.vue.ts +4 -4
  180. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue +16 -6
  181. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue.d.ts +4 -4
  182. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.d.vue.ts +2 -2
  183. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.types.d.ts +2 -0
  184. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.types.js +0 -0
  185. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue +1 -1
  186. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue.d.ts +2 -2
  187. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.d.vue.ts +4 -3
  188. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue +4 -4
  189. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue.d.ts +4 -3
  190. package/dist/runtime/app/components/Form/Form.d.vue.ts +3 -19
  191. package/dist/runtime/app/components/Form/Form.types.d.ts +8 -0
  192. package/dist/runtime/app/components/Form/Form.types.js +0 -0
  193. package/dist/runtime/app/components/Form/Form.vue +3 -3
  194. package/dist/runtime/app/components/Form/Form.vue.d.ts +3 -19
  195. package/dist/runtime/app/components/FormField/FormField.d.vue.ts +4 -18
  196. package/dist/runtime/app/components/FormField/FormField.types.d.ts +14 -0
  197. package/dist/runtime/app/components/FormField/FormField.types.js +0 -0
  198. package/dist/runtime/app/components/FormField/FormField.vue +26 -10
  199. package/dist/runtime/app/components/FormField/FormField.vue.d.ts +4 -18
  200. package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.d.vue.ts +2 -3
  201. package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.vue.d.ts +2 -3
  202. package/dist/runtime/app/components/FormModal/FormModal.d.vue.ts +6 -25
  203. package/dist/runtime/app/components/FormModal/FormModal.types.d.ts +14 -0
  204. package/dist/runtime/app/components/FormModal/FormModal.types.js +0 -0
  205. package/dist/runtime/app/components/FormModal/FormModal.vue +12 -2
  206. package/dist/runtime/app/components/FormModal/FormModal.vue.d.ts +6 -25
  207. package/dist/runtime/app/components/FormSection/FormSection.d.vue.ts +2 -13
  208. package/dist/runtime/app/components/FormSection/FormSection.types.d.ts +7 -0
  209. package/dist/runtime/app/components/FormSection/FormSection.types.js +0 -0
  210. package/dist/runtime/app/components/FormSection/FormSection.vue +11 -4
  211. package/dist/runtime/app/components/FormSection/FormSection.vue.d.ts +2 -13
  212. package/dist/runtime/app/components/Icon/Icon.d.vue.ts +2 -4
  213. package/dist/runtime/app/components/Icon/Icon.types.d.ts +3 -0
  214. package/dist/runtime/app/components/Icon/Icon.types.js +0 -0
  215. package/dist/runtime/app/components/Icon/Icon.vue.d.ts +2 -4
  216. package/dist/runtime/app/components/Menu/Menu.d.vue.ts +4 -21
  217. package/dist/runtime/app/components/Menu/Menu.types.d.ts +7 -0
  218. package/dist/runtime/app/components/Menu/Menu.types.js +0 -0
  219. package/dist/runtime/app/components/Menu/Menu.vue +18 -110
  220. package/dist/runtime/app/components/Menu/Menu.vue.d.ts +4 -21
  221. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.d.vue.ts +26 -0
  222. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.vue +167 -0
  223. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.vue.d.ts +26 -0
  224. package/dist/runtime/app/components/Modal/Modal.d.vue.ts +6 -18
  225. package/dist/runtime/app/components/Modal/Modal.theme.d.ts +18 -14
  226. package/dist/runtime/app/components/Modal/Modal.theme.js +17 -21
  227. package/dist/runtime/app/components/Modal/Modal.types.d.ts +12 -0
  228. package/dist/runtime/app/components/Modal/Modal.types.js +0 -0
  229. package/dist/runtime/app/components/Modal/Modal.vue +99 -65
  230. package/dist/runtime/app/components/Modal/Modal.vue.d.ts +6 -18
  231. package/dist/runtime/app/components/Navbar/Navbar.d.vue.ts +3 -28
  232. package/dist/runtime/app/components/Navbar/Navbar.theme.d.ts +2 -3
  233. package/dist/runtime/app/components/Navbar/Navbar.theme.js +2 -3
  234. package/dist/runtime/app/components/Navbar/Navbar.types.d.ts +4 -0
  235. package/dist/runtime/app/components/Navbar/Navbar.types.js +0 -0
  236. package/dist/runtime/app/components/Navbar/Navbar.vue.d.ts +3 -28
  237. package/dist/runtime/app/components/NavigationList/NavigationList.d.vue.ts +4 -33
  238. package/dist/runtime/app/components/NavigationList/NavigationList.keys.d.ts +3 -0
  239. package/dist/runtime/app/components/NavigationList/NavigationList.keys.js +1 -0
  240. package/dist/runtime/app/components/NavigationList/NavigationList.types.d.ts +9 -0
  241. package/dist/runtime/app/components/NavigationList/NavigationList.types.js +0 -0
  242. package/dist/runtime/app/components/NavigationList/NavigationList.vue +65 -19
  243. package/dist/runtime/app/components/NavigationList/NavigationList.vue.d.ts +4 -33
  244. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.d.vue.ts +3 -24
  245. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.keys.d.ts +7 -0
  246. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.keys.js +3 -0
  247. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.types.d.ts +10 -0
  248. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.types.js +0 -0
  249. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue +45 -13
  250. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue.d.ts +3 -24
  251. package/dist/runtime/app/components/NavigationToc/NavigationToc.d.vue.ts +3 -10
  252. package/dist/runtime/app/components/NavigationToc/NavigationToc.types.d.ts +7 -0
  253. package/dist/runtime/app/components/NavigationToc/NavigationToc.types.js +0 -0
  254. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue +8 -1
  255. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue.d.ts +3 -10
  256. package/dist/runtime/app/components/Pagination/Pagination.d.vue.ts +5 -23
  257. package/dist/runtime/app/components/Pagination/Pagination.types.d.ts +11 -0
  258. package/dist/runtime/app/components/Pagination/Pagination.types.js +0 -0
  259. package/dist/runtime/app/components/Pagination/Pagination.vue +6 -2
  260. package/dist/runtime/app/components/Pagination/Pagination.vue.d.ts +5 -23
  261. package/dist/runtime/app/components/Slideover/Slideover.d.vue.ts +4 -13
  262. package/dist/runtime/app/components/Slideover/Slideover.types.d.ts +12 -0
  263. package/dist/runtime/app/components/Slideover/Slideover.types.js +0 -0
  264. package/dist/runtime/app/components/Slideover/Slideover.vue.d.ts +4 -13
  265. package/dist/runtime/app/components/State/State.d.vue.ts +2 -2
  266. package/dist/runtime/app/components/State/State.types.d.ts +15 -0
  267. package/dist/runtime/app/components/State/State.types.js +0 -0
  268. package/dist/runtime/app/components/State/State.vue +13 -3
  269. package/dist/runtime/app/components/State/State.vue.d.ts +2 -2
  270. package/dist/runtime/app/components/Table/Table.d.vue.ts +8 -55
  271. package/dist/runtime/app/components/Table/Table.theme.d.ts +17 -35
  272. package/dist/runtime/app/components/Table/Table.theme.js +15 -48
  273. package/dist/runtime/app/components/Table/Table.types.d.ts +9 -0
  274. package/dist/runtime/app/components/Table/Table.types.js +0 -0
  275. package/dist/runtime/app/components/Table/Table.vue +143 -415
  276. package/dist/runtime/app/components/Table/Table.vue.d.ts +8 -55
  277. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.vue +13 -3
  278. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.vue +8 -1
  279. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.vue +8 -1
  280. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.vue +8 -1
  281. package/dist/runtime/app/components/Table/internal/CellText/CellText.vue +8 -1
  282. package/dist/runtime/app/components/Table/internal/TableCell/TableCell.d.vue.ts +2 -2
  283. package/dist/runtime/app/components/Table/internal/TableCell/TableCell.vue.d.ts +2 -2
  284. package/dist/runtime/app/components/Table/internal/column.d.ts +9 -0
  285. package/dist/runtime/app/components/Table/internal/column.js +15 -0
  286. package/dist/runtime/app/components/Table/internal/useVunoTableSelection.d.ts +1 -1
  287. package/dist/runtime/app/components/Tabs/Tabs.d.vue.ts +5 -24
  288. package/dist/runtime/app/components/Tabs/Tabs.theme.d.ts +15 -6
  289. package/dist/runtime/app/components/Tabs/Tabs.theme.js +15 -6
  290. package/dist/runtime/app/components/Tabs/Tabs.types.d.ts +10 -0
  291. package/dist/runtime/app/components/Tabs/Tabs.types.js +0 -0
  292. package/dist/runtime/app/components/Tabs/Tabs.vue +91 -17
  293. package/dist/runtime/app/components/Tabs/Tabs.vue.d.ts +5 -24
  294. package/dist/runtime/app/components/Text/Text.d.vue.ts +19 -0
  295. package/dist/runtime/app/components/Text/Text.theme.d.ts +55 -0
  296. package/dist/runtime/app/components/Text/Text.theme.js +28 -0
  297. package/dist/runtime/app/components/Text/Text.types.d.ts +9 -0
  298. package/dist/runtime/app/components/Text/Text.types.js +0 -0
  299. package/dist/runtime/app/components/Text/Text.vue +37 -0
  300. package/dist/runtime/app/components/Text/Text.vue.d.ts +19 -0
  301. package/dist/runtime/app/components/Toolbar/Toolbar.d.vue.ts +17 -0
  302. package/dist/runtime/app/components/Toolbar/Toolbar.theme.d.ts +5 -0
  303. package/dist/runtime/app/components/Toolbar/Toolbar.theme.js +6 -0
  304. package/dist/runtime/app/components/Toolbar/Toolbar.types.d.ts +9 -0
  305. package/dist/runtime/app/components/Toolbar/Toolbar.types.js +0 -0
  306. package/dist/runtime/app/components/Toolbar/Toolbar.vue +76 -0
  307. package/dist/runtime/app/components/Toolbar/Toolbar.vue.d.ts +17 -0
  308. package/dist/runtime/app/components/Tooltip/Tooltip.d.vue.ts +5 -26
  309. package/dist/runtime/app/components/Tooltip/Tooltip.types.d.ts +11 -0
  310. package/dist/runtime/app/components/Tooltip/Tooltip.types.js +0 -0
  311. package/dist/runtime/app/components/Tooltip/Tooltip.vue +1 -1
  312. package/dist/runtime/app/components/Tooltip/Tooltip.vue.d.ts +5 -26
  313. package/dist/runtime/app/composables/internal/useVunoContext.d.ts +5 -0
  314. package/dist/runtime/app/composables/internal/useVunoContext.js +8 -0
  315. package/dist/runtime/app/composables/internal/useVunoControlGroup.d.ts +3 -4
  316. package/dist/runtime/app/composables/internal/useVunoDirection.d.ts +5 -0
  317. package/dist/runtime/app/composables/internal/useVunoDirection.js +8 -0
  318. package/dist/runtime/app/composables/internal/useVunoFormContext.d.ts +5 -0
  319. package/dist/runtime/app/composables/internal/useVunoFormContext.js +8 -0
  320. package/dist/runtime/app/composables/internal/useVunoOverlayBehind.d.ts +6 -0
  321. package/dist/runtime/app/composables/internal/useVunoOverlayBehind.js +8 -0
  322. package/dist/runtime/app/composables/useContext.js +2 -3
  323. package/dist/runtime/app/composables/useForm.js +2 -3
  324. package/dist/runtime/app/composables/useTableQuery.d.ts +1 -1
  325. package/dist/runtime/app/composables/useTheme.js +6 -3
  326. package/dist/runtime/app/{components/internal/ControlShell/ControlShell.vue.d.ts → primitives/PrimitiveControl/PrimitiveControl.d.vue.ts} +4 -3
  327. package/dist/runtime/app/{components/internal/ControlShell/ControlShell.theme.d.ts → primitives/PrimitiveControl/PrimitiveControl.theme.d.ts} +1 -1
  328. package/dist/runtime/app/{components/internal/ControlShell/ControlShell.vue → primitives/PrimitiveControl/PrimitiveControl.vue} +1 -1
  329. package/dist/runtime/app/{components/internal/ControlShell/ControlShell.d.vue.ts → primitives/PrimitiveControl/PrimitiveControl.vue.d.ts} +4 -3
  330. package/dist/runtime/app/{components/internal/Input/Input.d.vue.ts → primitives/PrimitiveInput/PrimitiveInput.d.vue.ts} +4 -3
  331. package/dist/runtime/app/{components/internal/Input/Input.vue → primitives/PrimitiveInput/PrimitiveInput.vue} +4 -4
  332. package/dist/runtime/app/{components/internal/Input/Input.vue.d.ts → primitives/PrimitiveInput/PrimitiveInput.vue.d.ts} +4 -3
  333. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.d.vue.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.d.vue.ts} +3 -4
  334. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.theme.d.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.theme.d.ts} +3 -0
  335. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.theme.js → primitives/PrimitiveNumberInput/PrimitiveNumberInput.theme.js} +4 -1
  336. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.vue → primitives/PrimitiveNumberInput/PrimitiveNumberInput.vue} +7 -5
  337. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.vue.d.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.vue.d.ts} +3 -4
  338. package/dist/runtime/app/theme/index.d.ts +254 -96
  339. package/dist/runtime/app/theme/index.js +13 -5
  340. package/dist/runtime/app/theme/messages.js +1 -0
  341. package/dist/runtime/app/theme/shared.d.ts +3 -2
  342. package/dist/runtime/app/theme/shared.js +2 -1
  343. package/dist/runtime/app/types/app.d.ts +4 -2
  344. package/dist/runtime/app/types/base.d.ts +5 -23
  345. package/dist/runtime/app/types/field.d.ts +3 -1
  346. package/dist/runtime/app/types/form.d.ts +3 -4
  347. package/dist/runtime/app/types/index.d.ts +55 -7
  348. package/dist/runtime/app/types/menu.d.ts +22 -0
  349. package/dist/runtime/app/types/menu.js +0 -0
  350. package/dist/runtime/app/types/page.d.ts +6 -10
  351. package/dist/runtime/app/types/slots.d.ts +8 -4
  352. package/dist/runtime/app/types/table.d.ts +28 -28
  353. package/dist/runtime/app/types/text.d.ts +6 -0
  354. package/dist/runtime/app/types/text.js +0 -0
  355. package/dist/runtime/app/types/theme.d.ts +15 -6
  356. package/dist/runtime/app/utils/format.js +3 -2
  357. package/dist/runtime/app/utils/path.js +1 -1
  358. package/dist/runtime/app/{internal → utils}/slots.d.ts +2 -2
  359. package/dist/runtime/app/utils/theme.d.ts +8 -41
  360. package/dist/runtime/app/utils/theme.js +31 -29
  361. package/package.json +9 -9
  362. package/dist/runtime/app/components/Page/Page.d.vue.ts +0 -40
  363. package/dist/runtime/app/components/Page/Page.theme.d.ts +0 -32
  364. package/dist/runtime/app/components/Page/Page.theme.js +0 -31
  365. package/dist/runtime/app/components/Page/Page.vue +0 -132
  366. package/dist/runtime/app/components/Page/Page.vue.d.ts +0 -40
  367. package/dist/runtime/app/internal/keys.d.ts +0 -43
  368. package/dist/runtime/app/internal/keys.js +0 -8
  369. package/dist/runtime/app/types/alert.d.ts +0 -13
  370. package/dist/runtime/app/types/state.d.ts +0 -35
  371. /package/dist/runtime/app/{types/alert.js → components/Alert/Alert.types.js} +0 -0
  372. /package/dist/runtime/app/{types/state.js → components/App/App.types.js} +0 -0
  373. /package/dist/runtime/app/components/{Table → DataTable}/internal/query.d.ts +0 -0
  374. /package/dist/runtime/app/components/{Table → DataTable}/internal/query.js +0 -0
  375. /package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.vue +0 -0
  376. /package/dist/runtime/app/{components/internal/ControlShell/ControlShell.theme.js → primitives/PrimitiveControl/PrimitiveControl.theme.js} +0 -0
  377. /package/dist/runtime/app/{components/internal/Input/Input.theme.d.ts → primitives/PrimitiveInput/PrimitiveInput.theme.d.ts} +0 -0
  378. /package/dist/runtime/app/{components/internal/Input/Input.theme.js → primitives/PrimitiveInput/PrimitiveInput.theme.js} +0 -0
  379. /package/dist/runtime/app/{components/internal/NumberInput → primitives/PrimitiveNumberInput}/number.d.ts +0 -0
  380. /package/dist/runtime/app/{components/internal/NumberInput → primitives/PrimitiveNumberInput}/number.js +0 -0
  381. /package/dist/runtime/app/{internal → utils}/slots.js +0 -0
@@ -2,7 +2,8 @@
2
2
  import { computed, ref, useTemplateRef } from "vue";
3
3
  import { useIcons, useMessages, useTheme } from "#vuno/composables/useTheme";
4
4
  import Icon from "#vuno/components/Icon/Icon.vue";
5
- import ControlShell from "#vuno/components/internal/ControlShell/ControlShell.vue";
5
+ import Text from "#vuno/components/Text/Text.vue";
6
+ import PrimitiveControl from "#vuno/primitives/PrimitiveControl/PrimitiveControl.vue";
6
7
  defineOptions({ name: "VunoTagsInput", inheritAttrs: false });
7
8
  const model = defineModel({ type: null, ...{ default: void 0 } });
8
9
  const props = defineProps({
@@ -52,7 +53,7 @@ function onKeydown(event) {
52
53
  </script>
53
54
 
54
55
  <template>
55
- <ControlShell
56
+ <PrimitiveControl
56
57
  :size="props.size"
57
58
  :ui="props.ui"
58
59
  >
@@ -60,12 +61,21 @@ function onKeydown(event) {
60
61
  :class="ui.content"
61
62
  @click="inputRef?.focus()"
62
63
  >
63
- <span
64
+ <Text
64
65
  v-for="(tag, index) in tags"
65
66
  :key="tag"
66
67
  :class="ui.tag"
68
+ tag="span"
69
+ tone="inherit"
70
+ variant="inherit"
67
71
  >
68
- <span :class="ui.tagLabel">{{ tag }}</span>
72
+ <Text
73
+ :class="ui.tagLabel"
74
+ tag="span"
75
+ tone="inherit"
76
+ variant="inherit"
77
+ >{{ tag }}</Text
78
+ >
69
79
 
70
80
  <button
71
81
  :aria-label="`${messages.removeItem}: ${tag}`"
@@ -79,7 +89,7 @@ function onKeydown(event) {
79
89
  :name="icons.removeItem"
80
90
  />
81
91
  </button>
82
- </span>
92
+ </Text>
83
93
 
84
94
  <input
85
95
  ref="input"
@@ -93,5 +103,5 @@ function onKeydown(event) {
93
103
  @keydown="onKeydown"
94
104
  />
95
105
  </div>
96
- </ControlShell>
106
+ </PrimitiveControl>
97
107
  </template>
@@ -1,11 +1,11 @@
1
- import type { VunoSize } from '#vuno/types/base';
1
+ import type { VunoFieldSize } from '#vuno/types/field';
2
2
  import type { VunoUi } from '#vuno/types/slots';
3
3
  type __VLS_Props = Props;
4
4
  type Props = {
5
5
  disabled?: boolean;
6
6
  max?: number;
7
7
  placeholder?: string;
8
- size?: VunoSize;
8
+ size?: VunoFieldSize;
9
9
  ui?: VunoUi<'control' | 'tagsInput'>;
10
10
  };
11
11
  type __VLS_ModelProps = {
@@ -17,10 +17,10 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
17
17
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
18
  "onUpdate:modelValue"?: ((value: string[] | undefined) => any) | undefined;
19
19
  }>, {
20
- size: VunoSize;
20
+ size: VunoFieldSize;
21
21
  ui: VunoUi<"control" | "tagsInput">;
22
- placeholder: string;
23
22
  max: number;
23
+ placeholder: string;
24
24
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
25
  declare const _default: typeof __VLS_export;
26
26
  export default _default;
@@ -1,4 +1,4 @@
1
- import type { VunoFieldTextarea } from '#vuno/types/field';
1
+ import type { VunoFieldTextareaProps } from './FieldTextarea.types.js';
2
2
  /**
3
3
  * `autoresize` lleva `withDefaults` y no se deja al control, que también lo
4
4
  * trae en `true`.
@@ -10,7 +10,7 @@ import type { VunoFieldTextarea } from '#vuno/types/field';
10
10
  * `multiple` y `dropzone` en el campo de archivo, y por eso se arregla
11
11
  * igual.
12
12
  */
13
- type __VLS_Props = Omit<VunoFieldTextarea, 'columns'>;
13
+ type __VLS_Props = VunoFieldTextareaProps;
14
14
  type __VLS_ModelProps = {
15
15
  modelValue?: string | undefined;
16
16
  };
@@ -0,0 +1,2 @@
1
+ import type { VunoFieldTextarea } from '#vuno/types/field';
2
+ export type VunoFieldTextareaProps = Omit<VunoFieldTextarea, 'columns'>;
@@ -2,7 +2,7 @@
2
2
  import { useField } from "#vuno/composables/useField";
3
3
  import { useTheme } from "#vuno/composables/useTheme";
4
4
  import Textarea from "#vuno/components/FieldTextarea/internal/Textarea/Textarea.vue";
5
- import FieldShell from "#vuno/components/internal/FieldShell/FieldShell.vue";
5
+ import FieldShell from "#vuno/components/FormField/internal/FieldShell/FieldShell.vue";
6
6
  defineOptions({ name: "VunoFieldTextarea" });
7
7
  const model = defineModel({ type: null, ...{ default: void 0 } });
8
8
  const props = defineProps({
@@ -1,4 +1,4 @@
1
- import type { VunoFieldTextarea } from '#vuno/types/field';
1
+ import type { VunoFieldTextareaProps } from './FieldTextarea.types.js';
2
2
  /**
3
3
  * `autoresize` lleva `withDefaults` y no se deja al control, que también lo
4
4
  * trae en `true`.
@@ -10,7 +10,7 @@ import type { VunoFieldTextarea } from '#vuno/types/field';
10
10
  * `multiple` y `dropzone` en el campo de archivo, y por eso se arregla
11
11
  * igual.
12
12
  */
13
- type __VLS_Props = Omit<VunoFieldTextarea, 'columns'>;
13
+ type __VLS_Props = VunoFieldTextareaProps;
14
14
  type __VLS_ModelProps = {
15
15
  modelValue?: string | undefined;
16
16
  };
@@ -1,4 +1,5 @@
1
- import type { VunoRadius, VunoSize } from '#vuno/types/base';
1
+ import type { VunoRadius } from '#vuno/types/base';
2
+ import type { VunoFieldSize } from '#vuno/types/field';
2
3
  import type { VunoUi } from '#vuno/types/slots';
3
4
  type __VLS_Props = Props;
4
5
  type Props = {
@@ -9,7 +10,7 @@ type Props = {
9
10
  /** La curvatura de la caja. Sin valor, la que traiga el tema. */
10
11
  radius?: VunoRadius;
11
12
  rows?: number;
12
- size?: VunoSize;
13
+ size?: VunoFieldSize;
13
14
  ui?: VunoUi<'control' | 'textarea'>;
14
15
  };
15
16
  type __VLS_ModelProps = {
@@ -24,7 +25,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
24
25
  "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
25
26
  }>, {
26
27
  radius: VunoRadius;
27
- size: VunoSize;
28
+ size: VunoFieldSize;
28
29
  autoresize: boolean;
29
30
  ui: VunoUi<"control" | "textarea">;
30
31
  maxrows: number;
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
2
  import { computed, useTemplateRef } from "vue";
3
3
  import { useTheme } from "#vuno/composables/useTheme";
4
- import ControlShell from "#vuno/components/internal/ControlShell/ControlShell.vue";
4
+ import PrimitiveControl from "#vuno/primitives/PrimitiveControl/PrimitiveControl.vue";
5
5
  defineOptions({ name: "VunoTextarea", inheritAttrs: false });
6
6
  const model = defineModel({ type: null, ...{ default: void 0 } });
7
7
  const props = defineProps({
@@ -15,7 +15,7 @@ const props = defineProps({
15
15
  const ui = useTheme(
16
16
  "textarea",
17
17
  () => props.ui,
18
- () => ({ autoresize: String(props.autoresize), size: props.size })
18
+ () => ({ autoresize: props.autoresize ? "true" : "false", size: props.size })
19
19
  );
20
20
  const area = useTemplateRef("area");
21
21
  const sizing = computed(() => ({
@@ -26,7 +26,7 @@ defineExpose({ textareaRef: area });
26
26
  </script>
27
27
 
28
28
  <template>
29
- <ControlShell
29
+ <PrimitiveControl
30
30
  :radius="props.radius"
31
31
  :size="props.size"
32
32
  :ui="props.ui"
@@ -39,5 +39,5 @@ defineExpose({ textareaRef: area });
39
39
  :rows="props.rows"
40
40
  :style="sizing"
41
41
  />
42
- </ControlShell>
42
+ </PrimitiveControl>
43
43
  </template>
@@ -1,4 +1,5 @@
1
- import type { VunoRadius, VunoSize } from '#vuno/types/base';
1
+ import type { VunoRadius } from '#vuno/types/base';
2
+ import type { VunoFieldSize } from '#vuno/types/field';
2
3
  import type { VunoUi } from '#vuno/types/slots';
3
4
  type __VLS_Props = Props;
4
5
  type Props = {
@@ -9,7 +10,7 @@ type Props = {
9
10
  /** La curvatura de la caja. Sin valor, la que traiga el tema. */
10
11
  radius?: VunoRadius;
11
12
  rows?: number;
12
- size?: VunoSize;
13
+ size?: VunoFieldSize;
13
14
  ui?: VunoUi<'control' | 'textarea'>;
14
15
  };
15
16
  type __VLS_ModelProps = {
@@ -24,7 +25,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
24
25
  "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
25
26
  }>, {
26
27
  radius: VunoRadius;
27
- size: VunoSize;
28
+ size: VunoFieldSize;
28
29
  autoresize: boolean;
29
30
  ui: VunoUi<"control" | "textarea">;
30
31
  maxrows: number;
@@ -1,22 +1,6 @@
1
- import type { VunoFormDefinition, VunoFormState, VunoSchema } from '#vuno/types/form';
2
- import type { VunoUi } from '#vuno/types/slots';
3
- declare const __VLS_export: <TState extends VunoFormState>(__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<({
5
- /**
6
- * Id del `<form>`. Permite enviarlo desde un botón que vive fuera de
7
- * él —el pie de un modal, por ejemplo— con `<button form="...">`.
8
- */
9
- id?: string;
10
- definition: VunoFormDefinition;
11
- /**
12
- * Opcional: un panel de filtros, por ejemplo, no necesita validación.
13
- *
14
- * Cualquier esquema que implemente Standard Schema —zod, valibot,
15
- * arktype—, sin que el módulo dependa de ninguno.
16
- */
17
- schema?: VunoSchema;
18
- ui?: VunoUi<"form">;
19
- } & {
1
+ import type { VunoFormProps } from './Form.types.js';
2
+ declare const __VLS_export: <TState extends import("#vuno/types/form").VunoFormState>(__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<{
3
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(VunoFormProps & {
20
4
  state: TState;
21
5
  }) & {
22
6
  onSubmit?: ((state: TState) => any) | undefined;
@@ -0,0 +1,8 @@
1
+ import type { VunoFormDefinition, VunoSchema } from '#vuno/types/form';
2
+ import type { VunoUi } from '#vuno/types/slots';
3
+ export type VunoFormProps = {
4
+ id?: string;
5
+ definition: VunoFormDefinition;
6
+ schema?: VunoSchema;
7
+ ui?: VunoUi<'form'>;
8
+ };
File without changes
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
- import { computed, nextTick, provide, useId, useTemplateRef } from "vue";
2
+ import { computed, nextTick, useId, useTemplateRef } from "vue";
3
+ import { provideVunoFormContext } from "#vuno/composables/internal/useVunoFormContext";
3
4
  import { useTheme } from "#vuno/composables/useTheme";
4
- import { vunoFormInjectionKey } from "#vuno/internal/keys";
5
5
  import FormSection from "#vuno/components/FormSection/FormSection.vue";
6
6
  import Tabs from "#vuno/components/Tabs/Tabs.vue";
7
7
  import { getColumnSpanClass } from "./internal/grid";
@@ -56,7 +56,7 @@ const context = {
56
56
  // el motor decide si toca avisar.
57
57
  setTouched: (name, value = true) => value ? form.blur(name) : delete form.touched[name]
58
58
  };
59
- provide(vunoFormInjectionKey, context);
59
+ provideVunoFormContext(context);
60
60
  const formEl = useTemplateRef("formEl");
61
61
  async function focusFirstInvalid() {
62
62
  await nextTick();
@@ -1,22 +1,6 @@
1
- import type { VunoFormDefinition, VunoFormState, VunoSchema } from '#vuno/types/form';
2
- import type { VunoUi } from '#vuno/types/slots';
3
- declare const __VLS_export: <TState extends VunoFormState>(__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<({
5
- /**
6
- * Id del `<form>`. Permite enviarlo desde un botón que vive fuera de
7
- * él —el pie de un modal, por ejemplo— con `<button form="...">`.
8
- */
9
- id?: string;
10
- definition: VunoFormDefinition;
11
- /**
12
- * Opcional: un panel de filtros, por ejemplo, no necesita validación.
13
- *
14
- * Cualquier esquema que implemente Standard Schema —zod, valibot,
15
- * arktype—, sin que el módulo dependa de ninguno.
16
- */
17
- schema?: VunoSchema;
18
- ui?: VunoUi<"form">;
19
- } & {
1
+ import type { VunoFormProps } from './Form.types.js';
2
+ declare const __VLS_export: <TState extends import("#vuno/types/form").VunoFormState>(__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<{
3
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(VunoFormProps & {
20
4
  state: TState;
21
5
  }) & {
22
6
  onSubmit?: ((state: TState) => any) | undefined;
@@ -1,19 +1,5 @@
1
- import type { VunoSize } from '#vuno/types/base';
2
- import type { VunoFieldOrientation } from '#vuno/types/field';
3
- import type { VunoUi } from '#vuno/types/slots';
4
- type Props = {
5
- name?: string;
6
- description?: string;
7
- error?: string;
8
- help?: string;
9
- hint?: string;
10
- label?: string;
11
- orientation?: VunoFieldOrientation;
12
- required?: boolean;
13
- size?: VunoSize;
14
- ui?: VunoUi<'formField'>;
15
- };
16
- declare var __VLS_1: {
1
+ import type { VunoFormFieldProps } from './FormField.types.js';
2
+ declare var __VLS_19: {
17
3
  id: string;
18
4
  name: string | undefined;
19
5
  'aria-describedby': string | undefined;
@@ -22,9 +8,9 @@ declare var __VLS_1: {
22
8
  required: boolean;
23
9
  };
24
10
  type __VLS_Slots = {} & {
25
- default?: (props: typeof __VLS_1) => any;
11
+ default?: (props: typeof __VLS_19) => any;
26
12
  };
27
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_base: import("vue").DefineComponent<VunoFormFieldProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoFormFieldProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
14
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
29
15
  declare const _default: typeof __VLS_export;
30
16
  export default _default;
@@ -0,0 +1,14 @@
1
+ import type { VunoFieldOrientation, VunoFieldSize } from '#vuno/types/field';
2
+ import type { VunoUi } from '#vuno/types/slots';
3
+ export type VunoFormFieldProps = {
4
+ name?: string;
5
+ description?: string;
6
+ error?: string;
7
+ help?: string;
8
+ hint?: string;
9
+ label?: string;
10
+ orientation?: VunoFieldOrientation;
11
+ required?: boolean;
12
+ size?: VunoFieldSize;
13
+ ui?: VunoUi<'formField'>;
14
+ };
@@ -1,6 +1,7 @@
1
1
  <script setup>
2
2
  import { computed, useId } from "vue";
3
3
  import { useTheme } from "#vuno/composables/useTheme";
4
+ import Text from "#vuno/components/Text/Text.vue";
4
5
  defineOptions({ name: "VunoFormField" });
5
6
  const props = defineProps({
6
7
  name: { type: String, required: false },
@@ -65,29 +66,38 @@ const classes = useTheme(
65
66
  `required` en el control, que es lo que el navegador y el
66
67
  lector entienden. Anunciar «asterisco» no informa de nada.
67
68
  -->
68
- <span
69
+ <Text
69
70
  v-if="props.required"
70
71
  aria-hidden="true"
71
72
  :class="classes.required"
72
- >*</span
73
+ tag="span"
74
+ tone="inherit"
75
+ variant="inherit"
76
+ >*</Text
73
77
  >
74
78
  </label>
75
79
 
76
- <span
80
+ <Text
77
81
  v-if="props.hint"
78
82
  :id="hintId"
79
83
  :class="classes.hint"
80
- >{{ props.hint }}</span
84
+ tag="span"
85
+ tone="inherit"
86
+ variant="inherit"
87
+ >{{ props.hint }}</Text
81
88
  >
82
89
  </div>
83
90
 
84
- <p
91
+ <Text
85
92
  v-if="props.description"
86
93
  :id="descriptionId"
87
94
  :class="classes.description"
95
+ tag="p"
96
+ tone="inherit"
97
+ variant="inherit"
88
98
  >
89
99
  {{ props.description }}
90
- </p>
100
+ </Text>
91
101
  </div>
92
102
 
93
103
  <div :class="classes.control">
@@ -104,21 +114,27 @@ const classes = useTheme(
104
114
  enviar, y un aviso que interrumpe a mitad de frase cada vez que se
105
115
  tabula molesta más de lo que ayuda.
106
116
  -->
107
- <p
117
+ <Text
108
118
  :id="errorId"
109
119
  aria-live="polite"
110
120
  :class="[classes.error, !props.error && 'sr-only']"
121
+ tag="p"
122
+ tone="inherit"
123
+ variant="inherit"
111
124
  >
112
125
  {{ props.error }}
113
- </p>
126
+ </Text>
114
127
 
115
- <p
128
+ <Text
116
129
  v-if="props.help && !props.error"
117
130
  :id="helpId"
118
131
  :class="classes.help"
132
+ tag="p"
133
+ tone="inherit"
134
+ variant="inherit"
119
135
  >
120
136
  {{ props.help }}
121
- </p>
137
+ </Text>
122
138
  </div>
123
139
  </div>
124
140
  </template>
@@ -1,19 +1,5 @@
1
- import type { VunoSize } from '#vuno/types/base';
2
- import type { VunoFieldOrientation } from '#vuno/types/field';
3
- import type { VunoUi } from '#vuno/types/slots';
4
- type Props = {
5
- name?: string;
6
- description?: string;
7
- error?: string;
8
- help?: string;
9
- hint?: string;
10
- label?: string;
11
- orientation?: VunoFieldOrientation;
12
- required?: boolean;
13
- size?: VunoSize;
14
- ui?: VunoUi<'formField'>;
15
- };
16
- declare var __VLS_1: {
1
+ import type { VunoFormFieldProps } from './FormField.types.js';
2
+ declare var __VLS_19: {
17
3
  id: string;
18
4
  name: string | undefined;
19
5
  'aria-describedby': string | undefined;
@@ -22,9 +8,9 @@ declare var __VLS_1: {
22
8
  required: boolean;
23
9
  };
24
10
  type __VLS_Slots = {} & {
25
- default?: (props: typeof __VLS_1) => any;
11
+ default?: (props: typeof __VLS_19) => any;
26
12
  };
27
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const __VLS_base: import("vue").DefineComponent<VunoFormFieldProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoFormFieldProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
14
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
29
15
  declare const _default: typeof __VLS_export;
30
16
  export default _default;
@@ -1,5 +1,4 @@
1
- import type { VunoSize } from '#vuno/types/base';
2
- import type { VunoFieldBase } from '#vuno/types/field';
1
+ import type { VunoFieldBase, VunoFieldSize } from '#vuno/types/field';
3
2
  type __VLS_Props = Omit<VunoFieldBase, 'columns'>;
4
3
  type __VLS_Slots = {
5
4
  default: (props: {
@@ -9,7 +8,7 @@ type __VLS_Slots = {
9
8
  'aria-invalid'?: boolean;
10
9
  'aria-required'?: boolean;
11
10
  required?: boolean;
12
- size?: VunoSize;
11
+ size?: VunoFieldSize;
13
12
  }) => unknown;
14
13
  };
15
14
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,5 +1,4 @@
1
- import type { VunoSize } from '#vuno/types/base';
2
- import type { VunoFieldBase } from '#vuno/types/field';
1
+ import type { VunoFieldBase, VunoFieldSize } from '#vuno/types/field';
3
2
  type __VLS_Props = Omit<VunoFieldBase, 'columns'>;
4
3
  type __VLS_Slots = {
5
4
  default: (props: {
@@ -9,7 +8,7 @@ type __VLS_Slots = {
9
8
  'aria-invalid'?: boolean;
10
9
  'aria-required'?: boolean;
11
10
  required?: boolean;
12
- size?: VunoSize;
11
+ size?: VunoFieldSize;
13
12
  }) => unknown;
14
13
  };
15
14
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,27 +1,6 @@
1
- import type { VunoModalSize } from '#vuno/types/base';
2
- import type { VunoFormDefinition, VunoFormState, VunoSchema } from '#vuno/types/form';
3
- import type { VunoUi } from '#vuno/types/slots';
4
- declare const __VLS_export: <TState extends VunoFormState>(__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<{
5
- props: import("vue").PublicProps & __VLS_PrettifyLocal<({
6
- /**
7
- * Cierra el modal nada más enviar. Déjalo apagado si guardas contra una
8
- * API: querrás cerrar tú al confirmar, y mientras tanto usar `loading`.
9
- */
10
- closeOnSubmit?: boolean;
11
- definition: VunoFormDefinition;
12
- description?: string;
13
- /** Slots del formulario que va dentro. */
14
- formUi?: VunoUi<"form">;
15
- /** Marca el botón de guardar como ocupado y bloquea el cierre. */
16
- loading?: boolean;
17
- /** Opcional, igual que en `VForm`: cualquier esquema Standard Schema. */
18
- schema?: VunoSchema;
19
- /** Ancho del diálogo; el formulario usa `3xl` de forma predeterminada. */
20
- size?: VunoModalSize;
21
- title?: string;
22
- /** Slots del modal (`content`, `body`, ...). */
23
- ui?: VunoUi<"formModal">;
24
- } & {
1
+ import type { VunoFormModalProps } from './FormModal.types.js';
2
+ declare const __VLS_export: <TState extends import("#vuno/types/form").VunoFormState>(__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<{
3
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(VunoFormModalProps & {
25
4
  open?: boolean;
26
5
  state: TState;
27
6
  }) & {
@@ -48,7 +27,9 @@ declare const __VLS_export: <TState extends VunoFormState>(__VLS_props: NonNulla
48
27
  reset: () => void;
49
28
  }) => unknown;
50
29
  /** Elemento que abre el modal, si prefieres eso a controlar `open`. */
51
- trigger?: () => unknown;
30
+ trigger?: (props: {
31
+ open: () => void;
32
+ }) => unknown;
52
33
  };
53
34
  emit: (((evt: "close") => void) & ((evt: "submit", state: TState) => void)) & (((event: "update:open", value: boolean) => void) & ((event: "update:state", value: TState) => void));
54
35
  }>) => import("vue").VNode & {
@@ -0,0 +1,14 @@
1
+ import type { VunoFormDefinition, VunoSchema } from '#vuno/types/form';
2
+ import type { VunoUi } from '#vuno/types/slots';
3
+ import type { VunoModalSize } from '#vuno/components/Modal/Modal.types';
4
+ export type VunoFormModalProps = {
5
+ closeOnSubmit?: boolean;
6
+ definition: VunoFormDefinition;
7
+ description?: string;
8
+ formUi?: VunoUi<'form'>;
9
+ loading?: boolean;
10
+ schema?: VunoSchema;
11
+ size?: VunoModalSize;
12
+ title?: string;
13
+ ui?: VunoUi<'formModal'>;
14
+ };
@@ -30,6 +30,12 @@ function close() {
30
30
  open.value = false;
31
31
  emit("close");
32
32
  }
33
+ function openModal() {
34
+ open.value = true;
35
+ }
36
+ function onModalClose() {
37
+ emit("close");
38
+ }
33
39
  function onSubmit(validated) {
34
40
  emit("submit", validated);
35
41
  if (props.closeOnSubmit) open.value = false;
@@ -37,6 +43,11 @@ function onSubmit(validated) {
37
43
  </script>
38
44
 
39
45
  <template>
46
+ <slot
47
+ name="trigger"
48
+ :open="openModal"
49
+ />
50
+
40
51
  <!--
41
52
  Sobre `Modal`: un `<dialog>` nativo, no el de Nuxt UI. El navegador lo
42
53
  pone en su capa superior, que atrapa el foco, lo devuelve al cerrar y
@@ -54,9 +65,8 @@ function onSubmit(validated) {
54
65
  :size="props.size"
55
66
  :title="props.title"
56
67
  :ui="modalUi"
68
+ @close="onModalClose"
57
69
  >
58
- <slot name="trigger" />
59
-
60
70
  <Form
61
71
  :id="formId"
62
72
  ref="form"