@grupalia/rn-ui-kit 1.9.0 → 1.10.0
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/lib/commonjs/components/BaseHorizontalTabs.js +7 -0
- package/lib/commonjs/components/BaseHorizontalTabs.js.map +1 -1
- package/lib/commonjs/hooks/index.js +22 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useHorizontalScrollIntoView.js +95 -0
- package/lib/commonjs/hooks/useHorizontalScrollIntoView.js.map +1 -0
- package/lib/module/components/BaseHorizontalTabs.js +7 -0
- package/lib/module/components/BaseHorizontalTabs.js.map +1 -1
- package/lib/module/hooks/index.js +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useHorizontalScrollIntoView.js +90 -0
- package/lib/module/hooks/useHorizontalScrollIntoView.js.map +1 -0
- package/lib/typescript/commonjs/__tests__/horizontalScrollIntoView.test.d.ts +2 -0
- package/lib/typescript/commonjs/__tests__/horizontalScrollIntoView.test.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/BaseHorizontalTabs.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/index.d.ts +1 -0
- package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/useHorizontalScrollIntoView.d.ts +30 -0
- package/lib/typescript/commonjs/hooks/useHorizontalScrollIntoView.d.ts.map +1 -0
- package/lib/typescript/module/__tests__/horizontalScrollIntoView.test.d.ts +2 -0
- package/lib/typescript/module/__tests__/horizontalScrollIntoView.test.d.ts.map +1 -0
- package/lib/typescript/module/components/BaseHorizontalTabs.d.ts.map +1 -1
- package/lib/typescript/module/hooks/index.d.ts +1 -0
- package/lib/typescript/module/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/useHorizontalScrollIntoView.d.ts +30 -0
- package/lib/typescript/module/hooks/useHorizontalScrollIntoView.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -11,6 +11,7 @@ var _hocComponents = require("../hoc-components");
|
|
|
11
11
|
var _BaseBadge = _interopRequireDefault(require("./BaseBadge"));
|
|
12
12
|
var _BaseSelect = _interopRequireDefault(require("./BaseSelect"));
|
|
13
13
|
var _BaseText = _interopRequireDefault(require("./BaseText"));
|
|
14
|
+
var _useHorizontalScrollIntoView = require("../hooks/useHorizontalScrollIntoView");
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -29,6 +30,10 @@ function BaseHorizontalTabs({
|
|
|
29
30
|
}) {
|
|
30
31
|
const [internalSelectedTab, setInternalSelectedTab] = (0, _react.useState)(defaultTab || tabs[0]?.id);
|
|
31
32
|
const selectedTab = controlledSelectedTab || internalSelectedTab;
|
|
33
|
+
const {
|
|
34
|
+
scrollViewProps,
|
|
35
|
+
itemProps
|
|
36
|
+
} = (0, _useHorizontalScrollIntoView.useHorizontalScrollIntoView)(stretch ? undefined : selectedTab);
|
|
32
37
|
const handleTabSelect = tabId => {
|
|
33
38
|
if (controlledSelectedTab === undefined) {
|
|
34
39
|
setInternalSelectedTab(tabId);
|
|
@@ -109,6 +114,7 @@ function BaseHorizontalTabs({
|
|
|
109
114
|
className: (0, _clsx.default)('flex w-full flex-col', alignment === 'center' ? 'items-center' : 'items-start'),
|
|
110
115
|
style: style,
|
|
111
116
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.ScrollView, {
|
|
117
|
+
...scrollViewProps,
|
|
112
118
|
horizontal: true,
|
|
113
119
|
scrollEnabled: !stretch,
|
|
114
120
|
showsHorizontalScrollIndicator: false,
|
|
@@ -119,6 +125,7 @@ function BaseHorizontalTabs({
|
|
|
119
125
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
|
|
120
126
|
className: getContainerStyles(),
|
|
121
127
|
children: tabs.map(tab => /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.Pressable, {
|
|
128
|
+
...itemProps(tab.id),
|
|
122
129
|
onPress: () => handleTabSelect(tab.id),
|
|
123
130
|
className: (0, _clsx.default)(getTabStyles(tab.id === selectedTab), stretch && 'flex-1'),
|
|
124
131
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_nativewind","_react","_interopRequireWildcard","_hocComponents","_BaseBadge","_BaseSelect","_BaseText","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BaseHorizontalTabs","tabs","defaultTab","selectedTab","controlledSelectedTab","onTabChange","variant","select","selectProps","unmountHiddenTabs","alignment","style","stretch","internalSelectedTab","setInternalSelectedTab","useState","id","
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_nativewind","_react","_interopRequireWildcard","_hocComponents","_BaseBadge","_BaseSelect","_BaseText","_useHorizontalScrollIntoView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BaseHorizontalTabs","tabs","defaultTab","selectedTab","controlledSelectedTab","onTabChange","variant","select","selectProps","unmountHiddenTabs","alignment","style","stretch","internalSelectedTab","setInternalSelectedTab","useState","id","scrollViewProps","itemProps","useHorizontalScrollIntoView","undefined","handleTabSelect","tabId","selectedTabContent","find","tab","content","getTabStyles","isActive","baseStyles","clsx","getTextStyles","getContainerStyles","tabsHaveContent","some","selectOptions","map","label","badge","value","jsxs","View","children","jsx","onChange","toString","options","className","ScrollView","horizontal","scrollEnabled","showsHorizontalScrollIndicator","contentContainerStyle","alignSelf","width","Pressable","onPress","text","String","size","_default","exports","styled"],"sourceRoot":"../../../src","sources":["components/BaseHorizontalTabs.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,9 +3,19 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
useHorizontalScrollIntoView: true
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "useHorizontalScrollIntoView", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () {
|
|
12
|
+
return _useHorizontalScrollIntoView.useHorizontalScrollIntoView;
|
|
13
|
+
}
|
|
14
|
+
});
|
|
6
15
|
var _useBreakpoints = require("./useBreakpoints");
|
|
7
16
|
Object.keys(_useBreakpoints).forEach(function (key) {
|
|
8
17
|
if (key === "default" || key === "__esModule") return;
|
|
18
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
9
19
|
if (key in exports && exports[key] === _useBreakpoints[key]) return;
|
|
10
20
|
Object.defineProperty(exports, key, {
|
|
11
21
|
enumerable: true,
|
|
@@ -17,6 +27,7 @@ Object.keys(_useBreakpoints).forEach(function (key) {
|
|
|
17
27
|
var _useIsAboveBreakpoint = require("./useIsAboveBreakpoint");
|
|
18
28
|
Object.keys(_useIsAboveBreakpoint).forEach(function (key) {
|
|
19
29
|
if (key === "default" || key === "__esModule") return;
|
|
30
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
20
31
|
if (key in exports && exports[key] === _useIsAboveBreakpoint[key]) return;
|
|
21
32
|
Object.defineProperty(exports, key, {
|
|
22
33
|
enumerable: true,
|
|
@@ -28,6 +39,7 @@ Object.keys(_useIsAboveBreakpoint).forEach(function (key) {
|
|
|
28
39
|
var _useInternetConnectionStatus = require("./useInternetConnectionStatus");
|
|
29
40
|
Object.keys(_useInternetConnectionStatus).forEach(function (key) {
|
|
30
41
|
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
31
43
|
if (key in exports && exports[key] === _useInternetConnectionStatus[key]) return;
|
|
32
44
|
Object.defineProperty(exports, key, {
|
|
33
45
|
enumerable: true,
|
|
@@ -39,6 +51,7 @@ Object.keys(_useInternetConnectionStatus).forEach(function (key) {
|
|
|
39
51
|
var _useTimezonedDate = require("./useTimezonedDate");
|
|
40
52
|
Object.keys(_useTimezonedDate).forEach(function (key) {
|
|
41
53
|
if (key === "default" || key === "__esModule") return;
|
|
54
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
42
55
|
if (key in exports && exports[key] === _useTimezonedDate[key]) return;
|
|
43
56
|
Object.defineProperty(exports, key, {
|
|
44
57
|
enumerable: true,
|
|
@@ -50,6 +63,7 @@ Object.keys(_useTimezonedDate).forEach(function (key) {
|
|
|
50
63
|
var _useAppUpdateCheck = require("./useAppUpdateCheck");
|
|
51
64
|
Object.keys(_useAppUpdateCheck).forEach(function (key) {
|
|
52
65
|
if (key === "default" || key === "__esModule") return;
|
|
66
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
53
67
|
if (key in exports && exports[key] === _useAppUpdateCheck[key]) return;
|
|
54
68
|
Object.defineProperty(exports, key, {
|
|
55
69
|
enumerable: true,
|
|
@@ -61,6 +75,7 @@ Object.keys(_useAppUpdateCheck).forEach(function (key) {
|
|
|
61
75
|
var _useCurrentTime = require("./useCurrentTime");
|
|
62
76
|
Object.keys(_useCurrentTime).forEach(function (key) {
|
|
63
77
|
if (key === "default" || key === "__esModule") return;
|
|
78
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
64
79
|
if (key in exports && exports[key] === _useCurrentTime[key]) return;
|
|
65
80
|
Object.defineProperty(exports, key, {
|
|
66
81
|
enumerable: true,
|
|
@@ -72,6 +87,7 @@ Object.keys(_useCurrentTime).forEach(function (key) {
|
|
|
72
87
|
var _useRefreshRegistry = require("./useRefreshRegistry");
|
|
73
88
|
Object.keys(_useRefreshRegistry).forEach(function (key) {
|
|
74
89
|
if (key === "default" || key === "__esModule") return;
|
|
90
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
75
91
|
if (key in exports && exports[key] === _useRefreshRegistry[key]) return;
|
|
76
92
|
Object.defineProperty(exports, key, {
|
|
77
93
|
enumerable: true,
|
|
@@ -83,6 +99,7 @@ Object.keys(_useRefreshRegistry).forEach(function (key) {
|
|
|
83
99
|
var _useNotifications = require("./useNotifications");
|
|
84
100
|
Object.keys(_useNotifications).forEach(function (key) {
|
|
85
101
|
if (key === "default" || key === "__esModule") return;
|
|
102
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
86
103
|
if (key in exports && exports[key] === _useNotifications[key]) return;
|
|
87
104
|
Object.defineProperty(exports, key, {
|
|
88
105
|
enumerable: true,
|
|
@@ -94,6 +111,7 @@ Object.keys(_useNotifications).forEach(function (key) {
|
|
|
94
111
|
var _useDownloadFile = require("./useDownloadFile");
|
|
95
112
|
Object.keys(_useDownloadFile).forEach(function (key) {
|
|
96
113
|
if (key === "default" || key === "__esModule") return;
|
|
114
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
97
115
|
if (key in exports && exports[key] === _useDownloadFile[key]) return;
|
|
98
116
|
Object.defineProperty(exports, key, {
|
|
99
117
|
enumerable: true,
|
|
@@ -105,6 +123,7 @@ Object.keys(_useDownloadFile).forEach(function (key) {
|
|
|
105
123
|
var _useGetDeviceInfo = require("./useGetDeviceInfo");
|
|
106
124
|
Object.keys(_useGetDeviceInfo).forEach(function (key) {
|
|
107
125
|
if (key === "default" || key === "__esModule") return;
|
|
126
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
108
127
|
if (key in exports && exports[key] === _useGetDeviceInfo[key]) return;
|
|
109
128
|
Object.defineProperty(exports, key, {
|
|
110
129
|
enumerable: true,
|
|
@@ -116,6 +135,7 @@ Object.keys(_useGetDeviceInfo).forEach(function (key) {
|
|
|
116
135
|
var _useBaseJobRunPolling = require("./useBaseJobRunPolling");
|
|
117
136
|
Object.keys(_useBaseJobRunPolling).forEach(function (key) {
|
|
118
137
|
if (key === "default" || key === "__esModule") return;
|
|
138
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
119
139
|
if (key in exports && exports[key] === _useBaseJobRunPolling[key]) return;
|
|
120
140
|
Object.defineProperty(exports, key, {
|
|
121
141
|
enumerable: true,
|
|
@@ -127,6 +147,7 @@ Object.keys(_useBaseJobRunPolling).forEach(function (key) {
|
|
|
127
147
|
var _useThrottledCallback = require("./useThrottledCallback");
|
|
128
148
|
Object.keys(_useThrottledCallback).forEach(function (key) {
|
|
129
149
|
if (key === "default" || key === "__esModule") return;
|
|
150
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
130
151
|
if (key in exports && exports[key] === _useThrottledCallback[key]) return;
|
|
131
152
|
Object.defineProperty(exports, key, {
|
|
132
153
|
enumerable: true,
|
|
@@ -135,4 +156,5 @@ Object.keys(_useThrottledCallback).forEach(function (key) {
|
|
|
135
156
|
}
|
|
136
157
|
});
|
|
137
158
|
});
|
|
159
|
+
var _useHorizontalScrollIntoView = require("./useHorizontalScrollIntoView");
|
|
138
160
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useBreakpoints","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useIsAboveBreakpoint","_useInternetConnectionStatus","_useTimezonedDate","_useAppUpdateCheck","_useCurrentTime","_useRefreshRegistry","_useNotifications","_useDownloadFile","_useGetDeviceInfo","_useBaseJobRunPolling","_useThrottledCallback"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_useBreakpoints","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_useIsAboveBreakpoint","_useInternetConnectionStatus","_useTimezonedDate","_useAppUpdateCheck","_useCurrentTime","_useRefreshRegistry","_useNotifications","_useDownloadFile","_useGetDeviceInfo","_useBaseJobRunPolling","_useThrottledCallback","_useHorizontalScrollIntoView"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.revealOffset = revealOffset;
|
|
7
|
+
exports.useHorizontalScrollIntoView = useHorizontalScrollIntoView;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
const DEFAULT_MARGIN = 16;
|
|
10
|
+
function revealOffset({
|
|
11
|
+
item,
|
|
12
|
+
scrollX,
|
|
13
|
+
viewportWidth,
|
|
14
|
+
contentWidth,
|
|
15
|
+
margin
|
|
16
|
+
}) {
|
|
17
|
+
const maxScrollX = contentWidth > 0 ? Math.max(contentWidth - viewportWidth, 0) : Infinity;
|
|
18
|
+
let targetX = null;
|
|
19
|
+
if (item.x - margin < scrollX) {
|
|
20
|
+
targetX = item.x - margin;
|
|
21
|
+
} else if (item.x + item.width + margin > scrollX + viewportWidth) {
|
|
22
|
+
targetX = item.x + item.width + margin - viewportWidth;
|
|
23
|
+
}
|
|
24
|
+
if (targetX === null) return null;
|
|
25
|
+
const clampedX = Math.min(Math.max(targetX, 0), maxScrollX);
|
|
26
|
+
return clampedX === scrollX ? null : clampedX;
|
|
27
|
+
}
|
|
28
|
+
function useHorizontalScrollIntoView(selectedKey, {
|
|
29
|
+
margin = DEFAULT_MARGIN
|
|
30
|
+
} = {}) {
|
|
31
|
+
const scrollViewRef = (0, _react.useRef)(null);
|
|
32
|
+
const itemLayoutsRef = (0, _react.useRef)({});
|
|
33
|
+
const scrollXRef = (0, _react.useRef)(0);
|
|
34
|
+
const viewportWidthRef = (0, _react.useRef)(0);
|
|
35
|
+
const contentWidthRef = (0, _react.useRef)(0);
|
|
36
|
+
const revealedKeyRef = (0, _react.useRef)();
|
|
37
|
+
const selectedKeyRef = (0, _react.useRef)(selectedKey);
|
|
38
|
+
selectedKeyRef.current = selectedKey;
|
|
39
|
+
const revealSelected = (0, _react.useCallback)(() => {
|
|
40
|
+
const key = selectedKeyRef.current;
|
|
41
|
+
const item = key && itemLayoutsRef.current[key];
|
|
42
|
+
if (!item || !viewportWidthRef.current) return;
|
|
43
|
+
const animated = revealedKeyRef.current !== undefined && revealedKeyRef.current !== key;
|
|
44
|
+
revealedKeyRef.current = key;
|
|
45
|
+
const targetX = revealOffset({
|
|
46
|
+
item,
|
|
47
|
+
scrollX: scrollXRef.current,
|
|
48
|
+
viewportWidth: viewportWidthRef.current,
|
|
49
|
+
contentWidth: contentWidthRef.current,
|
|
50
|
+
margin
|
|
51
|
+
});
|
|
52
|
+
if (targetX === null) return;
|
|
53
|
+
scrollXRef.current = targetX;
|
|
54
|
+
scrollViewRef.current?.scrollTo({
|
|
55
|
+
x: targetX,
|
|
56
|
+
animated
|
|
57
|
+
});
|
|
58
|
+
}, [margin]);
|
|
59
|
+
(0, _react.useEffect)(() => {
|
|
60
|
+
revealSelected();
|
|
61
|
+
}, [selectedKey, revealSelected]);
|
|
62
|
+
const scrollViewProps = {
|
|
63
|
+
ref: scrollViewRef,
|
|
64
|
+
scrollEventThrottle: 16,
|
|
65
|
+
onScroll: event => {
|
|
66
|
+
scrollXRef.current = event.nativeEvent.contentOffset.x;
|
|
67
|
+
},
|
|
68
|
+
onLayout: event => {
|
|
69
|
+
viewportWidthRef.current = event.nativeEvent.layout.width;
|
|
70
|
+
revealSelected();
|
|
71
|
+
},
|
|
72
|
+
onContentSizeChange: width => {
|
|
73
|
+
contentWidthRef.current = width;
|
|
74
|
+
revealSelected();
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
const itemProps = key => ({
|
|
78
|
+
onLayout: event => {
|
|
79
|
+
const {
|
|
80
|
+
x,
|
|
81
|
+
width
|
|
82
|
+
} = event.nativeEvent.layout;
|
|
83
|
+
itemLayoutsRef.current[key] = {
|
|
84
|
+
x,
|
|
85
|
+
width
|
|
86
|
+
};
|
|
87
|
+
if (key === selectedKeyRef.current) revealSelected();
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
return {
|
|
91
|
+
scrollViewProps,
|
|
92
|
+
itemProps
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=useHorizontalScrollIntoView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","DEFAULT_MARGIN","revealOffset","item","scrollX","viewportWidth","contentWidth","margin","maxScrollX","Math","max","Infinity","targetX","x","width","clampedX","min","useHorizontalScrollIntoView","selectedKey","scrollViewRef","useRef","itemLayoutsRef","scrollXRef","viewportWidthRef","contentWidthRef","revealedKeyRef","selectedKeyRef","current","revealSelected","useCallback","key","animated","undefined","scrollTo","useEffect","scrollViewProps","ref","scrollEventThrottle","onScroll","event","nativeEvent","contentOffset","onLayout","layout","onContentSizeChange","itemProps"],"sourceRoot":"../../../src","sources":["hooks/useHorizontalScrollIntoView.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { View, ScrollView, Pressable } from "../hoc-components.js";
|
|
|
7
7
|
import BaseBadge from "./BaseBadge.js";
|
|
8
8
|
import BaseSelect from "./BaseSelect.js";
|
|
9
9
|
import BaseText from "./BaseText.js";
|
|
10
|
+
import { useHorizontalScrollIntoView } from "../hooks/useHorizontalScrollIntoView.js";
|
|
10
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
function BaseHorizontalTabs({
|
|
12
13
|
tabs,
|
|
@@ -23,6 +24,10 @@ function BaseHorizontalTabs({
|
|
|
23
24
|
}) {
|
|
24
25
|
const [internalSelectedTab, setInternalSelectedTab] = useState(defaultTab || tabs[0]?.id);
|
|
25
26
|
const selectedTab = controlledSelectedTab || internalSelectedTab;
|
|
27
|
+
const {
|
|
28
|
+
scrollViewProps,
|
|
29
|
+
itemProps
|
|
30
|
+
} = useHorizontalScrollIntoView(stretch ? undefined : selectedTab);
|
|
26
31
|
const handleTabSelect = tabId => {
|
|
27
32
|
if (controlledSelectedTab === undefined) {
|
|
28
33
|
setInternalSelectedTab(tabId);
|
|
@@ -103,6 +108,7 @@ function BaseHorizontalTabs({
|
|
|
103
108
|
className: clsx('flex w-full flex-col', alignment === 'center' ? 'items-center' : 'items-start'),
|
|
104
109
|
style: style,
|
|
105
110
|
children: [/*#__PURE__*/_jsx(ScrollView, {
|
|
111
|
+
...scrollViewProps,
|
|
106
112
|
horizontal: true,
|
|
107
113
|
scrollEnabled: !stretch,
|
|
108
114
|
showsHorizontalScrollIndicator: false,
|
|
@@ -113,6 +119,7 @@ function BaseHorizontalTabs({
|
|
|
113
119
|
children: /*#__PURE__*/_jsx(View, {
|
|
114
120
|
className: getContainerStyles(),
|
|
115
121
|
children: tabs.map(tab => /*#__PURE__*/_jsx(Pressable, {
|
|
122
|
+
...itemProps(tab.id),
|
|
116
123
|
onPress: () => handleTabSelect(tab.id),
|
|
117
124
|
className: clsx(getTabStyles(tab.id === selectedTab), stretch && 'flex-1'),
|
|
118
125
|
children: /*#__PURE__*/_jsxs(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","styled","React","useState","View","ScrollView","Pressable","BaseBadge","BaseSelect","BaseText","jsx","_jsx","jsxs","_jsxs","BaseHorizontalTabs","tabs","defaultTab","selectedTab","controlledSelectedTab","onTabChange","variant","select","selectProps","unmountHiddenTabs","alignment","style","stretch","internalSelectedTab","setInternalSelectedTab","id","
|
|
1
|
+
{"version":3,"names":["clsx","styled","React","useState","View","ScrollView","Pressable","BaseBadge","BaseSelect","BaseText","useHorizontalScrollIntoView","jsx","_jsx","jsxs","_jsxs","BaseHorizontalTabs","tabs","defaultTab","selectedTab","controlledSelectedTab","onTabChange","variant","select","selectProps","unmountHiddenTabs","alignment","style","stretch","internalSelectedTab","setInternalSelectedTab","id","scrollViewProps","itemProps","undefined","handleTabSelect","tabId","selectedTabContent","find","tab","content","getTabStyles","isActive","baseStyles","getTextStyles","getContainerStyles","tabsHaveContent","some","selectOptions","map","label","badge","value","children","onChange","toString","options","className","horizontal","scrollEnabled","showsHorizontalScrollIndicator","contentContainerStyle","alignSelf","width","onPress","text","String","size"],"sourceRoot":"../../../src","sources":["components/BaseHorizontalTabs.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,4 +12,5 @@ export * from "./useDownloadFile.js";
|
|
|
12
12
|
export * from "./useGetDeviceInfo.js";
|
|
13
13
|
export * from "./useBaseJobRunPolling.js";
|
|
14
14
|
export * from "./useThrottledCallback.js";
|
|
15
|
+
export { useHorizontalScrollIntoView } from "./useHorizontalScrollIntoView.js";
|
|
15
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,cAAc,qBAAkB;AAChC,cAAc,2BAAwB;AACtC,cAAc,kCAA+B;AAC7C,cAAc,uBAAoB;AAClC,cAAc,wBAAqB;AACnC,cAAc,qBAAkB;AAChC,cAAc,yBAAsB;AACpC,cAAc,uBAAoB;AAClC,cAAc,sBAAmB;AACjC,cAAc,uBAAoB;AAClC,cAAc,2BAAwB;AACtC,cAAc,2BAAwB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useHorizontalScrollIntoView"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,cAAc,qBAAkB;AAChC,cAAc,2BAAwB;AACtC,cAAc,kCAA+B;AAC7C,cAAc,uBAAoB;AAClC,cAAc,wBAAqB;AACnC,cAAc,qBAAkB;AAChC,cAAc,yBAAsB;AACpC,cAAc,uBAAoB;AAClC,cAAc,sBAAmB;AACjC,cAAc,uBAAoB;AAClC,cAAc,2BAAwB;AACtC,cAAc,2BAAwB;AACtC,SAASA,2BAA2B,QAAQ,kCAA+B","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
4
|
+
const DEFAULT_MARGIN = 16;
|
|
5
|
+
export function revealOffset({
|
|
6
|
+
item,
|
|
7
|
+
scrollX,
|
|
8
|
+
viewportWidth,
|
|
9
|
+
contentWidth,
|
|
10
|
+
margin
|
|
11
|
+
}) {
|
|
12
|
+
const maxScrollX = contentWidth > 0 ? Math.max(contentWidth - viewportWidth, 0) : Infinity;
|
|
13
|
+
let targetX = null;
|
|
14
|
+
if (item.x - margin < scrollX) {
|
|
15
|
+
targetX = item.x - margin;
|
|
16
|
+
} else if (item.x + item.width + margin > scrollX + viewportWidth) {
|
|
17
|
+
targetX = item.x + item.width + margin - viewportWidth;
|
|
18
|
+
}
|
|
19
|
+
if (targetX === null) return null;
|
|
20
|
+
const clampedX = Math.min(Math.max(targetX, 0), maxScrollX);
|
|
21
|
+
return clampedX === scrollX ? null : clampedX;
|
|
22
|
+
}
|
|
23
|
+
export function useHorizontalScrollIntoView(selectedKey, {
|
|
24
|
+
margin = DEFAULT_MARGIN
|
|
25
|
+
} = {}) {
|
|
26
|
+
const scrollViewRef = useRef(null);
|
|
27
|
+
const itemLayoutsRef = useRef({});
|
|
28
|
+
const scrollXRef = useRef(0);
|
|
29
|
+
const viewportWidthRef = useRef(0);
|
|
30
|
+
const contentWidthRef = useRef(0);
|
|
31
|
+
const revealedKeyRef = useRef();
|
|
32
|
+
const selectedKeyRef = useRef(selectedKey);
|
|
33
|
+
selectedKeyRef.current = selectedKey;
|
|
34
|
+
const revealSelected = useCallback(() => {
|
|
35
|
+
const key = selectedKeyRef.current;
|
|
36
|
+
const item = key && itemLayoutsRef.current[key];
|
|
37
|
+
if (!item || !viewportWidthRef.current) return;
|
|
38
|
+
const animated = revealedKeyRef.current !== undefined && revealedKeyRef.current !== key;
|
|
39
|
+
revealedKeyRef.current = key;
|
|
40
|
+
const targetX = revealOffset({
|
|
41
|
+
item,
|
|
42
|
+
scrollX: scrollXRef.current,
|
|
43
|
+
viewportWidth: viewportWidthRef.current,
|
|
44
|
+
contentWidth: contentWidthRef.current,
|
|
45
|
+
margin
|
|
46
|
+
});
|
|
47
|
+
if (targetX === null) return;
|
|
48
|
+
scrollXRef.current = targetX;
|
|
49
|
+
scrollViewRef.current?.scrollTo({
|
|
50
|
+
x: targetX,
|
|
51
|
+
animated
|
|
52
|
+
});
|
|
53
|
+
}, [margin]);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
revealSelected();
|
|
56
|
+
}, [selectedKey, revealSelected]);
|
|
57
|
+
const scrollViewProps = {
|
|
58
|
+
ref: scrollViewRef,
|
|
59
|
+
scrollEventThrottle: 16,
|
|
60
|
+
onScroll: event => {
|
|
61
|
+
scrollXRef.current = event.nativeEvent.contentOffset.x;
|
|
62
|
+
},
|
|
63
|
+
onLayout: event => {
|
|
64
|
+
viewportWidthRef.current = event.nativeEvent.layout.width;
|
|
65
|
+
revealSelected();
|
|
66
|
+
},
|
|
67
|
+
onContentSizeChange: width => {
|
|
68
|
+
contentWidthRef.current = width;
|
|
69
|
+
revealSelected();
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const itemProps = key => ({
|
|
73
|
+
onLayout: event => {
|
|
74
|
+
const {
|
|
75
|
+
x,
|
|
76
|
+
width
|
|
77
|
+
} = event.nativeEvent.layout;
|
|
78
|
+
itemLayoutsRef.current[key] = {
|
|
79
|
+
x,
|
|
80
|
+
width
|
|
81
|
+
};
|
|
82
|
+
if (key === selectedKeyRef.current) revealSelected();
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
scrollViewProps,
|
|
87
|
+
itemProps
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=useHorizontalScrollIntoView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","DEFAULT_MARGIN","revealOffset","item","scrollX","viewportWidth","contentWidth","margin","maxScrollX","Math","max","Infinity","targetX","x","width","clampedX","min","useHorizontalScrollIntoView","selectedKey","scrollViewRef","itemLayoutsRef","scrollXRef","viewportWidthRef","contentWidthRef","revealedKeyRef","selectedKeyRef","current","revealSelected","key","animated","undefined","scrollTo","scrollViewProps","ref","scrollEventThrottle","onScroll","event","nativeEvent","contentOffset","onLayout","layout","onContentSizeChange","itemProps"],"sourceRoot":"../../../src","sources":["hooks/useHorizontalScrollIntoView.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"horizontalScrollIntoView.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/horizontalScrollIntoView.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHorizontalTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseHorizontalTabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAmB,EAAE,eAAe,EAAgB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseHorizontalTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseHorizontalTabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAmB,EAAE,eAAe,EAAgB,MAAM,cAAc,CAAC;AAIzE,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAExG,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC,CAAA;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;;;;;;;AA4MD,wBAA0C"}
|
|
@@ -10,4 +10,5 @@ export * from './useDownloadFile';
|
|
|
10
10
|
export * from './useGetDeviceInfo';
|
|
11
11
|
export * from './useBaseJobRunPolling';
|
|
12
12
|
export * from './useThrottledCallback';
|
|
13
|
+
export { useHorizontalScrollIntoView } from './useHorizontalScrollIntoView';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { LayoutChangeEvent, NativeScrollEvent, NativeSyntheticEvent, ScrollView as RNScrollView } from 'react-native';
|
|
3
|
+
interface ItemLayout {
|
|
4
|
+
x: number;
|
|
5
|
+
width: number;
|
|
6
|
+
}
|
|
7
|
+
interface RevealOffsetParams {
|
|
8
|
+
item: ItemLayout;
|
|
9
|
+
scrollX: number;
|
|
10
|
+
viewportWidth: number;
|
|
11
|
+
contentWidth: number;
|
|
12
|
+
margin: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function revealOffset({ item, scrollX, viewportWidth, contentWidth, margin, }: RevealOffsetParams): number | null;
|
|
15
|
+
export declare function useHorizontalScrollIntoView<Key extends string>(selectedKey: Key | undefined, { margin }?: {
|
|
16
|
+
margin?: number | undefined;
|
|
17
|
+
}): {
|
|
18
|
+
scrollViewProps: {
|
|
19
|
+
ref: import("react").RefObject<RNScrollView>;
|
|
20
|
+
scrollEventThrottle: number;
|
|
21
|
+
onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
|
|
22
|
+
onLayout: (event: LayoutChangeEvent) => void;
|
|
23
|
+
onContentSizeChange: (width: number) => void;
|
|
24
|
+
};
|
|
25
|
+
itemProps: (key: Key) => {
|
|
26
|
+
onLayout: (event: LayoutChangeEvent) => void;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=useHorizontalScrollIntoView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHorizontalScrollIntoView.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useHorizontalScrollIntoView.ts"],"names":[],"mappings":";AACA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,IAAI,YAAY,EAC3B,MAAM,cAAc,CAAC;AAEtB,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GACnD,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAepC;AAED,wBAAgB,2BAA2B,CAAC,GAAG,SAAS,MAAM,EAC5D,WAAW,EAAE,GAAG,GAAG,SAAS,EAC5B,EAAE,MAAuB,EAAE;;CAAK;;;;0BAuCZ,qBAAqB,iBAAiB,CAAC;;qCAO5B,MAAM;;qBAMb,GAAG;;;EAS5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"horizontalScrollIntoView.test.d.ts","sourceRoot":"","sources":["../../../../src/__tests__/horizontalScrollIntoView.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseHorizontalTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseHorizontalTabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAmB,EAAE,eAAe,EAAgB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseHorizontalTabs.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseHorizontalTabs.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAmB,EAAE,eAAe,EAAgB,MAAM,cAAc,CAAC;AAIzE,MAAM,MAAM,OAAO,GAAG,cAAc,GAAG,WAAW,GAAG,aAAa,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAExG,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,UAAU,uBAAuB;IAC/B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC,CAAA;IACrE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;;;;;;;AA4MD,wBAA0C"}
|
|
@@ -10,4 +10,5 @@ export * from './useDownloadFile';
|
|
|
10
10
|
export * from './useGetDeviceInfo';
|
|
11
11
|
export * from './useBaseJobRunPolling';
|
|
12
12
|
export * from './useThrottledCallback';
|
|
13
|
+
export { useHorizontalScrollIntoView } from './useHorizontalScrollIntoView';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { LayoutChangeEvent, NativeScrollEvent, NativeSyntheticEvent, ScrollView as RNScrollView } from 'react-native';
|
|
3
|
+
interface ItemLayout {
|
|
4
|
+
x: number;
|
|
5
|
+
width: number;
|
|
6
|
+
}
|
|
7
|
+
interface RevealOffsetParams {
|
|
8
|
+
item: ItemLayout;
|
|
9
|
+
scrollX: number;
|
|
10
|
+
viewportWidth: number;
|
|
11
|
+
contentWidth: number;
|
|
12
|
+
margin: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function revealOffset({ item, scrollX, viewportWidth, contentWidth, margin, }: RevealOffsetParams): number | null;
|
|
15
|
+
export declare function useHorizontalScrollIntoView<Key extends string>(selectedKey: Key | undefined, { margin }?: {
|
|
16
|
+
margin?: number | undefined;
|
|
17
|
+
}): {
|
|
18
|
+
scrollViewProps: {
|
|
19
|
+
ref: import("react").RefObject<RNScrollView>;
|
|
20
|
+
scrollEventThrottle: number;
|
|
21
|
+
onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
|
|
22
|
+
onLayout: (event: LayoutChangeEvent) => void;
|
|
23
|
+
onContentSizeChange: (width: number) => void;
|
|
24
|
+
};
|
|
25
|
+
itemProps: (key: Key) => {
|
|
26
|
+
onLayout: (event: LayoutChangeEvent) => void;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=useHorizontalScrollIntoView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHorizontalScrollIntoView.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useHorizontalScrollIntoView.ts"],"names":[],"mappings":";AACA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,IAAI,YAAY,EAC3B,MAAM,cAAc,CAAC;AAEtB,UAAU,UAAU;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAID,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GACnD,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAepC;AAED,wBAAgB,2BAA2B,CAAC,GAAG,SAAS,MAAM,EAC5D,WAAW,EAAE,GAAG,GAAG,SAAS,EAC5B,EAAE,MAAuB,EAAE;;CAAK;;;;0BAuCZ,qBAAqB,iBAAiB,CAAC;;qCAO5B,MAAM;;qBAMb,GAAG;;;EAS5B"}
|