@volverjs/ui-vue 0.0.10-beta.4 → 0.0.10-beta.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (481) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +146 -49
  3. package/auto-imports.d.ts +7 -2
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +27 -20
  6. package/dist/Volver.d.ts +11 -11
  7. package/dist/components/VvAccordion/VvAccordion.es.js +190 -101
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +30 -8
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +450 -170
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +58 -13
  14. package/dist/components/VvAccordionGroup/index.d.ts +14 -6
  15. package/dist/components/VvAction/VvAction.es.js +84 -33
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +57 -22
  18. package/dist/components/VvAction/index.d.ts +25 -9
  19. package/dist/components/VvAlert/VvAlert.es.js +228 -193
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +24 -14
  22. package/dist/components/VvAlert/index.d.ts +17 -9
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +549 -485
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +16 -9
  26. package/dist/components/VvAlertGroup/index.d.ts +7 -15
  27. package/dist/components/VvAvatar/VvAvatar.es.js +65 -22
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +12 -4
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +128 -49
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +10 -3
  34. package/dist/components/VvAvatarGroup/index.d.ts +4 -1
  35. package/dist/components/VvBadge/VvBadge.es.js +77 -28
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +12 -4
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +276 -60
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +27 -7
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +307 -262
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +94 -40
  46. package/dist/components/VvButton/index.d.ts +51 -29
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +95 -40
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +31 -11
  50. package/dist/components/VvButtonGroup/index.d.ts +11 -2
  51. package/dist/components/VvCard/VvCard.es.js +86 -36
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +12 -4
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +315 -251
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +106 -34
  58. package/dist/components/VvCheckbox/index.d.ts +47 -14
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +238 -129
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +101 -30
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +1377 -1059
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +606 -680
  66. package/dist/components/VvCombobox/index.d.ts +488 -26
  67. package/dist/components/VvDialog/VvDialog.es.js +180 -176
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +13 -4
  70. package/dist/components/VvDialog/index.d.ts +5 -0
  71. package/dist/components/VvDropdown/VvDropdown.es.js +165 -94
  72. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  73. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +111 -81
  74. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +66 -25
  75. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  76. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +12 -4
  77. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +35 -7
  78. package/dist/components/VvDropdown/index.d.ts +52 -10
  79. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +163 -53
  80. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  81. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +335 -8
  82. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  84. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  85. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  86. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  87. package/dist/components/VvIcon/VvIcon.es.js +24 -97
  88. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  89. package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -66
  90. package/dist/components/VvIcon/index.d.ts +33 -48
  91. package/dist/components/VvInputFile/VvInputFile.es.js +1789 -0
  92. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  93. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +391 -0
  94. package/dist/components/VvInputFile/index.d.ts +210 -0
  95. package/dist/components/VvInputText/VvInputClearAction.d.ts +7 -5
  96. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +10 -8
  97. package/dist/components/VvInputText/VvInputStepAction.d.ts +2 -2
  98. package/dist/components/VvInputText/VvInputText.es.js +1489 -563
  99. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  100. package/dist/components/VvInputText/VvInputText.vue.d.ts +207 -57
  101. package/dist/components/VvInputText/index.d.ts +105 -30
  102. package/dist/components/VvNav/VvNav.es.js +160 -75
  103. package/dist/components/VvNav/VvNav.umd.js +1 -1
  104. package/dist/components/VvNav/VvNav.vue.d.ts +32 -9
  105. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  106. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  107. package/dist/components/VvNav/index.d.ts +5 -2
  108. package/dist/components/VvNavItem/VvNavItem.es.js +100 -39
  109. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  110. package/dist/components/VvProgress/VvProgress.es.js +73 -27
  111. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  112. package/dist/components/VvProgress/VvProgress.vue.d.ts +10 -3
  113. package/dist/components/VvProgress/index.d.ts +4 -1
  114. package/dist/components/VvRadio/VvRadio.es.js +313 -250
  115. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  116. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -31
  117. package/dist/components/VvRadio/index.d.ts +50 -17
  118. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +236 -128
  119. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  120. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +101 -30
  121. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  122. package/dist/components/VvSelect/VvSelect.es.js +367 -300
  123. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  124. package/dist/components/VvSelect/VvSelect.vue.d.ts +232 -203
  125. package/dist/components/VvSelect/index.d.ts +195 -15
  126. package/dist/components/VvTab/VvTab.es.js +222 -97
  127. package/dist/components/VvTab/VvTab.umd.js +1 -1
  128. package/dist/components/VvTab/VvTab.vue.d.ts +31 -7
  129. package/dist/components/VvTab/index.d.ts +4 -1
  130. package/dist/components/VvTextarea/VvTextarea.es.js +258 -248
  131. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  132. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +156 -49
  133. package/dist/components/VvTextarea/index.d.ts +68 -19
  134. package/dist/components/VvTooltip/VvTooltip.es.js +83 -30
  135. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  136. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +13 -6
  137. package/dist/components/VvTooltip/index.d.ts +5 -2
  138. package/dist/components/common/HintSlot.d.ts +4 -5
  139. package/dist/components/index.d.ts +10 -0
  140. package/dist/components/index.es.js +4575 -2534
  141. package/dist/components/index.umd.js +1 -1
  142. package/dist/composables/alert/useAlert.d.ts +101 -6
  143. package/dist/composables/alert/useInjectAlert.d.ts +1 -6
  144. package/dist/composables/dropdown/useInjectDropdown.d.ts +3 -23
  145. package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -4
  146. package/dist/composables/group/useInjectedGroupState.d.ts +4 -5
  147. package/dist/composables/group/useProvideGroupState.d.ts +3 -3
  148. package/dist/composables/index.d.ts +1 -0
  149. package/dist/composables/index.es.js +94 -5
  150. package/dist/composables/index.umd.js +1 -1
  151. package/dist/composables/useBlurhash.d.ts +7 -0
  152. package/dist/composables/useComponentFocus.d.ts +1 -1
  153. package/dist/composables/useComponentIcon.d.ts +9 -8
  154. package/dist/composables/useOptions.d.ts +4 -4
  155. package/dist/composables/usePersistence.d.ts +3 -0
  156. package/dist/composables/useUniqueId.d.ts +1 -1
  157. package/dist/composables/useVolver.d.ts +1 -1
  158. package/dist/constants.d.ts +34 -32
  159. package/dist/directives/index.d.ts +3 -5
  160. package/dist/directives/index.es.js +104 -45
  161. package/dist/directives/index.umd.js +1 -1
  162. package/dist/directives/v-contextmenu.es.js +1 -1
  163. package/dist/directives/v-contextmenu.umd.js +1 -1
  164. package/dist/directives/v-tooltip.es.js +101 -39
  165. package/dist/directives/v-tooltip.umd.js +1 -1
  166. package/dist/icons.es.js +267 -267
  167. package/dist/icons.umd.js +1 -1
  168. package/dist/index.d.ts +3 -1
  169. package/dist/index.es.js +92 -18
  170. package/dist/index.umd.js +1 -1
  171. package/dist/props/index.d.ts +272 -81
  172. package/dist/resolvers/unplugin.d.ts +6 -1
  173. package/dist/resolvers/unplugin.es.js +87 -10
  174. package/dist/resolvers/unplugin.umd.js +1 -1
  175. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  176. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  177. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -127
  178. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1437 -495
  179. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  180. package/dist/stories/Alert/AlertModifiers.stories.d.ts +1 -1
  181. package/dist/stories/Alert/AlertSlots.stories.d.ts +1 -1
  182. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  183. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +1 -1
  184. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +1 -1
  185. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +2 -2
  186. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  187. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  188. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  189. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  190. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  191. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  192. package/dist/stories/Button/Button.settings.d.ts +2 -194
  193. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  194. package/dist/stories/Card/Card.settings.d.ts +2 -63
  195. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  196. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  197. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -609
  198. package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
  199. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +1 -0
  200. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  201. package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
  202. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  203. package/dist/stories/Icon/Icon.settings.d.ts +3 -68
  204. package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
  205. package/dist/stories/InputFile/InputFile.stories.d.ts +12 -0
  206. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  207. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  208. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  209. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  210. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  211. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  212. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  213. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  214. package/dist/stories/Select/Select.settings.d.ts +2 -246
  215. package/dist/stories/Select/Select.stories.d.ts +1 -0
  216. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  217. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  218. package/dist/stories/argTypes.d.ts +27 -866
  219. package/dist/test/expect.d.ts +1 -1
  220. package/dist/test/options.d.ts +1 -1
  221. package/dist/test/sleep.d.ts +1 -1
  222. package/dist/types/alert.d.ts +9 -7
  223. package/dist/types/blurhash.d.ts +12 -0
  224. package/dist/types/generic.d.ts +1 -2
  225. package/dist/types/group.d.ts +37 -15
  226. package/dist/types/index.d.ts +7 -0
  227. package/dist/types/input-file.d.ts +16 -0
  228. package/dist/types/nav.d.ts +2 -2
  229. package/dist/utils/ObjectUtilities.d.ts +7 -8
  230. package/dist/workers/blurhash.d.ts +1 -0
  231. package/package.json +239 -246
  232. package/src/Volver.ts +245 -234
  233. package/src/assets/icons/detailed.json +1 -1
  234. package/src/assets/icons/normal.json +1 -1
  235. package/src/assets/icons/simple.json +1 -1
  236. package/src/components/VvAccordion/VvAccordion.vue +163 -100
  237. package/src/components/VvAccordion/index.ts +64 -79
  238. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +223 -105
  239. package/src/components/VvAccordionGroup/index.ts +42 -42
  240. package/src/components/VvAction/VvAction.vue +144 -130
  241. package/src/components/VvAlert/VvAlert.vue +72 -70
  242. package/src/components/VvAlert/index.ts +149 -147
  243. package/src/components/VvAlertGroup/VvAlertGroup.vue +57 -56
  244. package/src/components/VvAlertGroup/index.ts +101 -117
  245. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  246. package/src/components/VvAvatar/index.ts +5 -5
  247. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  248. package/src/components/VvAvatarGroup/index.ts +21 -21
  249. package/src/components/VvBadge/VvBadge.vue +15 -14
  250. package/src/components/VvBadge/index.ts +2 -2
  251. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +50 -48
  252. package/src/components/VvBreadcrumb/index.ts +3 -9
  253. package/src/components/VvButton/VvButton.vue +163 -152
  254. package/src/components/VvButton/index.ts +103 -110
  255. package/src/components/VvButtonGroup/VvButtonGroup.vue +72 -64
  256. package/src/components/VvButtonGroup/index.ts +22 -21
  257. package/src/components/VvCard/VvCard.vue +30 -30
  258. package/src/components/VvCard/index.ts +2 -2
  259. package/src/components/VvCheckbox/VvCheckbox.vue +185 -183
  260. package/src/components/VvCheckbox/index.ts +44 -44
  261. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -87
  262. package/src/components/VvCombobox/VvCombobox.vue +639 -619
  263. package/src/components/VvCombobox/index.ts +206 -164
  264. package/src/components/VvDialog/VvDialog.vue +141 -129
  265. package/src/components/VvDialog/index.ts +38 -36
  266. package/src/components/VvDropdown/VvDropdown.vue +466 -445
  267. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  268. package/src/components/VvDropdown/VvDropdownItem.vue +30 -26
  269. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  270. package/src/components/VvDropdown/VvDropdownOption.vue +47 -64
  271. package/src/components/VvDropdown/index.ts +61 -27
  272. package/src/components/VvIcon/README.md +1 -1
  273. package/src/components/VvIcon/VvIcon.vue +133 -133
  274. package/src/components/VvIcon/index.ts +84 -97
  275. package/src/components/VvInputFile/VvInputFile.vue +402 -0
  276. package/src/components/VvInputFile/index.ts +141 -0
  277. package/src/components/VvInputText/VvInputClearAction.ts +51 -47
  278. package/src/components/VvInputText/VvInputPasswordAction.ts +66 -62
  279. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  280. package/src/components/VvInputText/VvInputText.vue +638 -516
  281. package/src/components/VvInputText/VvInputTextActions.ts +86 -86
  282. package/src/components/VvInputText/index.ts +200 -185
  283. package/src/components/VvNav/VvNav.vue +40 -36
  284. package/src/components/VvNav/VvNavItem.vue +12 -12
  285. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  286. package/src/components/VvNav/index.ts +2 -2
  287. package/src/components/VvProgress/VvProgress.vue +27 -27
  288. package/src/components/VvProgress/index.ts +28 -28
  289. package/src/components/VvRadio/VvRadio.vue +115 -112
  290. package/src/components/VvRadio/index.ts +28 -28
  291. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -90
  292. package/src/components/VvSelect/VvSelect.vue +262 -241
  293. package/src/components/VvSelect/index.ts +88 -63
  294. package/src/components/VvTab/VvTab.vue +79 -69
  295. package/src/components/VvTab/index.ts +12 -12
  296. package/src/components/VvTextarea/VvTextarea.vue +218 -219
  297. package/src/components/VvTextarea/index.ts +35 -35
  298. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  299. package/src/components/VvTooltip/index.ts +12 -12
  300. package/src/components/common/HintSlot.ts +149 -150
  301. package/src/components/index.ts +10 -0
  302. package/src/composables/alert/useAlert.ts +76 -73
  303. package/src/composables/alert/useInjectAlert.ts +1 -1
  304. package/src/composables/alert/useProvideAlert.ts +10 -10
  305. package/src/composables/dropdown/useInjectDropdown.ts +6 -6
  306. package/src/composables/dropdown/useProvideDropdown.ts +63 -63
  307. package/src/composables/group/useInjectedGroupState.ts +46 -42
  308. package/src/composables/group/useProvideGroupState.ts +9 -15
  309. package/src/composables/index.ts +1 -0
  310. package/src/composables/useBlurhash.ts +68 -0
  311. package/src/composables/useComponentFocus.ts +9 -9
  312. package/src/composables/useComponentIcon.ts +36 -35
  313. package/src/composables/useDebouncedInput.ts +25 -25
  314. package/src/composables/useDefaults.ts +77 -76
  315. package/src/composables/useModifiers.ts +29 -29
  316. package/src/composables/useOptions.ts +52 -43
  317. package/src/composables/usePersistence.ts +74 -0
  318. package/src/composables/useTextCount.ts +44 -44
  319. package/src/composables/useUniqueId.ts +3 -2
  320. package/src/composables/useVolver.ts +1 -1
  321. package/src/constants.ts +97 -82
  322. package/src/directives/index.ts +3 -6
  323. package/src/directives/v-contextmenu.ts +34 -34
  324. package/src/directives/v-tooltip.ts +18 -9
  325. package/src/index.ts +6 -4
  326. package/src/props/index.ts +457 -380
  327. package/src/resolvers/unplugin.ts +146 -136
  328. package/src/shims.d.ts +4 -5
  329. package/src/stories/Accordion/Accordion.settings.ts +51 -50
  330. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  331. package/src/stories/Accordion/Accordion.test.ts +56 -54
  332. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  333. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +70 -67
  334. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +41 -39
  335. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -45
  336. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +35 -35
  337. package/src/stories/Alert/Alert.settings.ts +117 -116
  338. package/src/stories/Alert/Alert.stories.ts +30 -30
  339. package/src/stories/Alert/Alert.test.ts +78 -80
  340. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  341. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  342. package/src/stories/AlertGroup/AlertGroup.settings.ts +107 -105
  343. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  344. package/src/stories/AlertGroup/AlertGroup.test.ts +67 -69
  345. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  346. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  347. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +58 -58
  348. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  349. package/src/stories/Avatar/Avatar.stories.ts +23 -23
  350. package/src/stories/Avatar/Avatar.test.ts +22 -24
  351. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  352. package/src/stories/Avatar/AvatarModifiers.stories.ts +61 -61
  353. package/src/stories/Avatar/AvatarSlots.stories.ts +18 -18
  354. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +54 -53
  355. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  356. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -26
  357. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  358. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  359. package/src/stories/Badge/Badge.settings.ts +21 -20
  360. package/src/stories/Badge/Badge.stories.ts +24 -24
  361. package/src/stories/Badge/Badge.test.ts +8 -8
  362. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  363. package/src/stories/Blurhash/BlurhashComposable.stories.ts +196 -0
  364. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +35 -34
  365. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +23 -23
  366. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  367. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +17 -17
  368. package/src/stories/Button/Button.settings.ts +146 -150
  369. package/src/stories/Button/Button.stories.ts +19 -19
  370. package/src/stories/Button/Button.test.ts +41 -42
  371. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  372. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  373. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  374. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  375. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  376. package/src/stories/Button/ButtonState.stories.ts +23 -23
  377. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  378. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -24
  379. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +20 -20
  380. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -26
  381. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  382. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +18 -18
  383. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  384. package/src/stories/Card/Card.settings.ts +49 -48
  385. package/src/stories/Card/Card.stories.ts +22 -22
  386. package/src/stories/Card/Card.test.ts +14 -16
  387. package/src/stories/Card/CardSlots.stories.ts +42 -42
  388. package/src/stories/Checkbox/Checkbox.settings.ts +36 -35
  389. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  390. package/src/stories/Checkbox/Checkbox.test.ts +63 -66
  391. package/src/stories/Checkbox/CheckboxBinary.stories.ts +18 -18
  392. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  393. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  394. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  395. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +63 -67
  396. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  397. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  398. package/src/stories/Combobox/Combobox.settings.ts +407 -384
  399. package/src/stories/Combobox/Combobox.stories.ts +116 -107
  400. package/src/stories/Combobox/Combobox.test.ts +91 -91
  401. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +25 -24
  402. package/src/stories/Combobox/ComboboxMultiple.stories.ts +32 -22
  403. package/src/stories/Combobox/ComboboxOptions.stories.ts +81 -84
  404. package/src/stories/Combobox/ComboboxSlots.stories.ts +56 -55
  405. package/src/stories/Dialog/Dialog.settings.ts +49 -40
  406. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  407. package/src/stories/Dialog/Dialog.test.ts +49 -54
  408. package/src/stories/Dialog/DialogModifiers.stories.ts +42 -0
  409. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  410. package/src/stories/Dropdown/Dropdown.settings.ts +63 -62
  411. package/src/stories/Dropdown/Dropdown.stories.ts +59 -59
  412. package/src/stories/Dropdown/Dropdown.test.ts +9 -13
  413. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +16 -16
  414. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +18 -18
  415. package/src/stories/Dropdown/DropdownSlots.stories.ts +50 -50
  416. package/src/stories/Icon/Icon.settings.ts +66 -65
  417. package/src/stories/Icon/Icon.stories.ts +28 -29
  418. package/src/stories/Icon/IconsCollection.stories.ts +22 -22
  419. package/src/stories/InputFile/InputFile.settings.ts +37 -0
  420. package/src/stories/InputFile/InputFile.stories.ts +89 -0
  421. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  422. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  423. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  424. package/src/stories/InputText/InputText.settings.ts +246 -244
  425. package/src/stories/InputText/InputText.stories.ts +67 -67
  426. package/src/stories/InputText/InputText.test.ts +118 -121
  427. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  428. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  429. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  430. package/src/stories/InputText/InputTextMinMax.stories.ts +30 -30
  431. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  432. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  433. package/src/stories/Nav/Nav.settings.ts +27 -27
  434. package/src/stories/Nav/Nav.stories.ts +18 -18
  435. package/src/stories/Nav/Nav.test.ts +10 -12
  436. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  437. package/src/stories/Progress/Progress.settings.ts +24 -23
  438. package/src/stories/Progress/Progress.stories.ts +23 -23
  439. package/src/stories/Progress/Progress.test.ts +4 -4
  440. package/src/stories/Radio/Radio.settings.ts +9 -9
  441. package/src/stories/Radio/Radio.stories.ts +47 -47
  442. package/src/stories/Radio/Radio.test.ts +54 -57
  443. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  444. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  445. package/src/stories/RadioGroup/RadioGroup.stories.ts +51 -52
  446. package/src/stories/RadioGroup/RadioGroup.test.ts +63 -67
  447. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +35 -35
  448. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  449. package/src/stories/Select/Select.settings.ts +71 -70
  450. package/src/stories/Select/Select.stories.ts +75 -66
  451. package/src/stories/Select/Select.test.ts +67 -70
  452. package/src/stories/Select/SelectIconPosition.stories.ts +27 -26
  453. package/src/stories/Select/SelectOptions.stories.ts +55 -55
  454. package/src/stories/Select/SelectSlots.stories.ts +21 -20
  455. package/src/stories/Tab/Tab.settings.ts +34 -34
  456. package/src/stories/Tab/Tab.stories.ts +17 -17
  457. package/src/stories/Tab/Tab.test.ts +17 -19
  458. package/src/stories/Textarea/Textarea.settings.ts +79 -77
  459. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  460. package/src/stories/Textarea/Textarea.test.ts +70 -73
  461. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  462. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  463. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  464. package/src/stories/Tooltip/Tooltip.settings.ts +16 -17
  465. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  466. package/src/stories/Tooltip/Tooltip.test.ts +53 -54
  467. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  468. package/src/stories/argTypes.ts +506 -505
  469. package/src/test/expect.ts +72 -77
  470. package/src/test/options.ts +17 -16
  471. package/src/test/sleep.ts +3 -2
  472. package/src/test/types.d.ts +11 -11
  473. package/src/types/alert.ts +21 -17
  474. package/src/types/blurhash.ts +21 -0
  475. package/src/types/generic.ts +2 -3
  476. package/src/types/group.ts +34 -26
  477. package/src/types/index.ts +7 -0
  478. package/src/types/input-file.ts +18 -0
  479. package/src/types/nav.ts +13 -14
  480. package/src/utils/ObjectUtilities.ts +192 -188
  481. package/src/workers/blurhash.ts +9 -0
