@vuetify/nightly 3.9.0-dev.2025-07-15 → 3.9.0-dev.2025-07-16

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 (45) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/dist/json/attributes.json +3261 -3241
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +202 -202
  5. package/dist/json/tags.json +5 -0
  6. package/dist/json/web-types.json +6129 -6059
  7. package/dist/vuetify-labs.cjs +204 -25
  8. package/dist/vuetify-labs.css +4800 -4798
  9. package/dist/vuetify-labs.d.ts +129 -67
  10. package/dist/vuetify-labs.esm.js +204 -25
  11. package/dist/vuetify-labs.esm.js.map +1 -1
  12. package/dist/vuetify-labs.js +204 -25
  13. package/dist/vuetify-labs.min.css +2 -2
  14. package/dist/vuetify.cjs +166 -16
  15. package/dist/vuetify.cjs.map +1 -1
  16. package/dist/vuetify.css +3987 -3985
  17. package/dist/vuetify.d.ts +119 -67
  18. package/dist/vuetify.esm.js +166 -16
  19. package/dist/vuetify.esm.js.map +1 -1
  20. package/dist/vuetify.js +166 -16
  21. package/dist/vuetify.js.map +1 -1
  22. package/dist/vuetify.min.css +2 -2
  23. package/dist/vuetify.min.js +710 -688
  24. package/dist/vuetify.min.js.map +1 -1
  25. package/lib/components/VFileInput/VFileInput.d.ts +15 -0
  26. package/lib/components/VFileInput/VFileInput.js +38 -9
  27. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  28. package/lib/components/VProgressLinear/VProgressLinear.css +1 -1
  29. package/lib/components/VProgressLinear/VProgressLinear.d.ts +75 -0
  30. package/lib/components/VProgressLinear/VProgressLinear.js +32 -6
  31. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  32. package/lib/components/VProgressLinear/VProgressLinear.sass +2 -2
  33. package/lib/components/VProgressLinear/chunks.d.ts +55 -0
  34. package/lib/components/VProgressLinear/chunks.js +62 -0
  35. package/lib/components/VProgressLinear/chunks.js.map +1 -0
  36. package/lib/composables/fileFilter.d.ts +18 -0
  37. package/lib/composables/fileFilter.js +38 -0
  38. package/lib/composables/fileFilter.js.map +1 -0
  39. package/lib/entry-bundler.js +1 -1
  40. package/lib/framework.d.ts +67 -67
  41. package/lib/framework.js +1 -1
  42. package/lib/labs/VFileUpload/VFileUpload.d.ts +15 -0
  43. package/lib/labs/VFileUpload/VFileUpload.js +39 -9
  44. package/lib/labs/VFileUpload/VFileUpload.js.map +1 -1
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VProgressLinear.js","names":["useBackgroundColor","useTextColor","makeComponentProps","useIntersectionObserver","useRtl","makeLocationProps","useLocation","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","computed","Transition","clamp","convertToUnit","genericComponent","IN_BROWSER","propsFactory","useRender","makeVProgressLinearProps","absolute","Boolean","active","type","default","bgColor","String","bgOpacity","Number","bufferValue","bufferColor","bufferOpacity","clickable","color","height","indeterminate","max","modelValue","opacity","reverse","stream","striped","roundedBar","location","VProgressLinear","name","props","emits","value","setup","_ref","slots","progress","isRtl","rtlClasses","themeClasses","locationStyles","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","bufferColorClasses","bufferColorStyles","barColorClasses","barColorStyles","roundedClasses","intersectionRef","isIntersecting","parseFloat","normalizedBuffer","normalizedValue","isReversed","transition","isForcedColorsModeActive","window","matchMedia","matches","handleClick","e","left","right","width","getBoundingClientRect","clientX","Math","round","_createVNode","tag","_normalizeClass","rounded","class","_normalizeStyle","bottom","undefined","top","style","min","_createElementVNode","borderTop","map","bar","buffer"],"sources":["../../../src/components/VProgressLinear/VProgressLinear.tsx"],"sourcesContent":["// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useRtl } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, Transition } from 'vue'\nimport { clamp, convertToUnit, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\ntype VProgressLinearSlots = {\n default: { value: number, buffer: number }\n}\n\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n bufferColor: String,\n bufferOpacity: [Number, String],\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n opacity: [Number, String],\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VProgressLinear')\n\nexport const VProgressLinear = genericComponent<VProgressLinearSlots>()({\n name: 'VProgressLinear',\n\n props: makeVProgressLinearProps(),\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl, rtlClasses } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { locationStyles } = useLocation(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.color)\n const {\n backgroundColorClasses,\n backgroundColorStyles,\n } = useBackgroundColor(() => props.bgColor || props.color)\n const {\n backgroundColorClasses: bufferColorClasses,\n backgroundColorStyles: bufferColorStyles,\n } = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color)\n const {\n backgroundColorClasses: barColorClasses,\n backgroundColorStyles: barColorStyles,\n } = useBackgroundColor(() => props.color)\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseFloat(props.max))\n const height = computed(() => parseFloat(props.height))\n const normalizedBuffer = computed(() => clamp(parseFloat(props.bufferValue) / max.value * 100, 0, 100))\n const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100))\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n useRender(() => (\n <props.tag\n ref={ intersectionRef }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...(props.absolute ? locationStyles.value : {}),\n },\n props.style,\n ]}\n role=\"progressbar\"\n aria-hidden={ props.active ? 'false' : 'true' }\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value) }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n key=\"stream\"\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: parseFloat(props.bufferOpacity!),\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n )}\n\n <div\n class={[\n 'v-progress-linear__background',\n !isForcedColorsModeActive ? backgroundColorClasses.value : undefined,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: parseFloat(props.bgOpacity!),\n width: props.stream ? 0 : undefined,\n },\n ]}\n />\n\n <div\n class={[\n 'v-progress-linear__buffer',\n !isForcedColorsModeActive ? bufferColorClasses.value : undefined,\n ]}\n style={[\n bufferColorStyles.value,\n {\n opacity: parseFloat(props.bufferOpacity!),\n width: convertToUnit(normalizedBuffer.value, '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n !isForcedColorsModeActive ? barColorClasses.value : undefined,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(normalizedValue.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n {['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n !isForcedColorsModeActive ? barColorClasses.value : undefined,\n ]}\n style={ barColorStyles.value }\n />\n ))}\n </div>\n )}\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VProgressLinear = InstanceType<typeof VProgressLinear>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,kBAAkB;AAAA,SAClBC,uBAAuB;AAAA,SACvBC,MAAM;AAAA,SACNC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,eAAe;AAAA,SACfC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,sCAErC;AACA,SAASC,QAAQ,EAAEC,UAAU,QAAQ,KAAK;AAAA,SACjCC,KAAK,EAAEC,aAAa,EAAEC,gBAAgB,EAAEC,UAAU,EAAEC,YAAY,EAAEC,SAAS;AAMpF,OAAO,MAAMC,wBAAwB,GAAGF,YAAY,CAAC;EACnDG,QAAQ,EAAEC,OAAO;EACjBC,MAAM,EAAE;IACNC,IAAI,EAAEF,OAAO;IACbG,OAAO,EAAE;EACX,CAAC;EACDC,OAAO,EAAEC,MAAM;EACfC,SAAS,EAAE,CAACC,MAAM,EAAEF,MAAM,CAAC;EAC3BG,WAAW,EAAE;IACXN,IAAI,EAAE,CAACK,MAAM,EAAEF,MAAM,CAAC;IACtBF,OAAO,EAAE;EACX,CAAC;EACDM,WAAW,EAAEJ,MAAM;EACnBK,aAAa,EAAE,CAACH,MAAM,EAAEF,MAAM,CAAC;EAC/BM,SAAS,EAAEX,OAAO;EAClBY,KAAK,EAAEP,MAAM;EACbQ,MAAM,EAAE;IACNX,IAAI,EAAE,CAACK,MAAM,EAAEF,MAAM,CAAC;IACtBF,OAAO,EAAE;EACX,CAAC;EACDW,aAAa,EAAEd,OAAO;EACtBe,GAAG,EAAE;IACHb,IAAI,EAAE,CAACK,MAAM,EAAEF,MAAM,CAAC;IACtBF,OAAO,EAAE;EACX,CAAC;EACDa,UAAU,EAAE;IACVd,IAAI,EAAE,CAACK,MAAM,EAAEF,MAAM,CAAC;IACtBF,OAAO,EAAE;EACX,CAAC;EACDc,OAAO,EAAE,CAACV,MAAM,EAAEF,MAAM,CAAC;EACzBa,OAAO,EAAElB,OAAO;EAChBmB,MAAM,EAAEnB,OAAO;EACfoB,OAAO,EAAEpB,OAAO;EAChBqB,UAAU,EAAErB,OAAO;EAEnB,GAAGrB,kBAAkB,CAAC,CAAC;EACvB,GAAGG,iBAAiB,CAAC;IAAEwC,QAAQ,EAAE;EAAM,CAAU,CAAC;EAClD,GAAGrC,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC,CAAC;EACjB,GAAGC,cAAc,CAAC;AACpB,CAAC,EAAE,iBAAiB,CAAC;AAErB,OAAO,MAAMmC,eAAe,GAAG7B,gBAAgB,CAAuB,CAAC,CAAC;EACtE8B,IAAI,EAAE,iBAAiB;EAEvBC,KAAK,EAAE3B,wBAAwB,CAAC,CAAC;EAEjC4B,KAAK,EAAE;IACL,mBAAmB,EAAGC,KAAa,IAAK;EAC1C,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,QAAQ,GAAG/C,eAAe,CAACyC,KAAK,EAAE,YAAY,CAAC;IACrD,MAAM;MAAEO,KAAK;MAAEC;IAAW,CAAC,GAAGpD,MAAM,CAAC,CAAC;IACtC,MAAM;MAAEqD;IAAa,CAAC,GAAG7C,YAAY,CAACoC,KAAK,CAAC;IAC5C,MAAM;MAAEU;IAAe,CAAC,GAAGpD,WAAW,CAAC0C,KAAK,CAAC;IAC7C,MAAM;MAAEW,gBAAgB;MAAEC;IAAgB,CAAC,GAAG3D,YAAY,CAAC,MAAM+C,KAAK,CAACb,KAAK,CAAC;IAC7E,MAAM;MACJ0B,sBAAsB;MACtBC;IACF,CAAC,GAAG9D,kBAAkB,CAAC,MAAMgD,KAAK,CAACrB,OAAO,IAAIqB,KAAK,CAACb,KAAK,CAAC;IAC1D,MAAM;MACJ0B,sBAAsB,EAAEE,kBAAkB;MAC1CD,qBAAqB,EAAEE;IACzB,CAAC,GAAGhE,kBAAkB,CAAC,MAAMgD,KAAK,CAAChB,WAAW,IAAIgB,KAAK,CAACrB,OAAO,IAAIqB,KAAK,CAACb,KAAK,CAAC;IAC/E,MAAM;MACJ0B,sBAAsB,EAAEI,eAAe;MACvCH,qBAAqB,EAAEI;IACzB,CAAC,GAAGlE,kBAAkB,CAAC,MAAMgD,KAAK,CAACb,KAAK,CAAC;IACzC,MAAM;MAAEgC;IAAe,CAAC,GAAG1D,UAAU,CAACuC,KAAK,CAAC;IAC5C,MAAM;MAAEoB,eAAe;MAAEC;IAAe,CAAC,GAAGlE,uBAAuB,CAAC,CAAC;IAErE,MAAMmC,GAAG,GAAGzB,QAAQ,CAAC,MAAMyD,UAAU,CAACtB,KAAK,CAACV,GAAG,CAAC,CAAC;IACjD,MAAMF,MAAM,GAAGvB,QAAQ,CAAC,MAAMyD,UAAU,CAACtB,KAAK,CAACZ,MAAM,CAAC,CAAC;IACvD,MAAMmC,gBAAgB,GAAG1D,QAAQ,CAAC,MAAME,KAAK,CAACuD,UAAU,CAACtB,KAAK,CAACjB,WAAW,CAAC,GAAGO,GAAG,CAACY,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACvG,MAAMsB,eAAe,GAAG3D,QAAQ,CAAC,MAAME,KAAK,CAACuD,UAAU,CAAChB,QAAQ,CAACJ,KAAK,CAAC,GAAGZ,GAAG,CAACY,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACnG,MAAMuB,UAAU,GAAG5D,QAAQ,CAAC,MAAM0C,KAAK,CAACL,KAAK,KAAKF,KAAK,CAACP,OAAO,CAAC;IAChE,MAAMiC,UAAU,GAAG7D,QAAQ,CAAC,MAAMmC,KAAK,CAACX,aAAa,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IACjG,MAAMsC,wBAAwB,GAAGzD,UAAU,IAAI0D,MAAM,CAACC,UAAU,GAAG,yBAAyB,CAAC,CAACC,OAAO;IAErG,SAASC,WAAWA,CAAEC,CAAa,EAAE;MACnC,IAAI,CAACZ,eAAe,CAAClB,KAAK,EAAE;MAE5B,MAAM;QAAE+B,IAAI;QAAEC,KAAK;QAAEC;MAAM,CAAC,GAAGf,eAAe,CAAClB,KAAK,CAACkC,qBAAqB,CAAC,CAAC;MAC5E,MAAMlC,KAAK,GAAGuB,UAAU,CAACvB,KAAK,GAAIiC,KAAK,GAAGH,CAAC,CAACK,OAAO,IAAKH,KAAK,GAAGC,KAAK,CAAC,GAAGH,CAAC,CAACK,OAAO,GAAGJ,IAAI;MAEzF3B,QAAQ,CAACJ,KAAK,GAAGoC,IAAI,CAACC,KAAK,CAACrC,KAAK,GAAGiC,KAAK,GAAG7C,GAAG,CAACY,KAAK,CAAC;IACxD;IAEA9B,SAAS,CAAC,MAAAoE,YAAA,CAAAxC,KAAA,CAAAyC,GAAA;MAAA,OAEArB,eAAe;MAAA,SAAAsB,eAAA,CACd,CACL,mBAAmB,EACnB;QACE,6BAA6B,EAAE1C,KAAK,CAAC1B,QAAQ;QAC7C,2BAA2B,EAAE0B,KAAK,CAACxB,MAAM,IAAI6C,cAAc,CAACnB,KAAK;QACjE,4BAA4B,EAAEuB,UAAU,CAACvB,KAAK;QAC9C,4BAA4B,EAAEF,KAAK,CAAC2C,OAAO;QAC3C,gCAAgC,EAAE3C,KAAK,CAACJ,UAAU;QAClD,4BAA4B,EAAEI,KAAK,CAACL;MACtC,CAAC,EACDwB,cAAc,CAACjB,KAAK,EACpBO,YAAY,CAACP,KAAK,EAClBM,UAAU,CAACN,KAAK,EAChBF,KAAK,CAAC4C,KAAK,CACZ;MAAA,SAAAC,eAAA,CACM,CACL;QACEC,MAAM,EAAE9C,KAAK,CAACH,QAAQ,KAAK,QAAQ,GAAG,CAAC,GAAGkD,SAAS;QACnDC,GAAG,EAAEhD,KAAK,CAACH,QAAQ,KAAK,KAAK,GAAG,CAAC,GAAGkD,SAAS;QAC7C3D,MAAM,EAAEY,KAAK,CAACxB,MAAM,GAAGR,aAAa,CAACoB,MAAM,CAACc,KAAK,CAAC,GAAG,CAAC;QACtD,4BAA4B,EAAElC,aAAa,CAACoB,MAAM,CAACc,KAAK,CAAC;QACzD,IAAIF,KAAK,CAAC1B,QAAQ,GAAGoC,cAAc,CAACR,KAAK,GAAG,CAAC,CAAC;MAChD,CAAC,EACDF,KAAK,CAACiD,KAAK,CACZ;MAAA;MAAA,eAEajD,KAAK,CAACxB,MAAM,GAAG,OAAO,GAAG,MAAM;MAAA;MAAA,iBAE7BwB,KAAK,CAACV,GAAG;MAAA,iBACTU,KAAK,CAACX,aAAa,GAAG0D,SAAS,GAAGT,IAAI,CAACY,GAAG,CAAC5B,UAAU,CAAChB,QAAQ,CAACJ,KAAK,CAAC,EAAEZ,GAAG,CAACY,KAAK,CAAC;MAAA,WACvFF,KAAK,CAACd,SAAS,IAAI6C;IAAW;MAAArD,OAAA,EAAAA,CAAA,MAEtCsB,KAAK,CAACN,MAAM,IAAAyD,mBAAA;QAAA;QAAA,SAAAT,eAAA,CAGH,CACL,2BAA2B,EAC3B/B,gBAAgB,CAACT,KAAK,CACvB;QAAA,SACM;UACL,GAAGU,eAAe,CAACV,KAAK;UACxB,CAACuB,UAAU,CAACvB,KAAK,GAAG,MAAM,GAAG,OAAO,GAAGlC,aAAa,CAAC,CAACoB,MAAM,CAACc,KAAK,CAAC;UACnEkD,SAAS,EAAE,GAAGpF,aAAa,CAACoB,MAAM,CAACc,KAAK,GAAG,CAAC,CAAC,SAAS;UACtDV,OAAO,EAAE8B,UAAU,CAACtB,KAAK,CAACf,aAAc,CAAC;UACzC+D,GAAG,EAAE,cAAchF,aAAa,CAACoB,MAAM,CAACc,KAAK,GAAG,CAAC,CAAC,GAAG;UACrDiC,KAAK,EAAEnE,aAAa,CAAC,GAAG,GAAGuD,gBAAgB,CAACrB,KAAK,EAAE,GAAG,CAAC;UACvD,+BAA+B,EAAElC,aAAa,CAACoB,MAAM,CAACc,KAAK,IAAIuB,UAAU,CAACvB,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3F;MAAC,QAEJ,EAAAiD,mBAAA;QAAA,SAAAT,eAAA,CAGQ,CACL,+BAA+B,EAC/B,CAACf,wBAAwB,GAAGd,sBAAsB,CAACX,KAAK,GAAG6C,SAAS,CACrE;QAAA,SAAAF,eAAA,CACM,CACL/B,qBAAqB,CAACZ,KAAK,EAC3B;UACEV,OAAO,EAAE8B,UAAU,CAACtB,KAAK,CAACnB,SAAU,CAAC;UACrCsD,KAAK,EAAEnC,KAAK,CAACN,MAAM,GAAG,CAAC,GAAGqD;QAC5B,CAAC,CACF;MAAA,UAAAI,mBAAA;QAAA,SAAAT,eAAA,CAIM,CACL,2BAA2B,EAC3B,CAACf,wBAAwB,GAAGZ,kBAAkB,CAACb,KAAK,GAAG6C,SAAS,CACjE;QAAA,SAAAF,eAAA,CACM,CACL7B,iBAAiB,CAACd,KAAK,EACvB;UACEV,OAAO,EAAE8B,UAAU,CAACtB,KAAK,CAACf,aAAc,CAAC;UACzCkD,KAAK,EAAEnE,aAAa,CAACuD,gBAAgB,CAACrB,KAAK,EAAE,GAAG;QAClD,CAAC,CACF;MAAA,UAAAsC,YAAA,CAAA1E,UAAA;QAAA,QAGgB4D,UAAU,CAACxB;MAAK;QAAAxB,OAAA,EAAAA,CAAA,MAC/B,CAACsB,KAAK,CAACX,aAAa,GAAA8D,mBAAA;UAAA,SAAAT,eAAA,CAEX,CACL,gCAAgC,EAChC,CAACf,wBAAwB,GAAGV,eAAe,CAACf,KAAK,GAAG6C,SAAS,CAC9D;UAAA,SAAAF,eAAA,CACM,CACL3B,cAAc,CAAChB,KAAK,EACpB;YAAEiC,KAAK,EAAEnE,aAAa,CAACwD,eAAe,CAACtB,KAAK,EAAE,GAAG;UAAE,CAAC,CACrD;QAAA,WAAAiD,mBAAA;UAAA;QAAA,IAIA,CAAC,MAAM,EAAE,OAAO,CAAC,CAACE,GAAG,CAACC,GAAG,IAAAH,mBAAA;UAAA,OAEhBG,GAAG;UAAA,SAAAZ,eAAA,CACF,CACL,kCAAkC,EAClCY,GAAG,EACH,CAAC3B,wBAAwB,GAAGV,eAAe,CAACf,KAAK,GAAG6C,SAAS,CAC9D;UAAA,SAAAF,eAAA,CACO3B,cAAc,CAAChB,KAAK;QAAA,QAE/B,CAAC,EAEL;MAAA,IAGDG,KAAK,CAAC3B,OAAO,IAAAyE,mBAAA;QAAA;MAAA,IAET9C,KAAK,CAAC3B,OAAO,CAAC;QAAEwB,KAAK,EAAEsB,eAAe,CAACtB,KAAK;QAAEqD,MAAM,EAAEhC,gBAAgB,CAACrB;MAAM,CAAC,CAAC,EAEpF;IAAA,EAEJ,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VProgressLinear.js","names":["useBackgroundColor","useTextColor","makeComponentProps","useIntersectionObserver","useRtl","makeLocationProps","useLocation","useProxiedModel","useResizeObserver","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","useToggleScope","computed","ref","shallowRef","Transition","watchEffect","makeChunksProps","useChunks","clamp","convertToUnit","genericComponent","IN_BROWSER","propsFactory","useRender","makeVProgressLinearProps","absolute","Boolean","active","type","default","bgColor","String","bgOpacity","Number","bufferValue","bufferColor","bufferOpacity","clickable","color","height","indeterminate","max","modelValue","opacity","reverse","stream","striped","roundedBar","location","VProgressLinear","name","props","emits","value","setup","_ref","slots","root","progress","isRtl","rtlClasses","themeClasses","locationStyles","textColorClasses","textColorStyles","backgroundColorClasses","backgroundColorStyles","bufferColorClasses","bufferColorStyles","barColorClasses","barColorStyles","roundedClasses","intersectionRef","isIntersecting","parseFloat","normalizedBuffer","normalizedValue","isReversed","transition","isForcedColorsModeActive","window","matchMedia","matches","containerWidth","hasChunks","chunksMaskStyles","snapValueToChunk","resizeRef","entries","contentRect","width","bufferWidth","barWidth","handleClick","e","left","right","getBoundingClientRect","clientX","Math","round","_createVNode","tag","_normalizeClass","rounded","class","_normalizeStyle","bottom","undefined","top","style","min","_createElementVNode","borderTop","map","bar","buffer"],"sources":["../../../src/components/VProgressLinear/VProgressLinear.tsx"],"sourcesContent":["// Styles\nimport './VProgressLinear.sass'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { useIntersectionObserver } from '@/composables/intersectionObserver'\nimport { useRtl } from '@/composables/locale'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { useToggleScope } from '@/composables/toggleScope'\n\n// Utilities\nimport { computed, ref, shallowRef, Transition, watchEffect } from 'vue'\nimport { makeChunksProps, useChunks } from './chunks'\nimport { clamp, convertToUnit, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\ntype VProgressLinearSlots = {\n default: { value: number, buffer: number }\n}\n\nexport const makeVProgressLinearProps = propsFactory({\n absolute: Boolean,\n active: {\n type: Boolean,\n default: true,\n },\n bgColor: String,\n bgOpacity: [Number, String],\n bufferValue: {\n type: [Number, String],\n default: 0,\n },\n bufferColor: String,\n bufferOpacity: [Number, String],\n clickable: Boolean,\n color: String,\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n opacity: [Number, String],\n reverse: Boolean,\n stream: Boolean,\n striped: Boolean,\n roundedBar: Boolean,\n\n ...makeChunksProps(),\n ...makeComponentProps(),\n ...makeLocationProps({ location: 'top' } as const),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VProgressLinear')\n\nexport const VProgressLinear = genericComponent<VProgressLinearSlots>()({\n name: 'VProgressLinear',\n\n props: makeVProgressLinearProps(),\n\n emits: {\n 'update:modelValue': (value: number) => true,\n },\n\n setup (props, { slots }) {\n const root = ref<HTMLElement>()\n\n const progress = useProxiedModel(props, 'modelValue')\n const { isRtl, rtlClasses } = useRtl()\n const { themeClasses } = provideTheme(props)\n const { locationStyles } = useLocation(props)\n const { textColorClasses, textColorStyles } = useTextColor(() => props.color)\n const {\n backgroundColorClasses,\n backgroundColorStyles,\n } = useBackgroundColor(() => props.bgColor || props.color)\n const {\n backgroundColorClasses: bufferColorClasses,\n backgroundColorStyles: bufferColorStyles,\n } = useBackgroundColor(() => props.bufferColor || props.bgColor || props.color)\n const {\n backgroundColorClasses: barColorClasses,\n backgroundColorStyles: barColorStyles,\n } = useBackgroundColor(() => props.color)\n const { roundedClasses } = useRounded(props)\n const { intersectionRef, isIntersecting } = useIntersectionObserver()\n\n const max = computed(() => parseFloat(props.max))\n const height = computed(() => parseFloat(props.height))\n const normalizedBuffer = computed(() => clamp(parseFloat(props.bufferValue) / max.value * 100, 0, 100))\n const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100))\n const isReversed = computed(() => isRtl.value !== props.reverse)\n const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition')\n const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches\n\n const containerWidth = shallowRef(0)\n const { hasChunks, chunksMaskStyles, snapValueToChunk } = useChunks(props, containerWidth)\n useToggleScope(hasChunks, () => {\n const { resizeRef } = useResizeObserver(entries => containerWidth.value = entries[0].contentRect.width)\n watchEffect(() => resizeRef.value = root.value)\n })\n\n const bufferWidth = computed(() => {\n return hasChunks.value\n ? snapValueToChunk(normalizedBuffer.value)\n : normalizedBuffer.value\n })\n\n const barWidth = computed(() => {\n return hasChunks.value\n ? snapValueToChunk(normalizedValue.value)\n : normalizedValue.value\n })\n\n function handleClick (e: MouseEvent) {\n if (!intersectionRef.value) return\n\n const { left, right, width } = intersectionRef.value.getBoundingClientRect()\n const value = isReversed.value ? (width - e.clientX) + (right - width) : e.clientX - left\n\n progress.value = Math.round(value / width * max.value)\n }\n\n watchEffect(() => {\n intersectionRef.value = root.value\n })\n\n useRender(() => (\n <props.tag\n ref={ root }\n class={[\n 'v-progress-linear',\n {\n 'v-progress-linear--absolute': props.absolute,\n 'v-progress-linear--active': props.active && isIntersecting.value,\n 'v-progress-linear--reverse': isReversed.value,\n 'v-progress-linear--rounded': props.rounded,\n 'v-progress-linear--rounded-bar': props.roundedBar,\n 'v-progress-linear--striped': props.striped,\n },\n roundedClasses.value,\n themeClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n {\n bottom: props.location === 'bottom' ? 0 : undefined,\n top: props.location === 'top' ? 0 : undefined,\n height: props.active ? convertToUnit(height.value) : 0,\n '--v-progress-linear-height': convertToUnit(height.value),\n ...(props.absolute ? locationStyles.value : {}),\n },\n chunksMaskStyles.value,\n props.style,\n ]}\n role=\"progressbar\"\n aria-hidden={ props.active ? 'false' : 'true' }\n aria-valuemin=\"0\"\n aria-valuemax={ props.max }\n aria-valuenow={ props.indeterminate ? undefined : Math.min(parseFloat(progress.value), max.value) }\n onClick={ props.clickable && handleClick }\n >\n { props.stream && (\n <div\n key=\"stream\"\n class={[\n 'v-progress-linear__stream',\n textColorClasses.value,\n ]}\n style={{\n ...textColorStyles.value,\n [isReversed.value ? 'left' : 'right']: convertToUnit(-height.value),\n borderTop: `${convertToUnit(height.value / 2)} dotted`,\n opacity: parseFloat(props.bufferOpacity!),\n top: `calc(50% - ${convertToUnit(height.value / 4)})`,\n width: convertToUnit(100 - normalizedBuffer.value, '%'),\n '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1)),\n }}\n />\n )}\n\n <div\n class={[\n 'v-progress-linear__background',\n !isForcedColorsModeActive ? backgroundColorClasses.value : undefined,\n ]}\n style={[\n backgroundColorStyles.value,\n {\n opacity: parseFloat(props.bgOpacity!),\n width: props.stream ? 0 : undefined,\n },\n ]}\n />\n\n <div\n class={[\n 'v-progress-linear__buffer',\n !isForcedColorsModeActive ? bufferColorClasses.value : undefined,\n ]}\n style={[\n bufferColorStyles.value,\n {\n opacity: parseFloat(props.bufferOpacity!),\n width: convertToUnit(bufferWidth.value, '%'),\n },\n ]}\n />\n\n <Transition name={ transition.value }>\n { !props.indeterminate ? (\n <div\n class={[\n 'v-progress-linear__determinate',\n !isForcedColorsModeActive ? barColorClasses.value : undefined,\n ]}\n style={[\n barColorStyles.value,\n { width: convertToUnit(barWidth.value, '%') },\n ]}\n />\n ) : (\n <div class=\"v-progress-linear__indeterminate\">\n {['long', 'short'].map(bar => (\n <div\n key={ bar }\n class={[\n 'v-progress-linear__indeterminate',\n bar,\n !isForcedColorsModeActive ? barColorClasses.value : undefined,\n ]}\n style={ barColorStyles.value }\n />\n ))}\n </div>\n )}\n </Transition>\n\n { slots.default && (\n <div class=\"v-progress-linear__content\">\n { slots.default({ value: normalizedValue.value, buffer: normalizedBuffer.value }) }\n </div>\n )}\n </props.tag>\n ))\n\n return {}\n },\n})\n\nexport type VProgressLinear = InstanceType<typeof VProgressLinear>\n"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,7 @@
7
7
  background: transparent
