first commit

This commit is contained in:
Ichitux
2026-04-05 03:08:53 +02:00
commit 1082d36c12
28015 changed files with 3767672 additions and 0 deletions

193
node_modules/its-fine/dist/index.cjs generated vendored Normal file
View File

@@ -0,0 +1,193 @@
"use strict";
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const React = require("react");
function _interopNamespace(e) {
if (e && e.__esModule)
return e;
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
if (e) {
for (const k in e) {
if (k !== "default") {
const d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: () => e[k]
});
}
}
}
n.default = e;
return Object.freeze(n);
}
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var _a, _b;
const useIsomorphicLayoutEffect = typeof window !== "undefined" && (((_a = window.document) == null ? void 0 : _a.createElement) || ((_b = window.navigator) == null ? void 0 : _b.product) === "ReactNative") ? React__namespace.useLayoutEffect : React__namespace.useEffect;
function traverseFiber(fiber, ascending, selector) {
if (!fiber)
return;
if (selector(fiber) === true)
return fiber;
let child = ascending ? fiber.return : fiber.child;
while (child) {
const match = traverseFiber(child, ascending, selector);
if (match)
return match;
child = ascending ? null : child.sibling;
}
}
function wrapContext(context) {
try {
return Object.defineProperties(context, {
_currentRenderer: {
get() {
return null;
},
set() {
}
},
_currentRenderer2: {
get() {
return null;
},
set() {
}
}
});
} catch (_) {
return context;
}
}
const error = console.error;
console.error = function() {
const message = [...arguments].join("");
if ((message == null ? void 0 : message.startsWith("Warning:")) && message.includes("useContext")) {
console.error = error;
return;
}
return error.apply(this, arguments);
};
const FiberContext = wrapContext(React__namespace.createContext(null));
class FiberProvider extends React__namespace.Component {
render() {
return /* @__PURE__ */ React__namespace.createElement(FiberContext.Provider, {
value: this._reactInternals
}, this.props.children);
}
}
function useFiber() {
const root = React__namespace.useContext(FiberContext);
if (root === null)
throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");
const id = React__namespace.useId();
const fiber = React__namespace.useMemo(() => {
for (const maybeFiber of [root, root == null ? void 0 : root.alternate]) {
if (!maybeFiber)
continue;
const fiber2 = traverseFiber(maybeFiber, false, (node) => {
let state = node.memoizedState;
while (state) {
if (state.memoizedState === id)
return true;
state = state.next;
}
});
if (fiber2)
return fiber2;
}
}, [root, id]);
return fiber;
}
function useContainer() {
const fiber = useFiber();
const root = React__namespace.useMemo(
() => traverseFiber(fiber, true, (node) => {
var _a2;
return ((_a2 = node.stateNode) == null ? void 0 : _a2.containerInfo) != null;
}),
[fiber]
);
return root == null ? void 0 : root.stateNode.containerInfo;
}
function useNearestChild(type) {
const fiber = useFiber();
const childRef = React__namespace.useRef();
useIsomorphicLayoutEffect(() => {
var _a2;
childRef.current = (_a2 = traverseFiber(
fiber,
false,
(node) => typeof node.type === "string" && (type === void 0 || node.type === type)
)) == null ? void 0 : _a2.stateNode;
}, [fiber]);
return childRef;
}
function useNearestParent(type) {
const fiber = useFiber();
const parentRef = React__namespace.useRef();
useIsomorphicLayoutEffect(() => {
var _a2;
parentRef.current = (_a2 = traverseFiber(
fiber,
true,
(node) => typeof node.type === "string" && (type === void 0 || node.type === type)
)) == null ? void 0 : _a2.stateNode;
}, [fiber]);
return parentRef;
}
function useContextMap() {
const fiber = useFiber();
const [contextMap] = React__namespace.useState(() => /* @__PURE__ */ new Map());
contextMap.clear();
let node = fiber;
while (node) {
if (node.type && typeof node.type === "object") {
const enableRenderableContext = node.type._context === void 0 && node.type.Provider === node.type;
const context = enableRenderableContext ? node.type : node.type._context;
if (context && context !== FiberContext && !contextMap.has(context)) {
contextMap.set(context, React__namespace.useContext(wrapContext(context)));
}
}
node = node.return;
}
return contextMap;
}
function useContextBridge() {
const contextMap = useContextMap();
return React__namespace.useMemo(
() => Array.from(contextMap.keys()).reduce(
(Prev, context) => (props) => /* @__PURE__ */ React__namespace.createElement(Prev, null, /* @__PURE__ */ React__namespace.createElement(context.Provider, __spreadProps(__spreadValues({}, props), {
value: contextMap.get(context)
}))),
(props) => /* @__PURE__ */ React__namespace.createElement(FiberProvider, __spreadValues({}, props))
),
[contextMap]
);
}
exports.FiberProvider = FiberProvider;
exports.traverseFiber = traverseFiber;
exports.useContainer = useContainer;
exports.useContextBridge = useContextBridge;
exports.useContextMap = useContextMap;
exports.useFiber = useFiber;
exports.useNearestChild = useNearestChild;
exports.useNearestParent = useNearestParent;
//# sourceMappingURL=index.cjs.map

