@groupteknology/vuno 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/README.md +193 -175
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +7 -1
  4. package/dist/runtime/app/assets/css/dialog.css +1 -1
  5. package/dist/runtime/app/assets/css/main.css +1 -1
  6. package/dist/runtime/app/assets/css/theme.css +1 -1
  7. package/dist/runtime/app/assets/css/tokens.css +1 -1
  8. package/dist/runtime/app/components/Alert/Alert.d.vue.ts +2 -2
  9. package/dist/runtime/app/components/Alert/Alert.theme.d.ts +7 -6
  10. package/dist/runtime/app/components/Alert/Alert.theme.js +7 -6
  11. package/dist/runtime/app/components/Alert/Alert.types.d.ts +10 -0
  12. package/dist/runtime/app/components/Alert/Alert.vue +17 -8
  13. package/dist/runtime/app/components/Alert/Alert.vue.d.ts +2 -2
  14. package/dist/runtime/app/components/App/App.d.vue.ts +3 -19
  15. package/dist/runtime/app/components/App/App.types.d.ts +4 -0
  16. package/dist/runtime/app/components/App/App.vue +48 -29
  17. package/dist/runtime/app/components/App/App.vue.d.ts +3 -19
  18. package/dist/runtime/app/components/App/internal/OverlayItem/OverlayItem.vue +2 -3
  19. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.d.ts +5 -5
  20. package/dist/runtime/app/components/App/internal/Toast/Toast.theme.js +7 -9
  21. package/dist/runtime/app/components/App/internal/Toast/Toast.vue +27 -36
  22. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.d.ts +3 -3
  23. package/dist/runtime/app/components/App/internal/Toaster/Toaster.theme.js +3 -3
  24. package/dist/runtime/app/components/Avatar/Avatar.d.vue.ts +5 -22
  25. package/dist/runtime/app/components/Avatar/Avatar.types.d.ts +10 -0
  26. package/dist/runtime/app/components/Avatar/Avatar.types.js +0 -0
  27. package/dist/runtime/app/components/Avatar/Avatar.vue.d.ts +5 -22
  28. package/dist/runtime/app/components/Badge/Badge.d.vue.ts +7 -26
  29. package/dist/runtime/app/components/Badge/Badge.types.d.ts +12 -0
  30. package/dist/runtime/app/components/Badge/Badge.types.js +0 -0
  31. package/dist/runtime/app/components/Badge/Badge.vue.d.ts +7 -26
  32. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.d.vue.ts +7 -0
  33. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.theme.d.ts +15 -0
  34. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.theme.js +16 -0
  35. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.types.d.ts +7 -0
  36. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.types.js +0 -0
  37. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.vue +109 -0
  38. package/dist/runtime/app/components/Breadcrumb/Breadcrumb.vue.d.ts +7 -0
  39. package/dist/runtime/app/components/Button/Button.d.vue.ts +11 -31
  40. package/dist/runtime/app/components/Button/Button.theme.d.ts +36 -22
  41. package/dist/runtime/app/components/Button/Button.theme.js +28 -20
  42. package/dist/runtime/app/components/Button/Button.types.d.ts +24 -0
  43. package/dist/runtime/app/components/Button/Button.types.js +0 -0
  44. package/dist/runtime/app/components/Button/Button.vue +84 -33
  45. package/dist/runtime/app/components/Button/Button.vue.d.ts +11 -31
  46. package/dist/runtime/app/components/Card/Card.d.vue.ts +7 -69
  47. package/dist/runtime/app/components/Card/Card.theme.d.ts +56 -13
  48. package/dist/runtime/app/components/Card/Card.theme.js +39 -19
  49. package/dist/runtime/app/components/Card/Card.types.d.ts +12 -0
  50. package/dist/runtime/app/components/Card/Card.types.js +0 -0
  51. package/dist/runtime/app/components/Card/Card.vue +17 -11
  52. package/dist/runtime/app/components/Card/Card.vue.d.ts +7 -69
  53. package/dist/runtime/app/components/Code/Code.d.vue.ts +3 -13
  54. package/dist/runtime/app/components/Code/Code.theme.d.ts +1 -1
  55. package/dist/runtime/app/components/Code/Code.theme.js +1 -1
  56. package/dist/runtime/app/components/Code/Code.types.d.ts +8 -0
  57. package/dist/runtime/app/components/Code/Code.types.js +0 -0
  58. package/dist/runtime/app/components/Code/Code.vue +12 -5
  59. package/dist/runtime/app/components/Code/Code.vue.d.ts +3 -13
  60. package/dist/runtime/app/components/Collapsible/Collapsible.d.vue.ts +31 -0
  61. package/dist/runtime/app/components/Collapsible/Collapsible.theme.d.ts +6 -0
  62. package/dist/runtime/app/components/Collapsible/Collapsible.theme.js +7 -0
  63. package/dist/runtime/app/components/Collapsible/Collapsible.types.d.ts +4 -0
  64. package/dist/runtime/app/components/Collapsible/Collapsible.types.js +0 -0
  65. package/dist/runtime/app/components/Collapsible/Collapsible.vue +72 -0
  66. package/dist/runtime/app/components/Collapsible/Collapsible.vue.d.ts +31 -0
  67. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.d.vue.ts +12 -0
  68. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.types.d.ts +13 -0
  69. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.types.js +0 -0
  70. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.vue +55 -0
  71. package/dist/runtime/app/components/ColorModeButton/ColorModeButton.vue.d.ts +12 -0
  72. package/dist/runtime/app/components/Confirm/Confirm.d.vue.ts +2 -6
  73. package/dist/runtime/app/components/Confirm/Confirm.types.d.ts +6 -0
  74. package/dist/runtime/app/components/Confirm/Confirm.types.js +0 -0
  75. package/dist/runtime/app/components/Confirm/Confirm.vue.d.ts +2 -6
  76. package/dist/runtime/app/components/Container/Container.d.vue.ts +4 -28
  77. package/dist/runtime/app/components/Container/Container.types.d.ts +9 -0
  78. package/dist/runtime/app/components/Container/Container.types.js +0 -0
  79. package/dist/runtime/app/components/Container/Container.vue +1 -1
  80. package/dist/runtime/app/components/Container/Container.vue.d.ts +4 -28
  81. package/dist/runtime/app/components/ControlGroup/ControlGroup.d.vue.ts +5 -14
  82. package/dist/runtime/app/components/ControlGroup/ControlGroup.types.d.ts +9 -0
  83. package/dist/runtime/app/components/ControlGroup/ControlGroup.types.js +0 -0
  84. package/dist/runtime/app/components/ControlGroup/ControlGroup.vue.d.ts +5 -14
  85. package/dist/runtime/app/components/DataTable/DataTable.d.vue.ts +64 -0
  86. package/dist/runtime/app/components/DataTable/DataTable.theme.d.ts +17 -0
  87. package/dist/runtime/app/components/DataTable/DataTable.theme.js +19 -0
  88. package/dist/runtime/app/components/DataTable/DataTable.types.d.ts +13 -0
  89. package/dist/runtime/app/components/DataTable/DataTable.types.js +0 -0
  90. package/dist/runtime/app/components/DataTable/DataTable.vue +356 -0
  91. package/dist/runtime/app/components/DataTable/DataTable.vue.d.ts +64 -0
  92. package/dist/runtime/app/components/{Table/internal/useVunoTable.d.ts → DataTable/internal/useVunoDataTable.d.ts} +6 -29
  93. package/dist/runtime/app/components/{Table/internal/useVunoTable.js → DataTable/internal/useVunoDataTable.js} +2 -29
  94. package/dist/runtime/app/components/FieldArray/FieldArray.d.vue.ts +2 -2
  95. package/dist/runtime/app/components/FieldArray/FieldArray.types.d.ts +2 -0
  96. package/dist/runtime/app/components/FieldArray/FieldArray.types.js +0 -0
  97. package/dist/runtime/app/components/FieldArray/FieldArray.vue +12 -5
  98. package/dist/runtime/app/components/FieldArray/FieldArray.vue.d.ts +2 -2
  99. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.d.vue.ts +2 -2
  100. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.types.d.ts +2 -0
  101. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.types.js +0 -0
  102. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue +1 -1
  103. package/dist/runtime/app/components/FieldCheckbox/FieldCheckbox.vue.d.ts +2 -2
  104. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.d.vue.ts +4 -3
  105. package/dist/runtime/app/components/FieldCheckbox/internal/Checkbox/Checkbox.vue.d.ts +4 -3
  106. package/dist/runtime/app/components/FieldColor/FieldColor.d.vue.ts +2 -2
  107. package/dist/runtime/app/components/FieldColor/FieldColor.types.d.ts +2 -0
  108. package/dist/runtime/app/components/FieldColor/FieldColor.types.js +0 -0
  109. package/dist/runtime/app/components/FieldColor/FieldColor.vue +3 -3
  110. package/dist/runtime/app/components/FieldColor/FieldColor.vue.d.ts +2 -2
  111. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.d.vue.ts +2 -2
  112. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.types.d.ts +2 -0
  113. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.types.js +0 -0
  114. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue +3 -3
  115. package/dist/runtime/app/components/FieldCurrency/FieldCurrency.vue.d.ts +2 -2
  116. package/dist/runtime/app/components/FieldFile/FieldFile.d.vue.ts +2 -2
  117. package/dist/runtime/app/components/FieldFile/FieldFile.types.d.ts +2 -0
  118. package/dist/runtime/app/components/FieldFile/FieldFile.types.js +0 -0
  119. package/dist/runtime/app/components/FieldFile/FieldFile.vue +1 -1
  120. package/dist/runtime/app/components/FieldFile/FieldFile.vue.d.ts +2 -2
  121. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.d.vue.ts +4 -3
  122. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.d.ts +1 -0
  123. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.theme.js +1 -0
  124. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue +26 -5
  125. package/dist/runtime/app/components/FieldFile/internal/FileUpload/FileUpload.vue.d.ts +4 -3
  126. package/dist/runtime/app/components/FieldInput/FieldInput.d.vue.ts +4 -4
  127. package/dist/runtime/app/components/FieldInput/FieldInput.types.d.ts +2 -0
  128. package/dist/runtime/app/components/FieldInput/FieldInput.types.js +0 -0
  129. package/dist/runtime/app/components/FieldInput/FieldInput.vue +3 -3
  130. package/dist/runtime/app/components/FieldInput/FieldInput.vue.d.ts +4 -4
  131. package/dist/runtime/app/components/FieldNumber/FieldNumber.d.vue.ts +2 -2
  132. package/dist/runtime/app/components/FieldNumber/FieldNumber.types.d.ts +2 -0
  133. package/dist/runtime/app/components/FieldNumber/FieldNumber.types.js +0 -0
  134. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue +3 -3
  135. package/dist/runtime/app/components/FieldNumber/FieldNumber.vue.d.ts +2 -2
  136. package/dist/runtime/app/components/FieldPassword/FieldPassword.d.vue.ts +2 -2
  137. package/dist/runtime/app/components/FieldPassword/FieldPassword.types.d.ts +2 -0
  138. package/dist/runtime/app/components/FieldPassword/FieldPassword.types.js +0 -0
  139. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue +4 -4
  140. package/dist/runtime/app/components/FieldPassword/FieldPassword.vue.d.ts +2 -2
  141. package/dist/runtime/app/components/FieldRadio/FieldRadio.d.vue.ts +3 -2
  142. package/dist/runtime/app/components/FieldRadio/FieldRadio.types.d.ts +2 -0
  143. package/dist/runtime/app/components/FieldRadio/FieldRadio.types.js +0 -0
  144. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue +1 -1
  145. package/dist/runtime/app/components/FieldRadio/FieldRadio.vue.d.ts +3 -2
  146. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.d.vue.ts +4 -4
  147. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue +6 -2
  148. package/dist/runtime/app/components/FieldRadio/internal/RadioGroup/RadioGroup.vue.d.ts +4 -4
  149. package/dist/runtime/app/components/FieldSearch/FieldSearch.d.vue.ts +3 -3
  150. package/dist/runtime/app/components/FieldSearch/FieldSearch.types.d.ts +2 -0
  151. package/dist/runtime/app/components/FieldSearch/FieldSearch.types.js +0 -0
  152. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue +4 -4
  153. package/dist/runtime/app/components/FieldSearch/FieldSearch.vue.d.ts +3 -3
  154. package/dist/runtime/app/components/FieldSelect/FieldSelect.d.vue.ts +3 -2
  155. package/dist/runtime/app/components/FieldSelect/FieldSelect.types.d.ts +2 -0
  156. package/dist/runtime/app/components/FieldSelect/FieldSelect.types.js +0 -0
  157. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue +1 -1
  158. package/dist/runtime/app/components/FieldSelect/FieldSelect.vue.d.ts +3 -2
  159. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.d.vue.ts +7 -7
  160. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue +16 -6
  161. package/dist/runtime/app/components/FieldSelect/internal/Select/Select.vue.d.ts +7 -7
  162. package/dist/runtime/app/components/FieldSlug/FieldSlug.d.vue.ts +2 -2
  163. package/dist/runtime/app/components/FieldSlug/FieldSlug.types.d.ts +2 -0
  164. package/dist/runtime/app/components/FieldSlug/FieldSlug.types.js +0 -0
  165. package/dist/runtime/app/components/FieldSlug/FieldSlug.vue +4 -4
  166. package/dist/runtime/app/components/FieldSlug/FieldSlug.vue.d.ts +2 -2
  167. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.d.vue.ts +2 -2
  168. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.types.d.ts +2 -0
  169. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.types.js +0 -0
  170. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue +1 -1
  171. package/dist/runtime/app/components/FieldSwitch/FieldSwitch.vue.d.ts +2 -2
  172. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.d.vue.ts +4 -3
  173. package/dist/runtime/app/components/FieldSwitch/internal/Switch/Switch.vue.d.ts +4 -3
  174. package/dist/runtime/app/components/FieldTags/FieldTags.d.vue.ts +2 -2
  175. package/dist/runtime/app/components/FieldTags/FieldTags.types.d.ts +2 -0
  176. package/dist/runtime/app/components/FieldTags/FieldTags.types.js +0 -0
  177. package/dist/runtime/app/components/FieldTags/FieldTags.vue +1 -1
  178. package/dist/runtime/app/components/FieldTags/FieldTags.vue.d.ts +2 -2
  179. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.d.vue.ts +4 -4
  180. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue +16 -6
  181. package/dist/runtime/app/components/FieldTags/internal/TagsInput/TagsInput.vue.d.ts +4 -4
  182. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.d.vue.ts +2 -2
  183. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.types.d.ts +2 -0
  184. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.types.js +0 -0
  185. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue +1 -1
  186. package/dist/runtime/app/components/FieldTextarea/FieldTextarea.vue.d.ts +2 -2
  187. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.d.vue.ts +4 -3
  188. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue +4 -4
  189. package/dist/runtime/app/components/FieldTextarea/internal/Textarea/Textarea.vue.d.ts +4 -3
  190. package/dist/runtime/app/components/Form/Form.d.vue.ts +3 -19
  191. package/dist/runtime/app/components/Form/Form.types.d.ts +8 -0
  192. package/dist/runtime/app/components/Form/Form.types.js +0 -0
  193. package/dist/runtime/app/components/Form/Form.vue +3 -3
  194. package/dist/runtime/app/components/Form/Form.vue.d.ts +3 -19
  195. package/dist/runtime/app/components/FormField/FormField.d.vue.ts +4 -18
  196. package/dist/runtime/app/components/FormField/FormField.types.d.ts +14 -0
  197. package/dist/runtime/app/components/FormField/FormField.types.js +0 -0
  198. package/dist/runtime/app/components/FormField/FormField.vue +26 -10
  199. package/dist/runtime/app/components/FormField/FormField.vue.d.ts +4 -18
  200. package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.d.vue.ts +2 -3
  201. package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.vue.d.ts +2 -3
  202. package/dist/runtime/app/components/FormModal/FormModal.d.vue.ts +6 -25
  203. package/dist/runtime/app/components/FormModal/FormModal.types.d.ts +14 -0
  204. package/dist/runtime/app/components/FormModal/FormModal.types.js +0 -0
  205. package/dist/runtime/app/components/FormModal/FormModal.vue +12 -2
  206. package/dist/runtime/app/components/FormModal/FormModal.vue.d.ts +6 -25
  207. package/dist/runtime/app/components/FormSection/FormSection.d.vue.ts +2 -13
  208. package/dist/runtime/app/components/FormSection/FormSection.types.d.ts +7 -0
  209. package/dist/runtime/app/components/FormSection/FormSection.types.js +0 -0
  210. package/dist/runtime/app/components/FormSection/FormSection.vue +11 -4
  211. package/dist/runtime/app/components/FormSection/FormSection.vue.d.ts +2 -13
  212. package/dist/runtime/app/components/Icon/Icon.d.vue.ts +2 -4
  213. package/dist/runtime/app/components/Icon/Icon.types.d.ts +3 -0
  214. package/dist/runtime/app/components/Icon/Icon.types.js +0 -0
  215. package/dist/runtime/app/components/Icon/Icon.vue.d.ts +2 -4
  216. package/dist/runtime/app/components/Menu/Menu.d.vue.ts +4 -21
  217. package/dist/runtime/app/components/Menu/Menu.types.d.ts +7 -0
  218. package/dist/runtime/app/components/Menu/Menu.types.js +0 -0
  219. package/dist/runtime/app/components/Menu/Menu.vue +18 -110
  220. package/dist/runtime/app/components/Menu/Menu.vue.d.ts +4 -21
  221. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.d.vue.ts +26 -0
  222. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.vue +167 -0
  223. package/dist/runtime/app/components/Menu/internal/MenuLevel/MenuLevel.vue.d.ts +26 -0
  224. package/dist/runtime/app/components/Modal/Modal.d.vue.ts +6 -18
  225. package/dist/runtime/app/components/Modal/Modal.theme.d.ts +18 -14
  226. package/dist/runtime/app/components/Modal/Modal.theme.js +17 -21
  227. package/dist/runtime/app/components/Modal/Modal.types.d.ts +12 -0
  228. package/dist/runtime/app/components/Modal/Modal.types.js +0 -0
  229. package/dist/runtime/app/components/Modal/Modal.vue +99 -65
  230. package/dist/runtime/app/components/Modal/Modal.vue.d.ts +6 -18
  231. package/dist/runtime/app/components/Navbar/Navbar.d.vue.ts +3 -28
  232. package/dist/runtime/app/components/Navbar/Navbar.theme.d.ts +2 -3
  233. package/dist/runtime/app/components/Navbar/Navbar.theme.js +2 -3
  234. package/dist/runtime/app/components/Navbar/Navbar.types.d.ts +4 -0
  235. package/dist/runtime/app/components/Navbar/Navbar.types.js +0 -0
  236. package/dist/runtime/app/components/Navbar/Navbar.vue.d.ts +3 -28
  237. package/dist/runtime/app/components/NavigationList/NavigationList.d.vue.ts +4 -33
  238. package/dist/runtime/app/components/NavigationList/NavigationList.keys.d.ts +3 -0
  239. package/dist/runtime/app/components/NavigationList/NavigationList.keys.js +1 -0
  240. package/dist/runtime/app/components/NavigationList/NavigationList.types.d.ts +9 -0
  241. package/dist/runtime/app/components/NavigationList/NavigationList.types.js +0 -0
  242. package/dist/runtime/app/components/NavigationList/NavigationList.vue +65 -19
  243. package/dist/runtime/app/components/NavigationList/NavigationList.vue.d.ts +4 -33
  244. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.d.vue.ts +3 -24
  245. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.keys.d.ts +7 -0
  246. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.keys.js +3 -0
  247. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.types.d.ts +10 -0
  248. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.types.js +0 -0
  249. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue +45 -13
  250. package/dist/runtime/app/components/NavigationMenu/NavigationMenu.vue.d.ts +3 -24
  251. package/dist/runtime/app/components/NavigationToc/NavigationToc.d.vue.ts +3 -10
  252. package/dist/runtime/app/components/NavigationToc/NavigationToc.types.d.ts +7 -0
  253. package/dist/runtime/app/components/NavigationToc/NavigationToc.types.js +0 -0
  254. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue +8 -1
  255. package/dist/runtime/app/components/NavigationToc/NavigationToc.vue.d.ts +3 -10
  256. package/dist/runtime/app/components/Pagination/Pagination.d.vue.ts +5 -23
  257. package/dist/runtime/app/components/Pagination/Pagination.types.d.ts +11 -0
  258. package/dist/runtime/app/components/Pagination/Pagination.types.js +0 -0
  259. package/dist/runtime/app/components/Pagination/Pagination.vue +6 -2
  260. package/dist/runtime/app/components/Pagination/Pagination.vue.d.ts +5 -23
  261. package/dist/runtime/app/components/Slideover/Slideover.d.vue.ts +4 -13
  262. package/dist/runtime/app/components/Slideover/Slideover.types.d.ts +12 -0
  263. package/dist/runtime/app/components/Slideover/Slideover.types.js +0 -0
  264. package/dist/runtime/app/components/Slideover/Slideover.vue.d.ts +4 -13
  265. package/dist/runtime/app/components/State/State.d.vue.ts +2 -2
  266. package/dist/runtime/app/components/State/State.types.d.ts +15 -0
  267. package/dist/runtime/app/components/State/State.types.js +0 -0
  268. package/dist/runtime/app/components/State/State.vue +13 -3
  269. package/dist/runtime/app/components/State/State.vue.d.ts +2 -2
  270. package/dist/runtime/app/components/Table/Table.d.vue.ts +8 -55
  271. package/dist/runtime/app/components/Table/Table.theme.d.ts +17 -35
  272. package/dist/runtime/app/components/Table/Table.theme.js +15 -48
  273. package/dist/runtime/app/components/Table/Table.types.d.ts +9 -0
  274. package/dist/runtime/app/components/Table/Table.types.js +0 -0
  275. package/dist/runtime/app/components/Table/Table.vue +143 -415
  276. package/dist/runtime/app/components/Table/Table.vue.d.ts +8 -55
  277. package/dist/runtime/app/components/Table/internal/CellBoolean/CellBoolean.vue +13 -3
  278. package/dist/runtime/app/components/Table/internal/CellCurrency/CellCurrency.vue +8 -1
  279. package/dist/runtime/app/components/Table/internal/CellDate/CellDate.vue +8 -1
  280. package/dist/runtime/app/components/Table/internal/CellNumber/CellNumber.vue +8 -1
  281. package/dist/runtime/app/components/Table/internal/CellText/CellText.vue +8 -1
  282. package/dist/runtime/app/components/Table/internal/TableCell/TableCell.d.vue.ts +2 -2
  283. package/dist/runtime/app/components/Table/internal/TableCell/TableCell.vue.d.ts +2 -2
  284. package/dist/runtime/app/components/Table/internal/column.d.ts +9 -0
  285. package/dist/runtime/app/components/Table/internal/column.js +15 -0
  286. package/dist/runtime/app/components/Table/internal/useVunoTableSelection.d.ts +1 -1
  287. package/dist/runtime/app/components/Tabs/Tabs.d.vue.ts +5 -24
  288. package/dist/runtime/app/components/Tabs/Tabs.theme.d.ts +15 -6
  289. package/dist/runtime/app/components/Tabs/Tabs.theme.js +15 -6
  290. package/dist/runtime/app/components/Tabs/Tabs.types.d.ts +10 -0
  291. package/dist/runtime/app/components/Tabs/Tabs.types.js +0 -0
  292. package/dist/runtime/app/components/Tabs/Tabs.vue +91 -17
  293. package/dist/runtime/app/components/Tabs/Tabs.vue.d.ts +5 -24
  294. package/dist/runtime/app/components/Text/Text.d.vue.ts +19 -0
  295. package/dist/runtime/app/components/Text/Text.theme.d.ts +55 -0
  296. package/dist/runtime/app/components/Text/Text.theme.js +28 -0
  297. package/dist/runtime/app/components/Text/Text.types.d.ts +9 -0
  298. package/dist/runtime/app/components/Text/Text.types.js +0 -0
  299. package/dist/runtime/app/components/Text/Text.vue +37 -0
  300. package/dist/runtime/app/components/Text/Text.vue.d.ts +19 -0
  301. package/dist/runtime/app/components/Toolbar/Toolbar.d.vue.ts +17 -0
  302. package/dist/runtime/app/components/Toolbar/Toolbar.theme.d.ts +5 -0
  303. package/dist/runtime/app/components/Toolbar/Toolbar.theme.js +6 -0
  304. package/dist/runtime/app/components/Toolbar/Toolbar.types.d.ts +9 -0
  305. package/dist/runtime/app/components/Toolbar/Toolbar.types.js +0 -0
  306. package/dist/runtime/app/components/Toolbar/Toolbar.vue +76 -0
  307. package/dist/runtime/app/components/Toolbar/Toolbar.vue.d.ts +17 -0
  308. package/dist/runtime/app/components/Tooltip/Tooltip.d.vue.ts +5 -26
  309. package/dist/runtime/app/components/Tooltip/Tooltip.types.d.ts +11 -0
  310. package/dist/runtime/app/components/Tooltip/Tooltip.types.js +0 -0
  311. package/dist/runtime/app/components/Tooltip/Tooltip.vue +1 -1
  312. package/dist/runtime/app/components/Tooltip/Tooltip.vue.d.ts +5 -26
  313. package/dist/runtime/app/composables/internal/useVunoContext.d.ts +5 -0
  314. package/dist/runtime/app/composables/internal/useVunoContext.js +8 -0
  315. package/dist/runtime/app/composables/internal/useVunoControlGroup.d.ts +3 -4
  316. package/dist/runtime/app/composables/internal/useVunoDirection.d.ts +5 -0
  317. package/dist/runtime/app/composables/internal/useVunoDirection.js +8 -0
  318. package/dist/runtime/app/composables/internal/useVunoFormContext.d.ts +5 -0
  319. package/dist/runtime/app/composables/internal/useVunoFormContext.js +8 -0
  320. package/dist/runtime/app/composables/internal/useVunoOverlayBehind.d.ts +6 -0
  321. package/dist/runtime/app/composables/internal/useVunoOverlayBehind.js +8 -0
  322. package/dist/runtime/app/composables/useContext.js +2 -3
  323. package/dist/runtime/app/composables/useForm.js +2 -3
  324. package/dist/runtime/app/composables/useTableQuery.d.ts +1 -1
  325. package/dist/runtime/app/composables/useTheme.js +6 -3
  326. package/dist/runtime/app/{components/internal/ControlShell/ControlShell.vue.d.ts → primitives/PrimitiveControl/PrimitiveControl.d.vue.ts} +4 -3
  327. package/dist/runtime/app/{components/internal/ControlShell/ControlShell.theme.d.ts → primitives/PrimitiveControl/PrimitiveControl.theme.d.ts} +1 -1
  328. package/dist/runtime/app/{components/internal/ControlShell/ControlShell.vue → primitives/PrimitiveControl/PrimitiveControl.vue} +1 -1
  329. package/dist/runtime/app/{components/internal/ControlShell/ControlShell.d.vue.ts → primitives/PrimitiveControl/PrimitiveControl.vue.d.ts} +4 -3
  330. package/dist/runtime/app/{components/internal/Input/Input.d.vue.ts → primitives/PrimitiveInput/PrimitiveInput.d.vue.ts} +4 -3
  331. package/dist/runtime/app/{components/internal/Input/Input.vue → primitives/PrimitiveInput/PrimitiveInput.vue} +4 -4
  332. package/dist/runtime/app/{components/internal/Input/Input.vue.d.ts → primitives/PrimitiveInput/PrimitiveInput.vue.d.ts} +4 -3
  333. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.d.vue.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.d.vue.ts} +3 -4
  334. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.theme.d.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.theme.d.ts} +3 -0
  335. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.theme.js → primitives/PrimitiveNumberInput/PrimitiveNumberInput.theme.js} +4 -1
  336. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.vue → primitives/PrimitiveNumberInput/PrimitiveNumberInput.vue} +7 -5
  337. package/dist/runtime/app/{components/internal/NumberInput/NumberInput.vue.d.ts → primitives/PrimitiveNumberInput/PrimitiveNumberInput.vue.d.ts} +3 -4
  338. package/dist/runtime/app/theme/index.d.ts +254 -96
  339. package/dist/runtime/app/theme/index.js +13 -5
  340. package/dist/runtime/app/theme/messages.js +1 -0
  341. package/dist/runtime/app/theme/shared.d.ts +3 -2
  342. package/dist/runtime/app/theme/shared.js +2 -1
  343. package/dist/runtime/app/types/app.d.ts +4 -2
  344. package/dist/runtime/app/types/base.d.ts +5 -23
  345. package/dist/runtime/app/types/field.d.ts +3 -1
  346. package/dist/runtime/app/types/form.d.ts +3 -4
  347. package/dist/runtime/app/types/index.d.ts +55 -7
  348. package/dist/runtime/app/types/menu.d.ts +22 -0
  349. package/dist/runtime/app/types/menu.js +0 -0
  350. package/dist/runtime/app/types/page.d.ts +6 -10
  351. package/dist/runtime/app/types/slots.d.ts +8 -4
  352. package/dist/runtime/app/types/table.d.ts +28 -28
  353. package/dist/runtime/app/types/text.d.ts +6 -0
  354. package/dist/runtime/app/types/text.js +0 -0
  355. package/dist/runtime/app/types/theme.d.ts +15 -6
  356. package/dist/runtime/app/utils/format.js +3 -2
  357. package/dist/runtime/app/utils/path.js +1 -1
  358. package/dist/runtime/app/{internal → utils}/slots.d.ts +2 -2
  359. package/dist/runtime/app/utils/theme.d.ts +8 -41
  360. package/dist/runtime/app/utils/theme.js +31 -29
  361. package/package.json +9 -9
  362. package/dist/runtime/app/components/Page/Page.d.vue.ts +0 -40
  363. package/dist/runtime/app/components/Page/Page.theme.d.ts +0 -32
  364. package/dist/runtime/app/components/Page/Page.theme.js +0 -31
  365. package/dist/runtime/app/components/Page/Page.vue +0 -132
  366. package/dist/runtime/app/components/Page/Page.vue.d.ts +0 -40
  367. package/dist/runtime/app/internal/keys.d.ts +0 -43
  368. package/dist/runtime/app/internal/keys.js +0 -8
  369. package/dist/runtime/app/types/alert.d.ts +0 -13
  370. package/dist/runtime/app/types/state.d.ts +0 -35
  371. /package/dist/runtime/app/{types/alert.js → components/Alert/Alert.types.js} +0 -0
  372. /package/dist/runtime/app/{types/state.js → components/App/App.types.js} +0 -0
  373. /package/dist/runtime/app/components/{Table → DataTable}/internal/query.d.ts +0 -0
  374. /package/dist/runtime/app/components/{Table → DataTable}/internal/query.js +0 -0
  375. /package/dist/runtime/app/components/{internal → FormField/internal}/FieldShell/FieldShell.vue +0 -0
  376. /package/dist/runtime/app/{components/internal/ControlShell/ControlShell.theme.js → primitives/PrimitiveControl/PrimitiveControl.theme.js} +0 -0
  377. /package/dist/runtime/app/{components/internal/Input/Input.theme.d.ts → primitives/PrimitiveInput/PrimitiveInput.theme.d.ts} +0 -0
  378. /package/dist/runtime/app/{components/internal/Input/Input.theme.js → primitives/PrimitiveInput/PrimitiveInput.theme.js} +0 -0
  379. /package/dist/runtime/app/{components/internal/NumberInput → primitives/PrimitiveNumberInput}/number.d.ts +0 -0
  380. /package/dist/runtime/app/{components/internal/NumberInput → primitives/PrimitiveNumberInput}/number.js +0 -0
  381. /package/dist/runtime/app/{internal → utils}/slots.js +0 -0
