@volverjs/ui-vue 0.0.10-beta.3 → 0.0.10-beta.31

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 (294) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +106 -10
  3. package/auto-imports.d.ts +7 -2
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +22 -15
  6. package/dist/Volver.d.ts +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.es.js +192 -103
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +160 -8
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +451 -172
  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 +78 -27
  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 +204 -171
  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 +250 -188
  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 +6 -14
  27. package/dist/components/VvAvatar/VvAvatar.es.js +61 -21
  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 +118 -48
  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 +78 -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 +291 -252
  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 +81 -40
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +24 -11
  50. package/dist/components/VvButtonGroup/index.d.ts +8 -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 +177 -120
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -33
  58. package/dist/components/VvCheckbox/index.d.ts +47 -14
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -107
  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 +806 -581
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +171 -104
  66. package/dist/components/VvCombobox/index.d.ts +62 -26
  67. package/dist/components/VvDialog/VvDialog.es.js +140 -153
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -4
  70. package/dist/components/VvDropdown/VvDropdown.es.js +138 -71
  71. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  72. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +101 -75
  73. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +66 -25
  74. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  75. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +12 -4
  76. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +35 -7
  77. package/dist/components/VvDropdown/index.d.ts +52 -10
  78. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +152 -39
  79. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  80. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +335 -8
  81. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  82. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  84. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  85. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  86. package/dist/components/VvIcon/VvIcon.es.js +23 -96
  87. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  88. package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -66
  89. package/dist/components/VvIcon/index.d.ts +33 -48
  90. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  91. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  92. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +359 -0
  93. package/dist/components/VvInputFile/index.d.ts +200 -0
  94. package/dist/components/VvInputText/VvInputClearAction.d.ts +7 -5
  95. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +10 -8
  96. package/dist/components/VvInputText/VvInputStepAction.d.ts +2 -2
  97. package/dist/components/VvInputText/VvInputText.es.js +1237 -324
  98. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  99. package/dist/components/VvInputText/VvInputText.vue.d.ts +207 -57
  100. package/dist/components/VvInputText/index.d.ts +99 -29
  101. package/dist/components/VvNav/VvNav.es.js +135 -56
  102. package/dist/components/VvNav/VvNav.umd.js +1 -1
  103. package/dist/components/VvNav/VvNav.vue.d.ts +32 -9
  104. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  105. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  106. package/dist/components/VvNav/index.d.ts +5 -2
  107. package/dist/components/VvNavItem/VvNavItem.es.js +91 -33
  108. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  109. package/dist/components/VvProgress/VvProgress.es.js +72 -26
  110. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  111. package/dist/components/VvProgress/VvProgress.vue.d.ts +10 -3
  112. package/dist/components/VvProgress/index.d.ts +4 -1
  113. package/dist/components/VvRadio/VvRadio.es.js +160 -103
  114. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  115. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -31
  116. package/dist/components/VvRadio/index.d.ts +50 -17
  117. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -107
  118. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  119. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +101 -30
  120. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  121. package/dist/components/VvSelect/VvSelect.es.js +251 -238
  122. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  123. package/dist/components/VvSelect/VvSelect.vue.d.ts +117 -44
  124. package/dist/components/VvSelect/index.d.ts +48 -14
  125. package/dist/components/VvTab/VvTab.es.js +191 -75
  126. package/dist/components/VvTab/VvTab.umd.js +1 -1
  127. package/dist/components/VvTab/VvTab.vue.d.ts +31 -7
  128. package/dist/components/VvTab/index.d.ts +4 -1
  129. package/dist/components/VvTextarea/VvTextarea.es.js +232 -224
  130. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  131. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +156 -49
  132. package/dist/components/VvTextarea/index.d.ts +68 -19
  133. package/dist/components/VvTooltip/VvTooltip.es.js +79 -29
  134. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  135. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +13 -6
  136. package/dist/components/VvTooltip/index.d.ts +5 -2
  137. package/dist/components/common/HintSlot.d.ts +1 -1
  138. package/dist/components/index.d.ts +10 -0
  139. package/dist/components/index.es.js +3534 -1650
  140. package/dist/components/index.umd.js +1 -1
  141. package/dist/composables/alert/useAlert.d.ts +99 -4
  142. package/dist/composables/alert/useInjectAlert.d.ts +1 -6
  143. package/dist/composables/dropdown/useInjectDropdown.d.ts +3 -23
  144. package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -4
  145. package/dist/composables/group/useInjectedGroupState.d.ts +4 -5
  146. package/dist/composables/group/useProvideGroupState.d.ts +3 -3
  147. package/dist/composables/index.d.ts +1 -0
  148. package/dist/composables/index.es.js +92 -3
  149. package/dist/composables/index.umd.js +1 -1
  150. package/dist/composables/useBlurhash.d.ts +7 -0
  151. package/dist/composables/useComponentIcon.d.ts +9 -8
  152. package/dist/composables/usePersistence.d.ts +2 -0
  153. package/dist/composables/useVolver.d.ts +1 -1
  154. package/dist/constants.d.ts +34 -32
  155. package/dist/directives/index.d.ts +3 -5
  156. package/dist/directives/index.es.js +99 -43
  157. package/dist/directives/index.umd.js +1 -1
  158. package/dist/directives/v-tooltip.es.js +97 -38
  159. package/dist/directives/v-tooltip.umd.js +1 -1
  160. package/dist/icons.es.js +267 -267
  161. package/dist/icons.umd.js +1 -1
  162. package/dist/index.d.ts +3 -1
  163. package/dist/index.es.js +90 -16
  164. package/dist/index.umd.js +1 -1
  165. package/dist/props/index.d.ts +272 -81
  166. package/dist/resolvers/unplugin.d.ts +6 -1
  167. package/dist/resolvers/unplugin.es.js +87 -10
  168. package/dist/resolvers/unplugin.umd.js +1 -1
  169. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +143 -89
  170. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1075 -492
  171. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  172. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  173. package/dist/stories/Button/Button.settings.d.ts +0 -1
  174. package/dist/stories/Combobox/Combobox.settings.d.ts +8 -0
  175. package/dist/stories/Icon/Icon.settings.d.ts +1 -0
  176. package/dist/stories/InputFile/InputFile.settings.d.ts +56 -0
  177. package/dist/stories/InputFile/InputFile.stories.d.ts +12 -0
  178. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  179. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  180. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  181. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  182. package/dist/test/expect.d.ts +1 -1
  183. package/dist/types/alert.d.ts +9 -7
  184. package/dist/types/blurhash.d.ts +12 -0
  185. package/dist/types/generic.d.ts +1 -2
  186. package/dist/types/group.d.ts +37 -15
  187. package/dist/types/index.d.ts +7 -0
  188. package/dist/types/input-file.d.ts +16 -0
  189. package/dist/types/nav.d.ts +2 -2
  190. package/dist/utils/ObjectUtilities.d.ts +0 -1
  191. package/dist/workers/blurhash.d.ts +1 -0
  192. package/package.json +78 -78
  193. package/src/Volver.ts +31 -20
  194. package/src/assets/icons/detailed.json +1 -1
  195. package/src/assets/icons/normal.json +1 -1
  196. package/src/assets/icons/simple.json +1 -1
  197. package/src/components/VvAccordion/VvAccordion.vue +121 -58
  198. package/src/components/VvAccordion/index.ts +8 -23
  199. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +164 -47
  200. package/src/components/VvAccordionGroup/index.ts +6 -6
  201. package/src/components/VvAction/VvAction.vue +17 -5
  202. package/src/components/VvAlert/index.ts +14 -9
  203. package/src/components/VvAlertGroup/index.ts +3 -15
  204. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
  205. package/src/components/VvBreadcrumb/index.ts +2 -8
  206. package/src/components/VvButton/VvButton.vue +17 -7
  207. package/src/components/VvButton/index.ts +9 -16
  208. package/src/components/VvButtonGroup/VvButtonGroup.vue +1 -2
  209. package/src/components/VvCheckbox/index.ts +2 -2
  210. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +1 -2
  211. package/src/components/VvCombobox/VvCombobox.vue +15 -12
  212. package/src/components/VvCombobox/index.ts +4 -0
  213. package/src/components/VvDropdown/VvDropdown.vue +11 -2
  214. package/src/components/VvDropdown/VvDropdownItem.vue +4 -1
  215. package/src/components/VvDropdown/VvDropdownOption.vue +4 -21
  216. package/src/components/VvDropdown/index.ts +35 -1
  217. package/src/components/VvIcon/VvIcon.vue +2 -2
  218. package/src/components/VvIcon/index.ts +35 -48
  219. package/src/components/VvInputFile/VvInputFile.vue +395 -0
  220. package/src/components/VvInputFile/index.ts +135 -0
  221. package/src/components/VvInputText/VvInputClearAction.ts +10 -6
  222. package/src/components/VvInputText/VvInputPasswordAction.ts +13 -9
  223. package/src/components/VvInputText/VvInputText.vue +141 -33
  224. package/src/components/VvInputText/index.ts +31 -16
  225. package/src/components/VvNav/VvNav.vue +4 -2
  226. package/src/components/VvRadio/index.ts +5 -5
  227. package/src/components/VvRadioGroup/VvRadioGroup.vue +1 -2
  228. package/src/components/VvSelect/VvSelect.vue +5 -8
  229. package/src/components/VvTab/VvTab.vue +5 -1
  230. package/src/components/VvTextarea/VvTextarea.vue +6 -9
  231. package/src/components/index.ts +10 -0
  232. package/src/composables/alert/useAlert.ts +12 -9
  233. package/src/composables/dropdown/useProvideDropdown.ts +4 -4
  234. package/src/composables/group/useInjectedGroupState.ts +20 -16
  235. package/src/composables/group/useProvideGroupState.ts +10 -15
  236. package/src/composables/index.ts +1 -0
  237. package/src/composables/useBlurhash.ts +76 -0
  238. package/src/composables/useComponentIcon.ts +15 -14
  239. package/src/composables/usePersistence.ts +76 -0
  240. package/src/composables/useUniqueId.ts +2 -2
  241. package/src/constants.ts +47 -32
  242. package/src/directives/index.ts +3 -6
  243. package/src/directives/v-tooltip.ts +19 -10
  244. package/src/index.ts +3 -1
  245. package/src/props/index.ts +108 -31
  246. package/src/resolvers/unplugin.ts +24 -14
  247. package/src/stories/Accordion/Accordion.test.ts +1 -1
  248. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +2 -2
  249. package/src/stories/AccordionGroup/AccordionGroup.test.ts +17 -11
  250. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +1 -1
  251. package/src/stories/Alert/Alert.test.ts +1 -1
  252. package/src/stories/AlertGroup/AlertGroup.test.ts +1 -1
  253. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
  254. package/src/stories/Avatar/Avatar.test.ts +1 -1
  255. package/src/stories/AvatarGroup/AvatarGroup.test.ts +1 -1
  256. package/src/stories/Badge/Badge.test.ts +1 -1
  257. package/src/stories/Blurhash/BlurhashComposable.stories.ts +195 -0
  258. package/src/stories/Button/Button.settings.ts +1 -4
  259. package/src/stories/Button/Button.test.ts +1 -1
  260. package/src/stories/ButtonGroup/ButtonGroup.test.ts +1 -1
  261. package/src/stories/Card/Card.test.ts +1 -1
  262. package/src/stories/Checkbox/Checkbox.test.ts +1 -1
  263. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +1 -1
  264. package/src/stories/Combobox/Combobox.settings.ts +8 -0
  265. package/src/stories/Combobox/Combobox.test.ts +1 -1
  266. package/src/stories/Dialog/Dialog.test.ts +2 -2
  267. package/src/stories/Dropdown/Dropdown.test.ts +1 -1
  268. package/src/stories/Icon/Icon.settings.ts +3 -3
  269. package/src/stories/InputFile/InputFile.settings.ts +36 -0
  270. package/src/stories/InputFile/InputFile.stories.ts +89 -0
  271. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  272. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  273. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  274. package/src/stories/InputText/InputText.test.ts +1 -1
  275. package/src/stories/Nav/Nav.test.ts +1 -1
  276. package/src/stories/Progress/Progress.test.ts +1 -1
  277. package/src/stories/Radio/Radio.test.ts +1 -1
  278. package/src/stories/RadioGroup/RadioGroup.test.ts +1 -1
  279. package/src/stories/Select/Select.test.ts +1 -1
  280. package/src/stories/Tab/Tab.settings.ts +2 -2
  281. package/src/stories/Tab/Tab.test.ts +1 -1
  282. package/src/stories/Textarea/Textarea.test.ts +1 -1
  283. package/src/stories/Tooltip/Tooltip.test.ts +1 -1
  284. package/src/stories/argTypes.ts +1 -1
  285. package/src/test/expect.ts +2 -4
  286. package/src/types/alert.ts +11 -7
  287. package/src/types/blurhash.ts +21 -0
  288. package/src/types/generic.ts +3 -3
  289. package/src/types/group.ts +22 -14
  290. package/src/types/index.ts +7 -0
  291. package/src/types/input-file.ts +18 -0
  292. package/src/types/nav.ts +2 -3
  293. package/src/utils/ObjectUtilities.ts +0 -11
  294. package/src/workers/blurhash.ts +9 -0
