@volverjs/ui-vue 0.0.10-beta.3 → 0.0.10-beta.31
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.
- package/LICENSE +1 -1
- package/README.md +106 -10
- package/auto-imports.d.ts +7 -2
- package/bin/icons.cjs +1 -1
- package/bin/icons.js +22 -15
- package/dist/Volver.d.ts +1 -1
- package/dist/components/VvAccordion/VvAccordion.es.js +192 -103
- package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
- package/dist/components/VvAccordion/VvAccordion.vue.d.ts +160 -8
- package/dist/components/VvAccordion/index.d.ts +8 -9
- package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +451 -172
- package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
- package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +58 -13
- package/dist/components/VvAccordionGroup/index.d.ts +14 -6
- package/dist/components/VvAction/VvAction.es.js +78 -27
- package/dist/components/VvAction/VvAction.umd.js +1 -1
- package/dist/components/VvAction/VvAction.vue.d.ts +57 -22
- package/dist/components/VvAction/index.d.ts +25 -9
- package/dist/components/VvAlert/VvAlert.es.js +204 -171
- package/dist/components/VvAlert/VvAlert.umd.js +1 -1
- package/dist/components/VvAlert/VvAlert.vue.d.ts +24 -14
- package/dist/components/VvAlert/index.d.ts +17 -9
- package/dist/components/VvAlertGroup/VvAlertGroup.es.js +250 -188
- package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
- package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +16 -9
- package/dist/components/VvAlertGroup/index.d.ts +6 -14
- package/dist/components/VvAvatar/VvAvatar.es.js +61 -21
- package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
- package/dist/components/VvAvatar/VvAvatar.vue.d.ts +12 -4
- package/dist/components/VvAvatar/index.d.ts +4 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +118 -48
- package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
- package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +10 -3
- package/dist/components/VvAvatarGroup/index.d.ts +4 -1
- package/dist/components/VvBadge/VvBadge.es.js +78 -28
- package/dist/components/VvBadge/VvBadge.umd.js +1 -1
- package/dist/components/VvBadge/VvBadge.vue.d.ts +12 -4
- package/dist/components/VvBadge/index.d.ts +4 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +276 -60
- package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
- package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +27 -7
- package/dist/components/VvBreadcrumb/index.d.ts +6 -10
- package/dist/components/VvButton/VvButton.es.js +291 -252
- package/dist/components/VvButton/VvButton.umd.js +1 -1
- package/dist/components/VvButton/VvButton.vue.d.ts +94 -40
- package/dist/components/VvButton/index.d.ts +51 -29
- package/dist/components/VvButtonGroup/VvButtonGroup.es.js +81 -40
- package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
- package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +24 -11
- package/dist/components/VvButtonGroup/index.d.ts +8 -2
- package/dist/components/VvCard/VvCard.es.js +86 -36
- package/dist/components/VvCard/VvCard.umd.js +1 -1
- package/dist/components/VvCard/VvCard.vue.d.ts +12 -4
- package/dist/components/VvCard/index.d.ts +4 -1
- package/dist/components/VvCheckbox/VvCheckbox.es.js +177 -120
- package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
- package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +105 -33
- package/dist/components/VvCheckbox/index.d.ts +47 -14
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +190 -107
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
- package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +101 -30
- package/dist/components/VvCheckboxGroup/index.d.ts +45 -12
- package/dist/components/VvCombobox/VvCombobox.es.js +806 -581
- package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
- package/dist/components/VvCombobox/VvCombobox.vue.d.ts +171 -104
- package/dist/components/VvCombobox/index.d.ts +62 -26
- package/dist/components/VvDialog/VvDialog.es.js +140 -153
- package/dist/components/VvDialog/VvDialog.umd.js +1 -1
- package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -4
- package/dist/components/VvDropdown/VvDropdown.es.js +138 -71
- package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
- package/dist/components/VvDropdown/VvDropdown.vue.d.ts +101 -75
- package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +66 -25
- package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +13 -1
- package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +12 -4
- package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +35 -7
- package/dist/components/VvDropdown/index.d.ts +52 -10
- package/dist/components/VvDropdownAction/VvDropdownAction.es.js +152 -39
- package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
- package/dist/components/VvDropdownItem/VvDropdownItem.es.js +335 -8
- package/dist/components/VvDropdownItem/VvDropdownItem.umd.js +1 -1
- package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +63 -20
- package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
- package/dist/components/VvDropdownOption/VvDropdownOption.es.js +188 -80
- package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.es.js +23 -96
- package/dist/components/VvIcon/VvIcon.umd.js +1 -1
- package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -66
- package/dist/components/VvIcon/index.d.ts +33 -48
- package/dist/components/VvInputFile/VvInputFile.es.js +1777 -0
- package/dist/components/VvInputFile/VvInputFile.umd.js +1 -0
- package/dist/components/VvInputFile/VvInputFile.vue.d.ts +359 -0
- package/dist/components/VvInputFile/index.d.ts +200 -0
- package/dist/components/VvInputText/VvInputClearAction.d.ts +7 -5
- package/dist/components/VvInputText/VvInputPasswordAction.d.ts +10 -8
- package/dist/components/VvInputText/VvInputStepAction.d.ts +2 -2
- package/dist/components/VvInputText/VvInputText.es.js +1237 -324
- package/dist/components/VvInputText/VvInputText.umd.js +1 -1
- package/dist/components/VvInputText/VvInputText.vue.d.ts +207 -57
- package/dist/components/VvInputText/index.d.ts +99 -29
- package/dist/components/VvNav/VvNav.es.js +135 -56
- package/dist/components/VvNav/VvNav.umd.js +1 -1
- package/dist/components/VvNav/VvNav.vue.d.ts +32 -9
- package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
- package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
- package/dist/components/VvNav/index.d.ts +5 -2
- package/dist/components/VvNavItem/VvNavItem.es.js +91 -33
- package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.es.js +72 -26
- package/dist/components/VvProgress/VvProgress.umd.js +1 -1
- package/dist/components/VvProgress/VvProgress.vue.d.ts +10 -3
- package/dist/components/VvProgress/index.d.ts +4 -1
- package/dist/components/VvRadio/VvRadio.es.js +160 -103
- package/dist/components/VvRadio/VvRadio.umd.js +1 -1
- package/dist/components/VvRadio/VvRadio.vue.d.ts +103 -31
- package/dist/components/VvRadio/index.d.ts +50 -17
- package/dist/components/VvRadioGroup/VvRadioGroup.es.js +190 -107
- package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
- package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +101 -30
- package/dist/components/VvRadioGroup/index.d.ts +45 -12
- package/dist/components/VvSelect/VvSelect.es.js +251 -238
- package/dist/components/VvSelect/VvSelect.umd.js +1 -1
- package/dist/components/VvSelect/VvSelect.vue.d.ts +117 -44
- package/dist/components/VvSelect/index.d.ts +48 -14
- package/dist/components/VvTab/VvTab.es.js +191 -75
- package/dist/components/VvTab/VvTab.umd.js +1 -1
- package/dist/components/VvTab/VvTab.vue.d.ts +31 -7
- package/dist/components/VvTab/index.d.ts +4 -1
- package/dist/components/VvTextarea/VvTextarea.es.js +232 -224
- package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
- package/dist/components/VvTextarea/VvTextarea.vue.d.ts +156 -49
- package/dist/components/VvTextarea/index.d.ts +68 -19
- package/dist/components/VvTooltip/VvTooltip.es.js +79 -29
- package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
- package/dist/components/VvTooltip/VvTooltip.vue.d.ts +13 -6
- package/dist/components/VvTooltip/index.d.ts +5 -2
- package/dist/components/common/HintSlot.d.ts +1 -1
- package/dist/components/index.d.ts +10 -0
- package/dist/components/index.es.js +3534 -1650
- package/dist/components/index.umd.js +1 -1
- package/dist/composables/alert/useAlert.d.ts +99 -4
- package/dist/composables/alert/useInjectAlert.d.ts +1 -6
- package/dist/composables/dropdown/useInjectDropdown.d.ts +3 -23
- package/dist/composables/dropdown/useProvideDropdown.d.ts +3 -4
- package/dist/composables/group/useInjectedGroupState.d.ts +4 -5
- package/dist/composables/group/useProvideGroupState.d.ts +3 -3
- package/dist/composables/index.d.ts +1 -0
- package/dist/composables/index.es.js +92 -3
- package/dist/composables/index.umd.js +1 -1
- package/dist/composables/useBlurhash.d.ts +7 -0
- package/dist/composables/useComponentIcon.d.ts +9 -8
- package/dist/composables/usePersistence.d.ts +2 -0
- package/dist/composables/useVolver.d.ts +1 -1
- package/dist/constants.d.ts +34 -32
- package/dist/directives/index.d.ts +3 -5
- package/dist/directives/index.es.js +99 -43
- package/dist/directives/index.umd.js +1 -1
- package/dist/directives/v-tooltip.es.js +97 -38
- package/dist/directives/v-tooltip.umd.js +1 -1
- package/dist/icons.es.js +267 -267
- package/dist/icons.umd.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.es.js +90 -16
- package/dist/index.umd.js +1 -1
- package/dist/props/index.d.ts +272 -81
- package/dist/resolvers/unplugin.d.ts +6 -1
- package/dist/resolvers/unplugin.es.js +87 -10
- package/dist/resolvers/unplugin.umd.js +1 -1
- package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +143 -89
- package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +1075 -492
- package/dist/stories/AlertGroup/AlertGroupWithComposable.stories.d.ts +1 -1
- package/dist/stories/Blurhash/BlurhashComposable.stories.d.ts +4 -0
- package/dist/stories/Button/Button.settings.d.ts +0 -1
- package/dist/stories/Combobox/Combobox.settings.d.ts +8 -0
- package/dist/stories/Icon/Icon.settings.d.ts +1 -0
- package/dist/stories/InputFile/InputFile.settings.d.ts +56 -0
- package/dist/stories/InputFile/InputFile.stories.d.ts +12 -0
- package/dist/stories/InputFile/InputFileDropArea.stories.d.ts +9 -0
- package/dist/stories/InputFile/InputFileIconPosition.stories.d.ts +8 -0
- package/dist/stories/InputFile/InputFileSlots.stories.d.ts +7 -0
- package/dist/stories/Tab/Tab.settings.d.ts +2 -15
- package/dist/test/expect.d.ts +1 -1
- package/dist/types/alert.d.ts +9 -7
- package/dist/types/blurhash.d.ts +12 -0
- package/dist/types/generic.d.ts +1 -2
- package/dist/types/group.d.ts +37 -15
- package/dist/types/index.d.ts +7 -0
- package/dist/types/input-file.d.ts +16 -0
- package/dist/types/nav.d.ts +2 -2
- package/dist/utils/ObjectUtilities.d.ts +0 -1
- package/dist/workers/blurhash.d.ts +1 -0
- package/package.json +78 -78
- package/src/Volver.ts +31 -20
- package/src/assets/icons/detailed.json +1 -1
- package/src/assets/icons/normal.json +1 -1
- package/src/assets/icons/simple.json +1 -1
- package/src/components/VvAccordion/VvAccordion.vue +121 -58
- package/src/components/VvAccordion/index.ts +8 -23
- package/src/components/VvAccordionGroup/VvAccordionGroup.vue +164 -47
- package/src/components/VvAccordionGroup/index.ts +6 -6
- package/src/components/VvAction/VvAction.vue +17 -5
- package/src/components/VvAlert/index.ts +14 -9
- package/src/components/VvAlertGroup/index.ts +3 -15
- package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
- package/src/components/VvBreadcrumb/index.ts +2 -8
- package/src/components/VvButton/VvButton.vue +17 -7
- package/src/components/VvButton/index.ts +9 -16
- package/src/components/VvButtonGroup/VvButtonGroup.vue +1 -2
- package/src/components/VvCheckbox/index.ts +2 -2
- package/src/components/VvCheckboxGroup/VvCheckboxGroup.vue +1 -2
- package/src/components/VvCombobox/VvCombobox.vue +15 -12
- package/src/components/VvCombobox/index.ts +4 -0
- package/src/components/VvDropdown/VvDropdown.vue +11 -2
- package/src/components/VvDropdown/VvDropdownItem.vue +4 -1
- package/src/components/VvDropdown/VvDropdownOption.vue +4 -21
- package/src/components/VvDropdown/index.ts +35 -1
- package/src/components/VvIcon/VvIcon.vue +2 -2
- package/src/components/VvIcon/index.ts +35 -48
- package/src/components/VvInputFile/VvInputFile.vue +395 -0
- package/src/components/VvInputFile/index.ts +135 -0
- package/src/components/VvInputText/VvInputClearAction.ts +10 -6
- package/src/components/VvInputText/VvInputPasswordAction.ts +13 -9
- package/src/components/VvInputText/VvInputText.vue +141 -33
- package/src/components/VvInputText/index.ts +31 -16
- package/src/components/VvNav/VvNav.vue +4 -2
- package/src/components/VvRadio/index.ts +5 -5
- package/src/components/VvRadioGroup/VvRadioGroup.vue +1 -2
- package/src/components/VvSelect/VvSelect.vue +5 -8
- package/src/components/VvTab/VvTab.vue +5 -1
- package/src/components/VvTextarea/VvTextarea.vue +6 -9
- package/src/components/index.ts +10 -0
- package/src/composables/alert/useAlert.ts +12 -9
- package/src/composables/dropdown/useProvideDropdown.ts +4 -4
- package/src/composables/group/useInjectedGroupState.ts +20 -16
- package/src/composables/group/useProvideGroupState.ts +10 -15
- package/src/composables/index.ts +1 -0
- package/src/composables/useBlurhash.ts +76 -0
- package/src/composables/useComponentIcon.ts +15 -14
- package/src/composables/usePersistence.ts +76 -0
- package/src/composables/useUniqueId.ts +2 -2
- package/src/constants.ts +47 -32
- package/src/directives/index.ts +3 -6
- package/src/directives/v-tooltip.ts +19 -10
- package/src/index.ts +3 -1
- package/src/props/index.ts +108 -31
- package/src/resolvers/unplugin.ts +24 -14
- package/src/stories/Accordion/Accordion.test.ts +1 -1
- package/src/stories/AccordionGroup/AccordionGroup.settings.ts +2 -2
- package/src/stories/AccordionGroup/AccordionGroup.test.ts +17 -11
- package/src/stories/AccordionGroup/AccordionGroupSlots.stories.ts +1 -1
- package/src/stories/Alert/Alert.test.ts +1 -1
- package/src/stories/AlertGroup/AlertGroup.test.ts +1 -1
- package/src/stories/AlertGroup/AlertGroupWithComposable.stories.ts +2 -2
- package/src/stories/Avatar/Avatar.test.ts +1 -1
- package/src/stories/AvatarGroup/AvatarGroup.test.ts +1 -1
- package/src/stories/Badge/Badge.test.ts +1 -1
- package/src/stories/Blurhash/BlurhashComposable.stories.ts +195 -0
- package/src/stories/Button/Button.settings.ts +1 -4
- package/src/stories/Button/Button.test.ts +1 -1
- package/src/stories/ButtonGroup/ButtonGroup.test.ts +1 -1
- package/src/stories/Card/Card.test.ts +1 -1
- package/src/stories/Checkbox/Checkbox.test.ts +1 -1
- package/src/stories/CheckboxGroup/CheckboxGroup.test.ts +1 -1
- package/src/stories/Combobox/Combobox.settings.ts +8 -0
- package/src/stories/Combobox/Combobox.test.ts +1 -1
- package/src/stories/Dialog/Dialog.test.ts +2 -2
- package/src/stories/Dropdown/Dropdown.test.ts +1 -1
- package/src/stories/Icon/Icon.settings.ts +3 -3
- package/src/stories/InputFile/InputFile.settings.ts +36 -0
- package/src/stories/InputFile/InputFile.stories.ts +89 -0
- package/src/stories/InputFile/InputFileDropArea.stories.ts +56 -0
- package/src/stories/InputFile/InputFileIconPosition.stories.ts +43 -0
- package/src/stories/InputFile/InputFileSlots.stories.ts +33 -0
- package/src/stories/InputText/InputText.test.ts +1 -1
- package/src/stories/Nav/Nav.test.ts +1 -1
- package/src/stories/Progress/Progress.test.ts +1 -1
- package/src/stories/Radio/Radio.test.ts +1 -1
- package/src/stories/RadioGroup/RadioGroup.test.ts +1 -1
- package/src/stories/Select/Select.test.ts +1 -1
- package/src/stories/Tab/Tab.settings.ts +2 -2
- package/src/stories/Tab/Tab.test.ts +1 -1
- package/src/stories/Textarea/Textarea.test.ts +1 -1
- package/src/stories/Tooltip/Tooltip.test.ts +1 -1
- package/src/stories/argTypes.ts +1 -1
- package/src/test/expect.ts +2 -4
- package/src/types/alert.ts +11 -7
- package/src/types/blurhash.ts +21 -0
- package/src/types/generic.ts +3 -3
- package/src/types/group.ts +22 -14
- package/src/types/index.ts +7 -0
- package/src/types/input-file.ts +18 -0
- package/src/types/nav.ts +2 -3
- package/src/utils/ObjectUtilities.ts +0 -11
- package/src/workers/blurhash.ts +9 -0
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2022-
|
|
3
|
+
Copyright (c) 2022-present 8 Wave S.r.l. and contributors
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ maintained with ❤️ by
|
|
|
16
16
|
|
|
17
17
|
<br>
|
|
18
18
|
|
|
19
|
-
[](https://8wave.it)
|
|
20
20
|
|
|
21
21
|
<br>
|
|
22
22
|
|
|
@@ -167,27 +167,28 @@ export default defineConfig({
|
|
|
167
167
|
Used to show alert messages and notifications
|
|
168
168
|
|
|
169
169
|
```typescript
|
|
170
|
-
export type
|
|
170
|
+
export type AlertModifier =
|
|
171
171
|
| 'success'
|
|
172
172
|
| 'info'
|
|
173
173
|
| 'warning'
|
|
174
174
|
| 'danger'
|
|
175
175
|
| 'brand'
|
|
176
176
|
| 'accent'
|
|
177
|
+
| string
|
|
177
178
|
```
|
|
178
179
|
|
|
179
180
|
```typescript
|
|
180
181
|
export type Alert = {
|
|
181
182
|
id: string | number
|
|
182
|
-
group: string
|
|
183
183
|
title?: string
|
|
184
|
-
icon
|
|
184
|
+
icon?: string | VvIconProps
|
|
185
185
|
content?: string
|
|
186
186
|
footer?: string
|
|
187
|
-
modifiers
|
|
188
|
-
dismissable
|
|
189
|
-
autoClose
|
|
190
|
-
|
|
187
|
+
modifiers?: AlertModifier | AlertModifier[]
|
|
188
|
+
dismissable?: boolean
|
|
189
|
+
autoClose?: number
|
|
190
|
+
closeLabel?: string
|
|
191
|
+
role?: AlertRole
|
|
191
192
|
}
|
|
192
193
|
```
|
|
193
194
|
|
|
@@ -219,7 +220,100 @@ function showSuccess() {
|
|
|
219
220
|
</div>
|
|
220
221
|
```
|
|
221
222
|
|
|
222
|
-
###
|
|
223
|
+
### useBlurhash
|
|
224
|
+
|
|
225
|
+
Used to create blurred preview image ([blurhash](https://blurha.sh/))
|
|
226
|
+
|
|
227
|
+
##### Example
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
import { useBlurhash } from '@volverjs/ui-vue/composables'
|
|
231
|
+
|
|
232
|
+
const { encode, decode, loadImage } = useBlurhash()
|
|
233
|
+
|
|
234
|
+
const isLoading = ref(false)
|
|
235
|
+
const file = ref({})
|
|
236
|
+
const canvas = ref()
|
|
237
|
+
const isImgLoaded = ref(false)
|
|
238
|
+
const blurhash = ref('')
|
|
239
|
+
const imageUrl = ref('')
|
|
240
|
+
const image = ref()
|
|
241
|
+
|
|
242
|
+
watch(
|
|
243
|
+
file,
|
|
244
|
+
async (newValue) => {
|
|
245
|
+
if (newValue?.size) {
|
|
246
|
+
this.imageUrl = URL.createObjectURL(newValue)
|
|
247
|
+
this.image = await this.loadImage(this.imageUrl)
|
|
248
|
+
this.blurhash = await this.encode(newValue)
|
|
249
|
+
} else {
|
|
250
|
+
this.image = null
|
|
251
|
+
this.imageUrl = ''
|
|
252
|
+
this.blurhash = ''
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
{ immediate: true }
|
|
256
|
+
)
|
|
257
|
+
|
|
258
|
+
watch(blurhash, async (newValue) => {
|
|
259
|
+
if (this.image) {
|
|
260
|
+
const blurhashDecoded = await this.decode(
|
|
261
|
+
newValue,
|
|
262
|
+
this.image.width,
|
|
263
|
+
this.image.height
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
if (this.canvas) {
|
|
267
|
+
this.canvas.width = this.image.width
|
|
268
|
+
this.canvas.height = this.image.height
|
|
269
|
+
const ctx = this.canvas.getContext('2d')
|
|
270
|
+
const imageData = ctx.createImageData(
|
|
271
|
+
this.canvas.width,
|
|
272
|
+
this.canvas.height
|
|
273
|
+
)
|
|
274
|
+
imageData.data.set(blurhashDecoded)
|
|
275
|
+
ctx.putImageData(imageData, 0, 0)
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
})
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
```html
|
|
282
|
+
<div
|
|
283
|
+
class="w-full grid gap-md grid-cols-3 h-150"
|
|
284
|
+
:class="{ 'vv-skeleton': isLoading }"
|
|
285
|
+
>
|
|
286
|
+
<div class="w-150 h-150 col-span-1">
|
|
287
|
+
<div class="text-20 font-semibold mb-md">Upload image</div>
|
|
288
|
+
<vv-input-file
|
|
289
|
+
v-model="file"
|
|
290
|
+
name="input-file"
|
|
291
|
+
modifiers="drop-area square hidden"
|
|
292
|
+
accept=".gif,.jpg,.jpeg,.png,image/gif,image/jpeg,image/png"
|
|
293
|
+
/>
|
|
294
|
+
</div>
|
|
295
|
+
<div v-show="blurhash" class="h-150 col-span-2">
|
|
296
|
+
<picture class="flex gap-md justify-center">
|
|
297
|
+
<div>
|
|
298
|
+
<div class="text-20 font-semibold mb-md">Blurhash</div>
|
|
299
|
+
<canvas ref="canvas" class="w-150 h-150 block object-cover" />
|
|
300
|
+
</div>
|
|
301
|
+
<div>
|
|
302
|
+
<div class="text-20 font-semibold mb-md">Image</div>
|
|
303
|
+
<img
|
|
304
|
+
v-if="image"
|
|
305
|
+
class="w-150 h-150 block object-cover"
|
|
306
|
+
:class="{ 'vv-skeleton__item': isLoading }"
|
|
307
|
+
:src="imageUrl"
|
|
308
|
+
alt="image"
|
|
309
|
+
:width="image.width"
|
|
310
|
+
:height="image.height"
|
|
311
|
+
/>
|
|
312
|
+
</div>
|
|
313
|
+
</picture>
|
|
314
|
+
</div>
|
|
315
|
+
</div>
|
|
316
|
+
```
|
|
223
317
|
|
|
224
318
|
## Roadmap
|
|
225
319
|
|
|
@@ -232,9 +326,11 @@ The following features are planned for the next releases:
|
|
|
232
326
|
- [x] (v0.0.6) `VvAvatar` and `VvAvatarGroup` component;
|
|
233
327
|
- [x] (v0.0.6) Menus, navigation and tabs with `VvNav` and `VvTab`;
|
|
234
328
|
- [x] (v0.0.6) Alerts, notifications and toasts with `VvAlert` and `VvAlertGroup` component;
|
|
329
|
+
- [x] (v0.0.10) Multiple uploads with `VvInputFile`;
|
|
330
|
+
- [x] (v0.0.10) `useBlurhash` composable;
|
|
331
|
+
- [ ] Image crop and file previews;
|
|
235
332
|
- [ ] Loaders with `VvLoader` and `VvSkeleton`;
|
|
236
333
|
- [ ] `VvTable` component with sort, filters, pagination and cell editing;
|
|
237
|
-
- [ ] Multiple uploads, image crop and file previews with `VvInputFile`;
|
|
238
334
|
- [ ] Carousel and galleries with `VvCarousel` component;
|
|
239
335
|
- [ ] Calendar and date picker with `VvCalendar` component.
|
|
240
336
|
|
package/auto-imports.d.ts
CHANGED
|
@@ -42,6 +42,7 @@ declare global {
|
|
|
42
42
|
const h: typeof import('vue')['h']
|
|
43
43
|
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
|
|
44
44
|
const inject: typeof import('vue')['inject']
|
|
45
|
+
const injectLocal: typeof import('@vueuse/core')['injectLocal']
|
|
45
46
|
const isDefined: typeof import('@vueuse/core')['isDefined']
|
|
46
47
|
const isEmpty: typeof import('./src/utils/ObjectUtilities')['isEmpty']
|
|
47
48
|
const isFunction: typeof import('./src/utils/ObjectUtilities')['isFunction']
|
|
@@ -50,7 +51,6 @@ declare global {
|
|
|
50
51
|
const isReadonly: typeof import('vue')['isReadonly']
|
|
51
52
|
const isRef: typeof import('vue')['isRef']
|
|
52
53
|
const isString: typeof import('./src/utils/ObjectUtilities')['isString']
|
|
53
|
-
const kebabCase: typeof import('./src/utils/ObjectUtilities')['kebabCase']
|
|
54
54
|
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
|
|
55
55
|
const markRaw: typeof import('vue')['markRaw']
|
|
56
56
|
const nextTick: typeof import('vue')['nextTick']
|
|
@@ -75,6 +75,7 @@ declare global {
|
|
|
75
75
|
const pickBy: typeof import('./src/utils/ObjectUtilities')['pickBy']
|
|
76
76
|
const propsToObject: typeof import('./src/utils/ObjectUtilities')['propsToObject']
|
|
77
77
|
const provide: typeof import('vue')['provide']
|
|
78
|
+
const provideLocal: typeof import('@vueuse/core')['provideLocal']
|
|
78
79
|
const reactify: typeof import('@vueuse/core')['reactify']
|
|
79
80
|
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
|
|
80
81
|
const reactive: typeof import('vue')['reactive']
|
|
@@ -136,11 +137,13 @@ declare global {
|
|
|
136
137
|
const useBase64: typeof import('@vueuse/core')['useBase64']
|
|
137
138
|
const useBattery: typeof import('@vueuse/core')['useBattery']
|
|
138
139
|
const useBluetooth: typeof import('@vueuse/core')['useBluetooth']
|
|
140
|
+
const useBlurhash: typeof import('./src/composables/useBlurhash')['useBlurhash']
|
|
139
141
|
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
|
|
140
142
|
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
|
|
141
143
|
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
|
|
142
144
|
const useCached: typeof import('@vueuse/core')['useCached']
|
|
143
145
|
const useClipboard: typeof import('@vueuse/core')['useClipboard']
|
|
146
|
+
const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems']
|
|
144
147
|
const useCloned: typeof import('@vueuse/core')['useCloned']
|
|
145
148
|
const useColorMode: typeof import('@vueuse/core')['useColorMode']
|
|
146
149
|
const useComponentFocus: typeof import('./src/composables/useComponentFocus')['useComponentFocus']
|
|
@@ -224,6 +227,7 @@ declare global {
|
|
|
224
227
|
const useParentElement: typeof import('@vueuse/core')['useParentElement']
|
|
225
228
|
const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver']
|
|
226
229
|
const usePermission: typeof import('@vueuse/core')['usePermission']
|
|
230
|
+
const usePersistence: typeof import('./src/composables/usePersistence')['usePersistence']
|
|
227
231
|
const usePointer: typeof import('@vueuse/core')['usePointer']
|
|
228
232
|
const usePointerLock: typeof import('@vueuse/core')['usePointerLock']
|
|
229
233
|
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
|
|
@@ -312,5 +316,6 @@ declare global {
|
|
|
312
316
|
// for type re-export
|
|
313
317
|
declare global {
|
|
314
318
|
// @ts-ignore
|
|
315
|
-
export type { Component, ComponentPublicInstance, ComputedRef, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
|
|
319
|
+
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
|
|
320
|
+
import('vue')
|
|
316
321
|
}
|
package/bin/icons.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("fs"),require("yargs"),require("yargs/helpers"),require("@iconify/tools"),require("path"),require("@iconify/utils"),require("chokidar")):"function"==typeof define&&define.amd?define(["exports","fs","yargs","yargs/helpers","@iconify/tools","path","@iconify/utils","chokidar"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self)["generate-icons"]={},e.fileSystem,e.yargs,e.helpers,e.tools,e.path,e.utils,e.chokidar)}(this,(function(e,r,o,i,t,n,s,c){"use strict";function a(e,o="iconify",i={}){return r.readdirSync(e).forEach((function(t){r.statSync(e+"/"+t).isDirectory()?i=a(e+"/"+t,t,i):t.includes(".svg")&&(i[o]?i[o].push(n.join(e,"/",t)):i[o]=[n.join(e,"/",t)])})),i}function l(e,o,i){const c=a(e,i);Object.keys(c).length?Object.keys(c).forEach((e=>{!async function(e,o,i){const c=t.blankIconSet(e);for(const n of o)try{const e=await r.promises.readFile(n,{encoding:"utf-8"}),o=new t.SVG(e);await t.cleanupSVG(o),await t.parseColors(o,{defaultColor:"currentColor",callback:(e,r,o)=>!o||t.isEmptyColor(o)?r:"currentColor"}),await t.runSVGO(o);const i=n.replace(/^.*[\\/]/,"").split(".")[0].replace(/ /g,"-").replace(/[^a-z0-9-]/gi,"");c.fromSVG(i,o)}catch(f){console.error(f)}const a=c.export();try{s.validateIconSet(a)}catch(f){throw new Error(`Icon set is not valid: ${null==f?void 0:f.message}`)}const l=`${i}/${a.prefix}.json`;r.mkdirSync(n.dirname(l),{recursive:!0}),r.writeFileSync(l,JSON.stringify(a))}(e,c[e],o),console.info(`Icons generated in: ${o}/${e}.json\n`)})):console.error(`There are no files in ${e}`)}const f=o(i.hideBin(process.argv)).argv,d=f.srcPath,u=f.destPath||d;d&&u||(console.error("Please specify the srcPath and destPath with --srcPath and --destPath"),process.exit()),f.watch?(l(d,u,f.prefix),c.watch(d,{ignoreInitial:!0}).on("add",(()=>{l(d,u,f.prefix)})).on("change",(()=>{l(d,u,f.prefix)}))):l(d,u,f.prefix),e.createIconifyJsonFiles=l,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
|
package/bin/icons.js
CHANGED
|
@@ -21,20 +21,24 @@ function getAllFiles(dirPath, prefix = "iconify", objectFiles = {}) {
|
|
|
21
21
|
async function generateIcons(prefix, files, destPath2) {
|
|
22
22
|
const iconSet = blankIconSet(prefix);
|
|
23
23
|
for (const file of files) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
24
|
+
try {
|
|
25
|
+
const content = await fileSystem.promises.readFile(file, {
|
|
26
|
+
encoding: "utf-8"
|
|
27
|
+
});
|
|
28
|
+
const svg = new SVG(content);
|
|
29
|
+
await cleanupSVG(svg);
|
|
30
|
+
await parseColors(svg, {
|
|
31
|
+
defaultColor: "currentColor",
|
|
32
|
+
callback: (attr, colorStr, color) => {
|
|
33
|
+
return !color || isEmptyColor(color) ? colorStr : "currentColor";
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
await runSVGO(svg);
|
|
37
|
+
const fileName = file.replace(/^.*[\\/]/, "").split(".")[0].replace(/ /g, "-").replace(/[^a-z0-9-]/gi, "");
|
|
38
|
+
iconSet.fromSVG(fileName, svg);
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error(error);
|
|
41
|
+
}
|
|
38
42
|
}
|
|
39
43
|
const iconifyJson = iconSet.export();
|
|
40
44
|
try {
|
|
@@ -70,7 +74,10 @@ if (!srcPath || !destPath) {
|
|
|
70
74
|
process.exit();
|
|
71
75
|
}
|
|
72
76
|
if (argv.watch) {
|
|
73
|
-
|
|
77
|
+
createIconifyJsonFiles(srcPath, destPath, argv.prefix);
|
|
78
|
+
chokidar.watch(srcPath, {
|
|
79
|
+
ignoreInitial: true
|
|
80
|
+
}).on("add", () => {
|
|
74
81
|
createIconifyJsonFiles(srcPath, destPath, argv.prefix);
|
|
75
82
|
}).on("change", () => {
|
|
76
83
|
createIconifyJsonFiles(srcPath, destPath, argv.prefix);
|
package/dist/Volver.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type IconifyIcon, type IconifyJSON, type PartialIconifyAPIConfig } from '@iconify/vue';
|
|
2
1
|
import type { Component, Directive, Plugin, Ref } from 'vue';
|
|
2
|
+
import { type IconifyIcon, type IconifyJSON, type PartialIconifyAPIConfig } from '@iconify/vue';
|
|
3
3
|
export declare function useDefaultProps(component: Component, defaults?: Record<string, unknown>, name?: string): Component;
|
|
4
4
|
export type DefaultOptions = Record<string, Record<string, unknown>>;
|
|
5
5
|
export type VolverOptions = {
|