UNPKG

6.13 kBJavaScriptView Raw
1"use strict";
2var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4 return cooked;
5};
6var __assign = (this && this.__assign) || function () {
7 __assign = Object.assign || function(t) {
8 for (var s, i = 1, n = arguments.length; i < n; i++) {
9 s = arguments[i];
10 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11 t[p] = s[p];
12 }
13 return t;
14 };
15 return __assign.apply(this, arguments);
16};
17Object.defineProperty(exports, "__esModule", { value: true });
18var jsx_runtime_1 = require("react/jsx-runtime");
19var react_1 = require("react");
20var css_1 = require("@emotion/css");
21var react_intersection_observer_1 = require("react-intersection-observer");
22var Sensor = function (_a, ref) {
23 var children = _a.children, spacing = _a.spacing, _b = _a.threshold, threshold = _b === void 0 ? 0.5 : _b;
24 var sensorWidth = threshold && threshold * 100;
25 var _c = (0, react_intersection_observer_1.useInView)({
26 threshold: threshold,
27 }), upperLeftRef = _c[0], isUpperLeftVisible = _c[1];
28 var _d = (0, react_intersection_observer_1.useInView)({
29 threshold: threshold,
30 }), lowerLeftRef = _d[0], isLowerLeftVisible = _d[1];
31 var _e = (0, react_intersection_observer_1.useInView)({
32 threshold: threshold,
33 }), middleLeftRef = _e[0], isMiddleLeftVisible = _e[1];
34 var _f = (0, react_intersection_observer_1.useInView)({
35 threshold: threshold,
36 }), upperRightRef = _f[0], isUpperRightVisible = _f[1];
37 var _g = (0, react_intersection_observer_1.useInView)({
38 threshold: threshold,
39 }), lowerRightRef = _g[0], isLowerRightVisible = _g[1];
40 var _h = (0, react_intersection_observer_1.useInView)({
41 threshold: threshold,
42 }), middleRightRef = _h[0], isMiddleRightVisible = _h[1];
43 return ((0, jsx_runtime_1.jsxs)("div", __assign({ ref: ref, className: (0, css_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: inline-block;\n position: relative;\n margin: 0 ", ";\n\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n margin-right: 0;\n }\n "], ["\n display: inline-block;\n position: relative;\n margin: 0 ", ";\n\n &:first-child {\n margin-left: 0;\n }\n &:last-child {\n margin-right: 0;\n }\n "])), spacing) }, { children: [(0, jsx_runtime_1.jsx)("div", { ref: upperLeftRef, className: (0, css_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n height: 1px;\n width: ", "%;\n position: absolute;\n top: 0;\n left: 0;\n "], ["\n height: 1px;\n width: ", "%;\n position: absolute;\n top: 0;\n left: 0;\n "])), sensorWidth ? sensorWidth : 100) }), (0, jsx_runtime_1.jsx)("div", { ref: middleLeftRef, className: (0, css_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n height: 1px;\n width: ", "%;\n position: absolute;\n top: 50%;\n -ms-transform: translateY(-50%);\n transform: translateY(-50%);\n left: 0;\n "], ["\n height: 1px;\n width: ", "%;\n position: absolute;\n top: 50%;\n -ms-transform: translateY(-50%);\n transform: translateY(-50%);\n left: 0;\n "])), sensorWidth ? sensorWidth : 100) }), (0, jsx_runtime_1.jsx)("div", { ref: lowerLeftRef, className: (0, css_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: 1px;\n width: ", "%;\n position: absolute;\n bottom: 0;\n left: 0;\n "], ["\n height: 1px;\n width: ", "%;\n position: absolute;\n bottom: 0;\n left: 0;\n "])), sensorWidth ? sensorWidth : 100) }), (0, jsx_runtime_1.jsx)("div", { ref: upperRightRef, className: (0, css_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n height: 1px;\n width: ", "%;\n position: absolute;\n top: 0;\n right: 0;\n "], ["\n height: 1px;\n width: ", "%;\n position: absolute;\n top: 0;\n right: 0;\n "])), sensorWidth ? sensorWidth : 100) }), (0, jsx_runtime_1.jsx)("div", { ref: middleRightRef, className: (0, css_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n height: 1px;\n width: ", "%;\n position: absolute;\n top: 50%;\n -ms-transform: translateY(-50%);\n transform: translateY(-50%);\n right: 0;\n "], ["\n height: 1px;\n width: ", "%;\n position: absolute;\n top: 50%;\n -ms-transform: translateY(-50%);\n transform: translateY(-50%);\n right: 0;\n "])), sensorWidth ? sensorWidth : 100) }), (0, jsx_runtime_1.jsx)("div", { ref: lowerRightRef, className: (0, css_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n height: 1px;\n width: ", "%;\n position: absolute;\n bottom: 0;\n right: 0;\n "], ["\n height: 1px;\n width: ", "%;\n position: absolute;\n bottom: 0;\n right: 0;\n "])), sensorWidth ? sensorWidth : 100) }), children(isUpperLeftVisible ||
44 isLowerLeftVisible ||
45 isMiddleLeftVisible ||
46 isUpperRightVisible ||
47 isLowerRightVisible ||
48 isMiddleRightVisible)] })));
49};
50exports.default = (0, react_1.forwardRef)(Sensor);
51var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;