@mirai/ui 2.0.30 → 2.0.31
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.
|
@@ -82,15 +82,19 @@ var ScrollView = function ScrollView(_ref) {
|
|
|
82
82
|
current.scrollTo((_current$scrollTo = {}, _defineProperty(_current$scrollTo, horizontal ? 'left' : 'top', scrollTo), _defineProperty(_current$scrollTo, "behavior", behavior), _current$scrollTo));
|
|
83
83
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
84
84
|
}, [scrollTo]);
|
|
85
|
+
(0, _react.useEffect)(function () {
|
|
86
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
87
|
+
timeout = setTimeout(function () {
|
|
88
|
+
return onScroll(value);
|
|
89
|
+
}, scrollEventThrottle);
|
|
90
|
+
return function () {
|
|
91
|
+
return clearTimeout(timeout);
|
|
92
|
+
};
|
|
93
|
+
}, [value]);
|
|
85
94
|
var handleScroll = function handleScroll() {
|
|
86
95
|
var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
87
96
|
target = _ref4.target;
|
|
88
|
-
|
|
89
|
-
setValue(next);
|
|
90
|
-
clearTimeout(timeout);
|
|
91
|
-
timeout = setTimeout(function () {
|
|
92
|
-
return onScroll(next);
|
|
93
|
-
}, scrollEventThrottle);
|
|
97
|
+
return setValue(calcValue(target));
|
|
94
98
|
};
|
|
95
99
|
var calcValue = function calcValue() {
|
|
96
100
|
var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollView.js","names":["ScrollView","behavior","children","defaultScrollIndicator","height","horizontal","scrollEventThrottle","scrollIndicator","scrollTo","snap","tag","width","onScroll","others","ref","useRef","useState","value","setValue","timeout","useEffect","el","current","callback","calcValue","observer","MutationObserver","observe","childList","subtree","disconnect","undefined","
|
|
1
|
+
{"version":3,"file":"ScrollView.js","names":["ScrollView","behavior","children","defaultScrollIndicator","height","horizontal","scrollEventThrottle","scrollIndicator","scrollTo","snap","tag","width","onScroll","others","ref","useRef","useState","value","setValue","timeout","useEffect","el","current","callback","calcValue","observer","MutationObserver","observe","childList","subtree","disconnect","undefined","setTimeout","clearTimeout","handleScroll","target","clientHeight","clientWidth","scrollHeight","scrollWidth","scrollTop","scrollLeft","x","parseInt","y","offsetX","offsetY","percentX","percentY","percent","React","createElement","Primitive","className","styles","style","scrollview","vertical","notIndicator","indicator","hide","progress","ICON","RIGHT","DOWN","icon","displayName","propTypes","PropTypes","string","node","isRequired","bool","number","func"],"sources":["../../../src/primitives/ScrollView/ScrollView.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Icon, ICON } from '../Icon';\nimport { Primitive } from '../Primitive';\nimport { View } from '../View';\nimport style from './ScrollView.module.css';\n\nconst ScrollView = ({\n behavior = 'smooth',\n children,\n defaultScrollIndicator = false,\n height,\n horizontal,\n scrollEventThrottle = 16, // * 60fps\n scrollIndicator = false,\n scrollTo,\n snap = true,\n tag = 'scrollview',\n width,\n onScroll = () => {},\n ...others\n}) => {\n const ref = useRef();\n\n const [value, setValue] = useState();\n\n let timeout = null;\n\n useEffect(() => {\n const { current: el } = ref || {};\n if (!scrollIndicator || !el) return;\n\n const callback = () => setValue(calcValue(el));\n const observer = new MutationObserver(callback);\n observer.observe(el, { childList: true, subtree: true });\n\n return () => observer.disconnect();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ref]);\n\n useEffect(() => {\n const { current = {} } = ref || {};\n if (!current.scrollTo || scrollTo === undefined) return;\n\n current.scrollTo({ [horizontal ? 'left' : 'top']: scrollTo, behavior });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [scrollTo]);\n\n useEffect(() => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n timeout = setTimeout(() => onScroll(value), scrollEventThrottle);\n\n return () => clearTimeout(timeout);\n }, [value]);\n\n const handleScroll = ({ target } = {}) => setValue(calcValue(target));\n\n const calcValue = ({ clientHeight, clientWidth, scrollHeight, scrollWidth, scrollTop, scrollLeft } = {}) => {\n const x = parseInt(scrollLeft, 10);\n const y = parseInt(scrollTop, 10);\n const offsetX = scrollWidth - clientWidth;\n const offsetY = scrollHeight - clientHeight;\n\n return (horizontal ? offsetX : offsetY) > 0\n ? {\n x,\n y,\n percentX: offsetX ? parseInt((x * 100) / offsetX, 10) : 0,\n percentY: offsetY ? parseInt((y * 100) / offsetY, 10) : 0,\n }\n : undefined;\n };\n\n const percent =\n scrollIndicator && !defaultScrollIndicator && value ? (horizontal ? value.percentX : value.percentY) : undefined;\n\n return React.createElement(\n Primitive,\n {\n ...others,\n ref,\n tag,\n onScroll: handleScroll,\n className: styles(\n style.scrollview,\n snap && style.snap,\n horizontal ? style.horizontal : style.vertical,\n (!scrollIndicator || !defaultScrollIndicator) && style.notIndicator,\n others.className,\n ),\n style: { ...others.style, height, width },\n },\n <>\n {children}\n {percent >= 0 && (\n <View\n tag=\"scrollview-indicator\"\n className={styles(\n style.indicator,\n horizontal ? style.horizontal : style.vertical,\n percent > 95 && style.hide,\n )}\n >\n <View\n className={style.progress}\n style={\n horizontal ? { height: '100%', width: `${percent || 0}%` } : { height: `${percent || 0}%`, width: '100%' }\n }\n />\n <Icon headline level={2} value={horizontal ? ICON.RIGHT : ICON.DOWN} className={style.icon} />\n </View>\n )}\n </>,\n );\n};\n\nScrollView.displayName = 'Primitive:ScrollView';\n\nScrollView.propTypes = {\n behavior: PropTypes.string,\n children: PropTypes.node.isRequired,\n defaultScrollIndicator: PropTypes.bool,\n height: PropTypes.number,\n horizontal: PropTypes.bool,\n scrollEventThrottle: PropTypes.number,\n scrollIndicator: PropTypes.bool,\n scrollTo: PropTypes.number,\n snap: PropTypes.bool,\n tag: PropTypes.string,\n width: PropTypes.number,\n onScroll: PropTypes.func,\n};\n\nexport { ScrollView };\n"],"mappings":"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"}
|