@lofter-common-shared/react-components 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/animation-size-view/index.d.ts +16 -0
- package/dist/animation-size-view/index.d.ts.map +1 -0
- package/dist/animation-size-view/index.js +94 -0
- package/dist/animation-size-view/index.js.map +1 -0
- package/dist/animation-size-view/index.style.d.ts +5 -0
- package/dist/animation-size-view/index.style.d.ts.map +1 -0
- package/dist/animation-size-view/index.style.js +16 -0
- package/dist/animation-size-view/index.style.js.map +1 -0
- package/dist/appear-in-viewport/index.d.ts +21 -0
- package/dist/appear-in-viewport/index.d.ts.map +1 -0
- package/dist/appear-in-viewport/index.js +125 -0
- package/dist/appear-in-viewport/index.js.map +1 -0
- package/dist/appear-in-viewport/observe.d.ts +51 -0
- package/dist/appear-in-viewport/observe.d.ts.map +1 -0
- package/dist/appear-in-viewport/observe.js +62 -0
- package/dist/appear-in-viewport/observe.js.map +1 -0
- package/dist/click-away-listener/index.d.ts +13 -0
- package/dist/click-away-listener/index.d.ts.map +1 -0
- package/dist/click-away-listener/index.js +108 -0
- package/dist/click-away-listener/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/lazy/index.d.ts +8 -0
- package/dist/lazy/index.d.ts.map +1 -0
- package/dist/lazy/index.js +51 -0
- package/dist/lazy/index.js.map +1 -0
- package/dist/loading/index.d.ts +14 -3
- package/dist/loading/index.d.ts.map +1 -1
- package/dist/loading/index.js +4 -1
- package/dist/loading/index.js.map +1 -1
- package/dist/pull-down-able/container.d.ts +8 -0
- package/dist/pull-down-able/container.d.ts.map +1 -0
- package/dist/pull-down-able/container.js +79 -0
- package/dist/pull-down-able/container.js.map +1 -0
- package/dist/pull-down-able/index.d.ts +34 -0
- package/dist/pull-down-able/index.d.ts.map +1 -0
- package/dist/pull-down-able/index.js +304 -0
- package/dist/pull-down-able/index.js.map +1 -0
- package/dist/sync-size-space/index.d.ts +13 -0
- package/dist/sync-size-space/index.d.ts.map +1 -0
- package/dist/sync-size-space/index.js +102 -0
- package/dist/sync-size-space/index.js.map +1 -0
- package/dist/waterfall/index.style.d.ts +1 -1
- package/dist/waterfall/index.style.d.ts.map +1 -1
- package/dist/waterfall/index.style.js +8 -8
- package/dist/waterfall/index.style.js.map +1 -1
- package/package.json +10 -2
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type AnimationSizeViewRef = {};
|
|
3
|
+
export type AnimationSizeViewProps = {
|
|
4
|
+
childProps?: Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'children'>;
|
|
5
|
+
parentProps?: Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'children'>;
|
|
6
|
+
children?: React.ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* 默认只会变化高度
|
|
9
|
+
*/
|
|
10
|
+
observerAttrs?: {
|
|
11
|
+
width?: boolean;
|
|
12
|
+
height?: boolean;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export declare const AnimationSizeView: React.ForwardRefExoticComponent<AnimationSizeViewProps & React.RefAttributes<AnimationSizeViewRef>>;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/animation-size-view/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6D,MAAM,OAAO,CAAC;AAMlF,MAAM,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEtC,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7G,WAAW,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9G,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,aAAa,CAAC,EAAE;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iBAAiB,qGAkE7B,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
47
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.AnimationSizeView = void 0;
|
|
51
|
+
var react_1 = __importStar(require("react"));
|
|
52
|
+
var throttle_1 = require("@lofter-common-shared/utils/throttle");
|
|
53
|
+
var index_style_1 = __importDefault(require("./index.style"));
|
|
54
|
+
exports.AnimationSizeView = (0, react_1.forwardRef)(function (_a, ref) {
|
|
55
|
+
var childProps = _a.childProps, parentProps = _a.parentProps, children = _a.children, _b = _a.observerAttrs, observerAttrs = _b === void 0 ? {
|
|
56
|
+
height: true,
|
|
57
|
+
} : _b;
|
|
58
|
+
var parentRef = (0, react_1.useRef)(null);
|
|
59
|
+
var childRef = (0, react_1.useRef)(null);
|
|
60
|
+
var observerAttrsRef = (0, react_1.useRef)(observerAttrs);
|
|
61
|
+
(0, react_1.useImperativeHandle)(ref, function () {
|
|
62
|
+
return {};
|
|
63
|
+
}, []);
|
|
64
|
+
(0, react_1.useEffect)(function () {
|
|
65
|
+
var resize = (0, throttle_1.throttle)(function () {
|
|
66
|
+
if (parentRef.current && childRef.current) {
|
|
67
|
+
if (observerAttrsRef.current.height) {
|
|
68
|
+
parentRef.current.style.height = "".concat(Math.ceil(childRef.current.getBoundingClientRect().height), "px");
|
|
69
|
+
}
|
|
70
|
+
if (observerAttrsRef.current.width) {
|
|
71
|
+
parentRef.current.style.width = "".concat(Math.ceil(childRef.current.getBoundingClientRect().width), "px");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
75
|
+
wait: 50,
|
|
76
|
+
leading: true,
|
|
77
|
+
trailing: true,
|
|
78
|
+
debounce: true,
|
|
79
|
+
}).run;
|
|
80
|
+
var resizeObserver = new ResizeObserver(function () {
|
|
81
|
+
resize();
|
|
82
|
+
});
|
|
83
|
+
if (childRef.current) {
|
|
84
|
+
resizeObserver.observe(childRef.current);
|
|
85
|
+
resize();
|
|
86
|
+
}
|
|
87
|
+
return function () {
|
|
88
|
+
resizeObserver.disconnect();
|
|
89
|
+
};
|
|
90
|
+
}, []);
|
|
91
|
+
return (react_1.default.createElement("div", __assign({}, parentProps, { className: index_style_1.default.box + ((parentProps === null || parentProps === void 0 ? void 0 : parentProps.className) ? " ".concat(parentProps.className) : ''), ref: parentRef }),
|
|
92
|
+
react_1.default.createElement("div", __assign({}, childProps, { ref: childRef }), children)));
|
|
93
|
+
});
|
|
94
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/animation-size-view/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAkF;AAElF,iEAAgE;AAEhE,8DAAgC;AAiBnB,QAAA,iBAAiB,GAAG,IAAA,kBAAU,EACzC,UACE,EAOC,EACD,GAAG;QAPD,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,qBAEC,EAFD,aAAa,mBAAG;QACd,MAAM,EAAE,IAAI;KACb,KAAA;IAIH,IAAM,SAAS,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IACtD,IAAM,QAAQ,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IACrD,IAAM,gBAAgB,GAAG,IAAA,cAAM,EAAuB,aAAa,CAAC,CAAC;IACrE,IAAA,2BAAmB,EAAC,GAAG,EAAE;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,iBAAS,EAAC;QACR,IAAM,MAAM,GAAG,IAAA,mBAAQ,EACrB;YACE,IAAI,SAAS,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBAC1C,IAAI,gBAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACpC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,OAAI,CAAC;gBACrG,CAAC;gBACD,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACnC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,UAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,OAAI,CAAC;gBACnG,CAAC;YACH,CAAC;QACH,CAAC,EACD;YACE,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;SACf,CACF,CAAC,GAAG,CAAC;QAEN,IAAM,cAAc,GAAG,IAAI,cAAc,CAAC;YACxC,MAAM,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,EAAE,CAAC;QACX,CAAC;QAED,OAAO;YACL,cAAc,CAAC,UAAU,EAAE,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CACL,kDACM,WAAW,IACf,SAAS,EAAE,qBAAG,CAAC,GAAG,GAAG,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,EAAC,CAAC,CAAC,WAAI,WAAW,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAChF,GAAG,EAAE,SAAS;QAEd,kDACM,UAAU,IACd,GAAG,EAAE,QAAQ,KAEZ,QAAQ,CACL,CACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.style.d.ts","sourceRoot":"","sources":["../../src/animation-size-view/index.style.ts"],"names":[],"mappings":";;;AAOA,wBAOuB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var css_in_js_1 = require("@lofter-common-shared/css-in-js");
|
|
4
|
+
var theme = new css_in_js_1.Theme({
|
|
5
|
+
name: 'animation-size',
|
|
6
|
+
namespace: 'lofter-animation-size',
|
|
7
|
+
});
|
|
8
|
+
exports.default = (0, css_in_js_1.createThemStyle)(theme)(function () { return ({
|
|
9
|
+
box: {
|
|
10
|
+
'transition-property': 'width, height',
|
|
11
|
+
'transition-timing-function': 'linear',
|
|
12
|
+
'transition-duration': '200ms',
|
|
13
|
+
overflow: 'hidden',
|
|
14
|
+
},
|
|
15
|
+
}); }).createClassNames();
|
|
16
|
+
//# sourceMappingURL=index.style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.style.js","sourceRoot":"","sources":["../../src/animation-size-view/index.style.ts"],"names":[],"mappings":";;AAAA,6DAAyE;AAEzE,IAAM,KAAK,GAAG,IAAI,iBAAK,CAAC;IACtB,IAAI,EAAE,gBAAgB;IACtB,SAAS,EAAE,uBAAuB;CACnC,CAAC,CAAC;AAEH,kBAAe,IAAA,2BAAe,EAAC,KAAK,CAAC,CAAC,cAAM,OAAA,CAAC;IAC3C,GAAG,EAAE;QACH,qBAAqB,EAAE,eAAe;QACtC,4BAA4B,EAAE,QAAQ;QACtC,qBAAqB,EAAE,OAAO;QAC9B,QAAQ,EAAE,QAAQ;KACnB;CACF,CAAC,EAP0C,CAO1C,CAAC,CAAC,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ObserveParams } from './observe';
|
|
3
|
+
import { observe } from './observe';
|
|
4
|
+
export { observe, ObserveParams };
|
|
5
|
+
/**
|
|
6
|
+
* AppearInViewport 参数定义
|
|
7
|
+
*/
|
|
8
|
+
export type AppearInViewportProps = ObserveParams;
|
|
9
|
+
export type AppearInViewportComponentProps = AppearInViewportProps & React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
|
|
10
|
+
export declare const useAppearInViewport: <BE extends HTMLElement = HTMLElement>({ onAppear, advance, threshold, repeat, onDisAppear, IntersectionObserverClass, }: AppearInViewportProps) => {
|
|
11
|
+
updateBox: React.Dispatch<React.SetStateAction<BE | null>>;
|
|
12
|
+
box: BE | null;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* @class AppearInViewport
|
|
16
|
+
* 出现在页面中会自动响应(仅一次)
|
|
17
|
+
*
|
|
18
|
+
* @see AppearInViewportComponentProps
|
|
19
|
+
*/
|
|
20
|
+
export declare const AppearInViewport: React.ForwardRefExoticComponent<Pick<AppearInViewportComponentProps, "key" | keyof ObserveParams | keyof React.HTMLAttributes<HTMLDivElement>> & React.RefAttributes<HTMLDivElement>>;
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/appear-in-viewport/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuE,MAAM,OAAO,CAAC;AAE5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;AAElC;;GAEG;AAEH,MAAM,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAElD,MAAM,MAAM,8BAA8B,GAAG,qBAAqB,GAC9D,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC;AAElF,eAAO,MAAM,mBAAmB,GAAI,EAAE,SAAS,WAAW,GAAG,WAAW,EAAE,mFAOvE,qBAAqB;;;CAsCvB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,uLAyB5B,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
47
|
+
var t = {};
|
|
48
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
49
|
+
t[p] = s[p];
|
|
50
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
51
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
52
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
53
|
+
t[p[i]] = s[p[i]];
|
|
54
|
+
}
|
|
55
|
+
return t;
|
|
56
|
+
};
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
exports.AppearInViewport = exports.useAppearInViewport = exports.observe = void 0;
|
|
59
|
+
var react_1 = __importStar(require("react"));
|
|
60
|
+
var observe_1 = require("./observe");
|
|
61
|
+
Object.defineProperty(exports, "observe", { enumerable: true, get: function () { return observe_1.observe; } });
|
|
62
|
+
var useAppearInViewport = function (_a) {
|
|
63
|
+
var onAppear = _a.onAppear, _b = _a.advance, advance = _b === void 0 ? 0 : _b, _c = _a.threshold, threshold = _c === void 0 ? 0 : _c, _d = _a.repeat, repeat = _d === void 0 ? false : _d, onDisAppear = _a.onDisAppear, IntersectionObserverClass = _a.IntersectionObserverClass;
|
|
64
|
+
var _e = (0, react_1.useState)(null), box = _e[0], updateBox = _e[1];
|
|
65
|
+
var onAppearRef = (0, react_1.useRef)(onAppear);
|
|
66
|
+
var onDisAppearRef = (0, react_1.useRef)(onDisAppear);
|
|
67
|
+
onAppearRef.current = onAppear;
|
|
68
|
+
onDisAppearRef.current = onDisAppear;
|
|
69
|
+
var repeatRef = (0, react_1.useRef)(repeat);
|
|
70
|
+
var advanceRef = (0, react_1.useRef)(advance);
|
|
71
|
+
var thresholdRef = (0, react_1.useRef)(threshold);
|
|
72
|
+
(0, react_1.useEffect)(function () {
|
|
73
|
+
var unobserve = function () { };
|
|
74
|
+
if (box) {
|
|
75
|
+
unobserve = (0, observe_1.observe)(box, {
|
|
76
|
+
onAppear: function (params) {
|
|
77
|
+
var _a;
|
|
78
|
+
(_a = onAppearRef.current) === null || _a === void 0 ? void 0 : _a.call(onAppearRef, params);
|
|
79
|
+
},
|
|
80
|
+
advance: advanceRef.current,
|
|
81
|
+
threshold: thresholdRef.current,
|
|
82
|
+
repeat: repeatRef.current,
|
|
83
|
+
onDisAppear: function (params) {
|
|
84
|
+
var _a;
|
|
85
|
+
(_a = onDisAppearRef.current) === null || _a === void 0 ? void 0 : _a.call(onDisAppearRef, params);
|
|
86
|
+
},
|
|
87
|
+
IntersectionObserverClass: IntersectionObserverClass,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
return function () {
|
|
91
|
+
if (unobserve) {
|
|
92
|
+
unobserve();
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}, [box, IntersectionObserverClass]);
|
|
96
|
+
return {
|
|
97
|
+
updateBox: updateBox,
|
|
98
|
+
box: box,
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
exports.useAppearInViewport = useAppearInViewport;
|
|
102
|
+
/**
|
|
103
|
+
* @class AppearInViewport
|
|
104
|
+
* 出现在页面中会自动响应(仅一次)
|
|
105
|
+
*
|
|
106
|
+
* @see AppearInViewportComponentProps
|
|
107
|
+
*/
|
|
108
|
+
exports.AppearInViewport = (0, react_1.forwardRef)(function (_a, ref) {
|
|
109
|
+
var onAppear = _a.onAppear, advance = _a.advance, threshold = _a.threshold, repeat = _a.repeat, onDisAppear = _a.onDisAppear, IntersectionObserverClass = _a.IntersectionObserverClass, otherDivProps = __rest(_a, ["onAppear", "advance", "threshold", "repeat", "onDisAppear", "IntersectionObserverClass"]);
|
|
110
|
+
var boxRef = (0, react_1.useRef)(null);
|
|
111
|
+
var updateBox = (0, exports.useAppearInViewport)({
|
|
112
|
+
onAppear: onAppear,
|
|
113
|
+
advance: advance,
|
|
114
|
+
threshold: threshold,
|
|
115
|
+
repeat: repeat,
|
|
116
|
+
onDisAppear: onDisAppear,
|
|
117
|
+
IntersectionObserverClass: IntersectionObserverClass,
|
|
118
|
+
}).updateBox;
|
|
119
|
+
(0, react_1.useImperativeHandle)(ref, function () { return boxRef.current; }, []);
|
|
120
|
+
(0, react_1.useEffect)(function () {
|
|
121
|
+
updateBox(boxRef.current);
|
|
122
|
+
}, [updateBox]);
|
|
123
|
+
return (react_1.default.createElement("div", __assign({ ref: boxRef }, otherDivProps)));
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/appear-in-viewport/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
type Entries = {
|
|
2
|
+
boundingClientRect: DOMRect;
|
|
3
|
+
intersectionRatio: number;
|
|
4
|
+
isIntersecting: boolean;
|
|
5
|
+
}[];
|
|
6
|
+
export interface ObserveParams {
|
|
7
|
+
/**
|
|
8
|
+
* 出现在页面的回调
|
|
9
|
+
*/
|
|
10
|
+
onAppear?: (params: {
|
|
11
|
+
entries: Entries;
|
|
12
|
+
/**
|
|
13
|
+
* 出现的时间戳
|
|
14
|
+
*/
|
|
15
|
+
appearTimestamp: number;
|
|
16
|
+
}) => void;
|
|
17
|
+
/**
|
|
18
|
+
* 组件移出视窗区域的回调
|
|
19
|
+
*/
|
|
20
|
+
onDisAppear?: (params: {
|
|
21
|
+
entries: Entries;
|
|
22
|
+
/**
|
|
23
|
+
* 出现的时间戳
|
|
24
|
+
*/
|
|
25
|
+
appearTimestamp: number;
|
|
26
|
+
/**
|
|
27
|
+
* 消失的时间戳
|
|
28
|
+
*/
|
|
29
|
+
disAppearTimestamp: number;
|
|
30
|
+
}) => void;
|
|
31
|
+
/**
|
|
32
|
+
* advance
|
|
33
|
+
*/
|
|
34
|
+
advance?: number | string;
|
|
35
|
+
/**
|
|
36
|
+
* from 0.0 to 1.0
|
|
37
|
+
*/
|
|
38
|
+
threshold?: number;
|
|
39
|
+
/**
|
|
40
|
+
* 是否允许重复触发
|
|
41
|
+
*/
|
|
42
|
+
repeat?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* IntersectionObserver 允许自定义设置 observer 类
|
|
45
|
+
* 默认使用 window.IntersectionObserver
|
|
46
|
+
*/
|
|
47
|
+
IntersectionObserverClass?: typeof IntersectionObserver;
|
|
48
|
+
}
|
|
49
|
+
export declare const observe: (box: HTMLElement, params: ObserveParams) => () => void;
|
|
50
|
+
export {};
|
|
51
|
+
//# sourceMappingURL=observe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe.d.ts","sourceRoot":"","sources":["../../src/appear-in-viewport/observe.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,GAAG;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,CAAC;CACzB,EAAE,CAAC;AAEJ,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB;;WAEG;QACH,eAAe,EAAE,MAAM,CAAC;KACzB,KAAK,IAAI,CAAC;IACX;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB;;WAEG;QACH,eAAe,EAAE,MAAM,CAAC;QACxB;;WAEG;QACH,kBAAkB,EAAE,MAAM,CAAC;KAC5B,KAAK,IAAI,CAAC;IACX;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,oBAAoB,CAAC;CACzD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,WAAW,EAAE,QAAQ,aAAa,eA2D9D,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.observe = void 0;
|
|
4
|
+
var observe = function (box, params) {
|
|
5
|
+
var onAppear = params.onAppear, _a = params.advance, advance = _a === void 0 ? 0 : _a, _b = params.threshold, threshold = _b === void 0 ? 0 : _b, _c = params.repeat, repeat = _c === void 0 ? false : _c, onDisAppear = params.onDisAppear;
|
|
6
|
+
var ObserverClass;
|
|
7
|
+
if (params.IntersectionObserverClass) {
|
|
8
|
+
ObserverClass = params.IntersectionObserverClass;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
ObserverClass = IntersectionObserver;
|
|
12
|
+
}
|
|
13
|
+
var responsed = false;
|
|
14
|
+
var disappearResponse = false;
|
|
15
|
+
var appearState = 'disAppear';
|
|
16
|
+
var prevAppearTimestamp = 0;
|
|
17
|
+
var observer = new ObserverClass(function (entries) {
|
|
18
|
+
var shouldAppear = entries.some(function (entry) {
|
|
19
|
+
return entry && entry.intersectionRatio >= threshold && entry.isIntersecting;
|
|
20
|
+
});
|
|
21
|
+
if (shouldAppear) {
|
|
22
|
+
if ((repeat || !responsed) && appearState === 'disAppear') {
|
|
23
|
+
responsed = true;
|
|
24
|
+
prevAppearTimestamp = Date.now();
|
|
25
|
+
onAppear === null || onAppear === void 0 ? void 0 : onAppear({
|
|
26
|
+
entries: entries,
|
|
27
|
+
appearTimestamp: prevAppearTimestamp,
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
appearState = 'appear';
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
if ((repeat || !disappearResponse) && appearState === 'appear') {
|
|
34
|
+
disappearResponse = true;
|
|
35
|
+
onDisAppear === null || onDisAppear === void 0 ? void 0 : onDisAppear({
|
|
36
|
+
entries: entries,
|
|
37
|
+
appearTimestamp: prevAppearTimestamp,
|
|
38
|
+
disAppearTimestamp: Date.now(),
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
appearState = 'disAppear';
|
|
42
|
+
prevAppearTimestamp = 0;
|
|
43
|
+
}
|
|
44
|
+
if (!repeat && disappearResponse && appearState && box) {
|
|
45
|
+
observer.unobserve(box);
|
|
46
|
+
}
|
|
47
|
+
}, {
|
|
48
|
+
rootMargin: typeof advance === 'number' ? advance + 'px' : advance,
|
|
49
|
+
threshold: threshold,
|
|
50
|
+
});
|
|
51
|
+
// console.log('AppearInViewport', boxRef.current);
|
|
52
|
+
if (box) {
|
|
53
|
+
observer.observe(box);
|
|
54
|
+
}
|
|
55
|
+
return function () {
|
|
56
|
+
if (box) {
|
|
57
|
+
observer.unobserve(box);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
exports.observe = observe;
|
|
62
|
+
//# sourceMappingURL=observe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe.js","sourceRoot":"","sources":["../../src/appear-in-viewport/observe.ts"],"names":[],"mappings":";;;AAmDO,IAAM,OAAO,GAAG,UAAC,GAAgB,EAAE,MAAqB;IACrD,IAAA,QAAQ,GAA8D,MAAM,SAApE,EAAE,KAA4D,MAAM,QAAvD,EAAX,OAAO,mBAAG,CAAC,KAAA,EAAE,KAA+C,MAAM,UAAxC,EAAb,SAAS,mBAAG,CAAC,KAAA,EAAE,KAAgC,MAAM,OAAxB,EAAd,MAAM,mBAAG,KAAK,KAAA,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;IACrF,IAAI,aAA0C,CAAC;IAC/C,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;QACrC,aAAa,GAAG,MAAM,CAAC,yBAAyB,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,aAAa,GAAG,oBAAoB,CAAC;IACvC,CAAC;IACD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,WAAW,GAA2B,WAAW,CAAC;IACtD,IAAI,mBAAmB,GAAG,CAAC,CAAC;IAC5B,IAAM,QAAQ,GAAG,IAAI,aAAa,CAChC,UAAC,OAAO;QACN,IAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,KAAK;YACtC,OAAO,KAAK,IAAI,KAAK,CAAC,iBAAiB,IAAI,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC;QAC/E,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;gBAC1D,SAAS,GAAG,IAAI,CAAC;gBACjB,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG;oBACT,OAAO,SAAA;oBACP,eAAe,EAAE,mBAAmB;iBACrC,CAAC,CAAC;YACL,CAAC;YACD,WAAW,GAAG,QAAQ,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC/D,iBAAiB,GAAG,IAAI,CAAC;gBACzB,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG;oBACZ,OAAO,SAAA;oBACP,eAAe,EAAE,mBAAmB;oBACpC,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE;iBAC/B,CAAC,CAAC;YACL,CAAC;YACD,WAAW,GAAG,WAAW,CAAC;YAC1B,mBAAmB,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,MAAM,IAAI,iBAAiB,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;YACvD,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EACD;QACE,UAAU,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO;QAClE,SAAS,WAAA;KACV,CACF,CAAC;IAEF,mDAAmD;IACnD,IAAI,GAAG,EAAE,CAAC;QACR,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,GAAG,EAAE,CAAC;YACR,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AA3DW,QAAA,OAAO,WA2DlB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ClickAwayListenerProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> {
|
|
3
|
+
onClickAway: (event: MouseEvent | TouchEvent) => void;
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
trigger?: 'click' | 'touchstart';
|
|
6
|
+
}
|
|
7
|
+
export declare const checkInBox: (element: HTMLElement, box: HTMLElement, limitParent?: HTMLElement) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* 它处点击器,通过冒泡实现
|
|
10
|
+
* @param props.onClickAway - 点击其他地方时的回调
|
|
11
|
+
*/
|
|
12
|
+
export declare const ClickAwayListener: React.ForwardRefExoticComponent<Pick<ClickAwayListenerProps, "className" | "color" | "id" | "lang" | "style" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "title" | "slot" | "hidden" | "translate" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "onClickAway" | "trigger"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/click-away-listener/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,MAAM,WAAW,sBACf,SAAQ,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACrF,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;CAClC;AAED,eAAO,MAAM,UAAU,GACrB,SAAS,WAAW,EACpB,KAAK,WAAW,EAChB,cAAa,WAA2B,KACvC,OAWF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,unJAuC7B,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
47
|
+
var t = {};
|
|
48
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
49
|
+
t[p] = s[p];
|
|
50
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
51
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
52
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
53
|
+
t[p[i]] = s[p[i]];
|
|
54
|
+
}
|
|
55
|
+
return t;
|
|
56
|
+
};
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
exports.ClickAwayListener = exports.checkInBox = void 0;
|
|
59
|
+
var react_1 = __importStar(require("react"));
|
|
60
|
+
var checkInBox = function (element, box, limitParent) {
|
|
61
|
+
if (limitParent === void 0) { limitParent = document.body; }
|
|
62
|
+
if (element === box) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
if (element === limitParent) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (element.parentElement) {
|
|
69
|
+
return (0, exports.checkInBox)(element.parentElement, box, limitParent);
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
72
|
+
};
|
|
73
|
+
exports.checkInBox = checkInBox;
|
|
74
|
+
/**
|
|
75
|
+
* 它处点击器,通过冒泡实现
|
|
76
|
+
* @param props.onClickAway - 点击其他地方时的回调
|
|
77
|
+
*/
|
|
78
|
+
exports.ClickAwayListener = (0, react_1.forwardRef)(function (_a, ref) {
|
|
79
|
+
var onClickAway = _a.onClickAway, children = _a.children, _b = _a.trigger, trigger = _b === void 0 ? 'click' : _b, divProps = __rest(_a, ["onClickAway", "children", "trigger"]);
|
|
80
|
+
var boxRef = (0, react_1.useRef)(null);
|
|
81
|
+
var onClickAwayRef = (0, react_1.useRef)(onClickAway);
|
|
82
|
+
onClickAwayRef.current = onClickAway;
|
|
83
|
+
(0, react_1.useEffect)(function () {
|
|
84
|
+
var listenedParent = document.documentElement;
|
|
85
|
+
var listener = function (event) {
|
|
86
|
+
var target = event.target;
|
|
87
|
+
if (boxRef.current && target && !(0, exports.checkInBox)(target, boxRef.current, listenedParent)) {
|
|
88
|
+
onClickAwayRef.current(event);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
listenedParent.addEventListener(trigger, listener, false);
|
|
92
|
+
return function () {
|
|
93
|
+
listenedParent.removeEventListener(trigger, listener);
|
|
94
|
+
};
|
|
95
|
+
}, [trigger]);
|
|
96
|
+
return (react_1.default.createElement("div", __assign({}, divProps, { ref: function (divElement) {
|
|
97
|
+
boxRef.current = divElement;
|
|
98
|
+
if (ref) {
|
|
99
|
+
if (typeof ref === 'function') {
|
|
100
|
+
ref(divElement);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
ref.current = divElement;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
} }), children));
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/click-away-listener/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA6D;AAUtD,IAAM,UAAU,GAAG,UACxB,OAAoB,EACpB,GAAgB,EAChB,WAAwC;IAAxC,4BAAA,EAAA,cAA2B,QAAQ,CAAC,IAAI;IAExC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,IAAA,kBAAU,EAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAfW,QAAA,UAAU,cAerB;AAEF;;;GAGG;AACU,QAAA,iBAAiB,GAAG,IAAA,kBAAU,EACzC,UAAC,EAAyD,EAAE,GAAG;IAA5D,IAAA,WAAW,iBAAA,EAAE,QAAQ,cAAA,EAAE,eAAiB,EAAjB,OAAO,mBAAG,OAAO,KAAA,EAAK,QAAQ,cAAvD,sCAAyD,CAAF;IACtD,IAAM,MAAM,GAAG,IAAA,cAAM,EAAwB,IAAI,CAAC,CAAC;IACnD,IAAM,cAAc,GAAG,IAAA,cAAM,EAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IAErC,IAAA,iBAAS,EAAC;QACR,IAAM,cAAc,GAAG,QAAQ,CAAC,eAAe,CAAC;QAChD,IAAM,QAAQ,GAAG,UAAC,KAA8B;YAC9C,IAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;YAC3C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,IAAI,CAAC,IAAA,kBAAU,EAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;gBACpF,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;QAEF,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO;YACL,cAAc,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO,CACL,kDACM,QAAQ,IACZ,GAAG,EAAE,UAAC,UAAU;YACd,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC;YAC5B,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;oBAC9B,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACL,GAAW,CAAC,OAAO,GAAG,UAAU,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,KAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
export * as Loading from './loading';
|
|
2
2
|
export * as CreateRenderToBody from './create-render-to-body';
|
|
3
|
+
export * as Lazy from './lazy';
|
|
4
|
+
export * as SyncSizeSpace from './sync-size-space';
|
|
5
|
+
export * as PullDownAble from './pull-down-able';
|
|
3
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,YAAY,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -33,7 +33,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.CreateRenderToBody = exports.Loading = void 0;
|
|
36
|
+
exports.PullDownAble = exports.SyncSizeSpace = exports.Lazy = exports.CreateRenderToBody = exports.Loading = void 0;
|
|
37
37
|
exports.Loading = __importStar(require("./loading"));
|
|
38
38
|
exports.CreateRenderToBody = __importStar(require("./create-render-to-body"));
|
|
39
|
+
exports.Lazy = __importStar(require("./lazy"));
|
|
40
|
+
exports.SyncSizeSpace = __importStar(require("./sync-size-space"));
|
|
41
|
+
exports.PullDownAble = __importStar(require("./pull-down-able"));
|
|
39
42
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAqC;AACrC,8EAA8D"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAqC;AACrC,8EAA8D;AAC9D,+CAA+B;AAC/B,mEAAmD;AACnD,iEAAiD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface LazyProps {
|
|
3
|
+
placeholder?: React.ReactNode;
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
advance?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const Lazy: ({ placeholder, children, advance }: LazyProps) => JSX.Element;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lazy/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAEN,MAAM,OAAO,CAAC;AAMf,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,IAAI,GAEb,oCAIG,SAAS,gBAwBf,CAAC"}
|