@volverjs/ui-vue 0.0.10-beta.16 → 0.0.10-beta.18

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 (128) hide show
  1. package/auto-imports.d.ts +3 -2
  2. package/bin/icons.js +1 -1
  3. package/dist/Volver.d.ts +1 -1
  4. package/dist/components/VvAccordion/VvAccordion.es.js +2 -1
  5. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  6. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +1 -1
  7. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +4 -2
  8. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +2 -2
  10. package/dist/components/VvAction/VvAction.es.js +2 -1
  11. package/dist/components/VvAction/VvAction.umd.js +1 -1
  12. package/dist/components/VvAction/VvAction.vue.d.ts +1 -1
  13. package/dist/components/VvAlert/VvAlert.es.js +3 -2
  14. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  15. package/dist/components/VvAlert/VvAlert.vue.d.ts +1 -1
  16. package/dist/components/VvAlert/index.d.ts +2 -2
  17. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +5 -3
  18. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  19. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +1 -1
  20. package/dist/components/VvAvatar/VvAvatar.vue.d.ts +1 -1
  21. package/dist/components/VvAvatarGroup/VvAvatarGroup.vue.d.ts +1 -1
  22. package/dist/components/VvBadge/VvBadge.vue.d.ts +1 -1
  23. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +2 -1
  24. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  25. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +1 -1
  26. package/dist/components/VvButton/VvButton.es.js +5 -3
  27. package/dist/components/VvButton/VvButton.umd.js +1 -1
  28. package/dist/components/VvButton/VvButton.vue.d.ts +7 -7
  29. package/dist/components/VvButton/index.d.ts +3 -3
  30. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +2 -1
  31. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  32. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +1 -1
  33. package/dist/components/VvCard/VvCard.vue.d.ts +1 -1
  34. package/dist/components/VvCheckbox/VvCheckbox.es.js +2 -1
  35. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  36. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +7 -7
  37. package/dist/components/VvCheckbox/index.d.ts +3 -3
  38. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +4 -2
  39. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  40. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +3 -3
  41. package/dist/components/VvCheckboxGroup/index.d.ts +1 -1
  42. package/dist/components/VvCombobox/VvCombobox.es.js +11 -6
  43. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  44. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +3 -3
  45. package/dist/components/VvCombobox/index.d.ts +1 -1
  46. package/dist/components/VvDialog/VvDialog.es.js +60 -54
  47. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  48. package/dist/components/VvDialog/VvDialog.vue.d.ts +1 -1
  49. package/dist/components/VvDropdown/VvDropdown.es.js +2 -1
  50. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  51. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +1 -1
  52. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +1 -1
  53. package/dist/components/VvDropdown/VvDropdownItem.vue.d.ts +1 -1
  54. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +1 -1
  55. package/dist/components/VvDropdown/VvDropdownOption.vue.d.ts +1 -1
  56. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +2 -1
  57. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  58. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  59. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  60. package/dist/components/VvIcon/VvIcon.vue.d.ts +23 -103
  61. package/dist/components/VvInputFile/VvInputFile.es.js +87 -57
  62. package/dist/components/VvInputFile/VvInputFile.umd.js +1 -1
  63. package/dist/components/VvInputFile/VvInputFile.vue.d.ts +1 -1
  64. package/dist/components/VvInputText/VvInputClearAction.d.ts +1 -1
  65. package/dist/components/VvInputText/VvInputPasswordAction.d.ts +1 -1
  66. package/dist/components/VvInputText/VvInputStepAction.d.ts +1 -1
  67. package/dist/components/VvInputText/VvInputText.es.js +48 -42
  68. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  69. package/dist/components/VvInputText/VvInputText.vue.d.ts +3 -3
  70. package/dist/components/VvInputText/index.d.ts +1 -1
  71. package/dist/components/VvNav/VvNav.es.js +7 -6
  72. package/dist/components/VvNav/VvNav.umd.js +1 -1
  73. package/dist/components/VvNav/VvNav.vue.d.ts +1 -1
  74. package/dist/components/VvNav/VvNavItem.vue.d.ts +1 -1
  75. package/dist/components/VvNav/VvNavSeparator.vue.d.ts +1 -1
  76. package/dist/components/VvNavItem/VvNavItem.es.js +2 -1
  77. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -1
  78. package/dist/components/VvProgress/VvProgress.vue.d.ts +1 -1
  79. package/dist/components/VvRadio/VvRadio.es.js +2 -1
  80. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  81. package/dist/components/VvRadio/VvRadio.vue.d.ts +5 -5
  82. package/dist/components/VvRadio/index.d.ts +2 -2
  83. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +4 -2
  84. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  85. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +3 -3
  86. package/dist/components/VvRadioGroup/index.d.ts +1 -1
  87. package/dist/components/VvSelect/VvSelect.es.js +3 -2
  88. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  89. package/dist/components/VvSelect/VvSelect.vue.d.ts +3 -3
  90. package/dist/components/VvSelect/index.d.ts +1 -1
  91. package/dist/components/VvTab/VvTab.es.js +9 -7
  92. package/dist/components/VvTab/VvTab.umd.js +1 -1
  93. package/dist/components/VvTab/VvTab.vue.d.ts +2 -2
  94. package/dist/components/VvTextarea/VvTextarea.es.js +3 -2
  95. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  96. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +5 -5
  97. package/dist/components/VvTextarea/index.d.ts +2 -2
  98. package/dist/components/VvTooltip/VvTooltip.vue.d.ts +1 -1
  99. package/dist/components/index.es.js +266 -210
  100. package/dist/components/index.umd.js +1 -1
  101. package/dist/composables/alert/useAlert.d.ts +37 -4
  102. package/dist/composables/dropdown/useProvideDropdown.d.ts +1 -1
  103. package/dist/composables/index.es.js +14 -3
  104. package/dist/composables/index.umd.js +1 -1
  105. package/dist/directives/index.d.ts +3 -3
  106. package/dist/directives/index.es.js +3 -3
  107. package/dist/directives/index.umd.js +1 -1
  108. package/dist/directives/v-tooltip.es.js +1 -1
  109. package/dist/directives/v-tooltip.umd.js +1 -1
  110. package/dist/icons.es.js +6 -6
  111. package/dist/icons.umd.js +1 -1
  112. package/dist/index.es.js +62 -0
  113. package/dist/index.umd.js +1 -1
  114. package/dist/props/index.d.ts +5 -5
  115. package/dist/resolvers/unplugin.es.js +59 -6
  116. package/dist/resolvers/unplugin.umd.js +1 -1
  117. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +59 -117
  118. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +519 -661
  119. package/dist/utils/ObjectUtilities.d.ts +0 -1
  120. package/package.json +53 -53
  121. package/src/Volver.ts +9 -4
  122. package/src/assets/icons/detailed.json +1 -1
  123. package/src/assets/icons/normal.json +1 -1
  124. package/src/assets/icons/simple.json +1 -1
  125. package/src/components/VvInputFile/VvInputFile.vue +33 -10
  126. package/src/directives/index.ts +3 -3
  127. package/src/resolvers/unplugin.ts +3 -13
  128. package/src/utils/ObjectUtilities.ts +0 -11
