@groupteknology/vuno 1.0.1 → 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 (660) hide show
  1. package/README.md +227 -183
  2. package/dist/module.d.mts +2 -0
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +40 -13
  5. package/dist/runtime/app/assets/css/dialog.css +1 -1
  6. package/dist/runtime/app/assets/css/main.css +1 -1
  7. package/dist/runtime/app/assets/css/stylesheet.css +1 -0
  8. package/dist/runtime/app/assets/css/theme.css +1 -1
  9. package/dist/runtime/app/assets/css/tokens.css +1 -1
  10. package/dist/runtime/app/components/Alert/Alert.d.vue.ts +20 -0
  11. package/dist/runtime/app/components/Alert/Alert.theme.d.ts +14 -0
  12. package/dist/runtime/app/components/Alert/Alert.theme.js +14 -0
  13. package/dist/runtime/app/components/Alert/Alert.types.d.ts +10 -0
  14. package/dist/runtime/app/components/Alert/Alert.vue +68 -0
  15. package/dist/runtime/app/components/Alert/Alert.vue.d.ts +20 -0
  16. package/dist/runtime/app/components/{overlays → App}/App.d.vue.ts +3 -20
  17. package/dist/runtime/app/components/App/App.types.d.ts +4 -0
  18. package/dist/runtime/app/components/{overlays → App}/App.vue +56 -41
  19. package/dist/runtime/app/components/{overlays → App}/App.vue.d.ts +3 -20
  20. package/dist/runtime/app/components/App/internal/Overlay/Overlay.d.vue.ts +7 -0
  21. package/dist/runtime/app/components/{overlays → App/internal/Overlay}/Overlay.vue +5 -6
  22. package/dist/runtime/app/components/App/internal/Overlay/Overlay.vue.d.ts +7 -0
  23. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.d.vue.ts +8 -0
  24. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue +18 -0
  25. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue.d.ts +8 -0
  26. package/dist/runtime/app/components/{overlays → App/internal/Toast}/Toast.d.vue.ts +3 -3
  27. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.d.ts +13 -0
  28. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.js +16 -0
  29. package/dist/runtime/app/components/App/internal/Toast/Toast.vue +55 -0
  30. package/dist/runtime/app/components/{overlays → App/internal/Toast}/Toast.vue.d.ts +3 -3
  31. package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.d.vue.ts +3 -3
  32. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.d.ts +15 -0
  33. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.js +16 -0
  34. package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.vue +3 -2
  35. package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.vue.d.ts +3 -3
  36. package/dist/runtime/app/components/Avatar/Avatar.d.vue.ts +10 -0
  37. package/dist/runtime/app/components/Avatar/Avatar.theme.d.ts +30 -0
  38. package/dist/runtime/app/components/Avatar/Avatar.theme.js +22 -0
  39. package/dist/runtime/app/components/Avatar/Avatar.types.d.ts +10 -0
  40. package/dist/runtime/app/components/Avatar/Avatar.types.js +0 -0
  41. package/dist/runtime/app/components/{actions → Avatar}/Avatar.vue +7 -5
  42. package/dist/runtime/app/components/Avatar/Avatar.vue.d.ts +10 -0
  43. package/dist/runtime/app/components/Badge/Badge.d.vue.ts +21 -0
  44. package/dist/runtime/app/components/Badge/Badge.theme.d.ts +40 -0
  45. package/dist/runtime/app/components/Badge/Badge.theme.js +22 -0
  46. package/dist/runtime/app/components/Badge/Badge.types.d.ts +12 -0
  47. package/dist/runtime/app/components/Badge/Badge.types.js +0 -0
  48. package/dist/runtime/app/components/{actions → Badge}/Badge.vue +3 -0
  49. package/dist/runtime/app/components/Badge/Badge.vue.d.ts +21 -0
  50. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.d.vue.ts +7 -0
  51. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.theme.d.ts +15 -0
  52. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.theme.js +16 -0
  53. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.types.d.ts +7 -0
  54. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.types.js +0 -0
  55. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.vue +109 -0
  56. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.vue.d.ts +7 -0
  57. package/dist/runtime/app/components/Button/Button.d.vue.ts +29 -0
  58. package/dist/runtime/app/components/Button/Button.theme.d.ts +102 -0
  59. package/dist/runtime/app/components/Button/Button.theme.js +67 -0
  60. package/dist/runtime/app/components/Button/Button.types.d.ts +24 -0
  61. package/dist/runtime/app/components/Button/Button.types.js +0 -0
  62. package/dist/runtime/app/components/Button/Button.vue +129 -0
  63. package/dist/runtime/app/components/Button/Button.vue.d.ts +29 -0
  64. package/dist/runtime/app/components/Card/Card.d.vue.ts +32 -0
  65. package/dist/runtime/app/components/Card/Card.theme.d.ts +100 -0
  66. package/dist/runtime/app/components/Card/Card.theme.js +82 -0
  67. package/dist/runtime/app/components/Card/Card.types.d.ts +12 -0
  68. package/dist/runtime/app/components/Card/Card.types.js +0 -0
  69. package/dist/runtime/app/components/Card/Card.vue +51 -0
  70. package/dist/runtime/app/components/Card/Card.vue.d.ts +32 -0
  71. package/dist/runtime/app/components/Code/Code.d.vue.ts +9 -0
  72. package/dist/runtime/app/components/Code/Code.theme.d.ts +11 -0
  73. package/dist/runtime/app/components/Code/Code.theme.js +12 -0
  74. package/dist/runtime/app/components/Code/Code.types.d.ts +8 -0
  75. package/dist/runtime/app/components/Code/Code.types.js +0 -0
  76. package/dist/runtime/app/components/Code/Code.vue +116 -0
  77. package/dist/runtime/app/components/Code/Code.vue.d.ts +9 -0
  78. package/dist/runtime/app/components/Collapsible/Collapsible.d.vue.ts +31 -0
  79. package/dist/runtime/app/components/Collapsible/Collapsible.theme.d.ts +6 -0
  80. package/dist/runtime/app/components/Collapsible/Collapsible.theme.js +7 -0
  81. package/dist/runtime/app/components/Collapsible/Collapsible.types.d.ts +4 -0
  82. package/dist/runtime/app/components/Collapsible/Collapsible.types.js +0 -0
  83. package/dist/runtime/app/components/Collapsible/Collapsible.vue +72 -0
  84. package/dist/runtime/app/components/Collapsible/Collapsible.vue.d.ts +31 -0
  85. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.d.vue.ts +12 -0
  86. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.types.d.ts +13 -0
  87. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.types.js +0 -0
  88. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.vue +55 -0
  89. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.vue.d.ts +12 -0
  90. package/dist/runtime/app/components/{overlays → Confirm}/Confirm.d.vue.ts +2 -6
  91. package/dist/runtime/app/components/Confirm/Confirm.theme.d.ts +12 -0
  92. package/dist/runtime/app/components/Confirm/Confirm.theme.js +13 -0
  93. package/dist/runtime/app/components/Confirm/Confirm.types.d.ts +6 -0
  94. package/dist/runtime/app/components/Confirm/Confirm.types.js +0 -0
  95. package/dist/runtime/app/components/{overlays → Confirm}/Confirm.vue +10 -5
  96. package/dist/runtime/app/components/{overlays → Confirm}/Confirm.vue.d.ts +2 -6
  97. package/dist/runtime/app/components/Container/Container.d.vue.ts +18 -0
  98. package/dist/runtime/app/components/Container/Container.theme.d.ts +53 -0
  99. package/dist/runtime/app/components/Container/Container.theme.js +31 -0
  100. package/dist/runtime/app/components/Container/Container.types.d.ts +9 -0
  101. package/dist/runtime/app/components/Container/Container.types.js +0 -0
  102. package/dist/runtime/app/components/{structure → Container}/Container.vue +3 -2
  103. package/dist/runtime/app/components/Container/Container.vue.d.ts +18 -0
  104. package/dist/runtime/app/components/ControlGroup/ControlGroup.d.vue.ts +17 -0
  105. package/dist/runtime/app/components/ControlGroup/ControlGroup.theme.d.ts +16 -0
  106. package/dist/runtime/app/components/ControlGroup/ControlGroup.theme.js +13 -0
  107. package/dist/runtime/app/components/ControlGroup/ControlGroup.types.d.ts +9 -0
  108. package/dist/runtime/app/components/ControlGroup/ControlGroup.types.js +0 -0
  109. package/dist/runtime/app/components/ControlGroup/ControlGroup.vue +26 -0
  110. package/dist/runtime/app/components/ControlGroup/ControlGroup.vue.d.ts +17 -0
  111. package/dist/runtime/app/components/{structure/Table.d.vue.ts → DataTable/DataTable.d.vue.ts} +6 -19
  112. package/dist/runtime/app/components/DataTable/DataTable.theme.d.ts +17 -0
  113. package/dist/runtime/app/components/DataTable/DataTable.theme.js +19 -0
  114. package/dist/runtime/app/components/DataTable/DataTable.types.d.ts +13 -0
  115. package/dist/runtime/app/components/DataTable/DataTable.types.js +0 -0
  116. package/dist/runtime/app/components/DataTable/DataTable.vue +356 -0
  117. package/dist/runtime/app/components/{structure/Table.vue.d.ts → DataTable/DataTable.vue.d.ts} +6 -19
  118. package/dist/runtime/app/{internal/useVunoTable.d.ts → components/DataTable/internal/useVunoDataTable.d.ts} +8 -30
  119. package/dist/runtime/app/{internal/useVunoTable.js → components/DataTable/internal/useVunoDataTable.js} +2 -29
  120. package/dist/runtime/app/components/FieldArray/FieldArray.d.vue.ts +13 -0
  121. package/dist/runtime/app/components/FieldArray/FieldArray.theme.d.ts +12 -0
  122. package/dist/runtime/app/components/FieldArray/FieldArray.theme.js +13 -0
  123. package/dist/runtime/app/components/FieldArray/FieldArray.types.d.ts +2 -0
  124. package/dist/runtime/app/components/FieldArray/FieldArray.types.js +0 -0
  125. package/dist/runtime/app/components/FieldArray/FieldArray.vue +180 -0
  126. package/dist/runtime/app/components/FieldArray/FieldArray.vue.d.ts +13 -0
  127. package/dist/runtime/app/components/{forms/Switch.d.vue.ts → FieldCheckbox/FieldCheckbox.d.vue.ts} +4 -12
  128. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.theme.d.ts +5 -0
  129. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.theme.js +2 -0
  130. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.types.d.ts +2 -0
  131. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.types.js +0 -0
  132. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue +39 -0
  133. package/dist/runtime/app/components/{forms/Switch.vue.d.ts → FieldCheckbox/FieldCheckbox.vue.d.ts} +4 -12
  134. package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.d.vue.ts +12 -6
  135. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.theme.d.ts +30 -0
  136. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.theme.js +10 -0
  137. package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.vue +7 -4
  138. package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.vue.d.ts +12 -6
  139. package/dist/runtime/app/components/FieldColor/FieldColor.d.vue.ts +13 -0
  140. package/dist/runtime/app/components/FieldColor/FieldColor.theme.d.ts +27 -0
  141. package/dist/runtime/app/components/FieldColor/FieldColor.theme.js +18 -0
  142. package/dist/runtime/app/components/FieldColor/FieldColor.types.d.ts +2 -0
  143. package/dist/runtime/app/components/FieldColor/FieldColor.types.js +0 -0
  144. package/dist/runtime/app/components/{forms/fields → FieldColor}/FieldColor.vue +39 -32
  145. package/dist/runtime/app/components/FieldColor/FieldColor.vue.d.ts +13 -0
  146. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.d.vue.ts +13 -0
  147. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.theme.d.ts +5 -0
  148. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.theme.js +2 -0
  149. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.types.d.ts +2 -0
  150. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.types.js +0 -0
  151. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue +51 -0
  152. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue.d.ts +13 -0
  153. package/dist/runtime/app/components/{forms/fields → FieldFile}/FieldFile.d.vue.ts +11 -3
  154. package/dist/runtime/app/components/FieldFile/FieldFile.theme.d.ts +5 -0
  155. package/dist/runtime/app/components/FieldFile/FieldFile.theme.js +2 -0
  156. package/dist/runtime/app/components/FieldFile/FieldFile.types.d.ts +2 -0
  157. package/dist/runtime/app/components/FieldFile/FieldFile.types.js +0 -0
  158. package/dist/runtime/app/components/FieldFile/FieldFile.vue +99 -0
  159. package/dist/runtime/app/components/{forms/fields → FieldFile}/FieldFile.vue.d.ts +11 -3
  160. package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.d.vue.ts +26 -20
  161. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.d.ts +89 -0
  162. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.js +56 -0
  163. package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.vue +46 -24
  164. package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.vue.d.ts +26 -20
  165. package/dist/runtime/app/components/FieldInput/FieldInput.d.vue.ts +24 -0
  166. package/dist/runtime/app/components/FieldInput/FieldInput.theme.d.ts +5 -0
  167. package/dist/runtime/app/components/FieldInput/FieldInput.theme.js +2 -0
  168. package/dist/runtime/app/components/FieldInput/FieldInput.types.d.ts +2 -0
  169. package/dist/runtime/app/components/FieldInput/FieldInput.types.js +0 -0
  170. package/dist/runtime/app/components/FieldInput/FieldInput.vue +61 -0
  171. package/dist/runtime/app/components/FieldInput/FieldInput.vue.d.ts +24 -0
  172. package/dist/runtime/app/components/FieldNumber/FieldNumber.d.vue.ts +13 -0
  173. package/dist/runtime/app/components/FieldNumber/FieldNumber.theme.d.ts +5 -0
  174. package/dist/runtime/app/components/FieldNumber/FieldNumber.theme.js +2 -0
  175. package/dist/runtime/app/components/FieldNumber/FieldNumber.types.d.ts +2 -0
  176. package/dist/runtime/app/components/FieldNumber/FieldNumber.types.js +0 -0
  177. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue +47 -0
  178. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue.d.ts +13 -0
  179. package/dist/runtime/app/components/FieldPassword/FieldPassword.d.vue.ts +13 -0
  180. package/dist/runtime/app/components/FieldPassword/FieldPassword.theme.d.ts +5 -0
  181. package/dist/runtime/app/components/FieldPassword/FieldPassword.theme.js +2 -0
  182. package/dist/runtime/app/components/FieldPassword/FieldPassword.types.d.ts +2 -0
  183. package/dist/runtime/app/components/FieldPassword/FieldPassword.types.js +0 -0
  184. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue +62 -0
  185. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue.d.ts +13 -0
  186. package/dist/runtime/app/components/FieldRadio/FieldRadio.d.vue.ts +14 -0
  187. package/dist/runtime/app/components/FieldRadio/FieldRadio.theme.d.ts +5 -0
  188. package/dist/runtime/app/components/FieldRadio/FieldRadio.theme.js +2 -0
  189. package/dist/runtime/app/components/FieldRadio/FieldRadio.types.d.ts +2 -0
  190. package/dist/runtime/app/components/FieldRadio/FieldRadio.types.js +0 -0
  191. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue +41 -0
  192. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue.d.ts +14 -0
  193. package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.d.vue.ts +11 -9
  194. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.theme.d.ts +54 -0
  195. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.theme.js +31 -0
  196. package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.vue +12 -5
  197. package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.vue.d.ts +11 -9
  198. package/dist/runtime/app/components/FieldSearch/FieldSearch.d.vue.ts +17 -0
  199. package/dist/runtime/app/components/FieldSearch/FieldSearch.theme.d.ts +6 -0
  200. package/dist/runtime/app/components/FieldSearch/FieldSearch.theme.js +7 -0
  201. package/dist/runtime/app/components/FieldSearch/FieldSearch.types.d.ts +2 -0
  202. package/dist/runtime/app/components/FieldSearch/FieldSearch.types.js +0 -0
  203. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue +74 -0
  204. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue.d.ts +17 -0
  205. package/dist/runtime/app/components/FieldSelect/FieldSelect.d.vue.ts +14 -0
  206. package/dist/runtime/app/components/FieldSelect/FieldSelect.theme.d.ts +5 -0
  207. package/dist/runtime/app/components/FieldSelect/FieldSelect.theme.js +2 -0
  208. package/dist/runtime/app/components/FieldSelect/FieldSelect.types.d.ts +2 -0
  209. package/dist/runtime/app/components/FieldSelect/FieldSelect.types.js +0 -0
  210. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue +45 -0
  211. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue.d.ts +14 -0
  212. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.d.vue.ts +97 -0
  213. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.theme.d.ts +36 -0
  214. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.theme.js +49 -0
  215. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue +206 -0
  216. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue.d.ts +97 -0
  217. package/dist/runtime/app/{utils → components/FieldSelect/internal/Select}/option.d.ts +3 -4
  218. package/dist/runtime/app/components/FieldSelect/internal/Select/useVunoSelectState.d.ts +30 -0
  219. package/dist/runtime/app/components/FieldSelect/internal/Select/useVunoSelectState.js +142 -0
  220. package/dist/runtime/app/components/FieldSlug/FieldSlug.d.vue.ts +13 -0
  221. package/dist/runtime/app/components/FieldSlug/FieldSlug.theme.d.ts +5 -0
  222. package/dist/runtime/app/components/FieldSlug/FieldSlug.theme.js +2 -0
  223. package/dist/runtime/app/components/FieldSlug/FieldSlug.types.d.ts +2 -0
  224. package/dist/runtime/app/components/FieldSlug/FieldSlug.types.js +0 -0
  225. package/dist/runtime/app/components/{forms/fields → FieldSlug}/FieldSlug.vue +58 -47
  226. package/dist/runtime/app/components/FieldSlug/FieldSlug.vue.d.ts +13 -0
  227. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.d.vue.ts +13 -0
  228. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.theme.d.ts +5 -0
  229. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.theme.js +2 -0
  230. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.types.d.ts +2 -0
  231. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.types.js +0 -0
  232. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue +37 -0
  233. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue.d.ts +13 -0
  234. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.d.vue.ts +27 -0
  235. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.theme.d.ts +39 -0
  236. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.theme.js +20 -0
  237. package/dist/runtime/app/components/{forms → FieldSwitch/internal/Switch}/Switch.vue +4 -2
  238. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.vue.d.ts +27 -0
  239. package/dist/runtime/app/components/FieldTags/FieldTags.d.vue.ts +13 -0
  240. package/dist/runtime/app/components/FieldTags/FieldTags.theme.d.ts +5 -0
  241. package/dist/runtime/app/components/FieldTags/FieldTags.theme.js +2 -0
  242. package/dist/runtime/app/components/FieldTags/FieldTags.types.d.ts +2 -0
  243. package/dist/runtime/app/components/FieldTags/FieldTags.types.js +0 -0
  244. package/dist/runtime/app/components/FieldTags/FieldTags.vue +41 -0
  245. package/dist/runtime/app/components/FieldTags/FieldTags.vue.d.ts +13 -0
  246. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.d.vue.ts +26 -0
  247. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.theme.d.ts +34 -0
  248. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.theme.js +20 -0
  249. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue +107 -0
  250. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue.d.ts +26 -0
  251. package/dist/runtime/app/components/{forms/fields → FieldTextarea}/FieldTextarea.d.vue.ts +11 -3
  252. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.theme.d.ts +5 -0
  253. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.theme.js +2 -0
  254. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.types.d.ts +2 -0
  255. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.types.js +0 -0
  256. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue +45 -0
  257. package/dist/runtime/app/components/{forms/fields → FieldTextarea}/FieldTextarea.vue.d.ts +11 -3
  258. package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.d.vue.ts +12 -6
  259. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.theme.d.ts +36 -0
  260. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.theme.js +37 -0
  261. package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.vue +9 -7
  262. package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.vue.d.ts +12 -6
  263. package/dist/runtime/app/components/Form/Form.d.vue.ts +36 -0
  264. package/dist/runtime/app/components/Form/Form.theme.d.ts +9 -0
  265. package/dist/runtime/app/components/Form/Form.theme.js +10 -0
  266. package/dist/runtime/app/components/Form/Form.types.d.ts +8 -0
  267. package/dist/runtime/app/components/Form/Form.types.js +0 -0
  268. package/dist/runtime/app/components/{forms → Form}/Form.vue +10 -9
  269. package/dist/runtime/app/components/Form/Form.vue.d.ts +36 -0
  270. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.d.vue.ts +7 -0
  271. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.vue +67 -0
  272. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.vue.d.ts +7 -0
  273. package/dist/runtime/app/components/Form/internal/standard-schema.d.ts +29 -0
  274. package/dist/runtime/app/{internal → components/Form/internal}/useVunoFormState.d.ts +5 -3
  275. package/dist/runtime/app/{internal → components/Form/internal}/useVunoFormState.js +4 -3
  276. package/dist/runtime/app/components/FormField/FormField.d.vue.ts +21 -0
  277. package/dist/runtime/app/components/FormField/FormField.theme.d.ts +62 -0
  278. package/dist/runtime/app/components/FormField/FormField.theme.js +28 -0
  279. package/dist/runtime/app/components/FormField/FormField.types.d.ts +14 -0
  280. package/dist/runtime/app/components/FormField/FormField.types.js +0 -0
  281. package/dist/runtime/app/components/{forms → FormField}/FormField.vue +78 -43
  282. package/dist/runtime/app/components/FormField/FormField.vue.d.ts +21 -0
  283. package/dist/runtime/app/components/FormField/internal/FieldShell/FieldShell.d.vue.ts +22 -0
  284. package/dist/runtime/app/components/FormField/internal/FieldShell/FieldShell.vue +63 -0
  285. package/dist/runtime/app/components/FormField/internal/FieldShell/FieldShell.vue.d.ts +22 -0
  286. package/dist/runtime/app/components/FormModal/FormModal.d.vue.ts +44 -0
  287. package/dist/runtime/app/components/FormModal/FormModal.theme.d.ts +8 -0
  288. package/dist/runtime/app/components/FormModal/FormModal.theme.js +9 -0
  289. package/dist/runtime/app/components/FormModal/FormModal.types.d.ts +14 -0
  290. package/dist/runtime/app/components/FormModal/FormModal.types.js +0 -0
  291. package/dist/runtime/app/components/{forms → FormModal}/FormModal.vue +27 -14
  292. package/dist/runtime/app/components/FormModal/FormModal.vue.d.ts +44 -0
  293. package/dist/runtime/app/components/FormSection/FormSection.d.vue.ts +4 -0
  294. package/dist/runtime/app/components/FormSection/FormSection.theme.d.ts +12 -0
  295. package/dist/runtime/app/components/FormSection/FormSection.theme.js +14 -0
  296. package/dist/runtime/app/components/FormSection/FormSection.types.d.ts +7 -0
  297. package/dist/runtime/app/components/FormSection/FormSection.types.js +0 -0
  298. package/dist/runtime/app/components/{forms → FormSection}/FormSection.vue +16 -7
  299. package/dist/runtime/app/components/FormSection/FormSection.vue.d.ts +4 -0
  300. package/dist/runtime/app/components/Icon/Icon.d.vue.ts +4 -0
  301. package/dist/runtime/app/components/Icon/Icon.types.d.ts +3 -0
  302. package/dist/runtime/app/components/Icon/Icon.types.js +0 -0
  303. package/dist/runtime/app/components/Icon/Icon.vue +32 -0
  304. package/dist/runtime/app/components/Icon/Icon.vue.d.ts +4 -0
  305. package/dist/runtime/app/components/Menu/Menu.d.vue.ts +19 -0
  306. package/dist/runtime/app/components/Menu/Menu.theme.d.ts +17 -0
  307. package/dist/runtime/app/components/Menu/Menu.theme.js +20 -0
  308. package/dist/runtime/app/components/Menu/Menu.types.d.ts +7 -0
  309. package/dist/runtime/app/components/Menu/Menu.types.js +0 -0
  310. package/dist/runtime/app/components/Menu/Menu.vue +90 -0
  311. package/dist/runtime/app/components/Menu/Menu.vue.d.ts +19 -0
  312. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.d.vue.ts +26 -0
  313. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.vue +167 -0
  314. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.vue.d.ts +26 -0
  315. package/dist/runtime/app/components/Modal/Modal.d.vue.ts +31 -0
  316. package/dist/runtime/app/components/Modal/Modal.theme.d.ts +63 -0
  317. package/dist/runtime/app/components/Modal/Modal.theme.js +43 -0
  318. package/dist/runtime/app/components/Modal/Modal.types.d.ts +12 -0
  319. package/dist/runtime/app/components/Modal/Modal.types.js +0 -0
  320. package/dist/runtime/app/components/Modal/Modal.vue +249 -0
  321. package/dist/runtime/app/components/Modal/Modal.vue.d.ts +31 -0
  322. package/dist/runtime/app/components/Navbar/Navbar.d.vue.ts +20 -0
  323. package/dist/runtime/app/components/Navbar/Navbar.theme.d.ts +30 -0
  324. package/dist/runtime/app/components/Navbar/Navbar.theme.js +31 -0
  325. package/dist/runtime/app/components/Navbar/Navbar.types.d.ts +4 -0
  326. package/dist/runtime/app/components/Navbar/Navbar.types.js +0 -0
  327. package/dist/runtime/app/components/{structure → Navbar}/Navbar.vue +1 -0
  328. package/dist/runtime/app/components/Navbar/Navbar.vue.d.ts +20 -0
  329. package/dist/runtime/app/components/NavigationList/NavigationList.d.vue.ts +9 -0
  330. package/dist/runtime/app/components/NavigationList/NavigationList.keys.d.ts +3 -0
  331. package/dist/runtime/app/components/NavigationList/NavigationList.keys.js +1 -0
  332. package/dist/runtime/app/components/NavigationList/NavigationList.theme.d.ts +32 -0
  333. package/dist/runtime/app/components/NavigationList/NavigationList.theme.js +35 -0
  334. package/dist/runtime/app/components/NavigationList/NavigationList.types.d.ts +9 -0
  335. package/dist/runtime/app/components/NavigationList/NavigationList.types.js +0 -0
  336. package/dist/runtime/app/components/NavigationList/NavigationList.vue +233 -0
  337. package/dist/runtime/app/components/NavigationList/NavigationList.vue.d.ts +9 -0
  338. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.d.vue.ts +10 -0
  339. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.keys.d.ts +7 -0
  340. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.keys.js +3 -0
  341. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.theme.d.ts +26 -0
  342. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.theme.js +27 -0
  343. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.types.d.ts +10 -0
  344. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.types.js +0 -0
  345. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue +268 -0
  346. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue.d.ts +10 -0
  347. package/dist/runtime/app/components/NavigationToc/NavigationToc.d.vue.ts +7 -0
  348. package/dist/runtime/app/components/NavigationToc/NavigationToc.theme.d.ts +9 -0
  349. package/dist/runtime/app/components/NavigationToc/NavigationToc.theme.js +10 -0
  350. package/dist/runtime/app/components/NavigationToc/NavigationToc.types.d.ts +7 -0
  351. package/dist/runtime/app/components/NavigationToc/NavigationToc.types.js +0 -0
  352. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue +88 -0
  353. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue.d.ts +7 -0
  354. package/dist/runtime/app/components/Pagination/Pagination.d.vue.ts +15 -0
  355. package/dist/runtime/app/components/Pagination/Pagination.theme.d.ts +13 -0
  356. package/dist/runtime/app/components/Pagination/Pagination.theme.js +14 -0
  357. package/dist/runtime/app/components/Pagination/Pagination.types.d.ts +11 -0
  358. package/dist/runtime/app/components/Pagination/Pagination.types.js +0 -0
  359. package/dist/runtime/app/components/{structure → Pagination}/Pagination.vue +9 -3
  360. package/dist/runtime/app/components/Pagination/Pagination.vue.d.ts +15 -0
  361. package/dist/runtime/app/components/{overlays/Modal.d.vue.ts → Slideover/Slideover.d.vue.ts} +5 -22
  362. package/dist/runtime/app/components/Slideover/Slideover.theme.d.ts +35 -0
  363. package/dist/runtime/app/components/Slideover/Slideover.theme.js +24 -0
  364. package/dist/runtime/app/components/Slideover/Slideover.types.d.ts +12 -0
  365. package/dist/runtime/app/components/Slideover/Slideover.types.js +0 -0
  366. package/dist/runtime/app/components/Slideover/Slideover.vue +58 -0
  367. package/dist/runtime/app/components/{overlays/Modal.vue.d.ts → Slideover/Slideover.vue.d.ts} +5 -22
  368. package/dist/runtime/app/components/State/State.d.vue.ts +14 -0
  369. package/dist/runtime/app/components/State/State.theme.d.ts +19 -0
  370. package/dist/runtime/app/components/State/State.theme.js +26 -0
  371. package/dist/runtime/app/components/State/State.types.d.ts +15 -0
  372. package/dist/runtime/app/components/State/State.types.js +0 -0
  373. package/dist/runtime/app/components/{structure → State}/State.vue +21 -6
  374. package/dist/runtime/app/components/State/State.vue.d.ts +14 -0
  375. package/dist/runtime/app/components/Table/Table.d.vue.ts +33 -0
  376. package/dist/runtime/app/components/Table/Table.theme.d.ts +32 -0
  377. package/dist/runtime/app/components/Table/Table.theme.js +31 -0
  378. package/dist/runtime/app/components/Table/Table.types.d.ts +9 -0
  379. package/dist/runtime/app/components/Table/Table.types.js +0 -0
  380. package/dist/runtime/app/components/Table/Table.vue +211 -0
  381. package/dist/runtime/app/components/Table/Table.vue.d.ts +33 -0
  382. package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.vue +2 -1
  383. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.theme.d.ts +21 -0
  384. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.theme.js +11 -0
  385. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.vue +42 -0
  386. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.theme.d.ts +5 -0
  387. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.theme.js +4 -0
  388. package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.vue +9 -1
  389. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.theme.d.ts +5 -0
  390. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.theme.js +4 -0
  391. package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.vue +9 -1
  392. package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.vue +2 -1
  393. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.theme.d.ts +5 -0
  394. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.theme.js +4 -0
  395. package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.vue +9 -1
  396. package/dist/runtime/app/components/Table/internal/CellText/CellText.theme.d.ts +13 -0
  397. package/dist/runtime/app/components/Table/internal/CellText/CellText.theme.js +11 -0
  398. package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.vue +9 -1
  399. package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.d.vue.ts +2 -2
  400. package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.vue +9 -8
  401. package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.vue.d.ts +2 -2
  402. package/dist/runtime/app/{utils → components/Table/internal}/column.d.ts +9 -0
  403. package/dist/runtime/app/components/Table/internal/column.js +20 -0
  404. package/dist/runtime/app/components/Table/internal/useVunoTableSelection.d.ts +21 -0
  405. package/dist/runtime/app/components/Table/internal/useVunoTableSelection.js +29 -0
  406. package/dist/runtime/app/components/{structure → Tabs}/Tabs.d.vue.ts +5 -23
  407. package/dist/runtime/app/components/Tabs/Tabs.theme.d.ts +41 -0
  408. package/dist/runtime/app/components/Tabs/Tabs.theme.js +32 -0
  409. package/dist/runtime/app/components/Tabs/Tabs.types.d.ts +10 -0
  410. package/dist/runtime/app/components/Tabs/Tabs.types.js +0 -0
  411. package/dist/runtime/app/components/Tabs/Tabs.vue +193 -0
  412. package/dist/runtime/app/components/{structure → Tabs}/Tabs.vue.d.ts +5 -23
  413. package/dist/runtime/app/components/Text/Text.d.vue.ts +19 -0
  414. package/dist/runtime/app/components/Text/Text.theme.d.ts +55 -0
  415. package/dist/runtime/app/components/Text/Text.theme.js +28 -0
  416. package/dist/runtime/app/components/Text/Text.types.d.ts +9 -0
  417. package/dist/runtime/app/components/Text/Text.types.js +0 -0
  418. package/dist/runtime/app/components/Text/Text.vue +37 -0
  419. package/dist/runtime/app/components/Text/Text.vue.d.ts +19 -0
  420. package/dist/runtime/app/components/Toolbar/Toolbar.d.vue.ts +17 -0
  421. package/dist/runtime/app/components/Toolbar/Toolbar.theme.d.ts +5 -0
  422. package/dist/runtime/app/components/Toolbar/Toolbar.theme.js +6 -0
  423. package/dist/runtime/app/components/Toolbar/Toolbar.types.d.ts +9 -0
  424. package/dist/runtime/app/components/Toolbar/Toolbar.types.js +0 -0
  425. package/dist/runtime/app/components/Toolbar/Toolbar.vue +76 -0
  426. package/dist/runtime/app/components/Toolbar/Toolbar.vue.d.ts +17 -0
  427. package/dist/runtime/app/components/Tooltip/Tooltip.d.vue.ts +19 -0
  428. package/dist/runtime/app/components/Tooltip/Tooltip.theme.d.ts +12 -0
  429. package/dist/runtime/app/components/Tooltip/Tooltip.theme.js +13 -0
  430. package/dist/runtime/app/components/Tooltip/Tooltip.types.d.ts +11 -0
  431. package/dist/runtime/app/components/Tooltip/Tooltip.types.js +0 -0
  432. package/dist/runtime/app/components/{actions → Tooltip}/Tooltip.vue +10 -23
  433. package/dist/runtime/app/components/Tooltip/Tooltip.vue.d.ts +19 -0
  434. package/dist/runtime/app/composables/defineShortcuts.d.ts +19 -0
  435. package/dist/runtime/app/composables/defineShortcuts.js +68 -0
  436. package/dist/runtime/app/{internal → composables/internal}/useVunoAnchor.d.ts +6 -4
  437. package/dist/runtime/app/{internal → composables/internal}/useVunoAnchor.js +3 -2
  438. package/dist/runtime/app/composables/internal/useVunoContext.d.ts +5 -0
  439. package/dist/runtime/app/composables/internal/useVunoContext.js +8 -0
  440. package/dist/runtime/app/composables/internal/useVunoControlGroup.d.ts +16 -0
  441. package/dist/runtime/app/composables/internal/useVunoControlGroup.js +18 -0
  442. package/dist/runtime/app/composables/internal/useVunoDirection.d.ts +5 -0
  443. package/dist/runtime/app/composables/internal/useVunoDirection.js +8 -0
  444. package/dist/runtime/app/composables/internal/useVunoFormContext.d.ts +5 -0
  445. package/dist/runtime/app/composables/internal/useVunoFormContext.js +8 -0
  446. package/dist/runtime/app/composables/internal/useVunoOverlayBehind.d.ts +6 -0
  447. package/dist/runtime/app/composables/internal/useVunoOverlayBehind.js +8 -0
  448. package/dist/runtime/app/{internal → composables/internal}/useVunoPortal.d.ts +3 -8
  449. package/dist/runtime/app/composables/internal/useVunoPortal.js +12 -0
  450. package/dist/runtime/app/composables/useContext.js +2 -3
  451. package/dist/runtime/app/composables/useCrud.js +5 -4
  452. package/dist/runtime/app/composables/useField.d.ts +3 -3
  453. package/dist/runtime/app/composables/useField.js +16 -8
  454. package/dist/runtime/app/composables/useForm.d.ts +3 -0
  455. package/dist/runtime/app/composables/useForm.js +4 -5
  456. package/dist/runtime/app/composables/useModal.js +1 -3
  457. package/dist/runtime/app/composables/useTableQuery.d.ts +1 -1
  458. package/dist/runtime/app/composables/useTableQuery.js +29 -13
  459. package/dist/runtime/app/composables/useTheme.d.ts +3 -2
  460. package/dist/runtime/app/composables/useTheme.js +8 -3
  461. package/dist/runtime/app/plugins/vue-query.d.ts +8 -0
  462. package/dist/runtime/app/plugins/vue-query.js +13 -0
  463. package/dist/runtime/app/{components/forms/ControlShell.d.vue.ts → primitives/PrimitiveControl/PrimitiveControl.d.vue.ts} +12 -7
  464. package/dist/runtime/app/primitives/PrimitiveControl/PrimitiveControl.theme.d.ts +50 -0
  465. package/dist/runtime/app/primitives/PrimitiveControl/PrimitiveControl.theme.js +38 -0
  466. package/dist/runtime/app/primitives/PrimitiveControl/PrimitiveControl.vue +33 -0
  467. package/dist/runtime/app/{components/forms/ControlShell.vue.d.ts → primitives/PrimitiveControl/PrimitiveControl.vue.d.ts} +12 -7
  468. package/dist/runtime/app/{components/forms/Input.d.vue.ts → primitives/PrimitiveInput/PrimitiveInput.d.vue.ts} +18 -12
  469. package/dist/runtime/app/primitives/PrimitiveInput/PrimitiveInput.theme.d.ts +30 -0
  470. package/dist/runtime/app/primitives/PrimitiveInput/PrimitiveInput.theme.js +21 -0
  471. package/dist/runtime/app/{components/forms/Input.vue → primitives/PrimitiveInput/PrimitiveInput.vue} +10 -8
  472. package/dist/runtime/app/{components/forms/Input.vue.d.ts → primitives/PrimitiveInput/PrimitiveInput.vue.d.ts} +18 -12
  473. package/dist/runtime/app/{components/forms/NumberInput.d.vue.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.d.vue.ts} +15 -10
  474. package/dist/runtime/app/primitives/PrimitiveNumberInput/PrimitiveNumberInput.theme.d.ts +34 -0
  475. package/dist/runtime/app/primitives/PrimitiveNumberInput/PrimitiveNumberInput.theme.js +29 -0
  476. package/dist/runtime/app/primitives/PrimitiveNumberInput/PrimitiveNumberInput.vue +223 -0
  477. package/dist/runtime/app/{components/forms/NumberInput.vue.d.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.vue.d.ts} +15 -10
  478. package/dist/runtime/app/{utils → primitives/PrimitiveNumberInput}/number.d.ts +7 -0
  479. package/dist/runtime/app/primitives/PrimitiveNumberInput/number.js +64 -0
  480. package/dist/runtime/app/theme/icons.js +4 -1
  481. package/dist/runtime/app/theme/index.d.ts +1320 -8
  482. package/dist/runtime/app/theme/index.js +124 -10
  483. package/dist/runtime/app/theme/messages.js +11 -3
  484. package/dist/runtime/app/theme/shared.d.ts +20 -3
  485. package/dist/runtime/app/theme/shared.js +16 -1
  486. package/dist/runtime/app/types/app.d.ts +4 -2
  487. package/dist/runtime/app/types/base.d.ts +13 -13
  488. package/dist/runtime/app/types/field-type.d.ts +4 -0
  489. package/dist/runtime/app/types/field-type.js +0 -0
  490. package/dist/runtime/app/types/field.d.ts +135 -27
  491. package/dist/runtime/app/types/form.d.ts +29 -4
  492. package/dist/runtime/app/types/index.d.ts +63 -12
  493. package/dist/runtime/app/types/menu.d.ts +22 -0
  494. package/dist/runtime/app/types/menu.js +0 -0
  495. package/dist/runtime/app/types/page.d.ts +14 -10
  496. package/dist/runtime/app/types/shortcuts.d.ts +44 -0
  497. package/dist/runtime/app/types/shortcuts.js +0 -0
  498. package/dist/runtime/app/types/slots.d.ts +34 -0
  499. package/dist/runtime/app/types/slots.js +0 -0
  500. package/dist/runtime/app/types/table.d.ts +31 -30
  501. package/dist/runtime/app/types/text.d.ts +6 -0
  502. package/dist/runtime/app/types/text.js +0 -0
  503. package/dist/runtime/app/types/theme.d.ts +64 -17
  504. package/dist/runtime/app/utils/format.js +5 -4
  505. package/dist/runtime/app/utils/path.js +5 -3
  506. package/dist/runtime/app/{internal → utils}/slots.d.ts +5 -2
  507. package/dist/runtime/app/utils/slots.js +24 -0
  508. package/dist/runtime/app/utils/theme.d.ts +9 -24
  509. package/dist/runtime/app/utils/theme.js +35 -15
  510. package/package.json +24 -9
  511. package/dist/runtime/app/components/actions/Avatar.d.vue.ts +0 -23
  512. package/dist/runtime/app/components/actions/Avatar.vue.d.ts +0 -23
  513. package/dist/runtime/app/components/actions/Badge.d.vue.ts +0 -36
  514. package/dist/runtime/app/components/actions/Badge.vue.d.ts +0 -36
  515. package/dist/runtime/app/components/actions/Button.d.vue.ts +0 -45
  516. package/dist/runtime/app/components/actions/Button.vue +0 -71
  517. package/dist/runtime/app/components/actions/Button.vue.d.ts +0 -45
  518. package/dist/runtime/app/components/actions/Icon.d.vue.ts +0 -6
  519. package/dist/runtime/app/components/actions/Icon.vue +0 -32
  520. package/dist/runtime/app/components/actions/Icon.vue.d.ts +0 -6
  521. package/dist/runtime/app/components/actions/Menu.d.vue.ts +0 -34
  522. package/dist/runtime/app/components/actions/Menu.vue +0 -189
  523. package/dist/runtime/app/components/actions/Menu.vue.d.ts +0 -34
  524. package/dist/runtime/app/components/actions/Tooltip.d.vue.ts +0 -40
  525. package/dist/runtime/app/components/actions/Tooltip.vue.d.ts +0 -40
  526. package/dist/runtime/app/components/forms/ControlShell.vue +0 -19
  527. package/dist/runtime/app/components/forms/Form.d.vue.ts +0 -53
  528. package/dist/runtime/app/components/forms/Form.vue.d.ts +0 -53
  529. package/dist/runtime/app/components/forms/FormField.d.vue.ts +0 -32
  530. package/dist/runtime/app/components/forms/FormField.vue.d.ts +0 -32
  531. package/dist/runtime/app/components/forms/FormFieldRenderer.d.vue.ts +0 -7
  532. package/dist/runtime/app/components/forms/FormFieldRenderer.vue +0 -88
  533. package/dist/runtime/app/components/forms/FormFieldRenderer.vue.d.ts +0 -7
  534. package/dist/runtime/app/components/forms/FormModal.d.vue.ts +0 -61
  535. package/dist/runtime/app/components/forms/FormModal.vue.d.ts +0 -61
  536. package/dist/runtime/app/components/forms/FormSection.d.vue.ts +0 -12
  537. package/dist/runtime/app/components/forms/FormSection.vue.d.ts +0 -12
  538. package/dist/runtime/app/components/forms/NumberInput.vue +0 -160
  539. package/dist/runtime/app/components/forms/Select.d.vue.ts +0 -61
  540. package/dist/runtime/app/components/forms/Select.vue +0 -336
  541. package/dist/runtime/app/components/forms/Select.vue.d.ts +0 -61
  542. package/dist/runtime/app/components/forms/fields/FieldArray.d.vue.ts +0 -5
  543. package/dist/runtime/app/components/forms/fields/FieldArray.vue +0 -129
  544. package/dist/runtime/app/components/forms/fields/FieldArray.vue.d.ts +0 -5
  545. package/dist/runtime/app/components/forms/fields/FieldCheckbox.d.vue.ts +0 -5
  546. package/dist/runtime/app/components/forms/fields/FieldCheckbox.vue +0 -31
  547. package/dist/runtime/app/components/forms/fields/FieldCheckbox.vue.d.ts +0 -5
  548. package/dist/runtime/app/components/forms/fields/FieldColor.d.vue.ts +0 -5
  549. package/dist/runtime/app/components/forms/fields/FieldColor.vue.d.ts +0 -5
  550. package/dist/runtime/app/components/forms/fields/FieldEmail.d.vue.ts +0 -5
  551. package/dist/runtime/app/components/forms/fields/FieldEmail.vue +0 -38
  552. package/dist/runtime/app/components/forms/fields/FieldEmail.vue.d.ts +0 -5
  553. package/dist/runtime/app/components/forms/fields/FieldFile.vue +0 -91
  554. package/dist/runtime/app/components/forms/fields/FieldNumber.d.vue.ts +0 -5
  555. package/dist/runtime/app/components/forms/fields/FieldNumber.vue +0 -39
  556. package/dist/runtime/app/components/forms/fields/FieldNumber.vue.d.ts +0 -5
  557. package/dist/runtime/app/components/forms/fields/FieldPassword.d.vue.ts +0 -5
  558. package/dist/runtime/app/components/forms/fields/FieldPassword.vue +0 -36
  559. package/dist/runtime/app/components/forms/fields/FieldPassword.vue.d.ts +0 -5
  560. package/dist/runtime/app/components/forms/fields/FieldRadio.d.vue.ts +0 -5
  561. package/dist/runtime/app/components/forms/fields/FieldRadio.vue +0 -33
  562. package/dist/runtime/app/components/forms/fields/FieldRadio.vue.d.ts +0 -5
  563. package/dist/runtime/app/components/forms/fields/FieldSelect.d.vue.ts +0 -5
  564. package/dist/runtime/app/components/forms/fields/FieldSelect.vue +0 -37
  565. package/dist/runtime/app/components/forms/fields/FieldSelect.vue.d.ts +0 -5
  566. package/dist/runtime/app/components/forms/fields/FieldSlug.d.vue.ts +0 -5
  567. package/dist/runtime/app/components/forms/fields/FieldSlug.vue.d.ts +0 -5
  568. package/dist/runtime/app/components/forms/fields/FieldSwitch.d.vue.ts +0 -5
  569. package/dist/runtime/app/components/forms/fields/FieldSwitch.vue +0 -29
  570. package/dist/runtime/app/components/forms/fields/FieldSwitch.vue.d.ts +0 -5
  571. package/dist/runtime/app/components/forms/fields/FieldText.d.vue.ts +0 -5
  572. package/dist/runtime/app/components/forms/fields/FieldText.vue +0 -39
  573. package/dist/runtime/app/components/forms/fields/FieldText.vue.d.ts +0 -5
  574. package/dist/runtime/app/components/forms/fields/FieldTextarea.vue +0 -37
  575. package/dist/runtime/app/components/layouts/dashboard/DashboardAside.d.vue.ts +0 -56
  576. package/dist/runtime/app/components/layouts/dashboard/DashboardAside.vue +0 -96
  577. package/dist/runtime/app/components/layouts/dashboard/DashboardAside.vue.d.ts +0 -56
  578. package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.d.vue.ts +0 -57
  579. package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.vue +0 -164
  580. package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.vue.d.ts +0 -57
  581. package/dist/runtime/app/components/layouts/dashboard/DashboardPage.d.vue.ts +0 -49
  582. package/dist/runtime/app/components/layouts/dashboard/DashboardPage.vue +0 -45
  583. package/dist/runtime/app/components/layouts/dashboard/DashboardPage.vue.d.ts +0 -49
  584. package/dist/runtime/app/components/layouts/public/PublicLayout.d.vue.ts +0 -50
  585. package/dist/runtime/app/components/layouts/public/PublicLayout.vue +0 -56
  586. package/dist/runtime/app/components/layouts/public/PublicLayout.vue.d.ts +0 -50
  587. package/dist/runtime/app/components/overlays/Context.d.vue.ts +0 -3
  588. package/dist/runtime/app/components/overlays/Context.vue +0 -7
  589. package/dist/runtime/app/components/overlays/Context.vue.d.ts +0 -3
  590. package/dist/runtime/app/components/overlays/Modal.vue +0 -158
  591. package/dist/runtime/app/components/overlays/Overlay.d.vue.ts +0 -7
  592. package/dist/runtime/app/components/overlays/Overlay.vue.d.ts +0 -7
  593. package/dist/runtime/app/components/overlays/Toast.vue +0 -63
  594. package/dist/runtime/app/components/structure/Card.d.vue.ts +0 -90
  595. package/dist/runtime/app/components/structure/Card.vue +0 -43
  596. package/dist/runtime/app/components/structure/Card.vue.d.ts +0 -90
  597. package/dist/runtime/app/components/structure/Container.d.vue.ts +0 -42
  598. package/dist/runtime/app/components/structure/Container.vue.d.ts +0 -42
  599. package/dist/runtime/app/components/structure/Navbar.d.vue.ts +0 -49
  600. package/dist/runtime/app/components/structure/Navbar.vue.d.ts +0 -49
  601. package/dist/runtime/app/components/structure/Navigation.d.vue.ts +0 -14
  602. package/dist/runtime/app/components/structure/Navigation.vue +0 -147
  603. package/dist/runtime/app/components/structure/Navigation.vue.d.ts +0 -14
  604. package/dist/runtime/app/components/structure/Page.d.vue.ts +0 -39
  605. package/dist/runtime/app/components/structure/Page.vue +0 -124
  606. package/dist/runtime/app/components/structure/Page.vue.d.ts +0 -39
  607. package/dist/runtime/app/components/structure/Pagination.d.vue.ts +0 -32
  608. package/dist/runtime/app/components/structure/Pagination.vue.d.ts +0 -32
  609. package/dist/runtime/app/components/structure/State.d.vue.ts +0 -14
  610. package/dist/runtime/app/components/structure/State.vue.d.ts +0 -14
  611. package/dist/runtime/app/components/structure/Table.vue +0 -493
  612. package/dist/runtime/app/components/structure/Tabs.vue +0 -114
  613. package/dist/runtime/app/components/structure/cells/CellBoolean.vue +0 -26
  614. package/dist/runtime/app/composables/useDashboard.d.ts +0 -14
  615. package/dist/runtime/app/composables/useDashboard.js +0 -9
  616. package/dist/runtime/app/internal/keys.d.ts +0 -37
  617. package/dist/runtime/app/internal/keys.js +0 -5
  618. package/dist/runtime/app/internal/slots.js +0 -12
  619. package/dist/runtime/app/internal/useVunoDashboard.d.ts +0 -15
  620. package/dist/runtime/app/internal/useVunoDashboard.js +0 -5
  621. package/dist/runtime/app/internal/useVunoPortal.js +0 -8
  622. package/dist/runtime/app/theme/actions.d.ts +0 -2
  623. package/dist/runtime/app/theme/actions.js +0 -123
  624. package/dist/runtime/app/theme/forms.d.ts +0 -2
  625. package/dist/runtime/app/theme/forms.js +0 -442
  626. package/dist/runtime/app/theme/layouts.d.ts +0 -2
  627. package/dist/runtime/app/theme/layouts.js +0 -76
  628. package/dist/runtime/app/theme/overlays.d.ts +0 -2
  629. package/dist/runtime/app/theme/overlays.js +0 -90
  630. package/dist/runtime/app/theme/structure.d.ts +0 -2
  631. package/dist/runtime/app/theme/structure.js +0 -351
  632. package/dist/runtime/app/types/dashboard.d.ts +0 -7
  633. package/dist/runtime/app/types/state.d.ts +0 -35
  634. package/dist/runtime/app/utils/column.js +0 -5
  635. package/dist/runtime/app/utils/number.js +0 -30
  636. package/dist/runtime/app/utils/standard-schema.d.ts +0 -62
  637. /package/dist/runtime/app/{types/dashboard.js → components/Alert/Alert.types.js} +0 -0
  638. /package/dist/runtime/app/{types/state.js → components/App/App.types.js} +0 -0
  639. /package/dist/runtime/app/{utils → components/DataTable/internal}/query.d.ts +0 -0
  640. /package/dist/runtime/app/{utils → components/DataTable/internal}/query.js +0 -0
  641. /package/dist/runtime/app/{utils → components/FieldSelect/internal/Select}/option.js +0 -0
  642. /package/dist/runtime/app/{utils → components/Form/internal}/grid.d.ts +0 -0
  643. /package/dist/runtime/app/{utils → components/Form/internal}/grid.js +0 -0
  644. /package/dist/runtime/app/{utils → components/Form/internal}/standard-schema.js +0 -0
  645. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.d.vue.ts +0 -0
  646. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.vue.d.ts +0 -0
  647. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBoolean}/CellBoolean.d.vue.ts +0 -0
  648. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBoolean}/CellBoolean.vue.d.ts +0 -0
  649. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.d.vue.ts +0 -0
  650. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.vue.d.ts +0 -0
  651. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.d.vue.ts +0 -0
  652. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.vue.d.ts +0 -0
  653. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.d.vue.ts +0 -0
  654. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.vue.d.ts +0 -0
  655. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.d.vue.ts +0 -0
  656. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.vue.d.ts +0 -0
  657. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.d.vue.ts +0 -0
  658. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.vue.d.ts +0 -0
  659. /package/dist/runtime/app/{utils → components/Table/internal}/selection.d.ts +0 -0
  660. /package/dist/runtime/app/{utils → components/Table/internal}/selection.js +0 -0
