@volverjs/ui-vue 0.0.10-beta.5 → 0.0.10-beta.51

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 (496) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +148 -51
  3. package/auto-imports.d.ts +25 -12
  4. package/bin/icons.cjs +1 -1
  5. package/bin/icons.js +28 -20
  6. package/dist/Volver.d.ts +11 -11
  7. package/dist/components/VvAccordion/VvAccordion.es.js +192 -104
  8. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  9. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +29 -10
  10. package/dist/components/VvAccordion/index.d.ts +8 -9
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +485 -206
  12. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  13. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +61 -18
  14. package/dist/components/VvAccordionGroup/index.d.ts +16 -8
  15. package/dist/components/VvAction/VvAction.es.js +84 -33
  16. package/dist/components/VvAction/VvAction.umd.js +1 -1
  17. package/dist/components/VvAction/VvAction.vue.d.ts +61 -28
  18. package/dist/components/VvAction/index.d.ts +26 -10
  19. package/dist/components/VvAlert/VvAlert.es.js +350 -318
  20. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  21. package/dist/components/VvAlert/VvAlert.vue.d.ts +25 -17
  22. package/dist/components/VvAlert/index.d.ts +20 -11
  23. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +388 -327
  24. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  25. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +22 -17
  26. package/dist/components/VvAlertGroup/index.d.ts +10 -18
  27. package/dist/components/VvAvatar/VvAvatar.es.js +66 -28
  28. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  29. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +13 -5
  30. package/dist/components/VvAvatar/index.d.ts +4 -1
  31. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +147 -74
  32. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  33. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +17 -10
  34. package/dist/components/VvAvatarGroup/index.d.ts +6 -3
  35. package/dist/components/VvBadge/VvBadge.es.js +78 -34
  36. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  37. package/dist/components/VvBadge/VvBadge.vue.d.ts +13 -5
  38. package/dist/components/VvBadge/index.d.ts +4 -1
  39. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +294 -83
  40. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  41. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +28 -8
  42. package/dist/components/VvBreadcrumb/index.d.ts +6 -10
  43. package/dist/components/VvButton/VvButton.es.js +510 -488
  44. package/dist/components/VvButton/VvButton.umd.js +1 -1
  45. package/dist/components/VvButton/VvButton.vue.d.ts +97 -45
  46. package/dist/components/VvButton/index.d.ts +52 -30
  47. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +95 -45
  48. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  49. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +35 -17
  50. package/dist/components/VvButtonGroup/index.d.ts +13 -4
  51. package/dist/components/VvCard/VvCard.es.js +87 -42
  52. package/dist/components/VvCard/VvCard.umd.js +1 -1
  53. package/dist/components/VvCard/VvCard.vue.d.ts +13 -5
  54. package/dist/components/VvCard/index.d.ts +4 -1
  55. package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -136
  56. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  57. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -35
  58. package/dist/components/VvCheckbox/index.d.ts +52 -19
  59. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +408 -322
  60. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  61. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +103 -34
  62. package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
  63. package/dist/components/VvCombobox/VvCombobox.es.js +1963 -1639
  64. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  65. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +260 -672
  66. package/dist/components/VvCombobox/index.d.ts +385 -135
  67. package/dist/components/VvDialog/VvDialog.es.js +177 -297
  68. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  69. package/dist/components/VvDialog/VvDialog.vue.d.ts +23 -7
  70. package/dist/components/VvDialog/index.d.ts +12 -0
  71. package/dist/components/VvDropdown/VvDropdown.es.js +172 -102
  72. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  73. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +110 -315
  74. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +77 -28
  75. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
  76. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +13 -5
  77. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +38 -10
  78. package/dist/components/VvDropdown/index.d.ts +52 -118
  79. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +165 -60
  80. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  81. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +337 -10
  82. package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
  83. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
  84. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  85. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
  86. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  87. package/dist/components/VvIcon/VvIcon.es.js +24 -102
  88. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  89. package/dist/components/VvIcon/VvIcon.vue.d.ts +4 -68
  90. package/dist/components/VvIcon/index.d.ts +33 -48
  91. package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
  92. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
  93. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +317 -0
  94. package/dist/components/VvInputFile/index.d.ts +193 -0
  95. package/dist/components/VvInputText/VvInputClearAction.d.ts +16 -10
  96. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +20 -14
  97. package/dist/components/VvInputText/VvInputStepAction.d.ts +11 -7
  98. package/dist/components/VvInputText/VvInputText.es.js +1495 -548
  99. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  100. package/dist/components/VvInputText/VvInputText.vue.d.ts +216 -68
  101. package/dist/components/VvInputText/index.d.ts +101 -31
  102. package/dist/components/VvNav/VvNav.es.js +155 -75
  103. package/dist/components/VvNav/VvNav.umd.js +1 -1
  104. package/dist/components/VvNav/VvNav.vue.d.ts +32 -11
  105. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  106. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  107. package/dist/components/VvNav/index.d.ts +5 -2
  108. package/dist/components/VvNavItem/VvNavItem.es.js +100 -39
  109. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  110. package/dist/components/VvProgress/VvProgress.es.js +73 -27
  111. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  112. package/dist/components/VvProgress/VvProgress.vue.d.ts +13 -6
  113. package/dist/components/VvProgress/index.d.ts +4 -1
  114. package/dist/components/VvRadio/VvRadio.es.js +175 -135
  115. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  116. package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -33
  117. package/dist/components/VvRadio/index.d.ts +50 -17
  118. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +406 -321
  119. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  120. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +103 -34
  121. package/dist/components/VvRadioGroup/index.d.ts +45 -12
  122. package/dist/components/VvSelect/VvSelect.es.js +677 -611
  123. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  124. package/dist/components/VvSelect/VvSelect.vue.d.ts +107 -199
  125. package/dist/components/VvSelect/index.d.ts +196 -16
  126. package/dist/components/VvTab/VvTab.es.js +230 -110
  127. package/dist/components/VvTab/VvTab.umd.js +1 -1
  128. package/dist/components/VvTab/VvTab.vue.d.ts +34 -12
  129. package/dist/components/VvTab/index.d.ts +6 -3
  130. package/dist/components/VvTextarea/VvTextarea.es.js +278 -255
  131. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  132. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +159 -54
  133. package/dist/components/VvTextarea/index.d.ts +69 -20
  134. package/dist/components/VvTooltip/VvTooltip.es.js +83 -30
  135. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  136. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +16 -9
  137. package/dist/components/VvTooltip/index.d.ts +5 -2
  138. package/dist/components/common/HintSlot.d.ts +8 -9
  139. package/dist/components/index.d.ts +10 -0
  140. package/dist/components/index.es.js +4303 -2228
  141. package/dist/components/index.umd.js +1 -1
  142. package/dist/composables/alert/useAlerInject.d.ts +4 -0
  143. package/dist/composables/alert/useAlert.d.ts +71 -6
  144. package/dist/composables/alert/{useProvideAlert.d.ts → useAlertProvide.d.ts} +1 -1
  145. package/dist/composables/dropdown/useDropdownContextmenu.d.ts +18 -0
  146. package/dist/composables/dropdown/useDropdownInject.d.ts +12 -0
  147. package/dist/composables/dropdown/{useProvideDropdown.d.ts → useDropdownProvide.d.ts} +6 -7
  148. package/dist/composables/dropdown/useDropdownVirtualElement.d.ts +17 -0
  149. package/dist/composables/group/useGroupStateInject.d.ts +9 -0
  150. package/dist/composables/group/useGroupStateProvide.d.ts +6 -0
  151. package/dist/composables/index.d.ts +3 -0
  152. package/dist/composables/index.es.js +178 -6
  153. package/dist/composables/index.umd.js +1 -1
  154. package/dist/composables/useBlurhash.d.ts +7 -0
  155. package/dist/composables/useComponentFocus.d.ts +2 -2
  156. package/dist/composables/useComponentIcon.d.ts +9 -8
  157. package/dist/composables/useOptions.d.ts +5 -5
  158. package/dist/composables/usePersistence.d.ts +3 -0
  159. package/dist/composables/useUniqueId.d.ts +2 -2
  160. package/dist/composables/useVolver.d.ts +1 -1
  161. package/dist/constants.d.ts +35 -33
  162. package/dist/directives/index.d.ts +3 -5
  163. package/dist/directives/index.es.js +247 -82
  164. package/dist/directives/index.umd.js +1 -1
  165. package/dist/directives/v-contextmenu.es.js +137 -31
  166. package/dist/directives/v-contextmenu.umd.js +1 -1
  167. package/dist/directives/v-tooltip.es.js +101 -39
  168. package/dist/directives/v-tooltip.umd.js +1 -1
  169. package/dist/icons.d.ts +17 -17
  170. package/dist/icons.es.js +516 -516
  171. package/dist/icons.umd.js +1 -1
  172. package/dist/index.d.ts +3 -1
  173. package/dist/index.es.js +74 -6
  174. package/dist/index.umd.js +1 -1
  175. package/dist/props/index.d.ts +288 -198
  176. package/dist/resolvers/unplugin.d.ts +6 -1
  177. package/dist/resolvers/unplugin.es.js +87 -10
  178. package/dist/resolvers/unplugin.umd.js +1 -1
  179. package/dist/stories/Accordion/Accordion.settings.d.ts +2 -57
  180. package/dist/stories/AccordionGroup/AccordionGroup.settings.d.ts +2 -66
  181. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +2 -127
  182. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1304 -538
  183. package/dist/stories/Alert/Alert.settings.d.ts +2 -109
  184. package/dist/stories/AlertGroup/AlertGroup.settings.d.ts +2 -85
  185. package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
  186. package/dist/stories/AvatarGroup/AvatarGroup.settings.d.ts +2 -38
  187. package/dist/stories/Badge/Badge.settings.d.ts +2 -26
  188. package/dist/stories/Badge/Badge.test.d.ts +1 -1
  189. package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
  190. package/dist/stories/Breadcrumb/Breadcrumb.settings.d.ts +2 -18
  191. package/dist/stories/Breadcrumb/Breadcrumb.test.d.ts +1 -1
  192. package/dist/stories/Button/Button.settings.d.ts +2 -194
  193. package/dist/stories/ButtonGroup/ButtonGroup.settings.d.ts +2 -40
  194. package/dist/stories/Card/Card.settings.d.ts +2 -63
  195. package/dist/stories/Checkbox/Checkbox.settings.d.ts +2 -132
  196. package/dist/stories/CheckboxGroup/CheckboxGroup.settings.d.ts +1 -141
  197. package/dist/stories/Combobox/Combobox.settings.d.ts +2 -609
  198. package/dist/stories/Combobox/Combobox.stories.d.ts +1 -0
  199. package/dist/stories/Combobox/ComboboxMultiple.stories.d.ts +1 -0
  200. package/dist/stories/Dialog/Dialog.settings.d.ts +2 -47
  201. package/dist/stories/Dialog/DialogModifiers.stories.d.ts +8 -0
  202. package/dist/stories/Dropdown/Dropdown.settings.d.ts +2 -205
  203. package/dist/stories/Icon/Icon.settings.d.ts +3 -68
  204. package/dist/stories/InputFile/InputFile.settings.d.ts +6 -0
  205. package/dist/stories/InputFile/InputFile.stories.d.ts +13 -0
  206. package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
  207. package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
  208. package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
  209. package/dist/stories/InputText/InputText.settings.d.ts +2 -438
  210. package/dist/stories/Nav/Nav.settings.d.ts +2 -10
  211. package/dist/stories/Progress/Progress.settings.d.ts +2 -27
  212. package/dist/stories/Radio/Radio.settings.d.ts +1 -110
  213. package/dist/stories/RadioGroup/RadioGroup.settings.d.ts +1 -141
  214. package/dist/stories/Select/Select.settings.d.ts +2 -246
  215. package/dist/stories/Select/Select.stories.d.ts +1 -0
  216. package/dist/stories/Tab/Tab.settings.d.ts +2 -15
  217. package/dist/stories/Textarea/Textarea.settings.d.ts +2 -287
  218. package/dist/stories/argTypes.d.ts +27 -866
  219. package/dist/test/expect.d.ts +1 -2
  220. package/dist/test/options.d.ts +1 -1
  221. package/dist/test/sleep.d.ts +1 -1
  222. package/dist/types/alert.d.ts +9 -7
  223. package/dist/types/blurhash.d.ts +12 -0
  224. package/dist/types/floating-ui.d.ts +1 -1
  225. package/dist/types/generic.d.ts +1 -2
  226. package/dist/types/group.d.ts +37 -15
  227. package/dist/types/index.d.ts +7 -0
  228. package/dist/types/input-file.d.ts +9 -0
  229. package/dist/types/nav.d.ts +2 -2
  230. package/dist/utils/DomUtilities.d.ts +1 -0
  231. package/dist/utils/ObjectUtilities.d.ts +8 -9
  232. package/dist/workers/blurhash.d.ts +1 -0
  233. package/package.json +238 -246
  234. package/src/Volver.ts +251 -246
  235. package/src/assets/icons/detailed.json +1 -1
  236. package/src/assets/icons/normal.json +1 -1
  237. package/src/assets/icons/simple.json +1 -1
  238. package/src/components/VvAccordion/VvAccordion.vue +163 -100
  239. package/src/components/VvAccordion/index.ts +65 -80
  240. package/src/components/VvAccordionGroup/VvAccordionGroup.vue +224 -106
  241. package/src/components/VvAccordionGroup/index.ts +42 -42
  242. package/src/components/VvAction/VvAction.vue +144 -130
  243. package/src/components/VvAlert/VvAlert.vue +72 -70
  244. package/src/components/VvAlert/index.ts +149 -147
  245. package/src/components/VvAlertGroup/VvAlertGroup.vue +57 -56
  246. package/src/components/VvAlertGroup/index.ts +102 -118
  247. package/src/components/VvAvatar/VvAvatar.vue +20 -14
  248. package/src/components/VvAvatar/index.ts +5 -5
  249. package/src/components/VvAvatarGroup/VvAvatarGroup.vue +58 -53
  250. package/src/components/VvAvatarGroup/index.ts +21 -21
  251. package/src/components/VvBadge/VvBadge.vue +15 -14
  252. package/src/components/VvBadge/index.ts +2 -2
  253. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +50 -48
  254. package/src/components/VvBreadcrumb/index.ts +3 -9
  255. package/src/components/VvButton/VvButton.vue +163 -152
  256. package/src/components/VvButton/index.ts +104 -111
  257. package/src/components/VvButtonGroup/VvButtonGroup.vue +73 -65
  258. package/src/components/VvButtonGroup/index.ts +23 -22
  259. package/src/components/VvCard/VvCard.vue +30 -30
  260. package/src/components/VvCard/index.ts +2 -2
  261. package/src/components/VvCheckbox/VvCheckbox.vue +186 -184
  262. package/src/components/VvCheckbox/index.ts +45 -45
  263. package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +88 -87
  264. package/src/components/VvCombobox/VvCombobox.vue +657 -619
  265. package/src/components/VvCombobox/index.ts +212 -168
  266. package/src/components/VvDialog/VvDialog.vue +139 -129
  267. package/src/components/VvDialog/index.ts +42 -36
  268. package/src/components/VvDropdown/VvDropdown.vue +466 -445
  269. package/src/components/VvDropdown/VvDropdownAction.vue +37 -39
  270. package/src/components/VvDropdown/VvDropdownItem.vue +30 -26
  271. package/src/components/VvDropdown/VvDropdownOptgroup.vue +13 -12
  272. package/src/components/VvDropdown/VvDropdownOption.vue +47 -64
  273. package/src/components/VvDropdown/index.ts +61 -27
  274. package/src/components/VvIcon/README.md +1 -1
  275. package/src/components/VvIcon/VvIcon.vue +133 -133
  276. package/src/components/VvIcon/index.ts +84 -97
  277. package/src/components/VvInputFile/VvInputFile.vue +413 -0
  278. package/src/components/VvInputFile/index.ts +143 -0
  279. package/src/components/VvInputText/VvInputClearAction.ts +51 -47
  280. package/src/components/VvInputText/VvInputPasswordAction.ts +66 -62
  281. package/src/components/VvInputText/VvInputStepAction.ts +43 -43
  282. package/src/components/VvInputText/VvInputText.vue +653 -516
  283. package/src/components/VvInputText/VvInputTextActions.ts +87 -87
  284. package/src/components/VvInputText/index.ts +201 -186
  285. package/src/components/VvNav/VvNav.vue +40 -36
  286. package/src/components/VvNav/VvNavItem.vue +12 -12
  287. package/src/components/VvNav/VvNavSeparator.vue +6 -6
  288. package/src/components/VvNav/index.ts +2 -2
  289. package/src/components/VvProgress/VvProgress.vue +27 -27
  290. package/src/components/VvProgress/index.ts +28 -28
  291. package/src/components/VvRadio/VvRadio.vue +115 -112
  292. package/src/components/VvRadio/index.ts +29 -29
  293. package/src/components/VvRadioGroup/VvRadioGroup.vue +91 -90
  294. package/src/components/VvSelect/VvSelect.vue +262 -241
  295. package/src/components/VvSelect/index.ts +88 -63
  296. package/src/components/VvTab/VvTab.vue +79 -69
  297. package/src/components/VvTab/index.ts +13 -13
  298. package/src/components/VvTextarea/VvTextarea.vue +218 -219
  299. package/src/components/VvTextarea/index.ts +35 -35
  300. package/src/components/VvTooltip/VvTooltip.vue +22 -16
  301. package/src/components/VvTooltip/index.ts +12 -12
  302. package/src/components/common/HintSlot.ts +151 -152
  303. package/src/components/index.ts +10 -0
  304. package/src/composables/alert/{useInjectAlert.ts → useAlerInject.ts} +1 -1
  305. package/src/composables/alert/useAlert.ts +76 -73
  306. package/src/composables/alert/{useProvideAlert.ts → useAlertProvide.ts} +12 -12
  307. package/src/composables/dropdown/useDropdownContextmenu.ts +22 -0
  308. package/src/composables/dropdown/{useInjectDropdown.ts → useDropdownInject.ts} +6 -6
  309. package/src/composables/dropdown/useDropdownProvide.ts +94 -0
  310. package/src/composables/dropdown/useDropdownVirtualElement.ts +53 -0
  311. package/src/composables/group/useGroupStateInject.ts +55 -0
  312. package/src/composables/group/useGroupStateProvide.ts +14 -0
  313. package/src/composables/index.ts +3 -0
  314. package/src/composables/useBlurhash.ts +68 -0
  315. package/src/composables/useComponentFocus.ts +9 -9
  316. package/src/composables/useComponentIcon.ts +36 -35
  317. package/src/composables/useDebouncedInput.ts +25 -25
  318. package/src/composables/useDefaults.ts +81 -80
  319. package/src/composables/useModifiers.ts +29 -29
  320. package/src/composables/useOptions.ts +51 -42
  321. package/src/composables/usePersistence.ts +74 -0
  322. package/src/composables/useTextCount.ts +46 -46
  323. package/src/composables/useUniqueId.ts +4 -4
  324. package/src/composables/useVolver.ts +1 -1
  325. package/src/constants.ts +98 -83
  326. package/src/directives/index.ts +3 -6
  327. package/src/directives/v-contextmenu.ts +26 -34
  328. package/src/directives/v-tooltip.ts +20 -11
  329. package/src/icons.ts +2 -2
  330. package/src/index.ts +6 -4
  331. package/src/props/index.ts +467 -383
  332. package/src/resolvers/unplugin.ts +154 -144
  333. package/src/shims.d.ts +4 -5
  334. package/src/stories/Accordion/Accordion.settings.ts +51 -50
  335. package/src/stories/Accordion/Accordion.stories.ts +21 -21
  336. package/src/stories/Accordion/Accordion.test.ts +56 -54
  337. package/src/stories/Accordion/AccordionSlots.stories.ts +13 -13
  338. package/src/stories/AccordionGroup/AccordionGroup.settings.ts +70 -67
  339. package/src/stories/AccordionGroup/AccordionGroup.stories.ts +41 -39
  340. package/src/stories/AccordionGroup/AccordionGroup.test.ts +49 -45
  341. package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +36 -36
  342. package/src/stories/Alert/Alert.settings.ts +117 -116
  343. package/src/stories/Alert/Alert.stories.ts +30 -30
  344. package/src/stories/Alert/Alert.test.ts +78 -80
  345. package/src/stories/Alert/AlertModifiers.stories.ts +45 -45
  346. package/src/stories/Alert/AlertSlots.stories.ts +35 -35
  347. package/src/stories/AlertGroup/AlertGroup.settings.ts +107 -105
  348. package/src/stories/AlertGroup/AlertGroup.stories.ts +25 -25
  349. package/src/stories/AlertGroup/AlertGroup.test.ts +69 -71
  350. package/src/stories/AlertGroup/AlertGroupPosition.stories.ts +68 -68
  351. package/src/stories/AlertGroup/AlertGroupSlots.stories.ts +23 -23
  352. package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +58 -58
  353. package/src/stories/Avatar/Avatar.settings.ts +29 -29
  354. package/src/stories/Avatar/Avatar.stories.ts +22 -22
  355. package/src/stories/Avatar/Avatar.test.ts +22 -24
  356. package/src/stories/Avatar/AvatarBadge.stories.ts +15 -15
  357. package/src/stories/Avatar/AvatarModifiers.stories.ts +60 -60
  358. package/src/stories/Avatar/AvatarSlots.stories.ts +17 -17
  359. package/src/stories/AvatarGroup/AvatarGroup.settings.ts +54 -53
  360. package/src/stories/AvatarGroup/AvatarGroup.stories.ts +17 -17
  361. package/src/stories/AvatarGroup/AvatarGroup.test.ts +24 -26
  362. package/src/stories/AvatarGroup/AvatarGroupModifiers.stories.ts +15 -15
  363. package/src/stories/AvatarGroup/AvatarGroupSlotDefault.stories.ts +17 -17
  364. package/src/stories/Badge/Badge.settings.ts +21 -20
  365. package/src/stories/Badge/Badge.stories.ts +24 -24
  366. package/src/stories/Badge/Badge.test.ts +8 -8
  367. package/src/stories/Badge/BadgeSlots.stories.ts +10 -10
  368. package/src/stories/Blurhash/BlurhashComposable.stories.ts +116 -0
  369. package/src/stories/Breadcrumb/Breadcrumb.settings.ts +35 -34
  370. package/src/stories/Breadcrumb/Breadcrumb.stories.ts +23 -23
  371. package/src/stories/Breadcrumb/Breadcrumb.test.ts +44 -43
  372. package/src/stories/Breadcrumb/BreadcrumbSlots.stories.ts +19 -19
  373. package/src/stories/Button/Button.settings.ts +147 -151
  374. package/src/stories/Button/Button.stories.ts +19 -19
  375. package/src/stories/Button/Button.test.ts +41 -42
  376. package/src/stories/Button/ButtonIcon.stories.ts +42 -42
  377. package/src/stories/Button/ButtonLink.stories.ts +24 -24
  378. package/src/stories/Button/ButtonLoading.stories.ts +22 -22
  379. package/src/stories/Button/ButtonModifiers.stories.ts +91 -91
  380. package/src/stories/Button/ButtonSlots.stories.ts +47 -47
  381. package/src/stories/Button/ButtonState.stories.ts +23 -23
  382. package/src/stories/Button/ButtonToggle.stories.ts +30 -30
  383. package/src/stories/ButtonGroup/ButtonGroup.settings.ts +33 -24
  384. package/src/stories/ButtonGroup/ButtonGroup.stories.ts +19 -19
  385. package/src/stories/ButtonGroup/ButtonGroup.test.ts +23 -26
  386. package/src/stories/ButtonGroup/ButtonGroupModifiers.stories.ts +20 -20
  387. package/src/stories/ButtonGroup/ButtonGroupSlots.stories.ts +17 -17
  388. package/src/stories/ButtonGroup/ButtonGroupToggle.stories.ts +22 -22
  389. package/src/stories/Card/Card.settings.ts +49 -48
  390. package/src/stories/Card/Card.stories.ts +22 -22
  391. package/src/stories/Card/Card.test.ts +14 -16
  392. package/src/stories/Card/CardSlots.stories.ts +42 -42
  393. package/src/stories/Checkbox/Checkbox.settings.ts +36 -35
  394. package/src/stories/Checkbox/Checkbox.stories.ts +57 -57
  395. package/src/stories/Checkbox/Checkbox.test.ts +63 -66
  396. package/src/stories/Checkbox/CheckboxBinary.stories.ts +18 -18
  397. package/src/stories/Checkbox/CheckboxSlots.stories.ts +15 -15
  398. package/src/stories/CheckboxGroup/CheckboxGroup.settings.ts +9 -9
  399. package/src/stories/CheckboxGroup/CheckboxGroup.stories.ts +50 -50
  400. package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +64 -68
  401. package/src/stories/CheckboxGroup/CheckboxGroupOptions.stories.ts +34 -34
  402. package/src/stories/CheckboxGroup/CheckboxGroupSlots.stories.ts +23 -23
  403. package/src/stories/Combobox/Combobox.settings.ts +408 -385
  404. package/src/stories/Combobox/Combobox.stories.ts +116 -107
  405. package/src/stories/Combobox/Combobox.test.ts +92 -92
  406. package/src/stories/Combobox/ComboboxIconPosition.stories.ts +25 -24
  407. package/src/stories/Combobox/ComboboxMultiple.stories.ts +32 -22
  408. package/src/stories/Combobox/ComboboxOptions.stories.ts +81 -84
  409. package/src/stories/Combobox/ComboboxSlots.stories.ts +55 -54
  410. package/src/stories/Dialog/Dialog.settings.ts +49 -40
  411. package/src/stories/Dialog/Dialog.stories.ts +28 -28
  412. package/src/stories/Dialog/Dialog.test.ts +49 -54
  413. package/src/stories/Dialog/DialogModifiers.stories.ts +42 -0
  414. package/src/stories/Dialog/DialogSlots.stories.ts +20 -20
  415. package/src/stories/Dropdown/Dropdown.settings.ts +62 -61
  416. package/src/stories/Dropdown/Dropdown.stories.ts +60 -60
  417. package/src/stories/Dropdown/Dropdown.test.ts +9 -13
  418. package/src/stories/Dropdown/DropdownContextmenuDirective.stories.ts +18 -19
  419. package/src/stories/Dropdown/DropdownMultilevel.stories.ts +19 -19
  420. package/src/stories/Dropdown/DropdownSlots.stories.ts +51 -51
  421. package/src/stories/Icon/Icon.settings.ts +66 -65
  422. package/src/stories/Icon/Icon.stories.ts +29 -30
  423. package/src/stories/Icon/IconsCollection.stories.ts +24 -24
  424. package/src/stories/InputFile/InputFile.settings.ts +37 -0
  425. package/src/stories/InputFile/InputFile.stories.ts +97 -0
  426. package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
  427. package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
  428. package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
  429. package/src/stories/InputText/InputText.settings.ts +248 -246
  430. package/src/stories/InputText/InputText.stories.ts +68 -68
  431. package/src/stories/InputText/InputText.test.ts +119 -122
  432. package/src/stories/InputText/InputTextIconPosition.stories.ts +24 -24
  433. package/src/stories/InputText/InputTextLength.stories.ts +33 -33
  434. package/src/stories/InputText/InputTextMask.stories.ts +91 -91
  435. package/src/stories/InputText/InputTextMinMax.stories.ts +30 -30
  436. package/src/stories/InputText/InputTextSlots.stories.ts +20 -20
  437. package/src/stories/InputText/InputTextType.stories.ts +70 -70
  438. package/src/stories/Nav/Nav.settings.ts +27 -27
  439. package/src/stories/Nav/Nav.stories.ts +18 -18
  440. package/src/stories/Nav/Nav.test.ts +10 -12
  441. package/src/stories/Nav/NavModifiers.stories.ts +25 -25
  442. package/src/stories/Progress/Progress.settings.ts +24 -23
  443. package/src/stories/Progress/Progress.stories.ts +23 -23
  444. package/src/stories/Progress/Progress.test.ts +5 -5
  445. package/src/stories/Radio/Radio.settings.ts +9 -9
  446. package/src/stories/Radio/Radio.stories.ts +47 -47
  447. package/src/stories/Radio/Radio.test.ts +54 -57
  448. package/src/stories/Radio/RadioSlots.stories.ts +15 -15
  449. package/src/stories/RadioGroup/RadioGroup.settings.ts +9 -9
  450. package/src/stories/RadioGroup/RadioGroup.stories.ts +51 -52
  451. package/src/stories/RadioGroup/RadioGroup.test.ts +64 -68
  452. package/src/stories/RadioGroup/RadioGroupOptions.stories.ts +35 -35
  453. package/src/stories/RadioGroup/RadioGroupSlots.stories.ts +23 -23
  454. package/src/stories/Select/Select.settings.ts +72 -71
  455. package/src/stories/Select/Select.stories.ts +75 -66
  456. package/src/stories/Select/Select.test.ts +67 -70
  457. package/src/stories/Select/SelectIconPosition.stories.ts +27 -26
  458. package/src/stories/Select/SelectOptions.stories.ts +55 -55
  459. package/src/stories/Select/SelectSlots.stories.ts +21 -20
  460. package/src/stories/Tab/Tab.settings.ts +34 -34
  461. package/src/stories/Tab/Tab.stories.ts +16 -16
  462. package/src/stories/Tab/Tab.test.ts +17 -19
  463. package/src/stories/Textarea/Textarea.settings.ts +80 -78
  464. package/src/stories/Textarea/Textarea.stories.ts +63 -63
  465. package/src/stories/Textarea/Textarea.test.ts +70 -73
  466. package/src/stories/Textarea/TextareaLength.stories.ts +33 -33
  467. package/src/stories/Textarea/TextareaSlots.stories.ts +20 -20
  468. package/src/stories/Textarea/TextareatIconPosition.stories.ts +24 -24
  469. package/src/stories/Tooltip/Tooltip.settings.ts +16 -17
  470. package/src/stories/Tooltip/Tooltip.stories.ts +18 -18
  471. package/src/stories/Tooltip/Tooltip.test.ts +53 -54
  472. package/src/stories/Tooltip/TooltipDirective.stories.ts +37 -37
  473. package/src/stories/argTypes.ts +506 -505
  474. package/src/test/expect.ts +74 -79
  475. package/src/test/options.ts +17 -16
  476. package/src/test/sleep.ts +3 -2
  477. package/src/test/types.d.ts +12 -12
  478. package/src/types/alert.ts +21 -17
  479. package/src/types/blurhash.ts +21 -0
  480. package/src/types/floating-ui.ts +1 -1
  481. package/src/types/generic.ts +2 -3
  482. package/src/types/group.ts +35 -27
  483. package/src/types/index.ts +7 -0
  484. package/src/types/input-file.ts +10 -0
  485. package/src/types/nav.ts +13 -14
  486. package/src/utils/DomUtilities.ts +15 -0
  487. package/src/utils/ObjectUtilities.ts +192 -188
  488. package/src/workers/blurhash.ts +9 -0
  489. package/dist/composables/alert/useInjectAlert.d.ts +0 -9
  490. package/dist/composables/dropdown/useInjectDropdown.d.ts +0 -32
  491. package/dist/composables/group/useInjectedGroupState.d.ts +0 -10
  492. package/dist/composables/group/useProvideGroupState.d.ts +0 -6
  493. package/src/composables/dropdown/useProvideDropdown.ts +0 -94
  494. package/src/composables/group/useInjectedGroupState.ts +0 -51
  495. package/src/composables/group/useProvideGroupState.ts +0 -20
  496. /package/src/assets/icons/normal/{dulicate.svg → duplicate.svg} +0 -0
