@volverjs/ui-vue 0.0.10-beta.46 → 0.0.10-beta.48

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 (357) hide show
  1. package/README.md +2 -2
  2. package/auto-imports.d.ts +19 -11
  3. package/bin/icons.js +1 -0
  4. package/dist/components/VvAccordion/VvAccordion.es.js +4 -5
  5. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  6. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +8 -11
  7. package/dist/components/VvAccordion/index.d.ts +2 -2
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +45 -46
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +11 -13
  11. package/dist/components/VvAccordionGroup/index.d.ts +2 -2
  12. package/dist/components/VvAction/VvAction.vue.d.ts +8 -10
  13. package/dist/components/VvAction/index.d.ts +1 -1
  14. package/dist/components/VvAlert/VvAlert.es.js +158 -161
  15. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  16. package/dist/components/VvAlert/VvAlert.vue.d.ts +20 -22
  17. package/dist/components/VvAlert/index.d.ts +1 -1
  18. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +271 -274
  19. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  20. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +9 -11
  21. package/dist/components/VvAlertGroup/index.d.ts +2 -2
  22. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +6 -6
  23. package/dist/components/VvAvatar/index.d.ts +1 -1
  24. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +21 -22
  25. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  26. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +6 -6
  27. package/dist/components/VvAvatarGroup/index.d.ts +1 -1
  28. package/dist/components/VvBadge/VvBadge.vue.d.ts +6 -6
  29. package/dist/components/VvBadge/index.d.ts +1 -1
  30. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +23 -23
  31. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  32. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +19 -19
  33. package/dist/components/VvBreadcrumb/index.d.ts +1 -1
  34. package/dist/components/VvButton/VvButton.es.js +313 -314
  35. package/dist/components/VvButton/VvButton.umd.js +1 -1
  36. package/dist/components/VvButton/VvButton.vue.d.ts +14 -16
  37. package/dist/components/VvButton/index.d.ts +9 -9
  38. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +2 -2
  39. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +6 -8
  40. package/dist/components/VvButtonGroup/index.d.ts +1 -1
  41. package/dist/components/VvCard/VvCard.vue.d.ts +6 -6
  42. package/dist/components/VvCard/index.d.ts +1 -1
  43. package/dist/components/VvCheckbox/VvCheckbox.es.js +186 -187
  44. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  45. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +11 -13
  46. package/dist/components/VvCheckbox/index.d.ts +7 -7
  47. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -191
  48. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  49. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +11 -13
  50. package/dist/components/VvCheckboxGroup/index.d.ts +2 -2
  51. package/dist/components/VvCombobox/VvCombobox.es.js +1864 -1865
  52. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  53. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +72 -291
  54. package/dist/components/VvCombobox/index.d.ts +1 -1
  55. package/dist/components/VvDialog/VvDialog.vue.d.ts +7 -9
  56. package/dist/components/VvDialog/index.d.ts +1 -1
  57. package/dist/components/VvDropdown/VvDropdown.es.js +9 -10
  58. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  59. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +51 -51
  60. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +22 -16
  61. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +4 -4
  62. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +4 -4
  63. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +6 -6
  64. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +2 -2
  65. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +2 -2
  66. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +2 -2
  67. package/dist/components/VvIcon/VvIcon.vue.d.ts +2 -23
  68. package/dist/components/VvInputFile/VvInputFile.es.js +661 -656
  69. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  70. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +19 -19
  71. package/dist/components/VvInputFile/index.d.ts +4 -4
  72. package/dist/components/VvInputText/VvInputClearAction.d.ts +10 -6
  73. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +11 -7
  74. package/dist/components/VvInputText/VvInputStepAction.d.ts +10 -6
  75. package/dist/components/VvInputText/VvInputText.es.js +715 -716
  76. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  77. package/dist/components/VvInputText/VvInputText.vue.d.ts +30 -32
  78. package/dist/components/VvInputText/index.d.ts +1 -1
  79. package/dist/components/VvNav/VvNav.es.js +5 -5
  80. package/dist/components/VvNav/VvNav.umd.js +1 -1
  81. package/dist/components/VvNav/VvNav.vue.d.ts +8 -10
  82. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  83. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  84. package/dist/components/VvNav/index.d.ts +2 -2
  85. package/dist/components/VvProgress/VvProgress.vue.d.ts +6 -6
  86. package/dist/components/VvProgress/index.d.ts +1 -1
  87. package/dist/components/VvRadio/VvRadio.es.js +186 -187
  88. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  89. package/dist/components/VvRadio/VvRadio.vue.d.ts +10 -12
  90. package/dist/components/VvRadio/index.d.ts +5 -5
  91. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -191
  92. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  93. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +11 -13
  94. package/dist/components/VvRadioGroup/index.d.ts +2 -2
  95. package/dist/components/VvSelect/VvSelect.es.js +337 -338
  96. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  97. package/dist/components/VvSelect/VvSelect.vue.d.ts +20 -131
  98. package/dist/components/VvSelect/index.d.ts +7 -7
  99. package/dist/components/VvTab/VvTab.es.js +18 -18
  100. package/dist/components/VvTab/VvTab.umd.js +1 -1
  101. package/dist/components/VvTab/VvTab.vue.d.ts +6 -8
  102. package/dist/components/VvTab/index.d.ts +1 -1
  103. package/dist/components/VvTextarea/VvTextarea.es.js +292 -293
  104. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  105. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +14 -16
  106. package/dist/components/VvTextarea/index.d.ts +3 -3
  107. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +8 -8
  108. package/dist/components/common/HintSlot.d.ts +6 -6
  109. package/dist/components/index.d.ts +1 -1
  110. package/dist/components/index.es.js +2761 -2758
  111. package/dist/components/index.umd.js +1 -1
  112. package/dist/composables/alert/useAlert.d.ts +4 -4
  113. package/dist/composables/alert/{useProvideAlert.d.ts → useAlertProvide.d.ts} +1 -1
  114. package/dist/composables/dropdown/useDropdownContextmenu.d.ts +18 -0
  115. package/dist/composables/dropdown/{useProvideDropdown.d.ts → useDropdownProvide.d.ts} +6 -6
  116. package/dist/composables/dropdown/useDropdownVirtualElement.d.ts +17 -0
  117. package/dist/composables/group/{useInjectedGroupState.d.ts → useGroupStateInject.d.ts} +1 -1
  118. package/dist/composables/group/{useProvideGroupState.d.ts → useGroupStateProvide.d.ts} +2 -2
  119. package/dist/composables/index.d.ts +2 -0
  120. package/dist/composables/index.es.js +87 -3
  121. package/dist/composables/index.umd.js +1 -1
  122. package/dist/composables/useComponentFocus.d.ts +1 -1
  123. package/dist/composables/useOptions.d.ts +1 -1
  124. package/dist/composables/usePersistence.d.ts +1 -1
  125. package/dist/composables/useUniqueId.d.ts +1 -1
  126. package/dist/constants.d.ts +3 -3
  127. package/dist/directives/index.d.ts +2 -2
  128. package/dist/directives/index.es.js +145 -39
  129. package/dist/directives/index.umd.js +1 -1
  130. package/dist/directives/v-contextmenu.es.js +137 -31
  131. package/dist/directives/v-contextmenu.umd.js +1 -1
  132. package/dist/icons.d.ts +17 -17
  133. package/dist/icons.es.js +424 -424
  134. package/dist/icons.umd.js +1 -1
  135. package/dist/index.d.ts +1 -1
  136. package/dist/index.umd.js +1 -1
  137. package/dist/props/index.d.ts +4 -4
  138. package/dist/resolvers/unplugin.umd.js +1 -1
  139. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +178 -474
  140. package/dist/stories/Alert/Alert.settings.d.ts +1 -1
  141. package/dist/stories/Alert/AlertModifiers.stories.d.ts +1 -1
  142. package/dist/stories/Alert/AlertSlots.stories.d.ts +1 -1
  143. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +1 -1
  144. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +1 -1
  145. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  146. package/dist/stories/Button/Button.settings.d.ts +1 -1
  147. package/dist/stories/Combobox/Combobox.settings.d.ts +1 -1
  148. package/dist/stories/Nav/Nav.settings.d.ts +1 -1
  149. package/dist/stories/Tab/Tab.settings.d.ts +1 -1
  150. package/dist/types/floating-ui.d.ts +1 -1
  151. package/dist/types/group.d.ts +1 -1
  152. package/dist/types/index.d.ts +2 -2
  153. package/dist/utils/DomUtilities.d.ts +1 -0
  154. package/package.json +41 -41
  155. package/src/Volver.ts +3 -3
  156. package/src/assets/icons/detailed.json +1 -1
  157. package/src/assets/icons/normal.json +1 -1
  158. package/src/assets/icons/simple.json +1 -1
  159. package/src/components/VvAccordion/VvAccordion.vue +5 -5
  160. package/src/components/VvAccordion/index.ts +2 -2
  161. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +5 -5
  162. package/src/components/VvAction/VvAction.vue +1 -1
  163. package/src/components/VvAlert/VvAlert.vue +1 -1
  164. package/src/components/VvAlert/index.ts +1 -1
  165. package/src/components/VvAlertGroup/VvAlertGroup.vue +1 -1
  166. package/src/components/VvAlertGroup/index.ts +3 -3
  167. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +1 -1
  168. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +2 -2
  169. package/src/components/VvBreadcrumb/index.ts +1 -1
  170. package/src/components/VvButton/VvButton.vue +3 -3
  171. package/src/components/VvButton/index.ts +4 -4
  172. package/src/components/VvButtonGroup/VvButtonGroup.vue +3 -3
  173. package/src/components/VvCheckbox/VvCheckbox.vue +2 -2
  174. package/src/components/VvCheckbox/index.ts +2 -2
  175. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +2 -2
  176. package/src/components/VvCombobox/VvCombobox.vue +9 -9
  177. package/src/components/VvCombobox/index.ts +15 -15
  178. package/src/components/VvDropdown/VvDropdown.vue +19 -19
  179. package/src/components/VvDropdown/VvDropdownAction.vue +1 -1
  180. package/src/components/VvDropdown/VvDropdownItem.vue +1 -1
  181. package/src/components/VvDropdown/VvDropdownOption.vue +1 -1
  182. package/src/components/VvDropdown/index.ts +2 -2
  183. package/src/components/VvIcon/VvIcon.vue +2 -2
  184. package/src/components/VvInputFile/VvInputFile.vue +17 -11
  185. package/src/components/VvInputFile/index.ts +7 -7
  186. package/src/components/VvInputText/VvInputPasswordAction.ts +1 -1
  187. package/src/components/VvInputText/VvInputText.vue +19 -19
  188. package/src/components/VvInputText/VvInputTextActions.ts +4 -4
  189. package/src/components/VvInputText/index.ts +2 -2
  190. package/src/components/VvNav/VvNav.vue +1 -1
  191. package/src/components/VvRadio/VvRadio.vue +1 -1
  192. package/src/components/VvRadio/index.ts +2 -2
  193. package/src/components/VvRadioGroup/VvRadioGroup.vue +2 -2
  194. package/src/components/VvSelect/VvSelect.vue +6 -6
  195. package/src/components/VvSelect/index.ts +12 -12
  196. package/src/components/VvTab/VvTab.vue +2 -2
  197. package/src/components/VvTab/index.ts +1 -1
  198. package/src/components/VvTextarea/VvTextarea.vue +1 -1
  199. package/src/components/common/HintSlot.ts +14 -14
  200. package/src/components/index.ts +1 -1
  201. package/src/composables/alert/useAlert.ts +2 -2
  202. package/src/composables/alert/{useProvideAlert.ts → useAlertProvide.ts} +2 -2
  203. package/src/composables/dropdown/useDropdownContextmenu.ts +22 -0
  204. package/src/composables/dropdown/{useProvideDropdown.ts → useDropdownProvide.ts} +9 -9
  205. package/src/composables/dropdown/useDropdownVirtualElement.ts +53 -0
  206. package/src/composables/group/{useInjectedGroupState.ts → useGroupStateInject.ts} +2 -2
  207. package/src/composables/group/{useProvideGroupState.ts → useGroupStateProvide.ts} +2 -2
  208. package/src/composables/index.ts +2 -0
  209. package/src/composables/useBlurhash.ts +2 -2
  210. package/src/composables/useOptions.ts +1 -1
  211. package/src/composables/usePersistence.ts +1 -1
  212. package/src/composables/useTextCount.ts +2 -2
  213. package/src/composables/useUniqueId.ts +2 -3
  214. package/src/constants.ts +5 -5
  215. package/src/directives/index.ts +2 -2
  216. package/src/directives/v-contextmenu.ts +21 -29
  217. package/src/directives/v-tooltip.ts +2 -2
  218. package/src/icons.ts +2 -2
  219. package/src/index.ts +1 -1
  220. package/src/props/index.ts +7 -7
  221. package/src/resolvers/unplugin.ts +5 -5
  222. package/src/stories/Accordion/Accordion.stories.ts +2 -2
  223. package/src/stories/Accordion/Accordion.test.ts +1 -1
  224. package/src/stories/Accordion/AccordionSlots.stories.ts +2 -2
  225. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +2 -2
  226. package/src/stories/AccordionGroup/AccordionGroup.test.ts +1 -1
  227. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +3 -3
  228. package/src/stories/Alert/Alert.settings.ts +1 -1
  229. package/src/stories/Alert/Alert.stories.ts +2 -2
  230. package/src/stories/Alert/Alert.test.ts +1 -1
  231. package/src/stories/Alert/AlertModifiers.stories.ts +2 -2
  232. package/src/stories/Alert/AlertSlots.stories.ts +2 -2
  233. package/src/stories/AlertGroup/AlertGroup.stories.ts +2 -2
  234. package/src/stories/AlertGroup/AlertGroup.test.ts +3 -3
  235. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +2 -2
  236. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +2 -2
  237. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
  238. package/src/stories/Avatar/Avatar.stories.ts +2 -2
  239. package/src/stories/Avatar/Avatar.test.ts +1 -1
  240. package/src/stories/Avatar/AvatarBadge.stories.ts +1 -1
  241. package/src/stories/Avatar/AvatarModifiers.stories.ts +2 -2
  242. package/src/stories/Avatar/AvatarSlots.stories.ts +2 -2
  243. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +2 -2
  244. package/src/stories/AvatarGroup/AvatarGroup.test.ts +1 -1
  245. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +2 -2
  246. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +3 -3
  247. package/src/stories/Badge/Badge.stories.ts +2 -2
  248. package/src/stories/Badge/Badge.test.ts +1 -1
  249. package/src/stories/Badge/BadgeSlots.stories.ts +2 -2
  250. package/src/stories/Blurhash/BlurhashComposable.stories.ts +37 -117
  251. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +2 -2
  252. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +5 -5
  253. package/src/stories/Button/Button.settings.ts +3 -3
  254. package/src/stories/Button/Button.stories.ts +2 -2
  255. package/src/stories/Button/Button.test.ts +1 -1
  256. package/src/stories/Button/ButtonIcon.stories.ts +2 -2
  257. package/src/stories/Button/ButtonLink.stories.ts +2 -2
  258. package/src/stories/Button/ButtonLoading.stories.ts +2 -2
  259. package/src/stories/Button/ButtonModifiers.stories.ts +2 -2
  260. package/src/stories/Button/ButtonSlots.stories.ts +3 -3
  261. package/src/stories/Button/ButtonState.stories.ts +2 -2
  262. package/src/stories/Button/ButtonToggle.stories.ts +2 -2
  263. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +2 -2
  264. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +2 -2
  265. package/src/stories/ButtonGroup/ButtonGroup.test.ts +1 -1
  266. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +2 -2
  267. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +2 -2
  268. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +2 -2
  269. package/src/stories/Card/Card.stories.ts +2 -2
  270. package/src/stories/Card/Card.test.ts +1 -1
  271. package/src/stories/Card/CardSlots.stories.ts +2 -2
  272. package/src/stories/Checkbox/Checkbox.stories.ts +2 -2
  273. package/src/stories/Checkbox/Checkbox.test.ts +1 -1
  274. package/src/stories/Checkbox/CheckboxBinary.stories.ts +2 -2
  275. package/src/stories/Checkbox/CheckboxSlots.stories.ts +2 -2
  276. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +2 -2
  277. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +2 -2
  278. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +2 -2
  279. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +3 -3
  280. package/src/stories/Combobox/Combobox.settings.ts +9 -9
  281. package/src/stories/Combobox/Combobox.stories.ts +2 -2
  282. package/src/stories/Combobox/Combobox.test.ts +2 -2
  283. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +2 -2
  284. package/src/stories/Combobox/ComboboxMultiple.stories.ts +2 -2
  285. package/src/stories/Combobox/ComboboxOptions.stories.ts +2 -2
  286. package/src/stories/Combobox/ComboboxSlots.stories.ts +3 -3
  287. package/src/stories/Dialog/Dialog.stories.ts +2 -2
  288. package/src/stories/Dialog/Dialog.test.ts +1 -1
  289. package/src/stories/Dialog/DialogModifiers.stories.ts +2 -2
  290. package/src/stories/Dialog/DialogSlots.stories.ts +2 -2
  291. package/src/stories/Dropdown/Dropdown.settings.ts +1 -1
  292. package/src/stories/Dropdown/Dropdown.stories.ts +4 -4
  293. package/src/stories/Dropdown/Dropdown.test.ts +1 -1
  294. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +3 -4
  295. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +4 -4
  296. package/src/stories/Dropdown/DropdownSlots.stories.ts +4 -4
  297. package/src/stories/Icon/Icon.settings.ts +1 -1
  298. package/src/stories/Icon/Icon.stories.ts +2 -2
  299. package/src/stories/Icon/IconsCollection.stories.ts +3 -3
  300. package/src/stories/InputFile/InputFile.settings.ts +1 -1
  301. package/src/stories/InputFile/InputFile.stories.ts +1 -1
  302. package/src/stories/InputFile/InputFileDropArea.stories.ts +2 -2
  303. package/src/stories/InputFile/InputFileIconPosition.stories.ts +2 -2
  304. package/src/stories/InputFile/InputFileSlots.stories.ts +2 -2
  305. package/src/stories/InputText/InputText.settings.ts +2 -2
  306. package/src/stories/InputText/InputText.stories.ts +2 -2
  307. package/src/stories/InputText/InputText.test.ts +2 -2
  308. package/src/stories/InputText/InputTextIconPosition.stories.ts +2 -2
  309. package/src/stories/InputText/InputTextLength.stories.ts +2 -2
  310. package/src/stories/InputText/InputTextMask.stories.ts +2 -2
  311. package/src/stories/InputText/InputTextMinMax.stories.ts +2 -2
  312. package/src/stories/InputText/InputTextSlots.stories.ts +2 -2
  313. package/src/stories/InputText/InputTextType.stories.ts +2 -2
  314. package/src/stories/Nav/Nav.settings.ts +1 -1
  315. package/src/stories/Nav/Nav.stories.ts +2 -2
  316. package/src/stories/Nav/Nav.test.ts +1 -1
  317. package/src/stories/Nav/NavModifiers.stories.ts +2 -2
  318. package/src/stories/Progress/Progress.stories.ts +2 -2
  319. package/src/stories/Progress/Progress.test.ts +2 -2
  320. package/src/stories/Radio/Radio.stories.ts +2 -2
  321. package/src/stories/Radio/Radio.test.ts +1 -1
  322. package/src/stories/Radio/RadioSlots.stories.ts +2 -2
  323. package/src/stories/RadioGroup/RadioGroup.stories.ts +2 -2
  324. package/src/stories/RadioGroup/RadioGroup.test.ts +2 -2
  325. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +2 -2
  326. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +3 -3
  327. package/src/stories/Select/Select.settings.ts +10 -10
  328. package/src/stories/Select/Select.stories.ts +2 -2
  329. package/src/stories/Select/Select.test.ts +1 -1
  330. package/src/stories/Select/SelectIconPosition.stories.ts +2 -2
  331. package/src/stories/Select/SelectOptions.stories.ts +2 -2
  332. package/src/stories/Select/SelectSlots.stories.ts +2 -2
  333. package/src/stories/Tab/Tab.settings.ts +1 -1
  334. package/src/stories/Tab/Tab.stories.ts +1 -1
  335. package/src/stories/Tab/Tab.test.ts +1 -1
  336. package/src/stories/Textarea/Textarea.settings.ts +1 -1
  337. package/src/stories/Textarea/Textarea.stories.ts +2 -2
  338. package/src/stories/Textarea/Textarea.test.ts +1 -1
  339. package/src/stories/Textarea/TextareaLength.stories.ts +2 -2
  340. package/src/stories/Textarea/TextareaSlots.stories.ts +2 -2
  341. package/src/stories/Textarea/TextareatIconPosition.stories.ts +2 -2
  342. package/src/stories/Tooltip/Tooltip.stories.ts +3 -3
  343. package/src/stories/Tooltip/Tooltip.test.ts +1 -1
  344. package/src/stories/Tooltip/TooltipDirective.stories.ts +3 -3
  345. package/src/test/expect.ts +3 -3
  346. package/src/test/types.d.ts +2 -2
  347. package/src/types/floating-ui.ts +1 -1
  348. package/src/types/group.ts +1 -1
  349. package/src/types/index.ts +2 -2
  350. package/src/utils/DomUtilities.ts +15 -0
  351. package/src/utils/ObjectUtilities.ts +4 -4
  352. package/src/workers/blurhash.ts +1 -1
  353. package/dist/composables/alert/{useInjectAlert.d.ts → useAlerInject.d.ts} +0 -0
  354. package/dist/composables/dropdown/{useInjectDropdown.d.ts → useDropdownInject.d.ts} +0 -0
  355. package/src/assets/icons/normal/{dulicate.svg → duplicate.svg} +0 -0
  356. package/src/composables/alert/{useInjectAlert.ts → useAlerInject.ts} +0 -0
  357. package/src/composables/dropdown/{useInjectDropdown.ts → useDropdownInject.ts} +1 -1
