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