@@ -155,14 +155,17 @@
155
155
  localModelValue.value = toReturn
156
156
  }
157
157
 
158
+ const currentFileIndex = ref(0)
158
159
  const previewSrc = computed(() => {
159
160
  if (files.value.length === 0) {
160
161
  return
161
162
  }
162
- if (files.value[0] instanceof File) {
163
- return URL.createObjectURL(files.value[0])
163
+ if (files.value[currentFileIndex.value] instanceof File) {
164
+ return URL.createObjectURL(
165
+ files.value[currentFileIndex.value] as File,
166
+ )
164
167
  }
165
- return files.value[0].url
168
+ return (files.value[currentFileIndex.value] as UploadedFile).url
166
169
  })
167
170
 
168
171
  onBeforeUnmount(() => {
@@ -177,6 +180,18 @@
177
180
  }
178
181
  return Math.floor(size / 1024)
179
182
  }
183
+
184
+ const onClickDownloadFile = (file: File | UploadedFile) => {
185
+ const link = document.createElement('a')
186
+ if (file instanceof File) {
187
+ link.href = URL.createObjectURL(file)
188
+ } else if (file.url) {
189
+ link.href = file.url
190
+ }
191
+ link.setAttribute('download', file.name)
192
+ document.body.appendChild(link)
193
+ link.click()
194
+ }
180
195
  </script>
181
196
 
182
197
  <template>
@@ -201,7 +216,7 @@
201
216
  :class="{
202
217
  'absolute top-8 right-8': previewSrc,
203
218
  }"
