react-native-collapsible-tabs-reanimated 0.1.0-beta
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/LICENSE +21 -0
- package/README.md +232 -0
- package/lib/commonjs/Bar.js +247 -0
- package/lib/commonjs/Bar.js.map +1 -0
- package/lib/commonjs/Button.js +150 -0
- package/lib/commonjs/Button.js.map +1 -0
- package/lib/commonjs/Context.js +21 -0
- package/lib/commonjs/Context.js.map +1 -0
- package/lib/commonjs/FlashList.js +91 -0
- package/lib/commonjs/FlashList.js.map +1 -0
- package/lib/commonjs/Header.js +54 -0
- package/lib/commonjs/Header.js.map +1 -0
- package/lib/commonjs/Indicator.js +156 -0
- package/lib/commonjs/Indicator.js.map +1 -0
- package/lib/commonjs/Lazy.js +87 -0
- package/lib/commonjs/Lazy.js.map +1 -0
- package/lib/commonjs/LegendList.js +86 -0
- package/lib/commonjs/LegendList.js.map +1 -0
- package/lib/commonjs/List.js +83 -0
- package/lib/commonjs/List.js.map +1 -0
- package/lib/commonjs/Pager.js +93 -0
- package/lib/commonjs/Pager.js.map +1 -0
- package/lib/commonjs/Root.js +169 -0
- package/lib/commonjs/Root.js.map +1 -0
- package/lib/commonjs/ScrollView.js +85 -0
- package/lib/commonjs/ScrollView.js.map +1 -0
- package/lib/commonjs/StaticHeader.js +37 -0
- package/lib/commonjs/StaticHeader.js.map +1 -0
- package/lib/commonjs/StickyHeader.js +37 -0
- package/lib/commonjs/StickyHeader.js.map +1 -0
- package/lib/commonjs/Tab.js +86 -0
- package/lib/commonjs/Tab.js.map +1 -0
- package/lib/commonjs/flash-list.js +14 -0
- package/lib/commonjs/flash-list.js.map +1 -0
- package/lib/commonjs/index.js +128 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/legend-list.js +14 -0
- package/lib/commonjs/legend-list.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/useStableCallback.js +15 -0
- package/lib/commonjs/useStableCallback.js.map +1 -0
- package/lib/module/Bar.js +242 -0
- package/lib/module/Bar.js.map +1 -0
- package/lib/module/Button.js +145 -0
- package/lib/module/Button.js.map +1 -0
- package/lib/module/Context.js +16 -0
- package/lib/module/Context.js.map +1 -0
- package/lib/module/FlashList.js +86 -0
- package/lib/module/FlashList.js.map +1 -0
- package/lib/module/Header.js +49 -0
- package/lib/module/Header.js.map +1 -0
- package/lib/module/Indicator.js +151 -0
- package/lib/module/Indicator.js.map +1 -0
- package/lib/module/Lazy.js +82 -0
- package/lib/module/Lazy.js.map +1 -0
- package/lib/module/LegendList.js +81 -0
- package/lib/module/LegendList.js.map +1 -0
- package/lib/module/List.js +78 -0
- package/lib/module/List.js.map +1 -0
- package/lib/module/Pager.js +87 -0
- package/lib/module/Pager.js.map +1 -0
- package/lib/module/Root.js +165 -0
- package/lib/module/Root.js.map +1 -0
- package/lib/module/ScrollView.js +80 -0
- package/lib/module/ScrollView.js.map +1 -0
- package/lib/module/StaticHeader.js +32 -0
- package/lib/module/StaticHeader.js.map +1 -0
- package/lib/module/StickyHeader.js +32 -0
- package/lib/module/StickyHeader.js.map +1 -0
- package/lib/module/Tab.js +81 -0
- package/lib/module/Tab.js.map +1 -0
- package/lib/module/flash-list.js +4 -0
- package/lib/module/flash-list.js.map +1 -0
- package/lib/module/index.js +44 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/legend-list.js +4 -0
- package/lib/module/legend-list.js.map +1 -0
- package/lib/module/useStableCallback.js +11 -0
- package/lib/module/useStableCallback.js.map +1 -0
- package/lib/typescript/Bar.d.ts +22 -0
- package/lib/typescript/Bar.d.ts.map +1 -0
- package/lib/typescript/Button.d.ts +32 -0
- package/lib/typescript/Button.d.ts.map +1 -0
- package/lib/typescript/Context.d.ts +37 -0
- package/lib/typescript/Context.d.ts.map +1 -0
- package/lib/typescript/FlashList.d.ts +6 -0
- package/lib/typescript/FlashList.d.ts.map +1 -0
- package/lib/typescript/Header.d.ts +7 -0
- package/lib/typescript/Header.d.ts.map +1 -0
- package/lib/typescript/Indicator.d.ts +11 -0
- package/lib/typescript/Indicator.d.ts.map +1 -0
- package/lib/typescript/Lazy.d.ts +36 -0
- package/lib/typescript/Lazy.d.ts.map +1 -0
- package/lib/typescript/LegendList.d.ts +6 -0
- package/lib/typescript/LegendList.d.ts.map +1 -0
- package/lib/typescript/List.d.ts +6 -0
- package/lib/typescript/List.d.ts.map +1 -0
- package/lib/typescript/Pager.d.ts +15 -0
- package/lib/typescript/Pager.d.ts.map +1 -0
- package/lib/typescript/Root.d.ts +14 -0
- package/lib/typescript/Root.d.ts.map +1 -0
- package/lib/typescript/ScrollView.d.ts +6 -0
- package/lib/typescript/ScrollView.d.ts.map +1 -0
- package/lib/typescript/StaticHeader.d.ts +7 -0
- package/lib/typescript/StaticHeader.d.ts.map +1 -0
- package/lib/typescript/StickyHeader.d.ts +7 -0
- package/lib/typescript/StickyHeader.d.ts.map +1 -0
- package/lib/typescript/Tab.d.ts +31 -0
- package/lib/typescript/Tab.d.ts.map +1 -0
- package/lib/typescript/flash-list.d.ts +3 -0
- package/lib/typescript/flash-list.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +69 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/legend-list.d.ts +3 -0
- package/lib/typescript/legend-list.d.ts.map +1 -0
- package/lib/typescript/useStableCallback.d.ts +2 -0
- package/lib/typescript/useStableCallback.d.ts.map +1 -0
- package/package.json +112 -0
- package/src/Bar.tsx +359 -0
- package/src/Button.tsx +219 -0
- package/src/Context.tsx +44 -0
- package/src/FlashList.tsx +150 -0
- package/src/Header.tsx +45 -0
- package/src/Indicator.tsx +193 -0
- package/src/Lazy.tsx +110 -0
- package/src/LegendList.tsx +130 -0
- package/src/List.tsx +115 -0
- package/src/Pager.tsx +134 -0
- package/src/Root.tsx +194 -0
- package/src/ScrollView.tsx +116 -0
- package/src/StaticHeader.tsx +30 -0
- package/src/StickyHeader.tsx +30 -0
- package/src/Tab.tsx +89 -0
- package/src/flash-list.ts +2 -0
- package/src/index.ts +54 -0
- package/src/legend-list.ts +2 -0
- package/src/useStableCallback.ts +11 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useTabSelfContext = exports.default = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNativeReanimated = require("react-native-reanimated");
|
|
9
|
+
var _reactNativeWorklets = require("react-native-worklets");
|
|
10
|
+
var _Context = require("./Context");
|
|
11
|
+
var _Lazy = require("./Lazy");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
const Tab = ({
|
|
14
|
+
index,
|
|
15
|
+
loader,
|
|
16
|
+
loaderStyle,
|
|
17
|
+
lazyProps,
|
|
18
|
+
disableLazyEntering = true,
|
|
19
|
+
disablePreload = false,
|
|
20
|
+
lazy = true,
|
|
21
|
+
children,
|
|
22
|
+
isLoading = false,
|
|
23
|
+
isScreenFocused = true
|
|
24
|
+
}) => {
|
|
25
|
+
const {
|
|
26
|
+
activeTabIndexValue,
|
|
27
|
+
pageDecimal
|
|
28
|
+
} = (0, _Context.useCollapsibleTabsContext)();
|
|
29
|
+
const [shouldPreload, setShouldPreload] = (0, _react.useState)(false);
|
|
30
|
+
const [canMount, setCanMount] = (0, _react.useState)(lazy === false);
|
|
31
|
+
const preloadLatched = (0, _reactNativeReanimated.useSharedValue)(disablePreload);
|
|
32
|
+
const mountLatched = (0, _reactNativeReanimated.useSharedValue)(lazy === false);
|
|
33
|
+
(0, _reactNativeReanimated.useAnimatedReaction)(() => pageDecimal.value, value => {
|
|
34
|
+
if (!preloadLatched.value && Math.round(value) === index) {
|
|
35
|
+
preloadLatched.value = true;
|
|
36
|
+
(0, _reactNativeWorklets.scheduleOnRN)(setShouldPreload, true);
|
|
37
|
+
}
|
|
38
|
+
if (!mountLatched.value && Math.abs(value - index) <= 1.5 && isScreenFocused) {
|
|
39
|
+
mountLatched.value = true;
|
|
40
|
+
(0, _reactNativeWorklets.scheduleOnRN)(setCanMount, true);
|
|
41
|
+
}
|
|
42
|
+
}, [index, isScreenFocused]);
|
|
43
|
+
const isFocused = index === activeTabIndexValue && isScreenFocused;
|
|
44
|
+
const isMounted = lazy ? (isFocused || shouldPreload) && !isLoading : true;
|
|
45
|
+
const renderChildren = () => {
|
|
46
|
+
if (lazy) {
|
|
47
|
+
if (!canMount) return null;
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Lazy.Lazy, {
|
|
49
|
+
...lazyProps,
|
|
50
|
+
focused: isMounted && !isLoading,
|
|
51
|
+
disableEntering: disableLazyEntering,
|
|
52
|
+
placeholder: loader,
|
|
53
|
+
placeholderStyle: loaderStyle,
|
|
54
|
+
children: typeof children === 'function' ? children({
|
|
55
|
+
isFocused,
|
|
56
|
+
pageDecimal
|
|
57
|
+
}) : children
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
return typeof children === 'function' ? children({
|
|
61
|
+
isFocused,
|
|
62
|
+
pageDecimal
|
|
63
|
+
}) : children;
|
|
64
|
+
};
|
|
65
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabSelfContextProvider, {
|
|
66
|
+
index: index,
|
|
67
|
+
isFocused: isFocused,
|
|
68
|
+
isMounted: isMounted,
|
|
69
|
+
children: renderChildren()
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
const TabSelfContext = /*#__PURE__*/(0, _react.createContext)({});
|
|
73
|
+
const TabSelfContextProvider = /*#__PURE__*/(0, _react.memo)(({
|
|
74
|
+
children,
|
|
75
|
+
...props
|
|
76
|
+
}) => {
|
|
77
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabSelfContext.Provider, {
|
|
78
|
+
value: props,
|
|
79
|
+
children: children
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
const useTabSelfContext = () => (0, _react.useContext)(TabSelfContext);
|
|
83
|
+
exports.useTabSelfContext = useTabSelfContext;
|
|
84
|
+
Tab.displayName = 'CollapsibleTabs.Tab';
|
|
85
|
+
var _default = exports.default = /*#__PURE__*/(0, _react.memo)(Tab);
|
|
86
|
+
//# sourceMappingURL=Tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNativeReanimated","_reactNativeWorklets","_Context","_Lazy","_jsxRuntime","Tab","index","loader","loaderStyle","lazyProps","disableLazyEntering","disablePreload","lazy","children","isLoading","isScreenFocused","activeTabIndexValue","pageDecimal","useCollapsibleTabsContext","shouldPreload","setShouldPreload","useState","canMount","setCanMount","preloadLatched","useSharedValue","mountLatched","useAnimatedReaction","value","Math","round","scheduleOnRN","abs","isFocused","isMounted","renderChildren","jsx","Lazy","focused","disableEntering","placeholder","placeholderStyle","TabSelfContextProvider","TabSelfContext","createContext","memo","props","Provider","useTabSelfContext","useContext","exports","displayName","_default","default"],"sourceRoot":"..\\..\\src","sources":["Tab.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "CollapsibleFlashList", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _FlashList.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _FlashList = _interopRequireDefault(require("./FlashList"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
//# sourceMappingURL=flash-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_FlashList","_interopRequireDefault","require","e","__esModule","default"],"sourceRoot":"..\\..\\src","sources":["flash-list.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8D,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Bar", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Bar.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "Button", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _Button.default;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "Header", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _Header.default;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "Lazy", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _Lazy.Lazy;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "List", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _List.default;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "MaterialIndicator", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _Indicator.MaterialIndicator;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "Pager", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _Pager.default;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "Root", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _Root.default;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "ScrollView", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _ScrollView.default;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "SegmentIndicator", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _Indicator.SegmentIndicator;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "StaticHeader", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _StaticHeader.default;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "StickyHeader", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _StickyHeader.default;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "Tab", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _Tab.default;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
exports.default = void 0;
|
|
85
|
+
Object.defineProperty(exports, "useCollapsibleTabsContext", {
|
|
86
|
+
enumerable: true,
|
|
87
|
+
get: function () {
|
|
88
|
+
return _Context.useCollapsibleTabsContext;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
Object.defineProperty(exports, "useTabSelfContext", {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
get: function () {
|
|
94
|
+
return _Tab.useTabSelfContext;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
var _Bar = _interopRequireDefault(require("./Bar"));
|
|
98
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
99
|
+
var _Header = _interopRequireDefault(require("./Header"));
|
|
100
|
+
var _Indicator = require("./Indicator");
|
|
101
|
+
var _Lazy = require("./Lazy");
|
|
102
|
+
var _List = _interopRequireDefault(require("./List"));
|
|
103
|
+
var _Pager = _interopRequireDefault(require("./Pager"));
|
|
104
|
+
var _Root = _interopRequireDefault(require("./Root"));
|
|
105
|
+
var _ScrollView = _interopRequireDefault(require("./ScrollView"));
|
|
106
|
+
var _StaticHeader = _interopRequireDefault(require("./StaticHeader"));
|
|
107
|
+
var _StickyHeader = _interopRequireDefault(require("./StickyHeader"));
|
|
108
|
+
var _Tab = _interopRequireWildcard(require("./Tab"));
|
|
109
|
+
var _Context = require("./Context");
|
|
110
|
+
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); }
|
|
111
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
112
|
+
const CollapsibleTabs = {
|
|
113
|
+
Root: _Root.default,
|
|
114
|
+
Header: _Header.default,
|
|
115
|
+
StickyHeader: _StickyHeader.default,
|
|
116
|
+
StaticHeader: _StaticHeader.default,
|
|
117
|
+
Pager: _Pager.default,
|
|
118
|
+
Tab: _Tab.default,
|
|
119
|
+
List: _List.default,
|
|
120
|
+
ScrollView: _ScrollView.default,
|
|
121
|
+
Bar: _Bar.default,
|
|
122
|
+
Button: _Button.default,
|
|
123
|
+
MaterialIndicator: _Indicator.MaterialIndicator,
|
|
124
|
+
SegmentIndicator: _Indicator.SegmentIndicator,
|
|
125
|
+
Lazy: _Lazy.Lazy
|
|
126
|
+
};
|
|
127
|
+
var _default = exports.default = CollapsibleTabs;
|
|
128
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Bar","_interopRequireDefault","require","_Button","_Header","_Indicator","_Lazy","_List","_Pager","_Root","_ScrollView","_StaticHeader","_StickyHeader","_Tab","_interopRequireWildcard","_Context","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CollapsibleTabs","Root","Header","StickyHeader","StaticHeader","Pager","Tab","List","ScrollView","Bar","Button","MaterialIndicator","SegmentIndicator","Lazy","_default","exports"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,KAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,aAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,IAAA,GAAAC,uBAAA,CAAAZ,OAAA;AAIA,IAAAa,QAAA,GAAAb,OAAA;AAAsD,SAAAY,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAhB,uBAAAe,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAsBtD,MAAMmB,eAAe,GAAG;EACtBC,IAAI,EAAJA,aAAI;EACJC,MAAM,EAANA,eAAM;EACNC,YAAY,EAAZA,qBAAY;EACZC,YAAY,EAAZA,qBAAY;EACZC,KAAK,EAALA,cAAK;EACLC,GAAG,EAAHA,YAAG;EACHC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA,mBAAU;EACVC,GAAG,EAAHA,YAAG;EACHC,MAAM,EAANA,eAAM;EACNC,iBAAiB,EAAjBA,4BAAiB;EACjBC,gBAAgB,EAAhBA,2BAAgB;EAChBC,IAAI,EAAJA;AACF,CAAU;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAxB,OAAA,GAEIS,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "CollapsibleLegendList", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _LegendList.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _LegendList = _interopRequireDefault(require("./LegendList"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
//# sourceMappingURL=legend-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_LegendList","_interopRequireDefault","require","e","__esModule","default"],"sourceRoot":"..\\..\\src","sources":["legend-list.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAgE,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useStableCallback = useStableCallback;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
function useStableCallback(callback) {
|
|
9
|
+
const callbackRef = (0, _react.useRef)(callback);
|
|
10
|
+
(0, _react.useEffect)(() => {
|
|
11
|
+
callbackRef.current = callback;
|
|
12
|
+
}, [callback]);
|
|
13
|
+
return (0, _react.useCallback)((...args) => callbackRef.current?.(...args), []);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=useStableCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","useStableCallback","callback","callbackRef","useRef","useEffect","current","useCallback","args"],"sourceRoot":"..\\..\\src","sources":["useStableCallback.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEO,SAASC,iBAAiBA,CAAoCC,QAAY,EAAE;EACjF,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAACF,QAAQ,CAAC;EAEpC,IAAAG,gBAAS,EAAC,MAAM;IACdF,WAAW,CAACG,OAAO,GAAGJ,QAAQ;EAChC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEd,OAAO,IAAAK,kBAAW,EAAC,CAAC,GAAGC,IAAmB,KAAKL,WAAW,CAACG,OAAO,GAAG,GAAGE,IAAI,CAAC,EAAE,EAAE,CAAC;AACpF","ignoreList":[]}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { memo, useCallback, useMemo, useState } from "react";
|
|
4
|
+
import { StyleSheet, Text, View } from "react-native";
|
|
5
|
+
import { Pressable, ScrollView } from "react-native-gesture-handler";
|
|
6
|
+
import Animated, { interpolate, scrollTo, useAnimatedReaction, useAnimatedRef, useAnimatedScrollHandler, useAnimatedStyle, useDerivedValue, useSharedValue, withTiming } from "react-native-reanimated";
|
|
7
|
+
import { useCollapsibleTabsContext } from "./Context";
|
|
8
|
+
import { scheduleOnUI } from "react-native-worklets";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
const AnimatedScrollView = Animated.createAnimatedComponent(ScrollView);
|
|
11
|
+
const Bar = ({
|
|
12
|
+
scrollEnabled = true,
|
|
13
|
+
fullWidth,
|
|
14
|
+
scrollButtons = true,
|
|
15
|
+
left,
|
|
16
|
+
right,
|
|
17
|
+
containerProps,
|
|
18
|
+
children,
|
|
19
|
+
scrollContainerStyle,
|
|
20
|
+
tabButtonsGap = 0,
|
|
21
|
+
backgroundColor = "#ffffff",
|
|
22
|
+
scrollButtonBackgroundColor = "rgba(255, 255, 255, 0.95)",
|
|
23
|
+
scrollButtonIconColor = "rgba(48, 48, 48, 0.7)",
|
|
24
|
+
renderScrollButtonIcon,
|
|
25
|
+
...props
|
|
26
|
+
}) => {
|
|
27
|
+
const {
|
|
28
|
+
pageDecimal,
|
|
29
|
+
itemLayout
|
|
30
|
+
} = useCollapsibleTabsContext();
|
|
31
|
+
const [barSize, setBarSize] = useState({
|
|
32
|
+
width: 0,
|
|
33
|
+
height: 0,
|
|
34
|
+
measured: false
|
|
35
|
+
});
|
|
36
|
+
const contentWidth = useSharedValue(0);
|
|
37
|
+
const layoutWidth = useSharedValue(0);
|
|
38
|
+
const scrollRef = useAnimatedRef();
|
|
39
|
+
const scrollX = useSharedValue(0);
|
|
40
|
+
const leftButtonOpacity = useSharedValue(0);
|
|
41
|
+
const rightButtonOpacity = useSharedValue(0);
|
|
42
|
+
useAnimatedReaction(() => {
|
|
43
|
+
if (!scrollButtons || layoutWidth.value === 0 || contentWidth.value === 0) return {
|
|
44
|
+
showLeft: false,
|
|
45
|
+
showRight: false
|
|
46
|
+
};
|
|
47
|
+
const maxScroll = contentWidth.value - layoutWidth.value;
|
|
48
|
+
const isScrollable = maxScroll > 1;
|
|
49
|
+
return {
|
|
50
|
+
showLeft: isScrollable && scrollX.value > 10,
|
|
51
|
+
showRight: isScrollable && scrollX.value < maxScroll - 10
|
|
52
|
+
};
|
|
53
|
+
}, (curr, prev) => {
|
|
54
|
+
if (curr.showLeft !== prev?.showLeft) leftButtonOpacity.value = withTiming(curr.showLeft ? 1 : 0);
|
|
55
|
+
if (curr.showRight !== prev?.showRight) rightButtonOpacity.value = withTiming(curr.showRight ? 1 : 0);
|
|
56
|
+
}, [scrollButtons]);
|
|
57
|
+
const onScroll = useAnimatedScrollHandler(evt => {
|
|
58
|
+
scrollX.value = evt.contentOffset.x;
|
|
59
|
+
});
|
|
60
|
+
const scrollByButton = useCallback(dir => {
|
|
61
|
+
"worklet";
|
|
62
|
+
|
|
63
|
+
const step = layoutWidth.value / 2;
|
|
64
|
+
const current = scrollX.value;
|
|
65
|
+
const target = dir === "left" ? current - step : current + step;
|
|
66
|
+
const maxScroll = contentWidth.value - layoutWidth.value;
|
|
67
|
+
scrollTo(scrollRef, Math.max(0, Math.min(target, maxScroll > 0 ? maxScroll : 0)), 0, true);
|
|
68
|
+
}, [contentWidth, layoutWidth, scrollRef, scrollX]);
|
|
69
|
+
const handlePress = useCallback(dir => {
|
|
70
|
+
scheduleOnUI(scrollByButton, dir);
|
|
71
|
+
}, [scrollByButton]);
|
|
72
|
+
const interpolationTable = useDerivedValue(() => {
|
|
73
|
+
if (itemLayout.length <= 1) return null;
|
|
74
|
+
const inputRange = new Array(itemLayout.length);
|
|
75
|
+
const outputRange = new Array(itemLayout.length);
|
|
76
|
+
const halfBar = barSize.width / 2;
|
|
77
|
+
for (let index = 0; index < itemLayout.length; index += 1) {
|
|
78
|
+
inputRange[index] = index;
|
|
79
|
+
const item = itemLayout[index];
|
|
80
|
+
outputRange[index] = +(item.x + item.width / 2 - halfBar).toFixed(2);
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
inputRange,
|
|
84
|
+
outputRange
|
|
85
|
+
};
|
|
86
|
+
}, [barSize.width, itemLayout]);
|
|
87
|
+
const centerOffset = useDerivedValue(() => {
|
|
88
|
+
if (!interpolationTable.value) return 0;
|
|
89
|
+
return interpolate(+pageDecimal.value.toFixed(3), interpolationTable.value.inputRange, interpolationTable.value.outputRange, "identity");
|
|
90
|
+
}, [interpolationTable]);
|
|
91
|
+
useAnimatedReaction(() => Math.round(centerOffset.value), (value, prev) => {
|
|
92
|
+
if (value !== prev) scrollTo(scrollRef, value, 0, true);
|
|
93
|
+
});
|
|
94
|
+
const contentContainerStyle = useMemo(() => ({
|
|
95
|
+
flex: fullWidth ? 1 : 0,
|
|
96
|
+
gap: tabButtonsGap
|
|
97
|
+
}), [fullWidth, tabButtonsGap]);
|
|
98
|
+
const onContentSizeChange = useCallback(width => {
|
|
99
|
+
contentWidth.value = width;
|
|
100
|
+
}, [contentWidth]);
|
|
101
|
+
const onLayout = useCallback(evt => {
|
|
102
|
+
layoutWidth.value = evt.nativeEvent.layout.width;
|
|
103
|
+
}, [layoutWidth]);
|
|
104
|
+
const containerOnLayout = containerProps?.onLayout;
|
|
105
|
+
const onContainerLayout = useCallback(evt => {
|
|
106
|
+
const {
|
|
107
|
+
width,
|
|
108
|
+
height
|
|
109
|
+
} = evt.nativeEvent.layout;
|
|
110
|
+
setBarSize(prev => prev.width === width && prev.height === height ? prev : {
|
|
111
|
+
width,
|
|
112
|
+
height,
|
|
113
|
+
measured: true
|
|
114
|
+
});
|
|
115
|
+
containerOnLayout?.(evt);
|
|
116
|
+
}, [containerOnLayout]);
|
|
117
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
118
|
+
...containerProps,
|
|
119
|
+
style: [styles.containerRow, {
|
|
120
|
+
backgroundColor
|
|
121
|
+
}, containerProps?.style],
|
|
122
|
+
onLayout: onContainerLayout,
|
|
123
|
+
collapsable: false,
|
|
124
|
+
children: [left, /*#__PURE__*/_jsxs(View, {
|
|
125
|
+
style: [styles.scrollContainer, scrollContainerStyle],
|
|
126
|
+
children: [!!scrollButtons && /*#__PURE__*/_jsx(ScrollButton, {
|
|
127
|
+
dir: "left",
|
|
128
|
+
buttonProgress: leftButtonOpacity,
|
|
129
|
+
handlePress: handlePress,
|
|
130
|
+
backgroundColor: scrollButtonBackgroundColor,
|
|
131
|
+
iconColor: scrollButtonIconColor,
|
|
132
|
+
renderIcon: renderScrollButtonIcon
|
|
133
|
+
}), /*#__PURE__*/_jsx(AnimatedScrollView, {
|
|
134
|
+
ref: scrollRef,
|
|
135
|
+
horizontal: true,
|
|
136
|
+
showsHorizontalScrollIndicator: false,
|
|
137
|
+
scrollEventThrottle: 16,
|
|
138
|
+
keyboardShouldPersistTaps: "handled",
|
|
139
|
+
scrollEnabled: scrollEnabled,
|
|
140
|
+
contentContainerStyle: contentContainerStyle,
|
|
141
|
+
directionalLockEnabled: true,
|
|
142
|
+
onContentSizeChange: onContentSizeChange,
|
|
143
|
+
onLayout: onLayout,
|
|
144
|
+
onScroll: onScroll,
|
|
145
|
+
bounces: false,
|
|
146
|
+
collapsable: false,
|
|
147
|
+
...props,
|
|
148
|
+
children: children
|
|
149
|
+
}), !!scrollButtons && /*#__PURE__*/_jsx(ScrollButton, {
|
|
150
|
+
dir: "right",
|
|
151
|
+
buttonProgress: rightButtonOpacity,
|
|
152
|
+
handlePress: handlePress,
|
|
153
|
+
backgroundColor: scrollButtonBackgroundColor,
|
|
154
|
+
iconColor: scrollButtonIconColor,
|
|
155
|
+
renderIcon: renderScrollButtonIcon
|
|
156
|
+
})]
|
|
157
|
+
}), right]
|
|
158
|
+
});
|
|
159
|
+
};
|
|
160
|
+
const ScrollButton = /*#__PURE__*/memo(({
|
|
161
|
+
dir,
|
|
162
|
+
buttonProgress,
|
|
163
|
+
handlePress,
|
|
164
|
+
backgroundColor,
|
|
165
|
+
iconColor,
|
|
166
|
+
renderIcon
|
|
167
|
+
}) => {
|
|
168
|
+
const isLeft = dir === "left";
|
|
169
|
+
const width = useSharedValue(0);
|
|
170
|
+
const animatedStyle = useAnimatedStyle(() => {
|
|
171
|
+
const opacity = buttonProgress.value;
|
|
172
|
+
return {
|
|
173
|
+
opacity,
|
|
174
|
+
transform: [{
|
|
175
|
+
translateX: interpolate(opacity, [0, 1], [isLeft ? -width.value : width.value, 0])
|
|
176
|
+
}],
|
|
177
|
+
pointerEvents: opacity === 0 ? "none" : "auto"
|
|
178
|
+
};
|
|
179
|
+
}, [isLeft]);
|
|
180
|
+
const onLayoutButton = useCallback(evt => {
|
|
181
|
+
width.value = evt.nativeEvent.layout.width;
|
|
182
|
+
}, [width]);
|
|
183
|
+
const onPress = useCallback(() => handlePress(dir), [dir, handlePress]);
|
|
184
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
185
|
+
style: [isLeft ? scrollButtonStyles.containerLeft : scrollButtonStyles.containerRight, {
|
|
186
|
+
backgroundColor
|
|
187
|
+
}, animatedStyle],
|
|
188
|
+
onLayout: onLayoutButton,
|
|
189
|
+
children: /*#__PURE__*/_jsx(Pressable, {
|
|
190
|
+
style: scrollButtonStyles.button,
|
|
191
|
+
onPress: onPress,
|
|
192
|
+
children: renderIcon ? renderIcon(dir) : /*#__PURE__*/_jsx(Text, {
|
|
193
|
+
style: [scrollButtonStyles.icon, {
|
|
194
|
+
color: iconColor
|
|
195
|
+
}],
|
|
196
|
+
children: isLeft ? "<" : ">"
|
|
197
|
+
})
|
|
198
|
+
})
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
const styles = StyleSheet.create({
|
|
202
|
+
containerRow: {
|
|
203
|
+
position: "relative",
|
|
204
|
+
flexDirection: "row",
|
|
205
|
+
alignItems: "center"
|
|
206
|
+
},
|
|
207
|
+
scrollContainer: {
|
|
208
|
+
flex: 1,
|
|
209
|
+
flexDirection: "row",
|
|
210
|
+
alignItems: "center",
|
|
211
|
+
justifyContent: "center",
|
|
212
|
+
position: "relative",
|
|
213
|
+
paddingHorizontal: 20
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
const scrollButtonStyles = StyleSheet.create({
|
|
217
|
+
containerLeft: {
|
|
218
|
+
position: "absolute",
|
|
219
|
+
left: 0,
|
|
220
|
+
zIndex: 2,
|
|
221
|
+
height: "100%"
|
|
222
|
+
},
|
|
223
|
+
containerRight: {
|
|
224
|
+
position: "absolute",
|
|
225
|
+
right: 0,
|
|
226
|
+
zIndex: 2,
|
|
227
|
+
height: "100%"
|
|
228
|
+
},
|
|
229
|
+
button: {
|
|
230
|
+
paddingHorizontal: 12,
|
|
231
|
+
paddingVertical: 4,
|
|
232
|
+
height: "100%",
|
|
233
|
+
justifyContent: "center"
|
|
234
|
+
},
|
|
235
|
+
icon: {
|
|
236
|
+
fontSize: 16,
|
|
237
|
+
fontWeight: "700"
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
Bar.displayName = "CollapsibleTabs.Bar";
|
|
241
|
+
export default /*#__PURE__*/memo(Bar);
|
|
242
|
+
//# sourceMappingURL=Bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","useState","StyleSheet","Text","View","Pressable","ScrollView","Animated","interpolate","scrollTo","useAnimatedReaction","useAnimatedRef","useAnimatedScrollHandler","useAnimatedStyle","useDerivedValue","useSharedValue","withTiming","useCollapsibleTabsContext","scheduleOnUI","jsx","_jsx","jsxs","_jsxs","AnimatedScrollView","createAnimatedComponent","Bar","scrollEnabled","fullWidth","scrollButtons","left","right","containerProps","children","scrollContainerStyle","tabButtonsGap","backgroundColor","scrollButtonBackgroundColor","scrollButtonIconColor","renderScrollButtonIcon","props","pageDecimal","itemLayout","barSize","setBarSize","width","height","measured","contentWidth","layoutWidth","scrollRef","scrollX","leftButtonOpacity","rightButtonOpacity","value","showLeft","showRight","maxScroll","isScrollable","curr","prev","onScroll","evt","contentOffset","x","scrollByButton","dir","step","current","target","Math","max","min","handlePress","interpolationTable","length","inputRange","Array","outputRange","halfBar","index","item","toFixed","centerOffset","round","contentContainerStyle","flex","gap","onContentSizeChange","onLayout","nativeEvent","layout","containerOnLayout","onContainerLayout","style","styles","containerRow","collapsable","scrollContainer","ScrollButton","buttonProgress","iconColor","renderIcon","ref","horizontal","showsHorizontalScrollIndicator","scrollEventThrottle","keyboardShouldPersistTaps","directionalLockEnabled","bounces","isLeft","animatedStyle","opacity","transform","translateX","pointerEvents","onLayoutButton","onPress","scrollButtonStyles","containerLeft","containerRight","button","icon","color","create","position","flexDirection","alignItems","justifyContent","paddingHorizontal","zIndex","paddingVertical","fontSize","fontWeight","displayName"],"sourceRoot":"..\\..\\src","sources":["Bar.tsx"],"mappings":"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","ignoreList":[]}
|