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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +91 -56
  3. package/bin/icons.cjs +73 -0
  4. package/bin/icons.js +75 -0
  5. package/dist/{DesignSystem.d.ts → Volver.d.ts} +22 -18
  6. package/dist/components/VvAccordion/VvAccordion.es.js +165 -0
  7. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -0
  8. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +32 -97
  9. package/dist/components/VvAccordion/index.d.ts +46 -0
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +243 -0
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -0
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +77 -151
  13. package/dist/components/VvAccordionGroup/{VvAccordionGroup.d.ts → index.d.ts} +30 -13
  14. package/dist/components/VvBadge/VvBadge.es.js +62 -0
  15. package/dist/components/VvBadge/VvBadge.umd.js +1 -0
  16. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -54
  17. package/dist/components/VvBadge/{VvBadge.d.ts → index.d.ts} +1 -1
  18. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +93 -0
  19. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -0
  20. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +33 -107
  21. package/dist/components/VvBreadcrumb/{VvBreadcrumb.d.ts → index.d.ts} +2 -3
  22. package/dist/components/VvButton/VvButton.es.js +427 -0
  23. package/dist/components/VvButton/VvButton.umd.js +1 -0
  24. package/dist/components/VvButton/VvButton.vue.d.ts +108 -199
  25. package/dist/components/VvButton/index.d.ts +132 -0
  26. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +108 -0
  27. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -0
  28. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +89 -183
  29. package/dist/components/VvButtonGroup/index.d.ts +54 -0
  30. package/dist/components/VvCard/VvCard.es.js +77 -0
  31. package/dist/components/VvCard/VvCard.umd.js +1 -0
  32. package/dist/components/VvCard/VvCard.vue.d.ts +16 -61
  33. package/dist/components/VvCard/{VvCard.d.ts → index.d.ts} +1 -1
  34. package/dist/components/VvCheckbox/VvCheckbox.es.js +357 -0
  35. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -0
  36. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +74 -0
  37. package/dist/components/VvCheckbox/index.d.ts +54 -0
  38. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +435 -0
  39. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -0
  40. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +82 -0
  41. package/dist/components/VvCheckboxGroup/index.d.ts +32 -0
  42. package/dist/components/VvCombobox/VvCombobox.es.js +594 -0
  43. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -0
  44. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +153 -0
  45. package/dist/components/{VvSelect/VvSelect.d.ts → VvCombobox/index.d.ts} +33 -36
  46. package/dist/components/VvDialog/VvDialog.es.js +200 -0
  47. package/dist/components/VvDialog/VvDialog.umd.js +1 -0
  48. package/dist/components/VvDialog/VvDialog.vue.d.ts +28 -132
  49. package/dist/components/VvDialog/{VvDialog.d.ts → index.d.ts} +2 -6
  50. package/dist/components/VvDropdown/VvDropdown.es.js +218 -0
  51. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -0
  52. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +41 -147
  53. package/dist/components/VvDropdown/index.d.ts +37 -0
  54. package/dist/components/VvIcon/VvIcon.es.js +124 -0
  55. package/dist/components/VvIcon/VvIcon.umd.js +1 -0
  56. package/dist/components/VvIcon/VvIcon.vue.d.ts +36 -150
  57. package/dist/components/VvIcon/{VvIcon.d.ts → index.d.ts} +9 -0
  58. package/dist/components/VvInputText/VvInputClearAction.d.ts +36 -0
  59. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +56 -0
  60. package/dist/components/VvInputText/VvInputStepAction.d.ts +37 -0
  61. package/dist/components/VvInputText/VvInputText.es.js +764 -0
  62. package/dist/components/VvInputText/VvInputText.umd.js +1 -0
  63. package/dist/components/VvInputText/VvInputText.vue.d.ts +210 -287
  64. package/dist/components/VvInputText/VvInputTextActions.d.ts +1 -1
  65. package/dist/components/VvInputText/index.d.ts +182 -0
  66. package/dist/components/VvProgress/VvProgress.es.js +71 -0
  67. package/dist/components/VvProgress/VvProgress.umd.js +1 -0
  68. package/dist/components/VvProgress/VvProgress.vue.d.ts +20 -107
  69. package/dist/components/VvProgress/index.d.ts +30 -0
  70. package/dist/components/VvRadio/VvRadio.es.js +320 -0
  71. package/dist/components/VvRadio/VvRadio.umd.js +1 -0
  72. package/dist/components/VvRadio/VvRadio.vue.d.ts +55 -125
  73. package/dist/components/VvRadio/index.d.ts +40 -0
  74. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +398 -0
  75. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -0
  76. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +56 -238
  77. package/dist/components/VvRadioGroup/index.d.ts +32 -0
  78. package/dist/components/VvSelect/VvSelect.es.js +415 -0
  79. package/dist/components/VvSelect/VvSelect.umd.js +1 -0
  80. package/dist/components/VvSelect/VvSelect.vue.d.ts +112 -262
  81. package/dist/components/VvSelect/index.d.ts +96 -0
  82. package/dist/components/VvTextarea/VvTextarea.es.js +463 -0
  83. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -0
  84. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +139 -320
  85. package/dist/components/VvTextarea/index.d.ts +102 -0
  86. package/dist/components/common/HintSlot.d.ts +12 -6
  87. package/dist/components/index.d.ts +19 -12
  88. package/dist/components/index.es.js +2309 -0
  89. package/dist/components/index.umd.js +1 -0
  90. package/dist/composables/group/types/IAccordionGroupState.d.ts +3 -4
  91. package/dist/composables/group/types/IButtonGroupState.d.ts +5 -11
  92. package/dist/composables/group/types/IGroupState.d.ts +3 -6
  93. package/dist/composables/group/types/IInputGroup.d.ts +1 -4
  94. package/dist/composables/group/useInjectedGroupState.d.ts +4 -4
  95. package/dist/composables/group/useProvideGroupState.d.ts +2 -2
  96. package/dist/composables/useComponentFocus.d.ts +4 -0
  97. package/dist/composables/{icons/useComponentIcons.d.ts → useComponentIcons.d.ts} +3 -2
  98. package/dist/composables/useDebouncedInput.d.ts +2 -0
  99. package/dist/composables/useOptions.d.ts +6 -0
  100. package/dist/composables/useTextCount.d.ts +10 -0
  101. package/dist/constants.d.ts +4 -4
  102. package/dist/icons.d.ts +1881 -0
  103. package/dist/icons.es.js +12 -14
  104. package/dist/icons.umd.js +1 -1
  105. package/dist/index.d.ts +9 -4
  106. package/dist/index.es.js +2350 -0
  107. package/dist/index.umd.js +1 -0
  108. package/dist/props/index.d.ts +297 -30
  109. package/dist/resolvers/unplugin.d.ts +27 -0
  110. package/dist/resolvers/unplugin.es.js +40 -0
  111. package/dist/resolvers/unplugin.umd.js +1 -0
  112. package/dist/stories/Accordion/Accordion.settings.d.ts +63 -0
  113. package/dist/stories/Accordion/Accordion.test.d.ts +2 -0
  114. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +58 -0
  115. package/dist/stories/AccordionGroup/AccordionGroup.test.d.ts +2 -0
  116. package/dist/stories/Badge/Badge.settings.d.ts +32 -0
  117. package/dist/stories/Badge/Badge.test.d.ts +2 -0
  118. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +29 -0
  119. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +2 -0
  120. package/dist/stories/Button/Button.settings.d.ts +200 -0
  121. package/dist/stories/Button/Button.test.d.ts +1 -10
  122. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +38 -0
  123. package/dist/stories/ButtonGroup/ButtonGroup.test.d.ts +2 -0
  124. package/dist/stories/Card/Card.settings.d.ts +70 -0
  125. package/dist/stories/Card/Card.test.d.ts +2 -0
  126. package/dist/stories/Checkbox/Checkbox.settings.d.ts +165 -0
  127. package/dist/stories/Checkbox/Checkbox.test.d.ts +2 -0
  128. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +164 -0
  129. package/dist/stories/CheckboxGroup/CheckboxGroup.test.d.ts +2 -0
  130. package/dist/stories/Combobox/Combobox.settings.d.ts +267 -0
  131. package/dist/stories/Combobox/Combobox.test.d.ts +2 -0
  132. package/dist/stories/Dialog/Dialog.settings.d.ts +55 -0
  133. package/dist/stories/Dialog/Dialog.test.d.ts +2 -0
  134. package/dist/stories/Dropdown/Dropdown.settings.d.ts +75 -0
  135. package/dist/stories/Dropdown/Dropdown.test.d.ts +2 -0
  136. package/dist/stories/Icon/Icon.settings.d.ts +74 -0
  137. package/dist/stories/InputText/InputText.settings.d.ts +445 -0
  138. package/dist/stories/InputText/InputText.test.d.ts +2 -0
  139. package/dist/stories/Progress/Progress.settings.d.ts +38 -0
  140. package/dist/stories/Progress/Progress.test.d.ts +2 -0
  141. package/dist/stories/Radio/Radio.settings.d.ts +139 -0
  142. package/dist/stories/Radio/Radio.test.d.ts +2 -0
  143. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +164 -0
  144. package/dist/stories/RadioGroup/RadioGroup.test.d.ts +2 -0
  145. package/dist/stories/Select/Select.settings.d.ts +265 -0
  146. package/dist/stories/Select/Select.test.d.ts +2 -0
  147. package/dist/stories/Textarea/Textarea.settings.d.ts +336 -0
  148. package/dist/stories/Textarea/Textarea.test.d.ts +2 -0
  149. package/dist/stories/argTypes.d.ts +793 -0
  150. package/dist/test/expect.d.ts +3 -0
  151. package/dist/test/options.d.ts +1 -0
  152. package/dist/test/sleep.d.ts +1 -0
  153. package/dist/utils/ObjectUtilities.d.ts +82 -95
  154. package/env.d.ts +1 -0
  155. package/package.json +198 -126
  156. package/src/{DesignSystem.ts → Volver.ts} +57 -29
  157. package/src/assets/icons/detailed.json +1 -1
  158. package/src/assets/icons/normal.json +1 -1
  159. package/src/assets/icons/simple.json +1 -1
  160. package/src/components/VvAccordion/VvAccordion.vue +94 -78
  161. package/src/components/VvAccordion/index.ts +72 -0
  162. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +93 -53
  163. package/src/components/VvAccordionGroup/{VvAccordionGroup.ts → index.ts} +18 -14
  164. package/src/components/VvBadge/VvBadge.vue +17 -8
  165. package/src/components/VvBadge/index.ts +6 -0
  166. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +26 -24
  167. package/src/components/VvBreadcrumb/{VvBreadcrumb.ts → index.ts} +1 -2
  168. package/src/components/VvButton/VvButton.vue +174 -153
  169. package/src/components/VvButton/index.ts +171 -0
  170. package/src/components/VvButtonGroup/VvButtonGroup.vue +76 -48
  171. package/src/components/VvButtonGroup/index.ts +19 -0
  172. package/src/components/VvCard/VvCard.vue +20 -22
  173. package/src/components/VvCard/{VvCard.ts → index.ts} +1 -1
  174. package/src/components/VvCheckbox/VvCheckbox.vue +172 -0
  175. package/src/components/VvCheckbox/index.ts +60 -0
  176. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +85 -0
  177. package/src/components/VvCheckboxGroup/index.ts +5 -0
  178. package/src/components/VvCombobox/VvCombobox.vue +227 -0
  179. package/src/components/VvCombobox/index.ts +82 -0
  180. package/src/components/VvDialog/VvDialog.vue +69 -67
  181. package/src/components/VvDialog/index.ts +10 -0
  182. package/src/components/VvDropdown/VvDropdown.vue +112 -114
  183. package/src/components/VvDropdown/index.ts +25 -0
  184. package/src/components/VvIcon/README.md +64 -0
  185. package/src/components/VvIcon/VvIcon.vue +122 -107
  186. package/src/components/VvIcon/{VvIcon.ts → index.ts} +17 -8
  187. package/src/components/VvInputText/VvInputClearAction.ts +53 -0
  188. package/src/components/VvInputText/VvInputPasswordAction.ts +70 -0
  189. package/src/components/VvInputText/VvInputStepAction.ts +49 -0
  190. package/src/components/VvInputText/VvInputText.vue +305 -238
  191. package/src/components/VvInputText/VvInputTextActions.ts +63 -114
  192. package/src/components/VvInputText/index.ts +140 -0
  193. package/src/components/VvProgress/VvProgress.vue +29 -29
  194. package/src/components/VvProgress/index.ts +32 -0
  195. package/src/components/VvRadio/VvRadio.vue +90 -119
  196. package/src/components/VvRadio/index.ts +40 -0
  197. package/src/components/VvRadioGroup/VvRadioGroup.vue +76 -69
  198. package/src/components/VvRadioGroup/index.ts +5 -0
  199. package/src/components/VvSelect/VvSelect.vue +165 -186
  200. package/src/components/VvSelect/index.ts +74 -0
  201. package/src/components/VvTextarea/VvTextarea.vue +185 -173
  202. package/src/components/VvTextarea/index.ts +50 -0
  203. package/src/components/common/HintSlot.ts +167 -137
  204. package/src/components/index.ts +19 -12
  205. package/src/composables/group/types/IAccordionGroupState.ts +3 -4
  206. package/src/composables/group/types/IButtonGroupState.ts +5 -11
  207. package/src/composables/group/types/IGroupState.ts +4 -6
  208. package/src/composables/group/types/IInputGroup.ts +1 -4
  209. package/src/composables/group/useInjectedGroupState.ts +21 -33
  210. package/src/composables/group/useProvideGroupState.ts +5 -7
  211. package/src/composables/useComponentFocus.ts +17 -0
  212. package/src/composables/{icons/useComponentIcons.ts → useComponentIcons.ts} +29 -20
  213. package/src/composables/useDebouncedInput.ts +25 -0
  214. package/src/composables/useModifiers.ts +18 -20
  215. package/src/composables/useOptions.ts +31 -0
  216. package/src/composables/useTextCount.ts +57 -0
  217. package/src/constants.ts +5 -7
  218. package/src/directives/{.README → .gitkeep} +0 -0
  219. package/src/icons.ts +7 -0
  220. package/src/index.ts +12 -5
  221. package/src/props/index.ts +186 -36
  222. package/src/resolvers/unplugin.ts +103 -0
  223. package/src/shims.d.ts +13 -0
  224. package/src/stories/Accordion/Accordion.settings.ts +46 -0
  225. package/src/stories/Accordion/Accordion.stories.mdx +21 -21
  226. package/src/stories/Accordion/Accordion.test.ts +61 -0
  227. package/src/stories/Accordion/AccordionSlots.stories.mdx +46 -70
  228. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +55 -0
  229. package/src/stories/AccordionGroup/AccordionGroup.stories.mdx +24 -27
  230. package/src/stories/AccordionGroup/AccordionGroup.test.ts +50 -0
  231. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.mdx +56 -0
  232. package/src/stories/Badge/Badge.settings.ts +26 -0
  233. package/src/stories/Badge/Badge.stories.mdx +36 -24
  234. package/src/stories/Badge/Badge.test.ts +12 -0
  235. package/src/stories/Badge/BadgeSlots.stories.mdx +20 -0
  236. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +41 -0
  237. package/src/stories/Breadcrumb/Breadcrumb.stories.mdx +32 -29
  238. package/src/stories/Breadcrumb/Breadcrumb.test.ts +50 -0
  239. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.mdx +43 -0
  240. package/src/stories/Button/Button.settings.ts +150 -0
  241. package/src/stories/Button/Button.stories.mdx +20 -54
  242. package/src/stories/Button/Button.test.ts +35 -46
  243. package/src/stories/Button/ButtonIcon.stories.mdx +139 -29
  244. package/src/stories/Button/ButtonLink.stories.mdx +58 -111
  245. package/src/stories/Button/ButtonLoading.stories.mdx +89 -62
  246. package/src/stories/Button/ButtonModifiers.stories.mdx +198 -121
  247. package/src/stories/Button/ButtonSlots.stories.mdx +83 -95
  248. package/src/stories/Button/ButtonState.stories.mdx +75 -0
  249. package/src/stories/Button/ButtonToggle.stories.mdx +50 -0
  250. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +28 -0
  251. package/src/stories/ButtonGroup/ButtonGroup.stories.mdx +16 -18
  252. package/src/stories/ButtonGroup/ButtonGroup.test.ts +35 -0
  253. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.mdx +52 -0
  254. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.mdx +45 -114
  255. package/src/stories/Card/Card.settings.ts +55 -0
  256. package/src/stories/Card/Card.stories.mdx +27 -11
  257. package/src/stories/Card/Card.test.ts +23 -0
  258. package/src/stories/Card/CardSlots.stories.mdx +80 -24
  259. package/src/stories/Checkbox/Checkbox.settings.ts +43 -0
  260. package/src/stories/Checkbox/Checkbox.stories.mdx +163 -0
  261. package/src/stories/Checkbox/Checkbox.test.ts +81 -0
  262. package/src/stories/Checkbox/CheckboxBinary.stories.mdx +68 -0
  263. package/src/stories/Checkbox/CheckboxSlots.stories.mdx +46 -0
  264. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +15 -0
  265. package/src/stories/CheckboxGroup/CheckboxGroup.stories.mdx +134 -0
  266. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +83 -0
  267. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.mdx +100 -0
  268. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.mdx +67 -0
  269. package/src/stories/Combobox/Combobox.settings.ts +122 -0
  270. package/src/stories/Combobox/Combobox.stories.mdx +153 -0
  271. package/src/stories/Combobox/Combobox.test.ts +96 -0
  272. package/src/stories/Combobox/ComboboxMultiple.stories.mdx +74 -0
  273. package/src/stories/Combobox/ComboboxOptions.stories.mdx +100 -0
  274. package/src/stories/Combobox/ComboboxSlots.stories.mdx +48 -0
  275. package/src/stories/Dialog/Dialog.settings.ts +45 -0
  276. package/src/stories/Dialog/Dialog.stories.mdx +42 -16
  277. package/src/stories/Dialog/Dialog.test.ts +69 -0
  278. package/src/stories/Dialog/DialogSlots.stories.mdx +63 -0
  279. package/src/stories/Dropdown/Dropdown.settings.ts +42 -0
  280. package/src/stories/Dropdown/Dropdown.stories.mdx +85 -29
  281. package/src/stories/Dropdown/Dropdown.test.ts +43 -0
  282. package/src/stories/Dropdown/DropdownOptions.stories.mdx +87 -67
  283. package/src/stories/Icon/Icon.settings.ts +72 -0
  284. package/src/stories/Icon/Icon.stories.mdx +76 -59
  285. package/src/stories/Icon/IconsCollection.stories.mdx +68 -0
  286. package/src/stories/InputText/InputText.settings.ts +221 -0
  287. package/src/stories/InputText/InputText.stories.mdx +142 -69
  288. package/src/stories/InputText/InputText.test.ts +125 -0
  289. package/src/stories/InputText/InputTextIconPosition.stories.mdx +63 -16
  290. package/src/stories/InputText/InputTextLength.stories.mdx +110 -0
  291. package/src/stories/InputText/InputTextMinMax.stories.mdx +112 -0
  292. package/src/stories/InputText/InputTextSlots.stories.mdx +61 -22
  293. package/src/stories/InputText/InputTextType.stories.mdx +207 -29
  294. package/src/stories/Progress/Progress.settings.ts +33 -0
  295. package/src/stories/Progress/Progress.stories.mdx +12 -14
  296. package/src/stories/Progress/Progress.test.ts +9 -0
  297. package/src/stories/Radio/Radio.settings.ts +15 -0
  298. package/src/stories/Radio/Radio.stories.mdx +102 -42
  299. package/src/stories/Radio/Radio.test.ts +70 -0
  300. package/src/stories/Radio/RadioSlots.stories.mdx +39 -22
  301. package/src/stories/RadioGroup/RadioGroup.settings.ts +15 -0
  302. package/src/stories/RadioGroup/RadioGroup.stories.mdx +115 -54
  303. package/src/stories/RadioGroup/RadioGroup.test.ts +83 -0
  304. package/src/stories/RadioGroup/RadioGroupOptions.stories.mdx +83 -41
  305. package/src/stories/RadioGroup/RadioGroupSlots.stories.mdx +49 -144
  306. package/src/stories/Select/Select.settings.ts +100 -0
  307. package/src/stories/Select/Select.stories.mdx +113 -33
  308. package/src/stories/Select/Select.test.ts +82 -0
  309. package/src/stories/Select/SelectOptions.stories.mdx +91 -69
  310. package/src/stories/Select/SelectSlots.stories.mdx +48 -0
  311. package/src/stories/Textarea/Textarea.settings.ts +96 -0
  312. package/src/stories/Textarea/Textarea.stories.mdx +167 -47
  313. package/src/stories/Textarea/Textarea.test.ts +90 -0
  314. package/src/stories/Textarea/TextareaLength.stories.mdx +110 -0
  315. package/src/stories/Textarea/TextareaSlots.stories.mdx +61 -23
  316. package/src/stories/Textarea/TextareatIconPosition.stories.mdx +78 -0
  317. package/src/stories/argTypes.ts +433 -0
  318. package/src/test/expect.ts +27 -6
  319. package/src/test/options.ts +17 -0
  320. package/src/test/sleep.ts +2 -0
  321. package/src/test/types.d.ts +14 -0
  322. package/src/types/generic.d.ts +5 -0
  323. package/src/utils/ObjectUtilities.ts +253 -244
  324. package/dist/components/VvAccordion/VvAccordion.d.ts +0 -32
  325. package/dist/components/VvAccordion/useAccordionProps.d.ts +0 -16
  326. package/dist/components/VvAccordion/vv-accordion.es.js +0 -262
  327. package/dist/components/VvAccordion/vv-accordion.umd.js +0 -1
  328. package/dist/components/VvAccordionGroup/vv-accordion-group.es.js +0 -315
  329. package/dist/components/VvAccordionGroup/vv-accordion-group.umd.js +0 -1
  330. package/dist/components/VvBadge/vv-badge.es.js +0 -18
  331. package/dist/components/VvBadge/vv-badge.umd.js +0 -1
  332. package/dist/components/VvBreadcrumb/vv-breadcrumb.es.js +0 -206
  333. package/dist/components/VvBreadcrumb/vv-breadcrumb.umd.js +0 -1
  334. package/dist/components/VvButton/VvButton.d.ts +0 -115
  335. package/dist/components/VvButton/useButtonGroupProps.d.ts +0 -23
  336. package/dist/components/VvButton/vv-button.es.js +0 -422
  337. package/dist/components/VvButton/vv-button.umd.js +0 -1
  338. package/dist/components/VvButtonGroup/VvButtonGroup.d.ts +0 -57
  339. package/dist/components/VvButtonGroup/vv-button-group.es.js +0 -210
  340. package/dist/components/VvButtonGroup/vv-button-group.umd.js +0 -1
  341. package/dist/components/VvCard/vv-card.es.js +0 -188
  342. package/dist/components/VvCard/vv-card.umd.js +0 -1
  343. package/dist/components/VvCheck/VvCheck.d.ts +0 -47
  344. package/dist/components/VvCheck/VvCheck.vue.d.ts +0 -165
  345. package/dist/components/VvCheck/useCheckProps.d.ts +0 -16
  346. package/dist/components/VvCheck/vv-check.es.js +0 -321
  347. package/dist/components/VvCheck/vv-check.umd.js +0 -1
  348. package/dist/components/VvCheckGroup/VvCheckGroup.d.ts +0 -65
  349. package/dist/components/VvCheckGroup/VvCheckGroup.vue.d.ts +0 -272
  350. package/dist/components/VvCheckGroup/vv-check-group.es.js +0 -452
  351. package/dist/components/VvCheckGroup/vv-check-group.umd.js +0 -2
  352. package/dist/components/VvDialog/constants.d.ts +0 -5
  353. package/dist/components/VvDialog/vv-dialog.es.js +0 -315
  354. package/dist/components/VvDialog/vv-dialog.umd.js +0 -1
  355. package/dist/components/VvDropdown/VvDropdown.d.ts +0 -52
  356. package/dist/components/VvDropdown/vv-dropdown.es.js +0 -236
  357. package/dist/components/VvDropdown/vv-dropdown.umd.js +0 -1
  358. package/dist/components/VvIcon/vv-icon.es.js +0 -229
  359. package/dist/components/VvIcon/vv-icon.umd.js +0 -1
  360. package/dist/components/VvInputText/VvInputText.d.ts +0 -73
  361. package/dist/components/VvInputText/constants.d.ts +0 -55
  362. package/dist/components/VvInputText/vv-input-text.es.js +0 -725
  363. package/dist/components/VvInputText/vv-input-text.umd.js +0 -2
  364. package/dist/components/VvNativeSelect/VvNativeSelect.d.ts +0 -70
  365. package/dist/components/VvNativeSelect/VvNativeSelect.vue.d.ts +0 -228
  366. package/dist/components/VvNativeSelect/vv-native-select.es.js +0 -414
  367. package/dist/components/VvNativeSelect/vv-native-select.umd.js +0 -2
  368. package/dist/components/VvProgress/VvProgress.d.ts +0 -29
  369. package/dist/components/VvProgress/vv-progress.es.js +0 -185
  370. package/dist/components/VvProgress/vv-progress.umd.js +0 -1
  371. package/dist/components/VvRadio/VvRadio.d.ts +0 -22
  372. package/dist/components/VvRadio/useRadioProps.d.ts +0 -15
  373. package/dist/components/VvRadio/vv-radio.es.js +0 -309
  374. package/dist/components/VvRadio/vv-radio.umd.js +0 -1
  375. package/dist/components/VvRadioGroup/VvRadioGroup.d.ts +0 -54
  376. package/dist/components/VvRadioGroup/vv-radio-group.es.js +0 -441
  377. package/dist/components/VvRadioGroup/vv-radio-group.umd.js +0 -2
  378. package/dist/components/VvSelect/vv-select.es.js +0 -445
  379. package/dist/components/VvSelect/vv-select.umd.js +0 -2
  380. package/dist/components/VvTextarea/VvTextarea.d.ts +0 -88
  381. package/dist/components/VvTextarea/constants.d.ts +0 -19
  382. package/dist/components/VvTextarea/vv-textarea.es.js +0 -548
  383. package/dist/components/VvTextarea/vv-textarea.umd.js +0 -2
  384. package/dist/composables/debouncedInput/useDebouncedInput.d.ts +0 -2
  385. package/dist/composables/focus/useComponentFocus.d.ts +0 -7
  386. package/dist/composables/options/useOptions.d.ts +0 -5
  387. package/dist/composables/textLimit/useTextLimit.d.ts +0 -14
  388. package/dist/stories/Icon/IconList.vue.d.ts +0 -44
  389. package/dist/stories/utils.d.ts +0 -5
  390. package/dist/ui-vue.es.js +0 -3001
  391. package/dist/ui-vue.umd.js +0 -2
  392. package/src/assets/icons/index.js +0 -7
  393. package/src/components/VvAccordion/VvAccordion.ts +0 -34
  394. package/src/components/VvAccordion/useAccordionProps.ts +0 -45
  395. package/src/components/VvBadge/VvBadge.ts +0 -4
  396. package/src/components/VvButton/VvButton.ts +0 -117
  397. package/src/components/VvButton/useButtonGroupProps.ts +0 -51
  398. package/src/components/VvButtonGroup/VvButtonGroup.ts +0 -37
  399. package/src/components/VvCheck/VvCheck.ts +0 -48
  400. package/src/components/VvCheck/VvCheck.vue +0 -149
  401. package/src/components/VvCheck/useCheckProps.ts +0 -41
  402. package/src/components/VvCheckGroup/VvCheckGroup.ts +0 -34
  403. package/src/components/VvCheckGroup/VvCheckGroup.vue +0 -84
  404. package/src/components/VvDialog/VvDialog.ts +0 -17
  405. package/src/components/VvDialog/constants.ts +0 -5
  406. package/src/components/VvDropdown/VvDropdown.ts +0 -46
  407. package/src/components/VvInputText/VvInputText.ts +0 -66
  408. package/src/components/VvInputText/constants.ts +0 -34
  409. package/src/components/VvNativeSelect/VvNativeSelect.ts +0 -70
  410. package/src/components/VvNativeSelect/VvNativeSelect.vue +0 -106
  411. package/src/components/VvProgress/VvProgress.ts +0 -28
  412. package/src/components/VvRadio/VvRadio.ts +0 -25
  413. package/src/components/VvRadio/useRadioProps.ts +0 -40
  414. package/src/components/VvRadioGroup/VvRadioGroup.ts +0 -25
  415. package/src/components/VvSelect/VvSelect.ts +0 -91
  416. package/src/components/VvTextarea/VvTextarea.ts +0 -64
  417. package/src/components/VvTextarea/constants.ts +0 -14
  418. package/src/composables/debouncedInput/useDebouncedInput.ts +0 -19
  419. package/src/composables/focus/useComponentFocus.ts +0 -22
  420. package/src/composables/options/useOptions.ts +0 -27
  421. package/src/composables/textLimit/useTextLimit.ts +0 -44
  422. package/src/stories/Accordion/AccordionBordered.stories.mdx +0 -26
  423. package/src/stories/Accordion/AccordionIconRight.stories.mdx +0 -32
  424. package/src/stories/Accordion/accordionTest.js +0 -36
  425. package/src/stories/AccordionGroup/Accordion.stories.mdx +0 -42
  426. package/src/stories/AccordionGroup/AccordionItems.stories.mdx +0 -51
  427. package/src/stories/AccordionGroup/accordionGroupTest.js +0 -51
  428. package/src/stories/Badge/BadgeColor.stories.mdx +0 -54
  429. package/src/stories/Badge/BadgeDot.stories.mdx +0 -20
  430. package/src/stories/Badge/BadgeTest.js +0 -21
  431. package/src/stories/Breadcrumb/BreadcrumbMultiline.stories.mdx +0 -41
  432. package/src/stories/Button/ButtonBadge.stories.mdx +0 -34
  433. package/src/stories/Button/ButtonIconPosition.stories.mdx +0 -106
  434. package/src/stories/Button/ButtonVariant.stories.mdx +0 -205
  435. package/src/stories/Button/test.js +0 -41
  436. package/src/stories/ButtonGroup/ButtonGroupAction.stories.mdx +0 -83
  437. package/src/stories/ButtonGroup/ButtonGroupActionQuiet.stories.mdx +0 -50
  438. package/src/stories/ButtonGroup/ButtonGroupBlock.stories.mdx +0 -40
  439. package/src/stories/ButtonGroup/ButtonGroupCompact.stories.mdx +0 -38
  440. package/src/stories/ButtonGroup/ButtonGroupRounded.stories.mdx +0 -77
  441. package/src/stories/ButtonGroup/ButtonGroupTest.js +0 -61
  442. package/src/stories/ButtonGroup/ButtonGroupVertical.stories.mdx +0 -38
  443. package/src/stories/Card/CardVariant.stories.mdx +0 -37
  444. package/src/stories/Check/Check.stories.mdx +0 -62
  445. package/src/stories/Check/CheckBinary.stories.mdx +0 -80
  446. package/src/stories/Check/CheckDisabled.stories.mdx +0 -30
  447. package/src/stories/Check/CheckError.stories.mdx +0 -64
  448. package/src/stories/Check/CheckErrorTests.js +0 -72
  449. package/src/stories/Check/CheckHintLabel.stories.mdx +0 -30
  450. package/src/stories/Check/CheckPropertyTest.js +0 -101
  451. package/src/stories/Check/CheckReadonly.stories.mdx +0 -30
  452. package/src/stories/Check/CheckSlots.stories.mdx +0 -51
  453. package/src/stories/Check/CheckSwitch.stories.mdx +0 -30
  454. package/src/stories/CheckGroup/CheckGroup.stories.mdx +0 -69
  455. package/src/stories/CheckGroup/CheckGroupDisabled.stories.mdx +0 -26
  456. package/src/stories/CheckGroup/CheckGroupError.stories.mdx +0 -28
  457. package/src/stories/CheckGroup/CheckGroupHintLabel.stories.mdx +0 -27
  458. package/src/stories/CheckGroup/CheckGroupLabel.stories.mdx +0 -26
  459. package/src/stories/CheckGroup/CheckGroupOptionLabel.stories.mdx +0 -48
  460. package/src/stories/CheckGroup/CheckGroupOptionValue.stories.mdx +0 -48
  461. package/src/stories/CheckGroup/CheckGroupOptions.stories.mdx +0 -40
  462. package/src/stories/CheckGroup/CheckGroupReadonly.stories.mdx +0 -26
  463. package/src/stories/CheckGroup/CheckGroupSlots.stories.mdx +0 -152
  464. package/src/stories/CheckGroup/CheckGroupValid.stories.mdx +0 -28
  465. package/src/stories/CheckGroup/CheckGroupVertical.stories.mdx +0 -26
  466. package/src/stories/Dialog/DialogAutoClose.stories.mdx +0 -18
  467. package/src/stories/Dialog/DialogSize.stories.mdx +0 -36
  468. package/src/stories/Dropdown/DropdownDisabled.stories.mdx +0 -25
  469. package/src/stories/Dropdown/DropdownLabelNoResults.stories.mdx +0 -25
  470. package/src/stories/Dropdown/DropdownMaxValues.stories.mdx +0 -26
  471. package/src/stories/Dropdown/DropdownMultiple.stories.mdx +0 -56
  472. package/src/stories/Dropdown/DropdownUseObject.stories.mdx +0 -58
  473. package/src/stories/Icon/IconList.vue +0 -34
  474. package/src/stories/Icon/IconPrefix.stories.mdx +0 -79
  475. package/src/stories/Icon/IconRemote.stories.mdx +0 -39
  476. package/src/stories/Icon/IconTest.js +0 -27
  477. package/src/stories/Icon/IconsList.stories.mdx +0 -35
  478. package/src/stories/InputText/InputTextAutocomplete.stories.mdx +0 -15
  479. package/src/stories/InputText/InputTextAutofocus.stories.mdx +0 -20
  480. package/src/stories/InputText/InputTextDisabled.stories.mdx +0 -19
  481. package/src/stories/InputText/InputTextError.stories.mdx +0 -19
  482. package/src/stories/InputText/InputTextFloating.stories.mdx +0 -20
  483. package/src/stories/InputText/InputTextHintLabel.stories.mdx +0 -18
  484. package/src/stories/InputText/InputTextIcon.stories.mdx +0 -18
  485. package/src/stories/InputText/InputTextLabel.stories.mdx +0 -15
  486. package/src/stories/InputText/InputTextLoading.stories.mdx +0 -19
  487. package/src/stories/InputText/InputTextMax.stories.mdx +0 -31
  488. package/src/stories/InputText/InputTextMaxLength.stories.mdx +0 -36
  489. package/src/stories/InputText/InputTextMin.stories.mdx +0 -31
  490. package/src/stories/InputText/InputTextMinLength.stories.mdx +0 -15
  491. package/src/stories/InputText/InputTextPlaceholder.stories.mdx +0 -15
  492. package/src/stories/InputText/InputTextReadonly.stories.mdx +0 -19
  493. package/src/stories/InputText/InputTextStep.stories.mdx +0 -31
  494. package/src/stories/InputText/InputTextValid.stories.mdx +0 -19
  495. package/src/stories/NativeSelect/NativeSelect.stories.mdx +0 -53
  496. package/src/stories/NativeSelect/NativeSelectDisabled.stories.mdx +0 -32
  497. package/src/stories/NativeSelect/NativeSelectError.stories.mdx +0 -36
  498. package/src/stories/NativeSelect/NativeSelectHintLabel.stories.mdx +0 -34
  499. package/src/stories/NativeSelect/NativeSelectIconLeftRight.stories.mdx +0 -42
  500. package/src/stories/NativeSelect/NativeSelectLoading.stories.mdx +0 -27
  501. package/src/stories/NativeSelect/NativeSelectOptions.stories.mdx +0 -78
  502. package/src/stories/NativeSelect/NativeSelectReadonly.stories.mdx +0 -34
  503. package/src/stories/NativeSelect/NativeSelectUseObject.stories.mdx +0 -66
  504. package/src/stories/NativeSelect/NativeSelectValid.stories.mdx +0 -36
  505. package/src/stories/NativeSelect/NativeSelectValueKey.stories.mdx +0 -66
  506. package/src/stories/Progress/ProgressDeterminate.stories.mdx +0 -19
  507. package/src/stories/Radio/RadioDisabled.stories.mdx +0 -30
  508. package/src/stories/Radio/RadioError.stories.mdx +0 -64
  509. package/src/stories/Radio/RadioHintLabel.stories.mdx +0 -30
  510. package/src/stories/Radio/RadioTest.js +0 -89
  511. package/src/stories/RadioGroup/RadioGroupDisabled.stories.mdx +0 -29
  512. package/src/stories/RadioGroup/RadioGroupError.stories.mdx +0 -31
  513. package/src/stories/RadioGroup/RadioGroupHintLabel.stories.mdx +0 -28
  514. package/src/stories/RadioGroup/RadioGroupLabel.stories.mdx +0 -29
  515. package/src/stories/RadioGroup/RadioGroupOptionLabel.stories.mdx +0 -65
  516. package/src/stories/RadioGroup/RadioGroupOptionValue.stories.mdx +0 -65
  517. package/src/stories/RadioGroup/RadioGroupReadonly.stories.mdx +0 -29
  518. package/src/stories/RadioGroup/RadioGroupValid.stories.mdx +0 -31
  519. package/src/stories/RadioGroup/RadioGroupVertical.stories.mdx +0 -29
  520. package/src/stories/RadioGroup/RadioOptionsTest.js +0 -78
  521. package/src/stories/RadioGroup/RadioPropertyTest.js +0 -131
  522. package/src/stories/RadioGroup/RadioSlotsTest.js +0 -20
  523. package/src/stories/Select/SelectDisabled.stories.mdx +0 -32
  524. package/src/stories/Select/SelectMaxValues.stories.mdx +0 -33
  525. package/src/stories/Select/SelectMultiple.stories.mdx +0 -64
  526. package/src/stories/Select/SelectSearchable.stories.mdx +0 -80
  527. package/src/stories/Select/SelectSeparator.stories.mdx +0 -64
  528. package/src/stories/Select/SelectUseObject.stories.mdx +0 -66
  529. package/src/stories/Textarea/TextareaAutoclear.stories.mdx +0 -23
  530. package/src/stories/Textarea/TextareaAutocomplete.stories.mdx +0 -23
  531. package/src/stories/Textarea/TextareaAutofocus.stories.mdx +0 -24
  532. package/src/stories/Textarea/TextareaDebounce.stories.mdx +0 -23
  533. package/src/stories/Textarea/TextareaDisabled.stories.mdx +0 -23
  534. package/src/stories/Textarea/TextareaError.stories.mdx +0 -22
  535. package/src/stories/Textarea/TextareaErrorLabel.stories.mdx +0 -37
  536. package/src/stories/Textarea/TextareaFloating.stories.mdx +0 -25
  537. package/src/stories/Textarea/TextareaHintLabel.stories.mdx +0 -22
  538. package/src/stories/Textarea/TextareaIcon.stories.mdx +0 -22
  539. package/src/stories/Textarea/TextareaIconPosition.stories.mdx +0 -39
  540. package/src/stories/Textarea/TextareaId.stories.mdx +0 -19
  541. package/src/stories/Textarea/TextareaLabel.stories.mdx +0 -19
  542. package/src/stories/Textarea/TextareaLimit.stories.mdx +0 -50
  543. package/src/stories/Textarea/TextareaLoading.stories.mdx +0 -22
  544. package/src/stories/Textarea/TextareaLoadingLabel.stories.mdx +0 -23
  545. package/src/stories/Textarea/TextareaMaxLength.stories.mdx +0 -19
  546. package/src/stories/Textarea/TextareaMinLength.stories.mdx +0 -19
  547. package/src/stories/Textarea/TextareaModifiers.stories.mdx +0 -24
  548. package/src/stories/Textarea/TextareaName.stories.mdx +0 -23
  549. package/src/stories/Textarea/TextareaPlaceholder.stories.mdx +0 -19
  550. package/src/stories/Textarea/TextareaReadonly.stories.mdx +0 -23
  551. package/src/stories/Textarea/TextareaRequired.stories.mdx +0 -22
  552. package/src/stories/Textarea/TextareaResizable.stories.mdx +0 -22
  553. package/src/stories/Textarea/TextareaRowsCols.stories.mdx +0 -39
  554. package/src/stories/Textarea/TextareaValid.stories.mdx +0 -22
  555. package/src/stories/Textarea/TextareaValidLabel.stories.mdx +0 -35
  556. package/src/stories/stories.scss +0 -35
  557. package/src/stories/utils.ts +0 -12
  558. package/src/stories/volver-ui-vue.stories.mdx +0 -77
  559. package/src/types/.README +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2022 volverjs
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,11 +1,12 @@
1
1
  <div align="center">
