first commit
This commit is contained in:
4
frontend/node_modules/@rc-component/mutate-observer/es/MutateObserver.d.ts
generated
vendored
Normal file
4
frontend/node_modules/@rc-component/mutate-observer/es/MutateObserver.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import React from 'react';
|
||||
import type { MutationObserverProps } from './interface';
|
||||
declare const MutateObserver: React.FC<MutationObserverProps>;
|
||||
export default MutateObserver;
|
||||
44
frontend/node_modules/@rc-component/mutate-observer/es/MutateObserver.js
generated
vendored
Normal file
44
frontend/node_modules/@rc-component/mutate-observer/es/MutateObserver.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
||||
import React from 'react';
|
||||
import useLayoutEffect from "rc-util/es/hooks/useLayoutEffect";
|
||||
import { supportRef, useComposeRef } from "rc-util/es/ref";
|
||||
import findDOMNode from "rc-util/es/Dom/findDOMNode";
|
||||
import useEvent from "rc-util/es/hooks/useEvent";
|
||||
import DomWrapper from "./wrapper";
|
||||
import useMutateObserver from "./useMutateObserver";
|
||||
var MutateObserver = function MutateObserver(props) {
|
||||
var children = props.children,
|
||||
options = props.options,
|
||||
_props$onMutate = props.onMutate,
|
||||
onMutate = _props$onMutate === void 0 ? function () {} : _props$onMutate;
|
||||
var callback = useEvent(onMutate);
|
||||
var wrapperRef = React.useRef(null);
|
||||
var elementRef = React.useRef(null);
|
||||
var canRef = /*#__PURE__*/React.isValidElement(children) && supportRef(children);
|
||||
var mergedRef = useComposeRef(elementRef, canRef ? children.ref : null);
|
||||
var _React$useState = React.useState(null),
|
||||
_React$useState2 = _slicedToArray(_React$useState, 2),
|
||||
target = _React$useState2[0],
|
||||
setTarget = _React$useState2[1];
|
||||
useMutateObserver(target, callback, options);
|
||||
|
||||
// =========================== Effect ===========================
|
||||
// Bind target
|
||||
useLayoutEffect(function () {
|
||||
setTarget(findDOMNode(elementRef.current) || findDOMNode(wrapperRef.current));
|
||||
});
|
||||
|
||||
// =========================== Render ===========================
|
||||
if (!children) {
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
console.error('MutationObserver need children props');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return /*#__PURE__*/React.createElement(DomWrapper, {
|
||||
ref: wrapperRef
|
||||
}, canRef ? /*#__PURE__*/React.cloneElement(children, {
|
||||
ref: mergedRef
|
||||
}) : children);
|
||||
};
|
||||
export default MutateObserver;
|
||||
4
frontend/node_modules/@rc-component/mutate-observer/es/index.d.ts
generated
vendored
Normal file
4
frontend/node_modules/@rc-component/mutate-observer/es/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import MutateObserver from './MutateObserver';
|
||||
import useMutateObserver from './useMutateObserver';
|
||||
export { useMutateObserver };
|
||||
export default MutateObserver;
|
||||
4
frontend/node_modules/@rc-component/mutate-observer/es/index.js
generated
vendored
Normal file
4
frontend/node_modules/@rc-component/mutate-observer/es/index.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import MutateObserver from "./MutateObserver";
|
||||
import useMutateObserver from "./useMutateObserver";
|
||||
export { useMutateObserver };
|
||||
export default MutateObserver;
|
||||
6
frontend/node_modules/@rc-component/mutate-observer/es/interface.d.ts
generated
vendored
Normal file
6
frontend/node_modules/@rc-component/mutate-observer/es/interface.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
/// <reference types="react" />
|
||||
export interface MutationObserverProps {
|
||||
children: React.ReactNode;
|
||||
options?: MutationObserverInit;
|
||||
onMutate?: (mutations: MutationRecord[], observer: MutationObserver) => void;
|
||||
}
|
||||
1
frontend/node_modules/@rc-component/mutate-observer/es/interface.js
generated
vendored
Normal file
1
frontend/node_modules/@rc-component/mutate-observer/es/interface.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export {};
|
||||
1
frontend/node_modules/@rc-component/mutate-observer/es/useMutateObserver.d.ts
generated
vendored
Normal file
1
frontend/node_modules/@rc-component/mutate-observer/es/useMutateObserver.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export default function useMutateObserver(nodeOrList: HTMLElement | HTMLElement[], callback: MutationCallback, options?: MutationObserverInit): void;
|
||||
28
frontend/node_modules/@rc-component/mutate-observer/es/useMutateObserver.js
generated
vendored
Normal file
28
frontend/node_modules/@rc-component/mutate-observer/es/useMutateObserver.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
import canUseDom from "rc-util/es/Dom/canUseDom";
|
||||
import * as React from 'react';
|
||||
var defaultOptions = {
|
||||
subtree: true,
|
||||
childList: true,
|
||||
attributeFilter: ['style', 'class']
|
||||
};
|
||||
export default function useMutateObserver(nodeOrList, callback) {
|
||||
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultOptions;
|
||||
React.useEffect(function () {
|
||||
if (!canUseDom() || !nodeOrList) {
|
||||
return;
|
||||
}
|
||||
var instance;
|
||||
var nodeList = Array.isArray(nodeOrList) ? nodeOrList : [nodeOrList];
|
||||
if ('MutationObserver' in window) {
|
||||
instance = new MutationObserver(callback);
|
||||
nodeList.forEach(function (element) {
|
||||
instance.observe(element, options);
|
||||
});
|
||||
}
|
||||
return function () {
|
||||
var _instance, _instance2;
|
||||
(_instance = instance) === null || _instance === void 0 ? void 0 : _instance.takeRecords();
|
||||
(_instance2 = instance) === null || _instance2 === void 0 ? void 0 : _instance2.disconnect();
|
||||
};
|
||||
}, [options, nodeOrList]);
|
||||
}
|
||||
8
frontend/node_modules/@rc-component/mutate-observer/es/wrapper.d.ts
generated
vendored
Normal file
8
frontend/node_modules/@rc-component/mutate-observer/es/wrapper.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import React from 'react';
|
||||
interface DomWrapperProps {
|
||||
children: React.ReactNode;
|
||||
}
|
||||
declare class DomWrapper extends React.Component<DomWrapperProps> {
|
||||
render(): React.ReactNode;
|
||||
}
|
||||
export default DomWrapper;
|
||||
21
frontend/node_modules/@rc-component/mutate-observer/es/wrapper.js
generated
vendored
Normal file
21
frontend/node_modules/@rc-component/mutate-observer/es/wrapper.js
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
||||
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
||||
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
||||
import _createSuper from "@babel/runtime/helpers/esm/createSuper";
|
||||
import React from 'react';
|
||||
var DomWrapper = /*#__PURE__*/function (_React$Component) {
|
||||
_inherits(DomWrapper, _React$Component);
|
||||
var _super = _createSuper(DomWrapper);
|
||||
function DomWrapper() {
|
||||
_classCallCheck(this, DomWrapper);
|
||||
return _super.apply(this, arguments);
|
||||
}
|
||||
_createClass(DomWrapper, [{
|
||||
key: "render",
|
||||
value: function render() {
|
||||
return this.props.children;
|
||||
}
|
||||
}]);
|
||||
return DomWrapper;
|
||||
}(React.Component);
|
||||
export default DomWrapper;
|
||||
Reference in New Issue
Block a user