@volverjs/ui-vue 0.0.1-beta.8 → 0.0.1

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 (559) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +91 -56
  3. package/bin/icons.cjs +73 -0
  4. package/bin/icons.js +75 -0
  5. package/dist/{DesignSystem.d.ts → Volver.d.ts} +22 -18
  6. package/dist/components/VvAccordion/VvAccordion.es.js +165 -0
  7. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -0
  8. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +32 -97
  9. package/dist/components/VvAccordion/index.d.ts +46 -0
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +243 -0
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -0
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +77 -151
  13. package/dist/components/VvAccordionGroup/{VvAccordionGroup.d.ts → index.d.ts} +30 -13
  14. package/dist/components/VvBadge/VvBadge.es.js +62 -0
  15. package/dist/components/VvBadge/VvBadge.umd.js +1 -0
  16. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -54
  17. package/dist/components/VvBadge/{VvBadge.d.ts → index.d.ts} +1 -1
  18. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +93 -0
  19. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -0
  20. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +33 -107
  21. package/dist/components/VvBreadcrumb/{VvBreadcrumb.d.ts → index.d.ts} +2 -3
  22. package/dist/components/VvButton/VvButton.es.js +427 -0
  23. package/dist/components/VvButton/VvButton.umd.js +1 -0
  24. package/dist/components/VvButton/VvButton.vue.d.ts +108 -199
  25. package/dist/components/VvButton/index.d.ts +132 -0
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +108 -0
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -0
  28. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +89 -183
  29. package/dist/components/VvButtonGroup/index.d.ts +54 -0
  30. package/dist/components/VvCard/VvCard.es.js +77 -0
  31. package/dist/components/VvCard/VvCard.umd.js +1 -0
  32. package/dist/components/VvCard/VvCard.vue.d.ts +16 -61
  33. package/dist/components/VvCard/{VvCard.d.ts → index.d.ts} +1 -1
  34. package/dist/components/VvCheckbox/VvCheckbox.es.js +357 -0
  35. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -0
  36. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +74 -0
  37. package/dist/components/VvCheckbox/index.d.ts +54 -0
  38. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +435 -0
  39. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -0
  40. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +82 -0
  41. package/dist/components/VvCheckboxGroup/index.d.ts +32 -0
  42. package/dist/components/VvCombobox/VvCombobox.es.js +594 -0
  43. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -0
  44. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +153 -0
  45. package/dist/components/{VvSelect/VvSelect.d.ts → VvCombobox/index.d.ts} +33 -36
  46. package/dist/components/VvDialog/VvDialog.es.js +200 -0
  47. package/dist/components/VvDialog/VvDialog.umd.js +1 -0
  48. package/dist/components/VvDialog/VvDialog.vue.d.ts +28 -132
  49. package/dist/components/VvDialog/{VvDialog.d.ts → index.d.ts} +2 -6
  50. package/dist/components/VvDropdown/VvDropdown.es.js +218 -0
  51. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -0
  52. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +41 -147
  53. package/dist/components/VvDropdown/index.d.ts +37 -0
  54. package/dist/components/VvIcon/VvIcon.es.js +124 -0
  55. package/dist/components/VvIcon/VvIcon.umd.js +1 -0
  56. package/dist/components/VvIcon/VvIcon.vue.d.ts +36 -150
  57. package/dist/components/VvIcon/{VvIcon.d.ts → index.d.ts} +9 -0
  58. package/dist/components/VvInputText/VvInputClearAction.d.ts +36 -0
  59. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +56 -0
  60. package/dist/components/VvInputText/VvInputStepAction.d.ts +37 -0
  61. package/dist/components/VvInputText/VvInputText.es.js +764 -0
  62. package/dist/components/VvInputText/VvInputText.umd.js +1 -0
  63. package/dist/components/VvInputText/VvInputText.vue.d.ts +210 -287
  64. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  65. package/dist/components/VvInputText/index.d.ts +182 -0
  66. package/dist/components/VvProgress/VvProgress.es.js +71 -0
  67. package/dist/components/VvProgress/VvProgress.umd.js +1 -0
  68. package/dist/components/VvProgress/VvProgress.vue.d.ts +20 -107
  69. package/dist/components/VvProgress/index.d.ts +30 -0
  70. package/dist/components/VvRadio/VvRadio.es.js +320 -0
  71. package/dist/components/VvRadio/VvRadio.umd.js +1 -0
  72. package/dist/components/VvRadio/VvRadio.vue.d.ts +55 -125
  73. package/dist/components/VvRadio/index.d.ts +40 -0
  74. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +398 -0
  75. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -0
  76. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +56 -238
  77. package/dist/components/VvRadioGroup/index.d.ts +32 -0
  78. package/dist/components/VvSelect/VvSelect.es.js +415 -0
  79. package/dist/components/VvSelect/VvSelect.umd.js +1 -0
  80. package/dist/components/VvSelect/VvSelect.vue.d.ts +112 -262
  81. package/dist/components/VvSelect/index.d.ts +96 -0
  82. package/dist/components/VvTextarea/VvTextarea.es.js +463 -0
  83. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -0
  84. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +139 -320
  85. package/dist/components/VvTextarea/index.d.ts +102 -0
  86. package/dist/components/common/HintSlot.d.ts +12 -6
  87. package/dist/components/index.d.ts +19 -12
  88. package/dist/components/index.es.js +2309 -0
  89. package/dist/components/index.umd.js +1 -0
  90. package/dist/composables/group/types/IAccordionGroupState.d.ts +3 -4
  91. package/dist/composables/group/types/IButtonGroupState.d.ts +5 -11
  92. package/dist/composables/group/types/IGroupState.d.ts +3 -6
  93. package/dist/composables/group/types/IInputGroup.d.ts +1 -4
  94. package/dist/composables/group/useInjectedGroupState.d.ts +4 -4
  95. package/dist/composables/group/useProvideGroupState.d.ts +2 -2
  96. package/dist/composables/useComponentFocus.d.ts +4 -0
  97. package/dist/composables/{icons/useComponentIcons.d.ts → useComponentIcons.d.ts} +3 -2
  98. package/dist/composables/useDebouncedInput.d.ts +2 -0
  99. package/dist/composables/useOptions.d.ts +6 -0
  100. package/dist/composables/useTextCount.d.ts +10 -0
  101. package/dist/constants.d.ts +4 -4
  102. package/dist/icons.d.ts +1881 -0
  103. package/dist/icons.es.js +12 -14
  104. package/dist/icons.umd.js +1 -1
  105. package/dist/index.d.ts +9 -4
  106. package/dist/index.es.js +2350 -0
  107. package/dist/index.umd.js +1 -0
  108. package/dist/props/index.d.ts +297 -30
  109. package/dist/resolvers/unplugin.d.ts +27 -0
  110. package/dist/resolvers/unplugin.es.js +40 -0
  111. package/dist/resolvers/unplugin.umd.js +1 -0
  112. package/dist/stories/Accordion/Accordion.settings.d.ts +63 -0
  113. package/dist/stories/Accordion/Accordion.test.d.ts +2 -0
  114. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +58 -0
  115. package/dist/stories/AccordionGroup/AccordionGroup.test.d.ts +2 -0
  116. package/dist/stories/Badge/Badge.settings.d.ts +32 -0
  117. package/dist/stories/Badge/Badge.test.d.ts +2 -0
  118. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +29 -0
  119. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +2 -0
  120. package/dist/stories/Button/Button.settings.d.ts +200 -0
  121. package/dist/stories/Button/Button.test.d.ts +1 -10
  122. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +38 -0
  123. package/dist/stories/ButtonGroup/ButtonGroup.test.d.ts +2 -0
  124. package/dist/stories/Card/Card.settings.d.ts +70 -0
  125. package/dist/stories/Card/Card.test.d.ts +2 -0
  126. package/dist/stories/Checkbox/Checkbox.settings.d.ts +165 -0
  127. package/dist/stories/Checkbox/Checkbox.test.d.ts +2 -0
  128. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +164 -0
  129. package/dist/stories/CheckboxGroup/CheckboxGroup.test.d.ts +2 -0
  130. package/dist/stories/Combobox/Combobox.settings.d.ts +267 -0
  131. package/dist/stories/Combobox/Combobox.test.d.ts +2 -0
  132. package/dist/stories/Dialog/Dialog.settings.d.ts +55 -0
  133. package/dist/stories/Dialog/Dialog.test.d.ts +2 -0
  134. package/dist/stories/Dropdown/Dropdown.settings.d.ts +75 -0
  135. package/dist/stories/Dropdown/Dropdown.test.d.ts +2 -0
  136. package/dist/stories/Icon/Icon.settings.d.ts +74 -0
  137. package/dist/stories/InputText/InputText.settings.d.ts +445 -0
  138. package/dist/stories/InputText/InputText.test.d.ts +2 -0
  139. package/dist/stories/Progress/Progress.settings.d.ts +38 -0
  140. package/dist/stories/Progress/Progress.test.d.ts +2 -0
  141. package/dist/stories/Radio/Radio.settings.d.ts +139 -0
  142. package/dist/stories/Radio/Radio.test.d.ts +2 -0
  143. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +164 -0
  144. package/dist/stories/RadioGroup/RadioGroup.test.d.ts +2 -0
  145. package/dist/stories/Select/Select.settings.d.ts +265 -0
  146. package/dist/stories/Select/Select.test.d.ts +2 -0
  147. package/dist/stories/Textarea/Textarea.settings.d.ts +336 -0
  148. package/dist/stories/Textarea/Textarea.test.d.ts +2 -0
  149. package/dist/stories/argTypes.d.ts +793 -0
  150. package/dist/test/expect.d.ts +3 -0
  151. package/dist/test/options.d.ts +1 -0
  152. package/dist/test/sleep.d.ts +1 -0
  153. package/dist/utils/ObjectUtilities.d.ts +82 -95
  154. package/env.d.ts +1 -0
  155. package/package.json +198 -126
  156. package/src/{DesignSystem.ts → Volver.ts} +57 -29
  157. package/src/assets/icons/detailed.json +1 -1
  158. package/src/assets/icons/normal.json +1 -1
  159. package/src/assets/icons/simple.json +1 -1
  160. package/src/components/VvAccordion/VvAccordion.vue +94 -78
  161. package/src/components/VvAccordion/index.ts +72 -0
  162. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +93 -53
  163. package/src/components/VvAccordionGroup/{VvAccordionGroup.ts → index.ts} +18 -14
  164. package/src/components/VvBadge/VvBadge.vue +17 -8
  165. package/src/components/VvBadge/index.ts +6 -0
  166. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +26 -24
  167. package/src/components/VvBreadcrumb/{VvBreadcrumb.ts → index.ts} +1 -2
  168. package/src/components/VvButton/VvButton.vue +174 -153
  169. package/src/components/VvButton/index.ts +171 -0
  170. package/src/components/VvButtonGroup/VvButtonGroup.vue +76 -48
  171. package/src/components/VvButtonGroup/index.ts +19 -0
  172. package/src/components/VvCard/VvCard.vue +20 -22
  173. package/src/components/VvCard/{VvCard.ts → index.ts} +1 -1
  174. package/src/components/VvCheckbox/VvCheckbox.vue +172 -0
  175. package/src/components/VvCheckbox/index.ts +60 -0
  176. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +85 -0
  177. package/src/components/VvCheckboxGroup/index.ts +5 -0
  178. package/src/components/VvCombobox/VvCombobox.vue +227 -0
  179. package/src/components/VvCombobox/index.ts +82 -0
  180. package/src/components/VvDialog/VvDialog.vue +69 -67
  181. package/src/components/VvDialog/index.ts +10 -0
  182. package/src/components/VvDropdown/VvDropdown.vue +112 -114
  183. package/src/components/VvDropdown/index.ts +25 -0
  184. package/src/components/VvIcon/README.md +64 -0
  185. package/src/components/VvIcon/VvIcon.vue +122 -107
  186. package/src/components/VvIcon/{VvIcon.ts → index.ts} +17 -8
  187. package/src/components/VvInputText/VvInputClearAction.ts +53 -0
  188. package/src/components/VvInputText/VvInputPasswordAction.ts +70 -0
  189. package/src/components/VvInputText/VvInputStepAction.ts +49 -0
  190. package/src/components/VvInputText/VvInputText.vue +305 -238
  191. package/src/components/VvInputText/VvInputTextActions.ts +63 -114
  192. package/src/components/VvInputText/index.ts +140 -0
  193. package/src/components/VvProgress/VvProgress.vue +29 -29
  194. package/src/components/VvProgress/index.ts +32 -0
  195. package/src/components/VvRadio/VvRadio.vue +90 -119
  196. package/src/components/VvRadio/index.ts +40 -0
  197. package/src/components/VvRadioGroup/VvRadioGroup.vue +76 -69
  198. package/src/components/VvRadioGroup/index.ts +5 -0
  199. package/src/components/VvSelect/VvSelect.vue +165 -186
  200. package/src/components/VvSelect/index.ts +74 -0
  201. package/src/components/VvTextarea/VvTextarea.vue +185 -173
  202. package/src/components/VvTextarea/index.ts +50 -0
  203. package/src/components/common/HintSlot.ts +167 -137
  204. package/src/components/index.ts +19 -12
  205. package/src/composables/group/types/IAccordionGroupState.ts +3 -4
  206. package/src/composables/group/types/IButtonGroupState.ts +5 -11
  207. package/src/composables/group/types/IGroupState.ts +4 -6
  208. package/src/composables/group/types/IInputGroup.ts +1 -4
  209. package/src/composables/group/useInjectedGroupState.ts +21 -33
  210. package/src/composables/group/useProvideGroupState.ts +5 -7
  211. package/src/composables/useComponentFocus.ts +17 -0
  212. package/src/composables/{icons/useComponentIcons.ts → useComponentIcons.ts} +29 -20
  213. package/src/composables/useDebouncedInput.ts +25 -0
  214. package/src/composables/useModifiers.ts +18 -20
  215. package/src/composables/useOptions.ts +31 -0
  216. package/src/composables/useTextCount.ts +57 -0
  217. package/src/constants.ts +5 -7
  218. package/src/directives/{.README → .gitkeep} +0 -0
  219. package/src/icons.ts +7 -0
  220. package/src/index.ts +12 -5
  221. package/src/props/index.ts +186 -36
  222. package/src/resolvers/unplugin.ts +103 -0
  223. package/src/shims.d.ts +13 -0
  224. package/src/stories/Accordion/Accordion.settings.ts +46 -0
  225. package/src/stories/Accordion/Accordion.stories.mdx +21 -21
  226. package/src/stories/Accordion/Accordion.test.ts +61 -0
  227. package/src/stories/Accordion/AccordionSlots.stories.mdx +46 -70
  228. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +55 -0
  229. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +24 -27
  230. package/src/stories/AccordionGroup/AccordionGroup.test.ts +50 -0
  231. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +56 -0
  232. package/src/stories/Badge/Badge.settings.ts +26 -0
  233. package/src/stories/Badge/Badge.stories.mdx +36 -24
  234. package/src/stories/Badge/Badge.test.ts +12 -0
  235. package/src/stories/Badge/BadgeSlots.stories.mdx +20 -0
  236. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +41 -0
  237. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +32 -29
  238. package/src/stories/Breadcrumb/Breadcrumb.test.ts +50 -0
  239. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +43 -0
  240. package/src/stories/Button/Button.settings.ts +150 -0
  241. package/src/stories/Button/Button.stories.mdx +20 -54
  242. package/src/stories/Button/Button.test.ts +35 -46
  243. package/src/stories/Button/ButtonIcon.stories.mdx +139 -29
  244. package/src/stories/Button/ButtonLink.stories.mdx +58 -111
  245. package/src/stories/Button/ButtonLoading.stories.mdx +89 -62
  246. package/src/stories/Button/ButtonModifiers.stories.mdx +198 -121
  247. package/src/stories/Button/ButtonSlots.stories.mdx +83 -95
  248. package/src/stories/Button/ButtonState.stories.mdx +75 -0
  249. package/src/stories/Button/ButtonToggle.stories.mdx +50 -0
  250. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +28 -0
  251. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +16 -18
  252. package/src/stories/ButtonGroup/ButtonGroup.test.ts +35 -0
  253. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.mdx +52 -0
  254. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +45 -114
  255. package/src/stories/Card/Card.settings.ts +55 -0
  256. package/src/stories/Card/Card.stories.mdx +27 -11
  257. package/src/stories/Card/Card.test.ts +23 -0
  258. package/src/stories/Card/CardSlots.stories.mdx +80 -24
  259. package/src/stories/Checkbox/Checkbox.settings.ts +43 -0
  260. package/src/stories/Checkbox/Checkbox.stories.mdx +163 -0
  261. package/src/stories/Checkbox/Checkbox.test.ts +81 -0
  262. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +68 -0
  263. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +46 -0
  264. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +15 -0
  265. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +134 -0
  266. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +83 -0
  267. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.mdx +100 -0
  268. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +67 -0
  269. package/src/stories/Combobox/Combobox.settings.ts +122 -0
  270. package/src/stories/Combobox/Combobox.stories.mdx +153 -0
  271. package/src/stories/Combobox/Combobox.test.ts +96 -0
  272. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +74 -0
  273. package/src/stories/Combobox/ComboboxOptions.stories.mdx +100 -0
  274. package/src/stories/Combobox/ComboboxSlots.stories.mdx +48 -0
  275. package/src/stories/Dialog/Dialog.settings.ts +45 -0
  276. package/src/stories/Dialog/Dialog.stories.mdx +42 -16
  277. package/src/stories/Dialog/Dialog.test.ts +69 -0
  278. package/src/stories/Dialog/DialogSlots.stories.mdx +63 -0
  279. package/src/stories/Dropdown/Dropdown.settings.ts +42 -0
  280. package/src/stories/Dropdown/Dropdown.stories.mdx +85 -29
  281. package/src/stories/Dropdown/Dropdown.test.ts +43 -0
  282. package/src/stories/Dropdown/DropdownOptions.stories.mdx +87 -67
  283. package/src/stories/Icon/Icon.settings.ts +72 -0
  284. package/src/stories/Icon/Icon.stories.mdx +76 -59
  285. package/src/stories/Icon/IconsCollection.stories.mdx +68 -0
  286. package/src/stories/InputText/InputText.settings.ts +221 -0
  287. package/src/stories/InputText/InputText.stories.mdx +142 -69
  288. package/src/stories/InputText/InputText.test.ts +125 -0
  289. package/src/stories/InputText/InputTextIconPosition.stories.mdx +63 -16
  290. package/src/stories/InputText/InputTextLength.stories.mdx +110 -0
  291. package/src/stories/InputText/InputTextMinMax.stories.mdx +112 -0
  292. package/src/stories/InputText/InputTextSlots.stories.mdx +61 -22
  293. package/src/stories/InputText/InputTextType.stories.mdx +207 -29
  294. package/src/stories/Progress/Progress.settings.ts +33 -0
  295. package/src/stories/Progress/Progress.stories.mdx +12 -14
  296. package/src/stories/Progress/Progress.test.ts +9 -0
  297. package/src/stories/Radio/Radio.settings.ts +15 -0
  298. package/src/stories/Radio/Radio.stories.mdx +102 -42
  299. package/src/stories/Radio/Radio.test.ts +70 -0
  300. package/src/stories/Radio/RadioSlots.stories.mdx +39 -22
  301. package/src/stories/RadioGroup/RadioGroup.settings.ts +15 -0
  302. package/src/stories/RadioGroup/RadioGroup.stories.mdx +115 -54
  303. package/src/stories/RadioGroup/RadioGroup.test.ts +83 -0
  304. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +83 -41
  305. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +49 -144
  306. package/src/stories/Select/Select.settings.ts +100 -0
  307. package/src/stories/Select/Select.stories.mdx +113 -33
  308. package/src/stories/Select/Select.test.ts +82 -0
  309. package/src/stories/Select/SelectOptions.stories.mdx +91 -69
  310. package/src/stories/Select/SelectSlots.stories.mdx +48 -0
  311. package/src/stories/Textarea/Textarea.settings.ts +96 -0
  312. package/src/stories/Textarea/Textarea.stories.mdx +167 -47
  313. package/src/stories/Textarea/Textarea.test.ts +90 -0
  314. package/src/stories/Textarea/TextareaLength.stories.mdx +110 -0
  315. package/src/stories/Textarea/TextareaSlots.stories.mdx +61 -23
  316. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +78 -0
  317. package/src/stories/argTypes.ts +433 -0
  318. package/src/test/expect.ts +27 -6
  319. package/src/test/options.ts +17 -0
  320. package/src/test/sleep.ts +2 -0
  321. package/src/test/types.d.ts +14 -0
  322. package/src/types/generic.d.ts +5 -0
  323. package/src/utils/ObjectUtilities.ts +253 -244
  324. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  325. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  326. package/dist/components/VvAccordion/vv-accordion.es.js +0 -262
  327. package/dist/components/VvAccordion/vv-accordion.umd.js +0 -1
  328. package/dist/components/VvAccordionGroup/vv-accordion-group.es.js +0 -315
  329. package/dist/components/VvAccordionGroup/vv-accordion-group.umd.js +0 -1
  330. package/dist/components/VvBadge/vv-badge.es.js +0 -18
  331. package/dist/components/VvBadge/vv-badge.umd.js +0 -1
  332. package/dist/components/VvBreadcrumb/vv-breadcrumb.es.js +0 -206
  333. package/dist/components/VvBreadcrumb/vv-breadcrumb.umd.js +0 -1
  334. package/dist/components/VvButton/VvButton.d.ts +0 -115
  335. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -23
  336. package/dist/components/VvButton/vv-button.es.js +0 -422
  337. package/dist/components/VvButton/vv-button.umd.js +0 -1
  338. package/dist/components/VvButtonGroup/VvButtonGroup.d.ts +0 -57
  339. package/dist/components/VvButtonGroup/vv-button-group.es.js +0 -210
  340. package/dist/components/VvButtonGroup/vv-button-group.umd.js +0 -1
  341. package/dist/components/VvCard/vv-card.es.js +0 -188
  342. package/dist/components/VvCard/vv-card.umd.js +0 -1
  343. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  344. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  345. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  346. package/dist/components/VvCheck/vv-check.es.js +0 -321
  347. package/dist/components/VvCheck/vv-check.umd.js +0 -1
  348. package/dist/components/VvCheckGroup/VvCheckGroup.d.ts +0 -65
  349. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  350. package/dist/components/VvCheckGroup/vv-check-group.es.js +0 -452
  351. package/dist/components/VvCheckGroup/vv-check-group.umd.js +0 -2
  352. package/dist/components/VvDialog/constants.d.ts +0 -5
  353. package/dist/components/VvDialog/vv-dialog.es.js +0 -315
  354. package/dist/components/VvDialog/vv-dialog.umd.js +0 -1
  355. package/dist/components/VvDropdown/VvDropdown.d.ts +0 -52
  356. package/dist/components/VvDropdown/vv-dropdown.es.js +0 -236
  357. package/dist/components/VvDropdown/vv-dropdown.umd.js +0 -1
  358. package/dist/components/VvIcon/vv-icon.es.js +0 -229
  359. package/dist/components/VvIcon/vv-icon.umd.js +0 -1
  360. package/dist/components/VvInputText/VvInputText.d.ts +0 -73
  361. package/dist/components/VvInputText/constants.d.ts +0 -55
  362. package/dist/components/VvInputText/vv-input-text.es.js +0 -725
  363. package/dist/components/VvInputText/vv-input-text.umd.js +0 -2
  364. package/dist/components/VvNativeSelect/VvNativeSelect.d.ts +0 -70
  365. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +0 -228
  366. package/dist/components/VvNativeSelect/vv-native-select.es.js +0 -414
  367. package/dist/components/VvNativeSelect/vv-native-select.umd.js +0 -2
  368. package/dist/components/VvProgress/VvProgress.d.ts +0 -29
  369. package/dist/components/VvProgress/vv-progress.es.js +0 -185
  370. package/dist/components/VvProgress/vv-progress.umd.js +0 -1
  371. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  372. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  373. package/dist/components/VvRadio/vv-radio.es.js +0 -309
  374. package/dist/components/VvRadio/vv-radio.umd.js +0 -1
  375. package/dist/components/VvRadioGroup/VvRadioGroup.d.ts +0 -54
  376. package/dist/components/VvRadioGroup/vv-radio-group.es.js +0 -441
  377. package/dist/components/VvRadioGroup/vv-radio-group.umd.js +0 -2
  378. package/dist/components/VvSelect/vv-select.es.js +0 -445
  379. package/dist/components/VvSelect/vv-select.umd.js +0 -2
  380. package/dist/components/VvTextarea/VvTextarea.d.ts +0 -88
  381. package/dist/components/VvTextarea/constants.d.ts +0 -19
  382. package/dist/components/VvTextarea/vv-textarea.es.js +0 -548
  383. package/dist/components/VvTextarea/vv-textarea.umd.js +0 -2
  384. package/dist/composables/debouncedInput/useDebouncedInput.d.ts +0 -2
  385. package/dist/composables/focus/useComponentFocus.d.ts +0 -7
  386. package/dist/composables/options/useOptions.d.ts +0 -5
  387. package/dist/composables/textLimit/useTextLimit.d.ts +0 -14
  388. package/dist/stories/Icon/IconList.vue.d.ts +0 -44
  389. package/dist/stories/utils.d.ts +0 -5
  390. package/dist/ui-vue.es.js +0 -3001
  391. package/dist/ui-vue.umd.js +0 -2
  392. package/src/assets/icons/index.js +0 -7
  393. package/src/components/VvAccordion/VvAccordion.ts +0 -34
  394. package/src/components/VvAccordion/useAccordionProps.ts +0 -45
  395. package/src/components/VvBadge/VvBadge.ts +0 -4
  396. package/src/components/VvButton/VvButton.ts +0 -117
  397. package/src/components/VvButton/useButtonGroupProps.ts +0 -51
  398. package/src/components/VvButtonGroup/VvButtonGroup.ts +0 -37
  399. package/src/components/VvCheck/VvCheck.ts +0 -48
  400. package/src/components/VvCheck/VvCheck.vue +0 -149
  401. package/src/components/VvCheck/useCheckProps.ts +0 -41
  402. package/src/components/VvCheckGroup/VvCheckGroup.ts +0 -34
  403. package/src/components/VvCheckGroup/VvCheckGroup.vue +0 -84
  404. package/src/components/VvDialog/VvDialog.ts +0 -17
  405. package/src/components/VvDialog/constants.ts +0 -5
  406. package/src/components/VvDropdown/VvDropdown.ts +0 -46
  407. package/src/components/VvInputText/VvInputText.ts +0 -66
  408. package/src/components/VvInputText/constants.ts +0 -34
  409. package/src/components/VvNativeSelect/VvNativeSelect.ts +0 -70
  410. package/src/components/VvNativeSelect/VvNativeSelect.vue +0 -106
  411. package/src/components/VvProgress/VvProgress.ts +0 -28
  412. package/src/components/VvRadio/VvRadio.ts +0 -25
  413. package/src/components/VvRadio/useRadioProps.ts +0 -40
  414. package/src/components/VvRadioGroup/VvRadioGroup.ts +0 -25
  415. package/src/components/VvSelect/VvSelect.ts +0 -91
  416. package/src/components/VvTextarea/VvTextarea.ts +0 -64
  417. package/src/components/VvTextarea/constants.ts +0 -14
  418. package/src/composables/debouncedInput/useDebouncedInput.ts +0 -19
  419. package/src/composables/focus/useComponentFocus.ts +0 -22
  420. package/src/composables/options/useOptions.ts +0 -27
  421. package/src/composables/textLimit/useTextLimit.ts +0 -44
  422. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  423. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  424. package/src/stories/Accordion/accordionTest.js +0 -36
  425. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  426. package/src/stories/AccordionGroup/AccordionItems.stories.mdx +0 -51
  427. package/src/stories/AccordionGroup/accordionGroupTest.js +0 -51
  428. package/src/stories/Badge/BadgeColor.stories.mdx +0 -54
  429. package/src/stories/Badge/BadgeDot.stories.mdx +0 -20
  430. package/src/stories/Badge/BadgeTest.js +0 -21
  431. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +0 -41
  432. package/src/stories/Button/ButtonBadge.stories.mdx +0 -34
  433. package/src/stories/Button/ButtonIconPosition.stories.mdx +0 -106
  434. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  435. package/src/stories/Button/test.js +0 -41
  436. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +0 -83
  437. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +0 -50
  438. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +0 -40
  439. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +0 -38
  440. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +0 -77
  441. package/src/stories/ButtonGroup/ButtonGroupTest.js +0 -61
  442. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +0 -38
  443. package/src/stories/Card/CardVariant.stories.mdx +0 -37
  444. package/src/stories/Check/Check.stories.mdx +0 -62
  445. package/src/stories/Check/CheckBinary.stories.mdx +0 -80
  446. package/src/stories/Check/CheckDisabled.stories.mdx +0 -30
  447. package/src/stories/Check/CheckError.stories.mdx +0 -64
  448. package/src/stories/Check/CheckErrorTests.js +0 -72
  449. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  450. package/src/stories/Check/CheckPropertyTest.js +0 -101
  451. package/src/stories/Check/CheckReadonly.stories.mdx +0 -30
  452. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  453. package/src/stories/Check/CheckSwitch.stories.mdx +0 -30
  454. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  455. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  456. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  457. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  458. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  459. package/src/stories/CheckGroup/CheckGroupOptionLabel.stories.mdx +0 -48
  460. package/src/stories/CheckGroup/CheckGroupOptionValue.stories.mdx +0 -48
  461. package/src/stories/CheckGroup/CheckGroupOptions.stories.mdx +0 -40
  462. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  463. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  464. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  465. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  466. package/src/stories/Dialog/DialogAutoClose.stories.mdx +0 -18
  467. package/src/stories/Dialog/DialogSize.stories.mdx +0 -36
  468. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +0 -25
  469. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +0 -25
  470. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +0 -26
  471. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +0 -56
  472. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +0 -58
  473. package/src/stories/Icon/IconList.vue +0 -34
  474. package/src/stories/Icon/IconPrefix.stories.mdx +0 -79
  475. package/src/stories/Icon/IconRemote.stories.mdx +0 -39
  476. package/src/stories/Icon/IconTest.js +0 -27
  477. package/src/stories/Icon/IconsList.stories.mdx +0 -35
  478. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +0 -15
  479. package/src/stories/InputText/InputTextAutofocus.stories.mdx +0 -20
  480. package/src/stories/InputText/InputTextDisabled.stories.mdx +0 -19
  481. package/src/stories/InputText/InputTextError.stories.mdx +0 -19
  482. package/src/stories/InputText/InputTextFloating.stories.mdx +0 -20
  483. package/src/stories/InputText/InputTextHintLabel.stories.mdx +0 -18
  484. package/src/stories/InputText/InputTextIcon.stories.mdx +0 -18
  485. package/src/stories/InputText/InputTextLabel.stories.mdx +0 -15
  486. package/src/stories/InputText/InputTextLoading.stories.mdx +0 -19
  487. package/src/stories/InputText/InputTextMax.stories.mdx +0 -31
  488. package/src/stories/InputText/InputTextMaxLength.stories.mdx +0 -36
  489. package/src/stories/InputText/InputTextMin.stories.mdx +0 -31
  490. package/src/stories/InputText/InputTextMinLength.stories.mdx +0 -15
  491. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +0 -15
  492. package/src/stories/InputText/InputTextReadonly.stories.mdx +0 -19
  493. package/src/stories/InputText/InputTextStep.stories.mdx +0 -31
  494. package/src/stories/InputText/InputTextValid.stories.mdx +0 -19
  495. package/src/stories/NativeSelect/NativeSelect.stories.mdx +0 -53
  496. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +0 -32
  497. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +0 -36
  498. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +0 -34
  499. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +0 -42
  500. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +0 -27
  501. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +0 -78
  502. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +0 -34
  503. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +0 -66
  504. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +0 -36
  505. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +0 -66
  506. package/src/stories/Progress/ProgressDeterminate.stories.mdx +0 -19
  507. package/src/stories/Radio/RadioDisabled.stories.mdx +0 -30
  508. package/src/stories/Radio/RadioError.stories.mdx +0 -64
  509. package/src/stories/Radio/RadioHintLabel.stories.mdx +0 -30
  510. package/src/stories/Radio/RadioTest.js +0 -89
  511. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +0 -29
  512. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +0 -31
  513. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +0 -28
  514. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +0 -29
  515. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +0 -65
  516. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +0 -65
  517. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +0 -29
  518. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +0 -31
  519. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +0 -29
  520. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  521. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  522. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
  523. package/src/stories/Select/SelectDisabled.stories.mdx +0 -32
  524. package/src/stories/Select/SelectMaxValues.stories.mdx +0 -33
  525. package/src/stories/Select/SelectMultiple.stories.mdx +0 -64
  526. package/src/stories/Select/SelectSearchable.stories.mdx +0 -80
  527. package/src/stories/Select/SelectSeparator.stories.mdx +0 -64
  528. package/src/stories/Select/SelectUseObject.stories.mdx +0 -66
  529. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +0 -23
  530. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +0 -23
  531. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +0 -24
  532. package/src/stories/Textarea/TextareaDebounce.stories.mdx +0 -23
  533. package/src/stories/Textarea/TextareaDisabled.stories.mdx +0 -23
  534. package/src/stories/Textarea/TextareaError.stories.mdx +0 -22
  535. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +0 -37
  536. package/src/stories/Textarea/TextareaFloating.stories.mdx +0 -25
  537. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +0 -22
  538. package/src/stories/Textarea/TextareaIcon.stories.mdx +0 -22
  539. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +0 -39
  540. package/src/stories/Textarea/TextareaId.stories.mdx +0 -19
  541. package/src/stories/Textarea/TextareaLabel.stories.mdx +0 -19
  542. package/src/stories/Textarea/TextareaLimit.stories.mdx +0 -50
  543. package/src/stories/Textarea/TextareaLoading.stories.mdx +0 -22
  544. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +0 -23
  545. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +0 -19
  546. package/src/stories/Textarea/TextareaMinLength.stories.mdx +0 -19
  547. package/src/stories/Textarea/TextareaModifiers.stories.mdx +0 -24
  548. package/src/stories/Textarea/TextareaName.stories.mdx +0 -23
  549. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +0 -19
  550. package/src/stories/Textarea/TextareaReadonly.stories.mdx +0 -23
  551. package/src/stories/Textarea/TextareaRequired.stories.mdx +0 -22
  552. package/src/stories/Textarea/TextareaResizable.stories.mdx +0 -22
  553. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +0 -39
  554. package/src/stories/Textarea/TextareaValid.stories.mdx +0 -22
  555. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +0 -35
  556. package/src/stories/stories.scss +0 -35
  557. package/src/stories/utils.ts +0 -12
  558. package/src/stories/volver-ui-vue.stories.mdx +0 -77
  559. package/src/types/.README +0 -0