@@ -1,5 +1,214 @@
1
- import { unref, inject, computed, toRef, toRefs, isRef, defineComponent, h, useSlots, ref, watchEffect, watch, onMounted, openBlock, createElementBlock, normalizeClass, withDirectives, createElementVNode, vModelCheckbox, renderSlot, createTextVNode, toDisplayString, createVNode, createSlots, withCtx, normalizeProps, guardReactiveProps } from "vue";
1
+ import { computed, isRef, defineComponent, h, inject, toRef, toRefs, unref, useSlots, ref, watchEffect, watch, onMounted, openBlock, createElementBlock, normalizeClass, withDirectives, createElementVNode, vModelCheckbox, renderSlot, createTextVNode, toDisplayString, createVNode, createSlots, withCtx, normalizeProps, guardReactiveProps } from "vue";
2
2
  import { uid } from "uid";
3
+ function equals(obj1, obj2, field) {
4
+ if (field) {
5
+ return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);
6
+ }
7
+ return deepEquals(obj1, obj2);
8
+ }
9
+ function deepEquals(a, b) {
10
+ if (a === b)
11
+ return true;
12
+ if (a && b && typeof a == "object" && typeof b == "object") {
13
+ const arrA = Array.isArray(a);
14
+ const arrB = Array.isArray(b);
15
+ let i, length, key;
16
+ if (arrA && arrB) {
17
+ length = a.length;
18
+ if (length !== b.length)
19
+ return false;
20
+ for (i = length; i-- !== 0; ) {
21
+ if (!deepEquals(a[i], b[i]))
22
+ return false;
23
+ }
24
+ return true;
25
+ }
26
+ if (arrA !== arrB)
27
+ return false;
28
+ const dateA = a instanceof Date;
29
+ const dateB = b instanceof Date;
30
+ if (dateA !== dateB)
31
+ return false;
32
+ if (dateA && dateB)
33
+ return a.getTime() === b.getTime();
34
+ const regexpA = a instanceof RegExp;
35
+ const regexpB = b instanceof RegExp;
36
+ if (regexpA !== regexpB)
37
+ return false;
38
+ if (regexpA && regexpB)
39
+ return a.toString() === b.toString();
40
+ const keys = Object.keys(a);
41
+ length = keys.length;
42
+ if (length !== Object.keys(b).length)
43
+ return false;
44
+ for (i = length; i-- !== 0; ) {
45
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
46
+ return false;
47
+ }
48
+ for (i = length; i-- !== 0; ) {
49
+ key = keys[i];
50
+ if (!deepEquals(a[key], b[key]))
51
+ return false;
52
+ }
53
+ return true;
54
+ }
55
+ return Number.isNaN(a) && Number.isNaN(b);
56
+ }
57
+ function resolveFieldData(data, field) {
58
+ if (data && Object.keys(data).length && field) {
59
+ if (!field.includes(".")) {
60
+ return data[field];
61
+ } else {
62
+ const fields = field.split(".");
63
+ let value = data;
64
+ for (let i = 0, len = fields.length; i < len; ++i) {
65
+ if (data == null) {
66
+ return null;
67
+ }
68
+ value = value[fields[i]];
69
+ }
70
+ return value;
71
+ }
72
+ } else {
73
+ return null;
74
+ }
75
+ }
76
+ function contains(value, list) {
77
+ if (value != null && list && list.length) {
78
+ for (const val of list) {
79
+ if (equals(value, val)) {
80
+ return true;
81
+ }
82
+ }
83
+ }
84
+ return false;
85
+ }
86
+ function isString(value) {
87
+ return typeof value === "string" || value instanceof String;
88
+ }
89
+ function joinLines(items) {
90
+ if (Array.isArray(items)) {
91
+ return items.filter((item) => isString(item)).join(" ");
92
+ }
93
+ return items;
94
+ }
95
+ function HintSlotFactory(propsOrRef, slots) {
96
+ const props = computed(() => {
97
+ if (isRef(propsOrRef)) {
98
+ return propsOrRef.value;
99
+ }
100
+ return propsOrRef;
101
+ });
102
+ const invalidLabel = computed(() => joinLines(props.value.invalidLabel));
103
+ const validLabel = computed(() => joinLines(props.value.validLabel));
104
+ const loadingLabel = computed(() => props.value.loadingLabel);
105
+ const hintLabel = computed(() => props.value.hintLabel);
106
+ const hasLoadingLabelOrSlot = computed(
107
+ () => Boolean(props.value.loading && (slots.loading || loadingLabel.value))
108
+ );
109
+ const hasInvalidLabelOrSlot = computed(
110
+ () => !hasLoadingLabelOrSlot.value && Boolean(
111
+ props.value.invalid && (slots.invalid || invalidLabel.value)
112
+ )
113
+ );
114
+ const hasValidLabelOrSlot = computed(
115
+ () => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && Boolean(props.value.valid && (slots.valid || validLabel.value))
116
+ );
117
+ const hasHintLabelOrSlot = computed(
118
+ () => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && !hasValidLabelOrSlot.value && Boolean(slots.hint || hintLabel.value)
119
+ );
120
+ const isVisible = computed(
121
+ () => hasInvalidLabelOrSlot.value || hasValidLabelOrSlot.value || hasLoadingLabelOrSlot.value || hasHintLabelOrSlot.value
122
+ );
123
+ const hintSlotScope = computed(() => ({
124
+ modelValue: props.value.modelValue,
125
+ valid: props.value.valid,
126
+ invalid: props.value.invalid,
127
+ loading: props.value.loading
128
+ }));
129
+ const HintSlot = defineComponent({
130
+ name: "HintSlot",
131
+ props: {
132
+ tag: {
133
+ type: String,
134
+ default: "small"
135
+ }
136
+ },
137
+ setup() {
138
+ return {
139
+ isVisible,
140
+ invalidLabel,
141
+ validLabel,
142
+ loadingLabel,
143
+ hintLabel,
144
+ hasInvalidLabelOrSlot,
145
+ hasValidLabelOrSlot,
146
+ hasLoadingLabelOrSlot,
147
+ hasHintLabelOrSlot
148
+ };
149
+ },
150
+ render() {
151
+ var _a, _b, _c, _d, _e, _f, _g, _h;
152
+ if (this.isVisible) {
153
+ let role;
154
+ if (this.hasInvalidLabelOrSlot) {
155
+ role = "alert";
156
+ }
157
+ if (this.hasValidLabelOrSlot) {
158
+ role = "status";
159
+ }
160
+ if (this.hasLoadingLabelOrSlot) {
161
+ return h(
162
+ this.tag,
163
+ {
164
+ role
165
+ },
166
+ ((_b = (_a = this.$slots).loading) == null ? void 0 : _b.call(_a)) ?? this.loadingLabel
167
+ );
168
+ }
169
+ if (this.hasInvalidLabelOrSlot) {
170
+ return h(
171
+ this.tag,
172
+ {
173
+ role
174
+ },
175
+ ((_d = (_c = this.$slots).invalid) == null ? void 0 : _d.call(_c)) ?? this.$slots.invalid ?? this.invalidLabel
176
+ );
177
+ }
178
+ if (this.hasValidLabelOrSlot) {
179
+ return h(
180
+ this.tag,
181
+ {
182
+ role
183
+ },
184
+ ((_f = (_e = this.$slots).valid) == null ? void 0 : _f.call(_e)) ?? this.validLabel
185
+ );
186
+ }
187
+ return h(
188
+ this.tag,
189
+ {
190
+ role
191
+ },
192
+ ((_h = (_g = this.$slots).hint) == null ? void 0 : _h.call(_g)) ?? this.$slots.hint ?? this.hintLabel
193
+ );
194
+ }
195
+ return null;
196
+ }
197
+ });
198
+ return {
199
+ hasInvalidLabelOrSlot,
200
+ hasHintLabelOrSlot,
201
+ hasValidLabelOrSlot,
202
+ hasLoadingLabelOrSlot,
203
+ hintSlotScope,
204
+ HintSlot
205
+ };
206
+ }
207
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
208
+ StorageType2["local"] = "local";
209
+ StorageType2["session"] = "session";
210
+ return StorageType2;
211
+ })(StorageType || {});
3
212
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
4
213
  Strategy2["absolute"] = "absolute";
