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

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