2
2
 
3
- [![volverjs](https://raw.githubusercontent.com/volverjs/style/main/src/assets/volverjs.svg)](https://github.com/volverjs)
3
+ [![volverjs](.storybook/static/volverjs-beta.svg)](https://volverjs.github.io/ui-vue)
4
4
 
5
5
  ## @volverjs/ui-vue
6
6
 
7
- `vue` `components` `ui` `design-system` `typography`
8
- `input` `button` `text`
7
+ `vue` `components` `component-library` `design-system` \
8
+ `input` `button` `accordion` `badge` `combobox` `breadcrumb` `dialog`\
9
+ `checkbox` `radio` `textarea` `badge`
9
10
 
10
11
  <br>
11
12
 
@@ -13,7 +14,7 @@
13
14
 
14
15
  <br>
15
16
 
16
- [![24/Consulting](https://raw.githubusercontent.com/volverjs/style/main/src/assets/24consulting.svg)](https://24consulting.it)
17
+ [![24/Consulting](.storybook/static/24consulting.svg)](https://24consulting.it)
17
18
 
18
19
  <br>
19
20
 
@@ -21,71 +22,105 @@
21
22
 
22
23
  ## Install
23
24
 
24
- ```
25
- $ npm i @volverjs/ui-vue
26
- ```
25
+ `@volverjs/ui-vue` is closely linked to [`@volverjs/style`](https://volverjs.github.io/style/) and is neeeded to style components.
27
26
 
28
- ## Style
27
+ ```bash
28
+ # pnpm
29
+ pnpm add @volverjs/style @volverjs/ui-vue
29
30
 
30
- #### @volverjs/ui-vue is closely linked to [@volverjs/style](https://volverjs.github.io/style/) and is neeeded to style components
31
+ # yarn
32
+ yarn add @volverjs/style @volverjs/ui-vue
33
+
34
+ # npm
35
+ npm install @volverjs/style @volverjs/ui-vue --save
36
+ ```
31
37
 
32
38
  <br />
33
39
 
34
- ## Basic usage
40
+ ## Usage
35
41
 
36
- ```typescript
37
- import { iconsSimple, iconsNormal, iconsDetailed } from '@volverjs/ui-vue/icons'
38
- import { DesygnSystem } from '@volverjs/ui-vue'
42
+ Install the plugin in your `main.ts` file.
39
43
 
40
- const volver = new DesignSystem({
41
- iconsCollections: [iconsSimple, iconsNormal, iconsDetailed]
44
+ ```typescript
45
+ import { createApp } from 'vue'
46
+ import App from './App.vue'
47
+
48
+ // import @volverjs/ui-vue plugin
49
+ import { VolverPlugin } from '@volverjs/ui-vue'
50
+ // import @volverjs/ui-vue icons collections
51
+ import iconsCollections from '@volverjs/ui-vue/icons'
52
+ /*
53
+ * import @volverjs/style reset and props
54
+ * for scss support you can import the scss files
55
+ * import '@volverjs/style/scss/reset'
56
+ * import '@volverjs/style/scss/props'
57
+ */
58
+ import '@volverjs/style/reset'
59
+ import '@volverjs/style/props'
60
+
61
+ const app = createApp(App).mount('#app')
62
+
63
+ // install the plugin
64
+ app.use(VolverPlugin, {
65
+ iconsCollections
42
66
  })
67
+ ```
43
68
 
44
- app.use(volver)
69
+ Than you can import components and use them in your templates.
70
+
71
+ ```html
72
+ <script setup lang="ts">
73
+ import { VvButton } from '@volverjs/ui-vue'
74
+ /*
75
+ * import the component style
76
+ * for scss support you can import the scss file
77
+ * import '@volverjs/style/scss/vv-button'
78
+ */
79
+ import '@volverjs/style/vv-button'
80
+ </script>
81
+
82
+ <template>
83
+ <VvButton label="Button" />
84
+ </template>
45
85
  ```
46
86
 
47
- Constructor parameters:
87
+ ## Icons Collections
48
88
 
49
- ```typescript
50
- interface IDesignSystemParams {
51
- /**
52
- * If true set "fetchOptions" with credentials: 'include'
53
- */
54
- fetchWithCredentials?: boolean
55
- /**
56
- * Optional fetch params
57
- */
58
- fetchOptions?: RequestInit
59
- /**
60
- * Array of https://docs.iconify.design/types/iconify-json.html
61
- * This collections will be added during plugin install
62
- */
63
- iconsCollections?: IconifyJSON[]
64
- }
65
- ```
89
+ `@volverjs/ui-vue` comes with a set of icons with different levels of details. You can use them by importing `@volverjs/ui-vue/icons`.
90
+
91
+ To learn more about icons collections, check [icons documentation](src/components/VvIcon/README.md).
66
92
 
67
- Design System definition
93
+ ## Unplugin Resolver
94
+
95
+ You can use `@volverjs/ui-vue` with [`unplugin-vue-components`](https://github.com/antfu/unplugin-vue-components) to automatically import components and styles.
68
96
 
69
97
  ```typescript
70
- interface IDesignSystem extends IDesignSystemParams {
71
- /**
72
- * @param {String} src Icon source path (url)
73
- * @param {RequestInit} options
74
- * @returns {Promise<string | undefined>} String SVG if exist
75
- */
76
- fetchIcon(src: string, options?: RequestInit): Promise<string | undefined>
77
- /**
78
- * Add iconify collection to library https://docs.iconify.design/icon-components/vue/add-collection.html
79
- * @param {IconifyJSON} collection
80
- * @param {String} providerName Optional provider name
81
- */
82
- addCollection(collection: IconifyJSON, providerName?: string): boolean
83
- /**
84
- * Add icon to collection https://docs.iconify.design/icon-components/vue/add-icon.html
85
- * @param {String} name
86
- * @param {IconifyIcon} data
87
- * @returns {Boolean} true on success, false if something is wrong with data
88
- */
89
- addIcon(name: string, data: IconifyIcon): boolean
90
- }
98
+ // vite.config.ts
99
+ import { defineConfig } from 'vite'
100
+ import Components from 'unplugin-vue-components/vite'
101
+ import { VolverResolver } from '@volverjs/ui-vue/resolvers/unplugin'
102
+
103
+ export default defineConfig({
104
+ // ...
105
+ plugins: [
106
+ // ...
107
+ Components({
108
+ resolvers: [
109
+ VolverResolver({
110
+ // enable/disable import of style
111
+ // default: false
112
+ importStyle: 'css' // or 'scss'
113
+ })
114
+ ]
115
+ })
116
+ ]
117
+ })
91
118
  ```
119
+
120
+ ## Documentation
121
+
122
+ To learn more about `@volverjs/ui-vue`, check [its documentation](https://volverjs.github.io/ui-vue).
123
+
124
+ ## License
125
+
126
+ [MIT](http://opensource.org/licenses/MIT)
package/bin/icons.cjs ADDED
@@ -0,0 +1,73 @@
1
+ (function(global, factory) {
2
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("fs"), require("yargs"), require("yargs/helpers"), require("@iconify/tools"), require("path"), require("@iconify/utils")) : typeof define === "function" && define.amd ? define(["exports", "fs", "yargs", "yargs/helpers", "@iconify/tools", "path", "@iconify/utils"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global["generate-icons"] = {}, global.fileSystem, global.yargs, global.helpers, global.tools, global.path, global.utils));
3
+ })(this, function(exports2, fileSystem, yargs, helpers, tools, path, utils) {
4
+ "use strict";
5
+ function getAllFiles(dirPath, objectFiles = {}, prefix = "iconify") {
6
+ const files = fileSystem.readdirSync(dirPath);
7
+ files.forEach(function(file) {
8
+ if (fileSystem.statSync(dirPath + "/" + file).isDirectory()) {
9
+ objectFiles = getAllFiles(dirPath + "/" + file, objectFiles, file);
10
+ } else {
11
+ if (file.includes(".svg")) {
12
+ objectFiles[prefix] ? objectFiles[prefix].push(path.join(dirPath, "/", file)) : objectFiles[prefix] = [path.join(dirPath, "/", file)];
13
+ }
14
+ }
15
+ });
16
+ return objectFiles;
17
+ }
18
+ async function generateIcons(prefix, files, destPath2) {
19
+ const iconSet = tools.blankIconSet(prefix);
20
+ for (const file of files) {
21
+ const content = await fileSystem.promises.readFile(file, {
22
+ encoding: "utf-8"
23
+ });
24
+ const svg = new tools.SVG(content);
25
+ await tools.cleanupSVG(svg);
26
+ await tools.parseColors(svg, {
27
+ defaultColor: "currentColor",
28
+ callback: (attr, colorStr, color) => {
29
+ return !color || tools.isEmptyColor(color) ? colorStr : "currentColor";
30
+ }
31
+ });
32
+ await tools.runSVGO(svg);
33
+ const fileName = file.replace(/^.*[\\/]/, "").split(".")[0].replace(/ /g, "-").replace(/[^a-z0-9-]/gi, "");
34
+ iconSet.fromSVG(fileName, svg);
35
+ }
36
+ const iconifyJson = iconSet.export();
37
+ try {
38
+ utils.validateIconSet(iconifyJson);
39
+ } catch (error) {
40
+ throw new Error(
41
+ `Icon set is not valid: ${error == null ? void 0 : error.message}`
42
+ );
43
+ }
44
+ fileSystem.writeFileSync(
45
+ `${destPath2}/${iconifyJson.prefix}.json`,
46
+ JSON.stringify(iconifyJson)
47
+ );
48
+ }
49
+ function createIconifyJsonFiles(srcPath2, destPath2) {
50
+ const objectFiles = getAllFiles(srcPath2);
51
+ if (!Object.keys(objectFiles).length) {
52
+ console.error(`There are no files in ${srcPath2}`);
53
+ } else {
54
+ Object.keys(objectFiles).forEach((prefix) => {
55
+ generateIcons(prefix, objectFiles[prefix], destPath2);
56
+ console.info(`Icons generated in: ${destPath2}/${prefix}.json
57
+ `);
58
+ });
59
+ }
60
+ }
61
+ const argv = yargs(helpers.hideBin(process.argv)).argv;
62
+ const srcPath = argv.srcPath;
63
+ const destPath = argv.destPath || srcPath;
64
+ if (!srcPath || !destPath) {
65
+ console.error(
66
+ "Please specify the srcPath and destPath with --srcPath and --destPath"
67
+ );
68
+ process.exit();
69
+ }
70
+ createIconifyJsonFiles(srcPath, destPath);
71
+ exports2.createIconifyJsonFiles = createIconifyJsonFiles;
72
+ Object.defineProperty(exports2, Symbol.toStringTag, { value: "Module" });
73
+ });
package/bin/icons.js ADDED
@@ -0,0 +1,75 @@
1
+ import fileSystem from "fs";
2
+ import yargs from "yargs";
3
+ import { hideBin } from "yargs/helpers";
4
+ import { blankIconSet, SVG, cleanupSVG, parseColors, isEmptyColor, runSVGO } from "@iconify/tools";
5
+ import path from "path";
6
+ import { validateIconSet } from "@iconify/utils";
7
+ function getAllFiles(dirPath, objectFiles = {}, prefix = "iconify") {
8
+ const files = fileSystem.readdirSync(dirPath);
9
+ files.forEach(function(file) {
10
+ if (fileSystem.statSync(dirPath + "/" + file).isDirectory()) {
11
+ objectFiles = getAllFiles(dirPath + "/" + file, objectFiles, file);
12
+ } else {
13
+ if (file.includes(".svg")) {
14
+ objectFiles[prefix] ? objectFiles[prefix].push(path.join(dirPath, "/", file)) : objectFiles[prefix] = [path.join(dirPath, "/", file)];
15
+ }
16
+ }
17
+ });
18
+ return objectFiles;
19
+ }
20
+ async function generateIcons(prefix, files, destPath2) {
21
+ const iconSet = blankIconSet(prefix);
22
+ for (const file of files) {
23
+ const content = await fileSystem.promises.readFile(file, {
24
+ encoding: "utf-8"
25
+ });
26
+ const svg = new SVG(content);
27
+ await cleanupSVG(svg);
28
+ await parseColors(svg, {
29
+ defaultColor: "currentColor",
30
+ callback: (attr, colorStr, color) => {
31
+ return !color || isEmptyColor(color) ? colorStr : "currentColor";
32
+ }
33
+ });
34
+ await runSVGO(svg);
35
+ const fileName = file.replace(/^.*[\\/]/, "").split(".")[0].replace(/ /g, "-").replace(/[^a-z0-9-]/gi, "");
36
+ iconSet.fromSVG(fileName, svg);
37
+ }
38
+ const iconifyJson = iconSet.export();
39
+ try {
40
+ validateIconSet(iconifyJson);
41
+ } catch (error) {
42
+ throw new Error(
43
+ `Icon set is not valid: ${error == null ? void 0 : error.message}`
44
+ );
45
+ }
46
+ fileSystem.writeFileSync(
47
+ `${destPath2}/${iconifyJson.prefix}.json`,
48
+ JSON.stringify(iconifyJson)
49
+ );
50
+ }
51
+ function createIconifyJsonFiles(srcPath2, destPath2) {
52
+ const objectFiles = getAllFiles(srcPath2);
53
+ if (!Object.keys(objectFiles).length) {
54
+ console.error(`There are no files in ${srcPath2}`);
55
+ } else {
56
+ Object.keys(objectFiles).forEach((prefix) => {
57
+ generateIcons(prefix, objectFiles[prefix], destPath2);
58
+ console.info(`Icons generated in: ${destPath2}/${prefix}.json
59
+ `);
60
+ });
61
+ }
62
+ }
63
+ const argv = yargs(hideBin(process.argv)).argv;
64
+ const srcPath = argv.srcPath;
65
+ const destPath = argv.destPath || srcPath;
66
+ if (!srcPath || !destPath) {
67
+ console.error(
68
+ "Please specify the srcPath and destPath with --srcPath and --destPath"
69
+ );
70
+ process.exit();
71
+ }
72
+ createIconifyJsonFiles(srcPath, destPath);
73
+ export {
74
+ createIconifyJsonFiles
75
+ };
@@ -1,11 +1,7 @@
1
- import { type IconifyIcon, type IconifyJSON } from '@iconify/vue';
2
- import type { App } from 'vue';
3
- declare module 'vue' {
4
- interface ComponentCustomProperties {
5
- $ds: typeof DesignSystem.prototype;
6
- }
7
- }
8
- interface IDesignSystemParams {
1
+ import { type IconifyIcon, type IconifyJSON, type PartialIconifyAPIConfig } from '@iconify/vue';
2
+ import type { Plugin } from 'vue';
3
+ export declare const VOLVER_PREFIX = "ds";
4
+ interface IVolverParams {
9
5
  /**
10
6
  * If true set "fetchOptions" with credentials: 'include'
11
7
  */
@@ -19,8 +15,12 @@ interface IDesignSystemParams {
19
15
  * This collections will be added during plugin install
20
16
  */
21
17
  iconsCollections?: IconifyJSON[];
18
+ /**
19
+ * Set true inside nuxt
20
+ */
21
+ nuxt?: boolean;
22
22
  }
23
- export interface IDesignSystem extends IDesignSystemParams {
23
+ export interface IVolver extends IVolverParams {
24
24
  /**
25
25
  * @param {String} src Icon source path (url)
26
26
  * @param {RequestInit} options
@@ -40,6 +40,13 @@ export interface IDesignSystem extends IDesignSystemParams {
40
40
  * @returns {Boolean} true on success, false if something is wrong with data
41
41
  */
42
42
  addIcon(name: string, data: IconifyIcon): boolean;
43
+ /**
44
+ * Add custom config for provider
45
+ * @param {String} provider
46
+ * @param {PartialIconifyAPIConfig} customConfig
47
+ * @returns {Boolean} true on success, false if something is wrong with data
48
+ */
49
+ addAPIProvider(provider: string, customConfig: PartialIconifyAPIConfig): boolean;
43
50
  /**
44
51
  * Current provider
45
52
  */
@@ -49,19 +56,16 @@ export interface IDesignSystem extends IDesignSystemParams {
49
56
  */
50
57
  iconsCollections: IconifyJSON[];
51
58
  }
52
- export default class DesignSystem implements IDesignSystem {
59
+ export declare class Volver implements IVolver {
53
60
  fetchOptions: RequestInit;
54
61
  iconsCollections: IconifyJSON[];
55
62
  provider: string;
56
- constructor({ fetchWithCredentials, fetchOptions, iconsCollections }?: IDesignSystemParams);
57
- /**
58
- * Vue.use() hook
59
- * @param {App} Vue
60
- * @param {Object} options
61
- */
62
- install(app: App): void;
63
+ nuxt: boolean;
64
+ constructor({ fetchWithCredentials, fetchOptions, iconsCollections, nuxt, }?: IVolverParams);
63
65
  addCollection(collection: IconifyJSON, providerName?: string): boolean;
64
66
  addIcon(name: string, data: IconifyIcon): boolean;
67
+ addAPIProvider(provider: string, customConfig: PartialIconifyAPIConfig): boolean;
65
68
  fetchIcon(src: string, options?: RequestInit): Promise<string | undefined>;
66
69
  }
67
- export {};
70
+ declare const VolverPlugin: Plugin;
71
+ export default VolverPlugin;
@@ -0,0 +1,165 @@
1
+ import { unref as r, computed as v, inject as $, toRef as k, toRefs as S, defineComponent as j, useAttrs as I, ref as B, openBlock as P, createElementBlock as z, normalizeClass as D, withModifiers as E, createElementVNode as A, renderSlot as C, normalizeProps as b, guardReactiveProps as g, createTextVNode as O, toDisplayString as R } from "vue";
2
+ import { useToggle as M } from "@vueuse/core";
3
+ import { nanoid as Z } from "nanoid";
4
+ function L(o) {
5
+ return ((e) => e == null || e === "" || Array.isArray(e) && e.length === 0 || !(e instanceof Date) && typeof e == "object" && Object.keys(e).length === 0)(r(o));
6
+ }
7
+ function V(o) {
8
+ var e, a;
9
+ if (o)
10
+ return (a = (e = o.match(
11
+ /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g
12
+ )) == null ? void 0 : e.join("-")) == null ? void 0 : a.toLowerCase();
13
+ }
14
+ function N(o, e) {
15
+ const a = { [`${o}`]: !0 };
16
+ return {
17
+ bemCssClasses: v(() => Object.keys(e).reduce((t, l) => {
18
+ const s = r(e[l]) || !1;
19
+ if (!s)
20
+ return t;
21
+ if (l === "modifiers") {
22
+ const f = Array.isArray(s) ? s : s.split(" ");
23
+ return {
24
+ ...t,
25
+ ...f.reduce(
26
+ (i, c) => ({
27
+ ...i,
28
+ [`${o}--${V(c)}`]: !0
29
+ }),
30
+ {}
31
+ )
32
+ };
33
+ } else
34
+ return {
35
+ ...t,
36
+ [`${o}--${V(l)}`]: s
37
+ };
38
+ }, a) || {})
39
+ };
40
+ }
41
+ function T(o) {
42
+ const e = $(o, void 0), a = v(() => !L(e));
43
+ function u(t, l, s) {
44
+ if (e != null && e.value) {
45
+ const i = r(e.value)[t];
46
+ return v({
47
+ get() {
48
+ return i == null ? void 0 : i.value;
49
+ },
50
+ set(c) {
51
+ i.value = c;
52
+ }
53
+ });
54
+ }
55
+ const f = k(l, t);
56
+ return v({
57
+ get() {
58
+ return f.value;
59
+ },
60
+ set(i) {
61
+ s && s(`update:${t}`, i);
62
+ }
63
+ });
64
+ }
65
+ return {
66
+ group: e,
67
+ isInGroup: a,
68
+ getGroupOrLocalRef: u
69
+ };
70
+ }
71
+ const U = "VV_ACCORDION_GROUP", x = {
72
+ name: String,
73
+ title: String,
74
+ content: String,
75
+ modelValue: {
76
+ type: Boolean,
77
+ default: void 0
78
+ },
79
+ modifiers: [String, Array],
80
+ disabled: Boolean
81
+ }, q = ["update:modelValue"];
82
+ function F(o, e) {
83
+ const { group: a, isInGroup: u, getGroupOrLocalRef: t } = T(U), { title: l, content: s } = S(o), f = t("modelValue", o, e), i = t("disabled", o), c = t("collapse", o), n = t("modifiers", o);
84
+ return {
85
+ modelValue: f,
86
+ disabled: i,
87
+ isInGroup: u,
88
+ group: a,
89
+ collapse: c,
90
+ modifiers: n,
91
+ title: l,
92
+ content: s
93
+ };
94
+ }
95
+ const H = ["id", "open"], J = ["aria-controls", "aria-expanded"], K = ["aria-hidden"], Q = {
96
+ name: "VvAccordion"
97
+ }, ee = /* @__PURE__ */ j({
98
+ ...Q,
99
+ props: x,
100
+ emits: q,
101
+ setup(o, { emit: e }) {
102
+ const a = o, u = I(), t = a.name || (u == null ? void 0 : u.id) || Z(), {
103
+ modifiers: l,
104
+ title: s,
105
+ content: f,
106
+ disabled: i,
107
+ collapse: c,
108
+ modelValue: n,
109
+ isInGroup: _
110
+ } = F(a, e), y = B(!1), m = v({
111
+ get: () => _.value ? c.value && Array.isArray(n.value) ? n.value.includes(t) : n.value === t : n.value === void 0 ? y.value : n.value,
112
+ set: (d) => {
113
+ if (_.value) {
114
+ if (c.value && Array.isArray(n.value)) {
115
+ if (d) {
116
+ n.value.push(t);
117
+ return;
118
+ }
119
+ n.value = n.value.filter(
120
+ (p) => p !== t
121
+ );
122
+ return;
123
+ }
124
+ n.value = d ? t : null;
125
+ return;
126
+ }
127
+ if (n.value === void 0 && typeof d == "boolean") {
128
+ y.value = d;
129
+ return;
130
+ }
131
+ n.value = d;
132
+ }
133
+ }), { bemCssClasses: h } = N("vv-accordion", {
134
+ modifiers: l,
135
+ disabled: i
136
+ }), G = M(m);
137
+ return (d, p) => (P(), z("details", {
138
+ id: r(t),
139
+ class: D(r(h)),
140
+ open: r(m),
141
+ onClick: p[0] || (p[0] = E((W) => r(G)(), ["prevent"]))
142
+ }, [
143
+ A("summary", {
144
+ "aria-controls": r(t),
145
+ "aria-expanded": r(m),
146
+ class: "vv-collapse__summary"
147
+ }, [
148
+ C(d.$slots, "summary", b(g({ open: r(m) })), () => [
149
+ O(R(r(s)), 1)
150
+ ])
151
+ ], 8, J),
152
+ A("div", {
153
+ "aria-hidden": !r(m),
154
+ class: "vv-collapse__content"
155
+ }, [
156
+ C(d.$slots, "details", b(g({ open: r(m) })), () => [
157
+ O(R(r(f)), 1)
158
+ ])
159
+ ], 8, K)
160
+ ], 10, H));
161
+ }
162
+ });
163
+ export {
164
+ ee as default
165
+ };
@@ -0,0 +1 @@
1
+ (function(e,m){typeof exports=="object"&&typeof module<"u"?module.exports=m(require("vue"),require("@vueuse/core"),require("nanoid")):typeof define=="function"&&define.amd?define(["vue","@vueuse/core","nanoid"],m):(e=typeof globalThis<"u"?globalThis:e||self,e.VvAccordion=m(e.vue,e.core,e.nanoid))})(this,function(e,m,g){"use strict";function b(r){return(n=>n==null||n===""||Array.isArray(n)&&n.length===0||!(n instanceof Date)&&typeof n=="object"&&Object.keys(n).length===0)(e.unref(r))}function _(r){var n,a;if(r)return(a=(n=r.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:n.join("-"))==null?void 0:a.toLowerCase()}function V(r,n){const a={[`${r}`]:!0};return{bemCssClasses:e.computed(()=>Object.keys(n).reduce((t,c)=>{const s=e.unref(n[c])||!1;if(!s)return t;if(c==="modifiers"){const f=Array.isArray(s)?s:s.split(" ");return{...t,...f.reduce((i,l)=>({...i,[`${r}--${_(l)}`]:!0}),{})}}else return{...t,[`${r}--${_(c)}`]:s}},a)||{})}}function h(r){const n=e.inject(r,void 0),a=e.computed(()=>!b(n));function d(t,c,s){if(n!=null&&n.value){const i=e.unref(n.value)[t];return e.computed({get(){return i==null?void 0:i.value},set(l){i.value=l}})}const f=e.toRef(c,t);return e.computed({get(){return f.value},set(i){s&&s(`update:${t}`,i)}})}return{group:n,isInGroup:a,getGroupOrLocalRef:d}}const O="VV_ACCORDION_GROUP",R={name:String,title:String,content:String,modelValue:{type:Boolean,default:void 0},modifiers:[String,Array],disabled:Boolean},G=["update:modelValue"];function S(r,n){const{group:a,isInGroup:d,getGroupOrLocalRef:t}=h(O),{title:c,content:s}=e.toRefs(r),f=t("modelValue",r,n),i=t("disabled",r),l=t("collapse",r),o=t("modifiers",r);return{modelValue:f,disabled:i,isInGroup:d,group:a,collapse:l,modifiers:o,title:c,content:s}}const $=["id","open"],j=["aria-controls","aria-expanded"],k=["aria-hidden"],P={name:"VvAccordion"};return e.defineComponent({...P,props:R,emits:G,setup(r,{emit:n}){const a=r,d=e.useAttrs(),t=a.name||(d==null?void 0:d.id)||g.nanoid(),{modifiers:c,title:s,content:f,disabled:i,collapse:l,modelValue:o,isInGroup:A}=S(a,n),C=e.ref(!1),p=e.computed({get:()=>A.value?l.value&&Array.isArray(o.value)?o.value.includes(t):o.value===t:o.value===void 0?C.value:o.value,set:u=>{if(A.value){if(l.value&&Array.isArray(o.value)){if(u){o.value.push(t);return}o.value=o.value.filter(y=>y!==t);return}o.value=u?t:null;return}if(o.value===void 0&&typeof u=="boolean"){C.value=u;return}o.value=u}}),{bemCssClasses:I}=V("vv-accordion",{modifiers:c,disabled:i}),z=m.useToggle(p);return(u,y)=>(e.openBlock(),e.createElementBlock("details",{id:e.unref(t),class:e.normalizeClass(e.unref(I)),open:e.unref(p),onClick:y[0]||(y[0]=e.withModifiers(D=>e.unref(z)(),["prevent"]))},[e.createElementVNode("summary",{"aria-controls":e.unref(t),"aria-expanded":e.unref(p),class:"vv-collapse__summary"},[e.renderSlot(u.$slots,"summary",e.normalizeProps(e.guardReactiveProps({open:e.unref(p)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(s)),1)])],8,j),e.createElementVNode("div",{"aria-hidden":!e.unref(p),class:"vv-collapse__content"},[e.renderSlot(u.$slots,"details",e.normalizeProps(e.guardReactiveProps({open:e.unref(p)})),()=>[e.createTextVNode(e.toDisplayString(e.unref(f)),1)])],8,k)],10,$))}})});