5
214
  Strategy2["fixed"] = "fixed";
@@ -34,15 +243,17 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
34
243
  ButtonType2["reset"] = "reset";
35
244
  return ButtonType2;
36
245
  })(ButtonType || {});
37
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
38
- AnchorTarget2["_blank"] = "_blank";
39
- AnchorTarget2["_self"] = "_self";
40
- AnchorTarget2["_parent"] = "_parent";
41
- AnchorTarget2["_top"] = "_top";
42
- return AnchorTarget2;
43
- })(AnchorTarget || {});
246
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
247
+ ActionTag2["nuxtLink"] = "nuxt-link";
248
+ ActionTag2["routerLink"] = "router-link";
249
+ ActionTag2["a"] = "a";
250
+ ActionTag2["button"] = "button";
251
+ return ActionTag2;
252
+ })(ActionTag || {});
44
253
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
45
- const INJECTION_KEY_CHECK_GROUP = Symbol.for("checkGroup");
254
+ const INJECTION_KEY_CHECK_GROUP = Symbol.for(
255
+ "checkGroup"
256
+ );
46
257
  const LinkProps = {
47
258
  /**
48
259
  * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
@@ -58,10 +269,7 @@ const LinkProps = {
58
269
  /**
59
270
  * Anchor target
60
271
  */
61
- target: {
62
- type: String,
63
- validator: (value) => Object.values(AnchorTarget).includes(value)
64
- },
272
+ target: String,
65
273
  /**
66
274
  * Anchor rel
67
275
  */
@@ -74,27 +282,33 @@ const ValidProps = {
74
282
  /**
75
283
  * Valid status
76
284
  */
77
- valid: Boolean,
285
+ valid: { type: Boolean, default: false },
78
286
  /**
79
287
  * Valid label
80
288
  */
81
- validLabel: [String, Array]
289
+ validLabel: { type: [String, Array], default: void 0 }
82
290
  };
83
291
  const InvalidProps = {
84
292
  /**
85
293
  * Invalid status
86
294
  */
87
- invalid: Boolean,
295
+ invalid: {
296
+ type: Boolean,
297
+ default: false
298
+ },
88
299
  /**
89
300
  * Invalid label
90
301
  */
91
- invalidLabel: [String, Array]
302
+ invalidLabel: { type: [String, Array], default: void 0 }
92
303
  };
93
304
  const LoadingProps = {
94
305
  /**
95
306
  * Loading status
96
307
  */
97
- loading: Boolean,
308
+ loading: {
309
+ type: Boolean,
310
+ default: false
311
+ },
98
312
  /**
99
313
  * Loading label
100
314
  */
@@ -107,43 +321,64 @@ const DisabledProps = {
107
321
  /**
108
322
  * Whether the form control is disabled
109
323
  */
110
- disabled: Boolean
324
+ disabled: {
325
+ type: Boolean,
326
+ default: false
327
+ }
111
328
  };
112
329
  const ActiveProps = {
113
330
  /**
114
331
  * Whether the item is active
115
332
  */
116
- active: Boolean
333
+ active: {
334
+ type: Boolean,
335
+ default: false
336
+ }
117
337
  };
118
338
  const CurrentProps = {
119
339
  /**
120
340
  * Whether the item is current
121
341
  */
122
- current: Boolean
342
+ current: {
343
+ type: Boolean,
344
+ default: false
345
+ }
123
346
  };
124
347
  const PressedProps = {
125
348
  /**
126
349
  * Whether the item is pressed
127
350
  */
128
- pressed: Boolean
351
+ pressed: {
352
+ type: Boolean,
353
+ default: false
354
+ }
129
355
  };
130
356
  const LabelProps = {
131
357
  /**
132
358
  * The item label
133
359
  */
134
- label: [String, Number]
360
+ label: {
361
+ type: [String, Number],
362
+ default: void 0
363
+ }
135
364
  };
136
365
  const ReadonlyProps = {
137
366
  /**
138
367
  * The value is not editable
139
368
  */
140
- readonly: Boolean
369
+ readonly: {
370
+ type: Boolean,
371
+ default: false
372
+ }
141
373
  };
142
374
  const ModifiersProps = {
143
375
  /**
144
376
  * Component BEM modifiers
145
377
  */
146
- modifiers: [String, Array]
378
+ modifiers: {
379
+ type: [String, Array],
380
+ default: void 0
381
+ }
147
382
  };
148
383
  const HintProps = {
149
384
  hintLabel: { type: String, default: "" }
@@ -153,7 +388,10 @@ const HintProps = {
153
388
  * VvIcon name or props
154
389
  * @see VVIcon
155
390
  */
156
- icon: { type: [String, Object] },
391
+ icon: {
392
+ type: [String, Object],
393
+ default: void 0
394
+ },
157
395
  /**
158
396
  * VvIcon position
159
397
  */
@@ -198,7 +436,8 @@ const IdProps = {
198
436
  * Dropdown show / hide transition name
199
437
  */
200
438
  transitionName: {
201
- type: String
439
+ type: String,
440
+ default: void 0
202
441
  },
203
442
  /**
204
443
  * Offset of the dropdown from the trigger
@@ -266,7 +505,8 @@ const IdProps = {
266
505
  * Set dropdown width to the same as the trigger
267
506
  */
268
507
  triggerWidth: {
269
- type: Boolean
508
+ type: Boolean,
509
+ default: false
270
510
  }
271
511
  });
272
512
  const IdNameProps = {
@@ -293,11 +533,17 @@ const CheckboxRadioProps = {
293
533
  * Input value
294
534
  * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#value
295
535
  */
296
- value: [String, Number, Boolean],
536
+ value: {
537
+ type: [String, Number, Boolean],
538
+ default: void 0
539
+ },
297
540
  /**
298
541
  * Input value
299
542
  */
300
- modelValue: [Object, Number, Boolean, String]
543
+ modelValue: {
544
+ type: [Object, Number, Boolean, String],
545
+ default: void 0
546
+ }
301
547
  };
302
548
  ({
303
549
  ...DisabledProps,
@@ -320,102 +566,32 @@ const CheckboxRadioProps = {
320
566
  ariaLabel: {
321
567
  type: String,
322
568
  default: void 0
569
+ },
570
+ /**
571
+ * Default tag for the action
572
+ */
573
+ defaultTag: {
574
+ type: String,
575
+ default: ActionTag.button
323
576
  }
324
577
  });
325
- function equals(obj1, obj2, field) {
326
- if (field) {
327
- return resolveFieldData(obj1, field) === resolveFieldData(obj2, field);
328
- }
329
- return deepEquals(obj1, obj2);
330
- }
331
- function deepEquals(a, b) {
332
- if (a === b)
333
- return true;
334
- if (a && b && typeof a == "object" && typeof b == "object") {
335
- const arrA = Array.isArray(a);
336
- const arrB = Array.isArray(b);
337
- let i, length, key;
338
- if (arrA && arrB) {
339
- length = a.length;
340
- if (length != b.length)
341
- return false;
342
- for (i = length; i-- !== 0; )
343
- if (!deepEquals(a[i], b[i]))
344
- return false;
345
- return true;
346
- }
347
- if (arrA != arrB)
348
- return false;
349
- const dateA = a instanceof Date, dateB = b instanceof Date;
350
- if (dateA != dateB)
351
- return false;
352
- if (dateA && dateB)
353
- return a.getTime() == b.getTime();
354
- const regexpA = a instanceof RegExp, regexpB = b instanceof RegExp;
355
- if (regexpA != regexpB)
356
- return false;
357
- if (regexpA && regexpB)
358
- return a.toString() == b.toString();
359
- const keys = Object.keys(a);
360
- length = keys.length;
361
- if (length !== Object.keys(b).length)
362
- return false;
363
- for (i = length; i-- !== 0; )
364
- if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
365
- return false;
366
- for (i = length; i-- !== 0; ) {
367
- key = keys[i];
368
- if (!deepEquals(a[key], b[key]))
369
- return false;
370
- }
371
- return true;
372
- }
373
- return a !== a && b !== b;
374
- }
375
- function resolveFieldData(data, field) {
376
- if (data && Object.keys(data).length && field) {
377
- if (field.indexOf(".") === -1) {
378
- return data[field];
379
- } else {
380
- const fields = field.split(".");
381
- let value = data;
382
- for (let i = 0, len = fields.length; i < len; ++i) {
383
- if (data == null) {
384
- return null;
385
- }
386
- value = value[fields[i]];
387
- }
388
- return value;
389
- }
390
- } else {
391
- return null;
392
- }
393
- }
394
- function contains(value, list) {
395
- if (value != null && list && list.length) {
396
- for (const val of list) {
397
- if (equals(value, val)) {
398
- return true;
399
- }
400
- }
401
- }
402
- return false;
403
- }
404
- function isEmpty(value) {
405
- return ((value2) => value2 === null || value2 === void 0 || value2 === "" || Array.isArray(value2) && value2.length === 0 || !(value2 instanceof Date) && typeof value2 === "object" && Object.keys(value2).length === 0)(unref(value));
406
- }
407
- function isString(value) {
408
- return typeof value === "string" || value instanceof String;
409
- }
578
+ ({
579
+ storageType: {
580
+ type: String,
581
+ default: StorageType.local,
582
+ validator: (value) => Object.values(StorageType).includes(value)
583
+ },
584
+ storageKey: String
585
+ });
410
586
  function useInjectedGroupState(groupKey) {
411
587
  const group = inject(groupKey, void 0);
412
- const isInGroup = computed(() => !isEmpty(group));
588
+ const isInGroup = computed(() => group !== void 0);
413
589
  function getGroupOrLocalRef(propName, props, emit) {
414
- if (group == null ? void 0 : group.value) {
415
- const groupPropValue = unref(group.value)[propName];
590
+ const groupPropValue = group == null ? void 0 : group[propName];
591
+ if (groupPropValue) {
416
592
  return computed({
417
593
  get() {
418
- return groupPropValue == null ? void 0 : groupPropValue.value;
594
+ return groupPropValue.value;
419
595
  },
420
596
  set(value) {
421
597
  groupPropValue.value = value;
@@ -428,8 +604,9 @@ function useInjectedGroupState(groupKey) {
428
604
  return propRef.value;
429
605
  },
430
606
  set(value) {
431
- if (emit)
607
+ if (emit) {
432
608
  emit(`update:${propName}`, value);
609
+ }
433
610
  }
434
611
  });
435
612
  }
@@ -463,16 +640,10 @@ function useGroupProps(props, emit) {
463
640
  const valid = getGroupOrLocalRef("valid", props);
464
641
  const invalid = getGroupOrLocalRef("invalid", props);
465
642
  const readonly = computed(
466
- () => {
467
- var _a;
468
- return Boolean(props.readonly || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.readonly.value));
469
- }
643
+ () => Boolean(props.readonly || (group == null ? void 0 : group.readonly.value))
470
644
  );
471
645
  const disabled = computed(
472
- () => {
473
- var _a;
474
- return Boolean(props.disabled || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
475
- }
646
+ () => Boolean(props.disabled || (group == null ? void 0 : group.disabled.value))
476
647
  );
477
648
  return {
478
649
  // local props
@@ -489,124 +660,6 @@ function useGroupProps(props, emit) {
489
660
  disabled
490
661
  };
491
662
  }
492
- function joinLines(items) {
493
- if (Array.isArray(items)) {
494
- return items.filter((item) => isString(item)).join(" ");
495
- }
496
- return items;
497
- }
498
- function HintSlotFactory(propsOrRef, slots) {
499
- const props = computed(() => {
500
- if (isRef(propsOrRef)) {
501
- return propsOrRef.value;
502
- }
503
- return propsOrRef;
504
- });
505
- const invalidLabel = computed(() => joinLines(props.value.invalidLabel));
506
- const validLabel = computed(() => joinLines(props.value.validLabel));
507
- const loadingLabel = computed(() => props.value.loadingLabel);
508
- const hintLabel = computed(() => props.value.hintLabel);
509
- const hasLoadingLabelOrSlot = computed(
510
- () => Boolean(props.value.loading && (slots.loading || loadingLabel.value))
511
- );
512
- const hasInvalidLabelOrSlot = computed(
513
- () => !hasLoadingLabelOrSlot.value && Boolean(
514
- props.value.invalid && (slots.invalid || invalidLabel.value)
515
- )
516
- );
517
- const hasValidLabelOrSlot = computed(
518
- () => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && Boolean(props.value.valid && (slots.valid || validLabel.value))
519
- );
520
- const hasHintLabelOrSlot = computed(
521
- () => !hasLoadingLabelOrSlot.value && !hasInvalidLabelOrSlot.value && !hasValidLabelOrSlot.value && Boolean(slots.hint || hintLabel.value)
522
- );
523
- const isVisible = computed(
524
- () => hasInvalidLabelOrSlot.value || hasValidLabelOrSlot.value || hasLoadingLabelOrSlot.value || hasHintLabelOrSlot.value
525
- );
526
- const hintSlotScope = computed(() => ({
527
- modelValue: props.value.modelValue,
528
- valid: props.value.valid,
529
- invalid: props.value.invalid,
530
- loading: props.value.loading
531
- }));
532
- const HintSlot = defineComponent({
533
- name: "HintSlot",
534
- props: {
535
- tag: {
536
- type: String,
537
- default: "small"
538
- }
539
- },
540
- setup() {
541
- return {
542
- isVisible,
543
- invalidLabel,
544
- validLabel,
545
- loadingLabel,
546
- hintLabel,
547
- hasInvalidLabelOrSlot,
548
- hasValidLabelOrSlot,
549
- hasLoadingLabelOrSlot,
550
- hasHintLabelOrSlot
551
- };
552
- },
553
- render() {
554
- var _a, _b, _c, _d, _e, _f, _g, _h;
555
- if (this.isVisible) {
556
- let role;
557
- if (this.hasInvalidLabelOrSlot) {
558
- role = "alert";
559
- }
560
- if (this.hasValidLabelOrSlot) {
561
- role = "status";
562
- }
563
- if (this.hasLoadingLabelOrSlot) {
564
- return h(
565
- this.tag,
566
- {
567
- role
568
- },
569
- ((_b = (_a = this.$slots).loading) == null ? void 0 : _b.call(_a)) ?? this.loadingLabel
570
- );
571
- }
572
- if (this.hasInvalidLabelOrSlot) {
573
- return h(
574
- this.tag,
575
- {
576
- role
577
- },
578
- ((_d = (_c = this.$slots).invalid) == null ? void 0 : _d.call(_c)) ?? this.$slots.invalid ?? this.invalidLabel
579
- );
580
- }
581
- if (this.hasValidLabelOrSlot) {
582
- return h(
583
- this.tag,
584
- {
585
- role
586
- },
587
- ((_f = (_e = this.$slots).valid) == null ? void 0 : _f.call(_e)) ?? this.validLabel
588
- );
589
- }
590
- return h(
591
- this.tag,
592
- {
593
- role
594
- },
595
- ((_h = (_g = this.$slots).hint) == null ? void 0 : _h.call(_g)) ?? this.$slots.hint ?? this.hintLabel
596
- );
597
- }
598
- return null;
599
- }
600
- });
601
- return {
602
- hasInvalidLabelOrSlot,
603
- hasHintLabelOrSlot,
604
- hasValidLabelOrSlot,
605
- hasLoadingLabelOrSlot,
606
- hintSlotScope,
607
- HintSlot
608
- };
609
- }
610
663
  function useVolver() {
611
664
  return inject(INJECTION_KEY_VOLVER);
612
665
  }
@@ -663,7 +716,9 @@ function useDefaults(componentName, propsDefinition, props) {
663
716
  }, {});
664
717
  });
665
718
  }
666
- const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || uid()));
719
+ function useUniqueId(id) {
720
+ return computed(() => String((id == null ? void 0 : id.value) || uid()));
721
+ }
667
722
  function useModifiers(prefix, modifiers, others) {
668
723
  return computed(() => {
669
724
  const toReturn = {
@@ -696,8 +751,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
696
751
  ...__default__,
697
752
  props: VvCheckboxProps,
698
753
  emits: VvCheckboxEvents,
699
- setup(__props, { emit }) {
754
+ setup(__props, { emit: __emit }) {
700
755
  const props = __props;
756
+ const emit = __emit;
701
757
  const slots = useSlots();
702
758
  const propsDefaults = useDefaults(
703
759
  "VvCheckbox",
@@ -761,8 +817,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
761
817
  if (isBinary.value) {
762
818
  modelValue.value = newValue ? props.value : props.uncheckedValue;
763
819
  } else if (Array.isArray(modelValue.value) || isInGroup.value) {
820
+ const currentValue = modelValue.value ?? [];
764
821
  const toReturn = new Set(
765
- Array.isArray(modelValue.value) ? modelValue.value : modelValue.value !== void 0 ? [modelValue.value] : []
822
+ Array.isArray(currentValue) ? currentValue : [currentValue]
766
823
  );
767
824
  if (newValue) {
768
825
  toReturn.add(props.value);
@@ -840,12 +897,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
840
897
  [vModelCheckbox, unref(localModelValue)]
841
898
  ]),
842
899
  renderSlot(_ctx.$slots, "default", { value: unref(modelValue) }, () => [
843
- createTextVNode(toDisplayString(_ctx.label), 1)
900
+ createTextVNode(
901
+ toDisplayString(_ctx.label),
902
+ 1
903
+ /* TEXT */
904
+ )
844
905
  ]),
845
906
  createVNode(unref(HintSlot), {
846
907
  id: unref(hasHintId),
847
908
  class: "vv-checkbox__hint"
848
- }, createSlots({ _: 2 }, [
909
+ }, createSlots({
910
+ _: 2
911
+ /* DYNAMIC */
912
+ }, [
849
913
  _ctx.$slots.hint ? {
850
914
  name: "hint",
851
915
  fn: withCtx(() => [