@groupteknology/vuno 1.0.1 → 2.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 (481) hide show
  1. package/README.md +53 -27
  2. package/dist/module.d.mts +2 -0
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +33 -12
  5. package/dist/runtime/app/assets/css/dialog.css +1 -1
  6. package/dist/runtime/app/assets/css/stylesheet.css +1 -0
  7. package/dist/runtime/app/assets/css/theme.css +1 -1
  8. package/dist/runtime/app/assets/css/tokens.css +1 -1
  9. package/dist/runtime/app/components/Alert/Alert.d.vue.ts +20 -0
  10. package/dist/runtime/app/components/Alert/Alert.theme.d.ts +13 -0
  11. package/dist/runtime/app/components/Alert/Alert.theme.js +13 -0
  12. package/dist/runtime/app/components/Alert/Alert.vue +59 -0
  13. package/dist/runtime/app/components/Alert/Alert.vue.d.ts +20 -0
  14. package/dist/runtime/app/components/{overlays → App}/App.d.vue.ts +4 -5
  15. package/dist/runtime/app/components/{overlays → App}/App.vue +8 -12
  16. package/dist/runtime/app/components/{overlays → App}/App.vue.d.ts +4 -5
  17. package/dist/runtime/app/components/App/internal/Overlay/Overlay.d.vue.ts +7 -0
  18. package/dist/runtime/app/components/{overlays → App/internal/Overlay}/Overlay.vue +5 -6
  19. package/dist/runtime/app/components/App/internal/Overlay/Overlay.vue.d.ts +7 -0
  20. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.d.vue.ts +8 -0
  21. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue +19 -0
  22. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue.d.ts +8 -0
  23. package/dist/runtime/app/components/{overlays → App/internal/Toast}/Toast.d.vue.ts +3 -3
  24. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.d.ts +13 -0
  25. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.js +18 -0
  26. package/dist/runtime/app/components/{overlays → App/internal/Toast}/Toast.vue +3 -2
  27. package/dist/runtime/app/components/{overlays → App/internal/Toast}/Toast.vue.d.ts +3 -3
  28. package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.d.vue.ts +3 -3
  29. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.d.ts +15 -0
  30. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.js +16 -0
  31. package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.vue +3 -2
  32. package/dist/runtime/app/components/{overlays → App/internal/Toaster}/Toaster.vue.d.ts +3 -3
  33. package/dist/runtime/app/components/{actions → Avatar}/Avatar.d.vue.ts +9 -5
  34. package/dist/runtime/app/components/Avatar/Avatar.theme.d.ts +30 -0
  35. package/dist/runtime/app/components/Avatar/Avatar.theme.js +22 -0
  36. package/dist/runtime/app/components/{actions → Avatar}/Avatar.vue +7 -5
  37. package/dist/runtime/app/components/{actions → Avatar}/Avatar.vue.d.ts +9 -5
  38. package/dist/runtime/app/components/{actions → Badge}/Badge.d.vue.ts +9 -5
  39. package/dist/runtime/app/components/Badge/Badge.theme.d.ts +40 -0
  40. package/dist/runtime/app/components/Badge/Badge.theme.js +22 -0
  41. package/dist/runtime/app/components/{actions → Badge}/Badge.vue +3 -0
  42. package/dist/runtime/app/components/{actions → Badge}/Badge.vue.d.ts +9 -5
  43. package/dist/runtime/app/components/{actions → Button}/Button.d.vue.ts +10 -6
  44. package/dist/runtime/app/components/Button/Button.theme.d.ts +88 -0
  45. package/dist/runtime/app/components/Button/Button.theme.js +59 -0
  46. package/dist/runtime/app/components/{actions → Button}/Button.vue +10 -3
  47. package/dist/runtime/app/components/{actions → Button}/Button.vue.d.ts +10 -6
  48. package/dist/runtime/app/components/{structure → Card}/Card.d.vue.ts +9 -5
  49. package/dist/runtime/app/components/Card/Card.theme.d.ts +57 -0
  50. package/dist/runtime/app/components/Card/Card.theme.js +62 -0
  51. package/dist/runtime/app/components/{structure → Card}/Card.vue +3 -1
  52. package/dist/runtime/app/components/{structure → Card}/Card.vue.d.ts +9 -5
  53. package/dist/runtime/app/components/Code/Code.d.vue.ts +19 -0
  54. package/dist/runtime/app/components/Code/Code.theme.d.ts +11 -0
  55. package/dist/runtime/app/components/Code/Code.theme.js +12 -0
  56. package/dist/runtime/app/components/Code/Code.vue +109 -0
  57. package/dist/runtime/app/components/Code/Code.vue.d.ts +19 -0
  58. package/dist/runtime/app/components/{overlays → Confirm}/Confirm.d.vue.ts +2 -2
  59. package/dist/runtime/app/components/Confirm/Confirm.theme.d.ts +12 -0
  60. package/dist/runtime/app/components/Confirm/Confirm.theme.js +13 -0
  61. package/dist/runtime/app/components/{overlays → Confirm}/Confirm.vue +10 -5
  62. package/dist/runtime/app/components/{overlays → Confirm}/Confirm.vue.d.ts +2 -2
  63. package/dist/runtime/app/components/{structure → Container}/Container.d.vue.ts +5 -5
  64. package/dist/runtime/app/components/Container/Container.theme.d.ts +53 -0
  65. package/dist/runtime/app/components/Container/Container.theme.js +31 -0
  66. package/dist/runtime/app/components/{structure → Container}/Container.vue +2 -1
  67. package/dist/runtime/app/components/{structure → Container}/Container.vue.d.ts +5 -5
  68. package/dist/runtime/app/components/ControlGroup/ControlGroup.d.vue.ts +26 -0
  69. package/dist/runtime/app/components/ControlGroup/ControlGroup.theme.d.ts +16 -0
  70. package/dist/runtime/app/components/ControlGroup/ControlGroup.theme.js +13 -0
  71. package/dist/runtime/app/components/ControlGroup/ControlGroup.vue +26 -0
  72. package/dist/runtime/app/components/ControlGroup/ControlGroup.vue.d.ts +26 -0
  73. package/dist/runtime/app/components/FieldArray/FieldArray.d.vue.ts +13 -0
  74. package/dist/runtime/app/components/FieldArray/FieldArray.theme.d.ts +12 -0
  75. package/dist/runtime/app/components/FieldArray/FieldArray.theme.js +13 -0
  76. package/dist/runtime/app/components/FieldArray/FieldArray.vue +173 -0
  77. package/dist/runtime/app/components/FieldArray/FieldArray.vue.d.ts +13 -0
  78. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.d.vue.ts +13 -0
  79. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.theme.d.ts +5 -0
  80. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.theme.js +2 -0
  81. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue +39 -0
  82. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue.d.ts +13 -0
  83. package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.d.vue.ts +9 -4
  84. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.theme.d.ts +30 -0
  85. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.theme.js +10 -0
  86. package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.vue +7 -4
  87. package/dist/runtime/app/components/{forms → FieldCheckbox/internal/Checkbox}/Checkbox.vue.d.ts +9 -4
  88. package/dist/runtime/app/components/FieldColor/FieldColor.d.vue.ts +13 -0
  89. package/dist/runtime/app/components/FieldColor/FieldColor.theme.d.ts +27 -0
  90. package/dist/runtime/app/components/FieldColor/FieldColor.theme.js +18 -0
  91. package/dist/runtime/app/components/{forms/fields → FieldColor}/FieldColor.vue +39 -32
  92. package/dist/runtime/app/components/FieldColor/FieldColor.vue.d.ts +13 -0
  93. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.d.vue.ts +13 -0
  94. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.theme.d.ts +5 -0
  95. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.theme.js +2 -0
  96. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue +51 -0
  97. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue.d.ts +13 -0
  98. package/dist/runtime/app/components/{forms/fields → FieldFile}/FieldFile.d.vue.ts +10 -2
  99. package/dist/runtime/app/components/FieldFile/FieldFile.theme.d.ts +5 -0
  100. package/dist/runtime/app/components/FieldFile/FieldFile.theme.js +2 -0
  101. package/dist/runtime/app/components/FieldFile/FieldFile.vue +99 -0
  102. package/dist/runtime/app/components/{forms/fields → FieldFile}/FieldFile.vue.d.ts +10 -2
  103. package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.d.vue.ts +25 -20
  104. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.d.ts +88 -0
  105. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.js +55 -0
  106. package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.vue +21 -20
  107. package/dist/runtime/app/components/{forms → FieldFile/internal/FileUpload}/FileUpload.vue.d.ts +25 -20
  108. package/dist/runtime/app/components/FieldInput/FieldInput.d.vue.ts +24 -0
  109. package/dist/runtime/app/components/FieldInput/FieldInput.theme.d.ts +5 -0
  110. package/dist/runtime/app/components/FieldInput/FieldInput.theme.js +2 -0
  111. package/dist/runtime/app/components/FieldInput/FieldInput.vue +61 -0
  112. package/dist/runtime/app/components/FieldInput/FieldInput.vue.d.ts +24 -0
  113. package/dist/runtime/app/components/FieldNumber/FieldNumber.d.vue.ts +13 -0
  114. package/dist/runtime/app/components/FieldNumber/FieldNumber.theme.d.ts +5 -0
  115. package/dist/runtime/app/components/FieldNumber/FieldNumber.theme.js +2 -0
  116. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue +47 -0
  117. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue.d.ts +13 -0
  118. package/dist/runtime/app/components/FieldPassword/FieldPassword.d.vue.ts +13 -0
  119. package/dist/runtime/app/components/FieldPassword/FieldPassword.theme.d.ts +5 -0
  120. package/dist/runtime/app/components/FieldPassword/FieldPassword.theme.js +2 -0
  121. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue +62 -0
  122. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue.d.ts +13 -0
  123. package/dist/runtime/app/components/FieldRadio/FieldRadio.d.vue.ts +13 -0
  124. package/dist/runtime/app/components/FieldRadio/FieldRadio.theme.d.ts +5 -0
  125. package/dist/runtime/app/components/FieldRadio/FieldRadio.theme.js +2 -0
  126. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue +41 -0
  127. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue.d.ts +13 -0
  128. package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.d.vue.ts +10 -8
  129. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.theme.d.ts +54 -0
  130. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.theme.js +31 -0
  131. package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.vue +7 -4
  132. package/dist/runtime/app/components/{forms → FieldRadio/internal/RadioGroup}/RadioGroup.vue.d.ts +10 -8
  133. package/dist/runtime/app/components/FieldSearch/FieldSearch.d.vue.ts +17 -0
  134. package/dist/runtime/app/components/FieldSearch/FieldSearch.theme.d.ts +6 -0
  135. package/dist/runtime/app/components/FieldSearch/FieldSearch.theme.js +7 -0
  136. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue +74 -0
  137. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue.d.ts +17 -0
  138. package/dist/runtime/app/components/FieldSelect/FieldSelect.d.vue.ts +13 -0
  139. package/dist/runtime/app/components/FieldSelect/FieldSelect.theme.d.ts +5 -0
  140. package/dist/runtime/app/components/FieldSelect/FieldSelect.theme.js +2 -0
  141. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue +45 -0
  142. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue.d.ts +13 -0
  143. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.d.vue.ts +97 -0
  144. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.theme.d.ts +36 -0
  145. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.theme.js +49 -0
  146. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue +196 -0
  147. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue.d.ts +97 -0
  148. package/dist/runtime/app/{utils → components/FieldSelect/internal/Select}/option.d.ts +3 -4
  149. package/dist/runtime/app/components/FieldSelect/internal/Select/useVunoSelectState.d.ts +30 -0
  150. package/dist/runtime/app/components/FieldSelect/internal/Select/useVunoSelectState.js +142 -0
  151. package/dist/runtime/app/components/FieldSlug/FieldSlug.d.vue.ts +13 -0
  152. package/dist/runtime/app/components/FieldSlug/FieldSlug.theme.d.ts +5 -0
  153. package/dist/runtime/app/components/FieldSlug/FieldSlug.theme.js +2 -0
  154. package/dist/runtime/app/components/{forms/fields → FieldSlug}/FieldSlug.vue +58 -47
  155. package/dist/runtime/app/components/FieldSlug/FieldSlug.vue.d.ts +13 -0
  156. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.d.vue.ts +13 -0
  157. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.theme.d.ts +5 -0
  158. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.theme.js +2 -0
  159. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue +37 -0
  160. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue.d.ts +13 -0
  161. package/dist/runtime/app/components/{forms → FieldSwitch/internal/Switch}/Switch.d.vue.ts +9 -4
  162. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.theme.d.ts +39 -0
  163. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.theme.js +20 -0
  164. package/dist/runtime/app/components/{forms → FieldSwitch/internal/Switch}/Switch.vue +4 -2
  165. package/dist/runtime/app/components/{forms → FieldSwitch/internal/Switch}/Switch.vue.d.ts +9 -4
  166. package/dist/runtime/app/components/FieldTags/FieldTags.d.vue.ts +13 -0
  167. package/dist/runtime/app/components/FieldTags/FieldTags.theme.d.ts +5 -0
  168. package/dist/runtime/app/components/FieldTags/FieldTags.theme.js +2 -0
  169. package/dist/runtime/app/components/FieldTags/FieldTags.vue +41 -0
  170. package/dist/runtime/app/components/FieldTags/FieldTags.vue.d.ts +13 -0
  171. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.d.vue.ts +26 -0
  172. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.theme.d.ts +34 -0
  173. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.theme.js +20 -0
  174. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue +97 -0
  175. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue.d.ts +26 -0
  176. package/dist/runtime/app/components/{forms/fields → FieldTextarea}/FieldTextarea.d.vue.ts +10 -2
  177. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.theme.d.ts +5 -0
  178. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.theme.js +2 -0
  179. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue +45 -0
  180. package/dist/runtime/app/components/{forms/fields → FieldTextarea}/FieldTextarea.vue.d.ts +10 -2
  181. package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.d.vue.ts +9 -4
  182. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.theme.d.ts +36 -0
  183. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.theme.js +37 -0
  184. package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.vue +6 -4
  185. package/dist/runtime/app/components/{forms → FieldTextarea/internal/Textarea}/Textarea.vue.d.ts +9 -4
  186. package/dist/runtime/app/components/{forms → Form}/Form.d.vue.ts +3 -4
  187. package/dist/runtime/app/components/Form/Form.theme.d.ts +9 -0
  188. package/dist/runtime/app/components/Form/Form.theme.js +10 -0
  189. package/dist/runtime/app/components/{forms → Form}/Form.vue +7 -6
  190. package/dist/runtime/app/components/{forms → Form}/Form.vue.d.ts +3 -4
  191. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.d.vue.ts +7 -0
  192. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.vue +67 -0
  193. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.vue.d.ts +7 -0
  194. package/dist/runtime/app/components/Form/internal/standard-schema.d.ts +29 -0
  195. package/dist/runtime/app/{internal → components/Form/internal}/useVunoFormState.d.ts +5 -3
  196. package/dist/runtime/app/{internal → components/Form/internal}/useVunoFormState.js +4 -3
  197. package/dist/runtime/app/components/{forms → FormField}/FormField.d.vue.ts +7 -4
  198. package/dist/runtime/app/components/FormField/FormField.theme.d.ts +62 -0
  199. package/dist/runtime/app/components/FormField/FormField.theme.js +28 -0
  200. package/dist/runtime/app/components/{forms → FormField}/FormField.vue +61 -42
  201. package/dist/runtime/app/components/{forms → FormField}/FormField.vue.d.ts +7 -4
  202. package/dist/runtime/app/components/{forms → FormModal}/FormModal.d.vue.ts +9 -7
  203. package/dist/runtime/app/components/FormModal/FormModal.theme.d.ts +8 -0
  204. package/dist/runtime/app/components/FormModal/FormModal.theme.js +9 -0
  205. package/dist/runtime/app/components/{forms → FormModal}/FormModal.vue +15 -12
  206. package/dist/runtime/app/components/{forms → FormModal}/FormModal.vue.d.ts +9 -7
  207. package/dist/runtime/app/components/FormSection/FormSection.d.vue.ts +15 -0
  208. package/dist/runtime/app/components/FormSection/FormSection.theme.d.ts +12 -0
  209. package/dist/runtime/app/components/FormSection/FormSection.theme.js +14 -0
  210. package/dist/runtime/app/components/{forms → FormSection}/FormSection.vue +5 -3
  211. package/dist/runtime/app/components/FormSection/FormSection.vue.d.ts +15 -0
  212. package/dist/runtime/app/components/Icon/Icon.d.vue.ts +6 -0
  213. package/dist/runtime/app/components/Icon/Icon.vue +32 -0
  214. package/dist/runtime/app/components/Icon/Icon.vue.d.ts +6 -0
  215. package/dist/runtime/app/components/{actions → Menu}/Menu.d.vue.ts +6 -4
  216. package/dist/runtime/app/components/Menu/Menu.theme.d.ts +17 -0
  217. package/dist/runtime/app/components/Menu/Menu.theme.js +20 -0
  218. package/dist/runtime/app/components/{actions → Menu}/Menu.vue +20 -27
  219. package/dist/runtime/app/components/{actions → Menu}/Menu.vue.d.ts +6 -4
  220. package/dist/runtime/app/components/Modal/Modal.d.vue.ts +43 -0
  221. package/dist/runtime/app/components/Modal/Modal.theme.d.ts +59 -0
  222. package/dist/runtime/app/components/Modal/Modal.theme.js +47 -0
  223. package/dist/runtime/app/components/{overlays → Modal}/Modal.vue +89 -32
  224. package/dist/runtime/app/components/Modal/Modal.vue.d.ts +43 -0
  225. package/dist/runtime/app/components/{structure → Navbar}/Navbar.d.vue.ts +14 -18
  226. package/dist/runtime/app/components/Navbar/Navbar.theme.d.ts +31 -0
  227. package/dist/runtime/app/components/Navbar/Navbar.theme.js +32 -0
  228. package/dist/runtime/app/components/{structure → Navbar}/Navbar.vue +1 -0
  229. package/dist/runtime/app/components/{structure → Navbar}/Navbar.vue.d.ts +14 -18
  230. package/dist/runtime/app/components/NavigationList/NavigationList.d.vue.ts +38 -0
  231. package/dist/runtime/app/components/NavigationList/NavigationList.theme.d.ts +32 -0
  232. package/dist/runtime/app/components/NavigationList/NavigationList.theme.js +35 -0
  233. package/dist/runtime/app/components/{structure/Navigation.vue → NavigationList/NavigationList.vue} +74 -34
  234. package/dist/runtime/app/components/NavigationList/NavigationList.vue.d.ts +38 -0
  235. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.d.vue.ts +31 -0
  236. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.theme.d.ts +26 -0
  237. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.theme.js +27 -0
  238. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue +236 -0
  239. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue.d.ts +31 -0
  240. package/dist/runtime/app/components/NavigationToc/NavigationToc.d.vue.ts +14 -0
  241. package/dist/runtime/app/components/NavigationToc/NavigationToc.theme.d.ts +9 -0
  242. package/dist/runtime/app/components/NavigationToc/NavigationToc.theme.js +10 -0
  243. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue +81 -0
  244. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue.d.ts +14 -0
  245. package/dist/runtime/app/components/{structure → Page}/Page.d.vue.ts +6 -5
  246. package/dist/runtime/app/components/Page/Page.theme.d.ts +32 -0
  247. package/dist/runtime/app/components/Page/Page.theme.js +31 -0
  248. package/dist/runtime/app/components/{structure → Page}/Page.vue +11 -3
  249. package/dist/runtime/app/components/{structure → Page}/Page.vue.d.ts +6 -5
  250. package/dist/runtime/app/components/{structure → Pagination}/Pagination.d.vue.ts +8 -7
  251. package/dist/runtime/app/components/Pagination/Pagination.theme.d.ts +13 -0
  252. package/dist/runtime/app/components/Pagination/Pagination.theme.js +14 -0
  253. package/dist/runtime/app/components/{structure → Pagination}/Pagination.vue +4 -2
  254. package/dist/runtime/app/components/{structure → Pagination}/Pagination.vue.d.ts +8 -7
  255. package/dist/runtime/app/components/{overlays/Modal.d.vue.ts → Slideover/Slideover.d.vue.ts} +10 -18
  256. package/dist/runtime/app/components/Slideover/Slideover.theme.d.ts +35 -0
  257. package/dist/runtime/app/components/Slideover/Slideover.theme.js +24 -0
  258. package/dist/runtime/app/components/Slideover/Slideover.vue +58 -0
  259. package/dist/runtime/app/components/{overlays/Modal.vue.d.ts → Slideover/Slideover.vue.d.ts} +10 -18
  260. package/dist/runtime/app/components/State/State.theme.d.ts +19 -0
  261. package/dist/runtime/app/components/State/State.theme.js +26 -0
  262. package/dist/runtime/app/components/{structure → State}/State.vue +8 -3
  263. package/dist/runtime/app/components/{structure → Table}/Table.d.vue.ts +5 -2
  264. package/dist/runtime/app/components/Table/Table.theme.d.ts +50 -0
  265. package/dist/runtime/app/components/Table/Table.theme.js +64 -0
  266. package/dist/runtime/app/components/{structure → Table}/Table.vue +62 -72
  267. package/dist/runtime/app/components/{structure → Table}/Table.vue.d.ts +5 -2
  268. package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.vue +2 -1
  269. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.theme.d.ts +21 -0
  270. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.theme.js +11 -0
  271. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.vue +32 -0
  272. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.theme.d.ts +5 -0
  273. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.theme.js +4 -0
  274. package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.vue +1 -0
  275. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.theme.d.ts +5 -0
  276. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.theme.js +4 -0
  277. package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.vue +1 -0
  278. package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.vue +2 -1
  279. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.theme.d.ts +5 -0
  280. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.theme.js +4 -0
  281. package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.vue +1 -0
  282. package/dist/runtime/app/components/Table/internal/CellText/CellText.theme.d.ts +13 -0
  283. package/dist/runtime/app/components/Table/internal/CellText/CellText.theme.js +11 -0
  284. package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.vue +1 -0
  285. package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.vue +9 -8
  286. package/dist/runtime/app/{utils → components/Table/internal}/column.js +1 -1
  287. package/dist/runtime/app/{internal → components/Table/internal}/useVunoTable.d.ts +23 -22
  288. package/dist/runtime/app/{internal → components/Table/internal}/useVunoTable.js +1 -1
  289. package/dist/runtime/app/components/Table/internal/useVunoTableSelection.d.ts +21 -0
  290. package/dist/runtime/app/components/Table/internal/useVunoTableSelection.js +29 -0
  291. package/dist/runtime/app/components/{structure → Tabs}/Tabs.d.vue.ts +8 -7
  292. package/dist/runtime/app/components/Tabs/Tabs.theme.d.ts +32 -0
  293. package/dist/runtime/app/components/Tabs/Tabs.theme.js +23 -0
  294. package/dist/runtime/app/components/{structure → Tabs}/Tabs.vue +13 -8
  295. package/dist/runtime/app/components/{structure → Tabs}/Tabs.vue.d.ts +8 -7
  296. package/dist/runtime/app/components/{actions → Tooltip}/Tooltip.d.vue.ts +6 -6
  297. package/dist/runtime/app/components/Tooltip/Tooltip.theme.d.ts +12 -0
  298. package/dist/runtime/app/components/Tooltip/Tooltip.theme.js +13 -0
  299. package/dist/runtime/app/components/{actions → Tooltip}/Tooltip.vue +10 -23
  300. package/dist/runtime/app/components/{actions → Tooltip}/Tooltip.vue.d.ts +6 -6
  301. package/dist/runtime/app/components/{forms → internal/ControlShell}/ControlShell.d.vue.ts +9 -5
  302. package/dist/runtime/app/components/internal/ControlShell/ControlShell.theme.d.ts +50 -0
  303. package/dist/runtime/app/components/internal/ControlShell/ControlShell.theme.js +38 -0
  304. package/dist/runtime/app/components/internal/ControlShell/ControlShell.vue +33 -0
  305. package/dist/runtime/app/components/{forms → internal/ControlShell}/ControlShell.vue.d.ts +9 -5
  306. package/dist/runtime/app/components/internal/FieldShell/FieldShell.d.vue.ts +23 -0
  307. package/dist/runtime/app/components/internal/FieldShell/FieldShell.vue +63 -0
  308. package/dist/runtime/app/components/internal/FieldShell/FieldShell.vue.d.ts +23 -0
  309. package/dist/runtime/app/components/{forms → internal/Input}/Input.d.vue.ts +15 -10
  310. package/dist/runtime/app/components/internal/Input/Input.theme.d.ts +30 -0
  311. package/dist/runtime/app/components/internal/Input/Input.theme.js +21 -0
  312. package/dist/runtime/app/components/{forms → internal/Input}/Input.vue +8 -6
  313. package/dist/runtime/app/components/{forms → internal/Input}/Input.vue.d.ts +15 -10
  314. package/dist/runtime/app/components/{forms → internal/NumberInput}/NumberInput.d.vue.ts +14 -8
  315. package/dist/runtime/app/components/internal/NumberInput/NumberInput.theme.d.ts +31 -0
  316. package/dist/runtime/app/components/internal/NumberInput/NumberInput.theme.js +26 -0
  317. package/dist/runtime/app/components/internal/NumberInput/NumberInput.vue +221 -0
  318. package/dist/runtime/app/components/{forms → internal/NumberInput}/NumberInput.vue.d.ts +14 -8
  319. package/dist/runtime/app/{utils → components/internal/NumberInput}/number.d.ts +7 -0
  320. package/dist/runtime/app/components/internal/NumberInput/number.js +64 -0
  321. package/dist/runtime/app/composables/defineShortcuts.d.ts +19 -0
  322. package/dist/runtime/app/composables/defineShortcuts.js +68 -0
  323. package/dist/runtime/app/{internal → composables/internal}/useVunoAnchor.d.ts +6 -4
  324. package/dist/runtime/app/{internal → composables/internal}/useVunoAnchor.js +3 -2
  325. package/dist/runtime/app/composables/internal/useVunoControlGroup.d.ts +17 -0
  326. package/dist/runtime/app/composables/internal/useVunoControlGroup.js +18 -0
  327. package/dist/runtime/app/{internal → composables/internal}/useVunoPortal.d.ts +3 -8
  328. package/dist/runtime/app/composables/internal/useVunoPortal.js +12 -0
  329. package/dist/runtime/app/composables/useCrud.js +5 -4
  330. package/dist/runtime/app/composables/useField.d.ts +3 -3
  331. package/dist/runtime/app/composables/useField.js +16 -8
  332. package/dist/runtime/app/composables/useForm.d.ts +3 -0
  333. package/dist/runtime/app/composables/useForm.js +2 -2
  334. package/dist/runtime/app/composables/useModal.js +1 -3
  335. package/dist/runtime/app/composables/useTableQuery.js +29 -13
  336. package/dist/runtime/app/composables/useTheme.d.ts +3 -2
  337. package/dist/runtime/app/composables/useTheme.js +4 -2
  338. package/dist/runtime/app/internal/keys.d.ts +11 -5
  339. package/dist/runtime/app/internal/keys.js +5 -2
  340. package/dist/runtime/app/internal/slots.d.ts +3 -0
  341. package/dist/runtime/app/internal/slots.js +13 -1
  342. package/dist/runtime/app/plugins/vue-query.d.ts +8 -0
  343. package/dist/runtime/app/plugins/vue-query.js +13 -0
  344. package/dist/runtime/app/theme/icons.js +4 -1
  345. package/dist/runtime/app/theme/index.d.ts +1158 -4
  346. package/dist/runtime/app/theme/index.js +116 -10
  347. package/dist/runtime/app/theme/messages.js +10 -3
  348. package/dist/runtime/app/theme/shared.d.ts +19 -3
  349. package/dist/runtime/app/theme/shared.js +15 -1
  350. package/dist/runtime/app/types/alert.d.ts +13 -0
  351. package/dist/runtime/app/types/base.d.ts +19 -1
  352. package/dist/runtime/app/types/field-type.d.ts +4 -0
  353. package/dist/runtime/app/types/field-type.js +0 -0
  354. package/dist/runtime/app/types/field.d.ts +132 -26
  355. package/dist/runtime/app/types/form.d.ts +27 -1
  356. package/dist/runtime/app/types/index.d.ts +15 -12
  357. package/dist/runtime/app/types/page.d.ts +9 -1
  358. package/dist/runtime/app/types/shortcuts.d.ts +44 -0
  359. package/dist/runtime/app/types/shortcuts.js +0 -0
  360. package/dist/runtime/app/types/slots.d.ts +30 -0
  361. package/dist/runtime/app/types/slots.js +0 -0
  362. package/dist/runtime/app/types/state.d.ts +3 -3
  363. package/dist/runtime/app/types/table.d.ts +3 -2
  364. package/dist/runtime/app/types/theme.d.ts +51 -13
  365. package/dist/runtime/app/utils/format.js +2 -2
  366. package/dist/runtime/app/utils/path.js +4 -2
  367. package/dist/runtime/app/utils/theme.d.ts +19 -1
  368. package/dist/runtime/app/utils/theme.js +21 -3
  369. package/package.json +18 -3
  370. package/dist/runtime/app/components/actions/Icon.d.vue.ts +0 -6
  371. package/dist/runtime/app/components/actions/Icon.vue +0 -32
  372. package/dist/runtime/app/components/actions/Icon.vue.d.ts +0 -6
  373. package/dist/runtime/app/components/forms/ControlShell.vue +0 -19
  374. package/dist/runtime/app/components/forms/FormFieldRenderer.d.vue.ts +0 -7
  375. package/dist/runtime/app/components/forms/FormFieldRenderer.vue +0 -88
  376. package/dist/runtime/app/components/forms/FormFieldRenderer.vue.d.ts +0 -7
  377. package/dist/runtime/app/components/forms/FormSection.d.vue.ts +0 -12
  378. package/dist/runtime/app/components/forms/FormSection.vue.d.ts +0 -12
  379. package/dist/runtime/app/components/forms/NumberInput.vue +0 -160
  380. package/dist/runtime/app/components/forms/Select.d.vue.ts +0 -61
  381. package/dist/runtime/app/components/forms/Select.vue +0 -336
  382. package/dist/runtime/app/components/forms/Select.vue.d.ts +0 -61
  383. package/dist/runtime/app/components/forms/fields/FieldArray.d.vue.ts +0 -5
  384. package/dist/runtime/app/components/forms/fields/FieldArray.vue +0 -129
  385. package/dist/runtime/app/components/forms/fields/FieldArray.vue.d.ts +0 -5
  386. package/dist/runtime/app/components/forms/fields/FieldCheckbox.d.vue.ts +0 -5
  387. package/dist/runtime/app/components/forms/fields/FieldCheckbox.vue +0 -31
  388. package/dist/runtime/app/components/forms/fields/FieldCheckbox.vue.d.ts +0 -5
  389. package/dist/runtime/app/components/forms/fields/FieldColor.d.vue.ts +0 -5
  390. package/dist/runtime/app/components/forms/fields/FieldColor.vue.d.ts +0 -5
  391. package/dist/runtime/app/components/forms/fields/FieldEmail.d.vue.ts +0 -5
  392. package/dist/runtime/app/components/forms/fields/FieldEmail.vue +0 -38
  393. package/dist/runtime/app/components/forms/fields/FieldEmail.vue.d.ts +0 -5
  394. package/dist/runtime/app/components/forms/fields/FieldFile.vue +0 -91
  395. package/dist/runtime/app/components/forms/fields/FieldNumber.d.vue.ts +0 -5
  396. package/dist/runtime/app/components/forms/fields/FieldNumber.vue +0 -39
  397. package/dist/runtime/app/components/forms/fields/FieldNumber.vue.d.ts +0 -5
  398. package/dist/runtime/app/components/forms/fields/FieldPassword.d.vue.ts +0 -5
  399. package/dist/runtime/app/components/forms/fields/FieldPassword.vue +0 -36
  400. package/dist/runtime/app/components/forms/fields/FieldPassword.vue.d.ts +0 -5
  401. package/dist/runtime/app/components/forms/fields/FieldRadio.d.vue.ts +0 -5
  402. package/dist/runtime/app/components/forms/fields/FieldRadio.vue +0 -33
  403. package/dist/runtime/app/components/forms/fields/FieldRadio.vue.d.ts +0 -5
  404. package/dist/runtime/app/components/forms/fields/FieldSelect.d.vue.ts +0 -5
  405. package/dist/runtime/app/components/forms/fields/FieldSelect.vue +0 -37
  406. package/dist/runtime/app/components/forms/fields/FieldSelect.vue.d.ts +0 -5
  407. package/dist/runtime/app/components/forms/fields/FieldSlug.d.vue.ts +0 -5
  408. package/dist/runtime/app/components/forms/fields/FieldSlug.vue.d.ts +0 -5
  409. package/dist/runtime/app/components/forms/fields/FieldSwitch.d.vue.ts +0 -5
  410. package/dist/runtime/app/components/forms/fields/FieldSwitch.vue +0 -29
  411. package/dist/runtime/app/components/forms/fields/FieldSwitch.vue.d.ts +0 -5
  412. package/dist/runtime/app/components/forms/fields/FieldText.d.vue.ts +0 -5
  413. package/dist/runtime/app/components/forms/fields/FieldText.vue +0 -39
  414. package/dist/runtime/app/components/forms/fields/FieldText.vue.d.ts +0 -5
  415. package/dist/runtime/app/components/forms/fields/FieldTextarea.vue +0 -37
  416. package/dist/runtime/app/components/layouts/dashboard/DashboardAside.d.vue.ts +0 -56
  417. package/dist/runtime/app/components/layouts/dashboard/DashboardAside.vue +0 -96
  418. package/dist/runtime/app/components/layouts/dashboard/DashboardAside.vue.d.ts +0 -56
  419. package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.d.vue.ts +0 -57
  420. package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.vue +0 -164
  421. package/dist/runtime/app/components/layouts/dashboard/DashboardLayout.vue.d.ts +0 -57
  422. package/dist/runtime/app/components/layouts/dashboard/DashboardPage.d.vue.ts +0 -49
  423. package/dist/runtime/app/components/layouts/dashboard/DashboardPage.vue +0 -45
  424. package/dist/runtime/app/components/layouts/dashboard/DashboardPage.vue.d.ts +0 -49
  425. package/dist/runtime/app/components/layouts/public/PublicLayout.d.vue.ts +0 -50
  426. package/dist/runtime/app/components/layouts/public/PublicLayout.vue +0 -56
  427. package/dist/runtime/app/components/layouts/public/PublicLayout.vue.d.ts +0 -50
  428. package/dist/runtime/app/components/overlays/Context.d.vue.ts +0 -3
  429. package/dist/runtime/app/components/overlays/Context.vue +0 -7
  430. package/dist/runtime/app/components/overlays/Context.vue.d.ts +0 -3
  431. package/dist/runtime/app/components/overlays/Overlay.d.vue.ts +0 -7
  432. package/dist/runtime/app/components/overlays/Overlay.vue.d.ts +0 -7
  433. package/dist/runtime/app/components/structure/Navigation.d.vue.ts +0 -14
  434. package/dist/runtime/app/components/structure/Navigation.vue.d.ts +0 -14
  435. package/dist/runtime/app/components/structure/cells/CellBoolean.vue +0 -26
  436. package/dist/runtime/app/composables/useDashboard.d.ts +0 -14
  437. package/dist/runtime/app/composables/useDashboard.js +0 -9
  438. package/dist/runtime/app/internal/useVunoDashboard.d.ts +0 -15
  439. package/dist/runtime/app/internal/useVunoDashboard.js +0 -5
  440. package/dist/runtime/app/internal/useVunoPortal.js +0 -8
  441. package/dist/runtime/app/theme/actions.d.ts +0 -2
  442. package/dist/runtime/app/theme/actions.js +0 -123
  443. package/dist/runtime/app/theme/forms.d.ts +0 -2
  444. package/dist/runtime/app/theme/forms.js +0 -442
  445. package/dist/runtime/app/theme/layouts.d.ts +0 -2
  446. package/dist/runtime/app/theme/layouts.js +0 -76
  447. package/dist/runtime/app/theme/overlays.d.ts +0 -2
  448. package/dist/runtime/app/theme/overlays.js +0 -90
  449. package/dist/runtime/app/theme/structure.d.ts +0 -2
  450. package/dist/runtime/app/theme/structure.js +0 -351
  451. package/dist/runtime/app/types/dashboard.d.ts +0 -7
  452. package/dist/runtime/app/utils/number.js +0 -30
  453. package/dist/runtime/app/utils/standard-schema.d.ts +0 -62
  454. /package/dist/runtime/app/{utils → components/FieldSelect/internal/Select}/option.js +0 -0
  455. /package/dist/runtime/app/{utils → components/Form/internal}/grid.d.ts +0 -0
  456. /package/dist/runtime/app/{utils → components/Form/internal}/grid.js +0 -0
  457. /package/dist/runtime/app/{utils → components/Form/internal}/standard-schema.js +0 -0
  458. /package/dist/runtime/app/components/{structure → State}/State.d.vue.ts +0 -0
  459. /package/dist/runtime/app/components/{structure → State}/State.vue.d.ts +0 -0
  460. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.d.vue.ts +0 -0
  461. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBadge}/CellBadge.vue.d.ts +0 -0
  462. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBoolean}/CellBoolean.d.vue.ts +0 -0
  463. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellBoolean}/CellBoolean.vue.d.ts +0 -0
  464. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.d.vue.ts +0 -0
  465. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellCurrency}/CellCurrency.vue.d.ts +0 -0
  466. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.d.vue.ts +0 -0
  467. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellDate}/CellDate.vue.d.ts +0 -0
  468. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.d.vue.ts +0 -0
  469. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellImage}/CellImage.vue.d.ts +0 -0
  470. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.d.vue.ts +0 -0
  471. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellNumber}/CellNumber.vue.d.ts +0 -0
  472. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.d.vue.ts +0 -0
  473. /package/dist/runtime/app/components/{structure/cells → Table/internal/CellText}/CellText.vue.d.ts +0 -0
  474. /package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.d.vue.ts +0 -0
  475. /package/dist/runtime/app/components/{structure → Table/internal/TableCell}/TableCell.vue.d.ts +0 -0
  476. /package/dist/runtime/app/{utils → components/Table/internal}/column.d.ts +0 -0
  477. /package/dist/runtime/app/{utils → components/Table/internal}/query.d.ts +0 -0
  478. /package/dist/runtime/app/{utils → components/Table/internal}/query.js +0 -0
  479. /package/dist/runtime/app/{utils → components/Table/internal}/selection.d.ts +0 -0
  480. /package/dist/runtime/app/{utils → components/Table/internal}/selection.js +0 -0
  481. /package/dist/runtime/app/types/{dashboard.js → alert.js} +0 -0
