UNPKG

@zag-js/core

Version:

A minimal implementation of xstate fsm for UI machines

22 lines (21 loc) 601 B
// src/scope.ts import { getActiveElement, getDocument, isActiveElement } from "@zag-js/dom-query"; function createScope(props) { const getRootNode = () => props.getRootNode?.() ?? document; const getDoc = () => getDocument(getRootNode()); const getWin = () => getDoc().defaultView ?? window; const getActiveElementFn = () => getActiveElement(getRootNode()); const getById = (id) => getRootNode().getElementById(id); return { ...props, getRootNode, getDoc, getWin, getActiveElement: getActiveElementFn, isActiveElement, getById }; } export { createScope };