import {property} from "lit/decorators.js" import {MagicElement, mixinCss} from "@chasemoskal/magical" import {hiddenCss} from "../../framework/styles/hidden.css.js" import {setup_pointer_move_listening} from "./utils/setup_pointer_move_listening.js" import {setup_pointer_button_listening} from "./utils/setup_pointer_button_listening.js" @mixinCss(hiddenCss) export class NubPointer extends MagicElement { @property({type: String, reflect: true}) cause: string = "Pointer" #listenPointerMove = setup_pointer_move_listening({ listenTo: window, dispatchTo: this, getCause: () => this.cause, }) #listenPointerButton = setup_pointer_button_listening({ listenTo: window, dispatchTo: this, }) realize() { const {use} = this use.setup(this.#listenPointerMove) use.setup(this.#listenPointerButton) } }