@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,11 @@
1
1
  import { inject, provide, ref, defineComponent, watch, openBlock, createElementBlock, mergeProps, unref, renderSlot, computed, toRefs, createBlock, normalizeClass, withCtx, createElementVNode, normalizeProps, guardReactiveProps, createTextVNode, toDisplayString } from "vue";
2
2
  import "mitt";
3
3
  import { useElementHover, useFocus, useFocusWithin } from "@vueuse/core";
4
+ var StorageType = /* @__PURE__ */ ((StorageType2) => {
5
+ StorageType2["local"] = "local";
6
+ StorageType2["session"] = "session";
7
+ return StorageType2;
8
+ })(StorageType || {});
4
9
  var Strategy = /* @__PURE__ */ ((Strategy2) => {
5
10
  Strategy2["absolute"] = "absolute";
6
11
  Strategy2["fixed"] = "fixed";
@@ -35,64 +40,30 @@ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
35
40
  ButtonType2["reset"] = "reset";
36
41
  return ButtonType2;
37
42
  })(ButtonType || {});
43
+ var ActionTag = /* @__PURE__ */ ((ActionTag2) => {
44
+ ActionTag2["nuxtLink"] = "nuxt-link";
45
+ ActionTag2["routerLink"] = "router-link";
46
+ ActionTag2["a"] = "a";
47
+ ActionTag2["button"] = "button";
48
+ return ActionTag2;
49
+ })(ActionTag || {});
38
50
  var ActionRoles = /* @__PURE__ */ ((ActionRoles2) => {
39
51
  ActionRoles2["button"] = "button";
40
52
  ActionRoles2["link"] = "link";
41
53
  ActionRoles2["menuitem"] = "menuitem";
42
54
  return ActionRoles2;
43
55
  })(ActionRoles || {});
44
- var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
45
- AnchorTarget2["_blank"] = "_blank";
46
- AnchorTarget2["_self"] = "_self";
47
- AnchorTarget2["_parent"] = "_parent";
48
- AnchorTarget2["_top"] = "_top";
49
- return AnchorTarget2;
50
- })(AnchorTarget || {});
56
+ var DropdownRole = /* @__PURE__ */ ((DropdownRole2) => {
57
+ DropdownRole2["listbox"] = "listbox";
58
+ DropdownRole2["menu"] = "menu";
59
+ return DropdownRole2;
60
+ })(DropdownRole || {});
51
61
  const INJECTION_KEY_DROPDOWN_ITEM = Symbol.for(
52
62
  "dropdownItem"
53
63
  );
54
64
  const INJECTION_KEY_DROPDOWN_ACTION = Symbol.for(
55
65
  "dropdownAction"
56
66
  );