@@ -1,17 +1,7 @@
1
- import type { VunoUi } from '#vuno/types/slots';
2
- type Props = {
3
- /** Código sin transformar. También es lo que se copia al portapapeles. */
4
- code: string;
5
- /** HTML completo producido por un resaltador de confianza, como Shiki. */
6
- highlighted?: string;
7
- /** Nombre accesible cuando el bloque necesita desplazamiento horizontal. */
8
- label?: string;
9
- language?: string;
10
- ui?: VunoUi<'code'>;
11
- };
12
- declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
1
+ import type { VunoCodeProps } from './Code.types.js';
2
+ declare const __VLS_export: import("vue").DefineComponent<VunoCodeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoCodeProps> & Readonly<{}>, {
13
3
  label: string;
14
- ui: VunoUi<"code">;
4
+ ui: import("../../types/slots.js").VunoUi<"code">;
15
5
  highlighted: string;
16
6
  language: string;
17
7
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,6 +1,6 @@
1
1
  export declare const codeTheme: Record<"code", {
2
2
  readonly slots: {
3
- readonly copy: "absolute inset-e-2 top-1 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 max-sm:top-0 max-sm:size-11 max-sm:opacity-100 pointer-coarse:top-0 pointer-coarse:size-11 pointer-coarse:opacity-100";
3
+ readonly copy: "!absolute inset-e-2 top-1 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 max-sm:top-0 max-sm:size-11 max-sm:opacity-100 pointer-coarse:top-0 pointer-coarse:size-11 pointer-coarse:opacity-100";
4
4
  readonly copyError: "border-t border-vuno-error/25 bg-vuno-error/10 px-4 py-2 text-xs text-vuno-error";
5
5
  readonly fallback: "text-vuno-body";
6
6
  readonly header: "flex items-center gap-2 border-b border-vuno-border/70 px-4 py-2 font-mono text-xs text-vuno-muted";
@@ -1,7 +1,7 @@
1
1
  import { defineTheme } from "#vuno/utils/theme";
2
2
  export const codeTheme = defineTheme("code", {
3
3
  slots: {
4
- copy: "absolute inset-e-2 top-1 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 max-sm:top-0 max-sm:size-11 max-sm:opacity-100 pointer-coarse:top-0 pointer-coarse:size-11 pointer-coarse:opacity-100",
4
+ copy: "!absolute inset-e-2 top-1 opacity-0 transition-opacity group-hover:opacity-100 focus-visible:opacity-100 max-sm:top-0 max-sm:size-11 max-sm:opacity-100 pointer-coarse:top-0 pointer-coarse:size-11 pointer-coarse:opacity-100",
5
5
  copyError: "border-t border-vuno-error/25 bg-vuno-error/10 px-4 py-2 text-xs text-vuno-error",
6
6
  fallback: "text-vuno-body",
7
7
  header: "flex items-center gap-2 border-b border-vuno-border/70 px-4 py-2 font-mono text-xs text-vuno-muted",
@@ -0,0 +1,8 @@
1
+ import type { VunoUi } from '#vuno/types/slots';
2
+ export type VunoCodeProps = {
3
+ code: string;
4
+ highlighted?: string;
5
+ label?: string;
6
+ language?: string;
7
+ ui?: VunoUi<'code'>;
8
+ };
File without changes
@@ -2,6 +2,7 @@
2
2
  import { computed, nextTick, onBeforeUnmount, onMounted, ref, useTemplateRef, watch } from "vue";
3
3
  import { useIcons, useMessages, useTheme } from "#vuno/composables/useTheme";
4
4
  import Button from "#vuno/components/Button/Button.vue";
5
+ import Text from "#vuno/components/Text/Text.vue";
5
6
  defineOptions({ name: "VunoCode" });
6
7
  const props = defineProps({
7
8
  code: { type: String, required: true },
@@ -89,21 +90,27 @@ onBeforeUnmount(() => {
89
90
  <pre
90
91
  v-else
91
92
  :class="ui.fallback"
92
- ><code>{{ props.code }}</code></pre>
93
+ ><Text tag="code" tone="inherit" variant="inherit">{{ props.code }}</Text></pre>
93
94
  </div>
94
95
 
95
- <p
96
+ <Text
96
97
  v-if="copyFailed"
97
98
  :class="ui.copyError"
98
99
  role="alert"
100
+ tag="p"
101
+ tone="inherit"
102
+ variant="inherit"
99
103
  >
100
104
  {{ messages.codeCopyFailed }}
101
- </p>
105
+ </Text>
102
106
 
103
- <span
107
+ <Text
104
108
  aria-live="polite"
105
109
  :class="ui.live"
106
- >{{ copied ? messages.codeCopiedAnnouncement : "" }}</span
110
+ tag="span"
111
+ tone="inherit"
112
+ variant="inherit"
113
+ >{{ copied ? messages.codeCopiedAnnouncement : "" }}</Text
107
114
  >
108
115
  </div>
109
116
  </template>
@@ -1,17 +1,7 @@
1
- import type { VunoUi } from '#vuno/types/slots';
2
- type Props = {
3
- /** Código sin transformar. También es lo que se copia al portapapeles. */
4
- code: string;
5
- /** HTML completo producido por un resaltador de confianza, como Shiki. */
6
- highlighted?: string;
7
- /** Nombre accesible cuando el bloque necesita desplazamiento horizontal. */
8
- label?: string;
9
- language?: string;
10
- ui?: VunoUi<'code'>;
11
- };
12
- declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
1
+ import type { VunoCodeProps } from './Code.types.js';
2
+ declare const __VLS_export: import("vue").DefineComponent<VunoCodeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoCodeProps> & Readonly<{}>, {
13
3
  label: string;
14
- ui: VunoUi<"code">;
4
+ ui: import("../../types/slots.js").VunoUi<"code">;
15
5
  highlighted: string;
16
6
  language: string;
17
7
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,31 @@
1
+ import type { VunoCollapsibleProps } from './Collapsible.types.js';
2
+ type __VLS_Props = VunoCollapsibleProps;
3
+ type __VLS_Slots = {
4
+ /** Contenido que permanece montado mientras está oculto. */
5
+ content?: (props: {
6
+ open: boolean;
7
+ }) => unknown;
8
+ /** Control interactivo que abre o cierra el contenido. */
9
+ default?: (props: {
10
+ open: boolean;
11
+ }) => unknown;
12
+ };
13
+ type __VLS_ModelProps = {
14
+ 'open'?: boolean;
15
+ };
16
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
17
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ "update:open": (value: boolean) => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
21
+ }>, {
22
+ ui: import("../../types/slots.js").VunoUi<"collapsible">;
23
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
27
+ type __VLS_WithSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,6 @@
1
+ export declare const collapsibleTheme: Record<"collapsible", {
2
+ readonly slots: {
3
+ readonly content: "min-w-0";
4
+ readonly root: "relative";
5
+ };
6
+ }>;
@@ -0,0 +1,7 @@
1
+ import { defineTheme } from "#vuno/utils/theme";
2
+ export const collapsibleTheme = defineTheme("collapsible", {
3
+ slots: {
4
+ content: "min-w-0",
5
+ root: "relative"
6
+ }
7
+ });
@@ -0,0 +1,4 @@
1
+ import type { VunoUi } from '#vuno/types/slots';
2
+ export type VunoCollapsibleProps = {
3
+ ui?: VunoUi<'collapsible'>;
4
+ };
@@ -0,0 +1,72 @@
1
+ <script setup>
2
+ import { gsap } from "gsap";
3
+ import { cloneVNode, useId } from "vue";
4
+ import { useTheme } from "#vuno/composables/useTheme";
5
+ import { firstElement } from "#vuno/utils/slots";
6
+ defineOptions({ name: "VunoCollapsible" });
7
+ const open = defineModel("open", { type: Boolean, ...{ default: false } });
8
+ const props = defineProps({
9
+ ui: { type: Object, required: false, default: void 0 }
10
+ });
11
+ const slots = defineSlots();
12
+ const contentId = useId();
13
+ const ui = useTheme("collapsible", () => props.ui);
14
+ const Trigger = () => {
15
+ const node = firstElement(slots.default?.({ open: open.value }));
16
+ if (!node) return null;
17
+ return cloneVNode(node, {
18
+ onClick: () => open.value = !open.value,
19
+ "aria-controls": contentId,
20
+ "aria-expanded": open.value ? "true" : "false"
21
+ });
22
+ };
23
+ const onEnter = (el, done) => {
24
+ gsap.fromTo(
25
+ el,
26
+ {
27
+ height: 0,
28
+ opacity: 0
29
+ },
30
+ {
31
+ onComplete: done,
32
+ duration: 0.3,
33
+ ease: "power2.out",
34
+ height: "auto",
35
+ opacity: 1
36
+ }
37
+ );
38
+ };
39
+ const onLeave = (el, done) => {
40
+ gsap.to(el, {
41
+ onComplete: done,
42
+ duration: 0.25,
43
+ ease: "power2.in",
44
+ height: 0,
45
+ opacity: 0
46
+ });
47
+ };
48
+ </script>
49
+
50
+ <template>
51
+ <div :class="ui.root">
52
+ <Trigger />
53
+
54
+ <Transition
55
+ :css="false"
56
+ @enter="onEnter"
57
+ @leave="onLeave"
58
+ >
59
+ <div
60
+ v-show="open"
61
+ :id="contentId"
62
+ :class="ui.content"
63
+ :hidden="!open"
64
+ >
65
+ <slot
66
+ name="content"
67
+ :open="open"
68
+ />
69
+ </div>
70
+ </Transition>
71
+ </div>
72
+ </template>
@@ -0,0 +1,31 @@
1
+ import type { VunoCollapsibleProps } from './Collapsible.types.js';
2
+ type __VLS_Props = VunoCollapsibleProps;
3
+ type __VLS_Slots = {
4
+ /** Contenido que permanece montado mientras está oculto. */
5
+ content?: (props: {
6
+ open: boolean;
7
+ }) => unknown;
8
+ /** Control interactivo que abre o cierra el contenido. */
9
+ default?: (props: {
10
+ open: boolean;
11
+ }) => unknown;
12
+ };
13
+ type __VLS_ModelProps = {
14
+ 'open'?: boolean;
15
+ };
16
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
17
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ "update:open": (value: boolean) => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
21
+ }>, {
22
+ ui: import("../../types/slots.js").VunoUi<"collapsible">;
23
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
24
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
27
+ type __VLS_WithSlots<T, S> = T & {
28
+ new (): {
29
+ $slots: S;
30
+ };
31
+ };
@@ -0,0 +1,12 @@
1
+ import type { VunoColorModeButtonProps } from './ColorModeButton.types.js';
2
+ declare const __VLS_export: import("vue").DefineComponent<VunoColorModeButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoColorModeButtonProps> & Readonly<{}>, {
3
+ radius: import("../../types/base.js").VunoRadius;
4
+ size: import("./ColorModeButton.types.js").VunoColorModeButtonSize;
5
+ ui: import("../../types/slots.js").VunoUi<"button">;
6
+ darkIcon: string;
7
+ darkLabel: string;
8
+ lightIcon: string;
9
+ lightLabel: string;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import type { VunoRadius, VunoSize } from '#vuno/types/base';
2
+ import type { VunoUi } from '#vuno/types/slots';
3
+ export type VunoColorModeButtonSize = Extract<VunoSize, 'lg' | 'md' | 'sm' | 'xl' | 'xs'>;
4
+ export type VunoColorModeButtonProps = {
5
+ darkIcon?: string;
6
+ darkLabel?: string;
7
+ disabled?: boolean;
8
+ lightIcon?: string;
9
+ lightLabel?: string;
10
+ radius?: VunoRadius;
11
+ size?: VunoColorModeButtonSize;
12
+ ui?: VunoUi<'button'>;
13
+ };
@@ -0,0 +1,55 @@
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { useColorMode } from "#imports";
4
+ import Button from "#vuno/components/Button/Button.vue";
5
+ import Icon from "#vuno/components/Icon/Icon.vue";
6
+ defineOptions({ name: "VunoColorModeButton" });
7
+ const props = defineProps({
8
+ darkIcon: { type: String, required: false, default: "lucide:moon" },
9
+ darkLabel: { type: String, required: false, default: "Usar tema oscuro" },
10
+ disabled: { type: Boolean, required: false },
11
+ lightIcon: { type: String, required: false, default: "lucide:sun" },
12
+ lightLabel: { type: String, required: false, default: "Usar tema claro" },
13
+ radius: { type: String, required: false, default: void 0 },
14
+ size: { type: String, required: false, default: void 0 },
15
+ ui: { type: Object, required: false, default: void 0 }
16
+ });
17
+ const colorMode = useColorMode();
18
+ const isDark = computed(() => colorMode.value === "dark");
19
+ const iconClass = computed(() => ({ xs: "size-3", sm: "size-3.5", md: "size-4", lg: "size-4.5", xl: "size-5" })[props.size ?? "md"]);
20
+ function toggleColorMode() {
21
+ colorMode.preference = isDark.value ? "light" : "dark";
22
+ }
23
+ </script>
24
+
25
+ <template>
26
+ <Button
27
+ :aria-label="isDark ? props.lightLabel : props.darkLabel"
28
+ :aria-pressed="isDark"
29
+ :disabled="props.disabled"
30
+ :radius="props.radius"
31
+ shape="square"
32
+ :size="props.size"
33
+ :ui="props.ui"
34
+ variant="ghost"
35
+ @click="toggleColorMode"
36
+ >
37
+ <!--
38
+ Los dos iconos forman parte del HTML de SSR. La clase `dark`, que
39
+ `@nuxtjs/color-mode` resuelve antes de pintar, elige cuál se ve sin
40
+ esperar a que Vue hidrate y exponga el modo detectado.
41
+ -->
42
+ <span :class="[iconClass, 'dark:hidden']">
43
+ <Icon
44
+ class="size-full"
45
+ :name="props.darkIcon"
46
+ />
47
+ </span>
48
+ <span :class="[iconClass, 'hidden dark:block']">
49
+ <Icon
50
+ class="size-full"
51
+ :name="props.lightIcon"
52
+ />
53
+ </span>
54
+ </Button>
55
+ </template>
@@ -0,0 +1,12 @@
1
+ import type { VunoColorModeButtonProps } from './ColorModeButton.types.js';
2
+ declare const __VLS_export: import("vue").DefineComponent<VunoColorModeButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoColorModeButtonProps> & Readonly<{}>, {
3
+ radius: import("../../types/base.js").VunoRadius;
4
+ size: import("./ColorModeButton.types.js").VunoColorModeButtonSize;
5
+ ui: import("../../types/slots.js").VunoUi<"button">;
6
+ darkIcon: string;
7
+ darkLabel: string;
8
+ lightIcon: string;
9
+ lightLabel: string;
10
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -1,9 +1,5 @@
1
- import type { VunoConfirmOptions } from '#vuno/types/confirm';
2
- import type { VunoUi } from '#vuno/types/slots';
3
- type __VLS_Props = VunoConfirmOptions & {
4
- loading?: boolean;
5
- ui?: VunoUi<'confirm'>;
6
- };
1
+ import type { VunoConfirmProps } from './Confirm.types.js';
2
+ type __VLS_Props = VunoConfirmProps;
7
3
  type __VLS_Slots = {
8
4
  /**
9
5
  * Sustituye a `description`. Para cuando el aviso es información que
@@ -0,0 +1,6 @@
1
+ import type { VunoConfirmOptions } from '#vuno/types/confirm';
2
+ import type { VunoUi } from '#vuno/types/slots';
3
+ export type VunoConfirmProps = VunoConfirmOptions & {
4
+ loading?: boolean;
5
+ ui?: VunoUi<'confirm'>;
6
+ };
@@ -1,9 +1,5 @@
1
- import type { VunoConfirmOptions } from '#vuno/types/confirm';
2
- import type { VunoUi } from '#vuno/types/slots';
3
- type __VLS_Props = VunoConfirmOptions & {
4
- loading?: boolean;
5
- ui?: VunoUi<'confirm'>;
6
- };
1
+ import type { VunoConfirmProps } from './Confirm.types.js';
2
+ type __VLS_Props = VunoConfirmProps;
7
3
  type __VLS_Slots = {
8
4
  /**
9
5
  * Sustituye a `description`. Para cuando el aviso es información que
@@ -1,35 +1,11 @@
1
- import type { VunoContainerSize } from '#vuno/types/page';
2
- import type { VunoUi } from '#vuno/types/slots';
3
- /**
4
- * Centra el contenido y le pone un ancho máximo.
5
- *
6
- * **El ancho es una variante del tema y no una clase que se pasa.** Escribirlo
7
- * como `class="max-w-lg"` sobre el componente sería el defecto de siempre: una
8
- * clase puesta sobre un componente no pasa por tailwind-merge, así que
9
- * convive con la del tema y gana el orden de la hoja — dos anchos declarados
10
- * y el que se aplica depende de en qué orden salieran compilados. Por la
11
- * variante hay uno solo, y un proyecto puede cambiar la escala entera desde
12
- * su `app.config`.
13
- *
14
- * Los tamaños son los de Tailwind, de `sm` a `7xl`, más `full` para cuando lo
15
- * que se quiere es solo el relleno lateral y no el tope.
16
- */
17
- type Props = {
18
- /**
19
- * Quita el relleno lateral. Para un contenedor dentro de otro que ya
20
- * lo tiene, donde el relleno se sumaría dos veces.
21
- */
22
- flush?: boolean;
23
- size?: VunoContainerSize;
24
- ui?: VunoUi<'container'>;
25
- };
1
+ import type { VunoContainerProps } from './Container.types.js';
26
2
  declare var __VLS_1: {};
27
3
  type __VLS_Slots = {} & {
28
4
  default?: (props: typeof __VLS_1) => any;
29
5
  };
30
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
31
- size: VunoContainerSize;
32
- ui: VunoUi<"container">;
6
+ declare const __VLS_base: import("vue").DefineComponent<VunoContainerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoContainerProps> & Readonly<{}>, {
7
+ size: import("./Container.types.js").VunoContainerSize;
8
+ ui: import("../../types/slots.js").VunoUi<"container">;
33
9
  flush: boolean;
34
10
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
11
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1,9 @@
1
+ import type { VunoSize } from '#vuno/types/base';
2
+ import type { VunoUi } from '#vuno/types/slots';
3
+ /** Anchos máximos que admite el contenedor, derivados de la escala global. */
4
+ export type VunoContainerSize = Extract<VunoSize, '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl' | 'full' | 'lg' | 'md' | 'sm' | 'xl'>;
5
+ export type VunoContainerProps = {
6
+ flush?: boolean;
7
+ size?: VunoContainerSize;
8
+ ui?: VunoUi<'container'>;
9
+ };
@@ -9,7 +9,7 @@ const props = defineProps({
9
9
  const ui = useTheme(
10
10
  "container",
11
11
  () => props.ui,
12
- () => ({ padding: String(!props.flush), size: props.size })
12
+ () => ({ padding: !props.flush ? "true" : "false", size: props.size })
13
13
  );
14
14
  </script>
15
15
 
@@ -1,35 +1,11 @@
1
- import type { VunoContainerSize } from '#vuno/types/page';
2
- import type { VunoUi } from '#vuno/types/slots';
3
- /**
4
- * Centra el contenido y le pone un ancho máximo.
5
- *
6
- * **El ancho es una variante del tema y no una clase que se pasa.** Escribirlo
7
- * como `class="max-w-lg"` sobre el componente sería el defecto de siempre: una
8
- * clase puesta sobre un componente no pasa por tailwind-merge, así que
9
- * convive con la del tema y gana el orden de la hoja — dos anchos declarados
10
- * y el que se aplica depende de en qué orden salieran compilados. Por la
11
- * variante hay uno solo, y un proyecto puede cambiar la escala entera desde
12
- * su `app.config`.
13
- *
14
- * Los tamaños son los de Tailwind, de `sm` a `7xl`, más `full` para cuando lo
15
- * que se quiere es solo el relleno lateral y no el tope.
16
- */
17
- type Props = {
18
- /**
19
- * Quita el relleno lateral. Para un contenedor dentro de otro que ya
20
- * lo tiene, donde el relleno se sumaría dos veces.
21
- */
22
- flush?: boolean;
23
- size?: VunoContainerSize;
24
- ui?: VunoUi<'container'>;
25
- };
1
+ import type { VunoContainerProps } from './Container.types.js';
26
2
  declare var __VLS_1: {};
27
3
  type __VLS_Slots = {} & {
28
4
  default?: (props: typeof __VLS_1) => any;
29
5
  };
30
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
31
- size: VunoContainerSize;
32
- ui: VunoUi<"container">;
6
+ declare const __VLS_base: import("vue").DefineComponent<VunoContainerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoContainerProps> & Readonly<{}>, {
7
+ size: import("./Container.types.js").VunoContainerSize;
8
+ ui: import("../../types/slots.js").VunoUi<"container">;
33
9
  flush: boolean;
34
10
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
11
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,20 +1,11 @@
1
- import type { VunoSize } from '#vuno/types/base';
2
- import type { VunoControlOrientation } from '#vuno/types/field';
3
- import type { VunoUi } from '#vuno/types/slots';
4
- type Props = {
5
- /** Dirección en la que se unen los controles. */
6
- orientation?: VunoControlOrientation;
7
- /** Tamaño que heredan los hijos que no declaran uno propio. */
8
- size?: VunoSize;
9
- ui?: VunoUi<'controlGroup'>;
10
- };
1
+ import type { VunoControlGroupProps } from './ControlGroup.types.js';
11
2
  type __VLS_Slots = {
12
3
  default?: () => unknown;
13
4
  };
14
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
15
- size: VunoSize;
16
- orientation: VunoControlOrientation;
17
- ui: VunoUi<"controlGroup">;
5
+ declare const __VLS_base: import("vue").DefineComponent<VunoControlGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoControlGroupProps> & Readonly<{}>, {
6
+ size: import("./ControlGroup.types.js").VunoControlGroupSize;
7
+ orientation: import("../../types/field.js").VunoControlOrientation;
8
+ ui: import("../../types/slots.js").VunoUi<"controlGroup">;
18
9
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
10
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
11
  declare const _default: typeof __VLS_export;
@@ -0,0 +1,9 @@
1
+ import type { VunoSize } from '#vuno/types/base';
2
+ import type { VunoControlOrientation } from '#vuno/types/field';
3
+ import type { VunoUi } from '#vuno/types/slots';
4
+ export type VunoControlGroupSize = Extract<VunoSize, 'lg' | 'md' | 'sm' | 'xl' | 'xs'>;
5
+ export type VunoControlGroupProps = {
6
+ orientation?: VunoControlOrientation;
7
+ size?: VunoControlGroupSize;
8
+ ui?: VunoUi<'controlGroup'>;
9
+ };
@@ -1,20 +1,11 @@
1
- import type { VunoSize } from '#vuno/types/base';
2
- import type { VunoControlOrientation } from '#vuno/types/field';
3
- import type { VunoUi } from '#vuno/types/slots';
4
- type Props = {
5
- /** Dirección en la que se unen los controles. */
6
- orientation?: VunoControlOrientation;
7
- /** Tamaño que heredan los hijos que no declaran uno propio. */
8
- size?: VunoSize;
9
- ui?: VunoUi<'controlGroup'>;
10
- };
1
+ import type { VunoControlGroupProps } from './ControlGroup.types.js';
11
2
  type __VLS_Slots = {
12
3
  default?: () => unknown;
13
4
  };
14
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
15
- size: VunoSize;
16
- orientation: VunoControlOrientation;
17
- ui: VunoUi<"controlGroup">;
5
+ declare const __VLS_base: import("vue").DefineComponent<VunoControlGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<VunoControlGroupProps> & Readonly<{}>, {
6
+ size: import("./ControlGroup.types.js").VunoControlGroupSize;
7
+ orientation: import("../../types/field.js").VunoControlOrientation;
8
+ ui: import("../../types/slots.js").VunoUi<"controlGroup">;
18
9
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
10
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
11
  declare const _default: typeof __VLS_export;