@groupteknology/vuno 1.0.0 → 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 (437) hide show
  1. package/README.md +53 -27
  2. package/dist/module.d.mts +14 -2
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +80 -13
  5. package/dist/runtime/app/assets/css/dialog.css +1 -0
  6. package/dist/runtime/app/assets/css/main.css +1 -0
  7. package/dist/runtime/app/assets/css/stylesheet.css +1 -0
  8. package/dist/runtime/app/assets/css/theme.css +1 -0
  9. package/dist/runtime/app/assets/css/tokens.css +1 -0
  10. package/dist/runtime/app/components/Alert/Alert.d.vue.ts +20 -0
  11. package/dist/runtime/app/components/Alert/Alert.theme.d.ts +13 -0
  12. package/dist/runtime/app/components/Alert/Alert.theme.js +13 -0
  13. package/dist/runtime/app/components/Alert/Alert.vue +59 -0
  14. package/dist/runtime/app/components/Alert/Alert.vue.d.ts +20 -0
  15. package/dist/runtime/app/components/App/App.d.vue.ts +52 -0
  16. package/dist/runtime/app/components/App/App.vue +150 -0
  17. package/dist/runtime/app/components/App/App.vue.d.ts +52 -0
  18. package/dist/runtime/app/components/App/internal/Overlay/Overlay.d.vue.ts +7 -0
  19. package/dist/runtime/app/components/App/internal/Overlay/Overlay.vue +39 -0
  20. package/dist/runtime/app/components/App/internal/Overlay/Overlay.vue.d.ts +7 -0
  21. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.d.vue.ts +8 -0
  22. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue +19 -0
  23. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue.d.ts +8 -0
  24. package/dist/runtime/app/components/App/internal/Toast/Toast.d.vue.ts +11 -0
  25. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.d.ts +13 -0
  26. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.js +18 -0
  27. package/dist/runtime/app/components/App/internal/Toast/Toast.vue +64 -0
  28. package/dist/runtime/app/components/App/internal/Toast/Toast.vue.d.ts +11 -0
  29. package/dist/runtime/app/components/App/internal/Toaster/Toaster.d.vue.ts +11 -0
  30. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.d.ts +15 -0
  31. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.js +16 -0
  32. package/dist/runtime/app/components/App/internal/Toaster/Toaster.vue +100 -0
  33. package/dist/runtime/app/components/App/internal/Toaster/Toaster.vue.d.ts +11 -0
  34. package/dist/runtime/app/components/Avatar/Avatar.d.vue.ts +27 -0
  35. package/dist/runtime/app/components/Avatar/Avatar.theme.d.ts +30 -0
  36. package/dist/runtime/app/components/Avatar/Avatar.theme.js +22 -0
  37. package/dist/runtime/app/components/Avatar/Avatar.vue +51 -0
  38. package/dist/runtime/app/components/Avatar/Avatar.vue.d.ts +27 -0
  39. package/dist/runtime/app/components/Badge/Badge.d.vue.ts +40 -0
  40. package/dist/runtime/app/components/Badge/Badge.theme.d.ts +40 -0
  41. package/dist/runtime/app/components/Badge/Badge.theme.js +22 -0
  42. package/dist/runtime/app/components/Badge/Badge.vue +28 -0
  43. package/dist/runtime/app/components/Badge/Badge.vue.d.ts +40 -0
  44. package/dist/runtime/app/components/Button/Button.d.vue.ts +49 -0
  45. package/dist/runtime/app/components/Button/Button.theme.d.ts +88 -0
  46. package/dist/runtime/app/components/Button/Button.theme.js +59 -0
  47. package/dist/runtime/app/components/Button/Button.vue +78 -0
  48. package/dist/runtime/app/components/Button/Button.vue.d.ts +49 -0
  49. package/dist/runtime/app/components/Card/Card.d.vue.ts +94 -0
  50. package/dist/runtime/app/components/Card/Card.theme.d.ts +57 -0
  51. package/dist/runtime/app/components/Card/Card.theme.js +62 -0
  52. package/dist/runtime/app/components/Card/Card.vue +45 -0
  53. package/dist/runtime/app/components/Card/Card.vue.d.ts +94 -0
  54. package/dist/runtime/app/components/Code/Code.d.vue.ts +19 -0
  55. package/dist/runtime/app/components/Code/Code.theme.d.ts +11 -0
  56. package/dist/runtime/app/components/Code/Code.theme.js +12 -0
  57. package/dist/runtime/app/components/Code/Code.vue +109 -0
  58. package/dist/runtime/app/components/Code/Code.vue.d.ts +19 -0
  59. package/dist/runtime/app/components/Confirm/Confirm.d.vue.ts +35 -0
  60. package/dist/runtime/app/components/Confirm/Confirm.theme.d.ts +12 -0
  61. package/dist/runtime/app/components/Confirm/Confirm.theme.js +13 -0
  62. package/dist/runtime/app/components/Confirm/Confirm.vue +83 -0
  63. package/dist/runtime/app/components/Confirm/Confirm.vue.d.ts +35 -0
  64. package/dist/runtime/app/components/Container/Container.d.vue.ts +42 -0
  65. package/dist/runtime/app/components/Container/Container.theme.d.ts +53 -0
  66. package/dist/runtime/app/components/Container/Container.theme.js +31 -0
  67. package/dist/runtime/app/components/Container/Container.vue +20 -0
  68. package/dist/runtime/app/components/Container/Container.vue.d.ts +42 -0
  69. package/dist/runtime/app/components/ControlGroup/ControlGroup.d.vue.ts +26 -0
  70. package/dist/runtime/app/components/ControlGroup/ControlGroup.theme.d.ts +16 -0
  71. package/dist/runtime/app/components/ControlGroup/ControlGroup.theme.js +13 -0
  72. package/dist/runtime/app/components/ControlGroup/ControlGroup.vue +26 -0
  73. package/dist/runtime/app/components/ControlGroup/ControlGroup.vue.d.ts +26 -0
  74. package/dist/runtime/app/components/FieldArray/FieldArray.d.vue.ts +13 -0
  75. package/dist/runtime/app/components/FieldArray/FieldArray.theme.d.ts +12 -0
  76. package/dist/runtime/app/components/FieldArray/FieldArray.theme.js +13 -0
  77. package/dist/runtime/app/components/FieldArray/FieldArray.vue +173 -0
  78. package/dist/runtime/app/components/FieldArray/FieldArray.vue.d.ts +13 -0
  79. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.d.vue.ts +13 -0
  80. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.theme.d.ts +5 -0
  81. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.theme.js +2 -0
  82. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue +39 -0
  83. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue.d.ts +13 -0
  84. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.d.vue.ts +40 -0
  85. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.theme.d.ts +30 -0
  86. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.theme.js +10 -0
  87. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.vue +40 -0
  88. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.vue.d.ts +40 -0
  89. package/dist/runtime/app/components/FieldColor/FieldColor.d.vue.ts +13 -0
  90. package/dist/runtime/app/components/FieldColor/FieldColor.theme.d.ts +27 -0
  91. package/dist/runtime/app/components/FieldColor/FieldColor.theme.js +18 -0
  92. package/dist/runtime/app/components/FieldColor/FieldColor.vue +88 -0
  93. package/dist/runtime/app/components/FieldColor/FieldColor.vue.d.ts +13 -0
  94. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.d.vue.ts +13 -0
  95. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.theme.d.ts +5 -0
  96. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.theme.js +2 -0
  97. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue +51 -0
  98. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue.d.ts +13 -0
  99. package/dist/runtime/app/components/FieldFile/FieldFile.d.vue.ts +26 -0
  100. package/dist/runtime/app/components/FieldFile/FieldFile.theme.d.ts +5 -0
  101. package/dist/runtime/app/components/FieldFile/FieldFile.theme.js +2 -0
  102. package/dist/runtime/app/components/FieldFile/FieldFile.vue +99 -0
  103. package/dist/runtime/app/components/FieldFile/FieldFile.vue.d.ts +26 -0
  104. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.d.vue.ts +66 -0
  105. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.d.ts +88 -0
  106. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.js +55 -0
  107. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue +187 -0
  108. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue.d.ts +66 -0
  109. package/dist/runtime/app/components/FieldInput/FieldInput.d.vue.ts +24 -0
  110. package/dist/runtime/app/components/FieldInput/FieldInput.theme.d.ts +5 -0
  111. package/dist/runtime/app/components/FieldInput/FieldInput.theme.js +2 -0
  112. package/dist/runtime/app/components/FieldInput/FieldInput.vue +61 -0
  113. package/dist/runtime/app/components/FieldInput/FieldInput.vue.d.ts +24 -0
  114. package/dist/runtime/app/components/FieldNumber/FieldNumber.d.vue.ts +13 -0
  115. package/dist/runtime/app/components/FieldNumber/FieldNumber.theme.d.ts +5 -0
  116. package/dist/runtime/app/components/FieldNumber/FieldNumber.theme.js +2 -0
  117. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue +47 -0
  118. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue.d.ts +13 -0
  119. package/dist/runtime/app/components/FieldPassword/FieldPassword.d.vue.ts +13 -0
  120. package/dist/runtime/app/components/FieldPassword/FieldPassword.theme.d.ts +5 -0
  121. package/dist/runtime/app/components/FieldPassword/FieldPassword.theme.js +2 -0
  122. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue +62 -0
  123. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue.d.ts +13 -0
  124. package/dist/runtime/app/components/FieldRadio/FieldRadio.d.vue.ts +13 -0
  125. package/dist/runtime/app/components/FieldRadio/FieldRadio.theme.d.ts +5 -0
  126. package/dist/runtime/app/components/FieldRadio/FieldRadio.theme.js +2 -0
  127. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue +41 -0
  128. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue.d.ts +13 -0
  129. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.d.vue.ts +32 -0
  130. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.theme.d.ts +54 -0
  131. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.theme.js +31 -0
  132. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue +80 -0
  133. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue.d.ts +32 -0
  134. package/dist/runtime/app/components/FieldSearch/FieldSearch.d.vue.ts +17 -0
  135. package/dist/runtime/app/components/FieldSearch/FieldSearch.theme.d.ts +6 -0
  136. package/dist/runtime/app/components/FieldSearch/FieldSearch.theme.js +7 -0
  137. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue +74 -0
  138. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue.d.ts +17 -0
  139. package/dist/runtime/app/components/FieldSelect/FieldSelect.d.vue.ts +13 -0
  140. package/dist/runtime/app/components/FieldSelect/FieldSelect.theme.d.ts +5 -0
  141. package/dist/runtime/app/components/FieldSelect/FieldSelect.theme.js +2 -0
  142. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue +45 -0
  143. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue.d.ts +13 -0
  144. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.d.vue.ts +97 -0
  145. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.theme.d.ts +36 -0
  146. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.theme.js +49 -0
  147. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue +196 -0
  148. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue.d.ts +97 -0
  149. package/dist/runtime/app/components/FieldSelect/internal/Select/option.d.ts +25 -0
  150. package/dist/runtime/app/components/FieldSelect/internal/Select/option.js +6 -0
  151. package/dist/runtime/app/components/FieldSelect/internal/Select/useVunoSelectState.d.ts +30 -0
  152. package/dist/runtime/app/components/FieldSelect/internal/Select/useVunoSelectState.js +142 -0
  153. package/dist/runtime/app/components/FieldSlug/FieldSlug.d.vue.ts +13 -0
  154. package/dist/runtime/app/components/FieldSlug/FieldSlug.theme.d.ts +5 -0
  155. package/dist/runtime/app/components/FieldSlug/FieldSlug.theme.js +2 -0
  156. package/dist/runtime/app/components/FieldSlug/FieldSlug.vue +113 -0
  157. package/dist/runtime/app/components/FieldSlug/FieldSlug.vue.d.ts +13 -0
  158. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.d.vue.ts +13 -0
  159. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.theme.d.ts +5 -0
  160. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.theme.js +2 -0
  161. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue +37 -0
  162. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue.d.ts +13 -0
  163. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.d.vue.ts +26 -0
  164. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.theme.d.ts +39 -0
  165. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.theme.js +20 -0
  166. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.vue +46 -0
  167. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.vue.d.ts +26 -0
  168. package/dist/runtime/app/components/FieldTags/FieldTags.d.vue.ts +13 -0
  169. package/dist/runtime/app/components/FieldTags/FieldTags.theme.d.ts +5 -0
  170. package/dist/runtime/app/components/FieldTags/FieldTags.theme.js +2 -0
  171. package/dist/runtime/app/components/FieldTags/FieldTags.vue +41 -0
  172. package/dist/runtime/app/components/FieldTags/FieldTags.vue.d.ts +13 -0
  173. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.d.vue.ts +26 -0
  174. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.theme.d.ts +34 -0
  175. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.theme.js +20 -0
  176. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue +97 -0
  177. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue.d.ts +26 -0
  178. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.d.vue.ts +26 -0
  179. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.theme.d.ts +5 -0
  180. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.theme.js +2 -0
  181. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue +45 -0
  182. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue.d.ts +26 -0
  183. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.d.vue.ts +34 -0
  184. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.theme.d.ts +36 -0
  185. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.theme.js +37 -0
  186. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue +43 -0
  187. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue.d.ts +34 -0
  188. package/dist/runtime/app/components/Form/Form.d.vue.ts +52 -0
  189. package/dist/runtime/app/components/Form/Form.theme.d.ts +9 -0
  190. package/dist/runtime/app/components/Form/Form.theme.js +10 -0
  191. package/dist/runtime/app/components/Form/Form.vue +129 -0
  192. package/dist/runtime/app/components/Form/Form.vue.d.ts +52 -0
  193. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.d.vue.ts +7 -0
  194. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.vue +67 -0
  195. package/dist/runtime/app/components/Form/internal/FormFieldRenderer/FormFieldRenderer.vue.d.ts +7 -0
  196. package/dist/runtime/app/components/Form/internal/grid.d.ts +9 -0
  197. package/dist/runtime/app/components/Form/internal/grid.js +91 -0
  198. package/dist/runtime/app/components/Form/internal/standard-schema.d.ts +29 -0
  199. package/dist/runtime/app/components/Form/internal/standard-schema.js +15 -0
  200. package/dist/runtime/app/components/Form/internal/useVunoFormState.d.ts +43 -0
  201. package/dist/runtime/app/components/Form/internal/useVunoFormState.js +81 -0
  202. package/dist/runtime/app/components/FormField/FormField.d.vue.ts +35 -0
  203. package/dist/runtime/app/components/FormField/FormField.theme.d.ts +62 -0
  204. package/dist/runtime/app/components/FormField/FormField.theme.js +28 -0
  205. package/dist/runtime/app/components/FormField/FormField.vue +124 -0
  206. package/dist/runtime/app/components/FormField/FormField.vue.d.ts +35 -0
  207. package/dist/runtime/app/components/FormModal/FormModal.d.vue.ts +63 -0
  208. package/dist/runtime/app/components/FormModal/FormModal.theme.d.ts +8 -0
  209. package/dist/runtime/app/components/FormModal/FormModal.theme.js +9 -0
  210. package/dist/runtime/app/components/FormModal/FormModal.vue +95 -0
  211. package/dist/runtime/app/components/FormModal/FormModal.vue.d.ts +63 -0
  212. package/dist/runtime/app/components/FormSection/FormSection.d.vue.ts +15 -0
  213. package/dist/runtime/app/components/FormSection/FormSection.theme.d.ts +12 -0
  214. package/dist/runtime/app/components/FormSection/FormSection.theme.js +14 -0
  215. package/dist/runtime/app/components/FormSection/FormSection.vue +45 -0
  216. package/dist/runtime/app/components/FormSection/FormSection.vue.d.ts +15 -0
  217. package/dist/runtime/app/components/Icon/Icon.d.vue.ts +6 -0
  218. package/dist/runtime/app/components/Icon/Icon.vue +32 -0
  219. package/dist/runtime/app/components/Icon/Icon.vue.d.ts +6 -0
  220. package/dist/runtime/app/components/Menu/Menu.d.vue.ts +36 -0
  221. package/dist/runtime/app/components/Menu/Menu.theme.d.ts +17 -0
  222. package/dist/runtime/app/components/Menu/Menu.theme.js +20 -0
  223. package/dist/runtime/app/components/Menu/Menu.vue +182 -0
  224. package/dist/runtime/app/components/Menu/Menu.vue.d.ts +36 -0
  225. package/dist/runtime/app/components/Modal/Modal.d.vue.ts +43 -0
  226. package/dist/runtime/app/components/Modal/Modal.theme.d.ts +59 -0
  227. package/dist/runtime/app/components/Modal/Modal.theme.js +47 -0
  228. package/dist/runtime/app/components/Modal/Modal.vue +215 -0
  229. package/dist/runtime/app/components/Modal/Modal.vue.d.ts +43 -0
  230. package/dist/runtime/app/components/Navbar/Navbar.d.vue.ts +45 -0
  231. package/dist/runtime/app/components/Navbar/Navbar.theme.d.ts +31 -0
  232. package/dist/runtime/app/components/Navbar/Navbar.theme.js +32 -0
  233. package/dist/runtime/app/components/Navbar/Navbar.vue +47 -0
  234. package/dist/runtime/app/components/Navbar/Navbar.vue.d.ts +45 -0
  235. package/dist/runtime/app/components/NavigationList/NavigationList.d.vue.ts +38 -0
  236. package/dist/runtime/app/components/NavigationList/NavigationList.theme.d.ts +32 -0
  237. package/dist/runtime/app/components/NavigationList/NavigationList.theme.js +35 -0
  238. package/dist/runtime/app/components/NavigationList/NavigationList.vue +187 -0
  239. package/dist/runtime/app/components/NavigationList/NavigationList.vue.d.ts +38 -0
  240. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.d.vue.ts +31 -0
  241. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.theme.d.ts +26 -0
  242. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.theme.js +27 -0
  243. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue +236 -0
  244. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue.d.ts +31 -0
  245. package/dist/runtime/app/components/NavigationToc/NavigationToc.d.vue.ts +14 -0
  246. package/dist/runtime/app/components/NavigationToc/NavigationToc.theme.d.ts +9 -0
  247. package/dist/runtime/app/components/NavigationToc/NavigationToc.theme.js +10 -0
  248. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue +81 -0
  249. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue.d.ts +14 -0
  250. package/dist/runtime/app/components/Page/Page.d.vue.ts +40 -0
  251. package/dist/runtime/app/components/Page/Page.theme.d.ts +32 -0
  252. package/dist/runtime/app/components/Page/Page.theme.js +31 -0
  253. package/dist/runtime/app/components/Page/Page.vue +132 -0
  254. package/dist/runtime/app/components/Page/Page.vue.d.ts +40 -0
  255. package/dist/runtime/app/components/Pagination/Pagination.d.vue.ts +33 -0
  256. package/dist/runtime/app/components/Pagination/Pagination.theme.d.ts +13 -0
  257. package/dist/runtime/app/components/Pagination/Pagination.theme.js +14 -0
  258. package/dist/runtime/app/components/Pagination/Pagination.vue +129 -0
  259. package/dist/runtime/app/components/Pagination/Pagination.vue.d.ts +33 -0
  260. package/dist/runtime/app/components/Slideover/Slideover.d.vue.ts +43 -0
  261. package/dist/runtime/app/components/Slideover/Slideover.theme.d.ts +35 -0
  262. package/dist/runtime/app/components/Slideover/Slideover.theme.js +24 -0
  263. package/dist/runtime/app/components/Slideover/Slideover.vue +58 -0
  264. package/dist/runtime/app/components/Slideover/Slideover.vue.d.ts +43 -0
  265. package/dist/runtime/app/components/State/State.d.vue.ts +14 -0
  266. package/dist/runtime/app/components/State/State.theme.d.ts +19 -0
  267. package/dist/runtime/app/components/State/State.theme.js +26 -0
  268. package/dist/runtime/app/components/State/State.vue +66 -0
  269. package/dist/runtime/app/components/State/State.vue.d.ts +14 -0
  270. package/dist/runtime/app/components/Table/Table.d.vue.ts +80 -0
  271. package/dist/runtime/app/components/Table/Table.theme.d.ts +50 -0
  272. package/dist/runtime/app/components/Table/Table.theme.js +64 -0
  273. package/dist/runtime/app/components/Table/Table.vue +483 -0
  274. package/dist/runtime/app/components/Table/Table.vue.d.ts +80 -0
  275. package/dist/runtime/app/components/Table/internal/CellBadge/CellBadge.d.vue.ts +5 -0
  276. package/dist/runtime/app/components/Table/internal/CellBadge/CellBadge.vue +26 -0
  277. package/dist/runtime/app/components/Table/internal/CellBadge/CellBadge.vue.d.ts +5 -0
  278. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.d.vue.ts +5 -0
  279. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.theme.d.ts +21 -0
  280. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.theme.js +11 -0
  281. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.vue +32 -0
  282. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.vue.d.ts +5 -0
  283. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.d.vue.ts +5 -0
  284. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.theme.d.ts +5 -0
  285. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.theme.js +4 -0
  286. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.vue +16 -0
  287. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.vue.d.ts +5 -0
  288. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.d.vue.ts +5 -0
  289. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.theme.d.ts +5 -0
  290. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.theme.js +4 -0
  291. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.vue +21 -0
  292. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.vue.d.ts +5 -0
  293. package/dist/runtime/app/components/Table/internal/CellImage/CellImage.d.vue.ts +5 -0
  294. package/dist/runtime/app/components/Table/internal/CellImage/CellImage.vue +24 -0
  295. package/dist/runtime/app/components/Table/internal/CellImage/CellImage.vue.d.ts +5 -0
  296. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.d.vue.ts +5 -0
  297. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.theme.d.ts +5 -0
  298. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.theme.js +4 -0
  299. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.vue +17 -0
  300. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.vue.d.ts +5 -0
  301. package/dist/runtime/app/components/Table/internal/CellText/CellText.d.vue.ts +5 -0
  302. package/dist/runtime/app/components/Table/internal/CellText/CellText.theme.d.ts +13 -0
  303. package/dist/runtime/app/components/Table/internal/CellText/CellText.theme.js +11 -0
  304. package/dist/runtime/app/components/Table/internal/CellText/CellText.vue +16 -0
  305. package/dist/runtime/app/components/Table/internal/CellText/CellText.vue.d.ts +5 -0
  306. package/dist/runtime/app/components/Table/internal/TableCell/TableCell.d.vue.ts +22 -0
  307. package/dist/runtime/app/components/Table/internal/TableCell/TableCell.vue +48 -0
  308. package/dist/runtime/app/components/Table/internal/TableCell/TableCell.vue.d.ts +22 -0
  309. package/dist/runtime/app/components/Table/internal/column.d.ts +9 -0
  310. package/dist/runtime/app/components/Table/internal/column.js +5 -0
  311. package/dist/runtime/app/components/Table/internal/query.d.ts +18 -0
  312. package/dist/runtime/app/components/Table/internal/query.js +8 -0
  313. package/dist/runtime/app/components/Table/internal/selection.d.ts +29 -0
  314. package/dist/runtime/app/components/Table/internal/selection.js +10 -0
  315. package/dist/runtime/app/components/Table/internal/useVunoTable.d.ts +93 -0
  316. package/dist/runtime/app/components/Table/internal/useVunoTable.js +153 -0
  317. package/dist/runtime/app/components/Table/internal/useVunoTableSelection.d.ts +21 -0
  318. package/dist/runtime/app/components/Table/internal/useVunoTableSelection.js +29 -0
  319. package/dist/runtime/app/components/Tabs/Tabs.d.vue.ts +49 -0
  320. package/dist/runtime/app/components/Tabs/Tabs.theme.d.ts +32 -0
  321. package/dist/runtime/app/components/Tabs/Tabs.theme.js +23 -0
  322. package/dist/runtime/app/components/Tabs/Tabs.vue +119 -0
  323. package/dist/runtime/app/components/Tabs/Tabs.vue.d.ts +49 -0
  324. package/dist/runtime/app/components/Tooltip/Tooltip.d.vue.ts +40 -0
  325. package/dist/runtime/app/components/Tooltip/Tooltip.theme.d.ts +12 -0
  326. package/dist/runtime/app/components/Tooltip/Tooltip.theme.js +13 -0
  327. package/dist/runtime/app/components/Tooltip/Tooltip.vue +139 -0
  328. package/dist/runtime/app/components/Tooltip/Tooltip.vue.d.ts +40 -0
  329. package/dist/runtime/app/components/internal/ControlShell/ControlShell.d.vue.ts +41 -0
  330. package/dist/runtime/app/components/internal/ControlShell/ControlShell.theme.d.ts +50 -0
  331. package/dist/runtime/app/components/internal/ControlShell/ControlShell.theme.js +38 -0
  332. package/dist/runtime/app/components/internal/ControlShell/ControlShell.vue +33 -0
  333. package/dist/runtime/app/components/internal/ControlShell/ControlShell.vue.d.ts +41 -0
  334. package/dist/runtime/app/components/internal/FieldShell/FieldShell.d.vue.ts +23 -0
  335. package/dist/runtime/app/components/internal/FieldShell/FieldShell.vue +63 -0
  336. package/dist/runtime/app/components/internal/FieldShell/FieldShell.vue.d.ts +23 -0
  337. package/dist/runtime/app/components/internal/Input/Input.d.vue.ts +52 -0
  338. package/dist/runtime/app/components/internal/Input/Input.theme.d.ts +30 -0
  339. package/dist/runtime/app/components/internal/Input/Input.theme.js +21 -0
  340. package/dist/runtime/app/components/internal/Input/Input.vue +66 -0
  341. package/dist/runtime/app/components/internal/Input/Input.vue.d.ts +52 -0
  342. package/dist/runtime/app/components/internal/NumberInput/NumberInput.d.vue.ts +36 -0
  343. package/dist/runtime/app/components/internal/NumberInput/NumberInput.theme.d.ts +31 -0
  344. package/dist/runtime/app/components/internal/NumberInput/NumberInput.theme.js +26 -0
  345. package/dist/runtime/app/components/internal/NumberInput/NumberInput.vue +221 -0
  346. package/dist/runtime/app/components/internal/NumberInput/NumberInput.vue.d.ts +36 -0
  347. package/dist/runtime/app/components/internal/NumberInput/number.d.ts +42 -0
  348. package/dist/runtime/app/components/internal/NumberInput/number.js +64 -0
  349. package/dist/runtime/app/composables/defineShortcuts.d.ts +19 -0
  350. package/dist/runtime/app/composables/defineShortcuts.js +68 -0
  351. package/dist/runtime/app/composables/internal/useVunoAnchor.d.ts +45 -0
  352. package/dist/runtime/app/composables/internal/useVunoAnchor.js +35 -0
  353. package/dist/runtime/app/composables/internal/useVunoControlGroup.d.ts +17 -0
  354. package/dist/runtime/app/composables/internal/useVunoControlGroup.js +18 -0
  355. package/dist/runtime/app/composables/internal/useVunoPortal.d.ts +18 -0
  356. package/dist/runtime/app/composables/internal/useVunoPortal.js +12 -0
  357. package/dist/runtime/app/composables/useConfirm.d.ts +15 -0
  358. package/dist/runtime/app/composables/useConfirm.js +5 -0
  359. package/dist/runtime/app/composables/useContext.d.ts +11 -0
  360. package/dist/runtime/app/composables/useContext.js +9 -0
  361. package/dist/runtime/app/composables/useCrud.d.ts +23 -0
  362. package/dist/runtime/app/composables/useCrud.js +153 -0
  363. package/dist/runtime/app/composables/useField.d.ts +10 -0
  364. package/dist/runtime/app/composables/useField.js +42 -0
  365. package/dist/runtime/app/composables/useForm.d.ts +5 -0
  366. package/dist/runtime/app/composables/useForm.js +9 -0
  367. package/dist/runtime/app/composables/useModal.d.ts +21 -0
  368. package/dist/runtime/app/composables/useModal.js +24 -0
  369. package/dist/runtime/app/composables/useOverlay.d.ts +22 -0
  370. package/dist/runtime/app/composables/useOverlay.js +10 -0
  371. package/dist/runtime/app/composables/useTableQuery.d.ts +10 -0
  372. package/dist/runtime/app/composables/useTableQuery.js +126 -0
  373. package/dist/runtime/app/composables/useTheme.d.ts +31 -0
  374. package/dist/runtime/app/composables/useTheme.js +29 -0
  375. package/dist/runtime/app/composables/useToast.d.ts +28 -0
  376. package/dist/runtime/app/composables/useToast.js +13 -0
  377. package/dist/runtime/app/internal/keys.d.ts +43 -0
  378. package/dist/runtime/app/internal/keys.js +8 -0
  379. package/dist/runtime/app/internal/slots.d.ts +22 -0
  380. package/dist/runtime/app/internal/slots.js +24 -0
  381. package/dist/runtime/app/plugins/vue-query.d.ts +8 -0
  382. package/dist/runtime/app/plugins/vue-query.js +13 -0
  383. package/dist/runtime/app/theme/icons.d.ts +2 -0
  384. package/dist/runtime/app/theme/icons.js +43 -0
  385. package/dist/runtime/app/theme/index.d.ts +1168 -0
  386. package/dist/runtime/app/theme/index.js +120 -0
  387. package/dist/runtime/app/theme/messages.d.ts +2 -0
  388. package/dist/runtime/app/theme/messages.js +70 -0
  389. package/dist/runtime/app/theme/shared.d.ts +42 -0
  390. package/dist/runtime/app/theme/shared.js +24 -0
  391. package/dist/runtime/app/types/alert.d.ts +13 -0
  392. package/dist/runtime/app/types/alert.js +0 -0
  393. package/dist/runtime/app/types/app-config.d.ts +8 -0
  394. package/dist/runtime/app/types/app-config.js +1 -0
  395. package/dist/runtime/app/types/app.d.ts +83 -0
  396. package/dist/runtime/app/types/app.js +0 -0
  397. package/dist/runtime/app/types/base.d.ts +78 -0
  398. package/dist/runtime/app/types/base.js +0 -0
  399. package/dist/runtime/app/types/confirm.d.ts +19 -0
  400. package/dist/runtime/app/types/confirm.js +0 -0
  401. package/dist/runtime/app/types/crud.d.ts +108 -0
  402. package/dist/runtime/app/types/crud.js +0 -0
  403. package/dist/runtime/app/types/field-type.d.ts +4 -0
  404. package/dist/runtime/app/types/field-type.js +0 -0
  405. package/dist/runtime/app/types/field.d.ts +233 -0
  406. package/dist/runtime/app/types/field.js +0 -0
  407. package/dist/runtime/app/types/form.d.ts +67 -0
  408. package/dist/runtime/app/types/form.js +0 -0
  409. package/dist/runtime/app/types/index.d.ts +16 -0
  410. package/dist/runtime/app/types/index.js +1 -0
  411. package/dist/runtime/app/types/page.d.ts +61 -0
  412. package/dist/runtime/app/types/page.js +0 -0
  413. package/dist/runtime/app/types/responsive.d.ts +8 -0
  414. package/dist/runtime/app/types/responsive.js +0 -0
  415. package/dist/runtime/app/types/shortcuts.d.ts +44 -0
  416. package/dist/runtime/app/types/shortcuts.js +0 -0
  417. package/dist/runtime/app/types/slots.d.ts +30 -0
  418. package/dist/runtime/app/types/slots.js +0 -0
  419. package/dist/runtime/app/types/state.d.ts +35 -0
  420. package/dist/runtime/app/types/state.js +0 -0
  421. package/dist/runtime/app/types/table.d.ts +287 -0
  422. package/dist/runtime/app/types/table.js +0 -0
  423. package/dist/runtime/app/types/theme.d.ts +251 -0
  424. package/dist/runtime/app/types/theme.js +0 -0
  425. package/dist/runtime/app/utils/format.d.ts +18 -0
  426. package/dist/runtime/app/utils/format.js +36 -0
  427. package/dist/runtime/app/utils/pagination.d.ts +41 -0
  428. package/dist/runtime/app/utils/pagination.js +32 -0
  429. package/dist/runtime/app/utils/path.d.ts +16 -0
  430. package/dist/runtime/app/utils/path.js +76 -0
  431. package/dist/runtime/app/utils/query-key.d.ts +20 -0
  432. package/dist/runtime/app/utils/query-key.js +7 -0
  433. package/dist/runtime/app/utils/theme.d.ts +44 -0
  434. package/dist/runtime/app/utils/theme.js +43 -0
  435. package/dist/types.d.mts +3 -11
  436. package/package.json +18 -3
  437. package/dist/module.d.cts +0 -2