57
- function useInjectedDropdownItem() {
58
- return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
59
- }
60
- function useProvideDropdownAction({
61
- expanded
62
- }) {
63
- provide(INJECTION_KEY_DROPDOWN_ACTION, {
64
- role: ref(ActionRoles.menuitem),
65
- expanded
66
- });
67
- }
68
- const __default__$1 = {
69
- name: "VvDropdownItem"
70
- };
71
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
72
- ...__default__$1,
73
- setup(__props) {
74
- const { role, expanded } = useInjectedDropdownItem();
75
- const element = ref(null);
76
- useProvideDropdownAction({ expanded });
77
- const hovered = useElementHover(element);
78
- const { focused } = useFocus(element);
79
- const { focused: focusedWithin } = useFocusWithin(element);
80
- watch(hovered, (newValue) => {
81
- if (newValue) {
82
- focused.value = true;
83
- }
84
- });
85
- return (_ctx, _cache) => {
86
- return openBlock(), createElementBlock("div", mergeProps({ role: unref(role) }, {
87
- ref_key: "element",
88
- ref: element,
89
- class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
90
- }), [
91
- renderSlot(_ctx.$slots, "default")
92
- ], 16);
93
- };
94
- }
95
- });
96
67
  const LinkProps = {
97
68
  /**
98
69
  * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
@@ -108,10 +79,7 @@ const LinkProps = {
108
79
  /**
109
80
  * Anchor target
110
81
  */
111
- target: {
112
- type: String,
113
- validator: (value) => Object.values(AnchorTarget).includes(value)
114
- },
82
+ target: String,
115
83
  /**
116
84
  * Anchor rel
117
85
  */
@@ -124,50 +92,74 @@ const DisabledProps = {
124
92
  /**
125
93
  * Whether the form control is disabled
126
94
  */
127
- disabled: Boolean
95
+ disabled: {
96
+ type: Boolean,
97
+ default: false
98
+ }
128
99
  };
129
100
  const SelectedProps = {
130
101
  /**
131
102
  * Whether the item is selected
132
103
  */
133
- selected: Boolean
104
+ selected: {
105
+ type: Boolean,
106
+ default: false
107
+ }
134
108
  };
135
109
  const ActiveProps = {
136
110
  /**
137
111
  * Whether the item is active
138
112
  */
139
- active: Boolean
113
+ active: {
114
+ type: Boolean,
115
+ default: false
116
+ }
140
117
  };
141
118
  const CurrentProps = {
142
119
  /**
143
120
  * Whether the item is current
144
121
  */
145
- current: Boolean
122
+ current: {
123
+ type: Boolean,
124
+ default: false
125
+ }
146
126
  };
147
127
  const PressedProps = {
148
128
  /**
149
129
  * Whether the item is pressed
150
130
  */
151
- pressed: Boolean
131
+ pressed: {
132
+ type: Boolean,
133
+ default: false
134
+ }
152
135
  };
153
136
  const LabelProps = {
154
137
  /**
155
138
  * The item label
156
139
  */
157
- label: [String, Number]
140
+ label: {
141
+ type: [String, Number],
142
+ default: void 0
143
+ }
158
144
  };
159
145
  const ModifiersProps = {
160
146
  /**
161
147
  * Component BEM modifiers
162
148
  */
163
- modifiers: [String, Array]
149
+ modifiers: {
150
+ type: [String, Array],
151
+ default: void 0
152
+ }
164
153
  };
165
154
  ({
166
155
  /**
167
156
  * VvIcon name or props
168
157
  * @see VVIcon
169
158
  */
170
- icon: { type: [String, Object] },
159
+ icon: {
160
+ type: [String, Object],
161
+ default: void 0
162
+ },
171
163
  /**
172
164
  * VvIcon position
173
165
  */
@@ -183,7 +175,14 @@ const UnselectableProps = {
183
175
  */
184
176
  unselectable: { type: Boolean, default: true }
185
177
  };
186
- ({
178
+ const IdProps = {
179
+ /**
180
+ * Global attribute id
181
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
182
+ */
183
+ id: [String, Number]
184
+ };
185
+ const DropdownProps = {
187
186
  /**
188
187
  * Dropdown placement
189
188
  */
@@ -204,7 +203,8 @@ const UnselectableProps = {
204
203
  * Dropdown show / hide transition name
205
204
  */
206
205
  transitionName: {
207
- type: String
206
+ type: String,
207
+ default: void 0
208
208
  },
209
209
  /**
210
210
  * Offset of the dropdown from the trigger
@@ -272,9 +272,10 @@ const UnselectableProps = {
272
272
  * Set dropdown width to the same as the trigger
273
273
  */
274
274
  triggerWidth: {
275
- type: Boolean
275
+ type: Boolean,
276
+ default: false
276
277
  }
277
- });
278
+ };
278
279
  ({
279
280
  ...DisabledProps,
280
281
  ...LabelProps,
@@ -296,6 +297,120 @@ const UnselectableProps = {
296
297
  ariaLabel: {
297
298
  type: String,
298
299
  default: void 0
300
+ },
301
+ /**
302
+ * Default tag for the action
303
+ */
304
+ defaultTag: {
305
+ type: String,
306
+ default: ActionTag.button
307
+ }
308
+ });
309
+ ({
310
+ storageType: {
311
+ type: String,
312
+ default: StorageType.local,
313
+ validator: (value) => Object.values(StorageType).includes(value)
314
+ },
315
+ storageKey: String
316
+ });
317
+ ({
318
+ ...IdProps,
319
+ ...DropdownProps,
320
+ ...ModifiersProps,
321
+ /**
322
+ * Show / hide dropdown programmatically
323
+ */
324
+ modelValue: {
325
+ type: Boolean,
326
+ default: void 0
327
+ },
328
+ /**
329
+ * Dropdown trigger element
330
+ */
331
+ reference: {
332
+ type: Object,
333
+ default: null
334
+ },
335
+ /**
336
+ * Dropdown role
337
+ */
338
+ role: {
339
+ type: String,
340
+ default: DropdownRole.menu,
341
+ validator: (value) => Object.values(DropdownRole).includes(value)
342
+ }
343
+ });
344
+ const VvDropdownItemProps = {
345
+ focusOnHover: {
346
+ type: Boolean,
347
+ default: false
348
+ }
349
+ };
350
+ const VvDropdownOptionProps = {
351
+ ...DisabledProps,
352
+ ...SelectedProps,
353
+ ...UnselectableProps,
354
+ ...ModifiersProps,
355
+ deselectHintLabel: {
356
+ type: String
357
+ },
358
+ selectHintLabel: {
359
+ type: String
360
+ },
361
+ selectedHintLabel: {
362
+ type: String
363
+ },
364
+ focusOnHover: {
365
+ type: Boolean,
366
+ default: false
367
+ }
368
+ };
369
+ function useInjectedDropdownItem() {
370
+ return inject(INJECTION_KEY_DROPDOWN_ITEM, {});
371
+ }
372
+ function useProvideDropdownAction({
373
+ expanded
374
+ }) {
375
+ provide(INJECTION_KEY_DROPDOWN_ACTION, {
376
+ role: ref(ActionRoles.menuitem),
377
+ expanded
378
+ });
379
+ }
380
+ const __default__$1 = {
381
+ name: "VvDropdownItem"
382
+ };
383
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
384
+ ...__default__$1,
385
+ props: VvDropdownItemProps,
386
+ setup(__props) {
387
+ const props = __props;
388
+ const { role, expanded } = useInjectedDropdownItem();
389
+ const element = ref(null);
390
+ useProvideDropdownAction({ expanded });
391
+ const hovered = useElementHover(element);
392
+ const { focused } = useFocus(element);
393
+ const { focused: focusedWithin } = useFocusWithin(element);
394
+ watch(hovered, (newValue) => {
395
+ if (newValue && props.focusOnHover) {
396
+ focused.value = true;
397
+ }
398
+ });
399
+ return (_ctx, _cache) => {
400
+ return openBlock(), createElementBlock(
401
+ "div",
402
+ mergeProps({ role: unref(role) }, {
403
+ ref_key: "element",
404
+ ref: element,
405
+ class: ["vv-dropdown__item", { "focus-visible": unref(focused) || unref(focusedWithin) }]
406
+ }),
407
+ [
408
+ renderSlot(_ctx.$slots, "default")
409
+ ],
410
+ 16
411
+ /* FULL_PROPS */
412
+ );
413
+ };
299
414
  }
300
415
  });
301
416
  function useModifiers(prefix, modifiers, others) {
@@ -327,21 +442,7 @@ const __default__ = {
327
442
  };
328
443
  const _sfc_main = /* @__PURE__ */ defineComponent({
329
444
  ...__default__,
330
- props: {
331
- ...DisabledProps,
332
- ...SelectedProps,
333
- ...UnselectableProps,
334
- ...ModifiersProps,
335
- deselectHintLabel: {
336
- type: String
337
- },
338
- selectHintLabel: {
339
- type: String
340
- },
341
- selectedHintLabel: {
342
- type: String
343
- }
344
- },
445
+ props: VvDropdownOptionProps,
345
446
  setup(__props) {
346
447
  const props = __props;
347
448
  const { modifiers } = toRefs(props);
@@ -361,13 +462,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
361
462
  if (!props.disabled) {
362
463
  return props.selectHintLabel;
363
464
  }
465
+ return "";
364
466
  });
365
467
  return (_ctx, _cache) => {
366
468
  return openBlock(), createBlock(_sfc_main$1, {
367
469
  class: normalizeClass(unref(bemCssClasses)),
368
470
  tabindex: _ctx.disabled ? -1 : 0,
369
471
  "aria-selected": _ctx.selected,
370
- "aria-disabled": _ctx.disabled
472
+ "aria-disabled": _ctx.disabled,
473
+ "focus-on-hover": _ctx.focusOnHover
371
474
  }, {
372
475
  default: withCtx(() => [
373
476
  renderSlot(_ctx.$slots, "default"),
@@ -376,12 +479,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
376
479
  title: unref(hintLabel)
377
480
  }, [
378
481
  renderSlot(_ctx.$slots, "hint", normalizeProps(guardReactiveProps({ disabled: _ctx.disabled, selected: _ctx.selected, unselectable: _ctx.unselectable })), () => [
379
- createTextVNode(toDisplayString(unref(hintLabel)), 1)
482
+ createTextVNode(
483
+ toDisplayString(unref(hintLabel)),
484
+ 1
485
+ /* TEXT */
486
+ )
380
487
  ])
381
488
  ], 8, _hoisted_1)
382
489
  ]),
383
490
  _: 3
384
- }, 8, ["class", "tabindex", "aria-selected", "aria-disabled"]);
491
+ /* FORWARDED */
492
+ }, 8, ["class", "tabindex", "aria-selected", "aria-disabled", "focus-on-hover"]);
385
493
  };
386
494
  }