8
8
  overflow: hidden
9
9
  position: relative
10
- transition: $progress-linear-transition
10
+ transition: $progress-linear-transition, mask-size 0s
11
11
  width: 100%
12
12
 
13
13
  &--rounded
@@ -28,7 +28,7 @@
28
28
  width: 100%
29
29
  transition-property: width, left, right
30
30
  transition: inherit
31
-
31
+
32
32
  @media (forced-colors: active)
33
33
  .v-progress-linear__buffer
34
34
  background-color: highlight
@@ -0,0 +1,55 @@
1
+ import type { MaybeRefOrGetter } from 'vue';
2
+ export interface ChunksProps {
3
+ chunkCount: number | string;
4
+ chunkWidth: number | string;
5
+ chunkGap: number | string;
6
+ }
7
+ export declare const makeChunksProps: <Defaults extends {
8
+ chunkCount?: unknown;
9
+ chunkWidth?: unknown;
10
+ chunkGap?: unknown;
11
+ } = {}>(defaults?: Defaults | undefined) => {
12
+ chunkCount: unknown extends Defaults["chunkCount"] ? {
13
+ type: (StringConstructor | NumberConstructor)[];
14
+ default: null;
15
+ } : Omit<{
16
+ type: (StringConstructor | NumberConstructor)[];
17
+ default: null;
18
+ }, "type" | "default"> & {
19
+ type: import("vue").PropType<unknown extends Defaults["chunkCount"] ? string | number : string | number | Defaults["chunkCount"]>;
20
+ default: unknown extends Defaults["chunkCount"] ? string | number : NonNullable<string | number> | Defaults["chunkCount"];
21
+ };
22
+ chunkWidth: unknown extends Defaults["chunkWidth"] ? {
23
+ type: (StringConstructor | NumberConstructor)[];
24
+ default: null;
25
+ } : Omit<{
26
+ type: (StringConstructor | NumberConstructor)[];
27
+ default: null;
28
+ }, "type" | "default"> & {
29
+ type: import("vue").PropType<unknown extends Defaults["chunkWidth"] ? string | number : string | number | Defaults["chunkWidth"]>;
30
+ default: unknown extends Defaults["chunkWidth"] ? string | number : NonNullable<string | number> | Defaults["chunkWidth"];
31
+ };
32
+ chunkGap: unknown extends Defaults["chunkGap"] ? {
33
+ type: (StringConstructor | NumberConstructor)[];
34
+ default: number;
35
+ } : Omit<{
36
+ type: (StringConstructor | NumberConstructor)[];
37
+ default: number;
38
+ }, "type" | "default"> & {
39
+ type: import("vue").PropType<unknown extends Defaults["chunkGap"] ? string | number : string | number | Defaults["chunkGap"]>;
40
+ default: unknown extends Defaults["chunkGap"] ? string | number : NonNullable<string | number> | Defaults["chunkGap"];
41
+ };
42
+ };
43
+ export declare function useChunks(props: ChunksProps, containerWidth: MaybeRefOrGetter<number | undefined>): {
44
+ hasChunks: Readonly<import("vue").Ref<boolean, boolean>>;
45
+ chunksMaskStyles: import("vue").ComputedRef<{
46
+ maskRepeat?: undefined;
47
+ maskImage?: undefined;
48
+ maskSize?: undefined;
49
+ } | {
50
+ maskRepeat: string;
51
+ maskImage: string;
52
+ maskSize: string;
53
+ }>;
54
+ snapValueToChunk: (val: number) => number;
55
+ };
@@ -0,0 +1,62 @@
1
+ // Utilities
2
+ import { computed, toRef, toValue } from 'vue';
3
+ import { clamp, convertToUnit, propsFactory } from "../../util/index.js"; // Types
4
+ // Composables
5
+ export const makeChunksProps = propsFactory({
6
+ chunkCount: {
7
+ type: [Number, String],
8
+ default: null
9
+ },
10
+ chunkWidth: {
11
+ type: [Number, String],
12
+ default: null
13
+ },
14
+ chunkGap: {
15
+ type: [Number, String],
16
+ default: 4
17
+ }
18
+ }, 'chunks');
19
+ export function useChunks(props, containerWidth) {
20
+ const hasChunks = toRef(() => !!props.chunkCount || !!props.chunkWidth);
21
+ const chunkWidth = computed(() => {
22
+ const containerSize = toValue(containerWidth);
23
+ if (!containerSize) {
24
+ return 0;
25
+ }
26
+ if (!props.chunkCount) {
27
+ return Number(props.chunkWidth);
28
+ }
29
+ const count = Number(props.chunkCount);
30
+ const availableWidth = containerSize - Number(props.chunkGap) * (count - 1);
31
+ return availableWidth / count;
32
+ });
33
+ const chunkGap = toRef(() => Number(props.chunkGap));
34
+ const chunksMaskStyles = computed(() => {
35
+ if (!hasChunks.value) {
36
+ return {};
37
+ }
38
+ const chunkGapPx = convertToUnit(chunkGap.value);
39
+ const chunkWidthPx = convertToUnit(chunkWidth.value);
40
+ return {
41
+ maskRepeat: 'repeat-x',
42
+ maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,
43
+ maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%`
44
+ };
45
+ });
46
+ function snapValueToChunk(val) {
47
+ const containerSize = toValue(containerWidth);
48
+ if (!containerSize) {
49
+ return val;
50
+ }
51
+ const gapRelativeSize = 100 * chunkGap.value / containerSize;
52
+ const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize;
53
+ const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize);
54
+ return clamp(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100);
55
+ }
56
+ return {
57
+ hasChunks,
58
+ chunksMaskStyles,
59
+ snapValueToChunk
60
+ };
61
+ }
62
+ //# sourceMappingURL=chunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks.js","names":["computed","toRef","toValue","clamp","convertToUnit","propsFactory","makeChunksProps","chunkCount","type","Number","String","default","chunkWidth","chunkGap","useChunks","props","containerWidth","hasChunks","containerSize","count","availableWidth","chunksMaskStyles","value","chunkGapPx","chunkWidthPx","maskRepeat","maskImage","maskSize","snapValueToChunk","val","gapRelativeSize","chunkRelativeSize","filledChunks","Math","floor"],"sources":["../../../src/components/VProgressLinear/chunks.ts"],"sourcesContent":["// Utilities\nimport { computed, toRef, toValue } from 'vue'\nimport { clamp, convertToUnit, propsFactory } from '@/util'\n\n// Types\nimport type { MaybeRefOrGetter } from 'vue'\n\nexport interface ChunksProps {\n chunkCount: number | string\n chunkWidth: number | string\n chunkGap: number | string\n}\n\n// Composables\nexport const makeChunksProps = propsFactory({\n chunkCount: {\n type: [Number, String],\n default: null,\n },\n chunkWidth: {\n type: [Number, String],\n default: null,\n },\n chunkGap: {\n type: [Number, String],\n default: 4,\n },\n}, 'chunks')\n\nexport function useChunks (\n props: ChunksProps,\n containerWidth: MaybeRefOrGetter<number | undefined>,\n) {\n const hasChunks = toRef(() => !!props.chunkCount || !!props.chunkWidth)\n\n const chunkWidth = computed(() => {\n const containerSize = toValue(containerWidth)\n if (!containerSize) {\n return 0\n }\n\n if (!props.chunkCount) {\n return Number(props.chunkWidth)\n }\n\n const count = Number(props.chunkCount)\n const availableWidth = containerSize - Number(props.chunkGap) * (count - 1)\n return availableWidth / count\n })\n\n const chunkGap = toRef(() => Number(props.chunkGap))\n const chunksMaskStyles = computed(() => {\n if (!hasChunks.value) {\n return {}\n }\n\n const chunkGapPx = convertToUnit(chunkGap.value)\n const chunkWidthPx = convertToUnit(chunkWidth.value)\n\n return {\n maskRepeat: 'repeat-x',\n maskImage: `linear-gradient(90deg, #000, #000 ${chunkWidthPx}, transparent ${chunkWidthPx}, transparent)`,\n maskSize: `calc(${chunkWidthPx} + ${chunkGapPx}) 100%`,\n }\n })\n\n function snapValueToChunk (val: number) {\n const containerSize = toValue(containerWidth)\n if (!containerSize) {\n return val\n }\n\n const gapRelativeSize = 100 * chunkGap.value / containerSize\n const chunkRelativeSize = 100 * (chunkWidth.value + chunkGap.value) / containerSize\n const filledChunks = Math.floor((val + gapRelativeSize) / chunkRelativeSize)\n return clamp(0, filledChunks * chunkRelativeSize - gapRelativeSize / 2, 100)\n }\n\n return {\n hasChunks,\n chunksMaskStyles,\n snapValueToChunk,\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,EAAEC,KAAK,EAAEC,OAAO,QAAQ,KAAK;AAAA,SACrCC,KAAK,EAAEC,aAAa,EAAEC,YAAY,+BAE3C;AASA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,UAAU,EAAE;IACVC,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVJ,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX,CAAC;EACDE,QAAQ,EAAE;IACRL,IAAI,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX;AACF,CAAC,EAAE,QAAQ,CAAC;AAEZ,OAAO,SAASG,SAASA,CACvBC,KAAkB,EAClBC,cAAoD,EACpD;EACA,MAAMC,SAAS,GAAGhB,KAAK,CAAC,MAAM,CAAC,CAACc,KAAK,CAACR,UAAU,IAAI,CAAC,CAACQ,KAAK,CAACH,UAAU,CAAC;EAEvE,MAAMA,UAAU,GAAGZ,QAAQ,CAAC,MAAM;IAChC,MAAMkB,aAAa,GAAGhB,OAAO,CAACc,cAAc,CAAC;IAC7C,IAAI,CAACE,aAAa,EAAE;MAClB,OAAO,CAAC;IACV;IAEA,IAAI,CAACH,KAAK,CAACR,UAAU,EAAE;MACrB,OAAOE,MAAM,CAACM,KAAK,CAACH,UAAU,CAAC;IACjC;IAEA,MAAMO,KAAK,GAAGV,MAAM,CAACM,KAAK,CAACR,UAAU,CAAC;IACtC,MAAMa,cAAc,GAAGF,aAAa,GAAGT,MAAM,CAACM,KAAK,CAACF,QAAQ,CAAC,IAAIM,KAAK,GAAG,CAAC,CAAC;IAC3E,OAAOC,cAAc,GAAGD,KAAK;EAC/B,CAAC,CAAC;EAEF,MAAMN,QAAQ,GAAGZ,KAAK,CAAC,MAAMQ,MAAM,CAACM,KAAK,CAACF,QAAQ,CAAC,CAAC;EACpD,MAAMQ,gBAAgB,GAAGrB,QAAQ,CAAC,MAAM;IACtC,IAAI,CAACiB,SAAS,CAACK,KAAK,EAAE;MACpB,OAAO,CAAC,CAAC;IACX;IAEA,MAAMC,UAAU,GAAGnB,aAAa,CAACS,QAAQ,CAACS,KAAK,CAAC;IAChD,MAAME,YAAY,GAAGpB,aAAa,CAACQ,UAAU,CAACU,KAAK,CAAC;IAEpD,OAAO;MACLG,UAAU,EAAE,UAAU;MACtBC,SAAS,EAAE,qCAAqCF,YAAY,iBAAiBA,YAAY,gBAAgB;MACzGG,QAAQ,EAAE,QAAQH,YAAY,MAAMD,UAAU;IAChD,CAAC;EACH,CAAC,CAAC;EAEF,SAASK,gBAAgBA,CAAEC,GAAW,EAAE;IACtC,MAAMX,aAAa,GAAGhB,OAAO,CAACc,cAAc,CAAC;IAC7C,IAAI,CAACE,aAAa,EAAE;MAClB,OAAOW,GAAG;IACZ;IAEA,MAAMC,eAAe,GAAG,GAAG,GAAGjB,QAAQ,CAACS,KAAK,GAAGJ,aAAa;IAC5D,MAAMa,iBAAiB,GAAG,GAAG,IAAInB,UAAU,CAACU,KAAK,GAAGT,QAAQ,CAACS,KAAK,CAAC,GAAGJ,aAAa;IACnF,MAAMc,YAAY,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACL,GAAG,GAAGC,eAAe,IAAIC,iBAAiB,CAAC;IAC5E,OAAO5B,KAAK,CAAC,CAAC,EAAE6B,YAAY,GAAGD,iBAAiB,GAAGD,eAAe,GAAG,CAAC,EAAE,GAAG,CAAC;EAC9E;EAEA,OAAO;IACLb,SAAS;IACTI,gBAAgB;IAChBO;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ export interface FileFilterProps {
2
+ filterByType?: string;
3
+ }
4
+ export type FileFilterResult = {
5
+ accepted: File[];
6
+ rejected: File[];
7
+ };
8
+ export declare const makeFileFilterProps: <Defaults extends {
9
+ filterByType?: unknown;
10
+ } = {}>(defaults?: Defaults | undefined) => {
11
+ filterByType: unknown extends Defaults["filterByType"] ? StringConstructor : {
12
+ type: import("vue").PropType<unknown extends Defaults["filterByType"] ? string : string | Defaults["filterByType"]>;
13
+ default: unknown extends Defaults["filterByType"] ? string : string | Defaults["filterByType"];
14
+ };
15
+ };
16
+ export declare function useFileFilter(props: FileFilterProps): {
17
+ filterAccepted: (files: File[]) => FileFilterResult;
18
+ };
@@ -0,0 +1,38 @@
1
+ // Utilities
2
+ import { computed } from 'vue';
3
+ import { propsFactory } from "../util/index.js";
4
+ // Composables
5
+ export const makeFileFilterProps = propsFactory({
6
+ filterByType: String
7
+ }, 'file-accept');
8
+ export function useFileFilter(props) {
9
+ const fileFilter = computed(() => props.filterByType ? createFilter(props.filterByType) : null);
10
+ function filterAccepted(files) {
11
+ if (fileFilter.value) {
12
+ const accepted = files.filter(fileFilter.value);
13
+ return {
14
+ accepted,
15
+ rejected: files.filter(f => !accepted.includes(f))
16
+ };
17
+ }
18
+ return {
19
+ accepted: files,
20
+ rejected: []
21
+ };
22
+ }
23
+ return {
24
+ filterAccepted
25
+ };
26
+ }
27
+ function createFilter(v) {
28
+ const types = v.split(',').map(x => x.trim().toLowerCase());
29
+ const extensionsToMatch = types.filter(x => x.startsWith('.'));
30
+ const wildcards = types.filter(x => x.endsWith('/*'));
31
+ const typesToMatch = types.filter(x => !extensionsToMatch.includes(x) && !wildcards.includes(x));
32
+ return file => {
33
+ const extension = file.name.split('.').at(-1)?.toLowerCase() ?? '';
34
+ const typeGroup = file.type.split('/').at(0)?.toLowerCase() ?? '';
35
+ return typesToMatch.includes(file.type) || extensionsToMatch.includes(`.${extension}`) || wildcards.includes(`${typeGroup}/*`);
36
+ };
37
+ }
38
+ //# sourceMappingURL=fileFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileFilter.js","names":["computed","propsFactory","makeFileFilterProps","filterByType","String","useFileFilter","props","fileFilter","createFilter","filterAccepted","files","value","accepted","filter","rejected","f","includes","v","types","split","map","x","trim","toLowerCase","extensionsToMatch","startsWith","wildcards","endsWith","typesToMatch","file","extension","name","at","typeGroup","type"],"sources":["../../src/composables/fileFilter.ts"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { propsFactory } from '@/util'\n\nexport interface FileFilterProps {\n filterByType?: string\n}\n\nexport type FileFilterResult = {\n accepted: File[]\n rejected: File[]\n}\n\n// Composables\nexport const makeFileFilterProps = propsFactory({\n filterByType: String,\n}, 'file-accept')\n\nexport function useFileFilter (props: FileFilterProps) {\n const fileFilter = computed(() => props.filterByType ? createFilter(props.filterByType) : null)\n\n function filterAccepted (files: File[]): FileFilterResult {\n if (fileFilter.value) {\n const accepted = files.filter(fileFilter.value)\n return {\n accepted,\n rejected: files.filter(f => !accepted.includes(f)),\n }\n }\n return {\n accepted: files,\n rejected: [],\n }\n }\n\n return {\n filterAccepted,\n }\n}\n\nfunction createFilter (v: string): ((v: File) => boolean) {\n const types = v.split(',').map(x => x.trim().toLowerCase())\n const extensionsToMatch = types.filter(x => x.startsWith('.'))\n const wildcards = types.filter(x => x.endsWith('/*'))\n const typesToMatch = types.filter(x => !extensionsToMatch.includes(x) && !wildcards.includes(x))\n\n return (file: File): boolean => {\n const extension = file.name.split('.').at(-1)?.toLowerCase() ?? ''\n const typeGroup = file.type.split('/').at(0)?.toLowerCase() ?? ''\n return typesToMatch.includes(file.type) ||\n extensionsToMatch.includes(`.${extension}`) ||\n wildcards.includes(`${typeGroup}/*`)\n }\n}\n"],"mappings":"AAAA;AACA,SAASA,QAAQ,QAAQ,KAAK;AAAA,SACrBC,YAAY;AAWrB;AACA,OAAO,MAAMC,mBAAmB,GAAGD,YAAY,CAAC;EAC9CE,YAAY,EAAEC;AAChB,CAAC,EAAE,aAAa,CAAC;AAEjB,OAAO,SAASC,aAAaA,CAAEC,KAAsB,EAAE;EACrD,MAAMC,UAAU,GAAGP,QAAQ,CAAC,MAAMM,KAAK,CAACH,YAAY,GAAGK,YAAY,CAACF,KAAK,CAACH,YAAY,CAAC,GAAG,IAAI,CAAC;EAE/F,SAASM,cAAcA,CAAEC,KAAa,EAAoB;IACxD,IAAIH,UAAU,CAACI,KAAK,EAAE;MACpB,MAAMC,QAAQ,GAAGF,KAAK,CAACG,MAAM,CAACN,UAAU,CAACI,KAAK,CAAC;MAC/C,OAAO;QACLC,QAAQ;QACRE,QAAQ,EAAEJ,KAAK,CAACG,MAAM,CAACE,CAAC,IAAI,CAACH,QAAQ,CAACI,QAAQ,CAACD,CAAC,CAAC;MACnD,CAAC;IACH;IACA,OAAO;MACLH,QAAQ,EAAEF,KAAK;MACfI,QAAQ,EAAE;IACZ,CAAC;EACH;EAEA,OAAO;IACLL;EACF,CAAC;AACH;AAEA,SAASD,YAAYA,CAAES,CAAS,EAA0B;EACxD,MAAMC,KAAK,GAAGD,CAAC,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;EAC3D,MAAMC,iBAAiB,GAAGN,KAAK,CAACL,MAAM,CAACQ,CAAC,IAAIA,CAAC,CAACI,UAAU,CAAC,GAAG,CAAC,CAAC;EAC9D,MAAMC,SAAS,GAAGR,KAAK,CAACL,MAAM,CAACQ,CAAC,IAAIA,CAAC,CAACM,QAAQ,CAAC,IAAI,CAAC,CAAC;EACrD,MAAMC,YAAY,GAAGV,KAAK,CAACL,MAAM,CAACQ,CAAC,IAAI,CAACG,iBAAiB,CAACR,QAAQ,CAACK,CAAC,CAAC,IAAI,CAACK,SAAS,CAACV,QAAQ,CAACK,CAAC,CAAC,CAAC;EAEhG,OAAQQ,IAAU,IAAc;IAC9B,MAAMC,SAAS,GAAGD,IAAI,CAACE,IAAI,CAACZ,KAAK,CAAC,GAAG,CAAC,CAACa,EAAE,CAAC,CAAC,CAAC,CAAC,EAAET,WAAW,CAAC,CAAC,IAAI,EAAE;IAClE,MAAMU,SAAS,GAAGJ,IAAI,CAACK,IAAI,CAACf,KAAK,CAAC,GAAG,CAAC,CAACa,EAAE,CAAC,CAAC,CAAC,EAAET,WAAW,CAAC,CAAC,IAAI,EAAE;IACjE,OAAOK,YAAY,CAACZ,QAAQ,CAACa,IAAI,CAACK,IAAI,CAAC,IACrCV,iBAAiB,CAACR,QAAQ,CAAC,IAAIc,SAAS,EAAE,CAAC,IAC3CJ,SAAS,CAACV,QAAQ,CAAC,GAAGiB,SAAS,IAAI,CAAC;EACxC,CAAC;AACH","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.9.0-dev.2025-07-15";
19
+ export const version = "3.9.0-dev.2025-07-16";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2577,75 +2577,75 @@ declare module 'vue' {
2577
2577
  $children?: VNodeChild
2578
2578
  }
2579
2579
  export interface GlobalComponents {
2580
+ VApp: typeof import('vuetify/components')['VApp']
2580
2581
  VAlert: typeof import('vuetify/components')['VAlert']
2581
2582
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2582
- VApp: typeof import('vuetify/components')['VApp']
2583
- VAvatar: typeof import('vuetify/components')['VAvatar']
2584
2583
  VAppBar: typeof import('vuetify/components')['VAppBar']
2585
2584
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2586
2585
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2587
- VBadge: typeof import('vuetify/components')['VBadge']
2588
- VBanner: typeof import('vuetify/components')['VBanner']
2589
- VBannerActions: typeof import('vuetify/components')['VBannerActions']
2590
- VBannerText: typeof import('vuetify/components')['VBannerText']
2591
2586
  VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2587
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2588
+ VBadge: typeof import('vuetify/components')['VBadge']
2592
2589
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2590
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2593
2591
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2594
2592
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2595
2593
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2596
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2597
2594
  VBtn: typeof import('vuetify/components')['VBtn']
2595
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2598
2596
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
2599
2597
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2600
- VCarousel: typeof import('vuetify/components')['VCarousel']
2601
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2602
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2603
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2604
2598
  VCard: typeof import('vuetify/components')['VCard']
2605
2599
  VCardActions: typeof import('vuetify/components')['VCardActions']
2606
2600
  VCardItem: typeof import('vuetify/components')['VCardItem']
2607
2601
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2608
2602
  VCardText: typeof import('vuetify/components')['VCardText']
2609
2603
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2610
- VChip: typeof import('vuetify/components')['VChip']
2604
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2605
+ VCarousel: typeof import('vuetify/components')['VCarousel']
2606
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2611
2607
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
2608
+ VChip: typeof import('vuetify/components')['VChip']
2612
2609
  VCombobox: typeof import('vuetify/components')['VCombobox']
2610
+ VCode: typeof import('vuetify/components')['VCode']
2611
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2612
+ VDataTable: typeof import('vuetify/components')['VDataTable']
2613
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2614
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2615
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2616
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2617
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2618
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2619
+ VCounter: typeof import('vuetify/components')['VCounter']
2620
+ VDialog: typeof import('vuetify/components')['VDialog']
2613
2621
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2614
2622
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2615
2623
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
2616
2624
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
2617
2625
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2618
2626
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2619
- VCounter: typeof import('vuetify/components')['VCounter']
2620
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2621
- VCode: typeof import('vuetify/components')['VCode']
2627
+ VDivider: typeof import('vuetify/components')['VDivider']
2628
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2629
+ VFab: typeof import('vuetify/components')['VFab']
2622
2630
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2623
2631
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2624
2632
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2625
2633
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2626
- VDivider: typeof import('vuetify/components')['VDivider']
2627
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2628
- VDataTable: typeof import('vuetify/components')['VDataTable']
2629
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2630
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
2631
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
2632
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2633
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2634
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2635
- VDialog: typeof import('vuetify/components')['VDialog']
2636
2634
  VField: typeof import('vuetify/components')['VField']
2637
2635
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2638
2636
  VFileInput: typeof import('vuetify/components')['VFileInput']
2639
2637
  VFooter: typeof import('vuetify/components')['VFooter']
2640
- VFab: typeof import('vuetify/components')['VFab']
2641
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
2642
- VItem: typeof import('vuetify/components')['VItem']
2643
2638
  VImg: typeof import('vuetify/components')['VImg']
2644
- VLabel: typeof import('vuetify/components')['VLabel']
2639
+ VIcon: typeof import('vuetify/components')['VIcon']
2640
+ VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2641
+ VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2642
+ VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2643
+ VClassIcon: typeof import('vuetify/components')['VClassIcon']
2645
2644
  VKbd: typeof import('vuetify/components')['VKbd']
2646
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2647
2645
  VInput: typeof import('vuetify/components')['VInput']
2648
- VMenu: typeof import('vuetify/components')['VMenu']
2646
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
2647
+ VItem: typeof import('vuetify/components')['VItem']
2648
+ VLabel: typeof import('vuetify/components')['VLabel']
2649
2649
  VList: typeof import('vuetify/components')['VList']
2650
2650
  VListGroup: typeof import('vuetify/components')['VListGroup']
2651
2651
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2657,53 +2657,49 @@ declare module 'vue' {
2657
2657
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2658
2658
  VMain: typeof import('vuetify/components')['VMain']
2659
2659
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2660
- VIcon: typeof import('vuetify/components')['VIcon']
2661
- VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2662
- VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2663
- VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2664
- VClassIcon: typeof import('vuetify/components')['VClassIcon']
2665
2660
  VMessages: typeof import('vuetify/components')['VMessages']
2666
- VNumberInput: typeof import('vuetify/components')['VNumberInput']
2661
+ VMenu: typeof import('vuetify/components')['VMenu']
2667
2662
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2668
- VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2669
2663
  VOverlay: typeof import('vuetify/components')['VOverlay']
2670
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2671
2664
  VPagination: typeof import('vuetify/components')['VPagination']
2665
+ VNumberInput: typeof import('vuetify/components')['VNumberInput']
2666
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2667
+ VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2672
2668
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2673
- VSelect: typeof import('vuetify/components')['VSelect']
2674
- VRating: typeof import('vuetify/components')['VRating']
2675
- VSlider: typeof import('vuetify/components')['VSlider']
2676
2669
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2677
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2670
+ VRating: typeof import('vuetify/components')['VRating']
2671
+ VSelect: typeof import('vuetify/components')['VSelect']
2678
2672
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2679
2673
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2674
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2675
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2676
+ VSlider: typeof import('vuetify/components')['VSlider']
2680
2677
  VSheet: typeof import('vuetify/components')['VSheet']
2681
2678
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2682
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2683
- VTab: typeof import('vuetify/components')['VTab']
2684
- VTabs: typeof import('vuetify/components')['VTabs']
2685
- VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2686
- VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2687
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
2688
2679
  VStepper: typeof import('vuetify/components')['VStepper']
2689
2680
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2690
2681
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2691
2682
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2692
2683
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2693
2684
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2685
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
2686
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2694
2687
  VTable: typeof import('vuetify/components')['VTable']
2688
+ VTab: typeof import('vuetify/components')['VTab']
2689
+ VTabs: typeof import('vuetify/components')['VTabs']
2690
+ VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2691
+ VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2692
+ VTextField: typeof import('vuetify/components')['VTextField']
2695
2693
  VTextarea: typeof import('vuetify/components')['VTextarea']
2696
- VSwitch: typeof import('vuetify/components')['VSwitch']
2694
+ VTimePicker: typeof import('vuetify/components')['VTimePicker']
2695
+ VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2696
+ VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2697
2697
  VTimeline: typeof import('vuetify/components')['VTimeline']
2698
2698
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2699
2699
  VToolbar: typeof import('vuetify/components')['VToolbar']
2700
2700
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2701
2701
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2702
2702
  VTooltip: typeof import('vuetify/components')['VTooltip']
2703
- VTimePicker: typeof import('vuetify/components')['VTimePicker']
2704
- VTimePickerClock: typeof import('vuetify/components')['VTimePickerClock']
2705
- VTimePickerControls: typeof import('vuetify/components')['VTimePickerControls']
2706
- VTextField: typeof import('vuetify/components')['VTextField']
2707
2703
  VTreeview: typeof import('vuetify/components')['VTreeview']
2708
2704
  VTreeviewItem: typeof import('vuetify/components')['VTreeviewItem']
2709
2705
  VTreeviewGroup: typeof import('vuetify/components')['VTreeviewGroup']
@@ -2712,25 +2708,29 @@ declare module 'vue' {
2712
2708
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2713
2709
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2714
2710
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
2715
- VForm: typeof import('vuetify/components')['VForm']
2716
2711
  VContainer: typeof import('vuetify/components')['VContainer']
2717
2712
  VCol: typeof import('vuetify/components')['VCol']
2718
2713
  VRow: typeof import('vuetify/components')['VRow']
2719
2714
  VSpacer: typeof import('vuetify/components')['VSpacer']
2720
- VLazy: typeof import('vuetify/components')['VLazy']
2715
+ VHover: typeof import('vuetify/components')['VHover']
2721
2716
  VLayout: typeof import('vuetify/components')['VLayout']
2722
2717
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2723
- VHover: typeof import('vuetify/components')['VHover']
2718
+ VForm: typeof import('vuetify/components')['VForm']
2724
2719
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2725
- VNoSsr: typeof import('vuetify/components')['VNoSsr']
2720
+ VLazy: typeof import('vuetify/components')['VLazy']
2726
2721
  VParallax: typeof import('vuetify/components')['VParallax']
2727
2722
  VRadio: typeof import('vuetify/components')['VRadio']
2728
- VResponsive: typeof import('vuetify/components')['VResponsive']
2723
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2724
+ VNoSsr: typeof import('vuetify/components')['VNoSsr']
2729
2725
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2726
+ VResponsive: typeof import('vuetify/components')['VResponsive']
2727
+ VBanner: typeof import('vuetify/components')['VBanner']
2728
+ VBannerActions: typeof import('vuetify/components')['VBannerActions']
2729
+ VBannerText: typeof import('vuetify/components')['VBannerText']
2730
2730
  VSparkline: typeof import('vuetify/components')['VSparkline']
2731
2731
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2732
- VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2733
2732
  VValidation: typeof import('vuetify/components')['VValidation']
2733
+ VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2734
2734
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2735
2735
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2736
2736
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
@@ -2748,25 +2748,25 @@ declare module 'vue' {
2748
2748
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2749
2749
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2750
2750
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2751
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2752
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2753
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2754
- VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2751
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2755
2752
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2756
2753
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2757
2754
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2758
2755
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2759
2756
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2760
2757
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2758
+ VColorInput: typeof import('vuetify/labs/components')['VColorInput']
2761
2759
  VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2760
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2761
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2762
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2763
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2762
2764
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2763
2765
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2764
2766
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2765
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2766
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2767
2767
  VHotkey: typeof import('vuetify/labs/components')['VHotkey']
2768
- VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2769
2768
  VMaskInput: typeof import('vuetify/labs/components')['VMaskInput']
2769
+ VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2770
2770
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2771
2771
  }
2772
2772
  export interface GlobalDirectives {
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.9.0-dev.2025-07-15";
112
+ export const version = "3.9.0-dev.2025-07-16";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup