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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +101 -7
  3. package/bin/icons.cjs +73 -0
  4. package/bin/icons.js +75 -0
  5. package/dist/{DesignSystem.d.ts → Volver.d.ts} +22 -18
  6. package/dist/components/VvAccordion/VvAccordion.es.js +165 -0
  7. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -0
  8. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +32 -97
  9. package/dist/components/VvAccordion/index.d.ts +46 -0
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +243 -0
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -0
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +77 -151
  13. package/dist/components/VvAccordionGroup/{VvAccordionGroup.d.ts → index.d.ts} +30 -13
  14. package/dist/components/VvBadge/VvBadge.es.js +62 -0
  15. package/dist/components/VvBadge/VvBadge.umd.js +1 -0
  16. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -54
  17. package/dist/components/VvBadge/{VvBadge.d.ts → index.d.ts} +1 -1
  18. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +93 -0
  19. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -0
  20. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +33 -107
  21. package/dist/components/VvBreadcrumb/{VvBreadcrumb.d.ts → index.d.ts} +2 -3
  22. package/dist/components/VvButton/VvButton.es.js +427 -0
  23. package/dist/components/VvButton/VvButton.umd.js +1 -0
  24. package/dist/components/VvButton/VvButton.vue.d.ts +108 -199
  25. package/dist/components/VvButton/index.d.ts +132 -0
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +108 -0
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -0
  28. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +89 -183
  29. package/dist/components/VvButtonGroup/index.d.ts +54 -0
  30. package/dist/components/VvCard/VvCard.es.js +77 -0
  31. package/dist/components/VvCard/VvCard.umd.js +1 -0
  32. package/dist/components/VvCard/VvCard.vue.d.ts +16 -61
  33. package/dist/components/VvCard/{VvCard.d.ts → index.d.ts} +1 -1
  34. package/dist/components/VvCheckbox/VvCheckbox.es.js +357 -0
  35. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -0
  36. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +74 -0
  37. package/dist/components/VvCheckbox/index.d.ts +54 -0
  38. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +435 -0
  39. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -0
  40. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +82 -0
  41. package/dist/components/VvCheckboxGroup/index.d.ts +32 -0
  42. package/dist/components/VvCombobox/VvCombobox.es.js +594 -0
  43. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -0
  44. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +153 -0
  45. package/dist/components/{VvSelect/VvSelect.d.ts → VvCombobox/index.d.ts} +33 -36
  46. package/dist/components/VvDialog/VvDialog.es.js +200 -0
  47. package/dist/components/VvDialog/VvDialog.umd.js +1 -0
  48. package/dist/components/VvDialog/VvDialog.vue.d.ts +28 -132
  49. package/dist/components/VvDialog/{VvDialog.d.ts → index.d.ts} +2 -6
  50. package/dist/components/VvDropdown/VvDropdown.es.js +218 -0
  51. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -0
  52. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +41 -147
  53. package/dist/components/VvDropdown/index.d.ts +37 -0
  54. package/dist/components/VvIcon/VvIcon.es.js +124 -0
  55. package/dist/components/VvIcon/VvIcon.umd.js +1 -0
  56. package/dist/components/VvIcon/VvIcon.vue.d.ts +36 -150
  57. package/dist/components/VvIcon/{VvIcon.d.ts → index.d.ts} +9 -0
  58. package/dist/components/VvInputText/VvInputClearAction.d.ts +36 -0
  59. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +56 -0
  60. package/dist/components/VvInputText/VvInputStepAction.d.ts +37 -0
  61. package/dist/components/VvInputText/VvInputText.es.js +764 -0
  62. package/dist/components/VvInputText/VvInputText.umd.js +1 -0
  63. package/dist/components/VvInputText/VvInputText.vue.d.ts +214 -256
  64. package/dist/components/VvInputText/VvInputTextActions.d.ts +3 -0
  65. package/dist/components/VvInputText/index.d.ts +182 -0
  66. package/dist/components/VvProgress/VvProgress.es.js +71 -0
  67. package/dist/components/VvProgress/VvProgress.umd.js +1 -0
  68. package/dist/components/VvProgress/VvProgress.vue.d.ts +20 -107
  69. package/dist/components/VvProgress/index.d.ts +30 -0
  70. package/dist/components/VvRadio/VvRadio.es.js +320 -0
  71. package/dist/components/VvRadio/VvRadio.umd.js +1 -0
  72. package/dist/components/VvRadio/VvRadio.vue.d.ts +55 -125
  73. package/dist/components/VvRadio/index.d.ts +40 -0
  74. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +398 -0
  75. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -0
  76. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +56 -238
  77. package/dist/components/VvRadioGroup/index.d.ts +32 -0
  78. package/dist/components/VvSelect/VvSelect.es.js +415 -0
  79. package/dist/components/VvSelect/VvSelect.umd.js +1 -0
  80. package/dist/components/VvSelect/VvSelect.vue.d.ts +112 -262
  81. package/dist/components/VvSelect/index.d.ts +96 -0
  82. package/dist/components/VvTextarea/VvTextarea.es.js +463 -0
  83. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -0
  84. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +147 -273
  85. package/dist/components/VvTextarea/index.d.ts +102 -0
  86. package/dist/components/common/HintSlot.d.ts +12 -6
  87. package/dist/components/index.d.ts +19 -12
  88. package/dist/components/index.es.js +2309 -0
  89. package/dist/components/index.umd.js +1 -0
  90. package/dist/composables/group/types/IAccordionGroupState.d.ts +3 -4
  91. package/dist/composables/group/types/IButtonGroupState.d.ts +5 -11
  92. package/dist/composables/group/types/IGroupState.d.ts +3 -6
  93. package/dist/composables/group/types/IInputGroup.d.ts +1 -4
  94. package/dist/composables/group/useInjectedGroupState.d.ts +4 -4
  95. package/dist/composables/group/useProvideGroupState.d.ts +2 -2
  96. package/dist/composables/useComponentFocus.d.ts +4 -0
  97. package/dist/composables/{icons/useComponentIcons.d.ts → useComponentIcons.d.ts} +8 -1
  98. package/dist/composables/useDebouncedInput.d.ts +2 -0
  99. package/dist/composables/useModifiers.d.ts +3 -2
  100. package/dist/composables/useOptions.d.ts +6 -0
  101. package/dist/composables/useTextCount.d.ts +10 -0
  102. package/dist/constants.d.ts +4 -4
  103. package/dist/icons.d.ts +1881 -0
  104. package/dist/icons.es.js +12 -14
  105. package/dist/icons.umd.js +1 -1
  106. package/dist/index.d.ts +9 -4
  107. package/dist/index.es.js +2350 -0
  108. package/dist/index.umd.js +1 -0
  109. package/dist/props/index.d.ts +322 -13
  110. package/dist/resolvers/unplugin.d.ts +27 -0
  111. package/dist/resolvers/unplugin.es.js +40 -0
  112. package/dist/resolvers/unplugin.umd.js +1 -0
  113. package/dist/stories/Accordion/Accordion.settings.d.ts +63 -0
  114. package/dist/stories/Accordion/Accordion.test.d.ts +2 -0
  115. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +58 -0
  116. package/dist/stories/AccordionGroup/AccordionGroup.test.d.ts +2 -0
  117. package/dist/stories/Badge/Badge.settings.d.ts +32 -0
  118. package/dist/stories/Badge/Badge.test.d.ts +2 -0
  119. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +29 -0
  120. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +2 -0
  121. package/dist/stories/Button/Button.settings.d.ts +200 -0
  122. package/dist/stories/Button/Button.test.d.ts +1 -10
  123. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +38 -0
  124. package/dist/stories/ButtonGroup/ButtonGroup.test.d.ts +2 -0
  125. package/dist/stories/Card/Card.settings.d.ts +70 -0
  126. package/dist/stories/Card/Card.test.d.ts +2 -0
  127. package/dist/stories/Checkbox/Checkbox.settings.d.ts +165 -0
  128. package/dist/stories/Checkbox/Checkbox.test.d.ts +2 -0
  129. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +164 -0
  130. package/dist/stories/CheckboxGroup/CheckboxGroup.test.d.ts +2 -0
  131. package/dist/stories/Combobox/Combobox.settings.d.ts +267 -0
  132. package/dist/stories/Combobox/Combobox.test.d.ts +2 -0
  133. package/dist/stories/Dialog/Dialog.settings.d.ts +55 -0
  134. package/dist/stories/Dialog/Dialog.test.d.ts +2 -0
  135. package/dist/stories/Dropdown/Dropdown.settings.d.ts +75 -0
  136. package/dist/stories/Dropdown/Dropdown.test.d.ts +2 -0
  137. package/dist/stories/Icon/Icon.settings.d.ts +74 -0
  138. package/dist/stories/InputText/InputText.settings.d.ts +445 -0
  139. package/dist/stories/InputText/InputText.test.d.ts +2 -0
  140. package/dist/stories/Progress/Progress.settings.d.ts +38 -0
  141. package/dist/stories/Progress/Progress.test.d.ts +2 -0
  142. package/dist/stories/Radio/Radio.settings.d.ts +139 -0
  143. package/dist/stories/Radio/Radio.test.d.ts +2 -0
  144. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +164 -0
  145. package/dist/stories/RadioGroup/RadioGroup.test.d.ts +2 -0
  146. package/dist/stories/Select/Select.settings.d.ts +265 -0
  147. package/dist/stories/Select/Select.test.d.ts +2 -0
  148. package/dist/stories/Textarea/Textarea.settings.d.ts +336 -0
  149. package/dist/stories/Textarea/Textarea.test.d.ts +2 -0
  150. package/dist/stories/argTypes.d.ts +793 -0
  151. package/dist/test/expect.d.ts +3 -0
  152. package/dist/test/options.d.ts +1 -0
  153. package/dist/test/sleep.d.ts +1 -0
  154. package/dist/utils/ObjectUtilities.d.ts +82 -95
  155. package/env.d.ts +1 -0
  156. package/package.json +198 -124
  157. package/src/{DesignSystem.ts → Volver.ts} +57 -29
  158. package/src/assets/icons/detailed.json +1 -1
  159. package/src/assets/icons/normal.json +1 -1
  160. package/src/assets/icons/simple.json +1 -1
  161. package/src/components/VvAccordion/VvAccordion.vue +94 -78
  162. package/src/components/VvAccordion/index.ts +72 -0
  163. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +93 -53
  164. package/src/components/VvAccordionGroup/{VvAccordionGroup.ts → index.ts} +18 -14
  165. package/src/components/VvBadge/VvBadge.vue +17 -8
  166. package/src/components/VvBadge/index.ts +6 -0
  167. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +26 -24
  168. package/src/components/VvBreadcrumb/{VvBreadcrumb.ts → index.ts} +1 -2
  169. package/src/components/VvButton/VvButton.vue +174 -154
  170. package/src/components/VvButton/index.ts +171 -0
  171. package/src/components/VvButtonGroup/VvButtonGroup.vue +76 -48
  172. package/src/components/VvButtonGroup/index.ts +19 -0
  173. package/src/components/VvCard/VvCard.vue +20 -22
  174. package/src/components/VvCard/{VvCard.ts → index.ts} +1 -1
  175. package/src/components/VvCheckbox/VvCheckbox.vue +172 -0
  176. package/src/components/VvCheckbox/index.ts +60 -0
  177. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +85 -0
  178. package/src/components/VvCheckboxGroup/index.ts +5 -0
  179. package/src/components/VvCombobox/VvCombobox.vue +227 -0
  180. package/src/components/VvCombobox/index.ts +82 -0
  181. package/src/components/VvDialog/VvDialog.vue +69 -67
  182. package/src/components/VvDialog/index.ts +10 -0
  183. package/src/components/VvDropdown/VvDropdown.vue +112 -114
  184. package/src/components/VvDropdown/index.ts +25 -0
  185. package/src/components/VvIcon/README.md +64 -0
  186. package/src/components/VvIcon/VvIcon.vue +122 -107
  187. package/src/components/VvIcon/{VvIcon.ts → index.ts} +17 -8
  188. package/src/components/VvInputText/VvInputClearAction.ts +53 -0
  189. package/src/components/VvInputText/VvInputPasswordAction.ts +70 -0
  190. package/src/components/VvInputText/VvInputStepAction.ts +49 -0
  191. package/src/components/VvInputText/VvInputText.vue +293 -252
  192. package/src/components/VvInputText/VvInputTextActions.ts +100 -0
  193. package/src/components/VvInputText/index.ts +140 -0
  194. package/src/components/VvProgress/VvProgress.vue +29 -29
  195. package/src/components/VvProgress/index.ts +32 -0
  196. package/src/components/VvRadio/VvRadio.vue +90 -119
  197. package/src/components/VvRadio/index.ts +40 -0
  198. package/src/components/VvRadioGroup/VvRadioGroup.vue +76 -69
  199. package/src/components/VvRadioGroup/index.ts +5 -0
  200. package/src/components/VvSelect/VvSelect.vue +165 -186
  201. package/src/components/VvSelect/index.ts +74 -0
  202. package/src/components/VvTextarea/VvTextarea.vue +188 -180
  203. package/src/components/VvTextarea/index.ts +50 -0
  204. package/src/components/common/HintSlot.ts +169 -121
  205. package/src/components/index.ts +19 -12
  206. package/src/composables/group/types/IAccordionGroupState.ts +3 -4
  207. package/src/composables/group/types/IButtonGroupState.ts +5 -11
  208. package/src/composables/group/types/IGroupState.ts +4 -6
  209. package/src/composables/group/types/IInputGroup.ts +1 -4
  210. package/src/composables/group/useInjectedGroupState.ts +21 -33
  211. package/src/composables/group/useProvideGroupState.ts +5 -7
  212. package/src/composables/useComponentFocus.ts +17 -0
  213. package/src/composables/useComponentIcons.ts +96 -0
  214. package/src/composables/useDebouncedInput.ts +25 -0
  215. package/src/composables/useModifiers.ts +58 -14
  216. package/src/composables/useOptions.ts +31 -0
  217. package/src/composables/useTextCount.ts +57 -0
  218. package/src/constants.ts +5 -7
  219. package/src/directives/{.README → .gitkeep} +0 -0
  220. package/src/icons.ts +7 -0
  221. package/src/index.ts +12 -5
  222. package/src/props/index.ts +204 -15
  223. package/src/resolvers/unplugin.ts +103 -0
  224. package/src/shims.d.ts +13 -0
  225. package/src/stories/Accordion/Accordion.settings.ts +46 -0
  226. package/src/stories/Accordion/Accordion.stories.mdx +21 -21
  227. package/src/stories/Accordion/Accordion.test.ts +61 -0
  228. package/src/stories/Accordion/AccordionSlots.stories.mdx +46 -70
  229. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +55 -0
  230. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +24 -27
  231. package/src/stories/AccordionGroup/AccordionGroup.test.ts +50 -0
  232. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +56 -0
  233. package/src/stories/Badge/Badge.settings.ts +26 -0
  234. package/src/stories/Badge/Badge.stories.mdx +36 -24
  235. package/src/stories/Badge/Badge.test.ts +12 -0
  236. package/src/stories/Badge/BadgeSlots.stories.mdx +20 -0
  237. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +41 -0
  238. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +32 -29
  239. package/src/stories/Breadcrumb/Breadcrumb.test.ts +50 -0
  240. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +43 -0
  241. package/src/stories/Button/Button.settings.ts +150 -0
  242. package/src/stories/Button/Button.stories.mdx +20 -54
  243. package/src/stories/Button/Button.test.ts +35 -46
  244. package/src/stories/Button/ButtonIcon.stories.mdx +139 -29
  245. package/src/stories/Button/ButtonLink.stories.mdx +58 -111
  246. package/src/stories/Button/ButtonLoading.stories.mdx +89 -62
  247. package/src/stories/Button/ButtonModifiers.stories.mdx +198 -121
  248. package/src/stories/Button/ButtonSlots.stories.mdx +83 -95
  249. package/src/stories/Button/ButtonState.stories.mdx +75 -0
  250. package/src/stories/Button/ButtonToggle.stories.mdx +50 -0
  251. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +28 -0
  252. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +16 -18
  253. package/src/stories/ButtonGroup/ButtonGroup.test.ts +35 -0
  254. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.mdx +52 -0
  255. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +45 -114
  256. package/src/stories/Card/Card.settings.ts +55 -0
  257. package/src/stories/Card/Card.stories.mdx +27 -11
  258. package/src/stories/Card/Card.test.ts +23 -0
  259. package/src/stories/Card/CardSlots.stories.mdx +80 -24
  260. package/src/stories/Checkbox/Checkbox.settings.ts +43 -0
  261. package/src/stories/Checkbox/Checkbox.stories.mdx +163 -0
  262. package/src/stories/Checkbox/Checkbox.test.ts +81 -0
  263. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +68 -0
  264. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +46 -0
  265. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +15 -0
  266. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +134 -0
  267. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +83 -0
  268. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.mdx +100 -0
  269. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +67 -0
  270. package/src/stories/Combobox/Combobox.settings.ts +122 -0
  271. package/src/stories/Combobox/Combobox.stories.mdx +153 -0
  272. package/src/stories/Combobox/Combobox.test.ts +96 -0
  273. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +74 -0
  274. package/src/stories/Combobox/ComboboxOptions.stories.mdx +100 -0
  275. package/src/stories/Combobox/ComboboxSlots.stories.mdx +48 -0
  276. package/src/stories/Dialog/Dialog.settings.ts +45 -0
  277. package/src/stories/Dialog/Dialog.stories.mdx +42 -16
  278. package/src/stories/Dialog/Dialog.test.ts +69 -0
  279. package/src/stories/Dialog/DialogSlots.stories.mdx +63 -0
  280. package/src/stories/Dropdown/Dropdown.settings.ts +42 -0
  281. package/src/stories/Dropdown/Dropdown.stories.mdx +85 -29
  282. package/src/stories/Dropdown/Dropdown.test.ts +43 -0
  283. package/src/stories/Dropdown/DropdownOptions.stories.mdx +87 -67
  284. package/src/stories/Icon/Icon.settings.ts +72 -0
  285. package/src/stories/Icon/Icon.stories.mdx +76 -59
  286. package/src/stories/Icon/IconsCollection.stories.mdx +68 -0
  287. package/src/stories/InputText/InputText.settings.ts +221 -0
  288. package/src/stories/InputText/InputText.stories.mdx +142 -69
  289. package/src/stories/InputText/InputText.test.ts +125 -0
  290. package/src/stories/InputText/InputTextIconPosition.stories.mdx +63 -16
  291. package/src/stories/InputText/InputTextLength.stories.mdx +110 -0
  292. package/src/stories/InputText/InputTextMinMax.stories.mdx +112 -0
  293. package/src/stories/InputText/InputTextSlots.stories.mdx +61 -22
  294. package/src/stories/InputText/InputTextType.stories.mdx +207 -29
  295. package/src/stories/Progress/Progress.settings.ts +33 -0
  296. package/src/stories/Progress/Progress.stories.mdx +12 -14
  297. package/src/stories/Progress/Progress.test.ts +9 -0
  298. package/src/stories/Radio/Radio.settings.ts +15 -0
  299. package/src/stories/Radio/Radio.stories.mdx +102 -42
  300. package/src/stories/Radio/Radio.test.ts +70 -0
  301. package/src/stories/Radio/RadioSlots.stories.mdx +39 -22
  302. package/src/stories/RadioGroup/RadioGroup.settings.ts +15 -0
  303. package/src/stories/RadioGroup/RadioGroup.stories.mdx +115 -54
  304. package/src/stories/RadioGroup/RadioGroup.test.ts +83 -0
  305. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +83 -41
  306. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +49 -144
  307. package/src/stories/Select/Select.settings.ts +100 -0
  308. package/src/stories/Select/Select.stories.mdx +113 -33
  309. package/src/stories/Select/Select.test.ts +82 -0
  310. package/src/stories/Select/SelectOptions.stories.mdx +91 -69
  311. package/src/stories/Select/SelectSlots.stories.mdx +48 -0
  312. package/src/stories/Textarea/Textarea.settings.ts +96 -0
  313. package/src/stories/Textarea/Textarea.stories.mdx +160 -58
  314. package/src/stories/Textarea/Textarea.test.ts +90 -0
  315. package/src/stories/Textarea/TextareaLength.stories.mdx +110 -0
  316. package/src/stories/Textarea/TextareaSlots.stories.mdx +61 -23
  317. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +78 -0
  318. package/src/stories/argTypes.ts +433 -0
  319. package/src/test/expect.ts +27 -6
  320. package/src/test/options.ts +17 -0
  321. package/src/test/sleep.ts +2 -0
  322. package/src/test/types.d.ts +14 -0
  323. package/src/types/generic.d.ts +5 -0
  324. package/src/utils/ObjectUtilities.ts +253 -244
  325. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  326. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  327. package/dist/components/VvAccordion/vv-accordion.es.js +0 -262
  328. package/dist/components/VvAccordion/vv-accordion.umd.js +0 -1
  329. package/dist/components/VvAccordionGroup/vv-accordion-group.es.js +0 -315
  330. package/dist/components/VvAccordionGroup/vv-accordion-group.umd.js +0 -1
  331. package/dist/components/VvBadge/vv-badge.es.js +0 -18
  332. package/dist/components/VvBadge/vv-badge.umd.js +0 -1
  333. package/dist/components/VvBreadcrumb/vv-breadcrumb.es.js +0 -206
  334. package/dist/components/VvBreadcrumb/vv-breadcrumb.umd.js +0 -1
  335. package/dist/components/VvButton/VvButton.d.ts +0 -115
  336. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -23
  337. package/dist/components/VvButton/vv-button.es.js +0 -424
  338. package/dist/components/VvButton/vv-button.umd.js +0 -1
  339. package/dist/components/VvButtonGroup/VvButtonGroup.d.ts +0 -57
  340. package/dist/components/VvButtonGroup/vv-button-group.es.js +0 -210
  341. package/dist/components/VvButtonGroup/vv-button-group.umd.js +0 -1
  342. package/dist/components/VvCard/vv-card.es.js +0 -188
  343. package/dist/components/VvCard/vv-card.umd.js +0 -1
  344. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  345. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  346. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  347. package/dist/components/VvCheck/vv-check.es.js +0 -321
  348. package/dist/components/VvCheck/vv-check.umd.js +0 -1
  349. package/dist/components/VvCheckGroup/VvCheckGroup.d.ts +0 -65
  350. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  351. package/dist/components/VvCheckGroup/vv-check-group.es.js +0 -434
  352. package/dist/components/VvCheckGroup/vv-check-group.umd.js +0 -2
  353. package/dist/components/VvDialog/constants.d.ts +0 -5
  354. package/dist/components/VvDialog/vv-dialog.es.js +0 -315
  355. package/dist/components/VvDialog/vv-dialog.umd.js +0 -1
  356. package/dist/components/VvDropdown/VvDropdown.d.ts +0 -52
  357. package/dist/components/VvDropdown/vv-dropdown.es.js +0 -236
  358. package/dist/components/VvDropdown/vv-dropdown.umd.js +0 -1
  359. package/dist/components/VvIcon/vv-icon.es.js +0 -229
  360. package/dist/components/VvIcon/vv-icon.umd.js +0 -1
  361. package/dist/components/VvInputText/VvInputText.d.ts +0 -59
  362. package/dist/components/VvInputText/constants.d.ts +0 -55
  363. package/dist/components/VvInputText/useInputNumber.d.ts +0 -16
  364. package/dist/components/VvInputText/useInputPassword.d.ts +0 -16
  365. package/dist/components/VvInputText/vv-input-text.es.js +0 -596
  366. package/dist/components/VvInputText/vv-input-text.umd.js +0 -2
  367. package/dist/components/VvNativeSelect/VvNativeSelect.d.ts +0 -70
  368. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +0 -228
  369. package/dist/components/VvNativeSelect/vv-native-select.es.js +0 -395
  370. package/dist/components/VvNativeSelect/vv-native-select.umd.js +0 -2
  371. package/dist/components/VvProgress/VvProgress.d.ts +0 -29
  372. package/dist/components/VvProgress/vv-progress.es.js +0 -185
  373. package/dist/components/VvProgress/vv-progress.umd.js +0 -1
  374. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  375. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  376. package/dist/components/VvRadio/vv-radio.es.js +0 -309
  377. package/dist/components/VvRadio/vv-radio.umd.js +0 -1
  378. package/dist/components/VvRadioGroup/VvRadioGroup.d.ts +0 -54
  379. package/dist/components/VvRadioGroup/vv-radio-group.es.js +0 -423
  380. package/dist/components/VvRadioGroup/vv-radio-group.umd.js +0 -2
  381. package/dist/components/VvSelect/vv-select.es.js +0 -427
  382. package/dist/components/VvSelect/vv-select.umd.js +0 -2
  383. package/dist/components/VvTextarea/VvTextarea.d.ts +0 -67
  384. package/dist/components/VvTextarea/constants.d.ts +0 -19
  385. package/dist/components/VvTextarea/vv-textarea.es.js +0 -472
  386. package/dist/components/VvTextarea/vv-textarea.umd.js +0 -2
  387. package/dist/composables/focus/useComponentFocus.d.ts +0 -7
  388. package/dist/composables/options/useOptions.d.ts +0 -5
  389. package/dist/stories/Icon/IconList.vue.d.ts +0 -44
  390. package/dist/ui-vue.es.js +0 -2985
  391. package/dist/ui-vue.umd.js +0 -2
  392. package/src/assets/icons/index.js +0 -7
  393. package/src/components/VvAccordion/VvAccordion.ts +0 -34
  394. package/src/components/VvAccordion/useAccordionProps.ts +0 -45
  395. package/src/components/VvBadge/VvBadge.ts +0 -4
  396. package/src/components/VvButton/VvButton.ts +0 -117
  397. package/src/components/VvButton/useButtonGroupProps.ts +0 -51
  398. package/src/components/VvButtonGroup/VvButtonGroup.ts +0 -37
  399. package/src/components/VvCheck/VvCheck.ts +0 -48
  400. package/src/components/VvCheck/VvCheck.vue +0 -149
  401. package/src/components/VvCheck/useCheckProps.ts +0 -41
  402. package/src/components/VvCheckGroup/VvCheckGroup.ts +0 -34
  403. package/src/components/VvCheckGroup/VvCheckGroup.vue +0 -84
  404. package/src/components/VvDialog/VvDialog.ts +0 -17
  405. package/src/components/VvDialog/constants.ts +0 -5
  406. package/src/components/VvDropdown/VvDropdown.ts +0 -46
  407. package/src/components/VvInputText/VvInputText.ts +0 -49
  408. package/src/components/VvInputText/constants.ts +0 -34
  409. package/src/components/VvInputText/useInputNumber.ts +0 -40
  410. package/src/components/VvInputText/useInputPassword.ts +0 -38
  411. package/src/components/VvNativeSelect/VvNativeSelect.ts +0 -70
  412. package/src/components/VvNativeSelect/VvNativeSelect.vue +0 -106
  413. package/src/components/VvProgress/VvProgress.ts +0 -28
  414. package/src/components/VvRadio/VvRadio.ts +0 -25
  415. package/src/components/VvRadio/useRadioProps.ts +0 -40
  416. package/src/components/VvRadioGroup/VvRadioGroup.ts +0 -25
  417. package/src/components/VvSelect/VvSelect.ts +0 -91
  418. package/src/components/VvTextarea/VvTextarea.ts +0 -55
  419. package/src/components/VvTextarea/constants.ts +0 -14
  420. package/src/composables/focus/useComponentFocus.ts +0 -22
  421. package/src/composables/icons/useComponentIcons.ts +0 -52
  422. package/src/composables/options/useOptions.ts +0 -27
  423. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  424. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  425. package/src/stories/Accordion/accordionTest.js +0 -36
  426. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  427. package/src/stories/AccordionGroup/AccordionItems.stories.mdx +0 -51
  428. package/src/stories/AccordionGroup/accordionGroupTest.js +0 -51
  429. package/src/stories/Badge/BadgeColor.stories.mdx +0 -54
  430. package/src/stories/Badge/BadgeDot.stories.mdx +0 -20
  431. package/src/stories/Badge/BadgeTest.js +0 -21
  432. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +0 -41
  433. package/src/stories/Button/ButtonBadge.stories.mdx +0 -34
  434. package/src/stories/Button/ButtonIconPosition.stories.mdx +0 -106
  435. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  436. package/src/stories/Button/test.js +0 -41
  437. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +0 -83
  438. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +0 -50
  439. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +0 -40
  440. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +0 -38
  441. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +0 -77
  442. package/src/stories/ButtonGroup/ButtonGroupTest.js +0 -61
  443. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +0 -38
  444. package/src/stories/Card/CardVariant.stories.mdx +0 -37
  445. package/src/stories/Check/Check.stories.mdx +0 -62
  446. package/src/stories/Check/CheckBinary.stories.mdx +0 -80
  447. package/src/stories/Check/CheckDisabled.stories.mdx +0 -30
  448. package/src/stories/Check/CheckError.stories.mdx +0 -64
  449. package/src/stories/Check/CheckErrorTests.js +0 -72
  450. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  451. package/src/stories/Check/CheckPropertyTest.js +0 -101
  452. package/src/stories/Check/CheckReadonly.stories.mdx +0 -30
  453. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  454. package/src/stories/Check/CheckSwitch.stories.mdx +0 -30
  455. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  456. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  457. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  458. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  459. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  460. package/src/stories/CheckGroup/CheckGroupOptionLabel.stories.mdx +0 -48
  461. package/src/stories/CheckGroup/CheckGroupOptionValue.stories.mdx +0 -48
  462. package/src/stories/CheckGroup/CheckGroupOptions.stories.mdx +0 -40
  463. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  464. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  465. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  466. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  467. package/src/stories/Dialog/DialogAutoClose.stories.mdx +0 -18
  468. package/src/stories/Dialog/DialogSize.stories.mdx +0 -36
  469. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +0 -25
  470. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +0 -25
  471. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +0 -26
  472. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +0 -56
  473. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +0 -58
  474. package/src/stories/Icon/IconList.vue +0 -34
  475. package/src/stories/Icon/IconPrefix.stories.mdx +0 -79
  476. package/src/stories/Icon/IconRemote.stories.mdx +0 -39
  477. package/src/stories/Icon/IconTest.js +0 -27
  478. package/src/stories/Icon/IconsList.stories.mdx +0 -35
  479. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +0 -15
  480. package/src/stories/InputText/InputTextAutofocus.stories.mdx +0 -20
  481. package/src/stories/InputText/InputTextDisabled.stories.mdx +0 -19
  482. package/src/stories/InputText/InputTextError.stories.mdx +0 -19
  483. package/src/stories/InputText/InputTextFloating.stories.mdx +0 -20
  484. package/src/stories/InputText/InputTextHintLabel.stories.mdx +0 -18
  485. package/src/stories/InputText/InputTextIcon.stories.mdx +0 -18
  486. package/src/stories/InputText/InputTextLabel.stories.mdx +0 -15
  487. package/src/stories/InputText/InputTextLoading.stories.mdx +0 -19
  488. package/src/stories/InputText/InputTextMax.stories.mdx +0 -31
  489. package/src/stories/InputText/InputTextMaxLength.stories.mdx +0 -15
  490. package/src/stories/InputText/InputTextMin.stories.mdx +0 -31
  491. package/src/stories/InputText/InputTextMinLength.stories.mdx +0 -15
  492. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +0 -15
  493. package/src/stories/InputText/InputTextReadonly.stories.mdx +0 -19
  494. package/src/stories/InputText/InputTextStep.stories.mdx +0 -31
  495. package/src/stories/InputText/InputTextValid.stories.mdx +0 -19
  496. package/src/stories/NativeSelect/NativeSelect.stories.mdx +0 -53
  497. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +0 -32
  498. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +0 -36
  499. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +0 -34
  500. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +0 -42
  501. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +0 -27
  502. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +0 -78
  503. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +0 -34
  504. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +0 -66
  505. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +0 -36
  506. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +0 -66
  507. package/src/stories/Progress/ProgressDeterminate.stories.mdx +0 -19
  508. package/src/stories/Radio/RadioDisabled.stories.mdx +0 -30
  509. package/src/stories/Radio/RadioError.stories.mdx +0 -64
  510. package/src/stories/Radio/RadioHintLabel.stories.mdx +0 -30
  511. package/src/stories/Radio/RadioTest.js +0 -89
  512. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +0 -29
  513. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +0 -31
  514. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +0 -28
  515. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +0 -29
  516. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +0 -65
  517. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +0 -65
  518. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +0 -29
  519. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +0 -31
  520. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +0 -29
  521. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  522. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  523. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
  524. package/src/stories/Select/SelectDisabled.stories.mdx +0 -32
  525. package/src/stories/Select/SelectMaxValues.stories.mdx +0 -33
  526. package/src/stories/Select/SelectMultiple.stories.mdx +0 -64
  527. package/src/stories/Select/SelectSearchable.stories.mdx +0 -80
  528. package/src/stories/Select/SelectSeparator.stories.mdx +0 -64
  529. package/src/stories/Select/SelectUseObject.stories.mdx +0 -66
  530. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +0 -15
  531. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +0 -20
  532. package/src/stories/Textarea/TextareaDisabled.stories.mdx +0 -19
  533. package/src/stories/Textarea/TextareaError.stories.mdx +0 -19
  534. package/src/stories/Textarea/TextareaFloating.stories.mdx +0 -20
  535. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +0 -18
  536. package/src/stories/Textarea/TextareaIcon.stories.mdx +0 -18
  537. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +0 -31
  538. package/src/stories/Textarea/TextareaLabel.stories.mdx +0 -15
  539. package/src/stories/Textarea/TextareaLoading.stories.mdx +0 -19
  540. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +0 -15
  541. package/src/stories/Textarea/TextareaMinLength.stories.mdx +0 -15
  542. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +0 -15
  543. package/src/stories/Textarea/TextareaReadonly.stories.mdx +0 -19
  544. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +0 -31
  545. package/src/stories/Textarea/TextareaValid.stories.mdx +0 -19
  546. package/src/stories/stories.scss +0 -24
  547. package/src/stories/volver-ui-vue.stories.mdx +0 -71
  548. package/src/types/.README +0 -0
