@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.
Files changed (49) hide show
  1. package/dist/animation-size-view/index.d.ts +16 -0
  2. package/dist/animation-size-view/index.d.ts.map +1 -0
  3. package/dist/animation-size-view/index.js +94 -0
  4. package/dist/animation-size-view/index.js.map +1 -0
  5. package/dist/animation-size-view/index.style.d.ts +5 -0
  6. package/dist/animation-size-view/index.style.d.ts.map +1 -0
  7. package/dist/animation-size-view/index.style.js +16 -0
  8. package/dist/animation-size-view/index.style.js.map +1 -0
  9. package/dist/appear-in-viewport/index.d.ts +21 -0
  10. package/dist/appear-in-viewport/index.d.ts.map +1 -0
  11. package/dist/appear-in-viewport/index.js +125 -0
  12. package/dist/appear-in-viewport/index.js.map +1 -0
  13. package/dist/appear-in-viewport/observe.d.ts +51 -0
  14. package/dist/appear-in-viewport/observe.d.ts.map +1 -0
  15. package/dist/appear-in-viewport/observe.js +62 -0
  16. package/dist/appear-in-viewport/observe.js.map +1 -0
  17. package/dist/click-away-listener/index.d.ts +13 -0
  18. package/dist/click-away-listener/index.d.ts.map +1 -0
  19. package/dist/click-away-listener/index.js +108 -0
  20. package/dist/click-away-listener/index.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/lazy/index.d.ts +8 -0
  26. package/dist/lazy/index.d.ts.map +1 -0
  27. package/dist/lazy/index.js +51 -0
  28. package/dist/lazy/index.js.map +1 -0
  29. package/dist/loading/index.d.ts +14 -3
  30. package/dist/loading/index.d.ts.map +1 -1
  31. package/dist/loading/index.js +4 -1
  32. package/dist/loading/index.js.map +1 -1
  33. package/dist/pull-down-able/container.d.ts +8 -0
  34. package/dist/pull-down-able/container.d.ts.map +1 -0
  35. package/dist/pull-down-able/container.js +79 -0
  36. package/dist/pull-down-able/container.js.map +1 -0
  37. package/dist/pull-down-able/index.d.ts +34 -0
  38. package/dist/pull-down-able/index.d.ts.map +1 -0
  39. package/dist/pull-down-able/index.js +304 -0
  40. package/dist/pull-down-able/index.js.map +1 -0
  41. package/dist/sync-size-space/index.d.ts +13 -0
  42. package/dist/sync-size-space/index.d.ts.map +1 -0
  43. package/dist/sync-size-space/index.js +102 -0
  44. package/dist/sync-size-space/index.js.map +1 -0
  45. package/dist/waterfall/index.style.d.ts +1 -1
  46. package/dist/waterfall/index.style.d.ts.map +1 -1
  47. package/dist/waterfall/index.style.js +8 -8
  48. package/dist/waterfall/index.style.js.map +1 -1
  49. 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,5 @@
1
+ declare const _default: {
2
+ box: string;
3
+ };
4
+ export default _default;
5
+ //# sourceMappingURL=index.style.d.ts.map
@@ -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
@@ -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"}