1
node_modules/its-fine/dist/index.cjs.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.cjs","sources":["../src/index.tsx"],"sourcesContent":null,"names":["React","fiber","_a"],"mappings":"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"}

82
node_modules/its-fine/dist/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,82 @@
import * as React from 'react';
import type ReactReconciler from 'react-reconciler';
/**
* Represents a react-internal Fiber node.
*/
export declare type Fiber<T = any> = Omit<ReactReconciler.Fiber, 'stateNode'> & {
stateNode: T;
};
/**
* Represents a {@link Fiber} node selector for traversal.
*/
export declare type FiberSelector<T = any> = (
/** The current {@link Fiber} node. */
node: Fiber<T | null>) => boolean | void;
/**
* Traverses up or down a {@link Fiber}, return `true` to stop and select a node.
*/
export declare function traverseFiber<T = any>(
/** Input {@link Fiber} to traverse. */
fiber: Fiber | undefined,
/** Whether to ascend and walk up the tree. Will walk down if `false`. */
ascending: boolean,
/** A {@link Fiber} node selector, returns the first match when `true` is passed. */
selector: FiberSelector<T>): Fiber<T> | undefined;
/**
* A react-internal {@link Fiber} provider. This component binds React children to the React Fiber tree. Call its-fine hooks within this.
*/
export declare class FiberProvider extends React.Component<{
children?: React.ReactNode;
}> {
private _reactInternals;
render(): JSX.Element;
}
/**
* Returns the current react-internal {@link Fiber}. This is an implementation detail of [react-reconciler](https://github.com/facebook/react/tree/main/packages/react-reconciler).
*/
export declare function useFiber(): Fiber<null> | undefined;
/**
* Represents a react-reconciler container instance.
*/
export interface ContainerInstance<T = any> {
containerInfo: T;
}
/**
* Returns the current react-reconciler container info passed to {@link ReactReconciler.Reconciler.createContainer}.
*
* In react-dom, a container will point to the root DOM element; in react-three-fiber, it will point to the root Zustand store.
*/
export declare function useContainer<T = any>(): T | undefined;
/**
* Returns the nearest react-reconciler child instance or the node created from {@link ReactReconciler.HostConfig.createInstance}.
*
* In react-dom, this would be a DOM element; in react-three-fiber this would be an instance descriptor.
*/
export declare function useNearestChild<T = any>(
/** An optional element type to filter to. */
type?: keyof JSX.IntrinsicElements): React.MutableRefObject<T | undefined>;
/**
* Returns the nearest react-reconciler parent instance or the node created from {@link ReactReconciler.HostConfig.createInstance}.
*
* In react-dom, this would be a DOM element; in react-three-fiber this would be an instance descriptor.
*/
export declare function useNearestParent<T = any>(
/** An optional element type to filter to. */
type?: keyof JSX.IntrinsicElements): React.MutableRefObject<T | undefined>;
export declare type ContextMap = Map<React.Context<any>, any> & {
get<T>(context: React.Context<T>): T | undefined;
};
/**
* Returns a map of all contexts and their values.
*/
export declare function useContextMap(): ContextMap;
/**
* Represents a react-context bridge provider component.
*/
export declare type ContextBridge = React.FC<React.PropsWithChildren<{}>>;
/**
* React Context currently cannot be shared across [React renderers](https://reactjs.org/docs/codebase-overview.html#renderers) but explicitly forwarded between providers (see [react#17275](https://github.com/facebook/react/issues/17275)). This hook returns a {@link ContextBridge} of live context providers to pierce Context across renderers.
*
* Pass {@link ContextBridge} as a component to a secondary renderer to enable context-sharing within its children.
*/
export declare function useContextBridge(): ContextBridge;

174
node_modules/its-fine/dist/index.js generated vendored Normal file
View File

