@volverjs/ui-vue 0.0.6-beta.1 → 0.0.6-beta.15

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 (475) hide show
  1. package/README.md +3 -4
  2. package/auto-imports.d.ts +11 -0
  3. package/dist/Volver.d.ts +1 -1
  4. package/dist/components/VvAccordion/VvAccordion.es.js +238 -5
  5. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  6. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +8 -8
  7. package/dist/components/VvAccordion/index.d.ts +3 -6
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +243 -10
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +10 -62
  11. package/dist/components/VvAccordionGroup/index.d.ts +4 -33
  12. package/dist/components/VvAction/VvAction.es.js +12 -8
  13. package/dist/components/VvAction/VvAction.umd.js +1 -1
  14. package/dist/components/VvAction/VvAction.vue.d.ts +4 -4
  15. package/dist/components/VvAction/index.d.ts +1 -1
  16. package/dist/components/VvAlert/VvAlert.es.js +661 -0
  17. package/dist/components/VvAlert/VvAlert.umd.js +1 -0
  18. package/dist/components/VvAlert/VvAlert.vue.d.ts +104 -0
  19. package/dist/components/VvAlert/index.d.ts +95 -0
  20. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +799 -0
  21. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -0
  22. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +89 -0
  23. package/dist/components/VvAlertGroup/index.d.ts +55 -0
  24. package/dist/components/VvAvatar/VvAvatar.es.js +3 -3
  25. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +2 -2
  26. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +363 -0
  27. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -0
  28. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +42 -0
  29. package/dist/components/VvAvatarGroup/index.d.ts +25 -0
  30. package/dist/components/VvBadge/VvBadge.es.js +3 -3
  31. package/dist/components/VvBadge/VvBadge.vue.d.ts +2 -2
  32. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +3 -3
  33. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +5 -31
  34. package/dist/components/VvBreadcrumb/index.d.ts +1 -14
  35. package/dist/components/VvButton/VvButton.es.js +90 -49
  36. package/dist/components/VvButton/VvButton.umd.js +1 -1
  37. package/dist/components/VvButton/VvButton.vue.d.ts +38 -13
  38. package/dist/components/VvButton/index.d.ts +27 -4
  39. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +13 -7
  40. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  41. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +10 -62
  42. package/dist/components/VvButtonGroup/index.d.ts +3 -29
  43. package/dist/components/VvCard/VvCard.es.js +221 -2
  44. package/dist/components/VvCard/VvCard.umd.js +1 -1
  45. package/dist/components/VvCard/VvCard.vue.d.ts +7 -7
  46. package/dist/components/VvCard/index.d.ts +1 -1
  47. package/dist/components/VvCheckbox/VvCheckbox.es.js +154 -101
  48. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  49. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +47 -11
  50. package/dist/components/VvCheckbox/index.d.ts +9 -4
  51. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -104
  52. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  53. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +44 -8
  54. package/dist/components/VvCheckboxGroup/index.d.ts +8 -3
  55. package/dist/components/VvCombobox/VvCombobox.es.js +272 -175
  56. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  57. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +73 -37
  58. package/dist/components/VvCombobox/index.d.ts +13 -7
  59. package/dist/components/VvDialog/VvDialog.es.js +45 -34
  60. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  61. package/dist/components/VvDialog/VvDialog.vue.d.ts +7 -7
  62. package/dist/components/VvDialog/index.d.ts +2 -2
  63. package/dist/components/VvDropdown/VvDropdown.es.js +39 -25
  64. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  65. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +24 -20
  66. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +4 -4
  67. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +2 -2
  68. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +1 -1
  69. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +4 -4
  70. package/dist/components/VvDropdown/index.d.ts +2 -2
  71. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +17 -11
  72. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  73. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +9 -5
  74. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  75. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +3 -3
  76. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +12 -8
  77. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  78. package/dist/components/VvIcon/VvIcon.es.js +26 -20
  79. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  80. package/dist/components/VvIcon/VvIcon.vue.d.ts +3 -3
  81. package/dist/components/VvIcon/index.d.ts +3 -3
  82. package/dist/components/VvInputText/VvInputClearAction.d.ts +2 -2
  83. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +1 -1
  84. package/dist/components/VvInputText/VvInputStepAction.d.ts +1 -1
  85. package/dist/components/VvInputText/VvInputText.es.js +166 -142
  86. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  87. package/dist/components/VvInputText/VvInputText.vue.d.ts +46 -22
  88. package/dist/components/VvInputText/index.d.ts +5 -5
  89. package/dist/components/VvNav/VvNav.es.js +454 -0
  90. package/dist/components/VvNav/VvNav.umd.js +1 -0
  91. package/dist/components/VvNav/VvNav.vue.d.ts +21 -0
  92. package/dist/components/VvNav/index.d.ts +19 -0
  93. package/dist/components/VvNavItemTitle/VvNavItemTitle.es.js +19 -0
  94. package/dist/components/VvNavItemTitle/VvNavItemTitle.umd.js +1 -0
  95. package/dist/components/VvNavItemTitle/VvNavItemTitle.vue.d.ts +6 -0
  96. package/dist/components/VvNavSeparator/VvNavSeparator.d.ts +2 -0
  97. package/dist/components/VvProgress/VvProgress.es.js +3 -3
  98. package/dist/components/VvProgress/VvProgress.vue.d.ts +1 -1
  99. package/dist/components/VvRadio/VvRadio.es.js +154 -101
  100. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  101. package/dist/components/VvRadio/VvRadio.vue.d.ts +47 -11
  102. package/dist/components/VvRadio/index.d.ts +9 -4
  103. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -104
  104. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  105. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +44 -8
  106. package/dist/components/VvRadioGroup/index.d.ts +8 -3
  107. package/dist/components/VvSelect/VvSelect.es.js +167 -141
  108. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  109. package/dist/components/VvSelect/VvSelect.vue.d.ts +42 -18
  110. package/dist/components/VvSelect/index.d.ts +4 -4
  111. package/dist/components/VvTab/VvTab.es.js +509 -0
  112. package/dist/components/VvTab/VvTab.umd.js +1 -0
  113. package/dist/components/VvTab/VvTab.vue.d.ts +26 -0
  114. package/dist/components/VvTab/index.d.ts +10 -0
  115. package/dist/components/VvTextarea/VvTextarea.es.js +164 -140
  116. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  117. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +40 -16
  118. package/dist/components/VvTextarea/index.d.ts +3 -3
  119. package/dist/components/VvTooltip/VvTooltip.es.js +3 -3
  120. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +2 -2
  121. package/dist/components/common/HintSlot.d.ts +38 -12
  122. package/dist/components/index.es.js +1336 -981
  123. package/dist/components/index.umd.js +1 -1
  124. package/dist/composables/alert/useInjectAlert.d.ts +9 -0
  125. package/dist/composables/alert/useProvideAlert.d.ts +10 -0
  126. package/dist/composables/dropdown/useInjectDropdown.d.ts +17 -16
  127. package/dist/composables/dropdown/useProvideDropdown.d.ts +7 -3
  128. package/dist/composables/group/useInjectedGroupState.d.ts +1 -1
  129. package/dist/composables/useOptions.d.ts +2 -2
  130. package/dist/composables/useVolver.d.ts +1 -2
  131. package/dist/constants.d.ts +33 -4
  132. package/dist/directives/index.d.ts +2 -2
  133. package/dist/directives/index.es.js +3 -3
  134. package/dist/directives/v-tooltip.es.js +3 -3
  135. package/dist/icons.es.js +3 -3
  136. package/dist/icons.umd.js +1 -1
  137. package/dist/props/index.d.ts +38 -16
  138. package/dist/resolvers/unplugin.es.js +6 -3
  139. package/dist/resolvers/unplugin.umd.js +1 -1
  140. package/dist/stories/Accordion/Accordion.settings.d.ts +18 -17
  141. package/dist/stories/Accordion/Accordion.stories.d.ts +7 -0
  142. package/dist/stories/Accordion/AccordionSlots.stories.d.ts +7 -0
  143. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +23 -4
  144. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +134 -0
  145. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +894 -0
  146. package/dist/stories/Alert/Alert.settings.d.ts +105 -0
  147. package/dist/stories/Alert/Alert.stories.d.ts +9 -0
  148. package/dist/stories/Alert/Alert.test.d.ts +2 -0
  149. package/dist/stories/Alert/AlertModifiers.stories.d.ts +13 -0
  150. package/dist/stories/Alert/AlertSlots.stories.d.ts +10 -0
  151. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +97 -0
  152. package/dist/stories/AlertGroup/AlertGroup.stories.d.ts +8 -0
  153. package/dist/stories/AlertGroup/AlertGroup.test.d.ts +2 -0
  154. package/dist/stories/AlertGroup/AlertGroupPosition.stories.d.ts +14 -0
  155. package/dist/stories/AlertGroup/AlertGroupSlots.stories.d.ts +8 -0
  156. package/dist/stories/Avatar/Avatar.settings.d.ts +2 -33
  157. package/dist/stories/Avatar/Avatar.stories.d.ts +7 -0
  158. package/dist/stories/Avatar/AvatarBadge.stories.d.ts +6 -0
  159. package/dist/stories/Avatar/AvatarModifiers.stories.d.ts +13 -0
  160. package/dist/stories/Avatar/AvatarSlots.stories.d.ts +6 -0
  161. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +50 -0
  162. package/dist/stories/AvatarGroup/AvatarGroup.stories.d.ts +6 -0
  163. package/dist/stories/AvatarGroup/AvatarGroup.test.d.ts +2 -0
  164. package/dist/stories/AvatarGroup/AvatarGroupModifiers.stories.d.ts +7 -0
  165. package/dist/stories/AvatarGroup/AvatarGroupSlotDefault.stories.d.ts +6 -0
  166. package/dist/stories/Badge/Badge.settings.d.ts +0 -3
  167. package/dist/stories/Badge/Badge.stories.d.ts +7 -0
  168. package/dist/stories/Badge/BadgeSlots.stories.d.ts +6 -0
  169. package/dist/stories/Breadcrumb/Breadcrumb.stories.d.ts +7 -0
  170. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  171. package/dist/stories/Breadcrumb/BreadcrumbSlots.stories.d.ts +6 -0
  172. package/dist/stories/Button/Button.settings.d.ts +17 -9
  173. package/dist/stories/Button/Button.stories.d.ts +6 -0
  174. package/dist/stories/Button/ButtonIcon.stories.d.ts +10 -0
  175. package/dist/stories/Button/ButtonLink.stories.d.ts +7 -0
  176. package/dist/stories/Button/ButtonLoading.stories.d.ts +8 -0
  177. package/dist/stories/Button/ButtonModifiers.stories.d.ts +17 -0
  178. package/dist/stories/Button/ButtonSlots.stories.d.ts +9 -0
  179. package/dist/stories/Button/ButtonState.stories.d.ts +8 -0
  180. package/dist/stories/Button/ButtonToggle.stories.d.ts +9 -0
  181. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +0 -4
  182. package/dist/stories/ButtonGroup/ButtonGroup.stories.d.ts +6 -0
  183. package/dist/stories/ButtonGroup/ButtonGroupModifiers.stories.d.ts +8 -0
  184. package/dist/stories/ButtonGroup/ButtonGroupSlots.stories.d.ts +6 -0
  185. package/dist/stories/ButtonGroup/ButtonGroupToggle.stories.d.ts +8 -0
  186. package/dist/stories/Card/Card.settings.d.ts +0 -3
  187. package/dist/stories/Card/Card.stories.d.ts +6 -0
  188. package/dist/stories/Card/CardSlots.stories.d.ts +9 -0
  189. package/dist/stories/Checkbox/Checkbox.settings.d.ts +1 -21
  190. package/dist/stories/Checkbox/Checkbox.stories.d.ts +13 -0
  191. package/dist/stories/Checkbox/CheckboxBinary.stories.d.ts +7 -0
  192. package/dist/stories/Checkbox/CheckboxSlots.stories.d.ts +7 -0
  193. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -27
  194. package/dist/stories/CheckboxGroup/CheckboxGroup.stories.d.ts +12 -0
  195. package/dist/stories/CheckboxGroup/CheckboxGroupOptions.stories.d.ts +8 -0
  196. package/dist/stories/CheckboxGroup/CheckboxGroupSlots.stories.d.ts +7 -0
  197. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -54
  198. package/dist/stories/Combobox/Combobox.stories.d.ts +21 -0
  199. package/dist/stories/Combobox/ComboboxIconPosition.stories.d.ts +8 -0
  200. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +8 -0
  201. package/dist/stories/Combobox/ComboboxOptions.stories.d.ts +9 -0
  202. package/dist/stories/Combobox/ComboboxSlots.stories.d.ts +10 -0
  203. package/dist/stories/Dialog/Dialog.settings.d.ts +1 -1
  204. package/dist/stories/Dialog/Dialog.stories.d.ts +7 -0
  205. package/dist/stories/Dialog/DialogSlots.stories.d.ts +8 -0
  206. package/dist/stories/Dropdown/Dropdown.settings.d.ts +1 -1
  207. package/dist/stories/Dropdown/Dropdown.stories.d.ts +9 -0
  208. package/dist/stories/Dropdown/DropdownContextmenuDirective.stories.d.ts +6 -0
  209. package/dist/stories/Dropdown/DropdownMultilevel.stories.d.ts +6 -0
  210. package/dist/stories/Dropdown/DropdownSlots.stories.d.ts +8 -0
  211. package/dist/stories/Icon/Icon.settings.d.ts +1 -3
  212. package/dist/stories/Icon/Icon.stories.d.ts +8 -0
  213. package/dist/stories/Icon/IconsCollection.stories.d.ts +6 -0
  214. package/dist/stories/InputText/InputText.settings.d.ts +1 -74
  215. package/dist/stories/InputText/InputText.stories.d.ts +15 -0
  216. package/dist/stories/InputText/InputTextIconPosition.stories.d.ts +8 -0
  217. package/dist/stories/InputText/InputTextLength.stories.d.ts +10 -0
  218. package/dist/stories/InputText/InputTextMinMax.stories.d.ts +9 -0
  219. package/dist/stories/InputText/InputTextSlots.stories.d.ts +8 -0
  220. package/dist/stories/InputText/InputTextType.stories.d.ts +18 -0
  221. package/dist/stories/Nav/Nav.settings.d.ts +30 -0
  222. package/dist/stories/Nav/Nav.stories.d.ts +6 -0
  223. package/dist/stories/Nav/Nav.test.d.ts +2 -0
  224. package/dist/stories/Nav/NavModifiers.stories.d.ts +9 -0
  225. package/dist/stories/Progress/Progress.settings.d.ts +0 -6
  226. package/dist/stories/Progress/Progress.stories.d.ts +7 -0
  227. package/dist/stories/Radio/Radio.settings.d.ts +1 -19
  228. package/dist/stories/Radio/Radio.stories.d.ts +11 -0
  229. package/dist/stories/Radio/RadioSlots.stories.d.ts +7 -0
  230. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -27
  231. package/dist/stories/RadioGroup/RadioGroup.stories.d.ts +12 -0
  232. package/dist/stories/RadioGroup/RadioGroupOptions.stories.d.ts +8 -0
  233. package/dist/stories/RadioGroup/RadioGroupSlots.stories.d.ts +7 -0
  234. package/dist/stories/Select/Select.settings.d.ts +1 -47
  235. package/dist/stories/Select/Select.stories.d.ts +15 -0
  236. package/dist/stories/Select/SelectIconPosition.stories.d.ts +8 -0
  237. package/dist/stories/Select/SelectOptions.stories.d.ts +9 -0
  238. package/dist/stories/Select/SelectSlots.stories.d.ts +8 -0
  239. package/dist/stories/Tab/Tab.settings.d.ts +37 -0
  240. package/dist/stories/Tab/Tab.stories.d.ts +6 -0
  241. package/dist/stories/Tab/Tab.test.d.ts +2 -0
  242. package/dist/stories/Textarea/Textarea.settings.d.ts +1 -43
  243. package/dist/stories/Textarea/Textarea.stories.d.ts +14 -0
  244. package/dist/stories/Textarea/TextareaLength.stories.d.ts +10 -0
  245. package/dist/stories/Textarea/TextareaSlots.stories.d.ts +8 -0
  246. package/dist/stories/Textarea/TextareatIconPosition.stories.d.ts +8 -0
  247. package/dist/stories/Tooltip/Tooltip.settings.d.ts +2 -39
  248. package/dist/stories/Tooltip/Tooltip.stories.d.ts +6 -0
  249. package/dist/stories/Tooltip/TooltipDirective.stories.d.ts +10 -0
  250. package/dist/stories/argTypes.d.ts +5 -125
  251. package/package.json +104 -56
  252. package/src/assets/icons/detailed.json +1 -1
  253. package/src/assets/icons/normal.json +1 -1
  254. package/src/assets/icons/simple.json +1 -1
  255. package/src/components/VvAccordion/index.ts +22 -7
  256. package/src/components/VvAccordionGroup/index.ts +8 -6
  257. package/src/components/VvAction/VvAction.vue +1 -1
  258. package/src/components/VvAlert/VvAlert.vue +54 -0
  259. package/src/components/VvAlert/index.ts +162 -0
  260. package/src/components/VvAlertGroup/VvAlertGroup.vue +34 -0
  261. package/src/components/VvAlertGroup/index.ts +122 -0
  262. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +65 -0
  263. package/src/components/VvAvatarGroup/index.ts +28 -0
  264. package/src/components/VvBreadcrumb/index.ts +1 -1
  265. package/src/components/VvButton/VvButton.vue +9 -6
  266. package/src/components/VvButton/index.ts +44 -21
  267. package/src/components/VvButtonGroup/VvButtonGroup.vue +2 -2
  268. package/src/components/VvButtonGroup/index.ts +14 -2
  269. package/src/components/VvCard/index.ts +3 -1
  270. package/src/components/VvCheckbox/VvCheckbox.vue +23 -2
  271. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +15 -2
  272. package/src/components/VvCombobox/VvCombobox.vue +41 -24
  273. package/src/components/VvCombobox/index.ts +11 -5
  274. package/src/components/VvDialog/VvDialog.vue +11 -7
  275. package/src/components/VvDialog/index.ts +2 -2
  276. package/src/components/VvDropdown/VvDropdown.vue +23 -5
  277. package/src/components/VvDropdown/VvDropdownItem.vue +2 -2
  278. package/src/components/VvIcon/VvIcon.vue +37 -34
  279. package/src/components/VvIcon/index.ts +3 -3
  280. package/src/components/VvInputText/VvInputText.vue +26 -9
  281. package/src/components/VvNav/VvNav.vue +66 -0
  282. package/src/components/VvNav/index.ts +21 -0
  283. package/src/components/VvNavItemTitle/VvNavItemTitle.vue +11 -0
  284. package/src/components/VvNavSeparator/VvNavSeparator.ts +8 -0
  285. package/src/components/VvRadio/VvRadio.vue +23 -2
  286. package/src/components/VvRadioGroup/VvRadioGroup.vue +15 -2
  287. package/src/components/VvSelect/VvSelect.vue +26 -9
  288. package/src/components/VvTab/VvTab.vue +53 -0
  289. package/src/components/VvTab/index.ts +13 -0
  290. package/src/components/VvTextarea/VvTextarea.vue +26 -9
  291. package/src/components/common/HintSlot.ts +129 -170
  292. package/src/composables/alert/useInjectAlert.ts +8 -0
  293. package/src/composables/alert/useProvideAlert.ts +23 -0
  294. package/src/composables/dropdown/useInjectDropdown.ts +3 -28
  295. package/src/composables/dropdown/useProvideDropdown.ts +14 -15
  296. package/src/composables/useOptions.ts +9 -7
  297. package/src/composables/useVolver.ts +1 -2
  298. package/src/constants.ts +42 -4
  299. package/src/props/index.ts +7 -5
  300. package/src/resolvers/unplugin.ts +6 -3
  301. package/src/stories/Accordion/Accordion.settings.ts +18 -7
  302. package/src/stories/Accordion/Accordion.stories.ts +45 -0
  303. package/src/stories/Accordion/AccordionSlots.stories.ts +29 -0
  304. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +22 -0
  305. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +62 -0
  306. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +53 -0
  307. package/src/stories/Alert/Alert.settings.ts +110 -0
  308. package/src/stories/Alert/Alert.stories.ts +60 -0
  309. package/src/stories/Alert/Alert.test.ts +95 -0
  310. package/src/stories/Alert/AlertModifiers.stories.ts +77 -0
  311. package/src/stories/Alert/AlertSlots.stories.ts +74 -0
  312. package/src/stories/AlertGroup/AlertGroup.settings.ts +110 -0
  313. package/src/stories/AlertGroup/AlertGroup.stories.ts +50 -0
  314. package/src/stories/AlertGroup/AlertGroup.test.ts +76 -0
  315. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +103 -0
  316. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +67 -0
  317. package/src/stories/Avatar/Avatar.settings.ts +8 -15
  318. package/src/stories/Avatar/Avatar.stories.ts +42 -0
  319. package/src/stories/Avatar/Avatar.test.ts +1 -1
  320. package/src/stories/Avatar/AvatarBadge.stories.ts +36 -0
  321. package/src/stories/Avatar/AvatarModifiers.stories.ts +100 -0
  322. package/src/stories/Avatar/AvatarSlots.stories.ts +34 -0
  323. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +60 -0
  324. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +35 -0
  325. package/src/stories/AvatarGroup/AvatarGroup.test.ts +36 -0
  326. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +31 -0
  327. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +39 -0
  328. package/src/stories/Badge/Badge.stories.ts +43 -0
  329. package/src/stories/Badge/BadgeSlots.stories.ts +23 -0
  330. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +41 -0
  331. package/src/stories/Breadcrumb/Breadcrumb.test.ts +1 -1
  332. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +37 -0
  333. package/src/stories/Button/Button.settings.ts +14 -2
  334. package/src/stories/Button/Button.stories.ts +38 -0
  335. package/src/stories/Button/ButtonIcon.stories.ts +67 -0
  336. package/src/stories/Button/ButtonLink.stories.ts +40 -0
  337. package/src/stories/Button/ButtonLoading.stories.ts +41 -0
  338. package/src/stories/Button/ButtonModifiers.stories.ts +158 -0
  339. package/src/stories/Button/ButtonSlots.stories.ts +87 -0
  340. package/src/stories/Button/ButtonState.stories.ts +42 -0
  341. package/src/stories/Button/ButtonToggle.stories.ts +52 -0
  342. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +39 -0
  343. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +39 -0
  344. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +38 -0
  345. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +41 -0
  346. package/src/stories/Card/Card.stories.ts +46 -0
  347. package/src/stories/Card/CardSlots.stories.ts +81 -0
  348. package/src/stories/Checkbox/Checkbox.settings.ts +0 -2
  349. package/src/stories/Checkbox/Checkbox.stories.ts +97 -0
  350. package/src/stories/Checkbox/CheckboxBinary.stories.ts +33 -0
  351. package/src/stories/Checkbox/CheckboxSlots.stories.ts +31 -0
  352. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +87 -0
  353. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +53 -0
  354. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +47 -0
  355. package/src/stories/Combobox/Combobox.settings.ts +3 -23
  356. package/src/stories/Combobox/Combobox.stories.ts +176 -0
  357. package/src/stories/Combobox/Combobox.test.ts +2 -2
  358. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +43 -0
  359. package/src/stories/Combobox/ComboboxMultiple.stories.ts +41 -0
  360. package/src/stories/Combobox/ComboboxOptions.stories.ts +78 -0
  361. package/src/stories/Combobox/ComboboxSlots.stories.ts +104 -0
  362. package/src/stories/Dialog/Dialog.settings.ts +1 -1
  363. package/src/stories/Dialog/Dialog.stories.ts +51 -0
  364. package/src/stories/Dialog/Dialog.test.ts +2 -2
  365. package/src/stories/Dialog/DialogSlots.stories.ts +39 -0
  366. package/src/stories/Dropdown/Dropdown.stories.ts +107 -0
  367. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +49 -0
  368. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +61 -0
  369. package/src/stories/Dropdown/DropdownSlots.stories.ts +95 -0
  370. package/src/stories/Icon/Icon.settings.ts +1 -0
  371. package/src/stories/Icon/Icon.stories.ts +48 -0
  372. package/src/stories/Icon/IconsCollection.stories.ts +53 -0
  373. package/src/stories/InputText/InputText.settings.ts +3 -39
  374. package/src/stories/InputText/InputText.stories.ts +121 -0
  375. package/src/stories/InputText/InputTextIconPosition.stories.ts +43 -0
  376. package/src/stories/InputText/InputTextLength.stories.ts +58 -0
  377. package/src/stories/InputText/InputTextMinMax.stories.ts +51 -0
  378. package/src/stories/InputText/InputTextSlots.stories.ts +39 -0
  379. package/src/stories/InputText/InputTextType.stories.ts +119 -0
  380. package/src/stories/Nav/Nav.settings.ts +34 -0
  381. package/src/stories/Nav/Nav.stories.ts +33 -0
  382. package/src/stories/Nav/Nav.test.ts +32 -0
  383. package/src/stories/Nav/NavModifiers.stories.ts +47 -0
  384. package/src/stories/Progress/Progress.settings.ts +0 -3
  385. package/src/stories/Progress/Progress.stories.ts +41 -0
  386. package/src/stories/Radio/Radio.stories.ts +81 -0
  387. package/src/stories/Radio/RadioSlots.stories.ts +31 -0
  388. package/src/stories/RadioGroup/RadioGroup.stories.ts +88 -0
  389. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +53 -0
  390. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +47 -0
  391. package/src/stories/Select/Select.settings.ts +0 -5
  392. package/src/stories/Select/Select.stories.ts +113 -0
  393. package/src/stories/Select/SelectIconPosition.stories.ts +43 -0
  394. package/src/stories/Select/SelectOptions.stories.ts +77 -0
  395. package/src/stories/Select/SelectSlots.stories.ts +39 -0
  396. package/src/stories/Tab/Tab.settings.ts +41 -0
  397. package/src/stories/Tab/Tab.stories.ts +70 -0
  398. package/src/stories/Tab/Tab.test.ts +37 -0
  399. package/src/stories/Textarea/Textarea.settings.ts +0 -8
  400. package/src/stories/Textarea/Textarea.stories.ts +107 -0
  401. package/src/stories/Textarea/TextareaLength.stories.ts +58 -0
  402. package/src/stories/Textarea/TextareaSlots.stories.ts +39 -0
  403. package/src/stories/Textarea/TextareatIconPosition.stories.ts +43 -0
  404. package/src/stories/Tooltip/Tooltip.settings.ts +4 -4
  405. package/src/stories/Tooltip/Tooltip.stories.ts +40 -0
  406. package/src/stories/Tooltip/TooltipDirective.stories.ts +68 -0
  407. package/src/stories/argTypes.ts +5 -59
  408. package/src/types/group.d.ts +5 -3
  409. package/src/stories/Accordion/Accordion.stories.mdx +0 -45
  410. package/src/stories/Accordion/AccordionSlots.stories.mdx +0 -58
  411. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +0 -58
  412. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +0 -59
  413. package/src/stories/Avatar/Avatar.stories.mdx +0 -40
  414. package/src/stories/Avatar/AvatarBadge.stories.mdx +0 -41
  415. package/src/stories/Avatar/AvatarModifiers.stories.mdx +0 -87
  416. package/src/stories/Avatar/AvatarSlotDefault.stories.mdx +0 -29
  417. package/src/stories/Badge/Badge.stories.mdx +0 -51
  418. package/src/stories/Badge/BadgeSlots.stories.mdx +0 -20
  419. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +0 -50
  420. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +0 -43
  421. package/src/stories/Button/Button.stories.mdx +0 -35
  422. package/src/stories/Button/ButtonIcon.stories.mdx +0 -153
  423. package/src/stories/Button/ButtonLink.stories.mdx +0 -72
  424. package/src/stories/Button/ButtonLoading.stories.mdx +0 -108
  425. package/src/stories/Button/ButtonModifiers.stories.mdx +0 -257
  426. package/src/stories/Button/ButtonSlots.stories.mdx +0 -116
  427. package/src/stories/Button/ButtonState.stories.mdx +0 -66
  428. package/src/stories/Button/ButtonToggle.stories.mdx +0 -50
  429. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +0 -37
  430. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.mdx +0 -52
  431. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.mdx +0 -37
  432. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +0 -73
  433. package/src/stories/Card/Card.stories.mdx +0 -40
  434. package/src/stories/Card/CardSlots.stories.mdx +0 -98
  435. package/src/stories/Checkbox/Checkbox.stories.mdx +0 -164
  436. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +0 -68
  437. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +0 -46
  438. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +0 -135
  439. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.mdx +0 -100
  440. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +0 -68
  441. package/src/stories/Combobox/Combobox.stories.mdx +0 -324
  442. package/src/stories/Combobox/ComboboxIconPosition.stories.mdx +0 -78
  443. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +0 -73
  444. package/src/stories/Combobox/ComboboxOptions.stories.mdx +0 -135
  445. package/src/stories/Combobox/ComboboxSlots.stories.mdx +0 -153
  446. package/src/stories/Dialog/Dialog.stories.mdx +0 -56
  447. package/src/stories/Dialog/DialogSlots.stories.mdx +0 -63
  448. package/src/stories/Dropdown/Dropdown.stories.mdx +0 -124
  449. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.mdx +0 -41
  450. package/src/stories/Dropdown/DropdownMultilevel.stories.mdx +0 -56
  451. package/src/stories/Dropdown/DropdownSlots.stories.mdx +0 -114
  452. package/src/stories/Icon/Icon.stories.mdx +0 -91
  453. package/src/stories/Icon/IconsCollection.stories.mdx +0 -69
  454. package/src/stories/InputText/InputText.stories.mdx +0 -211
  455. package/src/stories/InputText/InputTextIconPosition.stories.mdx +0 -78
  456. package/src/stories/InputText/InputTextLength.stories.mdx +0 -110
  457. package/src/stories/InputText/InputTextMinMax.stories.mdx +0 -112
  458. package/src/stories/InputText/InputTextSlots.stories.mdx +0 -69
  459. package/src/stories/InputText/InputTextType.stories.mdx +0 -259
  460. package/src/stories/Progress/Progress.stories.mdx +0 -30
  461. package/src/stories/Radio/Radio.stories.mdx +0 -128
  462. package/src/stories/Radio/RadioSlots.stories.mdx +0 -46
  463. package/src/stories/RadioGroup/RadioGroup.stories.mdx +0 -135
  464. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +0 -100
  465. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +0 -68
  466. package/src/stories/Select/Select.stories.mdx +0 -196
  467. package/src/stories/Select/SelectIconPosition.stories.mdx +0 -78
  468. package/src/stories/Select/SelectOptions.stories.mdx +0 -135
  469. package/src/stories/Select/SelectSlots.stories.mdx +0 -48
  470. package/src/stories/Textarea/Textarea.stories.mdx +0 -187
  471. package/src/stories/Textarea/TextareaLength.stories.mdx +0 -110
  472. package/src/stories/Textarea/TextareaSlots.stories.mdx +0 -69
  473. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +0 -78
  474. package/src/stories/Tooltip/Tooltip.stories.mdx +0 -102
  475. package/src/stories/Tooltip/TooltipDirective.stories.mdx +0 -99