@@ -0,0 +1,7 @@
1
+ import type { VunoBreadcrumbProps } from './Breadcrumb.types.js';
2
+ declare const __VLS_export: import("vue").DefineComponent<VunoBreadcrumbProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoBreadcrumbProps> & Readonly<{}>, {
3
+ ui: import("../../types/slots.js").VunoUi<"breadcrumb">;
4
+ loading: boolean;
5
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,29 @@
1
+ import type { VunoButtonProps } from './Button.types.js';
2
+ type __VLS_Slots = {
3
+ /** Contenido en lugar de la etiqueta. */
4
+ default?: () => unknown;
5
+ /** Va después de todo lo demás; la tabla mete ahí su contador. */
6
+ trailing?: () => unknown;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<VunoButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoButtonProps> & Readonly<{}>, {
9
+ color: import("../../types/base.js").VunoColor;
10
+ icon: string;
11
+ radius: import("../../types/base.js").VunoRadius;
12
+ size: import("./Button.types.js").VunoButtonSize;
13
+ variant: import("./Button.types.js").VunoButtonVariant;
14
+ label: string;
15
+ shape: import("./Button.types.js").VunoButtonShape;
16
+ tag: import("vue").Component | string;
17
+ type: "button" | "reset" | "submit";
18
+ ui: import("../../types/slots.js").VunoUi<"button">;
19
+ href: string;
20
+ to: import("vue-router").RouteLocationRaw;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
25
+ type __VLS_WithSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -0,0 +1,102 @@
1
+ export declare const buttonTheme: Record<"button", {
2
+ readonly slots: {
3
+ readonly base: "group relative inline-flex shrink-0 cursor-pointer items-center justify-center overflow-hidden rounded-lg font-medium shadow-xs ring-1 ring-inset focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-vuno-focus disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 pointer-coarse:min-h-11 pointer-coarse:min-w-11";
4
+ readonly content: "relative inline-flex items-center justify-center gap-(--vuno-button-gap)";
5
+ readonly emphasis: "pointer-events-none absolute inset-0 rounded-[inherit] bg-linear-to-b from-(--vuno-button-emphasis-start) to-(--vuno-button-emphasis) shadow-[inset_0_1px_0_0_var(--vuno-button-emphasis-highlight)] group-hover:from-(--vuno-button-emphasis-hover)";
6
+ readonly icon: "shrink-0";
7
+ /**
8
+ * Caja y no texto suelto: el contenido del slot puede ser cualquier
9
+ * cosa —la muestra de color del campo es un `span` con `size-4`— y
10
+ * dentro de un envoltorio en línea el ancho y el alto no se aplican.
11
+ * Con una muestra de 16 px dio 2, que era solo su borde.
12
+ */
13
+ readonly label: "inline-flex items-center";
14
+ /** El giro se dibuja con un borde: un icono más sería otra descarga. */
15
+ readonly spinner: "shrink-0 animate-spin rounded-full border-2 border-current border-t-transparent";
16
+ };
17
+ readonly variants: {
18
+ readonly color: Record<import("../../types/base.js").VunoColor, Record<"base", string>>;
19
+ readonly groupOrientation: {
20
+ readonly horizontal: {
21
+ readonly base: "not-last:not-first:rounded-none not-only:first:rounded-e-none not-only:last:rounded-s-none focus-visible:z-1";
22
+ };
23
+ readonly vertical: {
24
+ readonly base: "not-last:not-first:rounded-none not-only:first:rounded-b-none not-only:last:rounded-t-none focus-visible:z-1";
25
+ };
26
+ };
27
+ readonly radius: Record<import("../../types/base.js").VunoRadius, Record<"base", string>>;
28
+ /**
29
+ * Sin etiqueta el botón es cuadrado, y eso sí combina con el
30
+ * tamaño: por eso `size` publica su altura en una variable y aquí
31
+ * se consume como ancho. Escribirlo con `aspect-square` parecía
32
+ * bastar y no basta —un `inline-flex` de ancho automático lo
33
+ * ensancha el relleno lateral—, y fijar el ancho por valor
34
+ * devolvería las cinco combinaciones.
35
+ */
36
+ readonly shape: {
37
+ readonly base: {};
38
+ readonly circle: {
39
+ readonly base: "w-(--vuno-button-size) rounded-full px-0";
40
+ };
41
+ readonly square: {
42
+ readonly base: "w-(--vuno-button-size) px-0";
43
+ };
44
+ };
45
+ readonly size: {
46
+ readonly xs: {
47
+ readonly base: "h-(--vuno-button-size) px-1.5 text-xs [--vuno-button-gap:0.25rem] [--vuno-button-size:1.25rem]";
48
+ readonly icon: "size-3";
49
+ };
50
+ readonly sm: {
51
+ readonly base: "h-(--vuno-button-size) px-2 text-xs [--vuno-button-gap:0.25rem] [--vuno-button-size:1.625rem]";
52
+ readonly icon: "size-3.5";
53
+ };
54
+ readonly md: {
55
+ readonly base: "h-(--vuno-button-size) px-3 text-sm [--vuno-button-gap:0.375rem] [--vuno-button-size:2.25rem]";
56
+ readonly icon: "size-4";
57
+ };
58
+ readonly lg: {
59
+ readonly base: "h-(--vuno-button-size) px-4 text-sm [--vuno-button-gap:0.5rem] [--vuno-button-size:2.5rem]";
60
+ readonly icon: "size-5";
61
+ };
62
+ readonly xl: {
63
+ readonly base: "h-(--vuno-button-size) px-4 text-base [--vuno-button-gap:0.5rem] [--vuno-button-size:2.75rem]";
64
+ readonly icon: "size-5";
65
+ };
66
+ };
67
+ readonly variant: {
68
+ readonly destructive: {
69
+ readonly base: "bg-vuno-danger-solid text-vuno-danger-solid-contrast ring-vuno-danger-solid hover:bg-vuno-danger-solid-hover";
70
+ };
71
+ readonly 'destructive-subtle': {
72
+ readonly base: "bg-vuno-control text-vuno-error ring-vuno-line hover:bg-vuno-tint hover:ring-vuno-error/30";
73
+ };
74
+ readonly ghost: {
75
+ readonly base: "bg-transparent text-vuno-body shadow-none ring-transparent hover:bg-vuno-tint hover:text-vuno-strong";
76
+ };
77
+ readonly link: {
78
+ readonly base: "bg-transparent text-(--vuno-accent) shadow-none ring-transparent hover:underline";
79
+ };
80
+ readonly outline: {
81
+ readonly base: "bg-transparent text-vuno-body shadow-none ring-vuno-line hover:bg-vuno-tint hover:text-vuno-strong";
82
+ };
83
+ readonly primary: {
84
+ readonly base: "bg-vuno-brand text-vuno-brand-contrast ring-vuno-brand hover:bg-vuno-brand-hover";
85
+ };
86
+ readonly secondary: {
87
+ readonly base: "bg-vuno-control text-vuno-body ring-vuno-line hover:bg-vuno-tint hover:text-vuno-strong";
88
+ };
89
+ readonly soft: {
90
+ readonly base: "bg-(--vuno-accent)/10 text-(--vuno-accent) ring-transparent hover:bg-(--vuno-accent)/20";
91
+ };
92
+ readonly solid: {
93
+ readonly base: "bg-(--vuno-accent) text-(--vuno-accent-contrast) ring-(--vuno-accent) [--vuno-button-emphasis:var(--vuno-accent)] [--vuno-button-emphasis-highlight:color-mix(in_oklch,var(--vuno-accent),white_30%)] [--vuno-button-emphasis-hover:var(--vuno-accent)] [--vuno-button-emphasis-start:color-mix(in_oklch,var(--vuno-accent),white_15%)]";
94
+ };
95
+ };
96
+ readonly variantAccent: {
97
+ readonly on: {
98
+ readonly base: "text-(--vuno-accent) ring-(--vuno-accent) hover:bg-(--vuno-accent)/10 hover:text-(--vuno-accent)";
99
+ };
100
+ };
101
+ };
102
+ }>;
@@ -0,0 +1,67 @@
1
+ import { accentByColor, radiusByStep } from "#vuno/theme/shared";
2
+ import { defineTheme } from "#vuno/utils/theme";
3
+ export const buttonTheme = defineTheme("button", {
4
+ slots: {
5
+ base: "group relative inline-flex shrink-0 cursor-pointer items-center justify-center overflow-hidden rounded-lg font-medium shadow-xs ring-1 ring-inset focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-vuno-focus disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 pointer-coarse:min-h-11 pointer-coarse:min-w-11",
6
+ content: "relative inline-flex items-center justify-center gap-(--vuno-button-gap)",
7
+ emphasis: "pointer-events-none absolute inset-0 rounded-[inherit] bg-linear-to-b from-(--vuno-button-emphasis-start) to-(--vuno-button-emphasis) shadow-[inset_0_1px_0_0_var(--vuno-button-emphasis-highlight)] group-hover:from-(--vuno-button-emphasis-hover)",
8
+ icon: "shrink-0",
9
+ /**
10
+ * Caja y no texto suelto: el contenido del slot puede ser cualquier
11
+ * cosa —la muestra de color del campo es un `span` con `size-4`— y
12
+ * dentro de un envoltorio en línea el ancho y el alto no se aplican.
13
+ * Con una muestra de 16 px dio 2, que era solo su borde.
14
+ */
15
+ label: "inline-flex items-center",
16
+ /** El giro se dibuja con un borde: un icono más sería otra descarga. */
17
+ spinner: "shrink-0 animate-spin rounded-full border-2 border-current border-t-transparent"
18
+ },
19
+ variants: {
20
+ color: accentByColor("base"),
21
+ groupOrientation: {
22
+ horizontal: { base: "not-last:not-first:rounded-none not-only:first:rounded-e-none not-only:last:rounded-s-none focus-visible:z-1" },
23
+ vertical: { base: "not-last:not-first:rounded-none not-only:first:rounded-b-none not-only:last:rounded-t-none focus-visible:z-1" }
24
+ },
25
+ radius: radiusByStep("base"),
26
+ /**
27
+ * Sin etiqueta el botón es cuadrado, y eso sí combina con el
28
+ * tamaño: por eso `size` publica su altura en una variable y aquí
29
+ * se consume como ancho. Escribirlo con `aspect-square` parecía
30
+ * bastar y no basta —un `inline-flex` de ancho automático lo
31
+ * ensancha el relleno lateral—, y fijar el ancho por valor
32
+ * devolvería las cinco combinaciones.
33
+ */
34
+ shape: {
35
+ base: {},
36
+ circle: { base: "w-(--vuno-button-size) rounded-full px-0" },
37
+ square: { base: "w-(--vuno-button-size) px-0" }
38
+ },
39
+ size: {
40
+ xs: { base: "h-(--vuno-button-size) px-1.5 text-xs [--vuno-button-gap:0.25rem] [--vuno-button-size:1.25rem]", icon: "size-3" },
41
+ sm: { base: "h-(--vuno-button-size) px-2 text-xs [--vuno-button-gap:0.25rem] [--vuno-button-size:1.625rem]", icon: "size-3.5" },
42
+ md: { base: "h-(--vuno-button-size) px-3 text-sm [--vuno-button-gap:0.375rem] [--vuno-button-size:2.25rem]", icon: "size-4" },
43
+ lg: { base: "h-(--vuno-button-size) px-4 text-sm [--vuno-button-gap:0.5rem] [--vuno-button-size:2.5rem]", icon: "size-5" },
44
+ xl: { base: "h-(--vuno-button-size) px-4 text-base [--vuno-button-gap:0.5rem] [--vuno-button-size:2.75rem]", icon: "size-5" }
45
+ },
46
+ variant: {
47
+ destructive: {
48
+ base: "bg-vuno-danger-solid text-vuno-danger-solid-contrast ring-vuno-danger-solid hover:bg-vuno-danger-solid-hover"
49
+ },
50
+ "destructive-subtle": { base: "bg-vuno-control text-vuno-error ring-vuno-line hover:bg-vuno-tint hover:ring-vuno-error/30" },
51
+ ghost: { base: "bg-transparent text-vuno-body shadow-none ring-transparent hover:bg-vuno-tint hover:text-vuno-strong" },
52
+ link: { base: "bg-transparent text-(--vuno-accent) shadow-none ring-transparent hover:underline" },
53
+ outline: { base: "bg-transparent text-vuno-body shadow-none ring-vuno-line hover:bg-vuno-tint hover:text-vuno-strong" },
54
+ primary: {
55
+ base: "bg-vuno-brand text-vuno-brand-contrast ring-vuno-brand hover:bg-vuno-brand-hover"
56
+ },
57
+ secondary: { base: "bg-vuno-control text-vuno-body ring-vuno-line hover:bg-vuno-tint hover:text-vuno-strong" },
58
+ soft: { base: "bg-(--vuno-accent)/10 text-(--vuno-accent) ring-transparent hover:bg-(--vuno-accent)/20" },
59
+ solid: {
60
+ base: "bg-(--vuno-accent) text-(--vuno-accent-contrast) ring-(--vuno-accent) [--vuno-button-emphasis:var(--vuno-accent)] [--vuno-button-emphasis-highlight:color-mix(in_oklch,var(--vuno-accent),white_30%)] [--vuno-button-emphasis-hover:var(--vuno-accent)] [--vuno-button-emphasis-start:color-mix(in_oklch,var(--vuno-accent),white_15%)]"
61
+ }
62
+ },
63
+ variantAccent: {
64
+ on: { base: "text-(--vuno-accent) ring-(--vuno-accent) hover:bg-(--vuno-accent)/10 hover:text-(--vuno-accent)" }
65
+ }
66
+ }
67
+ });
@@ -0,0 +1,24 @@
1
+ import type { Component } from 'vue';
2
+ import type { RouteLocationRaw } from 'vue-router';
3
+ import type { VunoColor, VunoRadius, VunoSize } from '#vuno/types/base';
4
+ import type { VunoUi } from '#vuno/types/slots';
5
+ export type VunoButtonShape = 'base' | 'circle' | 'square';
6
+ export type VunoButtonSize = Extract<VunoSize, 'lg' | 'md' | 'sm' | 'xl' | 'xs'>;
7
+ export type VunoButtonVariant = 'destructive' | 'destructive-subtle' | 'ghost' | 'link' | 'outline' | 'primary' | 'secondary' | 'soft' | 'solid';
8
+ export type VunoButtonProps = {
9
+ color?: VunoColor;
10
+ disabled?: boolean;
11
+ href?: string;
12
+ icon?: string;
13
+ label?: string;
14
+ loading?: boolean;
15
+ radius?: VunoRadius;
16
+ shape?: VunoButtonShape;
17
+ size?: VunoButtonSize;
18
+ tag?: Component | string;
19
+ to?: RouteLocationRaw;
20
+ trailing?: boolean;
21
+ type?: 'button' | 'reset' | 'submit';
22
+ ui?: VunoUi<'button'>;
23
+ variant?: VunoButtonVariant;
24
+ };
@@ -0,0 +1,129 @@
1
+ <script setup>
2
+ import { computed, defineComponent, h, onMounted, ref } from "vue";
3
+ import { useVunoControlGroup } from "#vuno/composables/internal/useVunoControlGroup";
4
+ import { useTheme } from "#vuno/composables/useTheme";
5
+ import Icon from "#vuno/components/Icon/Icon.vue";
6
+ defineOptions({ name: "VunoButton" });
7
+ const props = defineProps({
8
+ color: { type: String, required: false, default: void 0 },
9
+ disabled: { type: Boolean, required: false },
10
+ href: { type: String, required: false, default: void 0 },
11
+ icon: { type: String, required: false, default: void 0 },
12
+ label: { type: String, required: false, default: void 0 },
13
+ loading: { type: Boolean, required: false },
14
+ radius: { type: String, required: false, default: void 0 },
15
+ shape: { type: String, required: false, default: void 0 },
16
+ size: { type: String, required: false, default: void 0 },
17
+ tag: { type: null, required: false, default: void 0 },
18
+ to: { type: null, required: false, default: void 0 },
19
+ trailing: { type: Boolean, required: false },
20
+ type: { type: String, required: false, default: "button" },
21
+ ui: { type: Object, required: false, default: void 0 },
22
+ variant: { type: String, required: false, default: "secondary" }
23
+ });
24
+ const slots = defineSlots();
25
+ const NativeButton = defineComponent({
26
+ name: "VunoButtonRoot",
27
+ inheritAttrs: false,
28
+ setup(_, { attrs, slots: nativeSlots }) {
29
+ return () => h("button", attrs, nativeSlots.default?.());
30
+ }
31
+ });
32
+ const root = ref(null);
33
+ const hasContent = computed(() => Boolean(props.label) || Boolean(slots.default));
34
+ const controlGroup = useVunoControlGroup();
35
+ const size = computed(() => props.size ?? controlGroup.size.value ?? "md");
36
+ const isDisabled = computed(() => Boolean(props.disabled) || Boolean(props.loading));
37
+ const isButton = computed(() => !props.tag || props.tag === "button");
38
+ const rootTag = computed(() => isButton.value ? NativeButton : props.tag);
39
+ const isEmphasis = computed(() => props.variant === "solid");
40
+ const variantAccent = computed(() => {
41
+ if (!props.color) return void 0;
42
+ return ["ghost", "outline"].includes(props.variant) ? "on" : void 0;
43
+ });
44
+ const ui = useTheme(
45
+ "button",
46
+ () => props.ui,
47
+ () => ({
48
+ color: props.color ?? "primary",
49
+ groupOrientation: controlGroup.orientation.value,
50
+ radius: props.radius,
51
+ shape: props.shape ?? (hasContent.value ? "base" : "square"),
52
+ size: size.value,
53
+ variant: props.variant,
54
+ variantAccent: variantAccent.value
55
+ })
56
+ );
57
+ function captureRoot(target) {
58
+ const element = target?.$el ?? target;
59
+ root.value = element instanceof HTMLElement ? element : null;
60
+ }
61
+ function blockDisabledLink(event) {
62
+ if (isButton.value || !isDisabled.value) return;
63
+ event.preventDefault();
64
+ event.stopImmediatePropagation();
65
+ }
66
+ onMounted(() => {
67
+ if (!import.meta.env.DEV) return;
68
+ const element = root.value;
69
+ if (!element) return;
70
+ const accessibleName = element?.textContent?.trim() || element?.getAttribute("aria-label") || element?.getAttribute("aria-labelledby") || element?.title;
71
+ if (!accessibleName) console.warn("[VButton] Un bot\xF3n sin texto necesita aria-label o aria-labelledby.");
72
+ });
73
+ </script>
74
+
75
+ <template>
76
+ <component
77
+ :is="rootTag"
78
+ :ref="captureRoot"
79
+ :aria-busy="props.loading ? 'true' : void 0"
80
+ :aria-disabled="!isButton && isDisabled ? 'true' : void 0"
81
+ :class="ui.base"
82
+ :disabled="isButton ? isDisabled : void 0"
83
+ :href="props.href"
84
+ :tabindex="!isButton && isDisabled ? -1 : void 0"
85
+ :to="props.to"
86
+ :type="isButton ? props.type : void 0"
87
+ @click.capture="blockDisabledLink"
88
+ >
89
+ <span
90
+ v-if="isEmphasis"
91
+ aria-hidden="true"
92
+ :class="ui.emphasis"
93
+ />
94
+
95
+ <span :class="ui.content">
96
+ <!--
97
+ El giro ocupa el sitio del icono en vez de añadirse: si se sumara, el
98
+ botón cambiaría de ancho al pulsarlo y el puntero acabaría sobre otra
99
+ cosa.
100
+ -->
101
+ <span
102
+ v-if="props.loading"
103
+ aria-hidden="true"
104
+ :class="[ui.icon, ui.spinner]"
105
+ />
106
+
107
+ <Icon
108
+ v-else-if="props.icon && !props.trailing"
109
+ :class="ui.icon"
110
+ :name="props.icon"
111
+ />
112
+
113
+ <span
114
+ v-if="hasContent"
115
+ :class="ui.label"
116
+ >
117
+ <slot>{{ props.label }}</slot>
118
+ </span>
119
+
120
+ <Icon
121
+ v-if="props.icon && props.trailing && !props.loading"
122
+ :class="ui.icon"
123
+ :name="props.icon"
124
+ />
125
+
126
+ <slot name="trailing" />
127
+ </span>
128
+ </component>
129
+ </template>
@@ -0,0 +1,29 @@
1
+ import type { VunoButtonProps } from './Button.types.js';
2
+ type __VLS_Slots = {
3
+ /** Contenido en lugar de la etiqueta. */
4
+ default?: () => unknown;
5
+ /** Va después de todo lo demás; la tabla mete ahí su contador. */
6
+ trailing?: () => unknown;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<VunoButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoButtonProps> & Readonly<{}>, {
9
+ color: import("../../types/base.js").VunoColor;
10
+ icon: string;
11
+ radius: import("../../types/base.js").VunoRadius;
12
+ size: import("./Button.types.js").VunoButtonSize;
13
+ variant: import("./Button.types.js").VunoButtonVariant;
14
+ label: string;
15
+ shape: import("./Button.types.js").VunoButtonShape;
16
+ tag: import("vue").Component | string;
17
+ type: "button" | "reset" | "submit";
18
+ ui: import("../../types/slots.js").VunoUi<"button">;
19
+ href: string;
20
+ to: import("vue-router").RouteLocationRaw;
21
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
23
+ declare const _default: typeof __VLS_export;
24
+ export default _default;
25
+ type __VLS_WithSlots<T, S> = T & {
26
+ new (): {
27
+ $slots: S;
28
+ };
29
+ };
@@ -0,0 +1,32 @@
1
+ import type { VunoCardProps } from './Card.types.js';
2
+ /**
3
+ * Las tres regiones se pintan solo si se rellenan.
4
+ *
5
+ * Sin esto, una tarjeta con solo cuerpo arrastraría una cabecera vacía con su
6
+ * relleno y su línea divisoria: un hueco y una raya que no separan nada. Se
7
+ * ve raro y no falla, que es el peor modo de fallar.
8
+ *
9
+ * «Rellenada» es que produzca algo y no que esté declarada; lo decide
10
+ * `filled`, que vive en `internal/` porque los layouts necesitan la misma
11
+ * regla y dos copias de una regla divergen.
12
+ */
13
+ type __VLS_Slots = {
14
+ default?: () => unknown;
15
+ footer?: () => unknown;
16
+ header?: () => unknown;
17
+ };
18
+ declare const __VLS_base: import("vue").DefineComponent<VunoCardProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoCardProps> & Readonly<{}>, {
19
+ color: import("../../types/base.js").VunoColor;
20
+ radius: import("./Card.types.js").VunoCardRadius;
21
+ variant: "outline" | "soft";
22
+ tag: import("vue").Component | string;
23
+ ui: import("../../types/slots.js").VunoUi<"card">;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
26
+ declare const _default: typeof __VLS_export;
27
+ export default _default;
28
+ type __VLS_WithSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };
@@ -0,0 +1,100 @@
1
+ export declare const cardTheme: Record<"card", {
2
+ /**
3
+ * La tarjeta. La cabecera queda en el plano secundario y cuerpo y pie
4
+ * forman juntos el plano principal. Un espacio corto separa ambos planos,
5
+ * de modo que la jerarquía se lee por superficies sin introducir una sombra
6
+ * ajena al sistema.
7
+ *
8
+ * El contenedor exterior lleva relleno en las variantes por capas, de modo
9
+ * que tanto la cabecera como el plano principal respiren dentro del marco.
10
+ *
11
+ * **La raíz lleva anillo de foco desde que existe `tag`.** Con `tag` la
12
+ * tarjeta puede **ser** un enlace o un botón, y entonces recibe el foco.
13
+ *
14
+ * Y aquí hay que decir qué pasaba de verdad, porque lo primero que se
15
+ * escribió en este mismo comentario era falso y lo desmintió la medición.
16
+ * **No se quedaba sin contorno**: quitando las tres clases con el elemento
17
+ * enfocado, el contorno calculado sigue siendo `1px auto` —el del navegador,
18
+ * que el preflight de Tailwind no neutraliza— y con las clases pasa a `2px
19
+ * solid` del acento, con 2px de separación. O sea que el defecto no era una
20
+ * tarjeta invisible al tabular, sino **la única superficie enfocable de vuno
21
+ * que no llevaba el anillo del sistema**: grosor, color y separación
22
+ * distintos de los del botón, el campo y el enlace de la miga, y a merced de
23
+ * lo que pinte cada navegador. Que ya lo era se ve en que el ejemplo de la
24
+ * ficha llevaba el anillo escrito a mano sobre el enlace que la envolvía.
25
+ *
26
+ * Va **siempre puesto y sin variante que lo encienda**, que es lo contrario
27
+ * de lo que pide el reflejo. El motivo es que la condición ya la impone
28
+ * `:focus-visible`: un elemento que no puede recibir el foco no la cumple
29
+ * nunca, así que sobre un `div` las tres clases no pintan nada —medido: con
30
+ * `tag` por defecto la tarjeta ni siquiera es parada del tabulador—. Una
31
+ * variante sería una segunda copia, más débil, de una condición que el CSS
32
+ * ya garantiza, y además tendría que **adivinar** si un `tag` cualquiera es
33
+ * enfocable; se equivocaría justo en el caso peligroso, el de un `div` con
34
+ * un `tabindex` llegado por atributos, dejando sin anillo algo que sí toma
35
+ * el foco.
36
+ *
37
+ * El color solo tiñe la capa exterior. El cuerpo conserva la superficie de
38
+ * lectura y el mismo acento alimenta el título y el anillo de foco.
39
+ */
40
+ readonly slots: {
41
+ readonly body: "p-4 text-vuno-body";
42
+ readonly footer: "p-4";
43
+ readonly header: "flex items-center gap-2 p-4 font-semibold text-(--vuno-accent)";
44
+ readonly primary: "relative flex min-h-0 flex-col divide-y divide-vuno-border overflow-hidden rounded-3xl border border-transparent";
45
+ readonly root: "flex w-full flex-col rounded-4xl border border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--vuno-accent)";
46
+ };
47
+ readonly variants: {
48
+ readonly color: Record<import("../../types/base.js").VunoColor, Record<"root", string>>;
49
+ readonly radius: {
50
+ xs: {
51
+ primary: string;
52
+ root: string;
53
+ };
54
+ sm: {
55
+ primary: string;
56
+ root: string;
57
+ };
58
+ md: {
59
+ primary: string;
60
+ root: string;
61
+ };
62
+ lg: {
63
+ primary: string;
64
+ root: string;
65
+ };
66
+ xl: {
67
+ primary: string;
68
+ root: string;
69
+ };
70
+ '2xl': {
71
+ primary: string;
72
+ root: string;
73
+ };
74
+ '3xl': {
75
+ primary: string;
76
+ root: string;
77
+ };
78
+ '4xl': {
79
+ primary: string;
80
+ root: string;
81
+ };
82
+ none: {
83
+ primary: string;
84
+ root: string;
85
+ };
86
+ };
87
+ readonly variant: {
88
+ readonly outline: {
89
+ readonly header: "px-4 py-2";
90
+ readonly primary: "border-(--vuno-accent)/20 bg-vuno-surface";
91
+ readonly root: "gap-2 overflow-hidden border-(--vuno-accent)/20 bg-(--vuno-accent)/10 p-2";
92
+ };
93
+ readonly soft: {
94
+ readonly header: "px-4 py-2";
95
+ readonly primary: "bg-vuno-surface-1";
96
+ readonly root: "gap-2 overflow-hidden bg-(--vuno-accent)/10 p-2";
97
+ };
98
+ };
99
+ };
100
+ }>;
@@ -0,0 +1,82 @@
1
+ import { accentByColor } from "#vuno/theme/shared";
2
+ import { defineTheme } from "#vuno/utils/theme";
3
+ const cardRadius = {
4
+ xs: { primary: "rounded-none", root: "rounded-xs" },
5
+ sm: { primary: "rounded-none", root: "rounded-sm" },
6
+ md: { primary: "rounded-none", root: "rounded-md" },
7
+ lg: { primary: "rounded-none", root: "rounded-lg" },
8
+ xl: { primary: "rounded-sm", root: "rounded-xl" },
9
+ "2xl": { primary: "rounded-lg", root: "rounded-2xl" },
10
+ "3xl": { primary: "rounded-2xl", root: "rounded-3xl" },
11
+ "4xl": { primary: "rounded-3xl", root: "rounded-4xl" },
12
+ none: { primary: "rounded-none", root: "rounded-none" }
13
+ };
14
+ export const cardTheme = defineTheme("card", {
15
+ /**
16
+ * La tarjeta. La cabecera queda en el plano secundario y cuerpo y pie
17
+ * forman juntos el plano principal. Un espacio corto separa ambos planos,
18
+ * de modo que la jerarquía se lee por superficies sin introducir una sombra
19
+ * ajena al sistema.
20
+ *
21
+ * El contenedor exterior lleva relleno en las variantes por capas, de modo
22
+ * que tanto la cabecera como el plano principal respiren dentro del marco.
23
+ *
24
+ * **La raíz lleva anillo de foco desde que existe `tag`.** Con `tag` la
25
+ * tarjeta puede **ser** un enlace o un botón, y entonces recibe el foco.
26
+ *
27
+ * Y aquí hay que decir qué pasaba de verdad, porque lo primero que se
28
+ * escribió en este mismo comentario era falso y lo desmintió la medición.
29
+ * **No se quedaba sin contorno**: quitando las tres clases con el elemento
30
+ * enfocado, el contorno calculado sigue siendo `1px auto` —el del navegador,
31
+ * que el preflight de Tailwind no neutraliza— y con las clases pasa a `2px
32
+ * solid` del acento, con 2px de separación. O sea que el defecto no era una
33
+ * tarjeta invisible al tabular, sino **la única superficie enfocable de vuno
34
+ * que no llevaba el anillo del sistema**: grosor, color y separación
35
+ * distintos de los del botón, el campo y el enlace de la miga, y a merced de
36
+ * lo que pinte cada navegador. Que ya lo era se ve en que el ejemplo de la
37
+ * ficha llevaba el anillo escrito a mano sobre el enlace que la envolvía.
38
+ *
39
+ * Va **siempre puesto y sin variante que lo encienda**, que es lo contrario
40
+ * de lo que pide el reflejo. El motivo es que la condición ya la impone
41
+ * `:focus-visible`: un elemento que no puede recibir el foco no la cumple
42
+ * nunca, así que sobre un `div` las tres clases no pintan nada —medido: con
43
+ * `tag` por defecto la tarjeta ni siquiera es parada del tabulador—. Una
44
+ * variante sería una segunda copia, más débil, de una condición que el CSS
45
+ * ya garantiza, y además tendría que **adivinar** si un `tag` cualquiera es
46
+ * enfocable; se equivocaría justo en el caso peligroso, el de un `div` con
47
+ * un `tabindex` llegado por atributos, dejando sin anillo algo que sí toma
48
+ * el foco.
49
+ *
50
+ * El color solo tiñe la capa exterior. El cuerpo conserva la superficie de
51
+ * lectura y el mismo acento alimenta el título y el anillo de foco.
52
+ */
53
+ slots: {
54
+ body: "p-4 text-vuno-body",
55
+ footer: "p-4",
56
+ header: "flex items-center gap-2 p-4 font-semibold text-(--vuno-accent)",
57
+ primary: "relative flex min-h-0 flex-col divide-y divide-vuno-border overflow-hidden rounded-3xl border border-transparent",
58
+ root: "flex w-full flex-col rounded-4xl border border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--vuno-accent)"
59
+ },
60
+ variants: {
61
+ color: accentByColor("root"),
62
+ radius: cardRadius,
63
+ /*
64
+ * `outline` usa el papel blanco del sistema y se cierra con un borde:
65
+ * es la composición de tarjeta nítida sobre un fondo casi blanco.
66
+ * `soft` conserva la separación tonal y no lleva borde, porque va dentro
67
+ * de algo ya levantado y ahí otro borde no separa nada.
68
+ */
69
+ variant: {
70
+ outline: {
71
+ header: "px-4 py-2",
72
+ primary: "border-(--vuno-accent)/20 bg-vuno-surface",
73
+ root: "gap-2 overflow-hidden border-(--vuno-accent)/20 bg-(--vuno-accent)/10 p-2"
74
+ },
75
+ soft: {
76
+ header: "px-4 py-2",
77
+ primary: "bg-vuno-surface-1",
78
+ root: "gap-2 overflow-hidden bg-(--vuno-accent)/10 p-2"
79
+ }
80
+ }
81
+ }
82
+ });
@@ -0,0 +1,12 @@
1
+ import type { Component } from 'vue';
2
+ import type { VunoColor, VunoRadius } from '#vuno/types/base';
3
+ import type { VunoUi } from '#vuno/types/slots';
4
+ /** Curvatura de una tarjeta: admite esquinas rectas, pero no forma de píldora. */
5
+ export type VunoCardRadius = Exclude<VunoRadius, 'full'>;
6
+ export type VunoCardProps = {
7
+ color?: VunoColor;
8
+ radius?: VunoCardRadius;
9
+ tag?: Component | string;
10
+ ui?: VunoUi<'card'>;
11
+ variant?: 'outline' | 'soft';
12
+ };
File without changes