Mission Control Dashboard - Initial implementation
This commit is contained in:
64
node_modules/motion-dom/dist/es/resize/handle-element.mjs
generated
vendored
Normal file
64
node_modules/motion-dom/dist/es/resize/handle-element.mjs
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
import { isSVGElement } from '../utils/is-svg-element.mjs';
|
||||
import { resolveElements } from '../utils/resolve-elements.mjs';
|
||||
|
||||
const resizeHandlers = new WeakMap();
|
||||
let observer;
|
||||
const getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
|
||||
if (borderBoxSize && borderBoxSize[0]) {
|
||||
return borderBoxSize[0][(borderBoxAxis + "Size")];
|
||||
}
|
||||
else if (isSVGElement(target) && "getBBox" in target) {
|
||||
return target.getBBox()[svgAxis];
|
||||
}
|
||||
else {
|
||||
return target[htmlAxis];
|
||||
}
|
||||
};
|
||||
const getWidth = /*@__PURE__*/ getSize("inline", "width", "offsetWidth");
|
||||
const getHeight = /*@__PURE__*/ getSize("block", "height", "offsetHeight");
|
||||
function notifyTarget({ target, borderBoxSize }) {
|
||||
resizeHandlers.get(target)?.forEach((handler) => {
|
||||
handler(target, {
|
||||
get width() {
|
||||
return getWidth(target, borderBoxSize);
|
||||
},
|
||||
get height() {
|
||||
return getHeight(target, borderBoxSize);
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
function notifyAll(entries) {
|
||||
entries.forEach(notifyTarget);
|
||||
}
|
||||
function createResizeObserver() {
|
||||
if (typeof ResizeObserver === "undefined")
|
||||
return;
|
||||
observer = new ResizeObserver(notifyAll);
|
||||
}
|
||||
function resizeElement(target, handler) {
|
||||
if (!observer)
|
||||
createResizeObserver();
|
||||
const elements = resolveElements(target);
|
||||
elements.forEach((element) => {
|
||||
let elementHandlers = resizeHandlers.get(element);
|
||||
if (!elementHandlers) {
|
||||
elementHandlers = new Set();
|
||||
resizeHandlers.set(element, elementHandlers);
|
||||
}
|
||||
elementHandlers.add(handler);
|
||||
observer?.observe(element);
|
||||
});
|
||||
return () => {
|
||||
elements.forEach((element) => {
|
||||
const elementHandlers = resizeHandlers.get(element);
|
||||
elementHandlers?.delete(handler);
|
||||
if (!elementHandlers?.size) {
|
||||
observer?.unobserve(element);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export { resizeElement };
|
||||
//# sourceMappingURL=handle-element.mjs.map
|
||||
1
node_modules/motion-dom/dist/es/resize/handle-element.mjs.map
generated
vendored
Normal file
1
node_modules/motion-dom/dist/es/resize/handle-element.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"handle-element.mjs","sources":["../../../src/resize/handle-element.ts"],"sourcesContent":["import { isSVGElement } from \"../utils/is-svg-element\"\nimport { ElementOrSelector, resolveElements } from \"../utils/resolve-elements\"\nimport { ResizeHandler } from \"./types\"\n\nconst resizeHandlers = new WeakMap<Element, Set<ResizeHandler<Element>>>()\n\nlet observer: ResizeObserver | undefined\n\nconst getSize =\n (\n borderBoxAxis: \"inline\" | \"block\",\n svgAxis: \"width\" | \"height\",\n htmlAxis: \"offsetWidth\" | \"offsetHeight\"\n ) =>\n (target: Element, borderBoxSize?: ReadonlyArray<ResizeObserverSize>) => {\n if (borderBoxSize && borderBoxSize[0]) {\n return borderBoxSize[0][\n (borderBoxAxis + \"Size\") as keyof ResizeObserverSize\n ]\n } else if (isSVGElement(target) && \"getBBox\" in target) {\n return (target as SVGGraphicsElement).getBBox()[svgAxis]\n } else {\n return (target as HTMLElement)[htmlAxis]\n }\n }\n\nconst getWidth = /*@__PURE__*/ getSize(\"inline\", \"width\", \"offsetWidth\")\nconst getHeight = /*@__PURE__*/ getSize(\"block\", \"height\", \"offsetHeight\")\n\nfunction notifyTarget({ target, borderBoxSize }: ResizeObserverEntry) {\n resizeHandlers.get(target)?.forEach((handler) => {\n handler(target, {\n get width() {\n return getWidth(target, borderBoxSize)\n },\n get height() {\n return getHeight(target, borderBoxSize)\n },\n })\n })\n}\n\nfunction notifyAll(entries: ResizeObserverEntry[]) {\n entries.forEach(notifyTarget)\n}\n\nfunction createResizeObserver() {\n if (typeof ResizeObserver === \"undefined\") return\n\n observer = new ResizeObserver(notifyAll)\n}\n\nexport function resizeElement(\n target: ElementOrSelector,\n handler: ResizeHandler<Element>\n) {\n if (!observer) createResizeObserver()\n\n const elements = resolveElements(target)\n\n elements.forEach((element) => {\n let elementHandlers = resizeHandlers.get(element)\n\n if (!elementHandlers) {\n elementHandlers = new Set()\n resizeHandlers.set(element, elementHandlers)\n }\n\n elementHandlers.add(handler)\n observer?.observe(element)\n })\n\n return () => {\n elements.forEach((element) => {\n const elementHandlers = resizeHandlers.get(element)\n\n elementHandlers?.delete(handler)\n\n if (!elementHandlers?.size) {\n observer?.unobserve(element)\n }\n })\n }\n}\n"],"names":[],"mappings":";;;AAIA,MAAM,cAAc,GAAG,IAAI,OAAO,EAAwC;AAE1E,IAAI,QAAoC;AAExC,MAAM,OAAO,GACT,CACI,aAAiC,EACjC,OAA2B,EAC3B,QAAwC,KAE5C,CAAC,MAAe,EAAE,aAAiD,KAAI;AACnE,IAAA,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE;QACnC,OAAO,aAAa,CAAC,CAAC,CAAC,EAClB,aAAa,GAAG,MAAM,EAC1B;IACL;SAAO,IAAI,YAAY,CAAC,MAAM,CAAC,IAAI,SAAS,IAAI,MAAM,EAAE;AACpD,QAAA,OAAQ,MAA6B,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;IAC5D;SAAO;AACH,QAAA,OAAQ,MAAsB,CAAC,QAAQ,CAAC;IAC5C;AACJ,CAAC;AAEL,MAAM,QAAQ,iBAAiB,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC;AACxE,MAAM,SAAS,iBAAiB,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC;AAE1E,SAAS,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,EAAuB,EAAA;IAChE,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,KAAI;QAC5C,OAAO,CAAC,MAAM,EAAE;AACZ,YAAA,IAAI,KAAK,GAAA;AACL,gBAAA,OAAO,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;YAC1C,CAAC;AACD,YAAA,IAAI,MAAM,GAAA;AACN,gBAAA,OAAO,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;YAC3C,CAAC;AACJ,SAAA,CAAC;AACN,IAAA,CAAC,CAAC;AACN;AAEA,SAAS,SAAS,CAAC,OAA8B,EAAA;AAC7C,IAAA,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;AACjC;AAEA,SAAS,oBAAoB,GAAA;IACzB,IAAI,OAAO,cAAc,KAAK,WAAW;QAAE;AAE3C,IAAA,QAAQ,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC;AAC5C;AAEM,SAAU,aAAa,CACzB,MAAyB,EACzB,OAA+B,EAAA;AAE/B,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,oBAAoB,EAAE;AAErC,IAAA,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;AAExC,IAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;QACzB,IAAI,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;QAEjD,IAAI,CAAC,eAAe,EAAE;AAClB,YAAA,eAAe,GAAG,IAAI,GAAG,EAAE;AAC3B,YAAA,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC;QAChD;AAEA,QAAA,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;AAC5B,QAAA,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;AAC9B,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,MAAK;AACR,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;YACzB,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;AAEnD,YAAA,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC;AAEhC,YAAA,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE;AACxB,gBAAA,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC;YAChC;AACJ,QAAA,CAAC,CAAC;AACN,IAAA,CAAC;AACL;;;;"}
|
||||
32
node_modules/motion-dom/dist/es/resize/handle-window.mjs
generated
vendored
Normal file
32
node_modules/motion-dom/dist/es/resize/handle-window.mjs
generated
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
const windowCallbacks = new Set();
|
||||
let windowResizeHandler;
|
||||
function createWindowResizeHandler() {
|
||||
windowResizeHandler = () => {
|
||||
const info = {
|
||||
get width() {
|
||||
return window.innerWidth;
|
||||
},
|
||||
get height() {
|
||||
return window.innerHeight;
|
||||
},
|
||||
};
|
||||
windowCallbacks.forEach((callback) => callback(info));
|
||||
};
|
||||
window.addEventListener("resize", windowResizeHandler);
|
||||
}
|
||||
function resizeWindow(callback) {
|
||||
windowCallbacks.add(callback);
|
||||
if (!windowResizeHandler)
|
||||
createWindowResizeHandler();
|
||||
return () => {
|
||||
windowCallbacks.delete(callback);
|
||||
if (!windowCallbacks.size &&
|
||||
typeof windowResizeHandler === "function") {
|
||||
window.removeEventListener("resize", windowResizeHandler);
|
||||
windowResizeHandler = undefined;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export { resizeWindow };
|
||||
//# sourceMappingURL=handle-window.mjs.map
|
||||
1
node_modules/motion-dom/dist/es/resize/handle-window.mjs.map
generated
vendored
Normal file
1
node_modules/motion-dom/dist/es/resize/handle-window.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"handle-window.mjs","sources":["../../../src/resize/handle-window.ts"],"sourcesContent":["import { WindowResizeHandler } from \"./types\"\n\nconst windowCallbacks = new Set<WindowResizeHandler>()\n\nlet windowResizeHandler: VoidFunction | undefined\n\nfunction createWindowResizeHandler() {\n windowResizeHandler = () => {\n const info = {\n get width() {\n return window.innerWidth\n },\n get height() {\n return window.innerHeight\n },\n }\n\n windowCallbacks.forEach((callback) => callback(info))\n }\n\n window.addEventListener(\"resize\", windowResizeHandler)\n}\n\nexport function resizeWindow(callback: WindowResizeHandler) {\n windowCallbacks.add(callback)\n\n if (!windowResizeHandler) createWindowResizeHandler()\n\n return () => {\n windowCallbacks.delete(callback)\n\n if (\n !windowCallbacks.size &&\n typeof windowResizeHandler === \"function\"\n ) {\n window.removeEventListener(\"resize\", windowResizeHandler)\n windowResizeHandler = undefined\n }\n }\n}\n"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuB;AAEtD,IAAI,mBAA6C;AAEjD,SAAS,yBAAyB,GAAA;IAC9B,mBAAmB,GAAG,MAAK;AACvB,QAAA,MAAM,IAAI,GAAG;AACT,YAAA,IAAI,KAAK,GAAA;gBACL,OAAO,MAAM,CAAC,UAAU;YAC5B,CAAC;AACD,YAAA,IAAI,MAAM,GAAA;gBACN,OAAO,MAAM,CAAC,WAAW;YAC7B,CAAC;SACJ;AAED,QAAA,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzD,IAAA,CAAC;AAED,IAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC;AAC1D;AAEM,SAAU,YAAY,CAAC,QAA6B,EAAA;AACtD,IAAA,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;AAE7B,IAAA,IAAI,CAAC,mBAAmB;AAAE,QAAA,yBAAyB,EAAE;AAErD,IAAA,OAAO,MAAK;AACR,QAAA,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEhC,IACI,CAAC,eAAe,CAAC,IAAI;AACrB,YAAA,OAAO,mBAAmB,KAAK,UAAU,EAC3C;AACE,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,CAAC;YACzD,mBAAmB,GAAG,SAAS;QACnC;AACJ,IAAA,CAAC;AACL;;;;"}
|
||||
9
node_modules/motion-dom/dist/es/resize/index.mjs
generated
vendored
Normal file
9
node_modules/motion-dom/dist/es/resize/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
import { resizeElement } from './handle-element.mjs';
|
||||
import { resizeWindow } from './handle-window.mjs';
|
||||
|
||||
function resize(a, b) {
|
||||
return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
|
||||
}
|
||||
|
||||
export { resize };
|
||||
//# sourceMappingURL=index.mjs.map
|
||||
1
node_modules/motion-dom/dist/es/resize/index.mjs.map
generated
vendored
Normal file
1
node_modules/motion-dom/dist/es/resize/index.mjs.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.mjs","sources":["../../../src/resize/index.ts"],"sourcesContent":["import { ElementOrSelector } from \"../utils/resolve-elements\"\nimport { resizeElement } from \"./handle-element\"\nimport { resizeWindow } from \"./handle-window\"\nimport { ResizeHandler, WindowResizeHandler } from \"./types\"\n\nexport function resize(onResize: WindowResizeHandler): VoidFunction\nexport function resize(\n target: ElementOrSelector,\n onResize: ResizeHandler<Element>\n): VoidFunction\nexport function resize(\n a: WindowResizeHandler | ElementOrSelector,\n b?: ResizeHandler<Element>\n) {\n return typeof a === \"function\" ? resizeWindow(a) : resizeElement(a, b!)\n}\n"],"names":[],"mappings":";;;AAUM,SAAU,MAAM,CAClB,CAA0C,EAC1C,CAA0B,EAAA;IAE1B,OAAO,OAAO,CAAC,KAAK,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,CAAE,CAAC;AAC3E;;;;"}
|
||||
Reference in New Issue
Block a user