Packages
plinth
0.10.2
0.10.2
0.10.1
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.13
0.1.12
0.1.11
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Bindings to Node.js and browser platform APIs
Current section
Files
Jump to
Current section
Files
src/plinth/browser/dom_token_list.gleam
import gleam/javascript/array.{type Array}
import gleam/option.{type Option}
pub type DomTokenList
/// The `add()` method adds the given tokens to the list, omitting any that are already present
/// https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/add
///
@external(javascript, "../../dom_token_list_ffi.mjs", "add")
pub fn add(dom_token_list: DomTokenList, tokens: Array(String)) -> Nil
/// The `remove()` method removes the specified tokens from the list
/// https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/remove
///
@external(javascript, "../../dom_token_list_ffi.mjs", "remove")
pub fn remove(dom_token_list: DomTokenList, tokens: Array(String)) -> Nil
/// The `toggle()` method removes an existing token from the list and returns false.
/// If the token doesn't exist it's added and the function returns true.
/// https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/toggle
///
/// `force`: If included, turns the toggle into a one way-only operation.
/// If set to false, then token will only be removed, but not added.
/// If set to true, then token will only be added, but not removed.
///
@external(javascript, "../../dom_token_list_ffi.mjs", "toggle")
pub fn toggle(
dom_token_list: DomTokenList,
token: String,
force force: Option(Bool),
) -> Bool
/// The `replace()` method replaces an existing token with a new token.
/// If the first token doesn't exist, `replace()` returns false immediately,
/// without adding the new token to the token list.
/// https://developer.mozilla.org/en-US/docs/Web/API/DOMTokenList/replace
@external(javascript, "../../dom_token_list_ffi.mjs", "replace")
pub fn replace(
dom_token_list: DomTokenList,
from_token: String,
to_token: String,
) -> Bool