vuetify 3.7.4 → 3.7.6

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 (184) hide show
  1. package/dist/_component-variables-labs.sass +1 -0
  2. package/dist/json/attributes.json +3914 -3618
  3. package/dist/json/importMap-labs.json +34 -26
  4. package/dist/json/importMap.json +170 -170
  5. package/dist/json/tags.json +84 -0
  6. package/dist/json/web-types.json +7277 -6336
  7. package/dist/vuetify-labs.css +3535 -3460
  8. package/dist/vuetify-labs.d.ts +1909 -600
  9. package/dist/vuetify-labs.esm.js +428 -79
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +428 -79
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +4119 -4117
  14. package/dist/vuetify.d.ts +187 -189
  15. package/dist/vuetify.esm.js +95 -65
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +95 -65
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +66 -65
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -5
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VAutocomplete/index.d.mts +28 -28
  25. package/lib/components/VBadge/VBadge.css +4 -0
  26. package/lib/components/VBadge/VBadge.sass +4 -0
  27. package/lib/components/VChip/VChip.mjs +3 -2
  28. package/lib/components/VChip/VChip.mjs.map +1 -1
  29. package/lib/components/VChip/index.d.mts +9 -9
  30. package/lib/components/VCombobox/VCombobox.mjs +6 -5
  31. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  32. package/lib/components/VCombobox/index.d.mts +28 -28
  33. package/lib/components/VConfirmEdit/VConfirmEdit.mjs +9 -7
  34. package/lib/components/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
  35. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
  36. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
  37. package/lib/components/VConfirmEdit/index.d.mts +3 -7
  38. package/lib/components/VDatePicker/VDatePickerHeader.mjs +2 -1
  39. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  40. package/lib/components/VDatePicker/index.d.mts +6 -6
  41. package/lib/components/VField/VField.mjs +2 -1
  42. package/lib/components/VField/VField.mjs.map +1 -1
  43. package/lib/components/VList/VList.mjs +3 -2
  44. package/lib/components/VList/VList.mjs.map +1 -1
  45. package/lib/components/VList/VListItem.mjs +17 -10
  46. package/lib/components/VList/VListItem.mjs.map +1 -1
  47. package/lib/components/VList/index.d.mts +12 -12
  48. package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
  49. package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
  50. package/lib/components/VSelect/VSelect.mjs +5 -4
  51. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  52. package/lib/components/VSelect/index.d.mts +28 -28
  53. package/lib/components/VSelectionControl/VSelectionControl.css +1 -3
  54. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -5
  55. package/lib/components/VStepper/VStepper.mjs +5 -4
  56. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  57. package/lib/components/VStepper/VStepperItem.mjs +5 -4
  58. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  59. package/lib/components/VStepper/index.d.mts +58 -52
  60. package/lib/components/VVirtualScroll/VVirtualScroll.mjs +1 -1
  61. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
  62. package/lib/components/index.d.mts +129 -133
  63. package/lib/composables/form.mjs +7 -2
  64. package/lib/composables/form.mjs.map +1 -1
  65. package/lib/composables/nested/nested.mjs +4 -2
  66. package/lib/composables/nested/nested.mjs.map +1 -1
  67. package/lib/composables/validation.mjs +10 -12
  68. package/lib/composables/validation.mjs.map +1 -1
  69. package/lib/composables/virtual.mjs +7 -2
  70. package/lib/composables/virtual.mjs.map +1 -1
  71. package/lib/entry-bundler.mjs +1 -1
  72. package/lib/framework.mjs +1 -1
  73. package/lib/iconsets/mdi.mjs +2 -1
  74. package/lib/iconsets/mdi.mjs.map +1 -1
  75. package/lib/index.d.mts +58 -56
  76. package/lib/labs/VDateInput/VDateInput.mjs +1 -1
  77. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  78. package/lib/labs/VFileUpload/VFileUpload.css +74 -0
  79. package/lib/labs/VFileUpload/VFileUpload.mjs +241 -0
  80. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -0
  81. package/lib/labs/VFileUpload/VFileUpload.sass +75 -0
  82. package/lib/labs/VFileUpload/VFileUploadItem.mjs +95 -0
  83. package/lib/labs/VFileUpload/VFileUploadItem.mjs.map +1 -0
  84. package/lib/labs/VFileUpload/_variables.scss +12 -0
  85. package/lib/labs/VFileUpload/index.d.mts +1365 -0
  86. package/lib/labs/VFileUpload/index.mjs +3 -0
  87. package/lib/labs/VFileUpload/index.mjs.map +1 -0
  88. package/lib/labs/VNumberInput/VNumberInput.mjs +14 -9
  89. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  90. package/lib/labs/VStepperVertical/index.d.mts +51 -51
  91. package/lib/labs/VTreeview/VTreeviewItem.mjs +3 -4
  92. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  93. package/lib/labs/VTreeview/index.d.mts +22 -22
  94. package/lib/labs/components.d.mts +1421 -110
  95. package/lib/labs/components.mjs +1 -0
  96. package/lib/labs/components.mjs.map +1 -1
  97. package/lib/locale/af.mjs +5 -0
  98. package/lib/locale/af.mjs.map +1 -1
  99. package/lib/locale/ar.mjs +5 -0
  100. package/lib/locale/ar.mjs.map +1 -1
  101. package/lib/locale/az.mjs +5 -0
  102. package/lib/locale/az.mjs.map +1 -1
  103. package/lib/locale/bg.mjs +5 -0
  104. package/lib/locale/bg.mjs.map +1 -1
  105. package/lib/locale/ca.mjs +5 -0
  106. package/lib/locale/ca.mjs.map +1 -1
  107. package/lib/locale/ckb.mjs +5 -0
  108. package/lib/locale/ckb.mjs.map +1 -1
  109. package/lib/locale/cs.mjs +5 -0
  110. package/lib/locale/cs.mjs.map +1 -1
  111. package/lib/locale/da.mjs +5 -0
  112. package/lib/locale/da.mjs.map +1 -1
  113. package/lib/locale/de.mjs +5 -0
  114. package/lib/locale/de.mjs.map +1 -1
  115. package/lib/locale/el.mjs +5 -0
  116. package/lib/locale/el.mjs.map +1 -1
  117. package/lib/locale/en.mjs +5 -0
  118. package/lib/locale/en.mjs.map +1 -1
  119. package/lib/locale/es.mjs +5 -0
  120. package/lib/locale/es.mjs.map +1 -1
  121. package/lib/locale/et.mjs +5 -0
  122. package/lib/locale/et.mjs.map +1 -1
  123. package/lib/locale/fa.mjs +5 -0
  124. package/lib/locale/fa.mjs.map +1 -1
  125. package/lib/locale/fi.mjs +5 -0
  126. package/lib/locale/fi.mjs.map +1 -1
  127. package/lib/locale/fr.mjs +6 -1
  128. package/lib/locale/fr.mjs.map +1 -1
  129. package/lib/locale/he.mjs +5 -0
  130. package/lib/locale/he.mjs.map +1 -1
  131. package/lib/locale/hr.mjs +5 -0
  132. package/lib/locale/hr.mjs.map +1 -1
  133. package/lib/locale/hu.mjs +5 -0
  134. package/lib/locale/hu.mjs.map +1 -1
  135. package/lib/locale/id.mjs +5 -0
  136. package/lib/locale/id.mjs.map +1 -1
  137. package/lib/locale/index.d.mts +215 -0
  138. package/lib/locale/it.mjs +5 -0
  139. package/lib/locale/it.mjs.map +1 -1
  140. package/lib/locale/ja.mjs +5 -0
  141. package/lib/locale/ja.mjs.map +1 -1
  142. package/lib/locale/km.mjs +5 -0
  143. package/lib/locale/km.mjs.map +1 -1
  144. package/lib/locale/ko.mjs +5 -0
  145. package/lib/locale/ko.mjs.map +1 -1
  146. package/lib/locale/lt.mjs +5 -0
  147. package/lib/locale/lt.mjs.map +1 -1
  148. package/lib/locale/lv.mjs +5 -0
  149. package/lib/locale/lv.mjs.map +1 -1
  150. package/lib/locale/nl.mjs +5 -0
  151. package/lib/locale/nl.mjs.map +1 -1
  152. package/lib/locale/no.mjs +5 -0
  153. package/lib/locale/no.mjs.map +1 -1
  154. package/lib/locale/pl.mjs +5 -0
  155. package/lib/locale/pl.mjs.map +1 -1
  156. package/lib/locale/pt.mjs +5 -0
  157. package/lib/locale/pt.mjs.map +1 -1
  158. package/lib/locale/ro.mjs +5 -0
  159. package/lib/locale/ro.mjs.map +1 -1
  160. package/lib/locale/ru.mjs +5 -0
  161. package/lib/locale/ru.mjs.map +1 -1
  162. package/lib/locale/sk.mjs +5 -0
  163. package/lib/locale/sk.mjs.map +1 -1
  164. package/lib/locale/sl.mjs +5 -0
  165. package/lib/locale/sl.mjs.map +1 -1
  166. package/lib/locale/sr-Cyrl.mjs +5 -0
  167. package/lib/locale/sr-Cyrl.mjs.map +1 -1
  168. package/lib/locale/sr-Latn.mjs +5 -0
  169. package/lib/locale/sr-Latn.mjs.map +1 -1
  170. package/lib/locale/sv.mjs +5 -0
  171. package/lib/locale/sv.mjs.map +1 -1
  172. package/lib/locale/th.mjs +5 -0
  173. package/lib/locale/th.mjs.map +1 -1
  174. package/lib/locale/tr.mjs +5 -0
  175. package/lib/locale/tr.mjs.map +1 -1
  176. package/lib/locale/uk.mjs +5 -0
  177. package/lib/locale/uk.mjs.map +1 -1
  178. package/lib/locale/vi.mjs +5 -0
  179. package/lib/locale/vi.mjs.map +1 -1
  180. package/lib/locale/zh-Hans.mjs +5 -0
  181. package/lib/locale/zh-Hans.mjs.map +1 -1
  182. package/lib/locale/zh-Hant.mjs +5 -0
  183. package/lib/locale/zh-Hant.mjs.map +1 -1
  184. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"VVirtualScroll.mjs","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useToggleScope","makeVirtualProps","useVirtual","onMounted","onScopeDispose","toRef","convertToUnit","genericComponent","getCurrentInstance","getScrollParent","propsFactory","useRender","makeVVirtualScrollProps","items","type","Array","default","renderless","Boolean","VVirtualScroll","name","props","setup","_ref","slots","vm","dimensionStyles","calculateVisibleItems","containerRef","markerRef","handleScroll","handleScrollend","handleItemResize","scrollToIndex","paddingTop","paddingBottom","computedItems","handleListeners","add","arguments","length","undefined","method","value","document","documentElement","passive","vnode","el","children","map","item","_createVNode","index","height","slotProps","raw","_Fragment","class","style"],"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.tsx"],"sourcesContent":["// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { onMounted, onScopeDispose, toRef } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getCurrentInstance,\n getScrollParent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array as PropType<readonly unknown[]>,\n default: () => ([]),\n },\n renderless: Boolean,\n\n ...makeVirtualProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VVirtualScroll')\n\nexport const VVirtualScroll = genericComponent<new <T, Renderless extends boolean = false>(\n props: {\n items?: readonly T[]\n renderless?: Renderless\n },\n slots: {\n default: VVirtualScrollSlot<T> & (Renderless extends true ? {\n itemRef: Ref<HTMLElement | undefined>\n } : {})\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const vm = getCurrentInstance('VVirtualScroll')\n const { dimensionStyles } = useDimension(props)\n const {\n calculateVisibleItems,\n containerRef,\n markerRef,\n handleScroll,\n handleScrollend,\n handleItemResize,\n scrollToIndex,\n paddingTop,\n paddingBottom,\n computedItems,\n } = useVirtual(props, toRef(props, 'items'))\n\n useToggleScope(() => props.renderless, () => {\n function handleListeners (add = false) {\n const method = add ? 'addEventListener' : 'removeEventListener'\n\n if (containerRef.value === document.documentElement) {\n document[method]('scroll', handleScroll, { passive: true })\n document[method]('scrollend', handleScrollend)\n } else {\n containerRef.value?.[method]('scroll', handleScroll, { passive: true })\n containerRef.value?.[method]('scrollend', handleScrollend)\n }\n }\n\n onMounted(() => {\n containerRef.value = getScrollParent(vm.vnode.el as HTMLElement, true)\n handleListeners(true)\n })\n onScopeDispose(handleListeners)\n })\n\n useRender(() => {\n const children = computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.index }\n renderless={ props.renderless }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slotProps => slots.default?.({ item: item.raw, index: item.index, ...slotProps }) }\n </VVirtualScrollItem>\n ))\n\n return props.renderless ? (\n <>\n <div ref={ markerRef } class=\"v-virtual-scroll__spacer\" style={{ paddingTop: convertToUnit(paddingTop.value) }} />\n { children }\n <div class=\"v-virtual-scroll__spacer\" style={{ paddingBottom: convertToUnit(paddingBottom.value) }} />\n </>\n ) : (\n <div\n ref={ containerRef }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScrollPassive={ handleScroll }\n onScrollend={ handleScrollend }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n ref={ markerRef }\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { children }\n </div>\n </div>\n )\n })\n\n return {\n calculateVisibleItems,\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VVirtualScroll.mjs","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useToggleScope","makeVirtualProps","useVirtual","onMounted","onScopeDispose","toRef","convertToUnit","genericComponent","getCurrentInstance","getScrollParent","propsFactory","useRender","makeVVirtualScrollProps","items","type","Array","default","renderless","Boolean","VVirtualScroll","name","props","setup","_ref","slots","vm","dimensionStyles","calculateVisibleItems","containerRef","markerRef","handleScroll","handleScrollend","handleItemResize","scrollToIndex","paddingTop","paddingBottom","computedItems","handleListeners","add","arguments","length","undefined","method","value","document","documentElement","passive","vnode","el","children","map","item","_createVNode","key","height","index","slotProps","raw","_Fragment","class","style"],"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.tsx"],"sourcesContent":["// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeVirtualProps, useVirtual } from '@/composables/virtual'\n\n// Utilities\nimport { onMounted, onScopeDispose, toRef } from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n getCurrentInstance,\n getScrollParent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array as PropType<readonly unknown[]>,\n default: () => ([]),\n },\n renderless: Boolean,\n\n ...makeVirtualProps(),\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'VVirtualScroll')\n\nexport const VVirtualScroll = genericComponent<new <T, Renderless extends boolean = false>(\n props: {\n items?: readonly T[]\n renderless?: Renderless\n },\n slots: {\n default: VVirtualScrollSlot<T> & (Renderless extends true ? {\n itemRef: Ref<HTMLElement | undefined>\n } : {})\n }\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const vm = getCurrentInstance('VVirtualScroll')\n const { dimensionStyles } = useDimension(props)\n const {\n calculateVisibleItems,\n containerRef,\n markerRef,\n handleScroll,\n handleScrollend,\n handleItemResize,\n scrollToIndex,\n paddingTop,\n paddingBottom,\n computedItems,\n } = useVirtual(props, toRef(props, 'items'))\n\n useToggleScope(() => props.renderless, () => {\n function handleListeners (add = false) {\n const method = add ? 'addEventListener' : 'removeEventListener'\n\n if (containerRef.value === document.documentElement) {\n document[method]('scroll', handleScroll, { passive: true })\n document[method]('scrollend', handleScrollend)\n } else {\n containerRef.value?.[method]('scroll', handleScroll, { passive: true })\n containerRef.value?.[method]('scrollend', handleScrollend)\n }\n }\n\n onMounted(() => {\n containerRef.value = getScrollParent(vm.vnode.el as HTMLElement, true)\n handleListeners(true)\n })\n onScopeDispose(handleListeners)\n })\n\n useRender(() => {\n const children = computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.key }\n renderless={ props.renderless }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slotProps => slots.default?.({ item: item.raw, index: item.index, ...slotProps }) }\n </VVirtualScrollItem>\n ))\n\n return props.renderless ? (\n <>\n <div ref={ markerRef } class=\"v-virtual-scroll__spacer\" style={{ paddingTop: convertToUnit(paddingTop.value) }} />\n { children }\n <div class=\"v-virtual-scroll__spacer\" style={{ paddingBottom: convertToUnit(paddingBottom.value) }} />\n </>\n ) : (\n <div\n ref={ containerRef }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScrollPassive={ handleScroll }\n onScrollend={ handleScrollend }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n ref={ markerRef }\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { children }\n </div>\n </div>\n )\n })\n\n return {\n calculateVisibleItems,\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n"],"mappings":"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","ignoreList":[]}