add languages.current to reactivity/window

pull/15861/head
iainb 1 year ago
parent c051a6eb1e
commit 17278c9715

@ -0,0 +1,5 @@
---
'svelte': minor
---
add languages.current to svelte/reactivity/window

@ -154,3 +154,12 @@ export const devicePixelRatio = /* @__PURE__ */ new (class DevicePixelRatio {
return BROWSER ? window.devicePixelRatio : undefined;
}
})();
/**
* `languages.current` is a reactive view of `navigator.languages`. On the server it is `undefined`.
* @since
*/
export const languages = new ReactiveValue(
BROWSER ? () => navigator.languages : () => undefined,
(update) => on(window, 'languagechange', update)
);

@ -1 +1 @@
<!--[--><p>devicePixelRatio: </p> <p>innerHeight: </p> <p>innerWidth: </p> <p>online: </p> <p>outerHeight: </p> <p>outerWidth: </p> <p>screenLeft: </p> <p>screenTop: </p> <p>scrollX: </p> <p>scrollY: </p><!--]-->
<!--[--><p>devicePixelRatio: </p> <p>innerHeight: </p> <p>innerWidth: </p> <p>languages: </p> <p>online: </p> <p>outerHeight: </p> <p>outerWidth: </p> <p>screenLeft: </p> <p>screenTop: </p> <p>scrollX: </p> <p>scrollY: </p><!--]-->

@ -1,10 +1,11 @@
<script>
import { devicePixelRatio, innerHeight, innerWidth, online, outerHeight, outerWidth, screenLeft, screenTop, scrollX, scrollY } from "svelte/reactivity/window";
import { devicePixelRatio, innerHeight, innerWidth, languages, online, outerHeight, outerWidth, screenLeft, screenTop, scrollX, scrollY } from "svelte/reactivity/window";
</script>
<p>devicePixelRatio: {devicePixelRatio.current}</p>
<p>innerHeight: {innerHeight.current}</p>
<p>innerWidth: {innerWidth.current}</p>
<p>languages: {languages.current}</p>
<p>online: {online.current}</p>
<p>outerHeight: {outerHeight.current}</p>
<p>outerWidth: {outerWidth.current}</p>

@ -2224,6 +2224,10 @@ declare module 'svelte/reactivity/window' {
export const devicePixelRatio: {
get current(): number | undefined;
};
/**
* `languages.current` is a reactive view of `navigator.languages`. On the server it is `undefined`.
* */
export const languages: ReactiveValue<readonly string[] | undefined>;
class ReactiveValue<T> {
constructor(fn: () => T, onsubscribe: (update: () => void) => void);

Loading…
Cancel
Save