| 123456789101112131415161718192021222324252627 |
- import { createProjectionNode } from './create-projection-node.mjs';
- import { DocumentProjectionNode } from './DocumentProjectionNode.mjs';
- const rootProjectionNode = {
- current: undefined,
- };
- const HTMLProjectionNode = createProjectionNode({
- measureScroll: (instance) => ({
- x: instance.scrollLeft,
- y: instance.scrollTop,
- }),
- defaultParent: () => {
- if (!rootProjectionNode.current) {
- const documentNode = new DocumentProjectionNode({});
- documentNode.mount(window);
- documentNode.setOptions({ layoutScroll: true });
- rootProjectionNode.current = documentNode;
- }
- return rootProjectionNode.current;
- },
- resetTransform: (instance, value) => {
- instance.style.transform = value !== undefined ? value : "none";
- },
- checkIsScrollRoot: (instance) => Boolean(window.getComputedStyle(instance).position === "fixed"),
- });
- export { HTMLProjectionNode, rootProjectionNode };
|