204
- :icon="!previewSrc ? 'image' : 'edit'"
219
+ :icon="!previewSrc ? 'image' : isMultiple ? 'add' : 'edit'"
205
220
  class="z-1"
206
221
  @click.stop="onClick"
207
222
  />
@@ -209,7 +224,7 @@
209
224
  <img
210
225
  v-if="previewSrc"
211
226
  :src="previewSrc"
212
- :alt="files[0].name"
227
+ :alt="files[currentFileIndex].name"
213
228
  />
214
229
  </picture>
215
230
  </slot>
@@ -238,12 +253,20 @@
238
253
  v-for="(file, index) in files"
239
254
  :key="index"
240
255
  class="vv-input-file__item"
256
+ @click.stop="currentFileIndex = index"
241
257
  >
242
- <VvIcon
243
- class="vv-input-file__item-icon"
244
- name="akar-icons:file"
245
- />
246
- <div class="vv-input-file__item-name">{{ file.name }}</div>
258
+ <button
259
+ type="button"
260
+ class="vv-input-file__item-icon cursor-pointer"
261
+ title="Download"
262
+ aria-label="download-file"
263
+ @click.stop="onClickDownloadFile(file)"
264
+ >
265
+ <VvIcon name="download" />
266
+ </button>
267
+ <div class="vv-input-file__item-name cursor-pointer">
268
+ {{ file.name }}
269
+ </div>
247
270
  <small class="vv-input-file__item-info">
248
271
  {{ sizeInKiB(file.size) }} KB
249
272
  </small>
@@ -1,4 +1,4 @@
1
- import tooltip from '../directives/v-tooltip'
2
- import contextmenu from '../directives/v-contextmenu'
1
+ import vTooltip from '../directives/v-tooltip'
2
+ import vContextmenu from '../directives/v-contextmenu'
3
3
 
4
- export { tooltip, contextmenu }
4
+ export { vTooltip, vContextmenu }
@@ -2,17 +2,7 @@ import type {
2
2
  ComponentResolver,
3
3
  SideEffectsInfo,
4
4
  } from 'unplugin-vue-components/types'
5
-
6
- function kebabCase(str: string, options?: { condense: boolean }) {
7
- if (typeof str !== 'string') throw new TypeError('expected a string')
8
- return str
9
- .trim()
10
- .replace(/([a-z])([A-Z])/g, '$1-$2')
11
- .replace(/\W/g, (m) => (/[À-ž]/.test(m) ? m : '-'))
12
- .replace(/^-+|-+$/g, '')
13
- .replace(/-{2,}/g, (m) => (options?.condense ? '-' : m))
14
- .toLowerCase()
15
- }
5
+ import { kebabCase } from 'change-case'
16
6
 
17
7
  type ImportStyle = boolean | 'css' | 'scss'
18
8
 
@@ -47,7 +37,7 @@ export interface VolverResolverOptions {
47
37
 
48
38
  const STYLE_EXCLUDE = ['vv-icon', 'vv-action']
49
39
  const VOLVER_PREFIX = 'vv'
50
- const DIRECTIVES = ['v-tooltip']
40
+ const DIRECTIVES = ['v-tooltip', 'v-contextmenu']
51
41
 
52
42
  export const getStyleNames = function (kebabName: string) {
53
43
  if (STYLE_EXCLUDE.includes(kebabName)) {
@@ -181,7 +171,7 @@ export function VolverResolver({
181
171
  return {
182
172
  from: '@volverjs/ui-vue/directives',
183
173
  sideEffects: getSideEffects(kebabName, importStyle),
184
- name,
174
+ name: `v${name}`,
185
175
  }
186
176
  },
187
177
  },
@@ -275,14 +275,3 @@ export function filterArray<T = Record<string, unknown>>(
275
275
  })
276
276
  })
277
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
- }
288
- }