@@ -0,0 +1,40 @@
1
+ import type { VunoColor, VunoRadius, VunoSize } from '#vuno/types/base';
2
+ import type { VunoUi } from '#vuno/types/slots';
3
+ /**
4
+ * La casilla, nativa.
5
+ *
6
+ * Su raíz **es** el `<input>`, así que no apaga la herencia de atributos
7
+ * como hacen el input de texto o el área: lo que le llegue —el `id` y los
8
+ * `aria-*` del envoltorio de campo, el `name`, el `disabled`— cae en el
9
+ * elemento correcto sin reenviarlo a mano.
10
+ */
11
+ type Props = {
12
+ color?: VunoColor;
13
+ /**
14
+ * Ni marcada ni sin marcar: la selección de una tabla donde solo
15
+ * hay algunas filas elegidas.
16
+ */
17
+ indeterminate?: boolean;
18
+ /** La curvatura. Sin valor, la que traiga el tema. */
19
+ radius?: VunoRadius;
20
+ size?: VunoSize;
21
+ ui?: VunoUi<'checkbox' | 'fieldCheckbox'>;
22
+ };
23
+ type __VLS_Props = Props;
24
+ type __VLS_ModelProps = {
25
+ modelValue?: boolean | undefined;
26
+ };
27
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
28
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
+ "update:modelValue": (value: boolean | undefined) => any;
30
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
31
+ "onUpdate:modelValue"?: ((value: boolean | undefined) => any) | undefined;
32
+ }>, {
33
+ color: VunoColor;
34
+ radius: VunoRadius;
35
+ size: VunoSize;
36
+ ui: VunoUi<"checkbox" | "fieldCheckbox">;
37
+ indeterminate: boolean;
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ declare const _default: typeof __VLS_export;
40
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import type { VunoFieldColor } from '#vuno/types/field';
2
+ type __VLS_Props = Omit<VunoFieldColor, 'columns'>;
3
+ type __VLS_ModelProps = {
4
+ modelValue?: string | undefined;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "update:modelValue": (value: string | undefined) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
+ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,27 @@
1
+ export declare const fieldColorTheme: Record<"fieldColor", {
2
+ readonly slots: {
3
+ readonly root: "flex w-full items-center gap-2";
4
+ readonly swatch: "relative flex shrink-0 cursor-pointer items-center justify-center rounded-sm border border-vuno-border-strong bg-vuno-surface p-1 transition-colors [--vuno-accent:var(--color-vuno-primary)] focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-(--vuno-accent) has-disabled:cursor-not-allowed has-disabled:opacity-50";
5
+ readonly swatchColor: "size-full rounded-sm";
6
+ readonly swatchInput: "absolute inset-0 cursor-pointer opacity-0";
7
+ };
8
+ readonly variants: {
9
+ readonly size: {
10
+ readonly xs: {
11
+ readonly swatch: "size-6";
12
+ };
13
+ readonly sm: {
14
+ readonly swatch: "size-7";
15
+ };
16
+ readonly md: {
17
+ readonly swatch: "size-8";
18
+ };
19
+ readonly lg: {
20
+ readonly swatch: "size-9";
21
+ };
22
+ readonly xl: {
23
+ readonly swatch: "size-10";
24
+ };
25
+ };
26
+ };
27
+ }>;
@@ -0,0 +1,18 @@
1
+ import { defineTheme } from "#vuno/utils/theme";
2
+ export const fieldColorTheme = defineTheme("fieldColor", {
3
+ slots: {
4
+ root: "flex w-full items-center gap-2",
5
+ swatch: "relative flex shrink-0 cursor-pointer items-center justify-center rounded-sm border border-vuno-border-strong bg-vuno-surface p-1 transition-colors [--vuno-accent:var(--color-vuno-primary)] focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-(--vuno-accent) has-disabled:cursor-not-allowed has-disabled:opacity-50",
6
+ swatchColor: "size-full rounded-sm",
7
+ swatchInput: "absolute inset-0 cursor-pointer opacity-0"
8
+ },
9
+ variants: {
10
+ size: {
11
+ xs: { swatch: "size-6" },
12
+ sm: { swatch: "size-7" },
13
+ md: { swatch: "size-8" },
14
+ lg: { swatch: "size-9" },
15
+ xl: { swatch: "size-10" }
16
+ }
17
+ }
18
+ });
@@ -0,0 +1,88 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { useField } from "#vuno/composables/useField";
4
+ import { useMessages, useTheme } from "#vuno/composables/useTheme";
5
+ import { toHexColor } from "#vuno/utils/format";
6
+ import FieldShell from "#vuno/components/internal/FieldShell/FieldShell.vue";
7
+ import Input from "#vuno/components/internal/Input/Input.vue";
8
+ defineOptions({ name: "VunoFieldColor", inheritAttrs: false });
9
+ const model = defineModel({ type: null, ...{ default: void 0 } });
10
+ const props = defineProps({
11
+ name: { type: String, required: false },
12
+ class: { type: String, required: false },
13
+ description: { type: String, required: false },
14
+ disabled: { type: Boolean, required: false },
15
+ error: { type: String, required: false },
16
+ help: { type: String, required: false },
17
+ hint: { type: String, required: false },
18
+ label: { type: String, required: false },
19
+ orientation: { type: String, required: false },
20
+ required: { type: Boolean, required: false },
21
+ size: { type: String, required: false },
22
+ ui: { type: Object, required: false },
23
+ placeholder: { type: String, required: false }
24
+ });
25
+ const { value } = useField(() => props.name, model);
26
+ const messages = useMessages();
27
+ const ui = useTheme(
28
+ "fieldColor",
29
+ () => props.ui,
30
+ () => ({ size: props.size ?? "md" })
31
+ );
32
+ const picked = computed(() => toHexColor(value.value) ?? "#000000");
33
+ function onPick(event) {
34
+ value.value = event.target.value;
35
+ }
36
+ </script>
37
+
38
+ <template>
39
+ <FieldShell v-bind="props">
40
+ <template #default="control">
41
+ <div :class="ui.root">
42
+ <!--
43
+ El selector es el del sistema: trae su lupa para tomar un color de
44
+ la pantalla, su historial y su teclado, y en el móvil el de siempre.
45
+ Nada de eso lo íbamos a escribir mejor.
46
+
47
+ Lo que no trae es aspecto —un `<input type="color">` no se puede
48
+ estilar—, así que se pinta la muestra debajo y el control va encima,
49
+ transparente y ocupándola entera. La etiqueta envuelve a los dos
50
+ para que pulsar en cualquier punto abra el selector, y el anillo de
51
+ foco se pinta sobre la caja con `focus-within`, no sobre algo que no
52
+ se ve.
53
+ -->
54
+ <label :class="ui.swatch">
55
+ <span
56
+ :class="ui.swatchColor"
57
+ :style="{ backgroundColor: value || 'transparent' }"
58
+ />
59
+
60
+ <!--
61
+ El nombre lleva de qué control se trata porque el campo son
62
+ **dos** paradas con el mismo rótulo: la muestra abre el selector
63
+ del sistema y el hexadecimal de al lado escribe el valor. Sin
64
+ distinguirlos, quien no ve la pantalla oye dos veces «Color de
65
+ marca» y no sabe en cuál está.
66
+ -->
67
+ <input
68
+ :aria-label="props.label ? `${props.label}: ${messages.colorPicker}` : messages.colorPicker"
69
+ :class="ui.swatchInput"
70
+ :disabled="props.disabled"
71
+ type="color"
72
+ :value="picked"
73
+ @input="onPick"
74
+ />
75
+ </label>
76
+
77
+ <Input
78
+ v-bind="control"
79
+ v-model="value"
80
+ class="font-mono"
81
+ :disabled="props.disabled"
82
+ :placeholder="props.placeholder ?? '#000000'"
83
+ :ui="{ root: 'w-full' }"
84
+ />
85
+ </div>
86
+ </template>
87
+ </FieldShell>
88
+ </template>
@@ -0,0 +1,13 @@
1
+ import type { VunoFieldColor } from '#vuno/types/field';
2
+ type __VLS_Props = Omit<VunoFieldColor, 'columns'>;
3
+ type __VLS_ModelProps = {
4
+ modelValue?: string | undefined;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "update:modelValue": (value: string | undefined) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
+ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import type { VunoFieldCurrency } from '#vuno/types/field';
2
+ type __VLS_Props = Omit<VunoFieldCurrency, 'columns'>;
3
+ type __VLS_ModelProps = {
4
+ modelValue?: number | undefined;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "update:modelValue": (value: number | undefined) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
+ "onUpdate:modelValue"?: ((value: number | undefined) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export declare const fieldCurrencyTheme: Record<"fieldCurrency", {
2
+ readonly slots: {
3
+ readonly root: "w-full";
4
+ };
5
+ }>;
@@ -0,0 +1,2 @@
1
+ import { defineTheme } from "#vuno/utils/theme";
2
+ export const fieldCurrencyTheme = defineTheme("fieldCurrency", { slots: { root: "w-full" } });
@@ -0,0 +1,51 @@
1
+ <script setup>
2
+ import { useField } from "#vuno/composables/useField";
3
+ import { useTheme } from "#vuno/composables/useTheme";
4
+ import FieldShell from "#vuno/components/internal/FieldShell/FieldShell.vue";
5
+ import NumberInput from "#vuno/components/internal/NumberInput/NumberInput.vue";
6
+ defineOptions({ name: "VunoFieldCurrency" });
7
+ const model = defineModel({ type: null, ...{ default: void 0 } });
8
+ const props = defineProps({
9
+ name: { type: String, required: false },
10
+ class: { type: String, required: false },
11
+ description: { type: String, required: false },
12
+ disabled: { type: Boolean, required: false },
13
+ error: { type: String, required: false },
14
+ help: { type: String, required: false },
15
+ hint: { type: String, required: false },
16
+ label: { type: String, required: false },
17
+ orientation: { type: String, required: false },
18
+ required: { type: Boolean, required: false },
19
+ size: { type: String, required: false },
20
+ ui: { type: Object, required: false },
21
+ controlsOrientation: { type: String, required: false },
22
+ currency: { type: String, required: true },
23
+ decimals: { type: Number, required: false },
24
+ max: { type: Number, required: false },
25
+ min: { type: Number, required: false },
26
+ placeholder: { type: String, required: false },
27
+ step: { type: Number, required: false }
28
+ });
29
+ const { value } = useField(() => props.name, model);
30
+ const ui = useTheme("fieldCurrency", () => props.ui);
31
+ </script>
32
+
33
+ <template>
34
+ <FieldShell v-bind="props">
35
+ <template #default="control">
36
+ <NumberInput
37
+ v-bind="control"
38
+ v-model="value"
39
+ :currency="props.currency"
40
+ :decimals="props.decimals"
41
+ :disabled="props.disabled"
42
+ :max="props.max"
43
+ :min="props.min"
44
+ :orientation="props.controlsOrientation ?? 'horizontal'"
45
+ :placeholder="props.placeholder"
46
+ :step="props.step"
47
+ :ui="ui"
48
+ />
49
+ </template>
50
+ </FieldShell>
51
+ </template>
@@ -0,0 +1,13 @@
1
+ import type { VunoFieldCurrency } from '#vuno/types/field';
2
+ type __VLS_Props = Omit<VunoFieldCurrency, 'columns'>;
3
+ type __VLS_ModelProps = {
4
+ modelValue?: number | undefined;
5
+ };
6
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "update:modelValue": (value: number | undefined) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
10
+ "onUpdate:modelValue"?: ((value: number | undefined) => any) | undefined;
11
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import type { VunoFieldFile } from '#vuno/types/field';
2
+ /**
3
+ * Los tres booleanos llevan `withDefaults` y no un `?? true` en el uso.
4
+ *
5
+ * Vue convierte un prop declarado `boolean` que no viene en `false`, nunca
6
+ * en `undefined`, así que `props.multiple ?? true` no se ejecuta jamás: da
7
+ * `false` y el campo queda de un solo archivo salvo que la definición
8
+ * escriba `multiple: true`. Lo mismo hacía que `dropzone` llegara en
9
+ * `false` al control, pisando el `true` que este sí traía por defecto.
10
+ */
11
+ type __VLS_Props = Omit<VunoFieldFile, 'columns'>;
12
+ type __VLS_ModelProps = {
13
+ modelValue?: File[] | null | undefined;
14
+ };
15
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
16
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ "update:modelValue": (value: File[] | null | undefined) => any;
18
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
+ "onUpdate:modelValue"?: ((value: File[] | null | undefined) => any) | undefined;
20
+ }>, {
21
+ dropzone: boolean;
22
+ multiple: boolean;
23
+ reorderable: boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
@@ -0,0 +1,5 @@
1
+ export declare const fieldFileTheme: Record<"fieldFile", {
2
+ readonly slots: {
3
+ readonly root: "w-full";
4
+ };
5
+ }>;
@@ -0,0 +1,2 @@
1
+ import { defineTheme } from "#vuno/utils/theme";
2
+ export const fieldFileTheme = defineTheme("fieldFile", { slots: { root: "w-full" } });
@@ -0,0 +1,99 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { useField } from "#vuno/composables/useField";
4
+ import { useIcons, useMessages, useTheme } from "#vuno/composables/useTheme";
5
+ import Button from "#vuno/components/Button/Button.vue";
6
+ import FileUpload from "#vuno/components/FieldFile/internal/FileUpload/FileUpload.vue";
7
+ import FieldShell from "#vuno/components/internal/FieldShell/FieldShell.vue";
8
+ import Tooltip from "#vuno/components/Tooltip/Tooltip.vue";
9
+ defineOptions({ name: "VunoFieldFile" });
10
+ const model = defineModel({ type: null, ...{ default: void 0 } });
11
+ const props = defineProps({
12
+ name: { type: String, required: false },
13
+ class: { type: String, required: false },
14
+ description: { type: String, required: false },
15
+ disabled: { type: Boolean, required: false },
16
+ error: { type: String, required: false },
17
+ help: { type: String, required: false },
18
+ hint: { type: String, required: false },
19
+ label: { type: String, required: false },
20
+ orientation: { type: String, required: false },
21
+ required: { type: Boolean, required: false },
22
+ size: { type: String, required: false },
23
+ ui: { type: Object, required: false },
24
+ accept: { type: String, required: false },
25
+ dropzone: { type: Boolean, required: false, default: true },
26
+ layout: { type: String, required: false },
27
+ multiple: { type: Boolean, required: false, default: true },
28
+ reorderable: { type: Boolean, required: false, default: true }
29
+ });
30
+ const { value } = useField(() => props.name, model);
31
+ const icons = useIcons();
32
+ const messages = useMessages();
33
+ const ui = useTheme("fieldFile", () => props.ui);
34
+ const isReorderable = computed(() => props.reorderable && props.multiple);
35
+ const files = computed(() => value.value ?? []);
36
+ function move(index, offset) {
37
+ const next = [...files.value];
38
+ const target = index + offset;
39
+ if (target < 0 || target >= next.length) return;
40
+ const [moved] = next.splice(index, 1);
41
+ if (!moved) return;
42
+ next.splice(target, 0, moved);
43
+ value.value = next;
44
+ }
45
+ </script>
46
+
47
+ <template>
48
+ <FieldShell v-bind="props">
49
+ <template #default="control">
50
+ <FileUpload
51
+ v-bind="control"
52
+ v-model="value"
53
+ :accept="props.accept"
54
+ :disabled="props.disabled"
55
+ :dropzone="props.dropzone"
56
+ :layout="props.layout ?? 'list'"
57
+ :multiple="props.multiple"
58
+ :ui="ui"
59
+ >
60
+ <!--
61
+ Solo las flechas: el botón de quitar lo pone el control, que es
62
+ quien sabe cómo se borra de su lista. Aquí se añade lo que es propio
63
+ del campo, que es poder reordenar.
64
+ -->
65
+ <template #fileTrailing="{ actionClass, file, index }">
66
+ <Tooltip
67
+ v-if="isReorderable && index > 0"
68
+ :text="messages.fileMoveUp"
69
+ >
70
+ <Button
71
+ :aria-label="`${messages.fileMoveUp} ${file.name}`"
72
+ color="neutral"
73
+ :icon="icons.fileMoveUp"
74
+ size="xs"
75
+ :ui="{ base: actionClass }"
76
+ variant="soft"
77
+ @click="move(index, -1)"
78
+ />
79
+ </Tooltip>
80
+
81
+ <Tooltip
82
+ v-if="isReorderable && index < files.length - 1"
83
+ :text="messages.fileMoveDown"
84
+ >
85
+ <Button
86
+ :aria-label="`${messages.fileMoveDown} ${file.name}`"
87
+ color="neutral"
88
+ :icon="icons.fileMoveDown"
89
+ size="xs"
90
+ :ui="{ base: actionClass }"
91
+ variant="soft"
92
+ @click="move(index, 1)"
93
+ />
94
+ </Tooltip>
95
+ </template>
96
+ </FileUpload>
97
+ </template>
98
+ </FieldShell>
99
+ </template>
@@ -0,0 +1,26 @@
1
+ import type { VunoFieldFile } from '#vuno/types/field';
2
+ /**
3
+ * Los tres booleanos llevan `withDefaults` y no un `?? true` en el uso.
4
+ *
5
+ * Vue convierte un prop declarado `boolean` que no viene en `false`, nunca
6
+ * en `undefined`, así que `props.multiple ?? true` no se ejecuta jamás: da
7
+ * `false` y el campo queda de un solo archivo salvo que la definición
8
+ * escriba `multiple: true`. Lo mismo hacía que `dropzone` llegara en
9
+ * `false` al control, pisando el `true` que este sí traía por defecto.
10
+ */
11
+ type __VLS_Props = Omit<VunoFieldFile, 'columns'>;
12
+ type __VLS_ModelProps = {
13
+ modelValue?: File[] | null | undefined;
14
+ };
15
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
16
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ "update:modelValue": (value: File[] | null | undefined) => any;
18
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
+ "onUpdate:modelValue"?: ((value: File[] | null | undefined) => any) | undefined;
20
+ }>, {
21
+ dropzone: boolean;
22
+ multiple: boolean;
23
+ reorderable: boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
@@ -0,0 +1,66 @@
1
+ import type { VunoRadius, VunoSize } from '#vuno/types/base';
2
+ import type { VunoUi } from '#vuno/types/slots';
3
+ type __VLS_Props = Props;
4
+ type __VLS_Slots = {
5
+ /**
6
+ * Acciones extra por archivo: reordenar, previsualizar.
7
+ *
8
+ * Entrega `actionClass` porque lo que se añada aquí va al lado del
9
+ * botón de quitar y tiene que parecerse a él. Sin eso, quien use el
10
+ * hueco copia las clases, y una copia deja de seguir al tema en cuanto
11
+ * alguien cambia el original.
12
+ */
13
+ fileTrailing?: (props: {
14
+ actionClass: string | undefined;
15
+ file: File;
16
+ index: number;
17
+ removeFile: (index: number) => void;
18
+ }) => unknown;
19
+ };
20
+ type Props = {
21
+ name?: string;
22
+ /** Filtro del selector nativo: `image/*`, `.pdf`, ... */
23
+ accept?: string;
24
+ disabled?: boolean;
25
+ /** Admite soltar archivos encima, además del clic. */
26
+ dropzone?: boolean;
27
+ /** Texto de la zona de caída. Sin él solo se ve el icono. */
28
+ hint?: string;
29
+ /** En rejilla se ve la miniatura; en lista, el nombre y el tamaño. */
30
+ layout?: 'grid' | 'list';
31
+ multiple?: boolean;
32
+ /** La curvatura. Sin valor, la que traiga el tema. */
33
+ radius?: VunoRadius;
34
+ required?: boolean;
35
+ size?: VunoSize;
36
+ ui?: VunoUi<'fieldFile' | 'fileUpload'>;
37
+ };
38
+ type __VLS_ModelProps = {
39
+ modelValue?: File[] | null | undefined;
40
+ };
41
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
42
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
43
+ inputRef: import("vue").Ref<HTMLInputElement | null, HTMLInputElement | null>;
44
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
45
+ "update:modelValue": (value: File[] | null | undefined) => any;
46
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
47
+ "onUpdate:modelValue"?: ((value: File[] | null | undefined) => any) | undefined;
48
+ }>, {
49
+ radius: VunoRadius;
50
+ size: VunoSize;
51
+ name: string;
52
+ dropzone: boolean;
53
+ hint: string;
54
+ layout: "grid" | "list";
55
+ ui: VunoUi<"fieldFile" | "fileUpload">;
56
+ accept: string;
57
+ multiple: boolean;
58
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
59
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
60
+ declare const _default: typeof __VLS_export;
61
+ export default _default;
62
+ type __VLS_WithSlots<T, S> = T & {
63
+ new (): {
64
+ $slots: S;
65
+ };
66
+ };
@@ -0,0 +1,88 @@
1
+ /**
2
+ * La subida de archivos. La zona de caída es una `<label>`, así que el clic
3
+ * en cualquier punto abre el selector sin manejadores; lo que se pinta aquí
4
+ * es solo su aspecto y el de la lista de lo elegido.
5
+ *
6
+ * La miniatura y el icono de respaldo comparten hueco a propósito: si un
7
+ * archivo sin vista previa ocupara menos, la lista bailaría al mezclar
8
+ * imágenes con documentos.
9
+ */
10
+ export declare const fileUploadTheme: Record<"fileUpload", {
11
+ readonly slots: {
12
+ readonly name: "truncate text-vuno-body";
13
+ readonly actions: "ms-auto flex shrink-0 items-center gap-1.5";
14
+ readonly dropzone: "flex cursor-pointer items-center rounded-sm border border-vuno-border-strong bg-vuno-surface-1 text-vuno-muted transition-[background-color,border-color,color] focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-vuno-primary hover:border-vuno-primary hover:bg-vuno-surface-2 hover:text-vuno-body";
15
+ readonly dropzoneActive: "border-vuno-primary bg-vuno-surface-2 text-vuno-body";
16
+ readonly dropzoneDisabled: "cursor-not-allowed opacity-50";
17
+ readonly fileIcon: "shrink-0 text-vuno-muted";
18
+ readonly hint: "leading-snug";
19
+ readonly item: "flex items-center gap-2 rounded-sm border border-vuno-border bg-vuno-surface p-1.5";
20
+ readonly itemAction: "rounded-sm";
21
+ readonly list: "flex w-full flex-col gap-1.5";
22
+ readonly preview: "shrink-0 rounded-sm object-cover";
23
+ readonly root: "flex w-full flex-col gap-2";
24
+ readonly size: "text-vuno-muted";
25
+ readonly texts: "flex min-w-0 flex-col";
26
+ };
27
+ readonly variants: {
28
+ readonly dropzone: {
29
+ readonly false: {
30
+ readonly dropzone: "w-full justify-start gap-2 border-solid bg-vuno-surface px-3 py-2";
31
+ readonly hint: "text-start";
32
+ };
33
+ readonly true: {
34
+ readonly dropzone: "min-h-24 w-full flex-col justify-center gap-2 border-dashed px-4 py-6";
35
+ readonly hint: "text-center font-medium text-vuno-body";
36
+ };
37
+ };
38
+ readonly layout: {
39
+ /** En rejilla manda la imagen: la lista pasa a columnas y el texto se va debajo. */
40
+ readonly grid: {
41
+ readonly item: "flex-col items-start";
42
+ readonly list: "grid grid-cols-[repeat(auto-fill,minmax(8rem,1fr))] gap-2";
43
+ readonly preview: "h-24 w-full";
44
+ };
45
+ readonly list: {
46
+ readonly preview: "size-9";
47
+ };
48
+ };
49
+ readonly radius: Record<import("../../../../types/base.js").VunoRadius, Record<"dropzone", string>>;
50
+ readonly size: {
51
+ readonly xs: {
52
+ readonly name: "text-xs";
53
+ readonly fileIcon: "size-6";
54
+ readonly hint: "text-xs";
55
+ readonly icon: "size-6";
56
+ readonly size: "text-xs";
57
+ };
58
+ readonly sm: {
59
+ readonly name: "text-sm";
60
+ readonly fileIcon: "size-7";
61
+ readonly hint: "text-xs";
62
+ readonly icon: "size-7";
63
+ readonly size: "text-xs";
64
+ };
65
+ readonly md: {
66
+ readonly name: "text-sm";
67
+ readonly fileIcon: "size-8";
68
+ readonly hint: "text-sm";
69
+ readonly icon: "size-8";
70
+ readonly size: "text-xs";
71
+ };
72
+ readonly lg: {
73
+ readonly name: "text-base";
74
+ readonly fileIcon: "size-9";
75
+ readonly hint: "text-sm";
76
+ readonly icon: "size-9";
77
+ readonly size: "text-sm";
78
+ };
79
+ readonly xl: {
80
+ readonly name: "text-base";
81
+ readonly fileIcon: "size-10";
82
+ readonly hint: "text-base";
83
+ readonly icon: "size-10";
84
+ readonly size: "text-sm";
85
+ };
86
+ };
87
+ };
88
+ }>;