Skip to content

Commit 69cb802

Browse files
committed
use .raw over ``
1 parent 0dd8883 commit 69cb802

50 files changed

Lines changed: 115 additions & 110 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/eight-moles-repair.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@fuzdev/fuz_ui': minor
3+
---
4+
5+
use `$state.raw` over `$state`

src/lib/ContextmenuLinkEntry.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
const get_contextmenu = contextmenu_context.get();
2424
const contextmenu = $derived(get_contextmenu());
2525
26-
let anchor_el: HTMLAnchorElement | undefined = $state();
26+
let anchor_el: HTMLAnchorElement | undefined = $state.raw();
2727
2828
// Register with state management for keyboard navigation
2929
// When activated via keyboard, programmatically click the anchor to trigger navigation

src/lib/ContextmenuRoot.svelte

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
114114
if (DEV) contextmenu_check_global_root(() => scoped); // TODO @many is this import tree-shaken?
115115
116-
let el: HTMLElement | undefined = $state();
116+
let el: HTMLElement | undefined = $state.raw();
117117
118118
const {layout} = $derived(contextmenu);
119119
@@ -128,11 +128,11 @@
128128
129129
// State for tap-then-longpress bypass detection.
130130
// These values are `undefined` when unused, and `null` after being reset.
131-
let touch_x: number | undefined | null = $state();
132-
let touch_y: number | undefined | null = $state();
133-
let first_tap_time: number | undefined | null = $state();
134-
let longpress_bypass: boolean | undefined = $state();
135-
let tap_tracking_timeout: NodeJS.Timeout | undefined | null = $state();
131+
let touch_x: number | undefined | null = $state.raw();
132+
let touch_y: number | undefined | null = $state.raw();
133+
let first_tap_time: number | undefined | null = $state.raw();
134+
let longpress_bypass: boolean | undefined = $state.raw();
135+
let tap_tracking_timeout: NodeJS.Timeout | undefined | null = $state.raw();
136136
137137
const on_window_contextmenu = (e: MouseEvent) => {
138138
// Handle the tap-then-longpress bypass gesture

src/lib/ContextmenuRootForSafariCompatibility.svelte

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@
127127
128128
if (DEV) contextmenu_check_global_root(() => scoped); // TODO @many is this import tree-shaken?
129129
130-
let el: HTMLElement | undefined = $state();
130+
let el: HTMLElement | undefined = $state.raw();
131131
132132
const {layout} = $derived(contextmenu);
133133
@@ -144,19 +144,19 @@
144144
145145
// State for tap-then-longpress bypass detection.
146146
// These values are `undefined` when unused, and `null` after being reset.
147-
let touch_x: number | undefined | null = $state();
148-
let touch_y: number | undefined | null = $state();
149-
let first_tap_time: number | undefined | null = $state();
150-
let longpress_timeout: NodeJS.Timeout | undefined | null = $state();
151-
let longpress_opened: boolean | undefined = $state();
152-
let longpress_bypass: boolean | undefined = $state();
153-
let tap_tracking_timeout: NodeJS.Timeout | undefined | null = $state();
147+
let touch_x: number | undefined | null = $state.raw();
148+
let touch_y: number | undefined | null = $state.raw();
149+
let first_tap_time: number | undefined | null = $state.raw();
150+
let longpress_timeout: NodeJS.Timeout | undefined | null = $state.raw();
151+
let longpress_opened: boolean | undefined = $state.raw();
152+
let longpress_bypass: boolean | undefined = $state.raw();
153+
let tap_tracking_timeout: NodeJS.Timeout | undefined | null = $state.raw();
154154
155155
/**
156156
* Blocks the next click event. Set to true when a longpress completes to prevent
157157
* iOS's synthesized click from activating the first menu item.
158158
*/
159-
let block_next_click = $state(false);
159+
let block_next_click = $state.raw(false);
160160
161161
/**
162162
* Adds contextmenu_pending class to body during longpress tracking.

src/lib/ContextmenuSubmenu.svelte

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@
2525
2626
const {selected} = $derived(submenu);
2727
28-
let el: HTMLElement | undefined = $state();
28+
let el: HTMLElement | undefined = $state.raw();
2929
3030
const parent_dimensions = contextmenu_dimensions_context.get();
3131
const dimensions = contextmenu_dimensions_context.set();
3232
33-
let translate_x = $state(0);
34-
let translate_y = $state(0);
33+
let translate_x = $state.raw(0);
34+
let translate_y = $state.raw(0);
3535
$effect(() => {
3636
if (el) update_position(el, layout, parent_dimensions);
3737
});

src/lib/CopyToClipboard.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
} = $props();
3131
3232
// These are for visual feedback
33-
let copied = $state(false);
34-
let failed = $state(false);
33+
let copied = $state.raw(false);
34+
let failed = $state.raw(false);
3535
let copy_timeout: NodeJS.Timeout | undefined;
3636
3737
const copy = async (e: MouseEvent) => {

src/lib/Dialog.svelte

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
const ROOT_SELECTOR = 'body'; // TODO make configurable
5959
const CONTAINER_ID = 'fuz_dialog';
6060
61-
let container_el: HTMLElement | undefined = $state();
61+
let container_el: HTMLElement | undefined = $state.raw();
6262
$effect(() => {
6363
update_container_el(container);
6464
});
@@ -83,8 +83,8 @@
8383
}
8484
};
8585
86-
let dialog_el: HTMLElement | undefined = $state();
87-
let content_el: HTMLElement | undefined = $state();
86+
let dialog_el: HTMLElement | undefined = $state.raw();
87+
let content_el: HTMLElement | undefined = $state.raw();
8888
8989
const close = (e?: Event) => {
9090
if (e) swallow(e);
@@ -106,7 +106,7 @@
106106
107107
// The dialog isn't "ready" until the teleport moves it.
108108
// Rendering the the dialog's children only once it's ready fixes things like `autofocus`.
109-
let ready = $state(false);
109+
let ready = $state.raw(false);
110110
</script>
111111

112112
<svelte:window onkeydown={active ? on_window_keydown : undefined} />

src/lib/Docs.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
3737
const docs_menu_width = '180px';
3838
39-
let show_secondary_nav_dialog = $state(false);
39+
let show_secondary_nav_dialog = $state.raw(false);
4040
const toggle_secondary_nav_dialog = (show?: boolean): void => {
4141
show_secondary_nav_dialog = show ?? !show_secondary_nav_dialog;
4242
};

src/lib/HueInput.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
update_hue(parsed);
3333
};
3434
35-
let el: HTMLInputElement | undefined = $state();
35+
let el: HTMLInputElement | undefined = $state.raw();
3636
3737
const set_hue_from_minimap = (e: MouseEvent & {currentTarget: EventTarget & HTMLElement}) => {
3838
const rect = e.currentTarget.getBoundingClientRect();

src/lib/PendingButton.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
children: Snippet;
2121
} = $props();
2222
23-
let el: HTMLButtonElement | undefined = $state();
23+
let el: HTMLButtonElement | undefined = $state.raw();
2424
2525
export const focus = (options?: FocusOptions): void => el?.focus(options);
2626

0 commit comments

Comments
 (0)