atproto blogging
1[package]
2name = "weaver-editor-browser"
3version.workspace = true
4edition.workspace = true
5license.workspace = true
6description = "Browser DOM layer for weaver editor - generic over EditorDocument"
7
8[dependencies]
9# Re-export core
10weaver-editor-core = { path = "../weaver-editor-core" }
11
12# Browser APIs (baseline - this crate assumes wasm32-unknown-unknown)
13wasm-bindgen = "0.2"
14js-sys = "0.3"
15gloo-events = "0.2"
16gloo-utils = "0.2"
17
18# Logging
19tracing = { workspace = true }
20
21# Async (for JS promise bridging)
22wasm-bindgen-futures = "0.4"
23
24# Utilities
25smol_str = "0.3"
26
27[dependencies.web-sys]
28version = "0.3"
29features = [
30 "Window",
31 "Document",
32 "Element",
33 "HtmlElement",
34 "Node",
35 "NodeList",
36 "Navigator",
37 "Text",
38 "Range",
39 "Selection",
40 "DomTokenList",
41 "DomRect",
42 "DomRectList",
43 "TreeWalker",
44 "CssStyleDeclaration",
45 "InputEvent",
46 "KeyboardEvent",
47 "ClipboardEvent",
48 "CompositionEvent",
49 "DataTransfer",
50 "DataTransferItem",
51 "DataTransferItemList",
52 "FocusEvent",
53 "MouseEvent",
54 "Blob",
55 "BlobPropertyBag",
56 "Clipboard",
57 "ClipboardItem",
58 "Performance",
59]
60
61[features]
62default = []
63# Optional reactive state via dioxus-signals (framework-agnostic)
64dioxus_signals = ["dep:dioxus-signals"]
65# Optional Dioxus event handlers for clipboard
66dioxus = ["dep:dioxus-core", "dep:dioxus-html", "dep:dioxus-web"]
67
68[dependencies.dioxus-signals]
69version = "0.7"
70optional = true
71
72[dependencies.dioxus-core]
73version = "0.7"
74optional = true
75
76[dependencies.dioxus-html]
77version = "0.7"
78optional = true
79
80[dependencies.dioxus-web]
81version = "0.7"
82optional = true
83
84[dev-dependencies]
85wasm-bindgen-test = "0.3"
86insta = { version = "1.40", features = ["yaml"] }