387
495
  });
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownOption=t(e.vue,null,e.core)}(this,(function(e,t,o){"use strict";var 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||{}),s=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(s||{});const d=Symbol.for("dropdownItem"),a=Symbol.for("dropdownAction");const i=e.defineComponent({name:"VvDropdownItem",setup(t){const{role:n,expanded:l}=e.inject(d,{}),r=e.ref(null);!function({expanded:t}){e.provide(a,{role:e.ref(s.menuitem),expanded:t})}({expanded:l});const i=o.useElementHover(r),{focused:u}=o.useFocus(r),{focused:c}=o.useFocusWithin(r);return e.watch(i,(e=>{e&&(u.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(n)},{ref_key:"element",ref:r,class:["vv-dropdown__item",{"focus-visible":e.unref(u)||e.unref(c)}]}),[e.renderSlot(t.$slots,"default")],16))}}),u={disabled:Boolean},c={selected:Boolean},f=(Boolean,Boolean,Boolean,{modifiers:[String,Array]});l.before;const p={unselectable:{type:Boolean,default:!0}};n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,r.button;const b=["title"];return e.defineComponent({name:"VvDropdownOption",props:{...u,...c,...p,...f,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String}},setup(t){const o=t,{modifiers:n}=e.toRefs(o),l=function(t,o,n){return e.computed((()=>{const l={[t]:!0},r="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((o=>{l[`${t}--${o}`]=e.unref(n.value[o])})),l}))}("vv-dropdown-option",n,e.computed((()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected})))),r=e.computed((()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?void 0:o.selectHintLabel));return(t,o)=>(e.openBlock(),e.createBlock(i,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(r)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)]))],8,b)])),_:3},8,["class","tabindex","aria-selected","aria-disabled"]))}})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue"),require("mitt"),require("@vueuse/core")):"function"==typeof define&&define.amd?define(["vue","mitt","@vueuse/core"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvDropdownOption=t(e.vue,null,e.core)}(this,(function(e,t,o){"use strict";var n=(e=>(e.local="local",e.session="session",e))(n||{}),l=(e=>(e.absolute="absolute",e.fixed="fixed",e))(l||{}),r=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(r||{}),s=(e=>(e.topStart="top-start",e.topEnd="top-end",e.bottomStart="bottom-start",e.bottomEnd="bottom-end",e.leftStart="left-start",e.leftEnd="left-end",e.rightStart="right-start",e.rightEnd="right-end",e))(s||{}),a=(e=>(e.before="before",e.after="after",e))(a||{}),d=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(d||{}),i=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(i||{}),u=(e=>(e.button="button",e.link="link",e.menuitem="menuitem",e))(u||{}),c=(e=>(e.listbox="listbox",e.menu="menu",e))(c||{});const f=Symbol.for("dropdownItem"),p=Symbol.for("dropdownAction"),b={disabled:{type:Boolean,default:!1}},m={selected:{type:Boolean,default:!1}},v=(Boolean,Boolean,Boolean,{modifiers:{type:[String,Array],default:void 0}});a.before;const y={unselectable:{type:Boolean,default:!0}};r.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean;d.button,i.button,n.local,Boolean,c.menu;const B={focusOnHover:{type:Boolean,default:!1}},h={...b,...m,...y,...v,deselectHintLabel:{type:String},selectHintLabel:{type:String},selectedHintLabel:{type:String},focusOnHover:{type:Boolean,default:!1}};const g=e.defineComponent({name:"VvDropdownItem",props:B,setup(t){const n=t,{role:l,expanded:r}=e.inject(f,{}),s=e.ref(null);!function({expanded:t}){e.provide(p,{role:e.ref(u.menuitem),expanded:t})}({expanded:r});const a=o.useElementHover(s),{focused:d}=o.useFocus(s),{focused:i}=o.useFocusWithin(s);return e.watch(a,(e=>{e&&n.focusOnHover&&(d.value=!0)})),(t,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({role:e.unref(l)},{ref_key:"element",ref:s,class:["vv-dropdown__item",{"focus-visible":e.unref(d)||e.unref(i)}]}),[e.renderSlot(t.$slots,"default")],16))}});const x=["title"];return e.defineComponent({name:"VvDropdownOption",props:h,setup(t){const o=t,{modifiers:n}=e.toRefs(o),l=function(t,o,n){return e.computed((()=>{const l={[t]:!0},r="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return r&&Array.isArray(r)&&r.forEach((e=>{e&&(l[`${t}--${e}`]=!0)})),n&&Object.keys(n.value).forEach((o=>{l[`${t}--${o}`]=e.unref(n.value[o])})),l}))}("vv-dropdown-option",n,e.computed((()=>({disabled:o.disabled,selected:o.selected,unselectable:o.unselectable&&o.selected})))),r=e.computed((()=>o.selected?o.unselectable?o.deselectHintLabel:o.selectedHintLabel:o.disabled?"":o.selectHintLabel));return(t,o)=>(e.openBlock(),e.createBlock(g,{class:e.normalizeClass(e.unref(l)),tabindex:t.disabled?-1:0,"aria-selected":t.selected,"aria-disabled":t.disabled,"focus-on-hover":t.focusOnHover},{default:e.withCtx((()=>[e.renderSlot(t.$slots,"default"),e.createElementVNode("span",{class:"vv-dropdown-option__hint",title:e.unref(r)},[e.renderSlot(t.$slots,"hint",e.normalizeProps(e.guardReactiveProps({disabled:t.disabled,selected:t.selected,unselectable:t.unselectable})),(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)),1)]))],8,x)])),_:3},8,["class","tabindex","aria-selected","aria-disabled","focus-on-hover"]))}})}));
@@ -1,98 +1,8 @@
1
- import { inject, computed, unref, defineComponent, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode } from "vue";
1
+ import { inject, computed, unref, defineComponent, mergeDefaults, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode } from "vue";
2
2
  import { iconExists, Icon, addIcon } from "@iconify/vue";
3
- const VvIconProps = {
4
- /**
5
- * Color
6
- */
7
- color: String,
8
- /**
9
- * Width
10
- */
11
- width: {
12
- type: [String, Number]
13
- },
14
- /**
15
- * Height
16
- */
17
- height: {
18
- type: [String, Number]
19
- },
20
- /**
21
- * Icon name
22
- * Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
23
- * https://docs.iconify.design/api/providers.html#provider-in-icon-name
24
- */
25
- name: {
26
- type: String,
27
- required: true
28
- },
29
- /**
30
- * By default 'vv'
31
- * If custom collection is not added with "addCollection" DS class method, this prop could not be used
32
- * Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
33
- */
34
- provider: {
35
- type: String
36
- },
37
- /**
38
- * The name of icon set.
39
- * Icon default options prefix: simple | normal | detailed
40
- */
41
- prefix: {
42
- type: String,
43
- default: "normal"
44
- },
45
- /**
46
- * Url remote SVG icon
47
- */
48
- src: String,
49
- /**
50
- * Horizontal flip
51
- */
52
- horizontalFlip: Boolean,
53
- /**
54
- * Vertical flip
55
- */
56
- verticalFlip: Boolean,
57
- /**
58
- * String alternative to "horizontalFlip" and "verticalFlip".
59
- * Example: https://docs.iconify.design/icon-components/vue/transform.html
60
- */
61
- flip: String,
62
- /**
63
- * Icon render mode
64
- * 'style' = 'bg' or 'mask', depending on icon content
65
- * 'bg' = span with style using `background`
66
- * 'mask' = span with style using `mask`
67
- * 'svg' = svg
68
- * Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
69
- */
70
- mode: String,
71
- /**
72
- * Toggles inline or block mode
73
- * Example https://docs.iconify.design/icon-components/vue/inline.html
74
- */
75
- inline: Boolean,
76
- /**
77
- * rotates icon
78
- * Example https://docs.iconify.design/icon-components/vue/transform.html
79
- */
80
- rotate: [Number, String],
81
- /**
82
- * A callback that is called when icon data has been loaded
83
- */
84
- onLoad: Function,
85
- /**
86
- * SVG icon string
87
- */
88
- svg: String,
89
- /**
90
- * Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
91
- * @values string | string[]
92
- */
93
- modifiers: {
94
- type: [String, Array]
95
- }
3
+ const VvIconPropsDefaults = {
4
+ prefix: "normal"
5
+ /* normal */
96
6
  };
97
7
  const INJECTION_KEY_VOLVER = Symbol.for("volver");
98
8
  function useVolver() {
@@ -126,7 +36,24 @@ const __default__ = {
126
36
  };
127
37
  const _sfc_main = /* @__PURE__ */ defineComponent({
128
38
  ...__default__,
129
- props: VvIconProps,
39
+ props: /* @__PURE__ */ mergeDefaults({
40
+ name: {},
41
+ color: {},
42
+ width: {},
43
+ height: {},
44
+ provider: {},
45
+ prefix: {},
46
+ src: {},
47
+ horizontalFlip: { type: Boolean },
48
+ verticalFlip: { type: Boolean },
49
+ flip: {},
50
+ mode: {},
51
+ inline: { type: Boolean },
52
+ rotate: {},
53
+ onLoad: { type: Function },
54
+ svg: {},
55
+ modifiers: {}
56
+ }, VvIconPropsDefaults),
130
57
  setup(__props) {
131
58
  const props = __props;
132
59
  const hasRotate = computed(() => {
@@ -213,7 +140,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
213
140
  color: _ctx.color,
214
141
  onLoad: _ctx.onLoad,
215
142
  icon: unref(icon)
216
- }), null, 16, ["class"])) : createCommentVNode("", true);
143
+ }), null, 16, ["class"])) : createCommentVNode("v-if", true);
217
144
  };
218
145
  }
219
146
  });
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("vue"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue"],n):(e="undefined"!=typeof globalThis?globalThis:e||self).VvIcon=n(e.vue,e.vue$1)}(this,(function(e,n){"use strict";const o={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}},r=Symbol.for("volver");return e.defineComponent({name:"VvIcon",props:o,setup(o){const i=o,t=e.computed((()=>"string"==typeof i.rotate?parseFloat(i.rotate):i.rotate)),l=e.ref(!0),u=e.inject(r),{modifiers:c}=e.toRefs(i),a=function(n,o,r){return e.computed((()=>{const i={[n]:!0},t="string"==typeof(null==o?void 0:o.value)?o.value.split(" "):null==o?void 0:o.value;return t&&Array.isArray(t)&&t.forEach((e=>{e&&(i[`${n}--${e}`]=!0)})),r&&Object.keys(r.value).forEach((o=>{i[`${n}--${o}`]=e.unref(r.value[o])})),i}))}("vv-icon",c),s=e.computed((()=>i.provider||(null==u?void 0:u.iconsProvider))),f=e.computed((()=>{const e=i.name??"",o=`@${s.value}:${i.prefix}:${e}`;if(n.iconExists(o))return o;const r=null==u?void 0:u.iconsCollections.find((o=>{const r=`@${s.value}:${o.prefix}:${e}`;return n.iconExists(r)}));return r?`@${s.value}:${r.prefix}:${e}`:e}));function d(e){const o=function(e){let n;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");n=(new e).window}return(n?new n.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),r=(null==o?void 0:o.innerHTML.trim())||"";o&&r&&n.addIcon(`@${s.value}:${i.prefix}:${i.name}`,{body:r,height:o.viewBox.baseVal.height,width:o.viewBox.baseVal.width})}return u&&i.src&&!n.iconExists(`@${s.value}:${i.prefix}:${i.name}`)&&(l.value=!1,u.fetchIcon(i.src).then((e=>{e&&(d(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),i.svg&&d(i.svg),(o,r)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(n.Icon),e.mergeProps({key:0,class:e.unref(a)},{inline:o.inline,width:o.width,height:o.height,horizontalFlip:o.horizontalFlip,verticalFlip:o.verticalFlip,flip:o.flip,rotate:e.unref(t),color:o.color,onLoad:o.onLoad,icon:e.unref(f)}),null,16,["class"])):e.createCommentVNode("",!0)}})}));
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("@iconify/vue")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvIcon=o(e.vue,e.vue$1)}(this,(function(e,o){"use strict";const n={prefix:"normal"},i=Symbol.for("volver");return e.defineComponent({name:"VvIcon",props:e.mergeDefaults({name:{},color:{},width:{},height:{},provider:{},prefix:{},src:{},horizontalFlip:{type:Boolean},verticalFlip:{type:Boolean},flip:{},mode:{},inline:{type:Boolean},rotate:{},onLoad:{type:Function},svg:{},modifiers:{}},n),setup(n){const r=n,t=e.computed((()=>"string"==typeof r.rotate?parseFloat(r.rotate):r.rotate)),l=e.ref(!0),u=e.inject(i),{modifiers:c}=e.toRefs(r),a=function(o,n,i){return e.computed((()=>{const r={[o]:!0},t="string"==typeof(null==n?void 0:n.value)?n.value.split(" "):null==n?void 0:n.value;return t&&Array.isArray(t)&&t.forEach((e=>{e&&(r[`${o}--${e}`]=!0)})),i&&Object.keys(i.value).forEach((n=>{r[`${o}--${n}`]=e.unref(i.value[n])})),r}))}("vv-icon",c),s=e.computed((()=>r.provider||(null==u?void 0:u.iconsProvider))),f=e.computed((()=>{const e=r.name??"",n=`@${s.value}:${r.prefix}:${e}`;if(o.iconExists(n))return n;const i=null==u?void 0:u.iconsCollections.find((n=>{const i=`@${s.value}:${n.prefix}:${e}`;return o.iconExists(i)}));return i?`@${s.value}:${i.prefix}:${e}`:e}));function d(e){const n=function(e){let o;if("undefined"==typeof window){const{JSDOM:e}=require("jsdom");o=(new e).window}return(o?new o.DOMParser:new window.DOMParser).parseFromString(e,"text/html").querySelector("svg")}(e),i=(null==n?void 0:n.innerHTML.trim())||"";n&&i&&o.addIcon(`@${s.value}:${r.prefix}:${r.name}`,{body:i,height:n.viewBox.baseVal.height,width:n.viewBox.baseVal.width})}return u&&r.src&&!o.iconExists(`@${s.value}:${r.prefix}:${r.name}`)&&(l.value=!1,u.fetchIcon(r.src).then((e=>{e&&(d(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),r.svg&&d(r.svg),(n,i)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(a)},{inline:n.inline,width:n.width,height:n.height,horizontalFlip:n.horizontalFlip,verticalFlip:n.verticalFlip,flip:n.flip,rotate:e.unref(t),color:n.color,onLoad:n.onLoad,icon:e.unref(f)}),null,16,["class"])):e.createCommentVNode("v-if",!0)}})}));
@@ -1,69 +1,26 @@
1
- declare const _default: import("vue").DefineComponent<{
2
- color: StringConstructor;
3
- width: {
4
- type: (StringConstructor | NumberConstructor)[];
5
- };
6
- height: {
7
- type: (StringConstructor | NumberConstructor)[];
8
- };
9
- name: {
10
- type: StringConstructor;
11
- required: boolean;
12
- };
13
- provider: {
14
- type: StringConstructor;
15
- };
16
- prefix: {
17
- type: globalThis.PropType<string>;
18
- default: string;
19
- };
20
- src: StringConstructor;
21
- horizontalFlip: BooleanConstructor;
22
- verticalFlip: BooleanConstructor;
23
- flip: StringConstructor;
24
- mode: globalThis.PropType<import("@iconify/vue").IconifyRenderMode>;
25
- inline: BooleanConstructor;
26
- rotate: (StringConstructor | NumberConstructor)[];
27
- onLoad: globalThis.PropType<import("@iconify/vue").IconifyIconOnLoad>;
28
- svg: StringConstructor;
29
- modifiers: {
30
- type: globalThis.PropType<string | string[]>;
31
- };
32
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
33
- color: StringConstructor;
34
- width: {
35
- type: (StringConstructor | NumberConstructor)[];
36
- };
37
- height: {
38
- type: (StringConstructor | NumberConstructor)[];
39
- };
40
- name: {
41
- type: StringConstructor;
42
- required: boolean;
43
- };
44
- provider: {
45
- type: StringConstructor;
46
- };
47
- prefix: {
48
- type: globalThis.PropType<string>;
49
- default: string;
50
- };
51
- src: StringConstructor;
52
- horizontalFlip: BooleanConstructor;
53
- verticalFlip: BooleanConstructor;
54
- flip: StringConstructor;
55
- mode: globalThis.PropType<import("@iconify/vue").IconifyRenderMode>;
56
- inline: BooleanConstructor;
57
- rotate: (StringConstructor | NumberConstructor)[];
58
- onLoad: globalThis.PropType<import("@iconify/vue").IconifyIconOnLoad>;
59
- svg: StringConstructor;
60
- modifiers: {
61
- type: globalThis.PropType<string | string[]>;
62
- };
63
- }>>, {
1
+ import { type VvIconProps } from '.';
2
+ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToOption<VvIconProps>, {
3
+ prefix: import(".").IconPrefix;
4
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<globalThis.ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<VvIconProps>, {
5
+ prefix: import(".").IconPrefix;
6
+ }>>>, {
64
7
  prefix: string;
65
- horizontalFlip: boolean;
66
- verticalFlip: boolean;
67
- inline: boolean;
68
8
  }, {}>;
69
9
  export default _default;
10
+ type __VLS_WithDefaults<P, D> = {
11
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
12
+ default: D[K];
13
+ }> : P[K];
14
+ };
15
+ type __VLS_Prettify<T> = {
16
+ [K in keyof T]: T[K];
17
+ } & {};
18
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
19
+ type __VLS_TypePropsToOption<T> = {
20
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
21
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
22
+ } : {
23
+ type: import('vue').PropType<T[K]>;
24
+ required: true;
25
+ };
26
+ };