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.
Files changed (137) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +232 -0
  3. package/lib/commonjs/Bar.js +247 -0
  4. package/lib/commonjs/Bar.js.map +1 -0
  5. package/lib/commonjs/Button.js +150 -0
  6. package/lib/commonjs/Button.js.map +1 -0
  7. package/lib/commonjs/Context.js +21 -0
  8. package/lib/commonjs/Context.js.map +1 -0
  9. package/lib/commonjs/FlashList.js +91 -0
  10. package/lib/commonjs/FlashList.js.map +1 -0
  11. package/lib/commonjs/Header.js +54 -0
  12. package/lib/commonjs/Header.js.map +1 -0
  13. package/lib/commonjs/Indicator.js +156 -0
  14. package/lib/commonjs/Indicator.js.map +1 -0
  15. package/lib/commonjs/Lazy.js +87 -0
  16. package/lib/commonjs/Lazy.js.map +1 -0
  17. package/lib/commonjs/LegendList.js +86 -0
  18. package/lib/commonjs/LegendList.js.map +1 -0
  19. package/lib/commonjs/List.js +83 -0
  20. package/lib/commonjs/List.js.map +1 -0
  21. package/lib/commonjs/Pager.js +93 -0
  22. package/lib/commonjs/Pager.js.map +1 -0
  23. package/lib/commonjs/Root.js +169 -0
  24. package/lib/commonjs/Root.js.map +1 -0
  25. package/lib/commonjs/ScrollView.js +85 -0
  26. package/lib/commonjs/ScrollView.js.map +1 -0
  27. package/lib/commonjs/StaticHeader.js +37 -0
  28. package/lib/commonjs/StaticHeader.js.map +1 -0
  29. package/lib/commonjs/StickyHeader.js +37 -0
  30. package/lib/commonjs/StickyHeader.js.map +1 -0
  31. package/lib/commonjs/Tab.js +86 -0
  32. package/lib/commonjs/Tab.js.map +1 -0
  33. package/lib/commonjs/flash-list.js +14 -0
  34. package/lib/commonjs/flash-list.js.map +1 -0
  35. package/lib/commonjs/index.js +128 -0
  36. package/lib/commonjs/index.js.map +1 -0
  37. package/lib/commonjs/legend-list.js +14 -0
  38. package/lib/commonjs/legend-list.js.map +1 -0
  39. package/lib/commonjs/package.json +1 -0
  40. package/lib/commonjs/useStableCallback.js +15 -0
  41. package/lib/commonjs/useStableCallback.js.map +1 -0
  42. package/lib/module/Bar.js +242 -0
  43. package/lib/module/Bar.js.map +1 -0
  44. package/lib/module/Button.js +145 -0
  45. package/lib/module/Button.js.map +1 -0
  46. package/lib/module/Context.js +16 -0
  47. package/lib/module/Context.js.map +1 -0
  48. package/lib/module/FlashList.js +86 -0
  49. package/lib/module/FlashList.js.map +1 -0
  50. package/lib/module/Header.js +49 -0
  51. package/lib/module/Header.js.map +1 -0
  52. package/lib/module/Indicator.js +151 -0
  53. package/lib/module/Indicator.js.map +1 -0
  54. package/lib/module/Lazy.js +82 -0
  55. package/lib/module/Lazy.js.map +1 -0
  56. package/lib/module/LegendList.js +81 -0
  57. package/lib/module/LegendList.js.map +1 -0
  58. package/lib/module/List.js +78 -0
  59. package/lib/module/List.js.map +1 -0
  60. package/lib/module/Pager.js +87 -0
  61. package/lib/module/Pager.js.map +1 -0
  62. package/lib/module/Root.js +165 -0
  63. package/lib/module/Root.js.map +1 -0
  64. package/lib/module/ScrollView.js +80 -0
  65. package/lib/module/ScrollView.js.map +1 -0
  66. package/lib/module/StaticHeader.js +32 -0
  67. package/lib/module/StaticHeader.js.map +1 -0
  68. package/lib/module/StickyHeader.js +32 -0
  69. package/lib/module/StickyHeader.js.map +1 -0
  70. package/lib/module/Tab.js +81 -0
  71. package/lib/module/Tab.js.map +1 -0
  72. package/lib/module/flash-list.js +4 -0
  73. package/lib/module/flash-list.js.map +1 -0
  74. package/lib/module/index.js +44 -0
  75. package/lib/module/index.js.map +1 -0
  76. package/lib/module/legend-list.js +4 -0
  77. package/lib/module/legend-list.js.map +1 -0
  78. package/lib/module/useStableCallback.js +11 -0
  79. package/lib/module/useStableCallback.js.map +1 -0
  80. package/lib/typescript/Bar.d.ts +22 -0
  81. package/lib/typescript/Bar.d.ts.map +1 -0
  82. package/lib/typescript/Button.d.ts +32 -0
  83. package/lib/typescript/Button.d.ts.map +1 -0
  84. package/lib/typescript/Context.d.ts +37 -0
  85. package/lib/typescript/Context.d.ts.map +1 -0
  86. package/lib/typescript/FlashList.d.ts +6 -0
  87. package/lib/typescript/FlashList.d.ts.map +1 -0
  88. package/lib/typescript/Header.d.ts +7 -0
  89. package/lib/typescript/Header.d.ts.map +1 -0
  90. package/lib/typescript/Indicator.d.ts +11 -0
  91. package/lib/typescript/Indicator.d.ts.map +1 -0
  92. package/lib/typescript/Lazy.d.ts +36 -0
  93. package/lib/typescript/Lazy.d.ts.map +1 -0
  94. package/lib/typescript/LegendList.d.ts +6 -0
  95. package/lib/typescript/LegendList.d.ts.map +1 -0
  96. package/lib/typescript/List.d.ts +6 -0
  97. package/lib/typescript/List.d.ts.map +1 -0
  98. package/lib/typescript/Pager.d.ts +15 -0
  99. package/lib/typescript/Pager.d.ts.map +1 -0
  100. package/lib/typescript/Root.d.ts +14 -0
  101. package/lib/typescript/Root.d.ts.map +1 -0
  102. package/lib/typescript/ScrollView.d.ts +6 -0
  103. package/lib/typescript/ScrollView.d.ts.map +1 -0
  104. package/lib/typescript/StaticHeader.d.ts +7 -0
  105. package/lib/typescript/StaticHeader.d.ts.map +1 -0
  106. package/lib/typescript/StickyHeader.d.ts +7 -0
  107. package/lib/typescript/StickyHeader.d.ts.map +1 -0
  108. package/lib/typescript/Tab.d.ts +31 -0
  109. package/lib/typescript/Tab.d.ts.map +1 -0
  110. package/lib/typescript/flash-list.d.ts +3 -0
  111. package/lib/typescript/flash-list.d.ts.map +1 -0
  112. package/lib/typescript/index.d.ts +69 -0
  113. package/lib/typescript/index.d.ts.map +1 -0
  114. package/lib/typescript/legend-list.d.ts +3 -0
  115. package/lib/typescript/legend-list.d.ts.map +1 -0
  116. package/lib/typescript/useStableCallback.d.ts +2 -0
  117. package/lib/typescript/useStableCallback.d.ts.map +1 -0
  118. package/package.json +112 -0
  119. package/src/Bar.tsx +359 -0
  120. package/src/Button.tsx +219 -0
  121. package/src/Context.tsx +44 -0
  122. package/src/FlashList.tsx +150 -0
  123. package/src/Header.tsx +45 -0
  124. package/src/Indicator.tsx +193 -0
  125. package/src/Lazy.tsx +110 -0
  126. package/src/LegendList.tsx +130 -0
  127. package/src/List.tsx +115 -0
  128. package/src/Pager.tsx +134 -0
  129. package/src/Root.tsx +194 -0
  130. package/src/ScrollView.tsx +116 -0
  131. package/src/StaticHeader.tsx +30 -0
  132. package/src/StickyHeader.tsx +30 -0
  133. package/src/Tab.tsx +89 -0
  134. package/src/flash-list.ts +2 -0
  135. package/src/index.ts +54 -0
  136. package/src/legend-list.ts +2 -0
  137. 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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAA8C,IAAAK,WAAA,GAAAL,OAAA;AAe9C,MAAMM,GAAG,GAAGA,CAAC;EACXC,KAAK;EACLC,MAAM;EACNC,WAAW;EACXC,SAAS;EACTC,mBAAmB,GAAG,IAAI;EAC1BC,cAAc,GAAG,KAAK;EACtBC,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,SAAS,GAAG,KAAK;EACjBC,eAAe,GAAG;AACV,CAAC,KAAK;EACd,MAAM;IAAEC,mBAAmB;IAAEC;EAAY,CAAC,GAAG,IAAAC,kCAAyB,EAAC,CAAC;EACxE,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACzD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAAF,eAAQ,EAACT,IAAI,KAAK,KAAK,CAAC;EAExD,MAAMY,cAAc,GAAG,IAAAC,qCAAc,EAACd,cAAc,CAAC;EACrD,MAAMe,YAAY,GAAG,IAAAD,qCAAc,EAACb,IAAI,KAAK,KAAK,CAAC;EAEnD,IAAAe,0CAAmB,EACjB,MAAMV,WAAW,CAACW,KAAK,EACtBA,KAAK,IAAK;IACT,IAAI,CAACJ,cAAc,CAACI,KAAK,IAAIC,IAAI,CAACC,KAAK,CAACF,KAAK,CAAC,KAAKtB,KAAK,EAAE;MACxDkB,cAAc,CAACI,KAAK,GAAG,IAAI;MAC3B,IAAAG,iCAAY,EAACX,gBAAgB,EAAE,IAAI,CAAC;IACtC;IACA,IAAI,CAACM,YAAY,CAACE,KAAK,IAAIC,IAAI,CAACG,GAAG,CAACJ,KAAK,GAAGtB,KAAK,CAAC,IAAI,GAAG,IAAIS,eAAe,EAAE;MAC5EW,YAAY,CAACE,KAAK,GAAG,IAAI;MACzB,IAAAG,iCAAY,EAACR,WAAW,EAAE,IAAI,CAAC;IACjC;EACF,CAAC,EACD,CAACjB,KAAK,EAAES,eAAe,CACzB,CAAC;EAED,MAAMkB,SAAS,GAAG3B,KAAK,KAAKU,mBAAmB,IAAID,eAAe;EAClE,MAAMmB,SAAS,GAAGtB,IAAI,GAAG,CAACqB,SAAS,IAAId,aAAa,KAAK,CAACL,SAAS,GAAG,IAAI;EAE1E,MAAMqB,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAIvB,IAAI,EAAE;MACR,IAAI,CAACU,QAAQ,EAAE,OAAO,IAAI;MAC1B,oBACE,IAAAlB,WAAA,CAAAgC,GAAA,EAACjC,KAAA,CAAAkC,IAAI;QAAA,GAAK5B,SAAS;QAAE6B,OAAO,EAAEJ,SAAS,IAAI,CAACpB,SAAU;QAACyB,eAAe,EAAE7B,mBAAoB;QAAC8B,WAAW,EAAEjC,MAAO;QAACkC,gBAAgB,EAAEjC,WAAY;QAAAK,QAAA,EAC7I,OAAOA,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAAC;UAAEoB,SAAS;UAAEhB;QAAY,CAAC,CAAC,GAAGJ;MAAQ,CAC7E,CAAC;IAEX;IAEA,OAAO,OAAOA,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAAC;MAAEoB,SAAS;MAAEhB;IAAY,CAAC,CAAC,GAAGJ,QAAQ;EACzF,CAAC;EAED,oBAAO,IAAAT,WAAA,CAAAgC,GAAA,EAACM,sBAAsB;IAACpC,KAAK,EAAEA,KAAM;IAAC2B,SAAS,EAAEA,SAAU;IAACC,SAAS,EAAEA,SAAU;IAAArB,QAAA,EAAEsB,cAAc,CAAC;EAAC,CAAyB,CAAC;AACtI,CAAC;AAID,MAAMQ,cAAc,gBAAG,IAAAC,oBAAa,EAAC,CAAC,CAAwB,CAAC;AAE/D,MAAMF,sBAAsB,gBAAG,IAAAG,WAAI,EAAC,CAAC;EAAEhC,QAAQ;EAAE,GAAGiC;AAAqD,CAAC,KAAK;EAC7G,oBAAO,IAAA1C,WAAA,CAAAgC,GAAA,EAACO,cAAc,CAACI,QAAQ;IAACnB,KAAK,EAAEkB,KAAM;IAAAjC,QAAA,EAAEA;EAAQ,CAA0B,CAAC;AACpF,CAAC,CAAC;AAEK,MAAMmC,iBAAiB,GAAGA,CAAA,KAAM,IAAAC,iBAAU,EAACN,cAAc,CAAC;AAACO,OAAA,CAAAF,iBAAA,GAAAA,iBAAA;AAElE3C,GAAG,CAAC8C,WAAW,GAAG,qBAAqB;AAAC,IAAAC,QAAA,GAAAF,OAAA,CAAAG,OAAA,gBAEzB,IAAAR,WAAI,EAACxC,GAAG,CAAC","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":[]}