@@ -0,0 +1,174 @@
import * as React from "react";
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var _a, _b;
const useIsomorphicLayoutEffect = typeof window !== "undefined" && (((_a = window.document) == null ? void 0 : _a.createElement) || ((_b = window.navigator) == null ? void 0 : _b.product) === "ReactNative") ? React.useLayoutEffect : React.useEffect;
function traverseFiber(fiber, ascending, selector) {
if (!fiber)
return;
if (selector(fiber) === true)
return fiber;
let child = ascending ? fiber.return : fiber.child;
while (child) {
const match = traverseFiber(child, ascending, selector);
if (match)
return match;
child = ascending ? null : child.sibling;
}
}
function wrapContext(context) {
try {
return Object.defineProperties(context, {
_currentRenderer: {
get() {
return null;
},
set() {
}
},
_currentRenderer2: {
get() {
return null;
},
set() {
}
}
});
} catch (_) {
return context;
}
}
const error = console.error;
console.error = function() {
const message = [...arguments].join("");
if ((message == null ? void 0 : message.startsWith("Warning:")) && message.includes("useContext")) {
console.error = error;
return;
}
return error.apply(this, arguments);
};
const FiberContext = wrapContext(React.createContext(null));
class FiberProvider extends React.Component {
render() {
return /* @__PURE__ */ React.createElement(FiberContext.Provider, {
value: this._reactInternals
}, this.props.children);
}
}
function useFiber() {
const root = React.useContext(FiberContext);
if (root === null)
throw new Error("its-fine: useFiber must be called within a <FiberProvider />!");
const id = React.useId();
const fiber = React.useMemo(() => {
for (const maybeFiber of [root, root == null ? void 0 : root.alternate]) {
if (!maybeFiber)
continue;
const fiber2 = traverseFiber(maybeFiber, false, (node) => {
let state = node.memoizedState;
while (state) {
if (state.memoizedState === id)
return true;
state = state.next;
}
});
if (fiber2)
return fiber2;
}
}, [root, id]);
return fiber;
}
function useContainer() {
const fiber = useFiber();
const root = React.useMemo(
() => traverseFiber(fiber, true, (node) => {
var _a2;
return ((_a2 = node.stateNode) == null ? void 0 : _a2.containerInfo) != null;
}),
[fiber]
);
return root == null ? void 0 : root.stateNode.containerInfo;
}
function useNearestChild(type) {
const fiber = useFiber();
const childRef = React.useRef();
useIsomorphicLayoutEffect(() => {
var _a2;
childRef.current = (_a2 = traverseFiber(
fiber,
false,
(node) => typeof node.type === "string" && (type === void 0 || node.type === type)
)) == null ? void 0 : _a2.stateNode;
}, [fiber]);
return childRef;
}
function useNearestParent(type) {
const fiber = useFiber();
const parentRef = React.useRef();
useIsomorphicLayoutEffect(() => {
var _a2;
parentRef.current = (_a2 = traverseFiber(
fiber,
true,
(node) => typeof node.type === "string" && (type === void 0 || node.type === type)
)) == null ? void 0 : _a2.stateNode;
}, [fiber]);
return parentRef;
}
function useContextMap() {
const fiber = useFiber();
const [contextMap] = React.useState(() => /* @__PURE__ */ new Map());
contextMap.clear();
let node = fiber;
while (node) {
if (node.type && typeof node.type === "object") {
const enableRenderableContext = node.type._context === void 0 && node.type.Provider === node.type;
const context = enableRenderableContext ? node.type : node.type._context;
if (context && context !== FiberContext && !contextMap.has(context)) {
contextMap.set(context, React.useContext(wrapContext(context)));
}
}
node = node.return;
}
return contextMap;
}
function useContextBridge() {
const contextMap = useContextMap();
return React.useMemo(
() => Array.from(contextMap.keys()).reduce(
(Prev, context) => (props) => /* @__PURE__ */ React.createElement(Prev, null, /* @__PURE__ */ React.createElement(context.Provider, __spreadProps(__spreadValues({}, props), {
value: contextMap.get(context)
}))),
(props) => /* @__PURE__ */ React.createElement(FiberProvider, __spreadValues({}, props))
),
[contextMap]
);
}
export {
FiberProvider,
traverseFiber,
useContainer,
useContextBridge,
useContextMap,
useFiber,
useNearestChild,
useNearestParent
};
//# sourceMappingURL=index.js.map

1
node_modules/its-fine/dist/index.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":null,"names":["fiber","_a"],"mappings":"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"}