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