@@ -7,12 +7,12 @@ import type { Ref } from 'vue'
7
7
  * @param {string} field optional field of obj1 and obj2 (also nested dotted field "prop1.prop12")
8
8
  * @returns {boolean}
9
9
  */
10
- // eslint-disable-next-line
10
+
11
11
  export function equals(obj1: any, obj2: any, field?: string) {
12
- if (field) {
13
- return resolveFieldData(obj1, field) === resolveFieldData(obj2, field)
14
- }
15
- return deepEquals(obj1, obj2)
12
+ if (field) {
13
+ return resolveFieldData(obj1, field) === resolveFieldData(obj2, field)
14
+ }
15
+ return deepEquals(obj1, obj2)
16
16
  }
17
17
 
18
18
  /**
@@ -21,94 +21,108 @@ export function equals(obj1: any, obj2: any, field?: string) {
21
21
  * @param {any} b second literal
22
22
  * @returns {boolean}
23
23
  */
24
- // eslint-disable-next-line
25
- export function deepEquals(a: any, b: any) {
26
- if (a === b) return true
27
-
28
- if (a && b && typeof a == 'object' && typeof b == 'object') {
29
- const arrA = Array.isArray(a)
30
- const arrB = Array.isArray(b)
31
- let i, length, key
32
-
33
- if (arrA && arrB) {
34
- length = a.length
35
- if (length != b.length) return false
36
- for (i = length; i-- !== 0; )
37
- if (!deepEquals(a[i], b[i])) return false
38
-
39
- return true
40
- }
41
-
42
- if (arrA != arrB) return false
43
-
44
- const dateA = a instanceof Date,
45
- dateB = b instanceof Date
46
-
47
- if (dateA != dateB) return false
48
- if (dateA && dateB) return a.getTime() == b.getTime()
49
-
50
- const regexpA = a instanceof RegExp,
51
- regexpB = b instanceof RegExp
52
-
53
- if (regexpA != regexpB) return false
54
- if (regexpA && regexpB) return a.toString() == b.toString()
55
-
56
- const keys = Object.keys(a)
57
-
58
- length = keys.length
59
24
 
60
- if (length !== Object.keys(b).length) return false
61
-
62
- for (i = length; i-- !== 0; )
63
- if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false
64
-
65
- for (i = length; i-- !== 0; ) {
66
- key = keys[i]
67
- if (!deepEquals(a[key], b[key])) return false
68
- }
69
-
70
- return true
71
- }
72
-
73
- return a !== a && b !== b
25
+ export function deepEquals(a: any, b: any) {
26
+ if (a === b)
27
+ return true
28
+
29
+ if (a && b && typeof a == 'object' && typeof b == 'object') {
30
+ const arrA = Array.isArray(a)
31
+ const arrB = Array.isArray(b)
32
+ let i, length, key
33
+
34
+ if (arrA && arrB) {
35
+ length = a.length
36
+ if (length !== b.length)
37
+ return false
38
+ for (i = length; i-- !== 0;) {
39
+ if (!deepEquals(a[i], b[i]))
40
+ return false
41
+ }
42
+
43
+ return true
44
+ }
45
+
46
+ if (arrA !== arrB)
47
+ return false
48
+
49
+ const dateA = a instanceof Date
50
+ const dateB = b instanceof Date
51
+
52
+ if (dateA !== dateB)
53
+ return false
54
+ if (dateA && dateB)
55
+ return a.getTime() === b.getTime()
56
+
57
+ const regexpA = a instanceof RegExp
58
+ const regexpB = b instanceof RegExp
59
+
60
+ if (regexpA !== regexpB)
61
+ return false
62
+ if (regexpA && regexpB)
63
+ return a.toString() === b.toString()
64
+
65
+ const keys = Object.keys(a)
66
+
67
+ length = keys.length
68
+
69
+ if (length !== Object.keys(b).length)
70
+ return false
71
+
72
+ for (i = length; i-- !== 0;) {
73
+ if (!Object.prototype.hasOwnProperty.call(b, keys[i]))
74
+ return false
75
+ }
76
+
77
+ for (i = length; i-- !== 0;) {
78
+ key = keys[i]
79
+ if (!deepEquals(a[key], b[key]))
80
+ return false
81
+ }
82
+
83
+ return true
84
+ }
85
+ return Number.isNaN(a) && Number.isNaN(b)
74
86
  }
75
87
 
76
88
  /**
77
89
  * Find and return field or nested field from object (also nested dotted field)
78
90
  * @param {object} data object that contains the field
79
91
  * @param {string} field ex: "prop1" or "prop1.prop12"
80
- * @returns {boolean}
92
+ * @returns {boolean} the field value
81
93
  */
82
94
  export function resolveFieldData(data: Record<string, unknown>, field: string) {
83
- if (data && Object.keys(data).length && field) {
84
- if (field.indexOf('.') === -1) {
85
- return data[field]
86
- } else {
87
- const fields = field.split('.')
88
- let value = data
89
-
90
- for (let i = 0, len = fields.length; i < len; ++i) {
91
- if (data == null) {
92
- return null
93
- }
94
-
95
- value = value[fields[i]] as Record<string, unknown>
96
- }
97
-
98
- return value
99
- }
100
- } else {
101
- return null
102
- }
95
+ if (data && Object.keys(data).length && field) {
96
+ if (!field.includes('.')) {
97
+ return data[field]
98
+ }
99
+ else {
100
+ const fields = field.split('.')
101
+ let value = data
102
+
103
+ for (let i = 0, len = fields.length; i < len; ++i) {
104
+ if (data == null) {
105
+ return null
106
+ }
107
+
108
+ value = value[fields[i]] as Record<string, unknown>
109
+ }
110
+
111
+ return value
112
+ }
113
+ }
114
+ else {
115
+ return null
116
+ }
103
117
  }
104
118
 
105
119
  /**
106
120
  * @param {any} obj data to check
107
121
  * @returns {boolean}
108
122
  */
109
- // eslint-disable-next-line
123
+
110
124
  export function isFunction(obj: any) {
111
- return !!(obj && obj.constructor && obj.call && obj.apply)
125
+ return !!(obj && obj.constructor && obj.call && obj.apply)
112
126
  }
113
127
 
114
128
  /**
@@ -118,18 +132,18 @@ export function isFunction(obj: any) {
118
132
  * @returns {number} the index
119
133
  */
120
134
  export function findIndexInList<Type = unknown>(value: Type, list: Type[]) {
121
- let index = -1
122
-
123
- if (list) {
124
- for (let i = 0; i < list.length; i++) {
125
- if (equals(list[i], value)) {
126
- index = i
127
- break
128
- }
129
- }
130
- }
131
-
132
- return index
135
+ let index = -1
136
+
137
+ if (list) {
138
+ for (let i = 0; i < list.length; i++) {
139
+ if (equals(list[i], value)) {
140
+ index = i
141
+ break
142
+ }
143
+ }
144
+ }
145
+
146
+ return index
133
147
  }
134
148
 
135
149
  /**
@@ -139,120 +153,121 @@ export function findIndexInList<Type = unknown>(value: Type, list: Type[]) {
139
153
  * @returns {boolean} the index
140
154
  */
141
155
  export function contains<Type = unknown>(value: Type, list: Type[]) {
142
- if (value != null && list && list.length) {
143
- for (const val of list) {
144
- if (equals(value, val)) {
145
- return true
146
- }
147
- }
148
- }
149
- return false
156
+ if (value != null && list && list.length) {
157
+ for (const val of list) {
158
+ if (equals(value, val)) {
159
+ return true
160
+ }
161
+ }
162
+ }
163
+ return false
150
164
  }
151
165
 
152
166
  /**
153
167
  * @param {boolean | string | null | undefined | number | Array<unknown> | object} value element to checj
154
- * @returns {boolean}
168
+ * @returns {boolean} true if value is empty
155
169
  */
156
170
  export function isEmpty(
157
- value:
158
- | boolean
159
- | string
160
- | null
161
- | undefined
162
- | number
163
- | unknown[]
164
- | object
165
- | Ref,
171
+ value:
172
+ | boolean
173
+ | string
174
+ | null
175
+ | undefined
176
+ | number
177
+ | unknown[]
178
+ | object
179
+ | Ref,
166
180
  ) {
167
- return ((value) =>
168
- value === null ||
169
- value === undefined ||
170
- value === '' ||
171
- (Array.isArray(value) && value.length === 0) ||
172
- (!(value instanceof Date) &&
173
- typeof value === 'object' &&
174
- Object.keys(value).length === 0))(unref(value))
181
+ return (value =>
182
+ value === null
183
+ || value === undefined
184
+ || value === ''
185
+ || (Array.isArray(value) && value.length === 0)
186
+ || (!(value instanceof Date)
187
+ && typeof value === 'object'
188
+ && Object.keys(value).length === 0))(unref(value))
175
189
  }
176
190
 
177
191
  /**
178
192
  * Return the object entries that match the predicate passed
179
- * @param {Object} value
193
+ * @param {object} value
180
194
  * @param {Function} predicate
181
- * @returns {Object}
195
+ * @returns {object} the object entries
182
196
  */
183
197
  export function pickBy(
184
- value: Record<string, unknown>,
185
- predicate: (k: string) => boolean,
198
+ value: Record<string, unknown>,
199
+ predicate: (k: string) => boolean,
186
200
  ) {
187
- return Object.fromEntries(
188
- Object.entries(value).filter(([key]) => predicate(key)),
189
- )
201
+ return Object.fromEntries(
202
+ Object.entries(value).filter(([key]) => predicate(key)),
203
+ )
190
204
  }
191
205
 
192
206
  /**
193
207
  * Remove a value from an Array
194
208
  * @param {any} value the element to remove
195
209
  * @param {Array<any>} list
196
- * @returns {Array<any>}
210
+ * @returns {Array<any>} the list without the value
197
211
  */
198
212
  export function removeFromList<Type = unknown>(value: Type, list: Type[]) {
199
- //check off
200
- const indexElToRemove = findIndexInList(value, list)
201
- if (indexElToRemove > -1) {
202
- return list.filter((el, elIndex) => elIndex !== indexElToRemove)
203
- } else {
204
- return list
205
- }
213
+ // check off
214
+ const indexElToRemove = findIndexInList(value, list)
215
+ if (indexElToRemove > -1) {
216
+ return list.filter((el, elIndex) => elIndex !== indexElToRemove)
217
+ }
218
+ else {
219
+ return list
220
+ }
206
221
  }
207
222
 
208
223
  /**
209
224
  * @param {any} value
210
- * @returns {boolean}
225
+ * @returns {boolean} true if value is a string
211
226
  */
212
227
  export function isString(value: unknown) {
213
- return typeof value === 'string' || value instanceof String
228
+ return typeof value === 'string' || value instanceof String
214
229
  }
215
230
 
216
231
  /**
217
232
  * Convert props definition to object with "prop" as key and default as value
218
233
  * @param {ComponentObjectPropsOptions} props vue component props
219
- * @returns {Object}
234
+ * @returns {object}
220
235
  */
221
- // eslint-disable-next-line
236
+
222
237
  export function propsToObject(props: any) {
223
- return Object.keys(props).reduce(
224
- (accumulator: Record<string, unknown>, key: string) => {
225
- if (key === 'modelValue') {
226
- return accumulator
227
- }
228
- if ('default' in props[key]) {
229
- accumulator[key] =
230
- typeof props[key].default === 'function'
231
- ? props[key].default()
232
- : props[key].default
233
- return accumulator
234
- }
235
- if (isFunction(props[key])) {
236
- // case prop1: String
237
- accumulator[key] = props[key]()
238
- return accumulator
239
- }
240
- if (Array.isArray(props[key])) {
241
- // case prop1: [ String, Array ]
242
- accumulator[key] = props[key][0]()
243
- return accumulator
244
- }
245
- // case prop1: { type: ... }
246
- if (Array.isArray(props[key].type)) {
247
- accumulator[key] = props[key]?.type[0]()
248
- return accumulator
249
- }
250
- // case prop1: { type: String }
251
- accumulator[key] = props[key]?.type()
252
- return accumulator
253
- },
254
- {} as Record<string, unknown>,
255
- )
238
+ return Object.keys(props).reduce(
239
+ (accumulator: Record<string, unknown>, key: string) => {
240
+ if (key === 'modelValue') {
241
+ return accumulator
242
+ }
243
+ if ('default' in props[key]) {
244
+ accumulator[key]
245
+ = typeof props[key].default === 'function'
246
+ ? props[key].default()
247
+ : props[key].default
248
+ return accumulator
249
+ }
250
+ if (isFunction(props[key])) {
251
+ // case prop1: String
252
+ accumulator[key] = props[key]()
253
+ return accumulator
254
+ }
255
+ if (Array.isArray(props[key])) {
256
+ // case prop1: [ String, Array ]
257
+ accumulator[key] = props[key][0]()
258
+ return accumulator
259
+ }
260
+ // case prop1: { type: ... }
261
+ if (Array.isArray(props[key].type)) {
262
+ accumulator[key] = props[key]?.type[0]()
263
+ return accumulator
264
+ }
265
+ // case prop1: { type: String }
266
+ accumulator[key] = props[key]?.type()
267
+ return accumulator
268
+ },
269
+ {} as Record<string, unknown>,
270
+ )
256
271
  }
257
272
 
258
273
  /**
@@ -263,26 +278,15 @@ export function propsToObject(props: any) {
263
278
  * @return {object[]}
264
279
  */
265
280
  export function filterArray<T = Record<string, unknown>>(
266
- list: T[],
267
- filter: T[] | string[],
268
- key: string,
281
+ list: T[],
282
+ filter: T[] | string[],
283
+ key: string,
269
284
  ): T[] {
270
- return list.filter((el) => {
271
- return filter.some((f) => {
272
- return typeof f === 'string'
273
- ? el[key as keyof typeof el] == f
274
- : equals(el[key as keyof typeof el], f[key as keyof typeof f])
275
- })
276
- })
277
- }
278
-
279
- export function kebabCase(value: string) {
280
- if (value) {
281
- return value
282
- .match(
283
- /[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g,
284
- )
285
- ?.join('-')
286
- ?.toLowerCase()
287
- }
285
+ return list.filter((el) => {
286
+ return filter.some((f) => {
287
+ return typeof f === 'string'
288
+ ? el[key as keyof typeof el] === f
289
+ : equals(el[key as keyof typeof el], f[key as keyof typeof f])
290
+ })
291
+ })
288
292
  }
@@ -0,0 +1,9 @@
1
+ import { decode, encode, isBlurhashValid, ValidationError } from 'blurhash'
2
+ import { expose } from 'comlink'
3
+
4
+ expose({
5
+ ValidationError,
6
+ encode,
7
+ decode,
8
+ isBlurhashValid,
9
+ })
@@ -1,9 +0,0 @@
1
- /**
2
- * Injects alert group name
3
- */
4
- export declare function useInjectedAlertGroup(): {
5
- name?: globalThis.Ref<string | undefined> | undefined;
6
- bus?: import("mitt").Emitter<{
7
- close: string;
8
- }> | undefined;
9
- };
@@ -1,32 +0,0 @@
1
- /**
2
- * Injects dropdown reference and the event bus
3
- */
4
- export declare function useInjectedDropdownTrigger(): {
5
- id?: globalThis.Ref<string | number> | undefined;
6
- reference?: globalThis.Ref<HTMLElement | null> | undefined;
7
- bus?: import("mitt").Emitter<{
8
- click: Event;
9
- mouseover: Event;
10
- mouseleave: Event;
11
- }> | undefined;
12
- expanded?: globalThis.Ref<boolean> | undefined;
13
- aria?: globalThis.Ref<{
14
- 'aria-controls': string;
15
- 'aria-haspopup': boolean;
16
- 'aria-expanded': boolean;
17
- }> | undefined;
18
- };
19
- /**
20
- * Injects dropdown item role
21
- */
22
- export declare function useInjectedDropdownItem(): {
23
- role?: globalThis.Ref<"option" | "presentation"> | undefined;
24
- expanded?: globalThis.Ref<boolean> | undefined;
25
- };
26
- /**
27
- * Injects dropdown action role
28
- */
29
- export declare function useInjectedDropdownAction(): {
30
- role?: globalThis.Ref<"button" | "link" | "menuitem"> | undefined;
31
- expanded?: globalThis.Ref<boolean> | undefined;
32
- };
@@ -1,10 +0,0 @@
1
- import type { Ref } from 'vue';
2
- import type GroupState from '../../types/group';
3
- /**
4
- * Injects a group state
5
- */
6
- export declare function useInjectedGroupState<GroupStateType extends GroupState>(groupKey: string | symbol): {
7
- group: Ref<GroupStateType> | undefined;
8
- isInGroup: globalThis.ComputedRef<boolean>;
9
- getGroupOrLocalRef: <PropsType extends object>(propName: keyof GroupStateType, props: PropsType, emit?: ((event: string, ...args: unknown[]) => void) | undefined) => globalThis.WritableComputedRef<any>;
10
- };
@@ -1,6 +0,0 @@
1
- import type GroupState from '../../types/group';
2
- /**
3
- * Share part of the state of the component with all its children.
4
- * @param {IGroupState} groupState the group state with all group options
5
- */
6
- export declare function useProvideGroupState<GroupStateType extends GroupState>(groupState: GroupStateType): void;
@@ -1,94 +0,0 @@
1
- import { type Ref, Fragment } from 'vue'
2
- import mitt from 'mitt'
3
- import {
4
- INJECTION_KEY_DROPDOWN_TRIGGER,
5
- INJECTION_KEY_DROPDOWN_ACTION,
6
- INJECTION_KEY_DROPDOWN_ITEM,
7
- DropdownRole,
8
- DropdownItemRole,
9
- ActionRoles,
10
- } from '../../constants'
11
-
12
- /**
13
- * Share the dropdown reference and the event bus with all its children.
14
- * @param {Ref<HTMLElement | null>} reference the dropdown reference
15
- */
16
- export function useProvideDropdownTrigger({
17
- reference,
18
- id,
19
- expanded,
20
- aria,
21
- }: {
22
- reference: Ref<HTMLElement | null>
23
- id: Ref<string | number>
24
- expanded: Ref<boolean>
25
- aria: Ref<{
26
- 'aria-controls': string
27
- 'aria-haspopup': boolean
28
- 'aria-expanded': boolean
29
- }>
30
- }) {
31
- const bus = mitt<{
32
- click: Event
33
- mouseover: Event
34
- mouseleave: Event
35
- }>()
36
- const component = defineComponent({
37
- name: 'VvDropdownTriggerProvider',
38
- setup() {
39
- provide(INJECTION_KEY_DROPDOWN_TRIGGER, {
40
- reference,
41
- id,
42
- expanded,
43
- aria,
44
- bus,
45
- })
46
- },
47
- render() {
48
- return h(Fragment, {}, this.$slots.default?.())
49
- },
50
- })
51
-
52
- return {
53
- bus,
54
- component,
55
- }
56
- }
57
-
58
- /**
59
- * Share the dropdown item role with all its children.
60
- * @param {Ref<string>} role the dropdown item role
61
- */
62
- export function useProvideDropdownItem({
63
- role,
64
- expanded,
65
- }: {
66
- role: Ref<`${DropdownRole}`>
67
- expanded: Ref<boolean>
68
- }) {
69
- const itemRole = computed(() =>
70
- role.value === DropdownRole.listbox
71
- ? DropdownItemRole.option
72
- : DropdownItemRole.presentation,
73
- )
74
- provide(INJECTION_KEY_DROPDOWN_ITEM, {
75
- role: itemRole,
76
- expanded,
77
- })
78
- return { itemRole }
79
- }
80
-
81
- /**
82
- * Share the dropdown item role with all its children.
83
- * @param {Ref<string>} role the dropdown item role
84
- */
85
- export function useProvideDropdownAction({
86
- expanded,
87
- }: {
88
- expanded?: Ref<boolean>
89
- }) {
90
- provide(INJECTION_KEY_DROPDOWN_ACTION, {
91
- role: ref(ActionRoles.menuitem),
92
- expanded,
93
- })
94
- }
@@ -1,51 +0,0 @@
1
- import type { Ref } from 'vue'
2
- import type GroupState from '../../types/group'
3
-
4
- /**
5
- * Injects a group state
6
- */
7
- export function useInjectedGroupState<GroupStateType extends GroupState>(
8
- groupKey: string | symbol,
9
- ) {
10
- // Get group state
11
- const group = inject<Ref<GroupStateType> | undefined>(groupKey, undefined)
12
-
13
- // Check if component is in group
14
- const isInGroup = computed(() => !isEmpty(group))
15
-
16
- /**
17
- * Get a group or local property
18
- */
19
- function getGroupOrLocalRef<PropsType extends object>(
20
- propName: keyof GroupStateType,
21
- props: PropsType,
22
- emit?: (event: string, ...args: unknown[]) => void,
23
- ) {
24
- if (group?.value) {
25
- const groupPropValue = unref(group.value)[propName] as Ref<unknown>
26
- return computed({
27
- get() {
28
- return groupPropValue?.value
29
- },
30
- set(value: unknown) {
31
- groupPropValue.value = value
32
- },
33
- })
34
- }
35
- const propRef = toRef(props, propName as keyof PropsType)
36
- return computed({
37
- get() {
38
- return propRef.value
39
- },
40
- set(value: unknown) {
41
- if (emit) emit(`update:${propName as string}`, value)
42
- },
43
- })
44
- }
45
-
46
- return {
47
- group,
48
- isInGroup,
49
- getGroupOrLocalRef,
50
- }
51
- }