@@ -1,6 +1,12 @@
1
- import { unref, inject, computed, toRef, toRefs, defineComponent, useAttrs, ref, openBlock, createElementBlock, normalizeClass, createElementVNode, withModifiers, renderSlot, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString, isRef, provide, watchEffect, watch, Fragment, renderList, createBlock, mergeProps, withCtx } from "vue";
2
- import { nanoid } from "nanoid";
3
- import { useToggle, useStorage } from "@vueuse/core";
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";
2
+ import mitt from "mitt";
3
+ import { uid } from "uid";
4
+ import { useVModel, useStorage } from "@vueuse/core";
5
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
6
+ StorageType2["local"] = "local";
7
+ StorageType2["session"] = "session";
8
+ return StorageType2;
9
+ })(StorageType || {});
4
10
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
5
11
  Strategy2["absolute"] = "absolute";
6
12
  Strategy2["fixed"] = "fixed";
@@ -35,14 +41,16 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
35
41
  ButtonType2["reset"] = "reset";
36
42
  return ButtonType2;
37
43
  })(ButtonType || {});
38
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
39
- AnchorTarget2["_blank"] = "_blank";
40
- AnchorTarget2["_self"] = "_self";
41
- AnchorTarget2["_parent"] = "_parent";
42
- AnchorTarget2["_top"] = "_top";
43
- return AnchorTarget2;
44
- })(AnchorTarget || {});
45
- const INJECTION_KEY_ACCORDION_GROUP = Symbol.for("accordionGroup");
44
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
45
+ ActionTag2["nuxtLink"] = "nuxt-link";
46
+ ActionTag2["routerLink"] = "router-link";
47
+ ActionTag2["a"] = "a";
48
+ ActionTag2["button"] = "button";
49
+ return ActionTag2;
50
+ })(ActionTag || {});
51
+ const INJECTION_KEY_ACCORDION_GROUP = Symbol.for(
52
+ "accordionGroup"
53
+ );
46
54
  const LinkProps = {
47
55
  /**
48
56
  * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
@@ -58,10 +66,7 @@ const LinkProps = {
58
66
  /**
59
67
  * Anchor target
60
68
  */
61
- target: {
62
- type: String,
63
- validator: (value) => Object.values(AnchorTarget).includes(value)
64
- },
69
+ target: String,
65
70
  /**
66
71
  * Anchor rel
67
72
  */
@@ -74,44 +79,65 @@ const DisabledProps = {
74
79
  /**
75
80
  * Whether the form control is disabled
76
81
  */
77
- disabled: Boolean
82
+ disabled: {
83
+ type: Boolean,
84
+ default: false
85
+ }
78
86
  };
79
87
  const ActiveProps = {
80
88
  /**
81
89
  * Whether the item is active
82
90
  */
83
- active: Boolean
91
+ active: {
92
+ type: Boolean,
93
+ default: false
94
+ }
84
95
  };
85
96
  const CurrentProps = {
86
97
  /**
87
98
  * Whether the item is current
88
99
  */
89
- current: Boolean
100
+ current: {
101
+ type: Boolean,
102
+ default: false
103
+ }
90
104
  };
91
105
  const PressedProps = {
92
106
  /**
93
107
  * Whether the item is pressed
94
108
  */
95
- pressed: Boolean
109
+ pressed: {
110
+ type: Boolean,
111
+ default: false
112
+ }
96
113
  };
97
114
  const LabelProps = {
98
115
  /**
99
116
  * The item label
100
117
  */
101
- label: [String, Number]
118
+ label: {
119
+ type: [String, Number],
120
+ default: void 0
121
+ }
102
122
  };
103
123
  const ModifiersProps = {
104
124
  /**
105
125
  * Component BEM modifiers
106
126
  */
107
- modifiers: [String, Array]
127
+ modifiers: {
128
+ type: [String, Array],
129
+ default: void 0
130
+ }
108
131
  };
109
132
  ({
110
133
  /**
111
134
  * VvIcon name or props
112
135
  * @see VVIcon
113
136
  */
114
- icon: { type: [String, Object] },
137
+ icon: {
138
+ type: [String, Object],
139
+ default: void 0
140
+ },
115
141
  /**
116
142
  * VvIcon position
117
143
  */
@@ -142,7 +168,8 @@ const ModifiersProps = {
142
168
  * Dropdown show / hide transition name
143
169
  */
144
170
  transitionName: {
145
- type: String
171
+ type: String,
172
+ default: void 0
146
173
  },
147
174
  /**
148
175
  * Offset of the dropdown from the trigger
@@ -210,7 +237,8 @@ const ModifiersProps = {
210
237
  * Set dropdown width to the same as the trigger
211
238
  */
212
239
  triggerWidth: {
213
- type: Boolean
240
+ type: Boolean,
241
+ default: false
214
242
  }
215
243
  });
216
244
  ({
@@ -234,20 +262,32 @@ const ModifiersProps = {
234
262
  ariaLabel: {
235
263
  type: String,
236
264
  default: void 0
265
+ },
266
+ /**
267
+ * Default tag for the action
268
+ */
269
+ defaultTag: {
270
+ type: String,
271
+ default: ActionTag.button
237
272
  }
238
273
  });
239
- function isEmpty(value) {
240
- 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));
241
- }
274
+ const StorageProps = {
275
+ storageType: {
276
+ type: String,
277
+ default: StorageType.local,
278
+ validator: (value) => Object.values(StorageType).includes(value)
279
+ },
280
+ storageKey: String
281
+ };
242
282
  function useInjectedGroupState(groupKey) {
243
283
  const group = inject(groupKey, void 0);
244
- const isInGroup = computed(() => !isEmpty(group));
284
+ const isInGroup = computed(() => group !== void 0);
245
285
  function getGroupOrLocalRef(propName, props, emit) {
246
- if (group == null ? void 0 : group.value) {
247
- const groupPropValue = unref(group.value)[propName];
286
+ const groupPropValue = group == null ? void 0 : group[propName];
287
+ if (groupPropValue) {
248
288
  return computed({
249
289
  get() {
250
- return groupPropValue == null ? void 0 : groupPropValue.value;
290
+ return groupPropValue.value;
251
291
  },
252
292
  set(value) {
253
293
  groupPropValue.value = value;
@@ -260,8 +300,9 @@ function useInjectedGroupState(groupKey) {
260
300
  return propRef.value;
261
301
  },
262
302
  set(value) {
263
- if (emit)
303
+ if (emit) {
264
304
  emit(`update:${propName}`, value);
305
+ }
265
306
  }
266
307
  });
267
308
  }
@@ -302,23 +343,16 @@ const VvAccordionProps = {
302
343
  not: Boolean
303
344
  };
304
345
  const VvAccordionEvents = ["update:modelValue"];
305
- function useGroupProps(props, emit) {
306
- const { group, isInGroup, getGroupOrLocalRef } = useInjectedGroupState(
346
+ function useGroupProps(props) {
347
+ const { group, isInGroup } = useInjectedGroupState(
307
348
  INJECTION_KEY_ACCORDION_GROUP
308
349
  );
309
- const { title, content } = toRefs(props);
310
- const modelValue = getGroupOrLocalRef("modelValue", props, emit);
311
- const not = getGroupOrLocalRef("not", props);
312
- const collapse = getGroupOrLocalRef("collapse", props);
313
350
  const disabled = computed(
314
- () => {
315
- var _a;
316
- return Boolean(props.disabled || ((_a = group == null ? void 0 : group.value) == null ? void 0 : _a.disabled.value));
317
- }
351
+ () => Boolean(props.disabled || (group == null ? void 0 : group.disabled.value))
318
352
  );
319
353
  const modifiers = computed(() => {
320
354
  let localModifiers = props.modifiers;
321
- let groupModifiers = group == null ? void 0 : group.value.modifiers.value;
355
+ let groupModifiers = group == null ? void 0 : group.modifiers.value;
322
356
  const toReturn = /* @__PURE__ */ new Set();
323
357
  if (localModifiers) {
324
358
  if (!Array.isArray(localModifiers)) {
@@ -336,16 +370,11 @@ function useGroupProps(props, emit) {
336
370
  });
337
371
  return {
338
372
  // group props
339
- modelValue,
340
- not,
341
373
  isInGroup,
342
374
  group,
343
- collapse,
344
375
  modifiers,
345
376
  disabled,
346
- // local props
347
- title,
348
- content
377
+ bus: group == null ? void 0 : group.bus
349
378
  };
350
379
  }
351
380
  function useModifiers(prefix, modifiers, others) {
@@ -381,61 +410,103 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
381
410
  ...__default__$1,
382
411
  props: VvAccordionProps,
383
412
  emits: VvAccordionEvents,
384
- setup(__props, { emit }) {
413
+ setup(__props, { expose: __expose, emit: __emit }) {
385
414
  const props = __props;
386
415
  const attrs = useAttrs();
416
+ const emit = __emit;
417
+ const modelValue = useVModel(props, "modelValue", emit);
387
418
  const accordionName = computed(
388
- () => props.name || (attrs == null ? void 0 : attrs.id) || nanoid()
419
+ () => props.name || (attrs == null ? void 0 : attrs.id) || uid()
389
420
  );
390
- const {
391
- modifiers,
392
- title,
393
- content,
394
- disabled,
395
- collapse,
421
+ const { title, content, not } = toRefs(props);
422
+ const { isInGroup, modifiers, disabled, bus } = useGroupProps(props);
423
+ const isExpanded = ref(false);
424
+ watch(
396
425
  modelValue,
397
- isInGroup,
398
- not
399
- } = useGroupProps(props, emit);
400
- const localModelValue = ref(false);
401
- const isOpen = computed({
402
- get: () => {
403
- let toReturn = modelValue.value;
404
- if (isInGroup.value) {
405
- if (collapse.value && Array.isArray(modelValue.value)) {
406
- toReturn = modelValue.value.includes(accordionName.value);
407
- } else {
408
- toReturn = modelValue.value === accordionName.value;
409
- }
410
- } else if (modelValue.value === void 0) {
411
- toReturn = localModelValue.value;
426
+ (newValue) => {
427
+ if (typeof newValue === "boolean") {
428
+ isExpanded.value = not.value ? !newValue : newValue;
412
429
  }
413
- return not.value ? !toReturn : toReturn;
414
430
  },
415
- set: (newValue) => {
416
- if (not.value) {
417
- newValue = !newValue;
418
- }
419
- if (isInGroup.value) {
420
- if (collapse.value && Array.isArray(modelValue.value)) {
421
- if (newValue) {
422
- modelValue.value.push(accordionName.value);
423
- return;
424
- }
425
- modelValue.value = modelValue.value.filter(
426
- (name) => name !== accordionName.value
427
- );
428
- return;
431
+ { immediate: true }
432
+ );
433
+ watch(isExpanded, (newValue) => {
434
+ modelValue.value = not.value ? !newValue : newValue;
435
+ });
436
+ bus == null ? void 0 : bus.on("toggle", ({ name, value }) => {
437
+ if (name !== accordionName.value) {
438
+ return;
439
+ }
440
+ isExpanded.value = value;
441
+ });
442
+ const onClick = () => {
443
+ if (disabled.value) {
444
+ return;
445
+ }
446
+ if (isInGroup.value) {
447
+ bus == null ? void 0 : bus.emit("toggle", {
448
+ name: accordionName.value,
449
+ value: !isExpanded.value
450
+ });
451
+ return;
452
+ }
453
+ isExpanded.value = !isExpanded.value;
454
+ };
455
+ watch(
456
+ accordionName,
457
+ (newValue, oldValue) => {
458
+ if (bus) {
459
+ if (oldValue && oldValue !== newValue) {
460
+ bus.emit("unregister", { name: oldValue });
429
461
  }
430
- modelValue.value = newValue ? accordionName.value : null;
431
- return;
462
+ bus.emit("register", { name: newValue });
432
463
  }
433
- if (modelValue.value === void 0 && typeof newValue === "boolean") {
434
- localModelValue.value = newValue;
435
- return;
436
- }
437
- modelValue.value = newValue;
464
+ },
465
+ {
466
+ immediate: true
467
+ }
468
+ );
469
+ onBeforeUnmount(() => {
470
+ if (bus) {
471
+ bus.emit("unregister", { name: accordionName.value });
472
+ }
473
+ });
474
+ const expand = () => {
475
+ if (isExpanded.value) {
476
+ return;
477
+ }
478
+ onClick();
479
+ };
480
+ const collapse = () => {
481
+ if (!isExpanded.value) {
482
+ return;
438
483
  }
484
+ onClick();
485
+ };
486
+ const groupExpand = (name) => {
487
+ if (!bus) {
488
+ console.warn(
489
+ `[VvAccordion]: You are trying to expand accordion group of "${accordionName.value}" but it is not in a group`
490
+ );
491
+ return;
492
+ }
493
+ bus.emit("expand", { name });
494
+ };
495
+ const groupCollapse = (name) => {
496
+ if (!bus) {
497
+ console.warn(
498
+ `[VvAccordion]: You are trying to collapse accordion group of "${accordionName.value}" but it is not in a group`
499
+ );
500
+ return;
501
+ }
502
+ bus == null ? void 0 : bus.emit("collapse", { name });
503
+ };
504
+ __expose({
505
+ isExpanded,
506
+ expand,
507
+ collapse,
508
+ groupExpand,
509
+ groupCollapse
439
510
  });
440
511
  const bemCssClasses = useModifiers(
441
512
  "vv-accordion",
@@ -444,29 +515,48 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
444
515
  disabled: disabled.value
445
516
  }))
446
517
  );
447
- const onClick = useToggle(isOpen);
448
518
  return (_ctx, _cache) => {
449
519
  return openBlock(), createElementBlock("details", {
450
520
  id: unref(accordionName),
451
521
  class: normalizeClass(unref(bemCssClasses)),
452
- open: unref(isOpen)
522
+ open: unref(isExpanded)
453
523
  }, [
454
524
  createElementVNode("summary", {
455
525
  "aria-controls": unref(accordionName),
456
- "aria-expanded": unref(isOpen),
526
+ "aria-expanded": unref(isExpanded),
457
527
  class: "vv-accordion__summary",
458
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => unref(onClick)(), ["prevent"]))
528
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onClick(), ["prevent"]))
459
529
  }, [
460
- renderSlot(_ctx.$slots, "summary", normalizeProps(guardReactiveProps({ open: unref(isOpen) })), () => [
461
- createTextVNode(toDisplayString(unref(title)), 1)
530
+ renderSlot(_ctx.$slots, "summary", normalizeProps(guardReactiveProps({
531
+ isExpanded: unref(isExpanded),
532
+ expand,
533
+ collapse,
534
+ groupExpand,
535
+ groupCollapse
536
+ })), () => [
537
+ createTextVNode(
538
+ toDisplayString(unref(title)),
539
+ 1
540
+ /* TEXT */
541
+ )
462
542
  ])
463
543
  ], 8, _hoisted_2),
464
544
  createElementVNode("div", {
465
- "aria-hidden": !unref(isOpen),
545
+ "aria-hidden": !unref(isExpanded),
466
546
  class: "vv-accordion__content"
467
547
  }, [
468
- renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ open: unref(isOpen) })), () => [
469
- createTextVNode(toDisplayString(unref(content)), 1)
548
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
549
+ isExpanded: unref(isExpanded),
550
+ expand,
551
+ collapse,
552
+ groupExpand,
553
+ groupCollapse
554
+ })), () => [
555
+ createTextVNode(
556
+ toDisplayString(unref(content)),
557
+ 1
558
+ /* TEXT */
559
+ )
470
560
  ])
471
561
  ], 8, _hoisted_3)
472
562
  ], 10, _hoisted_1);
@@ -475,10 +565,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
475
565
  });
476
566
  const VvAccordionGroupProps = {
477
567
  ...ModifiersProps,
568
+ ...StorageProps,
478
569
  /**
479
570
  * VModel
480
571
  */
481
- modelValue: [String, Array],
572
+ modelValue: {
573
+ type: [String, Array],
574
+ default: void 0
575
+ },
482
576
  /**
483
577
  * Accordion items
484
578
  * @type VvAccordionGroupItem
@@ -505,22 +599,71 @@ const VvAccordionGroupProps = {
505
599
  /**
506
600
  * If true, the accordion items will be opened by default
507
601
  */
508
- not: Boolean,
509
- /**
510
- * Enable local storage persistence
511
- */
512
- storeKey: String
602
+ not: Boolean
513
603
  };
514
604
  const VvAccordionGroupEvents = ["update:modelValue"];
515
- function useProvideGroupState(groupState) {
516
- if (Object.keys(groupState).some(
517
- (k) => k !== "key" && !isRef(groupState[k])
518
- ))
519
- throw Error("One or more groupState props aren't ref.");
520
- provide(
521
- groupState.key,
522
- computed(() => groupState)
523
- );
605
+ const usePersistence = (storageKey, storageType = StorageType.local, defaultValue) => {
606
+ const localValue = ref();
607
+ if (defaultValue) {
608
+ localValue.value = defaultValue;
609
+ }
610
+ let storageValue;
611
+ if (storageKey) {
612
+ watch(
613
+ storageKey,
614
+ (newKey, oldKey) => {
615
+ const storage = unref(storageType) === StorageType.session ? sessionStorage : localStorage;
616
+ if (oldKey && oldKey !== newKey) {
617
+ storage.removeItem(oldKey);
618
+ }
619
+ if (newKey) {
620
+ storageValue = useStorage(
621
+ newKey,
622
+ (storageValue == null ? void 0 : storageValue.value) ?? localValue.value,
623
+ storage
624
+ );
625
+ return;
626
+ }
627
+ storageValue = void 0;
628
+ },
629
+ {
630
+ immediate: true
631
+ }
632
+ );
633
+ }
634
+ if (isRef(storageType)) {
635
+ watch(storageType, (newType, oldType) => {
636
+ if (storageKey == null ? void 0 : storageKey.value) {
637
+ if (newType) {
638
+ const storage = newType === StorageType.session ? sessionStorage : localStorage;
639
+ storageValue = useStorage(
640
+ storageKey.value,
641
+ (storageValue == null ? void 0 : storageValue.value) ?? localValue.value,
642
+ storage
643
+ );
644
+ }
645
+ if (oldType && oldType !== newType) {
646
+ const oldStorage = oldType === StorageType.session ? sessionStorage : localStorage;
647
+ oldStorage.removeItem(storageKey.value);
648
+ }
649
+ }
650
+ });
651
+ }
652
+ return computed({
653
+ get: () => {
654
+ return (storageValue == null ? void 0 : storageValue.value) ?? localValue.value;
655
+ },
656
+ set: (value) => {
657
+ if (storageValue) {
658
+ storageValue.value = value;
659
+ return;
660
+ }
661
+ localValue.value = value;
662
+ }
663
+ });
664
+ };
665
+ function useProvideGroupState(key, groupState) {
666
+ provide(key, groupState);
524
667
  }
525
668
  const __default__ = {
526
669
  name: "VvAccordionGroup"
@@ -529,57 +672,161 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
529
672
  ...__default__,
530
673
  props: VvAccordionGroupProps,
531
674
  emits: VvAccordionGroupEvents,
532
- setup(__props, { emit }) {
675
+ setup(__props, { expose: __expose, emit: __emit }) {
533
676
  const props = __props;
534
- const { disabled, collapse, modifiers, itemModifiers, items, not } = toRefs(props);
677
+ const emit = __emit;
678
+ const {
679
+ disabled,
680
+ modifiers,
681
+ itemModifiers,
682
+ items,
683
+ storageKey,
684
+ storageType
685
+ } = toRefs(props);
535
686
  watchEffect(() => {
536
- if (typeof props.modelValue === "string" && collapse.value) {
687
+ if (typeof props.modelValue === "string" && props.collapse) {
537
688
  console.warn(
538
689
  `[VvAccordionGroup]: modelValue is a string but collapse is true.`
539
690
  );
540
691
  }
541
692
  });
542
- let localModelValue = ref([]);
543
- watch(
544
- () => props.storeKey,
545
- (newKey) => {
546
- if (newKey) {
547
- localModelValue = useStorage(newKey, localModelValue.value);
548
- } else {
549
- localModelValue = ref([]);
550
- }
551
- },
552
- { immediate: true }
693
+ const accordionNames = reactive(/* @__PURE__ */ new Set());
694
+ const storageModelValue = usePersistence(
695
+ storageKey,
696
+ storageType,
697
+ []
553
698
  );
554
- const modelValue = computed({
699
+ const localModelValue = computed({
555
700
  get: () => {
556
- var _a;
557
- if (props.modelValue !== void 0) {
558
- if (!collapse.value) {
559
- return Array.isArray(props.modelValue) ? props.modelValue[0] : props.modelValue;
560
- }
701
+ if (props.modelValue !== null && props.modelValue !== void 0) {
561
702
  return props.modelValue;
562
703
  }
563
- return !collapse.value ? (_a = localModelValue.value) == null ? void 0 : _a[0] : localModelValue.value;
704
+ return storageModelValue.value;
564
705
  },
565
706
  set: (newValue) => {
566
- if (props.modelValue !== void 0) {
567
- if ((Array.isArray(props.modelValue) || collapse.value) && !Array.isArray(newValue)) {
568
- newValue = [newValue];
707
+ emit("update:modelValue", newValue);
708
+ storageModelValue.value = newValue;
709
+ }
710
+ });
711
+ const expandedAccordions = computed({
712
+ get: () => {
713
+ if (localModelValue.value === void 0) {
714
+ return /* @__PURE__ */ new Set();
715
+ }
716
+ let toReturn = /* @__PURE__ */ new Set();
717
+ if (props.not) {
718
+ if (typeof localModelValue.value === "string") {
719
+ toReturn = new Set(
720
+ [...accordionNames].filter(
721
+ (name) => name !== localModelValue.value
722
+ )
723
+ );
724
+ } else if (Array.isArray(localModelValue.value)) {
725
+ toReturn = new Set(
726
+ [...accordionNames].filter(
727
+ (name) => !localModelValue.value.includes(
728
+ name
729
+ )
730
+ )
731
+ );
569
732
  }
570
- return emit("update:modelValue", newValue);
733
+ } else if (typeof localModelValue.value === "string") {
734
+ toReturn = /* @__PURE__ */ new Set([localModelValue.value]);
735
+ } else if (Array.isArray(localModelValue.value)) {
736
+ toReturn = new Set(localModelValue.value);
571
737
  }
572
- localModelValue.value = Array.isArray(newValue) ? newValue : [newValue];
738
+ return toReturn;
739
+ },
740
+ set: (newValue) => {
741
+ if (props.not) {
742
+ localModelValue.value = [...accordionNames].filter(
743
+ (name) => !newValue.has(name)
744
+ );
745
+ return;
746
+ }
747
+ if (props.collapse) {
748
+ localModelValue.value = [...newValue];
749
+ return;
750
+ }
751
+ localModelValue.value = newValue.values().next().value;
573
752
  }
574
753
  });
575
- useProvideGroupState({
576
- key: INJECTION_KEY_ACCORDION_GROUP,
577
- modelValue,
754
+ onMounted(() => {
755
+ if (props.not && localModelValue.value === void 0) {
756
+ localModelValue.value = props.collapse ? [] : [...accordionNames.values()].splice(1, accordionNames.size);
757
+ }
758
+ nextTick(() => {
759
+ for (const name of accordionNames) {
760
+ bus.emit("toggle", {
761
+ name,
762
+ value: expandedAccordions.value.has(name)
763
+ });
764
+ }
765
+ });
766
+ });
767
+ const bus = mitt();
768
+ useProvideGroupState(INJECTION_KEY_ACCORDION_GROUP, {
578
769
  disabled,
579
- collapse,
580
770
  modifiers: itemModifiers,
581
- not
771
+ bus
772
+ });
773
+ bus.on("register", ({ name }) => {
774
+ accordionNames.add(name);
775
+ });
776
+ bus.on("unregister", ({ name }) => {
777
+ accordionNames.delete(name);
582
778
  });
779
+ bus.on("toggle", ({ name, value }) => {
780
+ const newValue = new Set(expandedAccordions.value);
781
+ if (value) {
782
+ if (!props.collapse) {
783
+ for (const item of newValue) {
784
+ if (item !== name) {
785
+ bus.emit("toggle", { name: item, value: false });
786
+ }
787
+ }
788
+ newValue.clear();
789
+ }
790
+ newValue.add(name);
791
+ expandedAccordions.value = newValue;
792
+ return;
793
+ }
794
+ newValue.delete(name);
795
+ expandedAccordions.value = newValue;
796
+ });
797
+ const expand = (name) => {
798
+ if (typeof name === "string") {
799
+ bus.emit("toggle", { name, value: true });
800
+ return;
801
+ }
802
+ if (Array.isArray(name)) {
803
+ for (const item of name) {
804
+ bus.emit("toggle", { name: item, value: true });
805
+ }
806
+ return;
807
+ }
808
+ for (const item of accordionNames) {
809
+ bus.emit("toggle", { name: item, value: true });
810
+ }
811
+ };
812
+ bus.on("expand", ({ name }) => expand(name));
813
+ const collapse = (name) => {
814
+ if (typeof name === "string") {
815
+ bus.emit("toggle", { name, value: false });
816
+ return;
817
+ }
818
+ if (Array.isArray(name)) {
819
+ for (const item of name) {
820
+ bus.emit("toggle", { name: item, value: false });
821
+ }
822
+ return;
823
+ }
824
+ for (const item of accordionNames) {
825
+ bus.emit("toggle", { name: item, value: false });
826
+ }
827
+ };
828
+ bus.on("collapse", ({ name }) => collapse(name));
829
+ __expose({ expandedAccordions, expand, collapse });
583
830
  const bemCssClasses = useModifiers(
584
831
  "vv-accordion-group",
585
832
  modifiers,
@@ -588,29 +835,61 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
588
835
  }))
589
836
  );
590
837
  return (_ctx, _cache) => {
591
- return openBlock(), createElementBlock("div", {
592
- class: normalizeClass(unref(bemCssClasses))
593
- }, [
594
- renderSlot(_ctx.$slots, "default", {}, () => [
595
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(items), (item) => {
596
- return openBlock(), createBlock(_sfc_main$1, mergeProps({
597
- key: item.title
598
- }, {
599
- name: item.name,
600
- title: item.title,
601
- content: item.content
602
- }), {
603
- header: withCtx((data) => [
604
- renderSlot(_ctx.$slots, `header::${item.name}`, normalizeProps(guardReactiveProps(data)))
605
- ]),
606
- details: withCtx((data) => [
607
- renderSlot(_ctx.$slots, `details::${item.name}`, normalizeProps(guardReactiveProps(data)))
608
- ]),
609
- _: 2
610
- }, 1040);
611
- }), 128))
612
- ])
613
- ], 2);
838
+ return openBlock(), createElementBlock(
839
+ "div",
840
+ {
841
+ class: normalizeClass(unref(bemCssClasses))
842
+ },
843
+ [
844
+ renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
845
+ expandedAccordions: unref(expandedAccordions),
846
+ expand,
847
+ collapse
848
+ })), () => [
849
+ (openBlock(true), createElementBlock(
850
+ Fragment,
851
+ null,
852
+ renderList(unref(items), (item) => {
853
+ return openBlock(), createBlock(
854
+ _sfc_main$1,
855
+ mergeProps({
856
+ key: item.title
857
+ }, {
858
+ name: item.name,
859
+ title: item.title,
860
+ content: item.content
861
+ }),
862
+ createSlots({
863
+ _: 2
864
+ /* DYNAMIC */
865
+ }, [
866
+ _ctx.$slots[`summary::${item.name}`] ? {
867
+ name: "summary",
868
+ fn: withCtx((data) => [
869
+ renderSlot(_ctx.$slots, `summary::${item.name}`, normalizeProps(guardReactiveProps(data)))
870
+ ]),
871
+ key: "0"
872
+ } : void 0,
873
+ _ctx.$slots[`content::${item.name}`] ? {
874
+ name: "default",
875
+ fn: withCtx((data) => [
876
+ renderSlot(_ctx.$slots, `content::${item.name}`, normalizeProps(guardReactiveProps(data)))
877
+ ]),
878
+ key: "1"
879
+ } : void 0
880
+ ]),
881
+ 1040
882
+ /* FULL_PROPS, DYNAMIC_SLOTS */
883
+ );
884
+ }),
885
+ 128
886
+ /* KEYED_FRAGMENT */
887
+ ))
888
+ ])
889
+ ],
890
+ 2
891
+ /* CLASS */
892
+ );
614
893
  };
615
894
  }
616
895
  });