@@ -0,0 +1,2350 @@
1
+ var wt = Object.defineProperty;
2
+ var It = (a, t, e) => t in a ? wt(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e;
3
+ var $e = (a, t, e) => (It(a, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import { addCollection as Pt, addIcon as st, addAPIProvider as Ot, iconExists as Oe, Icon as Rt } from "@iconify/vue";
5
+ import { unref as l, computed as i, inject as We, toRef as Et, toRefs as F, defineComponent as D, useAttrs as rt, ref as H, openBlock as m, createElementBlock as _, normalizeClass as j, withModifiers as Ke, createElementVNode as O, renderSlot as C, normalizeProps as K, guardReactiveProps as te, createTextVNode as X, toDisplayString as R, isRef as Se, provide as Dt, watchEffect as ze, Fragment as be, renderList as Ve, createBlock as B, mergeProps as E, withCtx as Ce, resolveDynamicComponent as it, createCommentVNode as w, useSlots as re, h as Q, watch as qe, onMounted as Xe, withDirectives as ye, vModelCheckbox as Lt, createVNode as oe, withKeys as tt, vModelText as ut, Transition as Tt, toHandlers as Bt, vShow as Nt, vModelDynamic as xt, vModelRadio as Ht, vModelSelect as Mt } from "vue";
6
+ import { useToggle as Gt, toReactive as Ut, useVModel as Ze, useFocus as jt, refDebounced as Ft, onClickOutside as dt } from "@vueuse/core";
7
+ import { nanoid as ie } from "nanoid";
8
+ const De = "ds";
9
+ class Wt {
10
+ constructor({
11
+ fetchWithCredentials: t = !1,
12
+ fetchOptions: e = {},
13
+ iconsCollections: n = [],
14
+ nuxt: o = !1
15
+ } = {}) {
16
+ $e(this, "fetchOptions");
17
+ $e(this, "iconsCollections");
18
+ $e(this, "provider");
19
+ $e(this, "nuxt");
20
+ t && (e = { ...e, credentials: "include" }), this.provider = De, this.fetchOptions = e, this.iconsCollections = n, this.iconsCollections.forEach((r) => {
21
+ this.addCollection(r, this.provider);
22
+ }), this.nuxt = o;
23
+ }
24
+ addCollection(t, e) {
25
+ return Pt(t, e);
26
+ }
27
+ addIcon(t, e) {
28
+ return st(t, e);
29
+ }
30
+ addAPIProvider(t, e) {
31
+ return Ot(t, e);
32
+ }
33
+ fetchIcon(t, e = { cache: "force-cache" }) {
34
+ return new Promise((n, o) => {
35
+ fetch(t, { ...this.fetchOptions, ...e }).catch((r) => o(r)).then((r) => r == null ? void 0 : r.text()).then((r) => n(r));
36
+ });
37
+ }
38
+ }
39
+ const Jl = {
40
+ install(a, t) {
41
+ const e = new Wt(t);
42
+ a.config.globalProperties.$ds = e, a.provide(De, e);
43
+ }
44
+ };
45
+ function me(a, t, e) {
46
+ return e ? Ee(a, e) === Ee(t, e) : Fe(a, t);
47
+ }
48
+ function Fe(a, t) {
49
+ if (a === t)
50
+ return !0;
51
+ if (a && t && typeof a == "object" && typeof t == "object") {
52
+ const e = Array.isArray(a), n = Array.isArray(t);
53
+ let o, r, s;
54
+ if (e && n) {
55
+ if (r = a.length, r != t.length)
56
+ return !1;
57
+ for (o = r; o-- !== 0; )
58
+ if (!Fe(a[o], t[o]))
59
+ return !1;
60
+ return !0;
61
+ }
62
+ if (e != n)
63
+ return !1;
64
+ const b = a instanceof Date, c = t instanceof Date;
65
+ if (b != c)
66
+ return !1;
67
+ if (b && c)
68
+ return a.getTime() == t.getTime();
69
+ const d = a instanceof RegExp, u = t instanceof RegExp;
70
+ if (d != u)
71
+ return !1;
72
+ if (d && u)
73
+ return a.toString() == t.toString();
74
+ const v = Object.keys(a);
75
+ if (r = v.length, r !== Object.keys(t).length)
76
+ return !1;
77
+ for (o = r; o-- !== 0; )
78
+ if (!Object.prototype.hasOwnProperty.call(t, v[o]))
79
+ return !1;
80
+ for (o = r; o-- !== 0; )
81
+ if (s = v[o], !Fe(a[s], t[s]))
82
+ return !1;
83
+ return !0;
84
+ }
85
+ return a !== a && t !== t;
86
+ }
87
+ function Ee(a, t) {
88
+ if (a && Object.keys(a).length && t) {
89
+ if (t.indexOf(".") === -1)
90
+ return a[t];
91
+ {
92
+ const e = t.split(".");
93
+ let n = a;
94
+ for (let o = 0, r = e.length; o < r; ++o) {
95
+ if (a == null)
96
+ return null;
97
+ n = n[e[o]];
98
+ }
99
+ return n;
100
+ }
101
+ } else
102
+ return null;
103
+ }
104
+ function Kt(a, t) {
105
+ let e = -1;
106
+ if (t) {
107
+ for (let n = 0; n < t.length; n++)
108
+ if (me(t[n], a)) {
109
+ e = n;
110
+ break;
111
+ }
112
+ }
113
+ return e;
114
+ }
115
+ function pe(a, t) {
116
+ if (a != null && t && t.length) {
117
+ for (const e of t)
118
+ if (me(a, e))
119
+ return !0;
120
+ }
121
+ return !1;
122
+ }
123
+ function ee(a) {
124
+ return ((t) => t == null || t === "" || Array.isArray(t) && t.length === 0 || !(t instanceof Date) && typeof t == "object" && Object.keys(t).length === 0)(l(a));
125
+ }
126
+ function zt(a, t) {
127
+ const e = Kt(a, t);
128
+ return e > -1 ? t.filter((n, o) => o !== e) : t;
129
+ }
130
+ function qt(a) {
131
+ return typeof a == "string" || a instanceof String;
132
+ }
133
+ function at(a) {
134
+ var t, e;
135
+ if (a)
136
+ return (e = (t = a.match(
137
+ /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g
138
+ )) == null ? void 0 : t.join("-")) == null ? void 0 : e.toLowerCase();
139
+ }
140
+ function x(a, t) {
141
+ const e = { [`${a}`]: !0 };
142
+ return {
143
+ bemCssClasses: i(() => Object.keys(t).reduce((o, r) => {
144
+ const s = l(t[r]) || !1;
145
+ if (!s)
146
+ return o;
147
+ if (r === "modifiers") {
148
+ const b = Array.isArray(s) ? s : s.split(" ");
149
+ return {
150
+ ...o,
151
+ ...b.reduce(
152
+ (c, d) => ({
153
+ ...c,
154
+ [`${a}--${at(d)}`]: !0
155
+ }),
156
+ {}
157
+ )
158
+ };
159
+ } else
160
+ return {
161
+ ...o,
162
+ [`${a}--${at(r)}`]: s
163
+ };
164
+ }, e) || {})
165
+ };
166
+ }
167
+ function Le(a) {
168
+ const t = We(a, void 0), e = i(() => !ee(t));
169
+ function n(o, r, s) {
170
+ if (t != null && t.value) {
171
+ const c = l(t.value)[o];
172
+ return i({
173
+ get() {
174
+ return c == null ? void 0 : c.value;
175
+ },
176
+ set(d) {
177
+ c.value = d;
178
+ }
179
+ });
180
+ }
181
+ const b = Et(r, o);
182
+ return i({
183
+ get() {
184
+ return b.value;
185
+ },
186
+ set(c) {
187
+ s && s(`update:${o}`, c);
188
+ }
189
+ });
190
+ }
191
+ return {
192
+ group: t,
193
+ isInGroup: e,
194
+ getGroupOrLocalRef: n
195
+ };
196
+ }
197
+ const ct = "VV_BUTTON_GROUP", vt = "VV_RADIO_GROUP", pt = "VV_CHECK_GROUP", ft = "VV_ACCORDION_GROUP", Xt = {
198
+ name: String,
199
+ title: String,
200
+ content: String,
201
+ modelValue: {
202
+ type: Boolean,
203
+ default: void 0
204
+ },
205
+ modifiers: [String, Array],
206
+ disabled: Boolean
207
+ }, Zt = ["update:modelValue"];
208
+ function Yt(a, t) {
209
+ const { group: e, isInGroup: n, getGroupOrLocalRef: o } = Le(ft), { title: r, content: s } = F(a), b = o("modelValue", a, t), c = o("disabled", a), d = o("collapse", a), u = o("modifiers", a);
210
+ return {
211
+ modelValue: b,
212
+ disabled: c,
213
+ isInGroup: n,
214
+ group: e,
215
+ collapse: d,
216
+ modifiers: u,
217
+ title: r,
218
+ content: s
219
+ };
220
+ }
221
+ const Jt = ["id", "open"], Qt = ["aria-controls", "aria-expanded"], ea = ["aria-hidden"], ta = {
222
+ name: "VvAccordion"
223
+ }, aa = /* @__PURE__ */ D({
224
+ ...ta,
225
+ props: Xt,
226
+ emits: Zt,
227
+ setup(a, { emit: t }) {
228
+ const e = a, n = rt(), o = e.name || (n == null ? void 0 : n.id) || ie(), {
229
+ modifiers: r,
230
+ title: s,
231
+ content: b,
232
+ disabled: c,
233
+ collapse: d,
234
+ modelValue: u,
235
+ isInGroup: v
236
+ } = Yt(e, t), p = H(!1), h = i({
237
+ get: () => v.value ? d.value && Array.isArray(u.value) ? u.value.includes(o) : u.value === o : u.value === void 0 ? p.value : u.value,
238
+ set: (f) => {
239
+ if (v.value) {
240
+ if (d.value && Array.isArray(u.value)) {
241
+ if (f) {
242
+ u.value.push(o);
243
+ return;
244
+ }
245
+ u.value = u.value.filter(
246
+ (V) => V !== o
247
+ );
248
+ return;
249
+ }
250
+ u.value = f ? o : null;
251
+ return;
252
+ }
253
+ if (u.value === void 0 && typeof f == "boolean") {
254
+ p.value = f;
255
+ return;
256
+ }
257
+ u.value = f;
258
+ }
259
+ }), { bemCssClasses: g } = x("vv-accordion", {
260
+ modifiers: r,
261
+ disabled: c
262
+ }), y = Gt(h);
263
+ return (f, V) => (m(), _("details", {
264
+ id: l(o),
265
+ class: j(l(g)),
266
+ open: l(h),
267
+ onClick: V[0] || (V[0] = Ke((I) => l(y)(), ["prevent"]))
268
+ }, [
269
+ O("summary", {
270
+ "aria-controls": l(o),
271
+ "aria-expanded": l(h),
272
+ class: "vv-collapse__summary"
273
+ }, [
274
+ C(f.$slots, "summary", K(te({ open: l(h) })), () => [
275
+ X(R(l(s)), 1)
276
+ ])
277
+ ], 8, Qt),
278
+ O("div", {
279
+ "aria-hidden": !l(h),
280
+ class: "vv-collapse__content"
281
+ }, [
282
+ C(f.$slots, "details", K(te({ open: l(h) })), () => [
283
+ X(R(l(b)), 1)
284
+ ])
285
+ ], 8, ea)
286
+ ], 10, Jt));
287
+ }
288
+ });
289
+ function Te(a) {
290
+ if (Object.keys(a).some(
291
+ (t) => t !== "key" && !Se(a[t])
292
+ ))
293
+ throw Error("One or more groupState props aren't ref.");
294
+ Dt(
295
+ a.key,
296
+ i(() => a)
297
+ );
298
+ }
299
+ const la = {
300
+ modelValue: [String, Array],
301
+ items: { type: Array, default: () => [] },
302
+ collapse: Boolean,
303
+ modifiers: [String, Array],
304
+ itemModifiers: {
305
+ type: [String, Array],
306
+ default: ""
307
+ },
308
+ disabled: Boolean
309
+ }, oa = ["update:modelValue"], na = {
310
+ name: "VvAccordionGroup"
311
+ }, Ql = /* @__PURE__ */ D({
312
+ ...na,
313
+ props: la,
314
+ emits: oa,
315
+ setup(a, { emit: t }) {
316
+ const e = a, { disabled: n, collapse: o, modifiers: r, itemModifiers: s, items: b } = F(e);
317
+ ze(() => {
318
+ typeof e.modelValue == "string" && o.value && console.warn(
319
+ "[VvAccordionGroup]: modelValue is a string but collapse is true."
320
+ );
321
+ });
322
+ const c = H([]), d = i({
323
+ get: () => {
324
+ var p;
325
+ return e.modelValue !== void 0 ? o.value ? e.modelValue : Array.isArray(e.modelValue) ? e.modelValue[0] : e.modelValue : o.value ? c.value : (p = c.value) == null ? void 0 : p[0];
326
+ },
327
+ set: (p) => {
328
+ if (e.modelValue !== void 0)
329
+ return (Array.isArray(e.modelValue) || o.value) && !Array.isArray(p) && (p = [p]), t("update:modelValue", p);
330
+ c.value = Array.isArray(p) ? p : [p];
331
+ }
332
+ });
333
+ Te({
334
+ key: ft,
335
+ modelValue: d,
336
+ disabled: n,
337
+ collapse: o,
338
+ modifiers: s
339
+ });
340
+ const { bemCssClasses: v } = x("vv-accordion-group", {
341
+ modifiers: r,
342
+ disabled: n
343
+ });
344
+ return (p, h) => (m(), _("div", {
345
+ class: j(l(v))
346
+ }, [
347
+ C(p.$slots, "default", {}, () => [
348
+ (m(!0), _(be, null, Ve(l(b), (g) => (m(), B(aa, E({
349
+ key: g.title
350
+ }, {
351
+ name: g.name,
352
+ title: g.title,
353
+ content: g.content
354
+ }), {
355
+ header: Ce((y) => [
356
+ C(p.$slots, `header::${g.name}`, K(te(y)))
357
+ ]),
358
+ details: Ce((y) => [
359
+ C(p.$slots, `details::${g.name}`, K(te(y)))
360
+ ]),
361
+ _: 2
362
+ }, 1040))), 128))
363
+ ])
364
+ ], 2));
365
+ }
366
+ }), ke = {
367
+ valid: Boolean,
368
+ validLabel: [String, Array]
369
+ }, Ae = {
370
+ invalid: Boolean,
371
+ invalidLabel: [String, Array]
372
+ }, Ye = {
373
+ loading: Boolean,
374
+ loadingLabel: String
375
+ }, he = {
376
+ disabled: Boolean
377
+ }, we = {
378
+ readonly: Boolean
379
+ }, ue = {
380
+ modifiers: [String, Array]
381
+ }, Ie = {
382
+ hintLabel: { type: String, default: "" }
383
+ }, Be = {
384
+ options: {
385
+ type: Array,
386
+ default: () => []
387
+ },
388
+ labelKey: { type: [String, Function], default: "label" },
389
+ valueKey: { type: [String, Function], default: "value" }
390
+ }, sa = {
391
+ count: {
392
+ type: [Boolean, String],
393
+ default: !1,
394
+ validator: (a) => [!0, !1, "limit", "countdown"].includes(a)
395
+ }
396
+ }, ra = {
397
+ debounce: [Number, String]
398
+ }, lt = {
399
+ LEFT: "left",
400
+ RIGHT: "right"
401
+ }, Je = {
402
+ icon: { type: [String, Object] },
403
+ iconPosition: {
404
+ type: String,
405
+ validation: (a) => Object.values(lt).includes(a),
406
+ default: lt.RIGHT
407
+ }
408
+ }, Ne = {
409
+ tabindex: { type: [String, Number], default: 0 }
410
+ }, Qe = {
411
+ id: [String, Number],
412
+ name: { type: String, required: !0 }
413
+ }, mt = {
414
+ ...Qe,
415
+ ...Ne,
416
+ ...he,
417
+ ...we,
418
+ ...ke,
419
+ ...Ae,
420
+ ...Ie,
421
+ ...Ye,
422
+ ...ue,
423
+ ...sa,
424
+ ...ra,
425
+ ...Je,
426
+ autofocus: Boolean,
427
+ autocomplete: { type: String, default: "off" },
428
+ minlength: Number,
429
+ maxlength: Number,
430
+ placeholder: String,
431
+ required: Boolean,
432
+ label: String,
433
+ floating: Boolean
434
+ }, bt = {
435
+ ...Qe,
436
+ ...Ne,
437
+ ...ke,
438
+ ...Ae,
439
+ ...Ie,
440
+ ...he,
441
+ ...we,
442
+ value: [String, Number, Boolean],
443
+ modelValue: [Object, Number, Boolean, String],
444
+ label: String
445
+ }, ht = {
446
+ ...ke,
447
+ ...Ae,
448
+ ...Be,
449
+ ...Ie,
450
+ ...he,
451
+ ...we,
452
+ modelValue: [String, Array],
453
+ label: String,
454
+ name: { type: String, required: !0 },
455
+ vertical: Boolean
456
+ }, ia = {
457
+ ...ue,
458
+ value: [String, Number]
459
+ }, ua = {
460
+ name: "VvBadge"
461
+ }, eo = /* @__PURE__ */ D({
462
+ ...ua,
463
+ props: ia,
464
+ setup(a) {
465
+ const t = a, { bemCssClasses: e } = x("vv-badge", {
466
+ modifiers: t.modifiers
467
+ });
468
+ return (n, o) => (m(), _("span", {
469
+ class: j(l(e)),
470
+ role: "status"
471
+ }, [
472
+ C(n.$slots, "default", {}, () => [
473
+ X(R(n.value), 1)
474
+ ])
475
+ ], 2));
476
+ }
477
+ }), da = {
478
+ ...ue,
479
+ routes: Array
480
+ }, ca = { class: "vv-breadcrumb__list" }, va = ["content"], pa = {
481
+ name: "VvBreadcrumb"
482
+ }, to = /* @__PURE__ */ D({
483
+ ...pa,
484
+ props: da,
485
+ setup(a) {
486
+ const t = a, { bemCssClasses: e } = x("vv-breadcrumb", {
487
+ modifiers: t.modifiers
488
+ });
489
+ return (n, o) => (m(), _("nav", {
490
+ class: j(l(e)),
491
+ "aria-label": "breadcrumbs"
492
+ }, [
493
+ O("ol", ca, [
494
+ (m(!0), _(be, null, Ve(n.routes, (r, s) => {
495
+ var b, c, d, u;
496
+ return m(), _("li", {
497
+ key: `${r.label}-${s}`,
498
+ class: j({
499
+ "vv-breadcrumb__item": s < Number((b = n.routes) == null ? void 0 : b.length) - 1,
500
+ "vv-breadcrumb__item-active": s === Number((c = n.routes) == null ? void 0 : c.length) - 1
501
+ }),
502
+ itemprop: "itemListElement",
503
+ itemtype: "https://schema.org/ListItem",
504
+ itemscope: ""
505
+ }, [
506
+ (m(), B(it(r.to ? "router-link" : r.href ? "a" : "span"), E(r, {
507
+ class: {
508
+ "vv-breadcrumb__link": s < Number((d = n.routes) == null ? void 0 : d.length) - 1
509
+ },
510
+ "aria-current": s === Number((u = n.routes) == null ? void 0 : u.length) - 1 ? "page" : void 0,
511
+ itemprop: "item"
512
+ }), {
513
+ default: Ce(() => [
514
+ C(n.$slots, "label", K(te({ route: r, index: s })), () => [
515
+ X(R(r.label), 1)
516
+ ])
517
+ ]),
518
+ _: 2
519
+ }, 1040, ["class", "aria-current"])),
520
+ O("meta", {
521
+ itemprop: "position",
522
+ content: `${s + 1}`
523
+ }, null, 8, va)
524
+ ], 2);
525
+ }), 128))
526
+ ])
527
+ ], 2));
528
+ }
529
+ }), fa = {
530
+ color: String,
531
+ width: {
532
+ type: [String, Number]
533
+ },
534
+ height: {
535
+ type: [String, Number]
536
+ },
537
+ name: {
538
+ type: String,
539
+ required: !0
540
+ },
541
+ provider: {
542
+ type: String
543
+ },
544
+ prefix: {
545
+ type: String,
546
+ default: "normal"
547
+ },
548
+ src: String,
549
+ horizontalFlip: Boolean,
550
+ verticalFlip: Boolean,
551
+ flip: String,
552
+ mode: String,
553
+ inline: Boolean,
554
+ rotate: [Number, String],
555
+ onLoad: Function,
556
+ svg: String,
557
+ modifiers: {
558
+ type: [String, Array]
559
+ }
560
+ }, ma = {
561
+ name: "VvIcon"
562
+ }, M = /* @__PURE__ */ D({
563
+ ...ma,
564
+ props: fa,
565
+ setup(a) {
566
+ const t = a, e = H(!0), { modifiers: n } = F(t), o = We(De), { bemCssClasses: r } = x("vv-icon", {
567
+ modifiers: n
568
+ }), s = i(() => t.provider || (o == null ? void 0 : o.provider)), b = i(() => {
569
+ const u = t.name ?? "", v = `@${s.value}:${t.prefix}:${t.name}`;
570
+ return Oe(u) ? u : Oe(v) ? v : (o == null ? void 0 : o.iconsCollections.find((p) => {
571
+ const h = `@${s.value}:${p.prefix}:${u}`;
572
+ if (Oe(h))
573
+ return h;
574
+ })) || u;
575
+ });
576
+ function c(u) {
577
+ let v = null;
578
+ if (typeof window > "u") {
579
+ const { JSDOM: y } = require("jsdom");
580
+ v = new y().window;
581
+ }
582
+ return (v ? new v.DOMParser() : new window.DOMParser()).parseFromString(u, "text/html").querySelector("svg");
583
+ }
584
+ function d(u) {
585
+ const v = c(u), p = (v == null ? void 0 : v.innerHTML.trim()) || "";
586
+ v && p && st(`@${s.value}:${t.prefix}:${t.name}`, {
587
+ body: p,
588
+ height: v.viewBox.baseVal.height,
589
+ width: v.viewBox.baseVal.width
590
+ });
591
+ }
592
+ return o && (t.src && !Oe(`@${s.value}:${t.prefix}:${t.name}`) ? (e.value = !1, o.fetchIcon(t.src).then((u) => {
593
+ u && (d(u), e.value = !0);
594
+ }).catch((u) => {
595
+ throw new Error(`During fetch icon: ${u == null ? void 0 : u.message}`);
596
+ })) : t.svg && d(t.svg)), (u, v) => e.value ? (m(), B(l(Rt), E({
597
+ key: 0,
598
+ class: l(r)
599
+ }, {
600
+ inline: u.inline,
601
+ width: u.width,
602
+ height: u.height,
603
+ horizontalFlip: u.horizontalFlip,
604
+ verticalFlip: u.verticalFlip,
605
+ flip: u.flip,
606
+ rotate: u.rotate,
607
+ color: u.color,
608
+ onLoad: u.onLoad,
609
+ icon: l(b)
610
+ }), null, 16, ["class"])) : w("", !0);
611
+ }
612
+ });
613
+ var _e = /* @__PURE__ */ ((a) => (a.left = "left", a.right = "right", a.top = "top", a.bottom = "bottom", a))(_e || {}), gt = /* @__PURE__ */ ((a) => (a.button = "button", a.submit = "submit", a.reset = "reset", a))(gt || {}), se = /* @__PURE__ */ ((a) => (a.nuxtLink = "nuxt-link", a.routerLink = "router-link", a.a = "a", a.button = "button", a))(se || {}), yt = /* @__PURE__ */ ((a) => (a._blank = "_blank", a._self = "_self", a._parent = "_parent", a._top = "_top", a))(yt || {});
614
+ const ba = ["update:modelValue"], ha = {
615
+ ...ue,
616
+ ...he,
617
+ icon: {
618
+ type: [String, Object],
619
+ default: ""
620
+ },
621
+ iconPosition: {
622
+ type: String,
623
+ default: "left",
624
+ validator: (a) => a in _e
625
+ },
626
+ label: [String, Number],
627
+ loading: Boolean,
628
+ loadingIcon: { type: String, default: "eos-icons:bubble-loading" },
629
+ loadingLabel: {
630
+ type: String,
631
+ default: "Loading..."
632
+ },
633
+ to: {
634
+ type: [String, Object]
635
+ },
636
+ href: String,
637
+ target: {
638
+ type: String,
639
+ validator: (a) => a in yt
640
+ },
641
+ active: Boolean,
642
+ pressed: Boolean,
643
+ rel: {
644
+ type: String,
645
+ default: "noopener noreferrer"
646
+ },
647
+ type: {
648
+ type: String,
649
+ default: "button",
650
+ validator: (a) => a in gt
651
+ },
652
+ toggle: {
653
+ type: Boolean,
654
+ default: !1
655
+ },
656
+ modelValue: String,
657
+ unselectable: { type: Boolean, default: !0 }
658
+ };
659
+ function ga(a, t) {
660
+ var y;
661
+ const { group: e, isInGroup: n, getGroupOrLocalRef: o } = Le(ct), { iconPosition: r, icon: s, label: b, pressed: c } = F(a), d = o("modelValue", a, t), u = o("disabled", a), v = o("toggle", a), p = o(
662
+ "unselectable",
663
+ a
664
+ ), h = o("modifiers", a), g = ((y = e == null ? void 0 : e.value) == null ? void 0 : y.multiple) ?? H(!1);
665
+ return {
666
+ modelValue: d,
667
+ disabled: u,
668
+ toggle: v,
669
+ isInGroup: n,
670
+ group: e,
671
+ modifiers: h,
672
+ multiple: g,
673
+ unselectable: p,
674
+ pressed: c,
675
+ iconPosition: r,
676
+ icon: s,
677
+ label: b
678
+ };
679
+ }
680
+ const ya = {
681
+ key: 1,
682
+ class: "vv-button__label"
683
+ }, _a = {
684
+ key: 1,
685
+ class: "vv-button__label"
686
+ }, Sa = {
687
+ name: "VvButton"
688
+ }, ao = /* @__PURE__ */ D({
689
+ ...Sa,
690
+ props: ha,
691
+ emits: ba,
692
+ setup(a, { emit: t }) {
693
+ const e = a, n = rt(), o = re(), r = (n == null ? void 0 : n.name) || ie(), {
694
+ modifiers: s,
695
+ iconPosition: b,
696
+ icon: c,
697
+ label: d,
698
+ modelValue: u,
699
+ disabled: v,
700
+ toggle: p,
701
+ unselectable: h
702
+ } = ga(e, t), g = We(De), y = i(() => {
703
+ switch (!0) {
704
+ case v.value:
705
+ return se.button;
706
+ case e.to !== void 0:
707
+ return g != null && g.nuxt ? se.nuxtLink : se.routerLink;
708
+ case e.href !== void 0:
709
+ return se.a;
710
+ default:
711
+ return se.button;
712
+ }
713
+ }), f = i(() => p.value ? Array.isArray(u.value) ? pe(r, u.value) : me(r, u.value) : e.pressed), { bemCssClasses: V } = x("vv-button", {
714
+ modifiers: s,
715
+ active: e.active,
716
+ pressed: f,
717
+ disabled: v,
718
+ reverse: i(
719
+ () => [_e.right, _e.bottom].includes(
720
+ b.value
721
+ )
722
+ ),
723
+ column: i(
724
+ () => [_e.top, _e.bottom].includes(
725
+ b.value
726
+ )
727
+ ),
728
+ iconOnly: i(
729
+ () => (c == null ? void 0 : c.value) && !(d != null && d.value) && !o.default
730
+ )
731
+ }), I = i(
732
+ () => typeof (c == null ? void 0 : c.value) == "string" ? { name: c == null ? void 0 : c.value } : c == null ? void 0 : c.value
733
+ ), A = i(() => {
734
+ const $ = {
735
+ class: V.value,
736
+ "aria-pressed": f.value ? !0 : void 0
737
+ };
738
+ switch (y.value) {
739
+ case se.a:
740
+ return {
741
+ ...$,
742
+ role: "button",
743
+ href: e.href,
744
+ target: e.target,
745
+ rel: e.rel
746
+ };
747
+ case se.routerLink:
748
+ case se.nuxtLink:
749
+ return {
750
+ ...$,
751
+ role: "button",
752
+ to: e.to,
753
+ target: e.target
754
+ };
755
+ default:
756
+ return {
757
+ ...$,
758
+ type: e.type,
759
+ disabled: v.value
760
+ };
761
+ }
762
+ }), T = () => {
763
+ if (p.value) {
764
+ if (Array.isArray(u.value)) {
765
+ if (pe(r, u.value)) {
766
+ h.value && (u.value = u.value.filter(
767
+ ($) => $ !== r
768
+ ));
769
+ return;
770
+ }
771
+ u.value.push(r);
772
+ return;
773
+ }
774
+ if (me(r, u.value) && h.value) {
775
+ u.value = void 0;
776
+ return;
777
+ }
778
+ u.value = r;
779
+ }
780
+ };
781
+ return ($, G) => (m(), B(it(l(y)), E(l(A), { onClickPassive: T }), {
782
+ default: Ce(() => [
783
+ C($.$slots, "default", {}, () => [
784
+ $.loading ? C($.$slots, "loading", { key: 0 }, () => [
785
+ $.loadingIcon ? (m(), B(M, {
786
+ key: 0,
787
+ class: "vv-button__loading-icon",
788
+ name: $.loadingIcon
789
+ }, null, 8, ["name"])) : w("", !0),
790
+ $.loadingLabel ? (m(), _("span", ya, R($.loadingLabel), 1)) : w("", !0)
791
+ ]) : (m(), _(be, { key: 1 }, [
792
+ C($.$slots, "before"),
793
+ l(c) ? (m(), B(M, E({
794
+ key: 0,
795
+ class: "vv-button__icon"
796
+ }, l(I)), null, 16)) : w("", !0),
797
+ l(d) ? (m(), _("span", _a, [
798
+ C($.$slots, "label", {}, () => [
799
+ X(R(l(d)), 1)
800
+ ])
801
+ ])) : w("", !0),
802
+ C($.$slots, "after")
803
+ ], 64))
804
+ ])
805
+ ]),
806
+ _: 3
807
+ }, 16));
808
+ }
809
+ }), Va = {
810
+ ...ue,
811
+ ...he,
812
+ itemModifiers: {
813
+ type: [String, Array],
814
+ default: ""
815
+ },
816
+ toggle: { type: Boolean, default: !1 },
817
+ multiple: { type: Boolean, default: !1 },
818
+ unselectable: { type: Boolean, default: !0 },
819
+ modelValue: { type: [String, Array], default: void 0 }
820
+ }, $a = ["update:modelValue"], Ca = {
821
+ name: "VvButtonGroup"
822
+ }, lo = /* @__PURE__ */ D({
823
+ ...Ca,
824
+ props: Va,
825
+ emits: $a,
826
+ setup(a, { emit: t }) {
827
+ const e = a, {
828
+ disabled: n,
829
+ toggle: o,
830
+ modifiers: r,
831
+ multiple: s,
832
+ unselectable: b,
833
+ itemModifiers: c
834
+ } = F(e);
835
+ ze(() => {
836
+ typeof e.modelValue == "string" && s.value && console.warn(
837
+ "[VvButtonGroup]: modelValue is a string but multiple is true."
838
+ );
839
+ });
840
+ const d = i({
841
+ get: () => s.value ? e.modelValue : Array.isArray(e.modelValue) ? e.modelValue[0] : e.modelValue,
842
+ set: (p) => (p !== void 0 && (Array.isArray(e.modelValue) || s.value) && !Array.isArray(p) && (p = [p]), t("update:modelValue", p))
843
+ });
844
+ Te({
845
+ key: ct,
846
+ modelValue: d,
847
+ disabled: n,
848
+ toggle: o,
849
+ multiple: s,
850
+ unselectable: b,
851
+ modifiers: c
852
+ });
853
+ const { bemCssClasses: v } = x("vv-button-group", {
854
+ modifiers: r
855
+ });
856
+ return (p, h) => (m(), _("div", {
857
+ class: j(l(v)),
858
+ role: "group"
859
+ }, [
860
+ C(p.$slots, "default")
861
+ ], 2));
862
+ }
863
+ }), ka = {
864
+ title: String,
865
+ modifiers: [String, Array]
866
+ }, Aa = {
867
+ key: 0,
868
+ class: "vv-card__header"
869
+ }, wa = {
870
+ key: 1,
871
+ class: "vv-card__content"
872
+ }, Ia = {
873
+ key: 2,
874
+ class: "vv-card__footer"
875
+ }, Pa = {
876
+ name: "VvCard"
877
+ }, oo = /* @__PURE__ */ D({
878
+ ...Pa,
879
+ props: ka,
880
+ setup(a) {
881
+ const t = a, { bemCssClasses: e } = x("vv-card", {
882
+ modifiers: t.modifiers
883
+ });
884
+ return (n, o) => (m(), _("article", {
885
+ class: j(l(e))
886
+ }, [
887
+ n.$slots.header || n.title ? (m(), _("header", Aa, [
888
+ C(n.$slots, "header", {}, () => [
889
+ X(R(n.title), 1)
890
+ ])
891
+ ])) : w("", !0),
892
+ C(n.$slots, "default"),
893
+ n.$slots.content ? (m(), _("div", wa, [
894
+ C(n.$slots, "content")
895
+ ])) : w("", !0),
896
+ n.$slots.footer ? (m(), _("footer", Ia, [
897
+ C(n.$slots, "footer")
898
+ ])) : w("", !0)
899
+ ], 2));
900
+ }
901
+ }), Oa = {
902
+ ...bt,
903
+ indeterminate: Boolean,
904
+ uncheckedValue: [String, Number, Boolean],
905
+ switch: Boolean
906
+ }, Ra = ["click", "update:modelValue", "change", "blur"];
907
+ function Ea(a, t) {
908
+ const { group: e, isInGroup: n, getGroupOrLocalRef: o } = Le(pt), { switch: r, indeterminate: s } = F(a), b = o("modelValue", a, t), c = o("readonly", a), d = o("disabled", a), u = o("valid", a), v = o("invalid", a);
909
+ return {
910
+ propsSwitch: r,
911
+ indeterminate: s,
912
+ group: e,
913
+ isInGroup: n,
914
+ modelValue: b,
915
+ readonly: c,
916
+ disabled: d,
917
+ valid: u,
918
+ invalid: v
919
+ };
920
+ }
921
+ function Re(a) {
922
+ return Array.isArray(a) ? a.filter((t) => qt(t)).join(" ") : a;
923
+ }
924
+ function ge(a, t) {
925
+ const {
926
+ invalid: e,
927
+ valid: n,
928
+ hint: o,
929
+ loading: r
930
+ } = t, {
931
+ hintLabel: s,
932
+ modelValue: b,
933
+ valid: c,
934
+ validLabel: d,
935
+ invalid: u,
936
+ invalidLabel: v,
937
+ ...p
938
+ } = F(a), h = Ee(p, "loading"), g = Ee(p, "loadingLabel"), y = i(() => u.value ? !!(u.value && e || v != null && v.value && Array.isArray(v.value) && v.value.length > 0 || v != null && v.value && !ee(v)) : !1), f = i(
939
+ () => !!(s && s.value || o)
940
+ ), V = i(
941
+ () => !!(d && d.value || n)
942
+ ), I = i(
943
+ () => !!(h != null && h.value && r || h != null && h.value && (g != null && g.value))
944
+ ), A = i(
945
+ () => f.value || V.value || y.value || I.value
946
+ );
947
+ return {
948
+ hasInvalid: y,
949
+ hasHint: f,
950
+ hasValid: V,
951
+ hasLoading: I,
952
+ HintSlot: {
953
+ name: "HintSlot",
954
+ props: {
955
+ params: {
956
+ type: Object,
957
+ default: () => ({})
958
+ }
959
+ },
960
+ setup(T) {
961
+ const $ = i(() => {
962
+ const G = Ut({
963
+ hintLabel: s,
964
+ modelValue: b,
965
+ valid: c,
966
+ validLabel: d,
967
+ invalid: u,
968
+ invalidLabel: v,
969
+ loading: h,
970
+ loadingLabel: g,
971
+ ...T.params
972
+ });
973
+ return u != null && u.value ? (e == null ? void 0 : e(G)) || Re(v == null ? void 0 : v.value) || (s == null ? void 0 : s.value) : c != null && c.value ? (n == null ? void 0 : n(G)) || Re(d == null ? void 0 : d.value) || (s == null ? void 0 : s.value) : h != null && h.value ? (r == null ? void 0 : r(G)) || Re(g == null ? void 0 : g.value) || (s == null ? void 0 : s.value) : (o == null ? void 0 : o(G)) || Re(s == null ? void 0 : s.value) || (s == null ? void 0 : s.value);
974
+ });
975
+ return {
976
+ isVisible: A,
977
+ hasInvalid: y,
978
+ hasValid: V,
979
+ hintContent: $
980
+ };
981
+ },
982
+ render() {
983
+ if (this.isVisible)
984
+ return Q(
985
+ "small",
986
+ {
987
+ role: this.hasInvalid || this.hasValid ? "alert" : void 0
988
+ },
989
+ this.hintContent
990
+ );
991
+ }
992
+ }
993
+ };
994
+ }
995
+ const Da = ["for"], La = ["id", "name", "disabled", "value", "tabindex", "aria-invalid"], Ta = {
996
+ name: "VvCheckbox"
997
+ }, Ba = /* @__PURE__ */ D({
998
+ ...Ta,
999
+ props: Oa,
1000
+ emits: Ra,
1001
+ setup(a, { emit: t }) {
1002
+ const e = a, n = re(), {
1003
+ disabled: o,
1004
+ readonly: r,
1005
+ valid: s,
1006
+ invalid: b,
1007
+ propsSwitch: c,
1008
+ modelValue: d,
1009
+ indeterminate: u,
1010
+ isInGroup: v
1011
+ } = Ea(e, t), p = i(() => String(e.id || ie())), h = i(() => f.value ? -1 : e.tabindex), g = H(), y = i(
1012
+ () => e.uncheckedValue !== void 0 && !v.value
1013
+ ), f = i(() => o.value || r.value), V = i(() => {
1014
+ if (b.value === !0)
1015
+ return !0;
1016
+ if (s.value === !0)
1017
+ return !1;
1018
+ }), I = i(() => y.value ? d.value === e.value : Array.isArray(d.value) ? pe(e.value, d.value) : me(e.value, d.value)), A = i(() => !!(u.value || !I.value && y.value && e.uncheckedValue !== d.value)), T = i(() => {
1019
+ if (!y.value)
1020
+ return ["string", "number", "boolean"].includes(typeof e.value) ? e.value : !0;
1021
+ }), $ = i({
1022
+ get() {
1023
+ return I.value;
1024
+ },
1025
+ set(N) {
1026
+ if (y.value)
1027
+ d.value = N ? e.value : e.uncheckedValue;
1028
+ else if (Array.isArray(d.value) || v.value) {
1029
+ const z = new Set(
1030
+ Array.isArray(d.value) ? d.value : d.value !== void 0 ? [d.value] : []
1031
+ );
1032
+ N ? z.add(e.value) : z.delete(e.value), d.value = [...z];
1033
+ } else
1034
+ d.value = N ? e.value : void 0;
1035
+ t("change", N);
1036
+ }
1037
+ }), { bemCssClasses: G } = x("vv-checkbox", {
1038
+ switch: c,
1039
+ valid: s,
1040
+ invalid: b,
1041
+ disabled: o,
1042
+ readonly: r,
1043
+ indeterminate: u
1044
+ });
1045
+ ze(() => {
1046
+ y.value && Array.isArray(d.value) && console.warn(
1047
+ "[VvCheckbox] The model value is an array but the component is in binary mode."
1048
+ );
1049
+ }), qe(
1050
+ () => A.value,
1051
+ (N) => {
1052
+ N ? g.value.indeterminate = !0 : g.value.indeterminate = !1;
1053
+ }
1054
+ ), Xe(() => {
1055
+ A.value && (g.value.indeterminate = !0);
1056
+ });
1057
+ const { HintSlot: Z } = ge(e, n);
1058
+ return (N, z) => (m(), _("label", {
1059
+ class: j(l(G)),
1060
+ for: l(p)
1061
+ }, [
1062
+ ye(O("input", {
1063
+ id: l(p),
1064
+ ref_key: "input",
1065
+ ref: g,
1066
+ "onUpdate:modelValue": z[0] || (z[0] = (ae) => Se($) ? $.value = ae : null),
1067
+ type: "checkbox",
1068
+ class: "vv-checkbox__input",
1069
+ name: N.name,
1070
+ disabled: l(f),
1071
+ value: l(T),
1072
+ tabindex: l(h),
1073
+ "aria-invalid": l(V)
1074
+ }, null, 8, La), [
1075
+ [Lt, l($)]
1076
+ ]),
1077
+ C(N.$slots, "default", { value: l(d) }, () => [
1078
+ X(R(N.label), 1)
1079
+ ]),
1080
+ oe(l(Z), {
1081
+ class: "vv-checkbox__hint",
1082
+ params: { value: l(d) }
1083
+ }, null, 8, ["params"])
1084
+ ], 10, Da));
1085
+ }
1086
+ });
1087
+ function Pe(a) {
1088
+ const { options: t, labelKey: e, valueKey: n } = F(a);
1089
+ return {
1090
+ options: t,
1091
+ getOptionLabel: (s) => typeof s != "object" && s !== null ? s : typeof e.value == "function" ? e.value(s) : s[e.value],
1092
+ getOptionValue: (s) => typeof s != "object" && s !== null ? s : typeof n.value == "function" ? n.value(s) : s[n.value]
1093
+ };
1094
+ }
1095
+ const Na = ht, xa = ["update:modelValue", "change"], Ha = ["textContent"], Ma = { class: "vv-checkbox-group__wrapper" }, Ga = {
1096
+ name: "VvCheckboxGroup"
1097
+ }, no = /* @__PURE__ */ D({
1098
+ ...Ga,
1099
+ props: Na,
1100
+ emits: xa,
1101
+ setup(a, { emit: t }) {
1102
+ const e = a, n = re(), o = Ze(e, "modelValue", t), { disabled: r, readonly: s, vertical: b, valid: c, invalid: d } = F(e);
1103
+ Te({
1104
+ key: pt,
1105
+ modelValue: o,
1106
+ disabled: r,
1107
+ readonly: s,
1108
+ valid: c,
1109
+ invalid: d
1110
+ });
1111
+ const { getOptionLabel: v, getOptionValue: p } = Pe(e), { bemCssClasses: h } = x("vv-checkbox-group", {
1112
+ disabled: r,
1113
+ readonly: s,
1114
+ horizontal: i(() => !b.value),
1115
+ valid: c,
1116
+ invalid: d
1117
+ }), g = (f, V) => ({
1118
+ id: `${e.name}_opt${V}`,
1119
+ name: e.name,
1120
+ label: v(f),
1121
+ value: p(f)
1122
+ }), { HintSlot: y } = ge(e, n);
1123
+ return (f, V) => (m(), _("fieldset", {
1124
+ class: j(l(h))
1125
+ }, [
1126
+ f.label ? (m(), _("legend", {
1127
+ key: 0,
1128
+ textContent: R(f.label)
1129
+ }, null, 8, Ha)) : w("", !0),
1130
+ O("div", Ma, [
1131
+ f.options.length > 0 ? (m(!0), _(be, { key: 0 }, Ve(f.options, (I, A) => (m(), B(Ba, E({ key: A }, g(I, A)), null, 16))), 128)) : C(f.$slots, "default", { key: 1 })
1132
+ ]),
1133
+ oe(l(y), { class: "vv-checkbox-group__hint" })
1134
+ ], 2));
1135
+ }
1136
+ });
1137
+ function xe(a, t, e) {
1138
+ const n = i(
1139
+ () => !!(a != null && a.value && t.value === "left" || e != null && e.iconLeft)
1140
+ ), o = i(
1141
+ () => !!(a != null && a.value && t.value === "right" || e != null && e.iconRight)
1142
+ ), r = i(
1143
+ () => !!(a != null && a.value && t.value === "top" || e != null && e.iconTop)
1144
+ ), s = i(
1145
+ () => !!(a != null && a.value && t.value === "bottom" || e != null && e.iconBottom)
1146
+ );
1147
+ return {
1148
+ hasIcon: i(() => typeof (a == null ? void 0 : a.value) == "string" ? { name: a == null ? void 0 : a.value } : a == null ? void 0 : a.value),
1149
+ hasIconLeft: n,
1150
+ hasIconRight: o,
1151
+ hasIconTop: r,
1152
+ hasIconBottom: s
1153
+ };
1154
+ }
1155
+ function He(a, t) {
1156
+ const { focused: e } = jt(a);
1157
+ return qe(e, (n) => {
1158
+ t(n ? "focus" : "blur", l(a));
1159
+ }), {
1160
+ focused: e
1161
+ };
1162
+ }
1163
+ const Ua = {
1164
+ ...Be,
1165
+ ...he,
1166
+ ...ue,
1167
+ modelValue: {
1168
+ type: [String, Number, Boolean, Object, Array]
1169
+ },
1170
+ labelNoResults: { type: String, default: "No results" },
1171
+ multiple: Boolean,
1172
+ maxValues: [Number, String]
1173
+ }, ja = {
1174
+ key: 0,
1175
+ role: "option"
1176
+ }, Fa = ["aria-selected"], Wa = ["for", "onClick"], Ka = ["id", "type", "value", "checked", "disabled"], za = {
1177
+ name: "VvDropdown"
1178
+ }, qa = /* @__PURE__ */ D({
1179
+ ...za,
1180
+ props: Ua,
1181
+ emits: ["update:modelValue"],
1182
+ setup(a, { emit: t }) {
1183
+ const e = a, n = ie(), { modifiers: o, disabled: r } = F(e), { getOptionLabel: s, getOptionValue: b } = Pe(e), { bemCssClasses: c } = x("vv-dropdown", {
1184
+ modifiers: o,
1185
+ disabled: r
1186
+ });
1187
+ function d(p) {
1188
+ return Array.isArray(e.modelValue) ? pe(p, e.modelValue) || pe(b(p), e.modelValue) : me(p, e.modelValue) || me(b(p), e.modelValue);
1189
+ }
1190
+ function u(p) {
1191
+ return typeof p == "string" || p.disabled === void 0 ? r.value : p.disabled;
1192
+ }
1193
+ function v(p) {
1194
+ var g;
1195
+ if (e.disabled)
1196
+ return;
1197
+ let h = p;
1198
+ if (e.multiple)
1199
+ if (Array.isArray(e.modelValue)) {
1200
+ if (e.maxValues !== void 0 && e.maxValues >= 0 && ((g = e.modelValue) == null ? void 0 : g.length) >= e.maxValues && !pe(p, e.modelValue))
1201
+ return;
1202
+ h = pe(p, e.modelValue) ? zt(p, e.modelValue) : [...e.modelValue, p];
1203
+ } else
1204
+ h = [p];
1205
+ t("update:modelValue", h);
1206
+ }
1207
+ return (p, h) => {
1208
+ var g;
1209
+ return m(), _("ul", {
1210
+ class: j(l(c)),
1211
+ role: "listbox"
1212
+ }, [
1213
+ (g = p.options) != null && g.length ? w("", !0) : (m(), _("li", ja, [
1214
+ O("label", null, R(p.labelNoResults), 1)
1215
+ ])),
1216
+ (m(!0), _(be, null, Ve(p.options, (y, f) => (m(), _("li", {
1217
+ key: f,
1218
+ role: "option",
1219
+ "aria-selected": d(y)
1220
+ }, [
1221
+ O("label", {
1222
+ for: `dropdown-${f}-${l(n)}`,
1223
+ onClick: Ke((V) => v(l(b)(y)), ["prevent"])
1224
+ }, [
1225
+ O("input", {
1226
+ id: `dropdown-${f}-${l(n)}`,
1227
+ type: p.multiple ? "checkbox" : "radio",
1228
+ value: l(b)(y),
1229
+ checked: d(y),
1230
+ disabled: u(y),
1231
+ tabindex: "-1",
1232
+ "aria-hidden": "true"
1233
+ }, null, 8, Ka),
1234
+ X(" " + R(l(s)(y)), 1)
1235
+ ], 8, Wa)
1236
+ ], 8, Fa))), 128))
1237
+ ], 2);
1238
+ };
1239
+ }
1240
+ }), Xa = [
1241
+ "update:modelValue",
1242
+ "change:search",
1243
+ "focus",
1244
+ "blur"
1245
+ ], Za = {
1246
+ ...Ne,
1247
+ ...ke,
1248
+ ...Ae,
1249
+ ...Ie,
1250
+ ...Ye,
1251
+ ...he,
1252
+ ...we,
1253
+ ...ue,
1254
+ ...Be,
1255
+ ...Je,
1256
+ modelValue: {
1257
+ type: [String, Number, Boolean, Object, Array],
1258
+ default: void 0
1259
+ },
1260
+ label: String,
1261
+ labelNoResults: { type: String, default: "No results" },
1262
+ placeholder: String,
1263
+ searchable: Boolean,
1264
+ searchPlaceholder: String,
1265
+ debounceSearch: {
1266
+ type: [Number, String],
1267
+ default: 0
1268
+ },
1269
+ multiple: Boolean,
1270
+ maxValues: [Number, String],
1271
+ separator: { type: String, default: ", " },
1272
+ native: Boolean
1273
+ }, Ya = ["id"], Ja = ["id", "for"], Qa = ["tabindex"], el = ["id", "placeholder"], tl = {
1274
+ name: "VvCombobox"
1275
+ }, so = /* @__PURE__ */ D({
1276
+ ...tl,
1277
+ props: Za,
1278
+ emits: Xa,
1279
+ setup(a, { emit: t }) {
1280
+ const e = a, n = re(), { HintSlot: o } = ge(e, n), r = H(), s = H(), { focused: b } = He(r, t), c = ie(), d = H(""), u = Ft(
1281
+ d,
1282
+ Number(e.debounceSearch)
1283
+ ), v = H(!1), {
1284
+ icon: p,
1285
+ iconPosition: h,
1286
+ modifiers: g,
1287
+ disabled: y,
1288
+ readonly: f,
1289
+ loading: V,
1290
+ valid: I,
1291
+ invalid: A
1292
+ } = F(e);
1293
+ qe(
1294
+ u,
1295
+ () => t("change:search", u.value)
1296
+ );
1297
+ const { hasIcon: T, hasIconLeft: $, hasIconRight: G } = xe(
1298
+ p,
1299
+ h
1300
+ ), Z = i(() => !ee(e.modelValue)), N = i(() => y.value || f.value ? -1 : e.tabindex), { bemCssClasses: z } = x("vv-select", {
1301
+ modifiers: g,
1302
+ disabled: y,
1303
+ loading: V,
1304
+ readonly: f,
1305
+ iconLeft: $,
1306
+ iconRight: G,
1307
+ valid: I,
1308
+ invalid: A,
1309
+ dirty: Z,
1310
+ focus: b
1311
+ }), ae = i(
1312
+ () => e.searchable ? ce.value : e.options
1313
+ ), { getOptionLabel: de, getOptionValue: Y } = Pe(e), ce = i(() => {
1314
+ var k;
1315
+ return (k = e.options) == null ? void 0 : k.filter((U) => de(U).toLowerCase().includes(u.value.toLowerCase().trim()));
1316
+ }), ne = i(() => {
1317
+ let k = [];
1318
+ return Array.isArray(e.modelValue) ? k = e.modelValue : e.modelValue && (k = [e.modelValue]), e.options.filter(
1319
+ (U) => k.includes(Y(U))
1320
+ );
1321
+ }), J = i(() => ne.value.map((k) => Y(k)).join(e.separator));
1322
+ dt(r, () => {
1323
+ r.value.open = !1;
1324
+ });
1325
+ function L(k) {
1326
+ const U = k.target;
1327
+ v.value = U.open;
1328
+ }
1329
+ function le(k) {
1330
+ r.value && !e.multiple && (r.value.open = !1), t("update:modelValue", k);
1331
+ }
1332
+ const W = i(() => ({
1333
+ options: ae.value,
1334
+ labelKey: e.labelKey,
1335
+ valueKey: e.valueKey,
1336
+ disabled: e.disabled,
1337
+ labelNoResults: e.labelNoResults,
1338
+ multiple: e.multiple,
1339
+ maxValues: e.maxValues,
1340
+ modelValue: e.modelValue
1341
+ }));
1342
+ return (k, U) => k.native ? w("", !0) : (m(), _("div", {
1343
+ key: 0,
1344
+ id: l(c),
1345
+ class: j(l(z))
1346
+ }, [
1347
+ k.label ? (m(), _("label", {
1348
+ key: 0,
1349
+ id: `${l(c)}-label`,
1350
+ for: k.searchable && v.value ? `${l(c)}-input` : void 0
1351
+ }, R(k.label), 9, Ja)) : w("", !0),
1352
+ O("details", {
1353
+ ref_key: "dropdown",
1354
+ ref: r,
1355
+ class: "vv-select__wrapper",
1356
+ onClick: U[2] || (U[2] = (ve) => l(y) || l(f) ? ve.preventDefault() : null),
1357
+ onKeyup: U[3] || (U[3] = tt((ve) => r.value.open = !1, ["esc"])),
1358
+ onToggle: L
1359
+ }, [
1360
+ O("summary", {
1361
+ class: "vv-select__input",
1362
+ tabindex: l(N),
1363
+ onKeyup: U[1] || (U[1] = tt((ve) => k.searchable ? ve.preventDefault() : null, ["space"]))
1364
+ }, [
1365
+ C(k.$slots, "before", {}, () => [
1366
+ l($) ? (m(), B(M, E({
1367
+ key: 0,
1368
+ class: "vv-select__icon-left"
1369
+ }, l(T)), null, 16)) : w("", !0)
1370
+ ]),
1371
+ k.searchable && v.value ? ye((m(), _("input", {
1372
+ key: 0,
1373
+ id: `${l(c)}-input`,
1374
+ ref_key: "inputSearch",
1375
+ ref: s,
1376
+ "onUpdate:modelValue": U[0] || (U[0] = (ve) => d.value = ve),
1377
+ role: "combobox",
1378
+ type: "search",
1379
+ placeholder: k.searchPlaceholder
1380
+ }, null, 8, el)), [
1381
+ [ut, d.value]
1382
+ ]) : (m(), _(be, { key: 1 }, [
1383
+ X(R(l(J) || k.placeholder), 1)
1384
+ ], 64)),
1385
+ C(k.$slots, "after", {}, () => [
1386
+ l(G) ? (m(), B(M, E({
1387
+ key: 0,
1388
+ class: "vv-select__icon-right"
1389
+ }, l(T)), null, 16)) : w("", !0)
1390
+ ])
1391
+ ], 40, Qa),
1392
+ oe(qa, E({
1393
+ id: `${l(c)}-dropdown`
1394
+ }, l(W), { "onUpdate:modelValue": le }), null, 16, ["id"])
1395
+ ], 544),
1396
+ oe(l(o), { class: "vv-select__hint" })
1397
+ ], 10, Ya));
1398
+ }
1399
+ }), al = ["open", "close", "update:modelValue"], ll = {
1400
+ id: { type: String, required: !0 },
1401
+ title: String,
1402
+ modelValue: Boolean,
1403
+ transition: { type: String, default: "fade-block" },
1404
+ size: String,
1405
+ autoClose: { type: Boolean, default: !0 }
1406
+ }, ol = {
1407
+ key: 0,
1408
+ class: "vv-dialog__header"
1409
+ }, nl = ["onClick"], sl = { class: "vv-dialog__content" }, rl = {
1410
+ key: 1,
1411
+ class: "vv-dialog__footer"
1412
+ }, il = {
1413
+ name: "VvDialog"
1414
+ }, ro = /* @__PURE__ */ D({
1415
+ ...il,
1416
+ props: ll,
1417
+ emits: al,
1418
+ setup(a, { emit: t }) {
1419
+ const e = a, n = Ze(e, "modelValue", t), o = H(!0), r = H(null), s = i(() => {
1420
+ const { id: v } = e;
1421
+ return {
1422
+ id: v,
1423
+ open: o.value
1424
+ };
1425
+ }), b = i(() => e.size ? ["vv-dialog", `vv-dialog--${e.size}`] : "vv-dialog"), c = i(() => `vv-dialog--${e.transition}`), d = {
1426
+ "before-enter": () => {
1427
+ o.value = !0, t("open");
1428
+ },
1429
+ "after-leave": () => {
1430
+ o.value = !1, t("close");
1431
+ }
1432
+ };
1433
+ dt(r, () => {
1434
+ e.autoClose && (n.value = !1);
1435
+ });
1436
+ function u() {
1437
+ n.value = !1;
1438
+ }
1439
+ return (v, p) => (m(), B(Tt, E({ name: l(c) }, Bt(d)), {
1440
+ default: Ce(() => [
1441
+ ye(O("dialog", E(l(s), { class: l(b) }), [
1442
+ O("article", {
1443
+ ref_key: "modalWrapper",
1444
+ ref: r,
1445
+ class: "vv-dialog__wrapper"
1446
+ }, [
1447
+ v.$slots.header || v.title ? (m(), _("header", ol, [
1448
+ C(v.$slots, "header", {}, () => [
1449
+ X(R(v.title) + " ", 1),
1450
+ O("button", {
1451
+ type: "button",
1452
+ "aria-label": "Close",
1453
+ class: "vv-dialog__close",
1454
+ onClick: Ke(u, ["prevent"])
1455
+ }, [
1456
+ oe(M, { name: "close" })
1457
+ ], 8, nl)
1458
+ ])
1459
+ ])) : w("", !0),
1460
+ O("div", sl, [
1461
+ C(v.$slots, "default")
1462
+ ]),
1463
+ v.$slots.footer ? (m(), _("footer", rl, [
1464
+ C(v.$slots, "footer")
1465
+ ])) : w("", !0)
1466
+ ], 512)
1467
+ ], 16), [
1468
+ [Nt, l(n)]
1469
+ ])
1470
+ ]),
1471
+ _: 3
1472
+ }, 16, ["name"]));
1473
+ }
1474
+ });
1475
+ function _t(a, t, e = 0) {
1476
+ let n;
1477
+ return typeof e == "string" && (e = parseInt(e)), i({
1478
+ get: () => a == null ? void 0 : a.value,
1479
+ set: (o) => {
1480
+ n && clearTimeout(n), n = setTimeout(() => {
1481
+ t("update:modelValue", o);
1482
+ }, e);
1483
+ }
1484
+ });
1485
+ }
1486
+ function St(a, t) {
1487
+ const e = i(() => (l(a) ?? "").length), n = i(() => (t == null ? void 0 : t.lowerLimit) !== void 0 && e.value < (t == null ? void 0 : t.lowerLimit) ? e.value - t.lowerLimit : (t == null ? void 0 : t.upperLimit) !== void 0 && e.value < (t == null ? void 0 : t.upperLimit) ? t.upperLimit - e.value : 0), o = i(() => (t == null ? void 0 : t.mode) === !1 ? "" : (t == null ? void 0 : t.mode) === "limit" ? `${e.value} / ${t.lowerLimit ? `${t.lowerLimit}-` : ""}${t.upperLimit}` : (t == null ? void 0 : t.mode) === "countdown" ? n.value === 0 ? void 0 : n : e.value);
1488
+ return {
1489
+ length: e,
1490
+ gap: n,
1491
+ formatted: o
1492
+ };
1493
+ }
1494
+ const S = {
1495
+ TEXT: "text",
1496
+ PASSWORD: "password",
1497
+ NUMBER: "number",
1498
+ EMAIL: "email",
1499
+ TEL: "tel",
1500
+ URL: "url",
1501
+ COLOR: "color",
1502
+ SEARCH: "search",
1503
+ DATE: "date",
1504
+ TIME: "time",
1505
+ DATETIME_LOCAL: "datetime-local",
1506
+ MONTH: "month",
1507
+ WEEK: "week"
1508
+ }, fe = {
1509
+ PASSWORD_SHOW: "eye-on",
1510
+ PASSWORD_HIDE: "eye-off",
1511
+ DATE: "calendar",
1512
+ TIME: "time",
1513
+ COLOR: "color",
1514
+ SEARCH: "close"
1515
+ }, ul = ["update:modelValue", "focus", "blur", "keyup"], dl = {
1516
+ ...mt,
1517
+ modelValue: [String, Number],
1518
+ type: {
1519
+ type: String,
1520
+ default: S.TEXT,
1521
+ validator: (a) => Object.values(S).includes(a)
1522
+ },
1523
+ min: [Number, Date, String],
1524
+ max: [Number, Date, String],
1525
+ step: { type: [String, Number], default: 1 },
1526
+ pattern: String,
1527
+ multiple: Boolean,
1528
+ iconShowPassword: {
1529
+ type: String,
1530
+ default: fe.PASSWORD_SHOW
1531
+ },
1532
+ iconHidePassword: {
1533
+ type: String,
1534
+ default: fe.PASSWORD_HIDE
1535
+ },
1536
+ iconClear: {
1537
+ type: String,
1538
+ default: fe.SEARCH
1539
+ },
1540
+ labelStepUp: {
1541
+ type: String,
1542
+ default: "Increase value"
1543
+ },
1544
+ labelStepDown: {
1545
+ type: String,
1546
+ default: "Decrease value"
1547
+ },
1548
+ labelShowPassword: {
1549
+ type: String,
1550
+ default: "Show password"
1551
+ },
1552
+ labelHidePassword: {
1553
+ type: String,
1554
+ default: "Hide password"
1555
+ },
1556
+ labelClear: {
1557
+ type: String,
1558
+ default: "Clear"
1559
+ }
1560
+ }, ot = D({
1561
+ components: {
1562
+ VvIcon: M
1563
+ },
1564
+ props: {
1565
+ disabled: {
1566
+ type: Boolean,
1567
+ default: !1
1568
+ },
1569
+ labelShow: {
1570
+ type: String,
1571
+ default: "Show password"
1572
+ },
1573
+ labelHide: {
1574
+ type: String,
1575
+ default: "Hide password"
1576
+ },
1577
+ iconShow: {
1578
+ type: String,
1579
+ default: fe.PASSWORD_SHOW
1580
+ },
1581
+ iconHide: {
1582
+ type: String,
1583
+ default: fe.PASSWORD_HIDE
1584
+ }
1585
+ },
1586
+ emits: ["toggle-password"],
1587
+ setup(a, { emit: t }) {
1588
+ const e = H(!1), n = i(
1589
+ () => e.value ? a.iconHide : a.iconShow
1590
+ );
1591
+ function o(r) {
1592
+ r == null || r.stopPropagation(), a.disabled || (e.value = !e.value, t("toggle-password", e.value));
1593
+ }
1594
+ return {
1595
+ active: e,
1596
+ activeIcon: n,
1597
+ onClick: o
1598
+ };
1599
+ },
1600
+ render() {
1601
+ const a = Q(M, {
1602
+ name: this.activeIcon,
1603
+ class: "vv-input-text__action-icon"
1604
+ });
1605
+ return Q(
1606
+ "button",
1607
+ {
1608
+ disabled: this.disabled,
1609
+ class: "vv-input-text__action",
1610
+ ariaLabel: this.active ? this.labelHide : this.labelShow,
1611
+ type: "button",
1612
+ onClick: this.onClick
1613
+ },
1614
+ a
1615
+ );
1616
+ }
1617
+ }), Ue = D({
1618
+ components: {
1619
+ VvIcon: M
1620
+ },
1621
+ props: {
1622
+ disabled: {
1623
+ type: Boolean,
1624
+ default: !1
1625
+ },
1626
+ label: {
1627
+ type: String
1628
+ },
1629
+ mode: {
1630
+ type: String,
1631
+ validator: (a) => ["up", "down"].includes(a),
1632
+ default: "up"
1633
+ }
1634
+ },
1635
+ emits: ["step-up", "step-down"],
1636
+ setup(a, { emit: t }) {
1637
+ const e = i(() => a.mode === "up");
1638
+ return {
1639
+ isUp: e,
1640
+ onClick: (o) => {
1641
+ o == null || o.stopPropagation(), a.disabled || t(e.value ? "step-up" : "step-down");
1642
+ }
1643
+ };
1644
+ },
1645
+ render() {
1646
+ return Q("button", {
1647
+ class: [
1648
+ "vv-input-text__action-chevron",
1649
+ this.isUp && "vv-input-text__action-chevron-up"
1650
+ ],
1651
+ disabled: this.disabled,
1652
+ ariaLabel: this.label,
1653
+ onClick: this.onClick
1654
+ });
1655
+ }
1656
+ }), nt = D({
1657
+ components: {
1658
+ VvIcon: M
1659
+ },
1660
+ props: {
1661
+ disabled: {
1662
+ type: Boolean,
1663
+ default: !1
1664
+ },
1665
+ label: {
1666
+ type: String,
1667
+ default: "Clear"
1668
+ },
1669
+ icon: {
1670
+ type: String,
1671
+ default: "close"
1672
+ }
1673
+ },
1674
+ emits: ["clear"],
1675
+ setup(a, { emit: t }) {
1676
+ function e(n) {
1677
+ n == null || n.stopPropagation(), a.disabled || t("clear");
1678
+ }
1679
+ return {
1680
+ onClick: e
1681
+ };
1682
+ },
1683
+ render() {
1684
+ const a = Q(M, {
1685
+ name: this.icon,
1686
+ class: "vv-input-text__action-icon"
1687
+ });
1688
+ return Q(
1689
+ "button",
1690
+ {
1691
+ disabled: this.disabled,
1692
+ class: "vv-input-text__action",
1693
+ ariaLabel: this.label,
1694
+ type: "button",
1695
+ onClick: this.onClick
1696
+ },
1697
+ a
1698
+ );
1699
+ }
1700
+ });
1701
+ function je(a, t) {
1702
+ return {
1703
+ name: "VvInputTextActions",
1704
+ components: {
1705
+ VvIcon: M,
1706
+ VvInputPasswordAction: ot,
1707
+ VvInputStepAction: Ue,
1708
+ VvInputClearAction: nt
1709
+ },
1710
+ setup() {
1711
+ return {
1712
+ isDisabled: i(() => t.disabled || t.readonly),
1713
+ labelStepUp: t.labelStepUp,
1714
+ labelStepDown: t.labelStepDown,
1715
+ labelShowPassword: t.labelShowPassword,
1716
+ labelHidePassword: t.labelHidePassword,
1717
+ labelClear: t.labelClear,
1718
+ iconShowPassword: t.iconShowPassword,
1719
+ iconHidePassword: t.iconHidePassword
1720
+ };
1721
+ },
1722
+ render() {
1723
+ let e = null;
1724
+ switch (a) {
1725
+ case S.SEARCH: {
1726
+ const { onClear: n } = this.$attrs;
1727
+ e = [
1728
+ Q(nt, {
1729
+ disabled: this.isDisabled,
1730
+ label: this.labelShowPassword,
1731
+ onClear: n
1732
+ })
1733
+ ];
1734
+ break;
1735
+ }
1736
+ case S.PASSWORD: {
1737
+ const { onTogglePassword: n } = this.$attrs;
1738
+ e = [
1739
+ Q(ot, {
1740
+ disabled: this.isDisabled,
1741
+ onTogglePassword: n,
1742
+ labelShow: this.labelShowPassword,
1743
+ labelHide: this.labelHidePassword,
1744
+ iconShow: this.iconShowPassword,
1745
+ iconHide: this.iconHidePassword
1746
+ })
1747
+ ];
1748
+ break;
1749
+ }
1750
+ case S.NUMBER: {
1751
+ const { onStepUp: n, onStepDown: o } = this.$attrs;
1752
+ e = [
1753
+ Q(Ue, {
1754
+ mode: "up",
1755
+ disabled: this.isDisabled || t.max !== void 0 && t.modelValue === t.max,
1756
+ label: this.labelStepUp,
1757
+ onStepUp: n,
1758
+ onStepDown: o
1759
+ }),
1760
+ Q(Ue, {
1761
+ mode: "down",
1762
+ disabled: this.isDisabled || t.min !== void 0 && t.modelValue === t.min,
1763
+ label: this.labelStepDown,
1764
+ onStepUp: n,
1765
+ onStepDown: o
1766
+ })
1767
+ ];
1768
+ break;
1769
+ }
1770
+ }
1771
+ return Array.isArray(e) ? Q("div", { class: "vv-input-text__actions-group" }, e) : e;
1772
+ }
1773
+ };
1774
+ }
1775
+ const cl = ["for"], vl = { class: "vv-input-text__wrapper" }, pl = ["id"], fl = {
1776
+ key: 0,
1777
+ class: "vv-input-text__limit"
1778
+ }, ml = {
1779
+ name: "VvInputText"
1780
+ }, io = /* @__PURE__ */ D({
1781
+ ...ml,
1782
+ props: dl,
1783
+ emits: ul,
1784
+ setup(a, { emit: t }) {
1785
+ const e = a, n = re(), o = H(), {
1786
+ icon: r,
1787
+ iconPosition: s,
1788
+ label: b,
1789
+ modelValue: c,
1790
+ count: d,
1791
+ valid: u,
1792
+ invalid: v,
1793
+ loading: p
1794
+ } = F(e), h = i(() => String(e.id || ie())), g = i(() => `${h.value}-hint`), y = i(
1795
+ () => e.floating && ee(e.placeholder) ? " " : e.placeholder
1796
+ ), f = _t(c, t, e.debounce), { focused: V } = He(o, t), I = H(!1), A = i(() => e.type === S.PASSWORD), T = () => {
1797
+ I.value = !I.value;
1798
+ }, $ = i(
1799
+ () => e.type === S.TIME || e.type === S.DATETIME_LOCAL || e.type === S.DATE || e.type === S.WEEK || e.type === S.MONTH
1800
+ ), G = i(() => e.type === S.NUMBER), Z = () => {
1801
+ L.value && (o.value.stepUp(), f.value = l(o).value);
1802
+ }, N = () => {
1803
+ L.value && (o.value.stepDown(), f.value = l(o).value);
1804
+ }, z = i(() => e.type === S.SEARCH), ae = () => {
1805
+ f.value = void 0;
1806
+ }, { hasIconLeft: de, hasIconRight: Y, hasIcon: ce } = xe(
1807
+ r,
1808
+ s
1809
+ ), ne = i(() => {
1810
+ switch (e.type) {
1811
+ case S.COLOR:
1812
+ return { name: fe.COLOR };
1813
+ case S.DATE:
1814
+ case S.DATETIME_LOCAL:
1815
+ case S.WEEK:
1816
+ case S.MONTH:
1817
+ return { name: fe.DATE };
1818
+ case S.TIME:
1819
+ return { name: fe.TIME };
1820
+ default:
1821
+ return "";
1822
+ }
1823
+ }), { formatted: J } = St(f, {
1824
+ mode: e.count,
1825
+ upperLimit: e.maxlength,
1826
+ lowerLimit: e.minlength
1827
+ }), L = i(() => !e.disabled && !e.readonly), le = i(
1828
+ () => L.value ? e.tabindex : -1
1829
+ ), W = i(() => !ee(c)), k = i(() => {
1830
+ if (v.value === !0)
1831
+ return !0;
1832
+ if (u.value === !0)
1833
+ return !1;
1834
+ }), { bemCssClasses: U } = x("vv-input-text", {
1835
+ modifiers: e.modifiers,
1836
+ valid: u,
1837
+ invalid: v,
1838
+ loading: p,
1839
+ disabled: e.disabled,
1840
+ readonly: e.readonly,
1841
+ iconLeft: de,
1842
+ iconRight: Y.value || !ee(ne),
1843
+ floating: e.floating && !ee(e.label),
1844
+ dirty: W,
1845
+ focus: V
1846
+ }), ve = i(() => {
1847
+ const P = (() => A.value && I.value || $.value && !W.value && !V.value ? S.TEXT : e.type)(), q = {
1848
+ type: P,
1849
+ name: e.name,
1850
+ tabindex: le.value,
1851
+ disabled: e.disabled,
1852
+ readonly: e.readonly,
1853
+ required: e.required,
1854
+ autocomplete: e.autocomplete,
1855
+ "aria-invalid": k.value,
1856
+ "aria-describedby": !et.value && $t.value ? g.value : void 0,
1857
+ "aria-errormessage": et.value ? g.value : void 0
1858
+ };
1859
+ return (P === S.DATE || P === S.MONTH || P === S.WEEK || P === S.TIME || P === S.DATETIME_LOCAL || P === S.NUMBER) && (q.step = e.step, q.max = String(e.max), q.min = String(e.min)), (P === S.TEXT || P === S.SEARCH || P === S.URL || P === S.TEL || P === S.EMAIL || P === S.PASSWORD || P === S.NUMBER) && (q.placeholder = y.value), (P === S.TEXT || P === S.SEARCH || P === S.URL || P === S.TEL || P === S.EMAIL || P === S.PASSWORD) && (q.minlength = e.minlength, q.maxlength = e.maxlength, q.pattern = e.pattern), P === S.EMAIL && (q.multiple = e.multiple), q;
1860
+ }), Me = i(() => ({
1861
+ valid: e.valid,
1862
+ invalid: e.invalid,
1863
+ modelValue: e.modelValue,
1864
+ togglePassword: T,
1865
+ stepUp: Z,
1866
+ stepDown: N,
1867
+ clear: ae
1868
+ })), { HintSlot: Vt, hasHint: $t, hasInvalid: et } = ge(e, n), Ct = je(
1869
+ S.PASSWORD,
1870
+ e
1871
+ ), kt = je(
1872
+ S.NUMBER,
1873
+ e
1874
+ ), At = je(
1875
+ S.SEARCH,
1876
+ e
1877
+ );
1878
+ return Xe(() => {
1879
+ e.autofocus && (V.value = !0);
1880
+ }), (P, q) => (m(), _("div", {
1881
+ class: j(l(U))
1882
+ }, [
1883
+ l(b) ? (m(), _("label", {
1884
+ key: 0,
1885
+ for: l(h),
1886
+ class: "vv-input-text__label"
1887
+ }, R(l(b)), 9, cl)) : w("", !0),
1888
+ O("div", vl, [
1889
+ C(P.$slots, "before", K(te(l(Me))), () => [
1890
+ l(de) ? (m(), B(M, E({
1891
+ key: 0,
1892
+ class: "vv-input-text__icon-left"
1893
+ }, l(ce)), null, 16)) : w("", !0)
1894
+ ]),
1895
+ ye(O("input", E({
1896
+ id: l(h),
1897
+ ref_key: "input",
1898
+ ref: o,
1899
+ "onUpdate:modelValue": q[0] || (q[0] = (Ge) => Se(f) ? f.value = Ge : null)
1900
+ }, l(ve), {
1901
+ onKeyup: q[1] || (q[1] = (Ge) => t("keyup", Ge))
1902
+ }), null, 16, pl), [
1903
+ [xt, l(f)]
1904
+ ]),
1905
+ C(P.$slots, "after", K(te(l(Me))), () => [
1906
+ l(Y) || l(ne) ? (m(), B(M, K(E({ key: 0 }, l(Y) ? l(ce) : l(ne))), null, 16)) : l(A) ? (m(), B(l(Ct), {
1907
+ key: 1,
1908
+ onTogglePassword: T
1909
+ })) : l(G) ? (m(), B(l(kt), {
1910
+ key: 2,
1911
+ onStepUp: Z,
1912
+ onStepDown: N
1913
+ })) : l(z) ? (m(), B(l(At), {
1914
+ key: 3,
1915
+ onClear: ae
1916
+ })) : w("", !0)
1917
+ ]),
1918
+ l(d) ? (m(), _("span", fl, [
1919
+ C(P.$slots, "count", K(te(l(Me))), () => [
1920
+ X(R(l(J)), 1)
1921
+ ])
1922
+ ])) : w("", !0)
1923
+ ]),
1924
+ oe(l(Vt), {
1925
+ id: l(g),
1926
+ class: "vv-input-text__hint"
1927
+ }, null, 8, ["id"])
1928
+ ], 2));
1929
+ }
1930
+ }), bl = {
1931
+ ...ue,
1932
+ value: {
1933
+ type: [Number, String],
1934
+ default: void 0
1935
+ },
1936
+ max: {
1937
+ type: [Number, String]
1938
+ },
1939
+ label: {
1940
+ type: String,
1941
+ required: !0
1942
+ }
1943
+ }, hl = {
1944
+ name: "VvProgress"
1945
+ }, uo = /* @__PURE__ */ D({
1946
+ ...hl,
1947
+ props: bl,
1948
+ setup(a) {
1949
+ const t = a, { value: e, max: n, label: o } = F(t), r = i(() => t.value === void 0), { bemCssClasses: s } = x("vv-progress", {
1950
+ modifiers: t.modifiers,
1951
+ indeterminate: r
1952
+ });
1953
+ return (b, c) => (m(), _("progress", E({ role: "progressbar" }, {
1954
+ class: l(s),
1955
+ ariaLabel: l(o),
1956
+ max: l(n),
1957
+ value: l(e)
1958
+ }), null, 16));
1959
+ }
1960
+ }), gl = bt, yl = ["click", "update:modelValue", "change", "blur"];
1961
+ function _l(a, t) {
1962
+ const { group: e, isInGroup: n, getGroupOrLocalRef: o } = Le(vt), r = o("modelValue", a, t), s = o("readonly", a), b = o("disabled", a), c = o("valid", a), d = o("invalid", a);
1963
+ return {
1964
+ group: e,
1965
+ isInGroup: n,
1966
+ modelValue: r,
1967
+ readonly: s,
1968
+ disabled: b,
1969
+ valid: c,
1970
+ invalid: d
1971
+ };
1972
+ }
1973
+ const Sl = ["for"], Vl = ["id", "name", "disabled", "value", "tabindex", "aria-invalid"], $l = {
1974
+ name: "VvRadio"
1975
+ }, Cl = /* @__PURE__ */ D({
1976
+ ...$l,
1977
+ props: gl,
1978
+ emits: yl,
1979
+ setup(a, { emit: t }) {
1980
+ const e = a, n = re(), { disabled: o, readonly: r, modelValue: s, valid: b, invalid: c } = _l(
1981
+ e,
1982
+ t
1983
+ ), d = i(() => String(e.id || ie())), u = i(() => p.value ? -1 : e.tabindex), v = H(), p = i(() => o.value || r.value), h = i(() => {
1984
+ if (c.value === !0)
1985
+ return !0;
1986
+ if (b.value === !0)
1987
+ return !1;
1988
+ }), g = i(
1989
+ () => Array.isArray(s.value) ? pe(e.value, s.value) : me(e.value, s.value)
1990
+ ), y = i(
1991
+ () => ["string", "number", "boolean"].includes(typeof e.value) ? e.value : !0
1992
+ ), f = i({
1993
+ get() {
1994
+ return g.value ? y.value : null;
1995
+ },
1996
+ set(A) {
1997
+ Array.isArray(s.value) ? s.value = [e.value] : s.value = e.value, t("change", A);
1998
+ }
1999
+ }), { bemCssClasses: V } = x("vv-radio", {
2000
+ valid: b,
2001
+ invalid: c,
2002
+ disabled: o,
2003
+ readonly: r
2004
+ }), { HintSlot: I } = ge(e, n);
2005
+ return (A, T) => (m(), _("label", {
2006
+ class: j(l(V)),
2007
+ for: l(d)
2008
+ }, [
2009
+ ye(O("input", {
2010
+ id: l(d),
2011
+ ref_key: "input",
2012
+ ref: v,
2013
+ "onUpdate:modelValue": T[0] || (T[0] = ($) => Se(f) ? f.value = $ : null),
2014
+ type: "radio",
2015
+ class: "vv-radio__input",
2016
+ name: A.name,
2017
+ disabled: l(p),
2018
+ value: l(y),
2019
+ tabindex: l(u),
2020
+ "aria-invalid": l(h)
2021
+ }, null, 8, Vl), [
2022
+ [Ht, l(f)]
2023
+ ]),
2024
+ C(A.$slots, "default", { value: l(s) }, () => [
2025
+ X(R(A.label), 1)
2026
+ ]),
2027
+ oe(l(I), {
2028
+ class: "vv-radio__hint",
2029
+ params: { value: l(s) }
2030
+ }, null, 8, ["params"])
2031
+ ], 10, Sl));
2032
+ }
2033
+ }), kl = ht, Al = ["update:modelValue", "change"], wl = ["textContent"], Il = { class: "vv-radio-group__wrapper" }, Pl = {
2034
+ name: "VvRadioGroup"
2035
+ }, co = /* @__PURE__ */ D({
2036
+ ...Pl,
2037
+ props: kl,
2038
+ emits: Al,
2039
+ setup(a, { emit: t }) {
2040
+ const e = a, n = re(), o = Ze(e, "modelValue", t), { disabled: r, readonly: s, vertical: b, valid: c, invalid: d } = F(e);
2041
+ Te({
2042
+ key: vt,
2043
+ modelValue: o,
2044
+ disabled: r,
2045
+ readonly: s,
2046
+ valid: c,
2047
+ invalid: d
2048
+ });
2049
+ const { getOptionLabel: v, getOptionValue: p } = Pe(e), { bemCssClasses: h } = x("vv-radio-group", {
2050
+ disabled: r,
2051
+ readonly: s,
2052
+ horizontal: i(() => !b.value),
2053
+ valid: c,
2054
+ invalid: d
2055
+ }), g = (f, V) => ({
2056
+ id: `${e.name}_opt${V}`,
2057
+ name: e.name,
2058
+ label: v(f),
2059
+ value: p(f)
2060
+ }), { HintSlot: y } = ge(e, n);
2061
+ return (f, V) => (m(), _("fieldset", {
2062
+ class: j(l(h))
2063
+ }, [
2064
+ f.label ? (m(), _("legend", {
2065
+ key: 0,
2066
+ textContent: R(f.label)
2067
+ }, null, 8, wl)) : w("", !0),
2068
+ O("div", Il, [
2069
+ f.options.length > 0 ? (m(!0), _(be, { key: 0 }, Ve(f.options, (I, A) => (m(), B(Cl, E({ key: A }, g(I, A)), null, 16))), 128)) : C(f.$slots, "default", { key: 1 })
2070
+ ]),
2071
+ oe(l(y), { class: "vv-radio-group__hint" })
2072
+ ], 2));
2073
+ }
2074
+ }), Ol = {
2075
+ ...Qe,
2076
+ ...Ne,
2077
+ ...ke,
2078
+ ...Ae,
2079
+ ...Ie,
2080
+ ...Ye,
2081
+ ...he,
2082
+ ...we,
2083
+ ...ue,
2084
+ ...Be,
2085
+ ...Je,
2086
+ autocomplete: { type: String, default: "off" },
2087
+ autofocus: Boolean,
2088
+ multiple: Boolean,
2089
+ required: Boolean,
2090
+ size: [String, Number],
2091
+ modelValue: {
2092
+ type: [String, Number, Boolean, Object, Array],
2093
+ default: void 0
2094
+ },
2095
+ label: String,
2096
+ placeholder: String
2097
+ }, Rl = ["update:modelValue", "focus", "blur"], El = ["for"], Dl = { class: "vv-select__wrapper" }, Ll = ["id"], Tl = {
2098
+ key: 0,
2099
+ value: void 0,
2100
+ disabled: ""
2101
+ }, Bl = ["disabled", "value"], Nl = {
2102
+ name: "VvSelect"
2103
+ }, vo = /* @__PURE__ */ D({
2104
+ ...Nl,
2105
+ props: Ol,
2106
+ emits: Rl,
2107
+ setup(a, { emit: t }) {
2108
+ const e = a, n = re(), o = H(), { HintSlot: r, hasHint: s, hasInvalid: b } = ge(e, n), {
2109
+ modifiers: c,
2110
+ disabled: d,
2111
+ readonly: u,
2112
+ loading: v,
2113
+ icon: p,
2114
+ iconPosition: h,
2115
+ invalid: g,
2116
+ valid: y
2117
+ } = F(e), f = i(() => String(e.id || ie())), V = i(() => `${f.value}-hint`), { focused: I } = He(o, t), { hasIcon: A, hasIconLeft: T, hasIconRight: $ } = xe(
2118
+ p,
2119
+ h
2120
+ ), G = i(() => !ee(e.modelValue)), Z = i(() => e.disabled || e.readonly), N = i(() => Z.value ? -1 : e.tabindex), z = i(() => {
2121
+ if (e.invalid === !0)
2122
+ return !0;
2123
+ if (e.valid === !0)
2124
+ return !1;
2125
+ }), { bemCssClasses: ae } = x("vv-select", {
2126
+ modifiers: c,
2127
+ valid: y,
2128
+ invalid: g,
2129
+ loading: v,
2130
+ disabled: d,
2131
+ readonly: u,
2132
+ iconLeft: T,
2133
+ iconRight: $,
2134
+ dirty: G,
2135
+ focus: I
2136
+ }), de = i(() => ({
2137
+ name: e.name,
2138
+ tabindex: N.value,
2139
+ disabled: Z.value,
2140
+ required: e.required,
2141
+ size: e.size,
2142
+ autocomplete: e.autocomplete,
2143
+ multiple: e.multiple,
2144
+ "aria-invalid": z.value,
2145
+ "aria-describedby": !b.value && s.value ? V.value : void 0,
2146
+ "aria-errormessage": b.value ? V.value : void 0
2147
+ })), { getOptionLabel: Y, getOptionValue: ce } = Pe(e);
2148
+ function ne(L) {
2149
+ return typeof L == "string" || L.disabled === void 0 ? d.value : L.disabled;
2150
+ }
2151
+ const J = i({
2152
+ get: () => e.modelValue,
2153
+ set: (L) => {
2154
+ t("update:modelValue", L);
2155
+ }
2156
+ });
2157
+ return (L, le) => (m(), _("div", {
2158
+ class: j(l(ae))
2159
+ }, [
2160
+ L.label ? (m(), _("label", {
2161
+ key: 0,
2162
+ for: l(f)
2163
+ }, R(L.label), 9, El)) : w("", !0),
2164
+ O("div", Dl, [
2165
+ C(L.$slots, "before", {}, () => [
2166
+ l(T) ? (m(), B(M, K(E({ key: 0 }, l(A))), null, 16)) : w("", !0)
2167
+ ]),
2168
+ ye(O("select", E({
2169
+ id: l(f),
2170
+ ref_key: "select",
2171
+ ref: o,
2172
+ "onUpdate:modelValue": le[0] || (le[0] = (W) => Se(J) ? J.value = W : null)
2173
+ }, l(de)), [
2174
+ L.placeholder ? (m(), _("option", Tl, R(L.placeholder), 1)) : w("", !0),
2175
+ (m(!0), _(be, null, Ve(L.options, (W, k) => (m(), _("option", {
2176
+ key: k,
2177
+ disabled: ne(W),
2178
+ value: l(ce)(W)
2179
+ }, R(l(Y)(W)), 9, Bl))), 128))
2180
+ ], 16, Ll), [
2181
+ [Mt, l(J)]
2182
+ ]),
2183
+ C(L.$slots, "after", {}, () => [
2184
+ l($) ? (m(), B(M, K(E({ key: 0 }, l(A))), null, 16)) : w("", !0)
2185
+ ])
2186
+ ]),
2187
+ oe(l(r), {
2188
+ id: l(V),
2189
+ class: "vv-select__hint"
2190
+ }, null, 8, ["id"])
2191
+ ], 2));
2192
+ }
2193
+ }), xl = {
2194
+ hard: "hard",
2195
+ soft: "soft"
2196
+ }, Hl = {
2197
+ true: !0,
2198
+ false: !1,
2199
+ default: "default"
2200
+ }, Ml = ["update:modelValue", "focus", "blur", "keyup"], Gl = {
2201
+ ...mt,
2202
+ modelValue: String,
2203
+ cols: { type: [String, Number], default: 20 },
2204
+ rows: { type: [String, Number], default: 2 },
2205
+ wrap: { type: String, default: xl.soft },
2206
+ spellcheck: { type: [Boolean, String], default: Hl.default },
2207
+ resizable: Boolean
2208
+ }, Ul = ["for"], jl = { class: "vv-textarea__wrapper" }, Fl = ["id"], Wl = {
2209
+ key: 0,
2210
+ class: "vv-textarea__limit"
2211
+ }, Kl = {
2212
+ name: "VvTextarea"
2213
+ }, po = /* @__PURE__ */ D({
2214
+ ...Kl,
2215
+ props: Gl,
2216
+ emits: Ml,
2217
+ setup(a, { emit: t }) {
2218
+ const e = a, n = re(), o = H(), {
2219
+ icon: r,
2220
+ iconPosition: s,
2221
+ label: b,
2222
+ modelValue: c,
2223
+ count: d,
2224
+ valid: u,
2225
+ invalid: v,
2226
+ loading: p
2227
+ } = F(e), h = i(() => String(e.id || ie())), g = i(() => `${h.value}-hint`), y = i(
2228
+ () => e.floating && ee(e.placeholder) ? " " : e.placeholder
2229
+ ), f = _t(c, t, e.debounce), { hasIcon: V, hasIconLeft: I, hasIconRight: A } = xe(
2230
+ r,
2231
+ s
2232
+ ), { focused: T } = He(o, t), { formatted: $ } = St(f, {
2233
+ mode: e.count,
2234
+ upperLimit: e.maxlength,
2235
+ lowerLimit: e.minlength
2236
+ }), G = i(() => !e.disabled && !e.readonly), Z = i(
2237
+ () => G.value ? e.tabindex : -1
2238
+ ), N = i(() => !ee(c)), z = i(() => {
2239
+ if (e.invalid === !0)
2240
+ return !0;
2241
+ if (e.valid === !0)
2242
+ return !1;
2243
+ }), { HintSlot: ae, hasHint: de, hasInvalid: Y } = ge(e, n), { bemCssClasses: ce } = x("vv-textarea", {
2244
+ modifiers: e.modifiers,
2245
+ valid: u,
2246
+ invalid: v,
2247
+ loading: p,
2248
+ disabled: e.disabled,
2249
+ readonly: e.readonly,
2250
+ iconLeft: I,
2251
+ iconRight: A,
2252
+ floating: e.floating && !ee(e.label),
2253
+ dirty: N,
2254
+ focused: T,
2255
+ resizable: e.resizable
2256
+ }), ne = i(
2257
+ () => ({
2258
+ name: e.name,
2259
+ placeholder: y.value,
2260
+ tabindex: Z.value,
2261
+ disabled: e.disabled,
2262
+ readonly: e.readonly,
2263
+ required: e.required,
2264
+ autocomplete: e.autocomplete,
2265
+ minlength: e.minlength,
2266
+ maxlength: e.maxlength,
2267
+ cols: e.cols,
2268
+ rows: e.rows,
2269
+ wrap: e.wrap,
2270
+ spellcheck: e.spellcheck,
2271
+ "aria-invalid": z.value,
2272
+ "aria-describedby": !Y.value && de.value ? g.value : void 0,
2273
+ "aria-errormessage": Y.value ? g.value : void 0
2274
+ })
2275
+ ), J = i(() => ({
2276
+ valid: e.valid,
2277
+ invalid: e.invalid,
2278
+ modelValue: e.modelValue,
2279
+ hintLabel: e.hintLabel,
2280
+ maxlength: e.maxlength,
2281
+ minlength: e.minlength,
2282
+ clear: L
2283
+ })), L = () => {
2284
+ f.value = void 0;
2285
+ };
2286
+ return Xe(() => {
2287
+ e.autofocus && (T.value = !0);
2288
+ }), (le, W) => (m(), _("div", {
2289
+ class: j(l(ce))
2290
+ }, [
2291
+ l(b) ? (m(), _("label", {
2292
+ key: 0,
2293
+ for: l(h),
2294
+ class: "vv-textarea__label"
2295
+ }, R(l(b)), 9, Ul)) : w("", !0),
2296
+ O("div", jl, [
2297
+ C(le.$slots, "before", K(te(l(J))), () => [
2298
+ l(I) ? (m(), B(M, E({
2299
+ key: 0,
2300
+ class: "vv-textarea__icon-left"
2301
+ }, l(V)), null, 16)) : w("", !0)
2302
+ ]),
2303
+ ye(O("textarea", E({
2304
+ id: l(h),
2305
+ ref_key: "textarea",
2306
+ ref: o,
2307
+ "onUpdate:modelValue": W[0] || (W[0] = (k) => Se(f) ? f.value = k : null)
2308
+ }, l(ne), {
2309
+ onKeyup: W[1] || (W[1] = (k) => t("keyup", k))
2310
+ }), null, 16, Fl), [
2311
+ [ut, l(f)]
2312
+ ]),
2313
+ C(le.$slots, "after", K(te(l(J))), () => [
2314
+ l(A) ? (m(), B(M, K(E({ key: 0 }, l(V))), null, 16)) : w("", !0)
2315
+ ]),
2316
+ l(d) ? (m(), _("span", Wl, [
2317
+ C(le.$slots, "count", K(te(l(J))), () => [
2318
+ X(R(l($)), 1)
2319
+ ])
2320
+ ])) : w("", !0)
2321
+ ]),
2322
+ oe(l(ae), {
2323
+ id: l(g),
2324
+ class: "vv-textarea__hint"
2325
+ }, null, 8, ["id"])
2326
+ ], 2));
2327
+ }
2328
+ });
2329
+ export {
2330
+ Jl as VolverPlugin,
2331
+ aa as VvAccordion,
2332
+ Ql as VvAccordionGroup,
2333
+ eo as VvBadge,
2334
+ to as VvBreadcrumb,
2335
+ ao as VvButton,
2336
+ lo as VvButtonGroup,
2337
+ oo as VvCard,
2338
+ Ba as VvCheckbox,
2339
+ no as VvCheckboxGroup,
2340
+ so as VvCombobox,
2341
+ ro as VvDialog,
2342
+ qa as VvDropdown,
2343
+ M as VvIcon,
2344
+ io as VvInputText,
2345
+ uo as VvProgress,
2346
+ Cl as VvRadio,
2347
+ co as VvRadioGroup,
2348
+ vo as VvSelect,
2349
+ po as VvTextarea
2350
+ };