@@ -1,351 +0,0 @@
1
- import { skipLink } from "./shared.js";
2
- export const structureTheme = {
3
- /**
4
- * La tarjeta. Tres regiones apiladas y separadas por una línea, que es la
5
- * forma que tenía el caso real escrito a mano antes de que existiera.
6
- *
7
- * El relleno va en cada región y no en la raíz: con él en la raíz, la línea
8
- * divisoria no llegaría a los bordes y quedaría flotando en medio.
9
- *
10
- * **La raíz lleva anillo de foco desde que existe `tag`.** Con `tag` la
11
- * tarjeta puede **ser** un enlace o un botón, y entonces recibe el foco.
12
- *
13
- * Y aquí hay que decir qué pasaba de verdad, porque lo primero que se
14
- * escribió en este mismo comentario era falso y lo desmintió la medición.
15
- * **No se quedaba sin contorno**: quitando las tres clases con el elemento
16
- * enfocado, el contorno calculado sigue siendo `1px auto` —el del navegador,
17
- * que el preflight de Tailwind no neutraliza— y con las clases pasa a `2px
18
- * solid` del acento, con 2px de separación. O sea que el defecto no era una
19
- * tarjeta invisible al tabular, sino **la única superficie enfocable de vuno
20
- * que no llevaba el anillo del sistema**: grosor, color y separación
21
- * distintos de los del botón, el campo y el enlace de la miga, y a merced de
22
- * lo que pinte cada navegador. Que ya lo era se ve en que el ejemplo de la
23
- * ficha llevaba el anillo escrito a mano sobre el enlace que la envolvía.
24
- *
25
- * Va **siempre puesto y sin variante que lo encienda**, que es lo contrario
26
- * de lo que pide el reflejo. El motivo es que la condición ya la impone
27
- * `:focus-visible`: un elemento que no puede recibir el foco no la cumple
28
- * nunca, así que sobre un `div` las tres clases no pintan nada —medido: con
29
- * `tag` por defecto la tarjeta ni siquiera es parada del tabulador—. Una
30
- * variante sería una segunda copia, más débil, de una condición que el CSS
31
- * ya garantiza, y además tendría que **adivinar** si un `tag` cualquiera es
32
- * enfocable; se equivocaría justo en el caso peligroso, el de un `div` con
33
- * un `tabindex` llegado por atributos, dejando sin anillo algo que sí toma
34
- * el foco.
35
- *
36
- * El acento se declara aquí, como en `breadcrumbLink` y en la pestaña: la
37
- * tarjeta no tiene variantes de color de las que sacarlo, y sin declararlo
38
- * `outline-(--vuno-accent)` se quedaría con lo que hubiera heredado.
39
- */
40
- card: {
41
- slots: {
42
- body: "text-vuno-body p-4",
43
- footer: "p-4",
44
- header: "text-vuno-strong p-4 font-semibold",
45
- root: "divide-vuno-border rounded-vuno [--vuno-accent:var(--color-vuno-primary)] flex w-full flex-col divide-y focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--vuno-accent)"
46
- },
47
- variants: {
48
- /*
49
- * `outline` sube un escalón sobre la página y se cierra con un borde.
50
- * `soft` sube dos y no lleva borde, porque va dentro de algo que ya
51
- * está levantado y ahí otro borde no separa nada: lo que distingue es
52
- * la elevación.
53
- */
54
- variant: {
55
- outline: { root: "border-vuno-border bg-vuno-surface-1 border" },
56
- /* Sin contenedor: el marco lo pone quien la envuelve. */
57
- plain: {},
58
- soft: { root: "bg-vuno-surface-2" }
59
- }
60
- }
61
- },
62
- /**
63
- * Las celdas de la tabla. Estaban fuera del tema: el color del sí y del no
64
- * y el ancho al que se corta un texto se decidían en el componente, así que
65
- * un proyecto no tenía dónde cambiar lo primero que suele querer cambiar.
66
- */
67
- cellBoolean: {
68
- slots: { icon: "", label: "" },
69
- /* El color sale de la variante y no de la plantilla. */
70
- variants: {
71
- value: {
72
- false: { icon: "text-vuno-muted" },
73
- true: { icon: "text-vuno-success" }
74
- }
75
- }
76
- },
77
- /*
78
- * `tabular-nums` vive en el slot y no en la plantilla, aunque sea
79
- * estructura y no aspecto: escrito como `class` al lado de un
80
- * `:class="ui.base"` no pasaría por tailwind-merge —conviven y gana el
81
- * orden de la hoja—, que es el defecto que se acaba de quitar de los
82
- * estados. En el slot sigue siendo lo que trae el módulo de serie, y además
83
- * un proyecto que prefiera `proportional-nums` puede sustituirlo en vez de
84
- * acumularlo.
85
- */
86
- cellCurrency: {
87
- slots: { base: "tabular-nums" }
88
- },
89
- cellDate: {
90
- slots: { base: "tabular-nums" }
91
- },
92
- cellNumber: {
93
- slots: { base: "tabular-nums" }
94
- },
95
- cellText: {
96
- slots: { base: "" },
97
- /* Solo corta si la columna lo pide, y el ancho es del tema. */
98
- variants: {
99
- truncate: {
100
- false: {},
101
- true: { base: "block max-w-[32ch] truncate" }
102
- }
103
- }
104
- },
105
- /**
106
- * El contenedor. El ancho sale de la variante y no de una clase suelta: dos
107
- * `max-w-*` sobre el mismo elemento no se resuelven, conviven.
108
- */
109
- container: {
110
- slots: { root: "mx-auto w-full" },
111
- variants: {
112
- /* Se quita en un contenedor dentro de otro, donde se sumaría dos veces. */
113
- padding: {
114
- false: {},
115
- true: { root: "px-4 sm:px-6 lg:px-8" }
116
- },
117
- size: {
118
- sm: { root: "max-w-sm" },
119
- md: { root: "max-w-md" },
120
- lg: { root: "max-w-lg" },
121
- xl: { root: "max-w-xl" },
122
- "2xl": { root: "max-w-2xl" },
123
- "3xl": { root: "max-w-3xl" },
124
- "4xl": { root: "max-w-4xl" },
125
- "5xl": { root: "max-w-5xl" },
126
- "6xl": { root: "max-w-6xl" },
127
- "7xl": { root: "max-w-7xl" },
128
- full: {}
129
- }
130
- }
131
- },
132
- /**
133
- * La barra de navegación: tres regiones en una fila.
134
- *
135
- * **Sin fondo, sin borde y sin sitio propio**, y eso no es un olvido: la
136
- * barra va dentro del `<header>` de un layout, que es quien la pega arriba,
137
- * la pinta y la separa del contenido. Repetir aquí el fondo la dejaría con
138
- * dos, y repetir el borde pondría dos líneas a un píxel una de otra.
139
- *
140
- * El reparto es una rejilla de tres columnas y no un `justify-between`, y
141
- * esa es la única diferencia que se ve: con `between`, el centro queda
142
- * centrado **solo si los dos lados miden lo mismo**, así que un logotipo
143
- * largo a la izquierda lo desplaza. Con `1fr auto 1fr` el centro cae en el
144
- * centro de la barra pase lo que pase a los lados. Cuando no hay centro, las
145
- * dos columnas elásticas empujan a los lados y se ve igual que un `between`.
146
- *
147
- * `minmax(0,1fr)` y no `1fr` porque la segunda no baja de su contenido, y
148
- * entonces un título largo a la izquierda no se trunca: empuja la barra y
149
- * saca scroll horizontal a la página.
150
- *
151
- * La izquierda encoge y la derecha no —`min-w-0` contra `shrink-0`—, que es
152
- * lo que ya se aprendió en la barra de `VPage`: lo que se recorta es el
153
- * texto, nunca los botones.
154
- */
155
- navbar: {
156
- slots: {
157
- center: "flex min-w-0 items-center justify-center gap-2",
158
- left: "flex min-w-0 items-center gap-2",
159
- right: "flex shrink-0 items-center justify-end gap-2",
160
- root: "grid h-full w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-3 px-4 sm:px-6"
161
- }
162
- },
163
- /**
164
- * Navegación anidada. La fila es lo que se pulsa y la sublista es lo que se
165
- * despliega, así que las dos llevan slot propio.
166
- *
167
- * El estado activo se pinta desde `aria-current`, que es lo que `NuxtLink`
168
- * pone solo, y no desde una clase aparte: así lo que se ve y lo que se
169
- * anuncia no se pueden separar.
170
- */
171
- navigation: {
172
- slots: {
173
- badge: "bg-vuno-surface-2 text-vuno-muted rounded-vuno ms-auto px-1.5 py-0.5 text-xs",
174
- icon: "size-4 shrink-0",
175
- item: "flex flex-col",
176
- label: "truncate",
177
- link: "rounded-vuno text-vuno-muted hover:bg-vuno-surface-1 hover:text-vuno-body aria-[current=page]:bg-vuno-surface-1 aria-[current=page]:text-vuno-strong focus-visible:outline-vuno-primary flex min-w-0 flex-1 items-center gap-2 px-3 py-1.5 text-sm transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 aria-[current=page]:font-medium aria-disabled:pointer-events-none aria-disabled:opacity-50",
178
- list: "flex flex-col gap-0.5",
179
- root: "flex flex-col",
180
- row: "flex items-center gap-0.5",
181
- /* La sangría marca el nivel, y va en la sublista para no contar niveles. */
182
- sublist: "border-vuno-border ms-4 border-s ps-2",
183
- toggle: "rounded-vuno text-vuno-muted hover:bg-vuno-surface-1 hover:text-vuno-body focus-visible:outline-vuno-primary flex min-w-0 flex-1 cursor-pointer items-center gap-2 px-3 py-1.5 text-sm transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
184
- /* Al lado de un enlace el botón es solo la flecha: deja de crecer. */
185
- toggleAside: "flex-none px-1.5",
186
- toggleIcon: "size-4 shrink-0 transition-transform",
187
- toggleIconOpen: "rotate-90"
188
- }
189
- },
190
- /**
191
- * La barra y el panel los pinta el módulo: los componentes de la gama Pro
192
- * que había antes solo aportaban dos huecos, y encima había que anularles
193
- * el relleno porque el ritmo lo pone `body`.
194
- */
195
- page: {
196
- slots: {
197
- body: "flex w-full flex-col gap-7 px-4 py-6 sm:px-6 sm:py-8 lg:px-10 lg:py-10",
198
- breadcrumb: "hidden min-w-0 sm:block",
199
- breadcrumbCurrent: "text-vuno-strong truncate text-sm font-semibold",
200
- breadcrumbItem: "flex min-w-0 items-center gap-1.5",
201
- breadcrumbLink: "text-vuno-muted hover:text-vuno-body rounded-vuno truncate text-sm font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--vuno-accent) [--vuno-accent:var(--color-vuno-primary)]",
202
- breadcrumbList: "flex items-center gap-1.5",
203
- breadcrumbSeparator: "text-vuno-subtle size-4 shrink-0",
204
- description: "text-vuno-muted max-w-prose text-sm",
205
- heading: "flex flex-col gap-2",
206
- navbar: "border-vuno-border bg-vuno-surface/90 flex h-14 shrink-0 items-center justify-between gap-3 border-b px-4 backdrop-blur-xl sm:px-6",
207
- navbarLeft: "flex min-w-0 items-center gap-1",
208
- navbarRight: "flex shrink-0 items-center gap-2",
209
- panel: "min-h-0 flex-1 overflow-y-auto",
210
- root: "flex min-h-0 w-full flex-1 flex-col",
211
- title: "text-vuno-strong text-2xl font-bold tracking-tight sm:text-3xl"
212
- }
213
- },
214
- /**
215
- * Casi sin clases a propósito: los números son botones, así que el color,
216
- * el tamaño y el foco salen de `baseButton`. Lo único propio es el hueco de
217
- * la elipsis, que mide lo mismo que un botón para que la fila no dé saltos
218
- * al cambiar de página.
219
- */
220
- pagination: {
221
- slots: {
222
- gap: "text-vuno-muted flex size-8 shrink-0 items-center justify-center select-none",
223
- list: "flex items-center gap-1",
224
- root: "flex items-center"
225
- }
226
- },
227
- publicLayout: {
228
- slots: {
229
- footer: "border-vuno-border border-t",
230
- header: "border-vuno-border bg-vuno-surface/85 z-10 border-b backdrop-blur",
231
- /* `flex-1` para que el pie caiga abajo aunque la página sea corta. */
232
- main: "flex-1",
233
- /* `relative` por lo mismo que en el de aplicación: es la referencia del enlace de salto. */
234
- root: "bg-vuno-surface text-vuno-body relative flex min-h-dvh flex-col",
235
- /* Lo mismo que en el de aplicación: al aparecer se coloca encima, no empuja. */
236
- skip: `${skipLink} focus:absolute focus:start-2 focus:top-2`
237
- },
238
- variants: {
239
- sticky: {
240
- false: {},
241
- true: { header: "sticky top-0" }
242
- }
243
- }
244
- },
245
- state: {
246
- slots: {
247
- actions: "mt-3 empty:hidden",
248
- hint: "text-vuno-muted max-w-prose text-sm",
249
- icon: "size-8 shrink-0",
250
- root: "flex flex-col items-center gap-1 px-4 py-10 text-center",
251
- title: "text-vuno-strong font-medium"
252
- },
253
- /*
254
- * El color del icono lo decide la variante y no el componente.
255
- *
256
- * Estaban los dos escritos a mano sobre el `<Icon>`, **además** del
257
- * `ui.icon`: una clase puesta sobre un componente no pasa por
258
- * tailwind-merge, así que convivía con la del tema y ganaba el orden de
259
- * la hoja. Y la del fallo era `text-error`, que no existe —el módulo no
260
- * define `--color-error`— de modo que el estado de fallo se pintaba con
261
- * el color del texto normal.
262
- */
263
- variants: {
264
- tone: {
265
- empty: { icon: "text-vuno-subtle" },
266
- failure: { icon: "text-vuno-error" }
267
- }
268
- }
269
- },
270
- table: {
271
- slots: {
272
- chips: "flex flex-wrap items-center gap-2",
273
- emptyCell: "px-4 py-6",
274
- filtersBody: "flex flex-col gap-4",
275
- filtersFooter: "flex items-center justify-between gap-2",
276
- footer: "flex flex-wrap items-center justify-between gap-4 px-1",
277
- headRow: "border-vuno-border border-b",
278
- meta: "text-vuno-muted flex items-center gap-2 text-sm",
279
- /*
280
- * El ancho viaja por `ui` de instancia a propósito —pelea con el
281
- * `w-full` del tema y puesto como clase convivirían los dos—, pero
282
- * el valor sale de aquí en vez de estar escrito en la plantilla.
283
- */
284
- pageSizeControl: "w-auto",
285
- pageSizeSelect: "cursor-pointer bg-transparent py-1 pr-1 outline-none",
286
- root: "flex w-full flex-col gap-4",
287
- search: "w-full sm:max-w-xs",
288
- selectCell: "w-0",
289
- selection: "bg-vuno-surface-1 flex items-center justify-between gap-2 rounded-vuno px-3 py-2 text-sm",
290
- /* Ver `skipLink`: la clase está en un solo sitio para las tres. */
291
- skip: skipLink,
292
- /*
293
- * El margen negativo cancela el relleno del botón para que la
294
- * cabecera se alinee con el texto de la columna, así que depende del
295
- * relleno de `baseButton`: un proyecto que cambie uno tiene que poder
296
- * cambiar el otro.
297
- */
298
- sortButton: "-mx-2",
299
- table: "min-w-full",
300
- tableRoot: "border-vuno-border rounded-vuno relative overflow-auto border",
301
- /**
302
- * El marco va en el contenedor y no en la `<table>`.
303
- *
304
- * Ponerlo en la tabla obliga a `border-separate` para que el radio
305
- * no lo ignore el navegador, y en ese modo el navegador **también**
306
- * ignora los bordes declarados en `<tr>`, que es donde Nuxt UI pone
307
- * la línea entre filas: el marco salía y las divisiones
308
- * desaparecían, sin ningún error de por medio.
309
- *
310
- * Aquí la tabla se queda colapsada —sus líneas vuelven— y el radio
311
- * recorta porque el contenedor ya tiene `overflow` propio para el
312
- * desplazamiento horizontal.
313
- */
314
- /**
315
- * Nuxt UI solo aplica hover a las filas con `data-selectable`, que
316
- * son las que reciben un manejador de selección. Aquí se aplica
317
- * siempre, y con su misma utilidad semántica para que el color lo
318
- * siga decidiendo el tema del proyecto.
319
- */
320
- tbody: "[&>tr]:hover:bg-vuno-surface-1 [&>tr]:transition-colors",
321
- td: "text-vuno-muted px-4 py-4 text-sm whitespace-nowrap",
322
- th: "text-vuno-strong px-4 py-3.5 text-start text-sm font-semibold",
323
- thead: "",
324
- toolbar: "flex flex-wrap items-center justify-between gap-2",
325
- toolbarActions: "flex items-center gap-2",
326
- tr: "border-vuno-border hover:bg-vuno-surface-1 data-[selected=true]:bg-vuno-surface-1 border-b transition-colors last:border-b-0"
327
- }
328
- },
329
- /**
330
- * Pestañas con subrayado en la activa. El `-mb-px` hace que ese subrayado
331
- * se coma la línea de la lista en vez de quedar encima de ella.
332
- */
333
- tabs: {
334
- slots: {
335
- content: "w-full",
336
- icon: "size-4 shrink-0",
337
- list: "border-vuno-border flex items-center gap-1 border-b",
338
- root: "flex w-full flex-col",
339
- trigger: "text-vuno-muted hover:text-vuno-body data-[state=active]:text-vuno-strong data-[state=active]:border-vuno-primary [--vuno-accent:var(--color-vuno-primary)] -mb-px flex cursor-pointer items-center gap-1.5 border-b-2 border-transparent px-3 py-2 font-medium transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--vuno-accent)"
340
- },
341
- variants: {
342
- size: {
343
- xs: { trigger: "text-xs" },
344
- sm: { trigger: "text-sm" },
345
- md: { trigger: "text-sm" },
346
- lg: { trigger: "text-base" },
347
- xl: { trigger: "text-base" }
348
- }
349
- }
350
- }
351
- };
@@ -1,7 +0,0 @@
1
- import type { MaybeRefOrGetter } from 'vue';
2
- export interface VunoDashboardContext {
3
- setTitle: (value?: string) => void;
4
- }
5
- export interface VunoDashboardOptions {
6
- title?: MaybeRefOrGetter<string>;
7
- }
@@ -1,30 +0,0 @@
1
- export function addStep(value, step) {
2
- const decimals = Math.max(decimalsOf(value), decimalsOf(step));
3
- return Number((value + step).toFixed(decimals));
4
- }
5
- export function clampNumber(value, min, max) {
6
- if (min !== void 0 && value < min) return min;
7
- if (max !== void 0 && value > max) return max;
8
- return value;
9
- }
10
- export function snapToStep(value, step, min = 0) {
11
- if (!step || step <= 0) return value;
12
- const steps = Math.round((value - min) / step);
13
- const [, decimals = ""] = String(step).split(".");
14
- const offset = Number((steps * step).toFixed(decimals.length));
15
- return addStep(min, offset);
16
- }
17
- export function parseNumber(text, locale) {
18
- const trimmed = text.trim();
19
- if (!trimmed) return void 0;
20
- const parts = new Intl.NumberFormat(locale).formatToParts(12345.6);
21
- const group = parts.find((part) => part.type === "group")?.value ?? ",";
22
- const decimal = parts.find((part) => part.type === "decimal")?.value ?? ".";
23
- const normalised = trimmed.split(group).join("").split(decimal).join(".");
24
- const parsed = Number(normalised);
25
- return Number.isNaN(parsed) ? void 0 : parsed;
26
- }
27
- function decimalsOf(value) {
28
- const [, decimals = ""] = String(value).split(".");
29
- return decimals.length;
30
- }
@@ -1,62 +0,0 @@
1
- /**
2
- * Adaptador de [Standard Schema](https://standardschema.dev).
3
- *
4
- * Es el contrato que implementan zod, valibot y arktype, así que el motor valida
5
- * contra cualquiera de ellos sin depender de ninguno ni añadirlo como
6
- * dependencia. Lo que se declara aquí es lo mínimo del contrato que se usa.
7
- */
8
- /**
9
- * Un segmento de ruta es `PropertyKey`, no solo texto y números: el contrato
10
- * admite símbolos, y declararlo más estrecho de lo que es hace que un esquema
11
- * legítimo de zod deje de encajar en el tipo.
12
- */
13
- export type VunoSchemaPathSegment = PropertyKey | {
14
- key: PropertyKey;
15
- };
16
- export type VunoSchemaIssue = {
17
- readonly message: string;
18
- readonly path?: readonly VunoSchemaPathSegment[];
19
- };
20
- /**
21
- * El resultado fallido **no** lleva `value`; el bueno lo lleva e `issues` queda
22
- * sin definir. Así se distinguen mirando `issues`, que es como lo hace el motor.
23
- */
24
- export type VunoSchemaResult<TValue> = {
25
- readonly issues: readonly VunoSchemaIssue[];
26
- } | {
27
- readonly issues?: undefined;
28
- readonly value: TValue;
29
- };
30
- /**
31
- * El tipo de salida no se ata al del estado a propósito: lo que se valida es
32
- * la entrada, y un formulario a medio rellenar no tiene por qué encajar aún en
33
- * lo que el esquema promete devolver. Atarlos convertía en error de tipos un
34
- * campo opcional en el estado y obligatorio en el esquema, que es justo el caso
35
- * normal.
36
- */
37
- export type VunoSchema<TValue = unknown> = {
38
- '~standard': {
39
- validate: (value: unknown) => Promise<VunoSchemaResult<TValue>> | VunoSchemaResult<TValue>;
40
- };
41
- };
42
- /** Errores por ruta: `{ 'variants.0.sku': 'El SKU es requerido' }`. */
43
- export type VunoFormErrors = Record<string, string>;
44
- /**
45
- * Convierte la ruta de un problema en la que usan los campos.
46
- *
47
- * Los índices llegan como números y el contrato admite además objetos `{ key }`,
48
- * así que se normalizan los tres casos. El resultado tiene que coincidir con el
49
- * `name` del campo —`variants.0.sku`— o el error no se pintaría en ninguna
50
- * parte: se vería un formulario que no envía y no dice por qué.
51
- */
52
- export declare function toErrorPath(path: VunoSchemaIssue['path']): string;
53
- /**
54
- * Agrupa los problemas por ruta, quedándose con el primero de cada una.
55
- *
56
- * Un campo puede incumplir varias reglas a la vez —vacío y además demasiado
57
- * corto— y enseñarlas todas es ruido: la primera es la que hay que arreglar
58
- * para avanzar.
59
- */
60
- export declare function toErrorMap(issues: readonly VunoSchemaIssue[] | undefined): VunoFormErrors;
61
- /** Detecta si algo implementa el contrato, para no llamar a `validate` a ciegas. */
62
- export declare function isStandardSchema<TValue = unknown>(schema: unknown): schema is VunoSchema<TValue>;