@@ -0,0 +1,463 @@
1
+ import { unref as s, toRefs as j, computed as i, h as le, watch as oe, defineComponent as J, ref as U, inject as ie, openBlock as w, createBlock as E, mergeProps as k, createCommentVNode as P, useSlots as ue, onMounted as se, createElementBlock as D, normalizeClass as ce, toDisplayString as z, createElementVNode as M, renderSlot as O, normalizeProps as _, guardReactiveProps as R, withDirectives as de, isRef as fe, vModelText as ve, createTextVNode as me, createVNode as ge } from "vue";
2
+ import { nanoid as he } from "nanoid";
3
+ import { toReactive as pe, useFocus as ye } from "@vueuse/core";
4
+ import { iconExists as B, Icon as be, addIcon as Se } from "@iconify/vue";
5
+ function q(r, t) {
6
+ if (r && Object.keys(r).length && t) {
7
+ if (t.indexOf(".") === -1)
8
+ return r[t];
9
+ {
10
+ const e = t.split(".");
11
+ let u = r;
12
+ for (let l = 0, d = e.length; l < d; ++l) {
13
+ if (r == null)
14
+ return null;
15
+ u = u[e[l]];
16
+ }
17
+ return u;
18
+ }
19
+ } else
20
+ return null;
21
+ }
22
+ function A(r) {
23
+ return ((t) => t == null || t === "" || Array.isArray(t) && t.length === 0 || !(t instanceof Date) && typeof t == "object" && Object.keys(t).length === 0)(s(r));
24
+ }
25
+ function we(r) {
26
+ return typeof r == "string" || r instanceof String;
27
+ }
28
+ function Z(r) {
29
+ var t, e;
30
+ if (r)
31
+ return (e = (t = r.match(
32
+ /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g
33
+ )) == null ? void 0 : t.join("-")) == null ? void 0 : e.toLowerCase();
34
+ }
35
+ function V(r) {
36
+ return Array.isArray(r) ? r.filter((t) => we(t)).join(" ") : r;
37
+ }
38
+ function Ie(r, t) {
39
+ const {
40
+ invalid: e,
41
+ valid: u,
42
+ hint: l,
43
+ loading: d
44
+ } = t, {
45
+ hintLabel: a,
46
+ modelValue: h,
47
+ valid: m,
48
+ validLabel: f,
49
+ invalid: n,
50
+ invalidLabel: o,
51
+ ...g
52
+ } = j(r), c = q(g, "loading"), v = q(g, "loadingLabel"), y = i(() => n.value ? !!(n.value && e || o != null && o.value && Array.isArray(o.value) && o.value.length > 0 || o != null && o.value && !A(o)) : !1), p = i(
53
+ () => !!(a && a.value || l)
54
+ ), b = i(
55
+ () => !!(f && f.value || u)
56
+ ), I = i(
57
+ () => !!(c != null && c.value && d || c != null && c.value && (v != null && v.value))
58
+ ), C = i(
59
+ () => p.value || b.value || y.value || I.value
60
+ );
61
+ return {
62
+ hasInvalid: y,
63
+ hasHint: p,
64
+ hasValid: b,
65
+ hasLoading: I,
66
+ HintSlot: {
67
+ name: "HintSlot",
68
+ props: {
69
+ params: {
70
+ type: Object,
71
+ default: () => ({})
72
+ }
73
+ },
74
+ setup($) {
75
+ const N = i(() => {
76
+ const S = pe({
77
+ hintLabel: a,
78
+ modelValue: h,
79
+ valid: m,
80
+ validLabel: f,
81
+ invalid: n,
82
+ invalidLabel: o,
83
+ loading: c,
84
+ loadingLabel: v,
85
+ ...$.params
86
+ });
87
+ return n != null && n.value ? (e == null ? void 0 : e(S)) || V(o == null ? void 0 : o.value) || (a == null ? void 0 : a.value) : m != null && m.value ? (u == null ? void 0 : u(S)) || V(f == null ? void 0 : f.value) || (a == null ? void 0 : a.value) : c != null && c.value ? (d == null ? void 0 : d(S)) || V(v == null ? void 0 : v.value) || (a == null ? void 0 : a.value) : (l == null ? void 0 : l(S)) || V(a == null ? void 0 : a.value) || (a == null ? void 0 : a.value);
88
+ });
89
+ return {
90
+ isVisible: C,
91
+ hasInvalid: y,
92
+ hasValid: b,
93
+ hintContent: N
94
+ };
95
+ },
96
+ render() {
97
+ if (this.isVisible)
98
+ return le(
99
+ "small",
100
+ {
101
+ role: this.hasInvalid || this.hasValid ? "alert" : void 0
102
+ },
103
+ this.hintContent
104
+ );
105
+ }
106
+ }
107
+ };
108
+ }
109
+ function Pe(r, t, e) {
110
+ const u = i(
111
+ () => !!(r != null && r.value && t.value === "left" || e != null && e.iconLeft)
112
+ ), l = i(
113
+ () => !!(r != null && r.value && t.value === "right" || e != null && e.iconRight)
114
+ ), d = i(
115
+ () => !!(r != null && r.value && t.value === "top" || e != null && e.iconTop)
116
+ ), a = i(
117
+ () => !!(r != null && r.value && t.value === "bottom" || e != null && e.iconBottom)
118
+ );
119
+ return {
120
+ hasIcon: i(() => typeof (r == null ? void 0 : r.value) == "string" ? { name: r == null ? void 0 : r.value } : r == null ? void 0 : r.value),
121
+ hasIconLeft: u,
122
+ hasIconRight: l,
123
+ hasIconTop: d,
124
+ hasIconBottom: a
125
+ };
126
+ }
127
+ function Ce(r, t) {
128
+ const { focused: e } = ye(r);
129
+ return oe(e, (u) => {
130
+ t(u ? "focus" : "blur", s(r));
131
+ }), {
132
+ focused: e
133
+ };
134
+ }
135
+ function $e(r, t, e = 0) {
136
+ let u;
137
+ return typeof e == "string" && (e = parseInt(e)), i({
138
+ get: () => r == null ? void 0 : r.value,
139
+ set: (l) => {
140
+ u && clearTimeout(u), u = setTimeout(() => {
141
+ t("update:modelValue", l);
142
+ }, e);
143
+ }
144
+ });
145
+ }
146
+ function xe(r, t) {
147
+ const e = i(() => (s(r) ?? "").length), u = 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), l = i(() => (t == null ? void 0 : t.mode) === !1 ? "" : (t == null ? void 0 : t.mode) === "limit" ? `${e.value} / ${t.lowerLimit ? `${t.lowerLimit}-` : ""}${t.upperLimit}` : (t == null ? void 0 : t.mode) === "countdown" ? u.value === 0 ? void 0 : u : e.value);
148
+ return {
149
+ length: e,
150
+ gap: u,
151
+ formatted: l
152
+ };
153
+ }
154
+ function W(r, t) {
155
+ const e = { [`${r}`]: !0 };
156
+ return {
157
+ bemCssClasses: i(() => Object.keys(t).reduce((l, d) => {
158
+ const a = s(t[d]) || !1;
159
+ if (!a)
160
+ return l;
161
+ if (d === "modifiers") {
162
+ const h = Array.isArray(a) ? a : a.split(" ");
163
+ return {
164
+ ...l,
165
+ ...h.reduce(
166
+ (m, f) => ({
167
+ ...m,
168
+ [`${r}--${Z(f)}`]: !0
169
+ }),
170
+ {}
171
+ )
172
+ };
173
+ } else
174
+ return {
175
+ ...l,
176
+ [`${r}--${Z(d)}`]: a
177
+ };
178
+ }, e) || {})
179
+ };
180
+ }
181
+ const _e = "ds", Be = {
182
+ color: String,
183
+ width: {
184
+ type: [String, Number]
185
+ },
186
+ height: {
187
+ type: [String, Number]
188
+ },
189
+ name: {
190
+ type: String,
191
+ required: !0
192
+ },
193
+ provider: {
194
+ type: String
195
+ },
196
+ prefix: {
197
+ type: String,
198
+ default: "normal"
199
+ },
200
+ src: String,
201
+ horizontalFlip: Boolean,
202
+ verticalFlip: Boolean,
203
+ flip: String,
204
+ mode: String,
205
+ inline: Boolean,
206
+ rotate: [Number, String],
207
+ onLoad: Function,
208
+ svg: String,
209
+ modifiers: {
210
+ type: [String, Array]
211
+ }
212
+ }, Ve = {
213
+ name: "VvIcon"
214
+ }, G = /* @__PURE__ */ J({
215
+ ...Ve,
216
+ props: Be,
217
+ setup(r) {
218
+ const t = r, e = U(!0), { modifiers: u } = j(t), l = ie(_e), { bemCssClasses: d } = W("vv-icon", {
219
+ modifiers: u
220
+ }), a = i(() => t.provider || (l == null ? void 0 : l.provider)), h = i(() => {
221
+ const n = t.name ?? "", o = `@${a.value}:${t.prefix}:${t.name}`;
222
+ return B(n) ? n : B(o) ? o : (l == null ? void 0 : l.iconsCollections.find((g) => {
223
+ const c = `@${a.value}:${g.prefix}:${n}`;
224
+ if (B(c))
225
+ return c;
226
+ })) || n;
227
+ });
228
+ function m(n) {
229
+ let o = null;
230
+ if (typeof window > "u") {
231
+ const { JSDOM: y } = require("jsdom");
232
+ o = new y().window;
233
+ }
234
+ return (o ? new o.DOMParser() : new window.DOMParser()).parseFromString(n, "text/html").querySelector("svg");
235
+ }
236
+ function f(n) {
237
+ const o = m(n), g = (o == null ? void 0 : o.innerHTML.trim()) || "";
238
+ o && g && Se(`@${a.value}:${t.prefix}:${t.name}`, {
239
+ body: g,
240
+ height: o.viewBox.baseVal.height,
241
+ width: o.viewBox.baseVal.width
242
+ });
243
+ }
244
+ return l && (t.src && !B(`@${a.value}:${t.prefix}:${t.name}`) ? (e.value = !1, l.fetchIcon(t.src).then((n) => {
245
+ n && (f(n), e.value = !0);
246
+ }).catch((n) => {
247
+ throw new Error(`During fetch icon: ${n == null ? void 0 : n.message}`);
248
+ })) : t.svg && f(t.svg)), (n, o) => e.value ? (w(), E(s(be), k({
249
+ key: 0,
250
+ class: s(d)
251
+ }, {
252
+ inline: n.inline,
253
+ width: n.width,
254
+ height: n.height,
255
+ horizontalFlip: n.horizontalFlip,
256
+ verticalFlip: n.verticalFlip,
257
+ flip: n.flip,
258
+ rotate: n.rotate,
259
+ color: n.color,
260
+ onLoad: n.onLoad,
261
+ icon: s(h)
262
+ }), null, 16, ["class"])) : P("", !0);
263
+ }
264
+ }), ke = {
265
+ valid: Boolean,
266
+ validLabel: [String, Array]
267
+ }, Ae = {
268
+ invalid: Boolean,
269
+ invalidLabel: [String, Array]
270
+ }, Ne = {
271
+ loading: Boolean,
272
+ loadingLabel: String
273
+ }, Te = {
274
+ disabled: Boolean
275
+ }, Fe = {
276
+ readonly: Boolean
277
+ }, Le = {
278
+ modifiers: [String, Array]
279
+ }, De = {
280
+ hintLabel: { type: String, default: "" }
281
+ }, Oe = {
282
+ count: {
283
+ type: [Boolean, String],
284
+ default: !1,
285
+ validator: (r) => [!0, !1, "limit", "countdown"].includes(r)
286
+ }
287
+ }, Re = {
288
+ debounce: [Number, String]
289
+ }, K = {
290
+ LEFT: "left",
291
+ RIGHT: "right"
292
+ }, Ee = {
293
+ icon: { type: [String, Object] },
294
+ iconPosition: {
295
+ type: String,
296
+ validation: (r) => Object.values(K).includes(r),
297
+ default: K.RIGHT
298
+ }
299
+ }, je = {
300
+ tabindex: { type: [String, Number], default: 0 }
301
+ }, He = {
302
+ id: [String, Number],
303
+ name: { type: String, required: !0 }
304
+ }, ze = {
305
+ ...He,
306
+ ...je,
307
+ ...Te,
308
+ ...Fe,
309
+ ...ke,
310
+ ...Ae,
311
+ ...De,
312
+ ...Ne,
313
+ ...Le,
314
+ ...Oe,
315
+ ...Re,
316
+ ...Ee,
317
+ autofocus: Boolean,
318
+ autocomplete: { type: String, default: "off" },
319
+ minlength: Number,
320
+ maxlength: Number,
321
+ placeholder: String,
322
+ required: Boolean,
323
+ label: String,
324
+ floating: Boolean
325
+ }, Me = {
326
+ hard: "hard",
327
+ soft: "soft"
328
+ }, qe = {
329
+ true: !0,
330
+ false: !1,
331
+ default: "default"
332
+ }, Ze = ["update:modelValue", "focus", "blur", "keyup"], Ge = {
333
+ ...ze,
334
+ modelValue: String,
335
+ cols: { type: [String, Number], default: 20 },
336
+ rows: { type: [String, Number], default: 2 },
337
+ wrap: { type: String, default: Me.soft },
338
+ spellcheck: { type: [Boolean, String], default: qe.default },
339
+ resizable: Boolean
340
+ }, Ke = ["for"], Je = { class: "vv-textarea__wrapper" }, Ue = ["id"], We = {
341
+ key: 0,
342
+ class: "vv-textarea__limit"
343
+ }, Xe = {
344
+ name: "VvTextarea"
345
+ }, rt = /* @__PURE__ */ J({
346
+ ...Xe,
347
+ props: Ge,
348
+ emits: Ze,
349
+ setup(r, { emit: t }) {
350
+ const e = r, u = ue(), l = U(), {
351
+ icon: d,
352
+ iconPosition: a,
353
+ label: h,
354
+ modelValue: m,
355
+ count: f,
356
+ valid: n,
357
+ invalid: o,
358
+ loading: g
359
+ } = j(e), c = i(() => String(e.id || he())), v = i(() => `${c.value}-hint`), y = i(
360
+ () => e.floating && A(e.placeholder) ? " " : e.placeholder
361
+ ), p = $e(m, t, e.debounce), { hasIcon: b, hasIconLeft: I, hasIconRight: C } = Pe(
362
+ d,
363
+ a
364
+ ), { focused: $ } = Ce(l, t), { formatted: N } = xe(p, {
365
+ mode: e.count,
366
+ upperLimit: e.maxlength,
367
+ lowerLimit: e.minlength
368
+ }), S = i(() => !e.disabled && !e.readonly), X = i(
369
+ () => S.value ? e.tabindex : -1
370
+ ), Q = i(() => !A(m)), Y = i(() => {
371
+ if (e.invalid === !0)
372
+ return !0;
373
+ if (e.valid === !0)
374
+ return !1;
375
+ }), { HintSlot: ee, hasHint: te, hasInvalid: H } = Ie(e, u), { bemCssClasses: re } = W("vv-textarea", {
376
+ modifiers: e.modifiers,
377
+ valid: n,
378
+ invalid: o,
379
+ loading: g,
380
+ disabled: e.disabled,
381
+ readonly: e.readonly,
382
+ iconLeft: I,
383
+ iconRight: C,
384
+ floating: e.floating && !A(e.label),
385
+ dirty: Q,
386
+ focused: $,
387
+ resizable: e.resizable
388
+ }), ne = i(
389
+ () => ({
390
+ name: e.name,
391
+ placeholder: y.value,
392
+ tabindex: X.value,
393
+ disabled: e.disabled,
394
+ readonly: e.readonly,
395
+ required: e.required,
396
+ autocomplete: e.autocomplete,
397
+ minlength: e.minlength,
398
+ maxlength: e.maxlength,
399
+ cols: e.cols,
400
+ rows: e.rows,
401
+ wrap: e.wrap,
402
+ spellcheck: e.spellcheck,
403
+ "aria-invalid": Y.value,
404
+ "aria-describedby": !H.value && te.value ? v.value : void 0,
405
+ "aria-errormessage": H.value ? v.value : void 0
406
+ })
407
+ ), T = i(() => ({
408
+ valid: e.valid,
409
+ invalid: e.invalid,
410
+ modelValue: e.modelValue,
411
+ hintLabel: e.hintLabel,
412
+ maxlength: e.maxlength,
413
+ minlength: e.minlength,
414
+ clear: ae
415
+ })), ae = () => {
416
+ p.value = void 0;
417
+ };
418
+ return se(() => {
419
+ e.autofocus && ($.value = !0);
420
+ }), (F, x) => (w(), D("div", {
421
+ class: ce(s(re))
422
+ }, [
423
+ s(h) ? (w(), D("label", {
424
+ key: 0,
425
+ for: s(c),
426
+ class: "vv-textarea__label"
427
+ }, z(s(h)), 9, Ke)) : P("", !0),
428
+ M("div", Je, [
429
+ O(F.$slots, "before", _(R(s(T))), () => [
430
+ s(I) ? (w(), E(G, k({
431
+ key: 0,
432
+ class: "vv-textarea__icon-left"
433
+ }, s(b)), null, 16)) : P("", !0)
434
+ ]),
435
+ de(M("textarea", k({
436
+ id: s(c),
437
+ ref_key: "textarea",
438
+ ref: l,
439
+ "onUpdate:modelValue": x[0] || (x[0] = (L) => fe(p) ? p.value = L : null)
440
+ }, s(ne), {
441
+ onKeyup: x[1] || (x[1] = (L) => t("keyup", L))
442
+ }), null, 16, Ue), [
443
+ [ve, s(p)]
444
+ ]),
445
+ O(F.$slots, "after", _(R(s(T))), () => [
446
+ s(C) ? (w(), E(G, _(k({ key: 0 }, s(b))), null, 16)) : P("", !0)
447
+ ]),
448
+ s(f) ? (w(), D("span", We, [
449
+ O(F.$slots, "count", _(R(s(T))), () => [
450
+ me(z(s(N)), 1)
451
+ ])
452
+ ])) : P("", !0)
453
+ ]),
454
+ ge(s(ee), {
455
+ id: s(v),
456
+ class: "vv-textarea__hint"
457
+ }, null, 8, ["id"])
458
+ ], 2));
459
+ }
460
+ });
461
+ export {
462
+ rt as default
463
+ };
@@ -0,0 +1 @@
1
+ (function(e,w){typeof exports=="object"&&typeof module<"u"?module.exports=w(require("vue"),require("nanoid"),require("@vueuse/core"),require("@iconify/vue")):typeof define=="function"&&define.amd?define(["vue","nanoid","@vueuse/core","@iconify/vue"],w):(e=typeof globalThis<"u"?globalThis:e||self,e.VvTextarea=w(e.vue,e.nanoid,e.core,e.vue$1))})(this,function(e,w,T,S){"use strict";function A(n,r){if(n&&Object.keys(n).length&&r){if(r.indexOf(".")===-1)return n[r];{const t=r.split(".");let s=n;for(let i=0,u=t.length;i<u;++i){if(n==null)return null;s=s[t[i]]}return s}}else return null}function C(n){return(r=>r==null||r===""||Array.isArray(r)&&r.length===0||!(r instanceof Date)&&typeof r=="object"&&Object.keys(r).length===0)(e.unref(n))}function O(n){return typeof n=="string"||n instanceof String}function E(n){var r,t;if(n)return(t=(r=n.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g))==null?void 0:r.join("-"))==null?void 0:t.toLowerCase()}function x(n){return Array.isArray(n)?n.filter(r=>O(r)).join(" "):n}function j(n,r){const{invalid:t,valid:s,hint:i,loading:u}=r,{hintLabel:a,modelValue:g,valid:m,validLabel:d,invalid:o,invalidLabel:l,...p}=e.toRefs(n),c=A(p,"loading"),f=A(p,"loadingLabel"),y=e.computed(()=>o.value?!!(o.value&&t||l!=null&&l.value&&Array.isArray(l.value)&&l.value.length>0||l!=null&&l.value&&!C(l)):!1),h=e.computed(()=>!!(a&&a.value||i)),b=e.computed(()=>!!(d&&d.value||s)),I=e.computed(()=>!!(c!=null&&c.value&&u||c!=null&&c.value&&(f!=null&&f.value))),B=e.computed(()=>h.value||b.value||y.value||I.value);return{hasInvalid:y,hasHint:h,hasValid:b,hasLoading:I,HintSlot:{name:"HintSlot",props:{params:{type:Object,default:()=>({})}},setup(V){const v=e.computed(()=>{const P=T.toReactive({hintLabel:a,modelValue:g,valid:m,validLabel:d,invalid:o,invalidLabel:l,loading:c,loadingLabel:f,...V.params});return o!=null&&o.value?(t==null?void 0:t(P))||x(l==null?void 0:l.value)||(a==null?void 0:a.value):m!=null&&m.value?(s==null?void 0:s(P))||x(d==null?void 0:d.value)||(a==null?void 0:a.value):c!=null&&c.value?(u==null?void 0:u(P))||x(f==null?void 0:f.value)||(a==null?void 0:a.value):(i==null?void 0:i(P))||x(a==null?void 0:a.value)||(a==null?void 0:a.value)});return{isVisible:B,hasInvalid:y,hasValid:b,hintContent:v}},render(){if(this.isVisible)return e.h("small",{role:this.hasInvalid||this.hasValid?"alert":void 0},this.hintContent)}}}}function z(n,r,t){const s=e.computed(()=>!!(n!=null&&n.value&&r.value==="left"||t!=null&&t.iconLeft)),i=e.computed(()=>!!(n!=null&&n.value&&r.value==="right"||t!=null&&t.iconRight)),u=e.computed(()=>!!(n!=null&&n.value&&r.value==="top"||t!=null&&t.iconTop)),a=e.computed(()=>!!(n!=null&&n.value&&r.value==="bottom"||t!=null&&t.iconBottom));return{hasIcon:e.computed(()=>typeof(n==null?void 0:n.value)=="string"?{name:n==null?void 0:n.value}:n==null?void 0:n.value),hasIconLeft:s,hasIconRight:i,hasIconTop:u,hasIconBottom:a}}function q(n,r){const{focused:t}=T.useFocus(n);return e.watch(t,s=>{r(s?"focus":"blur",e.unref(n))}),{focused:t}}function H(n,r,t=0){let s;return typeof t=="string"&&(t=parseInt(t)),e.computed({get:()=>n==null?void 0:n.value,set:i=>{s&&clearTimeout(s),s=setTimeout(()=>{r("update:modelValue",i)},t)}})}function M(n,r){const t=e.computed(()=>(e.unref(n)??"").length),s=e.computed(()=>(r==null?void 0:r.lowerLimit)!==void 0&&t.value<(r==null?void 0:r.lowerLimit)?t.value-r.lowerLimit:(r==null?void 0:r.upperLimit)!==void 0&&t.value<(r==null?void 0:r.upperLimit)?r.upperLimit-t.value:0),i=e.computed(()=>(r==null?void 0:r.mode)===!1?"":(r==null?void 0:r.mode)==="limit"?`${t.value} / ${r.lowerLimit?`${r.lowerLimit}-`:""}${r.upperLimit}`:(r==null?void 0:r.mode)==="countdown"?s.value===0?void 0:s:t.value);return{length:t,gap:s,formatted:i}}function R(n,r){const t={[`${n}`]:!0};return{bemCssClasses:e.computed(()=>Object.keys(r).reduce((i,u)=>{const a=e.unref(r[u])||!1;if(!a)return i;if(u==="modifiers"){const g=Array.isArray(a)?a:a.split(" ");return{...i,...g.reduce((m,d)=>({...m,[`${n}--${E(d)}`]:!0}),{})}}else return{...i,[`${n}--${E(u)}`]:a}},t)||{})}}const Z="ds",G={color:String,width:{type:[String,Number]},height:{type:[String,Number]},name:{type:String,required:!0},provider:{type:String},prefix:{type:String,default:"normal"},src:String,horizontalFlip:Boolean,verticalFlip:Boolean,flip:String,mode:String,inline:Boolean,rotate:[Number,String],onLoad:Function,svg:String,modifiers:{type:[String,Array]}},K={name:"VvIcon"},D=e.defineComponent({...K,props:G,setup(n){const r=n,t=e.ref(!0),{modifiers:s}=e.toRefs(r),i=e.inject(Z),{bemCssClasses:u}=R("vv-icon",{modifiers:s}),a=e.computed(()=>r.provider||(i==null?void 0:i.provider)),g=e.computed(()=>{const o=r.name??"",l=`@${a.value}:${r.prefix}:${r.name}`;return S.iconExists(o)?o:S.iconExists(l)?l:(i==null?void 0:i.iconsCollections.find(p=>{const c=`@${a.value}:${p.prefix}:${o}`;if(S.iconExists(c))return c}))||o});function m(o){let l=null;if(typeof window>"u"){const{JSDOM:y}=require("jsdom");l=new y().window}return(l?new l.DOMParser:new window.DOMParser).parseFromString(o,"text/html").querySelector("svg")}function d(o){const l=m(o),p=(l==null?void 0:l.innerHTML.trim())||"";l&&p&&S.addIcon(`@${a.value}:${r.prefix}:${r.name}`,{body:p,height:l.viewBox.baseVal.height,width:l.viewBox.baseVal.width})}return i&&(r.src&&!S.iconExists(`@${a.value}:${r.prefix}:${r.name}`)?(t.value=!1,i.fetchIcon(r.src).then(o=>{o&&(d(o),t.value=!0)}).catch(o=>{throw new Error(`During fetch icon: ${o==null?void 0:o.message}`)})):r.svg&&d(r.svg)),(o,l)=>t.value?(e.openBlock(),e.createBlock(e.unref(S.Icon),e.mergeProps({key:0,class:e.unref(u)},{inline:o.inline,width:o.width,height:o.height,horizontalFlip:o.horizontalFlip,verticalFlip:o.verticalFlip,flip:o.flip,rotate:o.rotate,color:o.color,onLoad:o.onLoad,icon:e.unref(g)}),null,16,["class"])):e.createCommentVNode("",!0)}}),J={valid:Boolean,validLabel:[String,Array]},U={invalid:Boolean,invalidLabel:[String,Array]},W={loading:Boolean,loadingLabel:String},X={disabled:Boolean},Q={readonly:Boolean},Y={modifiers:[String,Array]},ee={hintLabel:{type:String,default:""}},te={count:{type:[Boolean,String],default:!1,validator:n=>[!0,!1,"limit","countdown"].includes(n)}},re={debounce:[Number,String]},F={LEFT:"left",RIGHT:"right"},ne={icon:{type:[String,Object]},iconPosition:{type:String,validation:n=>Object.values(F).includes(n),default:F.RIGHT}},oe={...{id:[String,Number],name:{type:String,required:!0}},...{tabindex:{type:[String,Number],default:0}},...X,...Q,...J,...U,...ee,...W,...Y,...te,...re,...ne,autofocus:Boolean,autocomplete:{type:String,default:"off"},minlength:Number,maxlength:Number,placeholder:String,required:Boolean,label:String,floating:Boolean},ae={hard:"hard",soft:"soft"},ie={true:!0,false:!1,default:"default"},le=["update:modelValue","focus","blur","keyup"],se={...oe,modelValue:String,cols:{type:[String,Number],default:20},rows:{type:[String,Number],default:2},wrap:{type:String,default:ae.soft},spellcheck:{type:[Boolean,String],default:ie.default},resizable:Boolean},ce=["for"],ue={class:"vv-textarea__wrapper"},de=["id"],fe={key:0,class:"vv-textarea__limit"},me={name:"VvTextarea"};return e.defineComponent({...me,props:se,emits:le,setup(n,{emit:r}){const t=n,s=e.useSlots(),i=e.ref(),{icon:u,iconPosition:a,label:g,modelValue:m,count:d,valid:o,invalid:l,loading:p}=e.toRefs(t),c=e.computed(()=>String(t.id||w.nanoid())),f=e.computed(()=>`${c.value}-hint`),y=e.computed(()=>t.floating&&C(t.placeholder)?" ":t.placeholder),h=H(m,r,t.debounce),{hasIcon:b,hasIconLeft:I,hasIconRight:B}=z(u,a),{focused:V}=q(i,r),{formatted:v}=M(h,{mode:t.count,upperLimit:t.maxlength,lowerLimit:t.minlength}),P=e.computed(()=>!t.disabled&&!t.readonly),pe=e.computed(()=>P.value?t.tabindex:-1),ge=e.computed(()=>!C(m)),he=e.computed(()=>{if(t.invalid===!0)return!0;if(t.valid===!0)return!1}),{HintSlot:ye,hasHint:Se,hasInvalid:L}=j(t,s),{bemCssClasses:be}=R("vv-textarea",{modifiers:t.modifiers,valid:o,invalid:l,loading:p,disabled:t.disabled,readonly:t.readonly,iconLeft:I,iconRight:B,floating:t.floating&&!C(t.label),dirty:ge,focused:V,resizable:t.resizable}),Pe=e.computed(()=>({name:t.name,placeholder:y.value,tabindex:pe.value,disabled:t.disabled,readonly:t.readonly,required:t.required,autocomplete:t.autocomplete,minlength:t.minlength,maxlength:t.maxlength,cols:t.cols,rows:t.rows,wrap:t.wrap,spellcheck:t.spellcheck,"aria-invalid":he.value,"aria-describedby":!L.value&&Se.value?f.value:void 0,"aria-errormessage":L.value?f.value:void 0})),_=e.computed(()=>({valid:t.valid,invalid:t.invalid,modelValue:t.modelValue,hintLabel:t.hintLabel,maxlength:t.maxlength,minlength:t.minlength,clear:we})),we=()=>{h.value=void 0};return e.onMounted(()=>{t.autofocus&&(V.value=!0)}),(N,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(be))},[e.unref(g)?(e.openBlock(),e.createElementBlock("label",{key:0,for:e.unref(c),class:"vv-textarea__label"},e.toDisplayString(e.unref(g)),9,ce)):e.createCommentVNode("",!0),e.createElementVNode("div",ue,[e.renderSlot(N.$slots,"before",e.normalizeProps(e.guardReactiveProps(e.unref(_))),()=>[e.unref(I)?(e.openBlock(),e.createBlock(D,e.mergeProps({key:0,class:"vv-textarea__icon-left"},e.unref(b)),null,16)):e.createCommentVNode("",!0)]),e.withDirectives(e.createElementVNode("textarea",e.mergeProps({id:e.unref(c),ref_key:"textarea",ref:i,"onUpdate:modelValue":k[0]||(k[0]=$=>e.isRef(h)?h.value=$:null)},e.unref(Pe),{onKeyup:k[1]||(k[1]=$=>r("keyup",$))}),null,16,de),[[e.vModelText,e.unref(h)]]),e.renderSlot(N.$slots,"after",e.normalizeProps(e.guardReactiveProps(e.unref(_))),()=>[e.unref(B)?(e.openBlock(),e.createBlock(D,e.normalizeProps(e.mergeProps({key:0},e.unref(b))),null,16)):e.createCommentVNode("",!0)]),e.unref(d)?(e.openBlock(),e.createElementBlock("span",fe,[e.renderSlot(N.$slots,"count",e.normalizeProps(e.guardReactiveProps(e.unref(_))),()=>[e.createTextVNode(e.toDisplayString(e.unref(v)),1)])])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(ye),{id:e.unref(f),class:"vv-textarea__hint"},null,8,["id"])],2))}})});