@@ -0,0 +1,661 @@
1
+ import { inject, computed, unref, defineComponent, ref, toRefs, openBlock, createBlock, mergeProps, createCommentVNode, watch, withModifiers, createElementBlock, normalizeProps, guardReactiveProps, createElementVNode, renderSlot, toDisplayString, createTextVNode } from "vue";
2
+ import { iconExists, Icon, addIcon } from "@iconify/vue";
3
+ import { nanoid } from "nanoid";
4
+ const VvIconProps = {
5
+ /**
6
+ * Color
7
+ */
8
+ color: String,
9
+ /**
10
+ * Width
11
+ */
12
+ width: {
13
+ type: [String, Number]
14
+ },
15
+ /**
16
+ * Height
17
+ */
18
+ height: {
19
+ type: [String, Number]
20
+ },
21
+ /**
22
+ * Icon name
23
+ * Can be the full composition of iconify name "@{provider}:{prefix}:{name}" or "{prefix}:{name}" or "{name}"
24
+ * https://docs.iconify.design/api/providers.html#provider-in-icon-name
25
+ */
26
+ name: {
27
+ type: String,
28
+ required: true
29
+ },
30
+ /**
31
+ * By default 'vv'
32
+ * If custom collection is not added with "addCollection" DS class method, this prop could not be used
33
+ * Icon provider: https://docs.iconify.design/api/providers.html#provider-in-icon-name
34
+ */
35
+ provider: {
36
+ type: String
37
+ },
38
+ /**
39
+ * The name of icon set.
40
+ * Icon default options prefix: simple | normal | detailed
41
+ */
42
+ prefix: {
43
+ type: String,
44
+ default: "normal"
45
+ },
46
+ /**
47
+ * Url remote SVG icon
48
+ */
49
+ src: String,
50
+ /**
51
+ * Horizontal flip
52
+ */
53
+ horizontalFlip: Boolean,
54
+ /**
55
+ * Vertical flip
56
+ */
57
+ verticalFlip: Boolean,
58
+ /**
59
+ * String alternative to "horizontalFlip" and "verticalFlip".
60
+ * Example: https://docs.iconify.design/icon-components/vue/transform.html
61
+ */
62
+ flip: String,
63
+ /**
64
+ * Icon render mode
65
+ * 'style' = 'bg' or 'mask', depending on icon content
66
+ * 'bg' = span with style using `background`
67
+ * 'mask' = span with style using `mask`
68
+ * 'svg' = svg
69
+ * Iconify doc: https://docs.iconify.design/iconify-icon/modes.html
70
+ */
71
+ mode: String,
72
+ /**
73
+ * Toggles inline or block mode
74
+ * Example https://docs.iconify.design/icon-components/vue/inline.html
75
+ */
76
+ inline: Boolean,
77
+ /**
78
+ * rotates icon
79
+ * Example https://docs.iconify.design/icon-components/vue/transform.html
80
+ */
81
+ rotate: [Number, String],
82
+ /**
83
+ * A callback that is called when icon data has been loaded
84
+ */
85
+ onLoad: Function,
86
+ /**
87
+ * SVG icon string
88
+ */
89
+ svg: String,
90
+ /**
91
+ * Icon modifiers: vv-icon css helper classes, value/s are concatened with prefix 'vv-icon--'
92
+ * @values string | string[]
93
+ */
94
+ modifiers: {
95
+ type: [String, Array]
96
+ }
97
+ };
98
+ var Side = /* @__PURE__ */ ((Side2) => {
99
+ Side2["left"] = "left";
100
+ Side2["right"] = "right";
101
+ Side2["top"] = "top";
102
+ Side2["bottom"] = "bottom";
103
+ return Side2;
104
+ })(Side || {});
105
+ var Placement = /* @__PURE__ */ ((Placement2) => {
106
+ Placement2["topStart"] = "top-start";
107
+ Placement2["topEnd"] = "top-end";
108
+ Placement2["bottomStart"] = "bottom-start";
109
+ Placement2["bottomEnd"] = "bottom-end";
110
+ Placement2["leftStart"] = "left-start";
111
+ Placement2["leftEnd"] = "left-end";
112
+ Placement2["rightStart"] = "right-start";
113
+ Placement2["rightEnd"] = "right-end";
114
+ return Placement2;
115
+ })(Placement || {});
116
+ var Position = /* @__PURE__ */ ((Position2) => {
117
+ Position2["before"] = "before";
118
+ Position2["after"] = "after";
119
+ return Position2;
120
+ })(Position || {});
121
+ var ButtonType = /* @__PURE__ */ ((ButtonType2) => {
122
+ ButtonType2["button"] = "button";
123
+ ButtonType2["submit"] = "submit";
124
+ ButtonType2["reset"] = "reset";
125
+ return ButtonType2;
126
+ })(ButtonType || {});
127
+ var AnchorTarget = /* @__PURE__ */ ((AnchorTarget2) => {
128
+ AnchorTarget2["_blank"] = "_blank";
129
+ AnchorTarget2["_self"] = "_self";
130
+ AnchorTarget2["_parent"] = "_parent";
131
+ AnchorTarget2["_top"] = "_top";
132
+ return AnchorTarget2;
133
+ })(AnchorTarget || {});
134
+ const INJECTION_KEY_VOLVER = Symbol.for("volver");
135
+ const INJECTION_KEY_ALERT_GROUP = Symbol.for(
136
+ "alertGroup"
137
+ );
138
+ function useVolver() {
139
+ return inject(INJECTION_KEY_VOLVER);
140
+ }
141
+ function useModifiers(prefix, modifiers, others) {
142
+ return computed(() => {
143
+ const toReturn = {
144
+ [prefix]: true
145
+ };
146
+ const modifiersArray = typeof (modifiers == null ? void 0 : modifiers.value) === "string" ? modifiers.value.split(" ") : modifiers == null ? void 0 : modifiers.value;
147
+ if (modifiersArray) {
148
+ if (Array.isArray(modifiersArray)) {
149
+ modifiersArray.forEach((modifier) => {
150
+ if (modifier) {
151
+ toReturn[`${prefix}--${modifier}`] = true;
152
+ }
153
+ });
154
+ }
155
+ }
156
+ if (others) {
157
+ Object.keys(others.value).forEach((key) => {
158
+ toReturn[`${prefix}--${key}`] = unref(others.value[key]);
159
+ });
160
+ }
161
+ return toReturn;
162
+ });
163
+ }
164
+ const __default__$1 = {
165
+ name: "VvIcon"
166
+ };
167
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
168
+ ...__default__$1,
169
+ props: VvIconProps,
170
+ setup(__props) {
171
+ const props = __props;
172
+ const hasRotate = computed(() => {
173
+ if (typeof props.rotate === "string") {
174
+ return parseFloat(props.rotate);
175
+ }
176
+ return props.rotate;
177
+ });
178
+ const show = ref(true);
179
+ const volver = useVolver();
180
+ const { modifiers } = toRefs(props);
181
+ const bemCssClasses = useModifiers("vv-icon", modifiers);
182
+ const provider = computed(() => {
183
+ return props.provider || (volver == null ? void 0 : volver.iconsProvider);
184
+ });
185
+ const icon = computed(() => {
186
+ const name = props.name ?? "";
187
+ const iconName = `@${provider.value}:${props.prefix}:${name}`;
188
+ if (iconExists(iconName)) {
189
+ return iconName;
190
+ }
191
+ const iconsCollection = volver == null ? void 0 : volver.iconsCollections.find(
192
+ (iconsCollection2) => {
193
+ const icon2 = `@${provider.value}:${iconsCollection2.prefix}:${name}`;
194
+ return iconExists(icon2);
195
+ }
196
+ );
197
+ if (iconsCollection) {
198
+ return `@${provider.value}:${iconsCollection.prefix}:${name}`;
199
+ }
200
+ return name;
201
+ });
202
+ function getSvgContent(svg) {
203
+ let dom;
204
+ if (typeof window === "undefined") {
205
+ const { JSDOM } = require("jsdom");
206
+ dom = new JSDOM().window;
207
+ }
208
+ const domParser = dom ? new dom.DOMParser() : new window.DOMParser();
209
+ const svgDomString = domParser.parseFromString(svg, "text/html");
210
+ const svgEl = svgDomString.querySelector("svg");
211
+ return svgEl;
212
+ }
213
+ function addIconFromSvg(svg) {
214
+ const svgContentEl = getSvgContent(svg);
215
+ const svgContent = (svgContentEl == null ? void 0 : svgContentEl.innerHTML.trim()) || "";
216
+ if (svgContentEl && svgContent) {
217
+ addIcon(`@${provider.value}:${props.prefix}:${props.name}`, {
218
+ body: svgContent,
219
+ // Set height and width from svg content
220
+ height: svgContentEl.viewBox.baseVal.height,
221
+ width: svgContentEl.viewBox.baseVal.width
222
+ });
223
+ }
224
+ }
225
+ if (volver) {
226
+ if (props.src && !iconExists(`@${provider.value}:${props.prefix}:${props.name}`)) {
227
+ show.value = false;
228
+ volver.fetchIcon(props.src).then((svg) => {
229
+ if (svg) {
230
+ addIconFromSvg(svg);
231
+ show.value = true;
232
+ }
233
+ }).catch((e) => {
234
+ throw new Error(`Error during fetch icon: ${e == null ? void 0 : e.message}`);
235
+ });
236
+ }
237
+ }
238
+ if (props.svg) {
239
+ addIconFromSvg(props.svg);
240
+ }
241
+ return (_ctx, _cache) => {
242
+ return unref(show) ? (openBlock(), createBlock(unref(Icon), mergeProps({
243
+ key: 0,
244
+ class: unref(bemCssClasses)
245
+ }, {
246
+ inline: _ctx.inline,
247
+ width: _ctx.width,
248
+ height: _ctx.height,
249
+ horizontalFlip: _ctx.horizontalFlip,
250
+ verticalFlip: _ctx.verticalFlip,
251
+ flip: _ctx.flip,
252
+ rotate: unref(hasRotate),
253
+ color: _ctx.color,
254
+ onLoad: _ctx.onLoad,
255
+ icon: unref(icon)
256
+ }), null, 16, ["class"])) : createCommentVNode("", true);
257
+ };
258
+ }
259
+ });
260
+ const LinkProps = {
261
+ /**
262
+ * The router-link/nuxt-link property, if it is defined the button is rendered as a ruouter-link or nuxt-link.
263
+ * @see Documentation of [router-link](https://router.vuejs.org/api/#router-link) and [nuxt-link](https://nuxtjs.org/api/components-nuxt-link/)
264
+ */
265
+ to: {
266
+ type: [String, Object]
267
+ },
268
+ /**
269
+ * Anchor href
270
+ */
271
+ href: String,
272
+ /**
273
+ * Anchor target
274
+ */
275
+ target: {
276
+ type: String,
277
+ validator: (value) => Object.values(AnchorTarget).includes(value)
278
+ },
279
+ /**
280
+ * Anchor rel
281
+ */
282
+ rel: {
283
+ type: String,
284
+ default: "noopener noreferrer"
285
+ }
286
+ };
287
+ const DisabledProps = {
288
+ /**
289
+ * Whether the form control is disabled
290
+ */
291
+ disabled: Boolean
292
+ };
293
+ const ActiveProps = {
294
+ /**
295
+ * Whether the item is active
296
+ */
297
+ active: Boolean
298
+ };
299
+ const PressedProps = {
300
+ /**
301
+ * Whether the item is pressed
302
+ */
303
+ pressed: Boolean
304
+ };
305
+ const LabelProps = {
306
+ /**
307
+ * The item label
308
+ */
309
+ label: [String, Number]
310
+ };
311
+ const ModifiersProps = {
312
+ /**
313
+ * Component BEM modifiers
314
+ */
315
+ modifiers: [String, Array]
316
+ };
317
+ const IconProps = {
318
+ /**
319
+ * VvIcon name or props
320
+ * @see VVIcon
321
+ */
322
+ icon: { type: [String, Object] },
323
+ /**
324
+ * VvIcon position
325
+ */
326
+ iconPosition: {
327
+ type: String,
328
+ default: Position.before,
329
+ validation: (value) => Object.values(Position).includes(value)
330
+ }
331
+ };
332
+ const IdProps = {
333
+ /**
334
+ * Global attribute id
335
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id
336
+ */
337
+ id: [String, Number]
338
+ };
339
+ ({
340
+ /**
341
+ * Dropdown placement
342
+ */
343
+ placement: {
344
+ type: String,
345
+ default: Side.bottom,
346
+ validator: (value) => {
347
+ return Object.values(Side).includes(value) || Object.values(Placement).includes(value);
348
+ }
349
+ },
350
+ /**
351
+ * Dropdown strategy
352
+ */
353
+ strategy: {
354
+ type: String,
355
+ default: "absolute",
356
+ validator: (value) => {
357
+ return ["fixed", "absolute"].includes(value);
358
+ }
359
+ },
360
+ /**
361
+ * Dropdown show / hide transition name
362
+ */
363
+ transitionName: {
364
+ type: String
365
+ },
366
+ /**
367
+ * Offset of the dropdown from the trigger
368
+ * @see https://floating-ui.com/docs/offset
369
+ */
370
+ offset: {
371
+ type: [Number, String, Object],
372
+ default: 0
373
+ },
374
+ /**
375
+ * Move dropdown to the side if there is no space in the default position
376
+ * @see https://floating-ui.com/docs/shift
377
+ */
378
+ shift: {
379
+ type: [Boolean, Object],
380
+ default: false
381
+ },
382
+ /**
383
+ * Flip dropdown position if there is no space in the default position
384
+ * @see https://floating-ui.com/docs/flip
385
+ */
386
+ flip: {
387
+ type: [Boolean, Object],
388
+ default: true
389
+ },
390
+ /**
391
+ * Size of the dropdown
392
+ * @see https://floating-ui.com/docs/size
393
+ */
394
+ size: {
395
+ type: [Boolean, Object],
396
+ default: () => ({ padding: 10 })
397
+ },
398
+ /**
399
+ * Automatically change the position of the dropdown
400
+ * @see https://floating-ui.com/docs/autoPlacement
401
+ */
402
+ autoPlacement: {
403
+ type: [Boolean, Object],
404
+ default: false
405
+ },
406
+ /**
407
+ * Add arrow to the dropdown
408
+ * @see https://floating-ui.com/docs/arrow
409
+ */
410
+ arrow: {
411
+ type: Boolean,
412
+ default: false
413
+ },
414
+ /**
415
+ * Keep open dropdown on click outside
416
+ */
417
+ keepOpen: {
418
+ type: Boolean,
419
+ default: false
420
+ },
421
+ /**
422
+ * Autofocus first item on dropdown open
423
+ */
424
+ autofocusFirst: {
425
+ type: Boolean,
426
+ default: true
427
+ },
428
+ /**
429
+ * Set dropdown width to the same as the trigger
430
+ */
431
+ triggerWidth: {
432
+ type: Boolean
433
+ }
434
+ });
435
+ ({
436
+ ...DisabledProps,
437
+ ...LabelProps,
438
+ ...PressedProps,
439
+ ...ActiveProps,
440
+ ...LinkProps,
441
+ /**
442
+ * Button type
443
+ */
444
+ type: {
445
+ type: String,
446
+ default: ButtonType.button,
447
+ validator: (value) => Object.values(ButtonType).includes(value)
448
+ }
449
+ });
450
+ function useInjectedAlertGroup() {
451
+ return inject(INJECTION_KEY_ALERT_GROUP, {});
452
+ }
453
+ const useUniqueId = (id) => computed(() => String((id == null ? void 0 : id.value) || nanoid()));
454
+ const VvAlertProps = {
455
+ ...IdProps,
456
+ ...ModifiersProps,
457
+ ...IconProps,
458
+ /**
459
+ * The alert is dismissable
460
+ * @default false
461
+ * @type boolean
462
+ */
463
+ dismissable: {
464
+ type: Boolean,
465
+ default: false
466
+ },
467
+ /**
468
+ * The alert auto close after the specified time in milliseconds
469
+ * @default 0
470
+ * @type number
471
+ */
472
+ autoClose: {
473
+ type: Number,
474
+ default: 0
475
+ },
476
+ /**
477
+ * The alert close label
478
+ * @default 'Close'
479
+ * @type string
480
+ */
481
+ closeLabel: {
482
+ type: String,
483
+ default: "Close"
484
+ },
485
+ /**
486
+ * The alert title
487
+ * @default ''
488
+ * @type string
489
+ */
490
+ title: {
491
+ type: String,
492
+ default: ""
493
+ },
494
+ /**
495
+ * The alert content
496
+ * @default ''
497
+ * @type string
498
+ */
499
+ content: {
500
+ type: String,
501
+ default: ""
502
+ },
503
+ /**
504
+ * The alert footer
505
+ * @default ''
506
+ * @type string
507
+ */
508
+ footer: {
509
+ type: String,
510
+ default: ""
511
+ },
512
+ /**
513
+ * The alert role
514
+ * @default 'alert'
515
+ * @type string
516
+ * @values 'alert', 'alertdialog'
517
+ * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Alert_Role
518
+ * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Alertdialog_role
519
+ */
520
+ role: {
521
+ type: String,
522
+ default: "alert"
523
+ }
524
+ };
525
+ const VvAlertEvents = ["close"];
526
+ const useVvAlert = (props, emit) => {
527
+ const { bus } = useInjectedAlertGroup();
528
+ const hasId = useUniqueId(computed(() => props.id));
529
+ const hasTitleId = computed(() => `${hasId.value}-title`);
530
+ const hasIcon = computed(
531
+ () => typeof props.icon === "string" ? { name: props.icon } : props.icon
532
+ );
533
+ const hasClass = useModifiers(
534
+ "vv-alert",
535
+ computed(() => props.modifiers),
536
+ computed(() => ({
537
+ dismissable: props.autoClose > 0 || props.dismissable,
538
+ "auto-close": props.autoClose > 0,
539
+ hover: isMouseover.value
540
+ }))
541
+ );
542
+ const hasStyle = computed(() => ({
543
+ "--alert-duration": `${props.autoClose}ms`
544
+ }));
545
+ const close = () => {
546
+ if (timeout) {
547
+ clearTimeout(timeout);
548
+ }
549
+ emit("close", hasId.value);
550
+ bus == null ? void 0 : bus.emit("close", hasId.value);
551
+ };
552
+ let timeout;
553
+ watch(
554
+ () => props.autoClose,
555
+ (value) => {
556
+ if (value > 0) {
557
+ timeout = setTimeout(close, value);
558
+ return;
559
+ }
560
+ if (timeout) {
561
+ clearTimeout(timeout);
562
+ }
563
+ },
564
+ {
565
+ immediate: true
566
+ }
567
+ );
568
+ const isMouseover = ref(false);
569
+ const onMouseover = withModifiers(() => {
570
+ isMouseover.value = true;
571
+ if (timeout) {
572
+ clearTimeout(timeout);
573
+ }
574
+ }, ["passive"]);
575
+ const onMouseleave = withModifiers(() => {
576
+ isMouseover.value = false;
577
+ if (props.autoClose > 0) {
578
+ timeout = setTimeout(close, props.autoClose);
579
+ }
580
+ }, ["passive"]);
581
+ return {
582
+ close,
583
+ hasIcon,
584
+ hasTitleId,
585
+ hasProps: computed(() => ({
586
+ onMouseover,
587
+ onMouseleave,
588
+ class: hasClass.value,
589
+ style: hasStyle.value,
590
+ role: props.role,
591
+ "aria-labelledby": hasTitleId.value
592
+ }))
593
+ };
594
+ };
595
+ const _hoisted_1 = { class: "vv-alert__header" };
596
+ const _hoisted_2 = ["id"];
597
+ const _hoisted_3 = ["aria-label"];
598
+ const _hoisted_4 = /* @__PURE__ */ createElementVNode("div", { class: "vv-alert__close-mask" }, null, -1);
599
+ const _hoisted_5 = [
600
+ _hoisted_4
601
+ ];
602
+ const _hoisted_6 = {
603
+ key: 0,
604
+ class: "vv-alert__content"
605
+ };
606
+ const _hoisted_7 = {
607
+ key: 1,
608
+ class: "vv-alert__footer"
609
+ };
610
+ const __default__ = {
611
+ name: "VvAlert"
612
+ };
613
+ const _sfc_main = /* @__PURE__ */ defineComponent({
614
+ ...__default__,
615
+ props: VvAlertProps,
616
+ emits: VvAlertEvents,
617
+ setup(__props, { expose: __expose, emit }) {
618
+ const props = __props;
619
+ const { hasProps, hasTitleId, hasIcon, close } = useVvAlert(props, emit);
620
+ __expose({ close });
621
+ return (_ctx, _cache) => {
622
+ return openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(unref(hasProps))), [
623
+ createElementVNode("div", _hoisted_1, [
624
+ unref(hasIcon) ? (openBlock(), createBlock(_sfc_main$1, mergeProps({ key: 0 }, unref(hasIcon), { class: "vv-alert__icon" }), null, 16)) : createCommentVNode("", true),
625
+ renderSlot(_ctx.$slots, "header", {}, () => [
626
+ renderSlot(_ctx.$slots, "title::before"),
627
+ createElementVNode("strong", {
628
+ id: unref(hasTitleId),
629
+ class: "vv-alert__title"
630
+ }, toDisplayString(_ctx.title), 9, _hoisted_2),
631
+ renderSlot(_ctx.$slots, "title::after")
632
+ ]),
633
+ _ctx.dismissable || _ctx.autoClose ? (openBlock(), createElementBlock("button", {
634
+ key: 1,
635
+ class: "vv-alert__close",
636
+ type: "button",
637
+ "aria-label": _ctx.closeLabel,
638
+ onClick: _cache[0] || (_cache[0] = withModifiers(
639
+ //@ts-ignore
640
+ (...args) => unref(close) && unref(close)(...args),
641
+ ["stop"]
642
+ ))
643
+ }, _hoisted_5, 8, _hoisted_3)) : createCommentVNode("", true)
644
+ ]),
645
+ _ctx.$slots.default || _ctx.content ? (openBlock(), createElementBlock("div", _hoisted_6, [
646
+ renderSlot(_ctx.$slots, "default", {}, () => [
647
+ createTextVNode(toDisplayString(_ctx.content), 1)
648
+ ])
649
+ ])) : createCommentVNode("", true),
650
+ _ctx.$slots.footer || _ctx.footer ? (openBlock(), createElementBlock("div", _hoisted_7, [
651
+ renderSlot(_ctx.$slots, "footer", {}, () => [
652
+ createTextVNode(toDisplayString(_ctx.footer), 1)
653
+ ])
654
+ ])) : createCommentVNode("", true)
655
+ ], 16);
656
+ };
657
+ }
658
+ });
659
+ export {
660
+ _sfc_main as default
661
+ };
@@ -0,0 +1 @@
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o(require("vue"),require("@iconify/vue"),require("nanoid")):"function"==typeof define&&define.amd?define(["vue","@iconify/vue","nanoid"],o):(e="undefined"!=typeof globalThis?globalThis:e||self).VvAlert=o(e.vue,e.vue$1,e.nanoid)}(this,(function(e,o,t){"use strict";const r={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]}};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||{}),i=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(i||{});const a=Symbol.for("volver"),s=Symbol.for("alertGroup");function c(o,t,r){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)})),r&&Object.keys(r.value).forEach((t=>{n[`${o}--${t}`]=e.unref(r.value[t])})),n}))}const u=e.defineComponent({name:"VvIcon",props:r,setup(t){const r=t,n=e.computed((()=>"string"==typeof r.rotate?parseFloat(r.rotate):r.rotate)),l=e.ref(!0),i=e.inject(a),{modifiers:s}=e.toRefs(r),u=c("vv-icon",s),d=e.computed((()=>r.provider||(null==i?void 0:i.iconsProvider))),f=e.computed((()=>{const e=r.name??"",t=`@${d.value}:${r.prefix}:${e}`;if(o.iconExists(t))return t;const n=null==i?void 0:i.iconsCollections.find((t=>{const r=`@${d.value}:${t.prefix}:${e}`;return o.iconExists(r)}));return n?`@${d.value}:${n.prefix}:${e}`:e}));function p(e){const t=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),n=(null==t?void 0:t.innerHTML.trim())||"";t&&n&&o.addIcon(`@${d.value}:${r.prefix}:${r.name}`,{body:n,height:t.viewBox.baseVal.height,width:t.viewBox.baseVal.width})}return i&&r.src&&!o.iconExists(`@${d.value}:${r.prefix}:${r.name}`)&&(l.value=!1,i.fetchIcon(r.src).then((e=>{e&&(p(e),l.value=!0)})).catch((e=>{throw new Error(`Error during fetch icon: ${null==e?void 0:e.message}`)}))),r.svg&&p(r.svg),(t,r)=>e.unref(l)?(e.openBlock(),e.createBlock(e.unref(o.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:t.inline,width:t.width,height:t.height,horizontalFlip:t.horizontalFlip,verticalFlip:t.verticalFlip,flip:t.flip,rotate:e.unref(n),color:t.color,onLoad:t.onLoad,icon:e.unref(f)}),null,16,["class"])):e.createCommentVNode("",!0)}}),d=(Boolean,Boolean,Boolean,{modifiers:[String,Array]}),f={icon:{type:[String,Object]},iconPosition:{type:String,default:l.before,validation:e=>Object.values(l).includes(e)}},p={id:[String,Number]};n.bottom,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,Boolean,i.button;const v={...p,...d,...f,dismissable:{type:Boolean,default:!1},autoClose:{type:Number,default:0},closeLabel:{type:String,default:"Close"},title:{type:String,default:""},content:{type:String,default:""},footer:{type:String,default:""},role:{type:String,default:"alert"}},m=(o,r)=>{const{bus:n}=e.inject(s,{}),l=(i=e.computed((()=>o.id)),e.computed((()=>String((null==i?void 0:i.value)||t.nanoid()))));var i;const a=e.computed((()=>`${l.value}-title`)),u=e.computed((()=>"string"==typeof o.icon?{name:o.icon}:o.icon)),d=c("vv-alert",e.computed((()=>o.modifiers)),e.computed((()=>({dismissable:o.autoClose>0||o.dismissable,"auto-close":o.autoClose>0,hover:m.value})))),f=e.computed((()=>({"--alert-duration":`${o.autoClose}ms`}))),p=()=>{v&&clearTimeout(v),r("close",l.value),null==n||n.emit("close",l.value)};let v;e.watch((()=>o.autoClose),(e=>{e>0?v=setTimeout(p,e):v&&clearTimeout(v)}),{immediate:!0});const m=e.ref(!1),g=e.withModifiers((()=>{m.value=!0,v&&clearTimeout(v)}),["passive"]),y=e.withModifiers((()=>{m.value=!1,o.autoClose>0&&(v=setTimeout(p,o.autoClose))}),["passive"]);return{close:p,hasIcon:u,hasTitleId:a,hasProps:e.computed((()=>({onMouseover:g,onMouseleave:y,class:d.value,style:f.value,role:o.role,"aria-labelledby":a.value})))}},g={class:"vv-alert__header"},y=["id"],h=["aria-label"],b=[e.createElementVNode("div",{class:"vv-alert__close-mask"},null,-1)],S={key:0,class:"vv-alert__content"},$={key:1,class:"vv-alert__footer"};return e.defineComponent({name:"VvAlert",props:v,emits:["close"],setup(o,{expose:t,emit:r}){const n=o,{hasProps:l,hasTitleId:i,hasIcon:a,close:s}=m(n,r);return t({close:s}),(o,t)=>(e.openBlock(),e.createElementBlock("div",e.normalizeProps(e.guardReactiveProps(e.unref(l))),[e.createElementVNode("div",g,[e.unref(a)?(e.openBlock(),e.createBlock(u,e.mergeProps({key:0},e.unref(a),{class:"vv-alert__icon"}),null,16)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"header",{},(()=>[e.renderSlot(o.$slots,"title::before"),e.createElementVNode("strong",{id:e.unref(i),class:"vv-alert__title"},e.toDisplayString(o.title),9,y),e.renderSlot(o.$slots,"title::after")])),o.dismissable||o.autoClose?(e.openBlock(),e.createElementBlock("button",{key:1,class:"vv-alert__close",type:"button","aria-label":o.closeLabel,onClick:t[0]||(t[0]=e.withModifiers(((...o)=>e.unref(s)&&e.unref(s)(...o)),["stop"]))},b,8,h)):e.createCommentVNode("",!0)]),o.$slots.default||o.content?(e.openBlock(),e.createElementBlock("div",S,[e.renderSlot(o.$slots,"default",{},(()=>[e.createTextVNode(e.toDisplayString(o.content),1)]))])):e.createCommentVNode("",!0),o.$slots.footer||o.footer?(e.openBlock(),e.createElementBlock("div",$,[e.renderSlot(o.$slots,"footer",{},(()=>[e.createTextVNode(e.toDisplayString(o.footer),1)]))])):e.createCommentVNode("",!0)],16))}})}));