package/README.md CHANGED
@@ -123,10 +123,10 @@ To learn more about icons collections, check [icons documentation](src/component
123
123
  You can use `@volverjs/ui-vue` with [`unplugin-vue-components`](https://github.com/antfu/unplugin-vue-components) to automatically import components and styles.
124
124
 
125
125
  ```typescript
126
+ import { VolverResolver } from '@volverjs/ui-vue/resolvers/unplugin'
127
+ import Components from 'unplugin-vue-components/vite'
126
128
  // vite.config.ts
127
129
  import { defineConfig } from 'vite'
128
- import Components from 'unplugin-vue-components/vite'
129
- import { VolverResolver } from '@volverjs/ui-vue/resolvers/unplugin'
130
130
 
131
131
  export default defineConfig({
132
132
  // ...
package/auto-imports.d.ts CHANGED
@@ -3,6 +3,7 @@
3
3
  // @ts-nocheck
4
4
  // noinspection JSUnusedGlobalSymbols
5
5
  // Generated by unplugin-auto-import
6
+ // biome-ignore lint: disable
6
7
  export {}
7
8
  declare global {
8
9
  const EffectScope: typeof import('vue')['EffectScope']
@@ -37,6 +38,7 @@ declare global {
37
38
  const extendRef: typeof import('@vueuse/core')['extendRef']
38
39
  const filterArray: typeof import('./src/utils/ObjectUtilities')['filterArray']
39
40
  const findIndexInList: typeof import('./src/utils/ObjectUtilities')['findIndexInList']
41
+ const findScrollContainer: typeof import('./src/utils/DomUtilities')['findScrollContainer']
40
42
  const getCurrentInstance: typeof import('vue')['getCurrentInstance']
41
43
  const getCurrentScope: typeof import('vue')['getCurrentScope']
42
44
  const h: typeof import('vue')['h']
@@ -71,6 +73,7 @@ declare global {
71
73
  const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
72
74
  const onUnmounted: typeof import('vue')['onUnmounted']
73
75
  const onUpdated: typeof import('vue')['onUpdated']
76
+ const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
74
77
  const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
75
78
  const pickBy: typeof import('./src/utils/ObjectUtilities')['pickBy']
76
79
  const propsToObject: typeof import('./src/utils/ObjectUtilities')['propsToObject']
@@ -118,6 +121,7 @@ declare global {
118
121
  const until: typeof import('@vueuse/core')['until']
119
122
  const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
120
123
  const useAlert: typeof import('./src/composables/alert/useAlert')['useAlert']
124
+ const useAlertProvideGroup: typeof import('./src/composables/alert/useAlertProvide')['useAlertProvideGroup']
121
125
  const useAnimate: typeof import('@vueuse/core')['useAnimate']
122
126
  const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference']
123
127
  const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery']
@@ -170,6 +174,11 @@ declare global {
170
174
  const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
171
175
  const useDraggable: typeof import('@vueuse/core')['useDraggable']
172
176
  const useDropZone: typeof import('@vueuse/core')['useDropZone']
177
+ const useDropdownContextmenu: typeof import('./src/composables/dropdown/useDropdownContextmenu')['useDropdownContextmenu']
178
+ const useDropdownProvideAction: typeof import('./src/composables/dropdown/useDropdownProvide')['useDropdownProvideAction']
179
+ const useDropdownProvideItem: typeof import('./src/composables/dropdown/useDropdownProvide')['useDropdownProvideItem']
180
+ const useDropdownProvideTrigger: typeof import('./src/composables/dropdown/useDropdownProvide')['useDropdownProvideTrigger']
181
+ const useDropdownVirtualElement: typeof import('./src/composables/dropdown/useDropdownVirtualElement')['useDropdownVirtualElement']
173
182
  const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
174
183
  const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
175
184
  const useElementHover: typeof import('@vueuse/core')['useElementHover']
@@ -189,14 +198,16 @@ declare global {
189
198
  const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
190
199
  const useGamepad: typeof import('@vueuse/core')['useGamepad']
191
200
  const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
201
+ const useGroupStateInject: typeof import('./src/composables/group/useGroupStateInject')['useGroupStateInject']
202
+ const useGroupStateProvide: typeof import('./src/composables/group/useGroupStateProvide')['useGroupStateProvide']
203
+ const useId: typeof import('vue')['useId']
192
204
  const useIdle: typeof import('@vueuse/core')['useIdle']
193
205
  const useImage: typeof import('@vueuse/core')['useImage']
194
206
  const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
195
- const useInjectedAlertGroup: typeof import('./src/composables/alert/useInjectAlert')['useInjectedAlertGroup']
196
- const useInjectedDropdownAction: typeof import('./src/composables/dropdown/useInjectDropdown')['useInjectedDropdownAction']
197
- const useInjectedDropdownItem: typeof import('./src/composables/dropdown/useInjectDropdown')['useInjectedDropdownItem']
198
- const useInjectedDropdownTrigger: typeof import('./src/composables/dropdown/useInjectDropdown')['useInjectedDropdownTrigger']
199
- const useInjectedGroupState: typeof import('./src/composables/group/useInjectedGroupState')['useInjectedGroupState']
207
+ const useInjectedAlertGroup: typeof import('./src/composables/alert/useAlerInject')['useInjectedAlertGroup']
208
+ const useInjectedDropdownAction: typeof import('./src/composables/dropdown/useDropdownInject')['useInjectedDropdownAction']
209
+ const useInjectedDropdownItem: typeof import('./src/composables/dropdown/useDropdownInject')['useInjectedDropdownItem']
210
+ const useInjectedDropdownTrigger: typeof import('./src/composables/dropdown/useDropdownInject')['useInjectedDropdownTrigger']
200
211
  const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
201
212
  const useInterval: typeof import('@vueuse/core')['useInterval']
202
213
  const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
@@ -209,6 +220,7 @@ declare global {
209
220
  const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
210
221
  const useMemoize: typeof import('@vueuse/core')['useMemoize']
211
222
  const useMemory: typeof import('@vueuse/core')['useMemory']
223
+ const useModel: typeof import('vue')['useModel']
212
224
  const useModifiers: typeof import('./src/composables/useModifiers')['useModifiers']
213
225
  const useMounted: typeof import('@vueuse/core')['useMounted']
214
226
  const useMouse: typeof import('@vueuse/core')['useMouse']
@@ -237,11 +249,6 @@ declare global {
237
249
  const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
238
250
  const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
239
251
  const usePrevious: typeof import('@vueuse/core')['usePrevious']
240
- const useProvideAlertGroup: typeof import('./src/composables/alert/useProvideAlert')['useProvideAlertGroup']
241
- const useProvideDropdownAction: typeof import('./src/composables/dropdown/useProvideDropdown')['useProvideDropdownAction']
242
- const useProvideDropdownItem: typeof import('./src/composables/dropdown/useProvideDropdown')['useProvideDropdownItem']
243
- const useProvideDropdownTrigger: typeof import('./src/composables/dropdown/useProvideDropdown')['useProvideDropdownTrigger']
244
- const useProvideGroupState: typeof import('./src/composables/group/useProvideGroupState')['useProvideGroupState']
245
252
  const useRafFn: typeof import('@vueuse/core')['useRafFn']
246
253
  const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
247
254
  const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
@@ -262,6 +269,7 @@ declare global {
262
269
  const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
263
270
  const useSupported: typeof import('@vueuse/core')['useSupported']
264
271
  const useSwipe: typeof import('@vueuse/core')['useSwipe']
272
+ const useTemplateRef: typeof import('vue')['useTemplateRef']
265
273
  const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
266
274
  const useTextCount: typeof import('./src/composables/useTextCount')['useTextCount']
267
275
  const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
@@ -316,6 +324,6 @@ declare global {
316
324
  // for type re-export
317
325
  declare global {
318
326
  // @ts-ignore
319
- export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
327
+ export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
320
328
  import('vue')
321
329
  }
package/bin/icons.js CHANGED
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import fileSystem from "node:fs";
2
3
  import path from "node:path";
3
4
  import yargs from "yargs";
@@ -1,5 +1,4 @@
1
- import { inject, computed, toRef, unref, defineComponent, useAttrs, toRefs, ref, watch, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from "vue";
2
- import { uid } from "uid";
1
+ import { inject, computed, toRef, unref, defineComponent, useAttrs, useId, toRefs, ref, watch, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from "vue";
3
2
  import { useVModel } from "@vueuse/core";
4
3
  var StorageType = /* @__PURE__ */ ((StorageType2) => {
5
4
  StorageType2["local"] = "local";
@@ -278,7 +277,7 @@ const ModifiersProps = {
278
277
  },
279
278
  storageKey: String
280
279
  });
281
- function useInjectedGroupState(groupKey) {
280
+ function useGroupStateInject(groupKey) {
282
281
  const group = inject(groupKey, void 0);
283
282
  const isInGroup = computed(() => group !== void 0);
284
283
  function getGroupOrLocalRef(propName, props, emit) {
@@ -343,7 +342,7 @@ const VvAccordionProps = {
343
342
  };
344
343
  const VvAccordionEvents = ["update:modelValue"];
345
344
  function useGroupProps(props) {
346
- const { group, isInGroup } = useInjectedGroupState(
345
+ const { group, isInGroup } = useGroupStateInject(
347
346
  INJECTION_KEY_ACCORDION_GROUP
348
347
  );
349
348
  const disabled = computed(
@@ -415,7 +414,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
415
414
  const attrs = useAttrs();
416
415
  const modelValue = useVModel(props, "modelValue", emit);
417
416
  const accordionName = computed(
418
- () => props.name || (attrs == null ? void 0 : attrs.id) || uid()
417
+ () => props.name || (attrs == null ? void 0 : attrs.id) || useId()
419
418
  );
420
419
  const { title, content, not } = toRefs(props);
421
420
  const { isInGroup, modifiers, disabled, bus } = useGroupProps(props);
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","uid","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAccordion=o(e.vue,e.uid,e.core)}(this,(function(e,o,n){"use strict";var t=(e=>(e.local="local",e.session="session",e))(t||{}),a=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(a||{}),r=(e=>(e.before="before",e.after="after",e))(r||{}),u=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(u||{}),l=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(l||{});const i=Symbol.for("accordionGroup"),d=(Boolean,Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});r.before,a.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,u.button,l.button,t.local;const s={...d,name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},disabled:Boolean,not:Boolean};function c(o){const{group:n,isInGroup:t}=function(o){const n=e.inject(o,void 0),t=e.computed((()=>void 0!==n));return{group:n,isInGroup:t,getGroupOrLocalRef:function(o,t,a){const r=null==n?void 0:n[o];if(r)return e.computed({get:()=>r.value,set(e){r.value=e}});const u=e.toRef(t,o);return e.computed({get:()=>u.value,set(e){a&&a(`update:${o}`,e)}})}}}(i),a=e.computed((()=>Boolean(o.disabled||(null==n?void 0:n.disabled.value)))),r=e.computed((()=>{let e=o.modifiers,t=null==n?void 0:n.modifiers.value;const a=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>a.add(e)))),t&&(Array.isArray(t)||(t=t.split(" ")),t.forEach((e=>a.add(e)))),Array.from(a)}));return{isInGroup:t,group:n,modifiers:r,disabled:a,bus:null==n?void 0:n.bus}}const p=["id","open"],f=["aria-controls","aria-expanded"],m=["aria-hidden"];return e.defineComponent({name:"VvAccordion",props:s,emits:["update:modelValue"],setup(t,{expose:a,emit:r}){const u=t,l=r,i=e.useAttrs(),d=n.useVModel(u,"modelValue",l),s=e.computed((()=>u.name||(null==i?void 0:i.id)||o.uid())),{title:v,content:g,not:b}=e.toRefs(u),{isInGroup:y,modifiers:x,disabled:B,bus:h}=c(u),A=e.ref(!1);function E(){B.value||(y.value?null==h||h.emit("toggle",{name:s.value,value:!A.value}):A.value=!A.value)}function V(){A.value||E()}function S(){A.value&&E()}function $(e){h?h.emit("expand",{name:e}):console.warn(`[VvAccordion]: You are trying to expand accordion group of "${s.value}" but it is not in a group`)}function k(e){h?null==h||h.emit("collapse",{name:e}):console.warn(`[VvAccordion]: You are trying to collapse accordion group of "${s.value}" but it is not in a group`)}e.watch(d,(e=>{"boolean"==typeof e&&(A.value=b.value?!e:e)}),{immediate:!0}),e.watch(A,(e=>{d.value=b.value?!e:e})),null==h||h.on("toggle",(({name:e,value:o})=>{e===s.value&&(A.value=o)})),e.watch(s,((e,o)=>{h&&(o&&o!==e&&h.emit("unregister",{name:o}),h.emit("register",{name:e}))}),{immediate:!0}),e.onBeforeUnmount((()=>{h&&h.emit("unregister",{name:s.value})})),a({isExpanded:A,expand:V,collapse:S,groupExpand:$,groupCollapse:k});const w=function(o,n,t){return e.computed((()=>{const a={[o]:!0},r="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(a[`${o}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((n=>{a[`${o}--${n}`]=e.unref(t.value[n])})),a}))}("vv-accordion",x,e.computed((()=>({disabled:B.value}))));return(o,n)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(s),class:e.normalizeClass(e.unref(w)),open:e.unref(A)},[e.createElementVNode("summary",{"aria-controls":e.unref(s),"aria-expanded":e.unref(A),class:"vv-accordion__summary",onClick:n[0]||(n[0]=e.withModifiers((e=>E()),["prevent"]))},[e.renderSlot(o.$slots,"summary",e.normalizeProps(e.guardReactiveProps({isExpanded:e.unref(A),expand:V,collapse:S,groupExpand:$,groupCollapse:k})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(v)),1)]))],8,f),e.createElementVNode("div",{"aria-hidden":!e.unref(A),class:"vv-accordion__content"},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({isExpanded:e.unref(A),expand:V,collapse:S,groupExpand:$,groupCollapse:k})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(g)),1)]))],8,m)],10,p))}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAccordion=o(e.vue,e.core)}(this,(function(e,o){"use strict";var n=(e=>(e.local="local",e.session="session",e))(n||{}),t=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(t||{}),a=(e=>(e.before="before",e.after="after",e))(a||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{});const l=Symbol.for("accordionGroup"),i=(Boolean,Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});a.before,t.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,r.button,u.button,n.local;const s={...i,name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},disabled:Boolean,not:Boolean};function d(o){const{group:n,isInGroup:t}=function(o){const n=e.inject(o,void 0),t=e.computed((()=>void 0!==n));return{group:n,isInGroup:t,getGroupOrLocalRef:function(o,t,a){const r=null==n?void 0:n[o];if(r)return e.computed({get:()=>r.value,set(e){r.value=e}});const u=e.toRef(t,o);return e.computed({get:()=>u.value,set(e){a&&a(`update:${o}`,e)}})}}}(l),a=e.computed((()=>Boolean(o.disabled||(null==n?void 0:n.disabled.value)))),r=e.computed((()=>{let e=o.modifiers,t=null==n?void 0:n.modifiers.value;const a=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>a.add(e)))),t&&(Array.isArray(t)||(t=t.split(" ")),t.forEach((e=>a.add(e)))),Array.from(a)}));return{isInGroup:t,group:n,modifiers:r,disabled:a,bus:null==n?void 0:n.bus}}const c=["id","open"],p=["aria-controls","aria-expanded"],f=["aria-hidden"];return e.defineComponent({name:"VvAccordion",props:s,emits:["update:modelValue"],setup(n,{expose:t,emit:a}){const r=n,u=a,l=e.useAttrs(),i=o.useVModel(r,"modelValue",u),s=e.computed((()=>r.name||(null==l?void 0:l.id)||e.useId())),{title:m,content:v,not:g}=e.toRefs(r),{isInGroup:b,modifiers:y,disabled:x,bus:B}=d(r),h=e.ref(!1);function A(){x.value||(b.value?null==B||B.emit("toggle",{name:s.value,value:!h.value}):h.value=!h.value)}function E(){h.value||A()}function V(){h.value&&A()}function S(e){B?B.emit("expand",{name:e}):console.warn(`[VvAccordion]: You are trying to expand accordion group of "${s.value}" but it is not in a group`)}function $(e){B?null==B||B.emit("collapse",{name:e}):console.warn(`[VvAccordion]: You are trying to collapse accordion group of "${s.value}" but it is not in a group`)}e.watch(i,(e=>{"boolean"==typeof e&&(h.value=g.value?!e:e)}),{immediate:!0}),e.watch(h,(e=>{i.value=g.value?!e:e})),null==B||B.on("toggle",(({name:e,value:o})=>{e===s.value&&(h.value=o)})),e.watch(s,((e,o)=>{B&&(o&&o!==e&&B.emit("unregister",{name:o}),B.emit("register",{name:e}))}),{immediate:!0}),e.onBeforeUnmount((()=>{B&&B.emit("unregister",{name:s.value})})),t({isExpanded:h,expand:E,collapse:V,groupExpand:S,groupCollapse:$});const k=function(o,n,t){return e.computed((()=>{const a={[o]:!0},r="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(a[`${o}--${e}`]=!0)})),t&&Object.keys(t.value).forEach((n=>{a[`${o}--${n}`]=e.unref(t.value[n])})),a}))}("vv-accordion",y,e.computed((()=>({disabled:x.value}))));return(o,n)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(s),class:e.normalizeClass(e.unref(k)),open:e.unref(h)},[e.createElementVNode("summary",{"aria-controls":e.unref(s),"aria-expanded":e.unref(h),class:"vv-accordion__summary",onClick:n[0]||(n[0]=e.withModifiers((e=>A()),["prevent"]))},[e.renderSlot(o.$slots,"summary",e.normalizeProps(e.guardReactiveProps({isExpanded:e.unref(h),expand:E,collapse:V,groupExpand:S,groupCollapse:$})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(m)),1)]))],8,p),e.createElementVNode("div",{"aria-hidden":!e.unref(h),class:"vv-accordion__content"},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({isExpanded:e.unref(h),expand:E,collapse:V,groupExpand:S,groupCollapse:$})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(v)),1)]))],8,f)],10,c))}})}));
@@ -1,4 +1,4 @@
1
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
2
  name: StringConstructor;
3
3
  title: StringConstructor;
4
4
  content: StringConstructor;
@@ -9,18 +9,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
9
9
  disabled: BooleanConstructor;
10
10
  not: BooleanConstructor;
11
11
  modifiers: {
12
- type: globalThis.PropType<string | string[]>;
12
+ type: PropType<string | string[]>;
13
13
  default: undefined;
14
14
  };
15
- }, {
16
- isExpanded: globalThis.Ref<boolean>;
15
+ }>, {
16
+ isExpanded: globalThis.Ref<boolean, boolean>;
17
17
  expand: () => void;
18
18
  collapse: () => void;
19
19
  groupExpand: (name?: string | string[]) => void;
20
20
  groupCollapse: (name?: string | string[]) => void;
21
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
- [x: string]: (...args: any[]) => void;
23
- }, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
21
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
24
22
  name: StringConstructor;
25
23
  title: StringConstructor;
26
24
  content: StringConstructor;
@@ -31,15 +29,15 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
31
29
  disabled: BooleanConstructor;
32
30
  not: BooleanConstructor;
33
31
  modifiers: {
34
- type: globalThis.PropType<string | string[]>;
32
+ type: PropType<string | string[]>;
35
33
  default: undefined;
36
34
  };
37
- }>>, {
35
+ }>> & Readonly<{}>, {
38
36
  disabled: boolean;
39
37
  modelValue: boolean;
40
38
  not: boolean;
41
39
  modifiers: string | string[];
42
- }, {}>, {
40
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLDetailsElement>, {
43
41
  summary?(_: {
44
42
  isExpanded: boolean;
45
43
  expand: () => void;
@@ -56,7 +54,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
56
54
  }): any;
57
55
  }>;
58
56
  export default _default;
59
-
60
57
  type __VLS_WithTemplateSlots<T, S> = T & {
61
58
  new (): {
62
59
  $slots: S;
@@ -29,7 +29,7 @@ export declare const VvAccordionProps: {
29
29
  */
30
30
  not: BooleanConstructor;
31
31
  modifiers: {
32
- type: globalThis.PropType<string | string[]>;
32
+ type: PropType<string | string[]>;
33
33
  default: undefined;
34
34
  };
35
35
  };
@@ -43,5 +43,5 @@ export declare function useGroupProps(props: VvAccordionPropsTypes): {
43
43
  group: AccordionGroupState | undefined;
44
44
  modifiers: globalThis.ComputedRef<string[]>;
45
45
  disabled: globalThis.ComputedRef<boolean>;
46
- bus: import("mitt").Emitter<import("../../types/group").AccordionGroupBusEvents> | undefined;
46
+ bus: import("mitt").Emitter<import("../..").AccordionGroupBusEvents> | undefined;
47
47
  };
@@ -1,6 +1,5 @@
1
- import { inject, computed, toRef, unref, defineComponent, useAttrs, toRefs, ref, watch, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, isRef, provide, watchEffect, reactive, onMounted, nextTick, Fragment, renderList, createBlock, mergeProps, createSlots, withCtx } from "vue";
1
+ import { inject, computed, toRef, unref, defineComponent, useAttrs, useId, toRefs, ref, watch, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, isRef, provide, watchEffect, reactive, onMounted, nextTick, Fragment, renderList, createBlock, mergeProps, createSlots, withCtx } from "vue";
2
2
  import mitt from "mitt";
3
- import { uid } from "uid";
4
3
  import { useVModel, useStorage } from "@vueuse/core";
5
4
  var StorageType = /* @__PURE__ */ ((StorageType2) => {
6
5
  StorageType2["local"] = "local";
@@ -279,7 +278,46 @@ const StorageProps = {
279
278
  },
280
279
  storageKey: String
281
280
  };
282
- function useInjectedGroupState(groupKey) {
281
+ const VvAccordionGroupProps = {
282
+ ...ModifiersProps,
283
+ ...StorageProps,
284
+ /**
285
+ * VModel
286
+ */
287
+ modelValue: {
288
+ type: [String, Array],
289
+ default: void 0
290
+ },
291
+ /**
292
+ * Accordion items
293
+ * @type VvAccordionGroupItem
294
+ */
295
+ items: {
296
+ type: Array,
297
+ default: () => []
298
+ },
299
+ /**
300
+ * If true, accordion items stay open when another item is opened
301
+ */
302
+ collapse: Boolean,
303
+ /**
304
+ * String or String[] of css classes (modifiers) that will be concatenated to prefix 'vv-accordion--'
305
+ */
306
+ itemModifiers: {
307
+ type: [String, Array],
308
+ default: ""
309
+ },
310
+ /**
311
+ * If true, the accordion items will be disabled
312
+ */
313
+ disabled: Boolean,
314
+ /**
315
+ * If true, the accordion items will be opened by default
316
+ */
317
+ not: Boolean
318
+ };
319
+ const VvAccordionGroupEvents = ["update:modelValue"];
320
+ function useGroupStateInject(groupKey) {
283
321
  const group = inject(groupKey, void 0);
284
322
  const isInGroup = computed(() => group !== void 0);
285
323
  function getGroupOrLocalRef(propName, props, emit) {
@@ -344,7 +382,7 @@ const VvAccordionProps = {
344
382
  };
345
383
  const VvAccordionEvents = ["update:modelValue"];
346
384
  function useGroupProps(props) {
347
- const { group, isInGroup } = useInjectedGroupState(
385
+ const { group, isInGroup } = useGroupStateInject(
348
386
  INJECTION_KEY_ACCORDION_GROUP
349
387
  );
350
388
  const disabled = computed(
@@ -416,7 +454,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
416
454
  const attrs = useAttrs();
417
455
  const modelValue = useVModel(props, "modelValue", emit);
418
456
  const accordionName = computed(
419
- () => props.name || (attrs == null ? void 0 : attrs.id) || uid()
457
+ () => props.name || (attrs == null ? void 0 : attrs.id) || useId()
420
458
  );
421
459
  const { title, content, not } = toRefs(props);
422
460
  const { isInGroup, modifiers, disabled, bus } = useGroupProps(props);
@@ -563,45 +601,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
563
601
  };
564
602
  }
565
603
  });
566
- const VvAccordionGroupProps = {
567
- ...ModifiersProps,
568
- ...StorageProps,
569
- /**
570
- * VModel
571
- */
572
- modelValue: {
573
- type: [String, Array],
574
- default: void 0
575
- },
576
- /**
577
- * Accordion items
578
- * @type VvAccordionGroupItem
579
- */
580
- items: {
581
- type: Array,
582
- default: () => []
583
- },
584
- /**
585
- * If true, accordion items stay open when another item is opened
586
- */
587
- collapse: Boolean,
588
- /**
589
- * String or String[] of css classes (modifiers) that will be concatenated to prefix 'vv-accordion--'
590
- */
591
- itemModifiers: {
592
- type: [String, Array],
593
- default: ""
594
- },
595
- /**
596
- * If true, the accordion items will be disabled
597
- */
598
- disabled: Boolean,
599
- /**
600
- * If true, the accordion items will be opened by default
601
- */
602
- not: Boolean
603
- };
604
- const VvAccordionGroupEvents = ["update:modelValue"];
605
604
  function usePersistence(storageKey, storageType = StorageType.local, defaultValue) {
606
605
  const localValue = ref();
607
606
  if (defaultValue) {
@@ -662,7 +661,7 @@ function usePersistence(storageKey, storageType = StorageType.local, defaultValu
662
661
  }
663
662
  });
664
663
  }
665
- function useProvideGroupState(key, groupState) {
664
+ function useGroupStateProvide(key, groupState) {
666
665
  provide(key, groupState);
667
666
  }
668
667
  const __default__ = {
@@ -765,7 +764,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
765
764
  });
766
765
  });
767
766
  const bus = mitt();
768
- useProvideGroupState(INJECTION_KEY_ACCORDION_GROUP, {
767
+ useGroupStateProvide(INJECTION_KEY_ACCORDION_GROUP, {
769
768
  disabled,
770
769
  modifiers: itemModifiers,
771
770
  bus
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("mitt"),require("uid"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","uid","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAccordionGroup=o(e.vue,e.mitt,e.uid,e.core)}(this,(function(e,o,t,a){"use strict";var n=(e=>(e.local="local",e.session="session",e))(n||{}),l=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(l||{}),r=(e=>(e.before="before",e.after="after",e))(r||{}),u=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(u||{}),i=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(i||{});const s=Symbol.for("accordionGroup"),d=(Boolean,Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});r.before,l.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,u.button,i.button;const c={storageType:{type:String,default:n.local,validator:e=>Object.values(n).includes(e)},storageKey:String};const m={...d,name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},disabled:Boolean,not:Boolean};function v(o){const{group:t,isInGroup:a}=function(o){const t=e.inject(o,void 0),a=e.computed((()=>void 0!==t));return{group:t,isInGroup:a,getGroupOrLocalRef:function(o,a,n){const l=null==t?void 0:t[o];if(l)return e.computed({get:()=>l.value,set(e){l.value=e}});const r=e.toRef(a,o);return e.computed({get:()=>r.value,set(e){n&&n(`update:${o}`,e)}})}}}(s),n=e.computed((()=>Boolean(o.disabled||(null==t?void 0:t.disabled.value)))),l=e.computed((()=>{let e=o.modifiers,a=null==t?void 0:t.modifiers.value;const n=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>n.add(e)))),a&&(Array.isArray(a)||(a=a.split(" ")),a.forEach((e=>n.add(e)))),Array.from(n)}));return{isInGroup:a,group:t,modifiers:l,disabled:n,bus:null==t?void 0:t.bus}}function p(o,t,a){return e.computed((()=>{const n={[o]:!0},l="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(n[`${o}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((t=>{n[`${o}--${t}`]=e.unref(a.value[t])})),n}))}const f=["id","open"],g=["aria-controls","aria-expanded"],y=["aria-hidden"],b=e.defineComponent({name:"VvAccordion",props:m,emits:["update:modelValue"],setup(o,{expose:n,emit:l}){const r=o,u=l,i=e.useAttrs(),s=a.useVModel(r,"modelValue",u),d=e.computed((()=>r.name||(null==i?void 0:i.id)||t.uid())),{title:c,content:m,not:b}=e.toRefs(r),{isInGroup:S,modifiers:x,disabled:A,bus:B}=v(r),h=e.ref(!1);function V(){A.value||(S.value?null==B||B.emit("toggle",{name:d.value,value:!h.value}):h.value=!h.value)}function w(){h.value||V()}function k(){h.value&&V()}function $(e){B?B.emit("expand",{name:e}):console.warn(`[VvAccordion]: You are trying to expand accordion group of "${d.value}" but it is not in a group`)}function E(e){B?null==B||B.emit("collapse",{name:e}):console.warn(`[VvAccordion]: You are trying to collapse accordion group of "${d.value}" but it is not in a group`)}e.watch(s,(e=>{"boolean"==typeof e&&(h.value=b.value?!e:e)}),{immediate:!0}),e.watch(h,(e=>{s.value=b.value?!e:e})),null==B||B.on("toggle",(({name:e,value:o})=>{e===d.value&&(h.value=o)})),e.watch(d,((e,o)=>{B&&(o&&o!==e&&B.emit("unregister",{name:o}),B.emit("register",{name:e}))}),{immediate:!0}),e.onBeforeUnmount((()=>{B&&B.emit("unregister",{name:d.value})})),n({isExpanded:h,expand:w,collapse:k,groupExpand:$,groupCollapse:E});const C=p("vv-accordion",x,e.computed((()=>({disabled:A.value}))));return(o,t)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(d),class:e.normalizeClass(e.unref(C)),open:e.unref(h)},[e.createElementVNode("summary",{"aria-controls":e.unref(d),"aria-expanded":e.unref(h),class:"vv-accordion__summary",onClick:t[0]||(t[0]=e.withModifiers((e=>V()),["prevent"]))},[e.renderSlot(o.$slots,"summary",e.normalizeProps(e.guardReactiveProps({isExpanded:e.unref(h),expand:w,collapse:k,groupExpand:$,groupCollapse:E})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)),1)]))],8,g),e.createElementVNode("div",{"aria-hidden":!e.unref(h),class:"vv-accordion__content"},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({isExpanded:e.unref(h),expand:w,collapse:k,groupExpand:$,groupCollapse:E})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(m)),1)]))],8,y)],10,f))}}),S={...d,...c,modelValue:{type:[String,Array],default:void 0},items:{type:Array,default:()=>[]},collapse:Boolean,itemModifiers:{type:[String,Array],default:""},disabled:Boolean,not:Boolean};return e.defineComponent({name:"VvAccordionGroup",props:S,emits:["update:modelValue"],setup(t,{expose:l,emit:r}){const u=t,i=r,{disabled:d,modifiers:c,itemModifiers:m,items:v,storageKey:f,storageType:g}=e.toRefs(u);e.watchEffect((()=>{"string"==typeof u.modelValue&&u.collapse&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")}));const y=e.reactive(new Set),S=function(o,t=n.local,l){const r=e.ref();let u;return l&&(r.value=l),o&&e.watch(o,((o,l)=>{const i=e.unref(t)===n.session?sessionStorage:localStorage;l&&l!==o&&i.removeItem(l),u=o?a.useStorage(o,(null==u?void 0:u.value)??r.value,i):void 0}),{immediate:!0}),e.isRef(t)&&e.watch(t,((e,t)=>{if(null==o?void 0:o.value){if(e){const t=e===n.session?sessionStorage:localStorage;u=a.useStorage(o.value,(null==u?void 0:u.value)??r.value,t)}t&&t!==e&&(t===n.session?sessionStorage:localStorage).removeItem(o.value)}})),e.computed({get:()=>(null==u?void 0:u.value)??r.value,set:e=>{u?u.value=e:r.value=e}})}(f,g,[]),x=e.computed({get:()=>null!==u.modelValue&&void 0!==u.modelValue?u.modelValue:S.value,set:e=>{i("update:modelValue",e),S.value=e}}),A=e.computed({get:()=>{if(void 0===x.value)return new Set;let e=new Set;return u.not?"string"==typeof x.value?e=new Set([...y].filter((e=>e!==x.value))):Array.isArray(x.value)&&(e=new Set([...y].filter((e=>!x.value.includes(e))))):"string"==typeof x.value?e=new Set([x.value]):Array.isArray(x.value)&&(e=new Set(x.value)),e},set:e=>{u.not?x.value=[...y].filter((o=>!e.has(o))):u.collapse?x.value=[...e]:x.value=e.values().next().value}});e.onMounted((()=>{u.not&&void 0===x.value&&(x.value=u.collapse?[]:[...y.values()].splice(1,y.size)),e.nextTick((()=>{for(const e of y)B.emit("toggle",{name:e,value:A.value.has(e)})}))}));const B=o();var h,V;function w(e){if("string"!=typeof e)if(Array.isArray(e))for(const o of e)B.emit("toggle",{name:o,value:!0});else for(const o of y)B.emit("toggle",{name:o,value:!0});else B.emit("toggle",{name:e,value:!0})}function k(e){if("string"!=typeof e)if(Array.isArray(e))for(const o of e)B.emit("toggle",{name:o,value:!1});else for(const o of y)B.emit("toggle",{name:o,value:!1});else B.emit("toggle",{name:e,value:!1})}h=s,V={disabled:d,modifiers:m,bus:B},e.provide(h,V),B.on("register",(({name:e})=>{y.add(e)})),B.on("unregister",(({name:e})=>{y.delete(e)})),B.on("toggle",(({name:e,value:o})=>{const t=new Set(A.value);if(o){if(!u.collapse){for(const o of t)o!==e&&B.emit("toggle",{name:o,value:!1});t.clear()}return t.add(e),void(A.value=t)}t.delete(e),A.value=t})),B.on("expand",(({name:e})=>w(e))),B.on("collapse",(({name:e})=>k(e))),l({expandedAccordions:A,expand:w,collapse:k});const $=p("vv-accordion-group",c,e.computed((()=>({disabled:d.value}))));return(o,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref($))},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({expandedAccordions:e.unref(A),expand:w,collapse:k})),(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),(t=>(e.openBlock(),e.createBlock(b,e.mergeProps({key:t.title,ref_for:!0},{name:t.name,title:t.title,content:t.content}),e.createSlots({_:2},[o.$slots[`summary::${t.name}`]?{name:"summary",fn:e.withCtx((a=>[e.renderSlot(o.$slots,`summary::${t.name}`,e.mergeProps({ref_for:!0},a))])),key:"0"}:void 0,o.$slots[`content::${t.name}`]?{name:"default",fn:e.withCtx((a=>[e.renderSlot(o.$slots,`content::${t.name}`,e.mergeProps({ref_for:!0},a))])),key:"1"}:void 0]),1040)))),128))]))],2))}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAccordionGroup=o(e.vue,e.mitt,e.core)}(this,(function(e,o,t){"use strict";var a=(e=>(e.local="local",e.session="session",e))(a||{}),n=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(n||{}),l=(e=>(e.before="before",e.after="after",e))(l||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),u=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(u||{});const i=Symbol.for("accordionGroup"),s=(Boolean,Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});l.before,n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,r.button,u.button;const d={storageType:{type:String,default:a.local,validator:e=>Object.values(a).includes(e)},storageKey:String},c={...s,...d,modelValue:{type:[String,Array],default:void 0},items:{type:Array,default:()=>[]},collapse:Boolean,itemModifiers:{type:[String,Array],default:""},disabled:Boolean,not:Boolean};const m={...s,name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},disabled:Boolean,not:Boolean};function v(o){const{group:t,isInGroup:a}=function(o){const t=e.inject(o,void 0),a=e.computed((()=>void 0!==t));return{group:t,isInGroup:a,getGroupOrLocalRef:function(o,a,n){const l=null==t?void 0:t[o];if(l)return e.computed({get:()=>l.value,set(e){l.value=e}});const r=e.toRef(a,o);return e.computed({get:()=>r.value,set(e){n&&n(`update:${o}`,e)}})}}}(i),n=e.computed((()=>Boolean(o.disabled||(null==t?void 0:t.disabled.value)))),l=e.computed((()=>{let e=o.modifiers,a=null==t?void 0:t.modifiers.value;const n=new Set;return e&&(Array.isArray(e)||(e=e.split(" ")),e.forEach((e=>n.add(e)))),a&&(Array.isArray(a)||(a=a.split(" ")),a.forEach((e=>n.add(e)))),Array.from(n)}));return{isInGroup:a,group:t,modifiers:l,disabled:n,bus:null==t?void 0:t.bus}}function p(o,t,a){return e.computed((()=>{const n={[o]:!0},l="string"==typeof(null==t?void 0:t.value)?t.value.split(" "):null==t?void 0:t.value;return l&&Array.isArray(l)&&l.forEach((e=>{e&&(n[`${o}--${e}`]=!0)})),a&&Object.keys(a.value).forEach((t=>{n[`${o}--${t}`]=e.unref(a.value[t])})),n}))}const f=["id","open"],g=["aria-controls","aria-expanded"],y=["aria-hidden"],b=e.defineComponent({name:"VvAccordion",props:m,emits:["update:modelValue"],setup(o,{expose:a,emit:n}){const l=o,r=n,u=e.useAttrs(),i=t.useVModel(l,"modelValue",r),s=e.computed((()=>l.name||(null==u?void 0:u.id)||e.useId())),{title:d,content:c,not:m}=e.toRefs(l),{isInGroup:b,modifiers:S,disabled:x,bus:A}=v(l),B=e.ref(!1);function h(){x.value||(b.value?null==A||A.emit("toggle",{name:s.value,value:!B.value}):B.value=!B.value)}function V(){B.value||h()}function w(){B.value&&h()}function k(e){A?A.emit("expand",{name:e}):console.warn(`[VvAccordion]: You are trying to expand accordion group of "${s.value}" but it is not in a group`)}function $(e){A?null==A||A.emit("collapse",{name:e}):console.warn(`[VvAccordion]: You are trying to collapse accordion group of "${s.value}" but it is not in a group`)}e.watch(i,(e=>{"boolean"==typeof e&&(B.value=m.value?!e:e)}),{immediate:!0}),e.watch(B,(e=>{i.value=m.value?!e:e})),null==A||A.on("toggle",(({name:e,value:o})=>{e===s.value&&(B.value=o)})),e.watch(s,((e,o)=>{A&&(o&&o!==e&&A.emit("unregister",{name:o}),A.emit("register",{name:e}))}),{immediate:!0}),e.onBeforeUnmount((()=>{A&&A.emit("unregister",{name:s.value})})),a({isExpanded:B,expand:V,collapse:w,groupExpand:k,groupCollapse:$});const E=p("vv-accordion",S,e.computed((()=>({disabled:x.value}))));return(o,t)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(s),class:e.normalizeClass(e.unref(E)),open:e.unref(B)},[e.createElementVNode("summary",{"aria-controls":e.unref(s),"aria-expanded":e.unref(B),class:"vv-accordion__summary",onClick:t[0]||(t[0]=e.withModifiers((e=>h()),["prevent"]))},[e.renderSlot(o.$slots,"summary",e.normalizeProps(e.guardReactiveProps({isExpanded:e.unref(B),expand:V,collapse:w,groupExpand:k,groupCollapse:$})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(d)),1)]))],8,g),e.createElementVNode("div",{"aria-hidden":!e.unref(B),class:"vv-accordion__content"},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({isExpanded:e.unref(B),expand:V,collapse:w,groupExpand:k,groupCollapse:$})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)),1)]))],8,y)],10,f))}});return e.defineComponent({name:"VvAccordionGroup",props:c,emits:["update:modelValue"],setup(n,{expose:l,emit:r}){const u=n,s=r,{disabled:d,modifiers:c,itemModifiers:m,items:v,storageKey:f,storageType:g}=e.toRefs(u);e.watchEffect((()=>{"string"==typeof u.modelValue&&u.collapse&&console.warn("[VvAccordionGroup]: modelValue is a string but collapse is true.")}));const y=e.reactive(new Set),S=function(o,n=a.local,l){const r=e.ref();let u;return l&&(r.value=l),o&&e.watch(o,((o,l)=>{const i=e.unref(n)===a.session?sessionStorage:localStorage;l&&l!==o&&i.removeItem(l),u=o?t.useStorage(o,(null==u?void 0:u.value)??r.value,i):void 0}),{immediate:!0}),e.isRef(n)&&e.watch(n,((e,n)=>{if(null==o?void 0:o.value){if(e){const n=e===a.session?sessionStorage:localStorage;u=t.useStorage(o.value,(null==u?void 0:u.value)??r.value,n)}n&&n!==e&&(n===a.session?sessionStorage:localStorage).removeItem(o.value)}})),e.computed({get:()=>(null==u?void 0:u.value)??r.value,set:e=>{u?u.value=e:r.value=e}})}(f,g,[]),x=e.computed({get:()=>null!==u.modelValue&&void 0!==u.modelValue?u.modelValue:S.value,set:e=>{s("update:modelValue",e),S.value=e}}),A=e.computed({get:()=>{if(void 0===x.value)return new Set;let e=new Set;return u.not?"string"==typeof x.value?e=new Set([...y].filter((e=>e!==x.value))):Array.isArray(x.value)&&(e=new Set([...y].filter((e=>!x.value.includes(e))))):"string"==typeof x.value?e=new Set([x.value]):Array.isArray(x.value)&&(e=new Set(x.value)),e},set:e=>{u.not?x.value=[...y].filter((o=>!e.has(o))):u.collapse?x.value=[...e]:x.value=e.values().next().value}});e.onMounted((()=>{u.not&&void 0===x.value&&(x.value=u.collapse?[]:[...y.values()].splice(1,y.size)),e.nextTick((()=>{for(const e of y)B.emit("toggle",{name:e,value:A.value.has(e)})}))}));const B=o();var h,V;function w(e){if("string"!=typeof e)if(Array.isArray(e))for(const o of e)B.emit("toggle",{name:o,value:!0});else for(const o of y)B.emit("toggle",{name:o,value:!0});else B.emit("toggle",{name:e,value:!0})}function k(e){if("string"!=typeof e)if(Array.isArray(e))for(const o of e)B.emit("toggle",{name:o,value:!1});else for(const o of y)B.emit("toggle",{name:o,value:!1});else B.emit("toggle",{name:e,value:!1})}h=i,V={disabled:d,modifiers:m,bus:B},e.provide(h,V),B.on("register",(({name:e})=>{y.add(e)})),B.on("unregister",(({name:e})=>{y.delete(e)})),B.on("toggle",(({name:e,value:o})=>{const t=new Set(A.value);if(o){if(!u.collapse){for(const o of t)o!==e&&B.emit("toggle",{name:o,value:!1});t.clear()}return t.add(e),void(A.value=t)}t.delete(e),A.value=t})),B.on("expand",(({name:e})=>w(e))),B.on("collapse",(({name:e})=>k(e))),l({expandedAccordions:A,expand:w,collapse:k});const $=p("vv-accordion-group",c,e.computed((()=>({disabled:d.value}))));return(o,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref($))},[e.renderSlot(o.$slots,"default",e.normalizeProps(e.guardReactiveProps({expandedAccordions:e.unref(A),expand:w,collapse:k})),(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(v),(t=>(e.openBlock(),e.createBlock(b,e.mergeProps({key:t.title,ref_for:!0},{name:t.name,title:t.title,content:t.content}),e.createSlots({_:2},[o.$slots[`summary::${t.name}`]?{name:"summary",fn:e.withCtx((a=>[e.renderSlot(o.$slots,`summary::${t.name}`,e.mergeProps({ref_for:!0},a))])),key:"0"}:void 0,o.$slots[`content::${t.name}`]?{name:"default",fn:e.withCtx((a=>[e.renderSlot(o.$slots,`content::${t.name}`,e.mergeProps({ref_for:!0},a))])),key:"1"}:void 0]),1040)))),128))]))],2))}})}));
@@ -1,4 +1,4 @@
1
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
1
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
2
2
  modelValue: {
3
3
  type: PropType<string | string[] | undefined>;
4
4
  default: undefined;
@@ -15,22 +15,20 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
15
15
  disabled: BooleanConstructor;
16
16
  not: BooleanConstructor;
17
17
  storageType: {
18
- type: globalThis.PropType<`${import("../../constants").StorageType}`>;
18
+ type: PropType<`${import("../../constants").StorageType}`>;
19
19
  default: import("../../constants").StorageType;
20
20
  validator: (value: import("../../constants").StorageType) => boolean;
21
21
  };
22
22
  storageKey: StringConstructor;
23
23
  modifiers: {
24
- type: globalThis.PropType<string | string[]>;
24
+ type: PropType<string | string[]>;
25
25
  default: undefined;
26
26
  };
27
- }, {
28
- expandedAccordions: globalThis.WritableComputedRef<Set<string>>;
27
+ }>, {
28
+ expandedAccordions: globalThis.WritableComputedRef<Set<string>, Set<string>>;
29
29
  expand: (name?: string | string[]) => void;
30
30
  collapse: (name?: string | string[]) => void;
31
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
32
- [x: string]: (...args: any[]) => void;
33
- }, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
31
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
34
32
  modelValue: {
35
33
  type: PropType<string | string[] | undefined>;
36
34
  default: undefined;
@@ -47,16 +45,16 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
47
45
  disabled: BooleanConstructor;
48
46
  not: BooleanConstructor;
49
47
  storageType: {
50
- type: globalThis.PropType<`${import("../../constants").StorageType}`>;
48
+ type: PropType<`${import("../../constants").StorageType}`>;
51
49
  default: import("../../constants").StorageType;
52
50
  validator: (value: import("../../constants").StorageType) => boolean;
53
51
  };
54
52
  storageKey: StringConstructor;
55
53
  modifiers: {
56
- type: globalThis.PropType<string | string[]>;
54
+ type: PropType<string | string[]>;
57
55
  default: undefined;
58
56
  };
59
- }>>, {
57
+ }>> & Readonly<{}>, {
60
58
  collapse: boolean;
61
59
  disabled: boolean;
62
60
  modelValue: string | string[] | undefined;
@@ -65,7 +63,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
65
63
  items: import(".").VvAccordionGroupItem[];
66
64
  itemModifiers: string | string[];
67
65
  storageType: "local" | "session";
68
- }, {}>, Partial<Record<`summary::${string}`, (_: {
66
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLDivElement>, Partial<Record<`summary::${string}`, (_: {
69
67
  isExpanded: boolean;
70
68
  expand: () => void;
71
69
  collapse: () => void;
@@ -81,7 +79,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
81
79
  default?(_: {
82
80
  expandedAccordions: Set<string>;
83
81
  expand: (name?: string | string[]) => void;
84
- collapse: (name?: string | string[]) => void;
82
+ collapse: boolean & ((name?: string | string[]) => void);
85
83
  }): any;
86
84
  }>;
87
85
  export default _default;
@@ -41,13 +41,13 @@ export declare const VvAccordionGroupProps: {
41
41
  */
42
42
  not: BooleanConstructor;
43
43
  storageType: {
44
- type: globalThis.PropType<`${import("../../constants").StorageType}`>;
44
+ type: PropType<`${import("../../constants").StorageType}`>;
45
45
  default: import("../../constants").StorageType;
46
46
  validator: (value: import("../../constants").StorageType) => boolean;
47
47
  };
48
48
  storageKey: StringConstructor;
49
49
  modifiers: {
50
- type: globalThis.PropType<string | string[]>;
50
+ type: PropType<string | string[]>;
51
51
  default: undefined;
52
52
  };
53
53
  };
@@ -1,7 +1,7 @@
1
1
  import { ActionTag } from '../../constants';
2
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<globalThis.ExtractPropTypes<{
3
3
  type: {
4
- type: globalThis.PropType<`${import("../../constants").ButtonType}`>;
4
+ type: PropType<`${import("../../constants").ButtonType}`>;
5
5
  default: import("../../constants").ButtonType;
6
6
  validator: (value: import("../../constants").ButtonType) => boolean;
7
7
  };
@@ -42,13 +42,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
42
42
  type: BooleanConstructor;
43
43
  default: boolean;
44
44
  };
45
- }, {
46
- $el: globalThis.Ref<HTMLElement | null>;
47
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
48
- [x: string]: (...args: any[]) => void;
49
- }, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
45
+ }>, {
46
+ $el: globalThis.Ref<HTMLElement | null, HTMLElement | null>;
47
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<{
50
48
  type: {
51
- type: globalThis.PropType<`${import("../../constants").ButtonType}`>;
49
+ type: PropType<`${import("../../constants").ButtonType}`>;
52
50
  default: import("../../constants").ButtonType;
53
51
  validator: (value: import("../../constants").ButtonType) => boolean;
54
52
  };
@@ -89,7 +87,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
89
87
  type: BooleanConstructor;
90
88
  default: boolean;
91
89
  };
92
- }>>, {
90
+ }>> & Readonly<{}>, {
93
91
  label: string | number;
94
92
  disabled: boolean;
95
93
  type: "button" | "submit" | "reset";
@@ -99,7 +97,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
99
97
  current: boolean;
100
98
  active: boolean;
101
99
  pressed: boolean;
102
- }, {}>, {
100
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
103
101
  default?(_: {}): any;
104
102
  }>;
105
103
  export default _default;
@@ -1,7 +1,7 @@
1
1
  export declare const VvActionEvents: string[];
2
2
  export declare const VvActionProps: {
3
3
  type: {
4
- type: globalThis.PropType<`${import("../../constants").ButtonType}`>;
4
+ type: PropType<`${import("../../constants").ButtonType}`>;
5
5
  default: import("../../constants").ButtonType;
6
6
  validator: (value: import("../../constants").ButtonType) => boolean;
7
7
  };