Skip to content

Upgrading @vueuse/core 7 to 8

Unknown7.7.1 → 8.9.4

Fetching 34 releases from GitHub…0 / 34
UnknownUpgrade verdict

DepDelta is still reading the notes for this range, so breaking changes can't be ruled out yet.

  • DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
  • This page updates as the notes come in.
Still reading release notes

DepDelta is still reading the release notes in this range. This updates as they come in.

Adds @types/web-bluetooth ^0.0.14, @vueuse/metadata 8.9.4.

Installs 4 packages in all (was 2).

1 package of its own release moves with it.

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • removed: function autoResetRef<T>(defaultValue: T, afterMs?: MaybeRef<number>): Ref<T>
  • removed: interface FocusOptions extends ConfigurableWindow
  • removed: interface FocusReturn
  • removed: interface UseTextSelectionState extends Rect
  • removed: property FocusOptions.initialValue?: boolean
  • removed: property FocusOptions.target?: MaybeElementRef
  • removed: property FocusReturn.focused: Ref<boolean>
  • removed: property UseTextSelectionState.text: string
  • changed: const StorageSerializers: Record<'boolean' | 'object' | 'number' | 'any' | 'string' | 'map' | 'set', Serializer<any>> → const StorageSerializers: Record<'boolean' | 'object' | 'number' | 'any' | 'string' | 'map' | 'set' | 'date', Serializer<any>>
  • changed: const useWebNotification: (defaultOptions?: UseWebNotificationOptions) => { isSupported: boolean; notification: Ref<Notification | null>; show: (overrides?: WebNotificationOptions | und… → const useWebNotification: (defaultOptions?: UseWebNotificationOptions) => { isSupported: boolean; notification: Ref<Notification | null>; show: (overrides?: WebNotificationOptions) => P…
  • changed: function onClickOutside(target: MaybeElementRef, handler: (evt: PointerEvent) => void, options?: OnClickOutsideOptions): (() => void) | undefined → function onClickOutside<T extends OnClickOutsideOptions>(target: MaybeElementRef, handler: <E = T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent>(evt: E) => void, options?: T): (() => void) | undefined
  • changed: function onLongPress(target: MaybeElementRef$1, handler: (evt: PointerEvent) => void, options?: OnLongPressOptions): void → function onLongPress(target: MaybeElementRef, handler: (evt: PointerEvent) => void, options?: OnLongPressOptions): void
  • changed: function unrefElement(elRef: MaybeElementRef): HTMLElement | SVGElement | undefined → function unrefElement<T extends MaybeElement>(elRef: MaybeElementRef<T>): UnRefElementReturn<T>
  • changed: function useCssVar(prop: MaybeRef<string>, target?: MaybeElementRef, { window }?: ConfigurableWindow): vue_demi.Ref<string> → function useCssVar(prop: MaybeRef<string>, target?: MaybeElementRef, { window, initialValue }?: UseCssVarOptions): vue_demi.Ref<string>
  • changed: function useDraggable(target: MaybeRef<HTMLElement | SVGElement | null>, options?: UseDraggableOptions): { position: Ref<Position>; isDragging: vue_demi.ComputedRef<boolean>; style: vue_demi.ComputedRef<string>; x: Ref<number>; y: Ref<number> } → function useDraggable(target: MaybeRef<HTMLElement | SVGElement | null | undefined>, options?: UseDraggableOptions): { position: Ref<Position>; isDragging: vue_demi.ComputedRef<boolean>; style: vue_demi.ComputedRef<string>; x: Ref<number>; y: Ref<number> }
  • changed: function useElementBounding(target: MaybeElementRef): { height: vue_demi.Ref<number>; bottom: vue_demi.Ref<number>; left: vue_demi.Ref<number>; right: vue_demi.Ref<number>; top: vue_demi.Ref<number>; width: vue_demi.Ref<number>; x: vue_demi.Ref<number>; y: vue_demi.Ref<number>; update: () => void } → function useElementBounding(target: MaybeElementRef, options?: UseElementBoundingOptions): { height: vue_demi.Ref<number>; bottom: vue_demi.Ref<number>; left: vue_demi.Ref<number>; right: vue_demi.Ref<number>; top: vue_demi.Ref<number>; width: vue_demi.Ref<number>; x: vue_demi.Ref<number>; y: vue_demi.Ref<number>; update: () => void }
  • changed: function useElementVisibility(element: Ref<Element | null | undefined>, { window, scrollTarget }?: VisibilityScrollTargetOptions): Ref<boolean> → function useElementVisibility(element: MaybeRef<Element | null | undefined>, { window, scrollTarget }?: VisibilityScrollTargetOptions): vue_demi.Ref<boolean>
  • changed: function useEyeDropper(options?: UseEyeDropperOptions): { isSupported: boolean; sRGBHex: vue_demi.Ref<string>; open: (openOptions?: EyeDropperOpenOptions | undefined) => Promise<{ sRGBHex: string } | undefined> } → function useEyeDropper(options?: UseEyeDropperOptions): { isSupported: boolean; sRGBHex: vue_demi.Ref<string>; open: (openOptions?: EyeDropperOpenOptions) => Promise<{ sRGBHex: string } | undefined> }
  • changed: function useFocus(options?: FocusOptions): FocusReturn → function useFocus(target: MaybeElementRef, options?: UseFocusOptions): UseFocusReturn
  • changed: function useInfiniteScroll(element: MaybeRef<HTMLElement | SVGElement | Window | Document | null | undefined>, onLoadMore: (state: UnwrapNestedRefs<ReturnType<typeof useScroll>>) => void, options?: UseInfiniteScrollOptions): void → function useInfiniteScroll(element: MaybeRef<HTMLElement | SVGElement | Window | Document | null | undefined>, onLoadMore: (state: UnwrapNestedRefs<ReturnType<typeof useScroll>>) => void | Promise<void>, options?: UseInfiniteScrollOptions): void
  • changed: function useTextSelection(element?: MaybeRef<HTMLElement | Document | null | undefined>): vue_demi.Ref<{ text: string; readonly left: number; readonly right: number; readonly top: number; readonly bottom: number; readonly width: number; readonly height: number }> → function useTextSelection(options?: ConfigurableWindow): { text: vue_demi.ComputedRef<string>; rects: vue_demi.ComputedRef<DOMRect[]>; ranges: vue_demi.ComputedRef<Range[]>; selection: vue_demi.Ref<{ readonly anchorNode: Node | null; readonly anchorOffset: number; readonly focusNode: Node | null; readonly focusOffset: number; readonly isCollapsed: boolean; readonly rangeCount: number; readonly ty…
  • changed: function useVModel<P extends object, K extends keyof P, Name extends string>(props: P, key?: K, emit?: (name: Name, ...args: any[]) => void, options?: VModelOptions): vue_demi.Ref<UnwrapRef<P[K]>> | vue_demi.WritableComputedRef<P[K]> → function useVModel<P extends object, K extends keyof P, Name extends string>(props: P, key?: K, emit?: (name: Name, ...args: any[]) => void, options?: VModelOptions<P[K]>): vue_demi.Ref<UnwrapRef<P[K]>> | vue_demi.WritableComputedRef<P[K]>
  • changed: function useVModels<P extends object, Name extends string>(props: P, emit?: (name: Name, ...args: any[]) => void, options?: VModelOptions): ToRefs<P> → function useVModels<P extends object, Name extends string>(props: P, emit?: (name: Name, ...args: any[]) => void, options?: VModelOptions<any>): ToRefs<P>
  • changed: function useWindowSize({ window, initialWidth, initialHeight }?: WindowSizeOptions): { width: vue_demi.Ref<number>; height: vue_demi.Ref<number> } → function useWindowSize(options?: WindowSizeOptions): { width: vue_demi.Ref<number>; height: vue_demi.Ref<number> }
  • changed: interface VModelOptions → interface VModelOptions<T>
  • changed: method UseFetchReturn.arrayBuffer(): UseFetchReturn<ArrayBuffer> → method UseFetchReturn.arrayBuffer(): UseFetchReturn<ArrayBuffer> & PromiseLike<UseFetchReturn<ArrayBuffer>>
  • changed: method UseFetchReturn.blob(): UseFetchReturn<Blob> → method UseFetchReturn.blob(): UseFetchReturn<Blob> & PromiseLike<UseFetchReturn<Blob>>
  • changed: method UseFetchReturn.delete(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> → method UseFetchReturn.delete(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> & PromiseLike<UseFetchReturn<T>>
  • changed: method UseFetchReturn.formData(): UseFetchReturn<FormData> → method UseFetchReturn.formData(): UseFetchReturn<FormData> & PromiseLike<UseFetchReturn<FormData>>
  • changed: method UseFetchReturn.get(): UseFetchReturn<T> → method UseFetchReturn.get(): UseFetchReturn<T> & PromiseLike<UseFetchReturn<T>>
  • changed: method UseFetchReturn.head(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> → method UseFetchReturn.head(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> & PromiseLike<UseFetchReturn<T>>
  • changed: method UseFetchReturn.json<JSON = any>(): UseFetchReturn<JSON> → method UseFetchReturn.json<JSON = any>(): UseFetchReturn<JSON> & PromiseLike<UseFetchReturn<JSON>>
  • changed: method UseFetchReturn.options(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> → method UseFetchReturn.options(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> & PromiseLike<UseFetchReturn<T>>
  • changed: method UseFetchReturn.patch(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> → method UseFetchReturn.patch(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> & PromiseLike<UseFetchReturn<T>>
  • changed: method UseFetchReturn.post(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> → method UseFetchReturn.post(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> & PromiseLike<UseFetchReturn<T>>
  • changed: method UseFetchReturn.put(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> → method UseFetchReturn.put(payload?: MaybeRef<unknown>, type?: string): UseFetchReturn<T> & PromiseLike<UseFetchReturn<T>>
  • changed: method UseFetchReturn.text(): UseFetchReturn<string> → method UseFetchReturn.text(): UseFetchReturn<string> & PromiseLike<UseFetchReturn<string>>
  • changed: property UseDraggableOptions.draggingElement?: MaybeRef<HTMLElement | SVGElement | Window | Document | null> → property UseDraggableOptions.draggingElement?: MaybeRef<HTMLElement | SVGElement | Window | Document | null | undefined>
  • changed: property UseFetchOptions.onFetchError?: (ctx: OnFetchErrorContext) => Promise<Partial<OnFetchErrorContext>> | Partial<OnFetchErrorContext> → property UseFetchOptions.onFetchError?: (ctx: { data: any; response: Response | null; error: any }) => Promise<Partial<OnFetchErrorContext>> | Partial<OnFetchErrorContext>
  • changed: property UseOffsetPaginationOptions.page?: MaybeRef$1<number> → property UseOffsetPaginationOptions.page?: MaybeRef<number>
  • changed: property UseOffsetPaginationOptions.pageSize?: MaybeRef$1<number> → property UseOffsetPaginationOptions.pageSize?: MaybeRef<number>
  • changed: property UseOffsetPaginationOptions.total?: MaybeRef$1<number> → property UseOffsetPaginationOptions.total?: MaybeRef<number>
  • changed: property VisibilityScrollTargetOptions.scrollTarget?: Ref<Element | null | undefined> → property VisibilityScrollTargetOptions.scrollTarget?: MaybeRef<Element | null | undefined>
  • changed: property WebSocketOptions.autoReconnect?: boolean | { retries?: number; delay?: number; onFailed?: Fn } → property WebSocketOptions.autoReconnect?: boolean | { retries?: number | (() => boolean); delay?: number; onFailed?: Fn }
  • changed: type MaybeElementRef = MaybeRef<HTMLElement | SVGElement | VueInstance | undefined | null> → type MaybeElementRef<T extends MaybeElement = MaybeElement> = MaybeRef<T>
  • added: const useImage: <Shallow extends true>(options: MaybeRef<UseImageOptions>, asyncStateOptions?: AsyncStateOptions<Shallow>) => UseAsyncStateReturn<HTMLImageElement | undefined,…
  • added: const useScreenOrientation: (options?: ConfigurableWindow) => { isSupported: boolean; orientation: vue_demi.Ref<OrientationType | undefined>; angle: vue_demi.Ref<number>; lockOrientation:…
  • added: function computedAsync<T>(evaluationCallback: (onCancel: AsyncComputedOnCancel) => T | Promise<T>, initialState?: T, optionsOrRef?: Ref<boolean> | AsyncComputedOptions): Ref<T>
  • added: function mapGamepadToXbox360Controller(gamepad: Ref<Gamepad | undefined>): vue_demi.ComputedRef<{ buttons: { a: GamepadButton; b: GamepadButton; x: GamepadButton; y: GamepadButton }; bumper: { left: GamepadButton; right: GamepadButton }; triggers: { left: GamepadButton; right: GamepadButton }; stick: { left: { horizontal: number; vertical: number; button: GamepadButton }; right: { horizontal: num…
  • added: function useBase64<T extends Map<string, unknown>>(target: MaybeRef<T>, options?: UseBase64ObjectOptions<T>): UseBase64Return
  • added: function useBase64<T extends Record<string, unknown>>(target: MaybeRef<T>, options?: UseBase64ObjectOptions<T>): UseBase64Return
  • added: function useBase64<T extends Set<unknown>>(target: MaybeRef<T>, options?: UseBase64ObjectOptions<T>): UseBase64Return
  • added: function useBase64<T>(target: MaybeRef<T[]>, options?: UseBase64ObjectOptions<T[]>): UseBase64Return
  • added: function useBluetooth(options?: UseBluetoothOptions): { isSupported: boolean | undefined; isConnected: vue_demi.ComputedRef<boolean>; device: vue_demi.Ref<{ readonly id: string; readonly name?: string | undefined; readonly gatt?: { readonly device: any; readonly connected: boolean; connect: () => Promise<BluetoothRemoteGATTServer>; disconnect: () => void; getPrimaryService: (service: BluetoothSer…
  • added: function useCurrentElement<T extends Element = Element>(): vue_demi.ComputedRef<T>
  • added: function useDropZone(target: MaybeRef<HTMLElement | null | undefined>, onDrop: (files: File[] | null) => void): UseDropZoneReturn
  • added: function useFileDialog(options?: UseFileDialogOptions): UseFileDialogReturn
  • added: function useFileSystemAccess(options: UseFileSystemAccessOptions & { dataType: 'ArrayBuffer' }): UseFileSystemAccessReturn<ArrayBuffer>
  • added: function useFileSystemAccess(options: UseFileSystemAccessOptions & { dataType: 'Blob' }): UseFileSystemAccessReturn<Blob>
  • added: function useFileSystemAccess(options: UseFileSystemAccessOptions & { dataType: 'Text' }): UseFileSystemAccessReturn<string>
  • added: function useFileSystemAccess(options: UseFileSystemAccessOptions): UseFileSystemAccessReturn<string | ArrayBuffer | Blob>
  • added: function useGamepad(options?: UseGamepadOptions): { isSupported: boolean | undefined; onConnected: _vueuse_shared.EventHookOn<number>; onDisconnected: _vueuse_shared.EventHookOn<number>; gamepads: Ref<{ readonly axes: readonly number[]; readonly buttons: readonly { readonly pressed: boolean; readonly touched: boolean; readonly value: number }[]; readonly connected: boolean; readonly hapticActuato…
  • added: function useObjectUrl(object: MaybeRef<Blob | MediaSource | undefined>): Readonly<vue_demi.Ref<string | undefined>>
  • added: function useStepper<T extends Record<string, any>>(steps: MaybeRef<T>, initialStep?: keyof T): UseStepperReturn<Exclude<keyof T, symbol>, T, T[keyof T]>
  • added: function useStepper<T extends string | number>(steps: MaybeRef<T[]>, initialStep?: T): UseStepperReturn<T, T[], T>
  • added: function useTextareaAutosize(options?: UseTextareaAutosizeOptions): { textarea: vue_demi.Ref<HTMLTextAreaElement>; input: vue_demi.Ref<string>; triggerResize: () => void }
  • added: function useTimeoutPoll(fn: () => Awaitable<void>, interval: MaybeRef<number>, timeoutPollOptions?: TimeoutFnOptions): Pausable
  • added: interface FileSystemAccessShowOpenFileOptions
  • added: interface FileSystemAccessShowSaveFileOptions
  • added: interface FileSystemFileHandle
  • added: interface OnLongPressModifiers
  • added: interface UseBase64ObjectOptions<T>
  • added: interface UseBluetoothOptions extends UseBluetoothRequestDeviceOptions, ConfigurableNavigator
  • added: interface UseBluetoothRequestDeviceOptions
  • added: interface UseCssVarOptions extends ConfigurableWindow
  • added: interface UseDropZoneReturn
  • added: interface UseElementBoundingOptions
  • added: interface UseFileDialogOptions extends ConfigurableDocument
  • added: interface UseFileDialogReturn
  • added: interface UseFileSystemAccessReturn<T = string>
  • added: interface UseFocusOptions extends ConfigurableWindow
  • added: interface UseFocusReturn
  • added: interface UseGamepadOptions extends ConfigurableWindow, ConfigurableNavigator
  • added: interface UseImageOptions
  • added: interface UseStepperReturn<StepName, Steps, Step>
  • added: interface UseTextareaAutosizeOptions
  • added: property FileSystemAccessShowOpenFileOptions.excludeAcceptAllOption?: boolean
  • added: property FileSystemAccessShowOpenFileOptions.multiple?: boolean
  • added: property FileSystemAccessShowOpenFileOptions.types?: Array<{ description?: string; accept: Record<string, string[]> }>
  • added: property FileSystemAccessShowSaveFileOptions.excludeAcceptAllOption?: boolean
  • added: property FileSystemAccessShowSaveFileOptions.suggestedName?: string
  • added: property FileSystemAccessShowSaveFileOptions.types?: Array<{ description?: string; accept: Record<string, string[]> }>
  • added: property FileSystemFileHandle.createWritable: () => FileSystemWritableFileStream
  • added: property FileSystemFileHandle.getFile: () => Promise<File>
  • added: property NetworkState.onlineAt: Ref<number | undefined>
  • added: property OnClickOutsideOptions.capture?: boolean
  • added: property OnClickOutsideOptions.detectIframe?: boolean
  • added: property OnLongPressModifiers.capture?: boolean
  • added: property OnLongPressModifiers.once?: boolean
  • added: property OnLongPressModifiers.prevent?: boolean
  • added: property OnLongPressModifiers.self?: boolean
  • added: property OnLongPressModifiers.stop?: boolean
  • added: property OnLongPressOptions.modifiers?: OnLongPressModifiers
  • added: property UseBase64ObjectOptions.serializer: (v: T) => string
  • added: property UseBluetoothOptions.acceptAllDevices?: boolean
  • added: property UseBluetoothRequestDeviceOptions.filters?: BluetoothLEScanFilter[] | undefined
  • added: property UseBluetoothRequestDeviceOptions.optionalServices?: BluetoothServiceUUID[] | undefined
  • added: property UseColorModeOptions.emitAuto?: boolean
  • added: property UseCssVarOptions.initialValue?: string
  • added: property UseDraggableOptions.stopPropagation?: MaybeRef<boolean>
  • added: property UseDropZoneReturn.isOverDropZone: Ref<boolean>
  • added: property UseElementBoundingOptions.immediate?: boolean
  • added: property UseElementBoundingOptions.reset?: boolean
  • added: property UseElementBoundingOptions.windowResize?: boolean
  • added: property UseElementBoundingOptions.windowScroll?: boolean
  • added: property UseFileDialogOptions.accept?: string
  • added: property UseFileDialogOptions.capture?: string
  • added: property UseFileDialogOptions.multiple?: boolean
  • added: property UseFileDialogReturn.files: Ref<FileList | null>
  • added: property UseFileDialogReturn.open: (localOptions?: Partial<UseFileDialogOptions>) => void
  • added: property UseFileDialogReturn.reset: () => void
  • added: property UseFileSystemAccessReturn.create: (_options?: UseFileSystemAccessShowSaveFileOptions) => Awaitable<void>
  • added: property UseFileSystemAccessReturn.data: Ref<T | undefined>
  • added: property UseFileSystemAccessReturn.file: Ref<File | undefined>
  • added: property UseFileSystemAccessReturn.fileLastModified: Ref<number>
  • added: property UseFileSystemAccessReturn.fileMIME: Ref<string>
  • added: property UseFileSystemAccessReturn.fileName: Ref<string>
  • added: property UseFileSystemAccessReturn.fileSize: Ref<number>
  • added: property UseFileSystemAccessReturn.isSupported: boolean
  • added: property UseFileSystemAccessReturn.open: (_options?: UseFileSystemAccessCommonOptions) => Awaitable<void>
  • added: property UseFileSystemAccessReturn.save: (_options?: UseFileSystemAccessShowSaveFileOptions) => Awaitable<void>
  • added: property UseFileSystemAccessReturn.saveAs: (_options?: UseFileSystemAccessShowSaveFileOptions) => Awaitable<void>
  • added: property UseFileSystemAccessReturn.updateData: () => Awaitable<void>
  • added: property UseFocusOptions.initialValue?: boolean
  • added: property UseFocusReturn.focused: Ref<boolean>
  • added: property UseImageOptions.sizes?: string
  • added: property UseImageOptions.src: string
  • added: property UseImageOptions.srcset?: string
  • added: property UseInfiniteScrollOptions.direction?: 'top' | 'bottom' | 'left' | 'right'
  • added: property UseInfiniteScrollOptions.preserveScrollPosition?: boolean
  • added: property UseStepperReturn.at: (index: number) => Step | undefined
  • added: property UseStepperReturn.current: ComputedRef<Step>
  • added: property UseStepperReturn.get: (step: StepName) => Step | undefined
  • added: property UseStepperReturn.goBackTo: (step: StepName) => void
  • added: property UseStepperReturn.goTo: (step: StepName) => void
  • added: property UseStepperReturn.goToNext: () => void
  • added: property UseStepperReturn.goToPrevious: () => void
  • added: property UseStepperReturn.index: Ref<number>
  • added: property UseStepperReturn.isAfter: (step: StepName) => boolean
  • added: property UseStepperReturn.isBefore: (step: StepName) => boolean
  • added: property UseStepperReturn.isCurrent: (step: StepName) => boolean
  • added: property UseStepperReturn.isFirst: ComputedRef<boolean>
  • added: property UseStepperReturn.isLast: ComputedRef<boolean>
  • added: property UseStepperReturn.isNext: (step: StepName) => boolean
  • added: property UseStepperReturn.isPrevious: (step: StepName) => boolean
  • added: property UseStepperReturn.next: ComputedRef<StepName | undefined>
  • added: property UseStepperReturn.previous: ComputedRef<StepName | undefined>
  • added: property UseStepperReturn.stepNames: Readonly<Ref<StepName[]>>
  • added: property UseStepperReturn.steps: Readonly<Ref<Steps>>
  • added: property UseTextareaAutosizeOptions.element?: MaybeRef<HTMLTextAreaElement | undefined>
  • added: property UseTextareaAutosizeOptions.input?: MaybeRef<string | undefined>
  • added: property UseTextareaAutosizeOptions.onResize?: () => void
  • added: property UseTextareaAutosizeOptions.watch?: WatchSource | Array<WatchSource>
  • added: property VModelOptions.defaultValue?: T
  • added: property WindowSizeOptions.listenOrientation?: boolean
  • added: type FileSystemAccessWindow = Window & { showSaveFilePicker: (options: FileSystemAccessShowSaveFileOptions) => Promise<FileSystemFileHandle>; showOpenFilePicker: (options: FileSystemAccessS…
  • added: type MaybeElement = HTMLElement | SVGElement | VueInstance | undefined | null
  • added: type UnRefElementReturn<T extends MaybeElement = MaybeElement> = T extends VueInstance ? Exclude<MaybeElement, VueInstance> : T | undefined
  • added: type UseFileSystemAccessCommonOptions = Pick<FileSystemAccessShowOpenFileOptions, 'types' | 'excludeAcceptAllOption'>
  • added: type UseFileSystemAccessOptions = ConfigurableWindow & UseFileSystemAccessCommonOptions & { dataType?: MaybeRef<'Text' | 'ArrayBuffer' | 'Blob'> }
  • added: type UseFileSystemAccessShowSaveFileOptions = Pick<FileSystemAccessShowSaveFileOptions, 'suggestedName'>
  • added: type UseScreenOrientationReturn = ReturnType<typeof useScreenOrientation>
  • added: export * from '@vueuse/metadata'
  • removed: default function (): void