@react-native-ohos/react-native-pager-view 6.7.2-rc.1 → 6.7.2-rc.2

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 (40) hide show
  1. package/harmony/pager_view/BuildProfile.ets +17 -0
  2. package/harmony/pager_view/oh-package.json5 +2 -2
  3. package/harmony/pager_view/src/main/cpp/ViewPagerComponentInstance.cpp +3 -0
  4. package/harmony/pager_view.har +0 -0
  5. package/lib/commonjs/PagerView.js +23 -1
  6. package/lib/commonjs/PagerView.js.map +1 -1
  7. package/lib/commonjs/PagerViewNativeComponent.js +24 -0
  8. package/lib/commonjs/PagerViewNativeComponent.js.map +1 -1
  9. package/lib/commonjs/index.js +23 -0
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/usePagerView.js +24 -0
  12. package/lib/commonjs/usePagerView.js.map +1 -1
  13. package/lib/commonjs/utils.js +24 -0
  14. package/lib/commonjs/utils.js.map +1 -1
  15. package/lib/module/PagerView.js +23 -0
  16. package/lib/module/PagerView.js.map +1 -1
  17. package/lib/module/PagerViewNativeComponent.js +24 -0
  18. package/lib/module/PagerViewNativeComponent.js.map +1 -1
  19. package/lib/module/index.js +24 -0
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/module/usePagerView.js +24 -0
  22. package/lib/module/usePagerView.js.map +1 -1
  23. package/lib/module/utils.js +23 -0
  24. package/lib/module/utils.js.map +1 -1
  25. package/lib/typescript/PagerView.d.ts +23 -0
  26. package/lib/typescript/PagerViewNativeComponent.d.ts +23 -0
  27. package/lib/typescript/index.d.ts +23 -0
  28. package/lib/typescript/usePagerView.d.ts +23 -0
  29. package/lib/typescript/utils.d.ts +23 -0
  30. package/package.json +1 -1
  31. package/src/PagerView.tsx +23 -0
  32. package/src/PagerViewNativeComponent.ts +23 -0
  33. package/src/index.tsx +23 -0
  34. package/src/usePagerView.ts +23 -0
  35. package/src/utils.tsx +23 -0
  36. package/harmony/pager_view/LICENSE +0 -21
  37. package/harmony/pager_view/NOTICE +0 -33
  38. package/harmony/pager_view/OAT.xml +0 -38
  39. package/harmony/pager_view/README.OpenSource +0 -11
  40. package/harmony/pager_view/README.md +0 -236
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Use these variables when you tailor your ArkTS code. They must be of the const type.
3
+ */
4
+ export const HAR_VERSION = '6.7.2-rc.2';
5
+ export const BUILD_MODE_NAME = 'debug';
6
+ export const DEBUG = true;
7
+ export const TARGET_NAME = 'default';
8
+
9
+ /**
10
+ * BuildProfile Class is used only for compatibility purposes.
11
+ */
12
+ export default class BuildProfile {
13
+ static readonly HAR_VERSION = HAR_VERSION;
14
+ static readonly BUILD_MODE_NAME = BUILD_MODE_NAME;
15
+ static readonly DEBUG = DEBUG;
16
+ static readonly TARGET_NAME = TARGET_NAME;
17
+ }
@@ -5,9 +5,9 @@
5
5
  "name": "@react-native-ohos/react-native-pager-view",
6
6
  "description": "React Native wrapper for HarmonyOS ViewPager",
7
7
  "main": "index.ets",
8
- "version": "6.7.2-rc.1",
8
+ "version": "6.7.2-rc.2",
9
9
  "dependencies": {
10
- "@rnoh/react-native-openharmony": "file:../../node_modules/@react-native-oh/react-native-harmony/harmony/react_native_openharmony.har"
10
+ "@rnoh/react-native-openharmony": "file:../react_native_openharmony.har"
11
11
  },
12
12
  "metadata": {
13
13
  "sourceRoots": [
@@ -78,6 +78,9 @@ void ViewPagerComponentInstance::onPropsChanged(SharedConcreteProps const &props
78
78
  }
79
79
 
80
80
  void ViewPagerComponentInstance::onPageSelected(double pageIndex) {
81
+ if (this->m_pageIndex == pageIndex) {
82
+ return;
83
+ }
81
84
  this->m_pageIndex = pageIndex;
82
85
  DLOG(INFO) << "ViewPagerComponentInstance::onPageSelected:" << pageIndex;
83
86
  facebook::react::RNCViewPagerEventEmitter::OnPageSelected event = {pageIndex};
Binary file
@@ -13,7 +13,29 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
13
13
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
14
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
15
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
16
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } /**
17
+ * MIT License
18
+ *
19
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
20
+ *
21
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
22
+ * of this software and associated documentation files (the "Software"), to deal
23
+ * in the Software without restriction, including without limitation the rights
24
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25
+ * copies of the Software, and to permit persons to whom the Software is
26
+ * furnished to do so, subject to the following conditions:
27
+ *
28
+ * The above copyright notice and this permission notice shall be included in all
29
+ * copies or substantial portions of the Software.
30
+ *
31
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37
+ * SOFTWARE.
38
+ */
17
39
  /**
18
40
  * Container that allows to flip left and right between child views. Each
19
41
  * child view of the `PagerView` will be treated as a separate page
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_PagerViewNativeComponent","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","PagerView","React","Component","constructor","args","props","onPageScroll","Platform","OS","keyboardDismissMode","Keyboard","dismiss","onPageScrollStateChanged","isScrolling","nativeEvent","pageScrollState","onPageSelected","selectedPage","pagerView","PagerViewNativeCommands","setPage","setPageWithoutAnimation","scrollEnabled","setScrollEnabledImperatively","deducedLayoutDirection","layoutDirection","I18nManager","isRTL","render","createElement","ref","style","_onPageScroll","_onPageScrollStateChanged","_onPageSelected","onMoveShouldSetResponderCapture","_onMoveShouldSetResponderCapture","children","childrenWithOverriddenStyle","exports"],"sources":["PagerView.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Platform, Keyboard } from 'react-native';\r\nimport { I18nManager } from 'react-native';\r\nimport type * as ReactNative from 'react-native';\r\n\r\nimport {\r\n childrenWithOverriddenStyle,\r\n} from './utils';\r\n\r\nimport PagerViewNativeComponent, {\r\n Commands as PagerViewNativeCommands,\r\n OnPageScrollEventData,\r\n OnPageScrollStateChangedEventData,\r\n OnPageSelectedEventData,\r\n NativeProps,\r\n} from './PagerViewNativeComponent';\r\n\r\n\r\n/**\r\n * Container that allows to flip left and right between child views. Each\r\n * child view of the `PagerView` will be treated as a separate page\r\n * and will be stretched to fill the `PagerView`.\r\n *\r\n * It is important all children are `<View>`s and not composite components.\r\n * You can set style properties like `padding` or `backgroundColor` for each\r\n * child. It is also important that each child have a `key` prop.\r\n *\r\n * Example:\r\n *\r\n * ```\r\n * render: function() {\r\n * return (\r\n * <PagerView\r\n * style={styles.PagerView}\r\n * initialPage={0}>\r\n * <View style={styles.pageStyle} key=\"1\">\r\n * <Text>First page</Text>\r\n * </View>\r\n * <View style={styles.pageStyle} key=\"2\">\r\n * <Text>Second page</Text>\r\n * </View>\r\n * </PagerView>\r\n * );\r\n * }\r\n *\r\n * ...\r\n *\r\n * var styles = {\r\n * ...\r\n * PagerView: {\r\n * flex: 1\r\n * },\r\n * pageStyle: {\r\n * alignItems: 'center',\r\n * padding: 20,\r\n * }\r\n * }\r\n * ```\r\n */\r\n\r\nexport class PagerView extends React.Component<NativeProps> {\r\n private isScrolling = false;\r\n pagerView: React.ElementRef<typeof PagerViewNativeComponent> | null = null;\r\n\r\n\r\n private get deducedLayoutDirection() {\r\n if (\r\n !this.props.layoutDirection ||\r\n //@ts-ignore fix it\r\n this.props.layoutDirection === 'locale'\r\n ) {\r\n return I18nManager.isRTL ? 'rtl' : 'ltr';\r\n } else {\r\n return this.props.layoutDirection;\r\n }\r\n }\r\n\r\n private _onPageScroll = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageScrollEventData>\r\n ) => {\r\n if (this.props.onPageScroll) {\r\n this.props.onPageScroll(e);\r\n }\r\n\r\n // Not implemented on iOS yet\r\n // @ts-ignore\r\n if (Platform.OS === 'android' || Platform.OS === 'harmony') {\r\n if (this.props.keyboardDismissMode === 'on-drag') {\r\n Keyboard.dismiss();\r\n }\r\n }\r\n };\r\n\r\n private _onPageScrollStateChanged = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageScrollStateChangedEventData>\r\n ) => {\r\n if (this.props.onPageScrollStateChanged) {\r\n this.props.onPageScrollStateChanged(e);\r\n }\r\n this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';\r\n };\r\n\r\n private _onPageSelected = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageSelectedEventData>\r\n ) => {\r\n if (this.props.onPageSelected) {\r\n this.props.onPageSelected(e);\r\n }\r\n };\r\n\r\n private _onMoveShouldSetResponderCapture = () => {\r\n return this.isScrolling;\r\n };\r\n\r\n /**\r\n * A helper function to scroll to a specific page in the PagerView.\r\n * The transition between pages will be animated.\r\n */\r\n public setPage = (selectedPage: number) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setPage(this.pagerView, selectedPage);\r\n }\r\n };\r\n\r\n /**\r\n * A helper function to scroll to a specific page in the PagerView.\r\n * The transition between pages will *not* be animated.\r\n */\r\n public setPageWithoutAnimation = (selectedPage: number) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setPageWithoutAnimation(\r\n this.pagerView,\r\n selectedPage\r\n );\r\n }\r\n };\r\n\r\n /**\r\n * A helper function to enable/disable scroll imperatively\r\n * The recommended way is using the scrollEnabled prop, however, there might be a case where a\r\n * imperative solution is more useful (e.g. for not blocking an animation)\r\n */\r\n public setScrollEnabled = (scrollEnabled: boolean) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setScrollEnabledImperatively(\r\n this.pagerView,\r\n scrollEnabled\r\n );\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <PagerViewNativeComponent\r\n {...this.props}\r\n ref={(ref) => {\r\n this.pagerView = ref;\r\n }}\r\n style={this.props.style}\r\n layoutDirection={this.deducedLayoutDirection}\r\n onPageScroll={this._onPageScroll}\r\n onPageScrollStateChanged={this._onPageScrollStateChanged}\r\n onPageSelected={this._onPageSelected}\r\n onMoveShouldSetResponderCapture={\r\n this._onMoveShouldSetResponderCapture\r\n }\r\n children={childrenWithOverriddenStyle(this.props.children)}\r\n />\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_utils","_PagerViewNativeComponent","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","PagerView","React","Component","constructor","args","props","onPageScroll","Platform","OS","keyboardDismissMode","Keyboard","dismiss","onPageScrollStateChanged","isScrolling","nativeEvent","pageScrollState","onPageSelected","selectedPage","pagerView","PagerViewNativeCommands","setPage","setPageWithoutAnimation","scrollEnabled","setScrollEnabledImperatively","deducedLayoutDirection","layoutDirection","I18nManager","isRTL","render","createElement","ref","style","_onPageScroll","_onPageScrollStateChanged","_onPageSelected","onMoveShouldSetResponderCapture","_onMoveShouldSetResponderCapture","children","childrenWithOverriddenStyle","exports"],"sources":["PagerView.tsx"],"sourcesContent":["/**\r\n * MIT License\r\n *\r\n * Copyright (C) 2025 Huawei Device Co., Ltd.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nimport React from 'react';\r\nimport { Platform, Keyboard } from 'react-native';\r\nimport { I18nManager } from 'react-native';\r\nimport type * as ReactNative from 'react-native';\r\n\r\nimport {\r\n childrenWithOverriddenStyle,\r\n} from './utils';\r\n\r\nimport PagerViewNativeComponent, {\r\n Commands as PagerViewNativeCommands,\r\n OnPageScrollEventData,\r\n OnPageScrollStateChangedEventData,\r\n OnPageSelectedEventData,\r\n NativeProps,\r\n} from './PagerViewNativeComponent';\r\n\r\n\r\n/**\r\n * Container that allows to flip left and right between child views. Each\r\n * child view of the `PagerView` will be treated as a separate page\r\n * and will be stretched to fill the `PagerView`.\r\n *\r\n * It is important all children are `<View>`s and not composite components.\r\n * You can set style properties like `padding` or `backgroundColor` for each\r\n * child. It is also important that each child have a `key` prop.\r\n *\r\n * Example:\r\n *\r\n * ```\r\n * render: function() {\r\n * return (\r\n * <PagerView\r\n * style={styles.PagerView}\r\n * initialPage={0}>\r\n * <View style={styles.pageStyle} key=\"1\">\r\n * <Text>First page</Text>\r\n * </View>\r\n * <View style={styles.pageStyle} key=\"2\">\r\n * <Text>Second page</Text>\r\n * </View>\r\n * </PagerView>\r\n * );\r\n * }\r\n *\r\n * ...\r\n *\r\n * var styles = {\r\n * ...\r\n * PagerView: {\r\n * flex: 1\r\n * },\r\n * pageStyle: {\r\n * alignItems: 'center',\r\n * padding: 20,\r\n * }\r\n * }\r\n * ```\r\n */\r\n\r\nexport class PagerView extends React.Component<NativeProps> {\r\n private isScrolling = false;\r\n pagerView: React.ElementRef<typeof PagerViewNativeComponent> | null = null;\r\n\r\n\r\n private get deducedLayoutDirection() {\r\n if (\r\n !this.props.layoutDirection ||\r\n //@ts-ignore fix it\r\n this.props.layoutDirection === 'locale'\r\n ) {\r\n return I18nManager.isRTL ? 'rtl' : 'ltr';\r\n } else {\r\n return this.props.layoutDirection;\r\n }\r\n }\r\n\r\n private _onPageScroll = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageScrollEventData>\r\n ) => {\r\n if (this.props.onPageScroll) {\r\n this.props.onPageScroll(e);\r\n }\r\n\r\n // Not implemented on iOS yet\r\n // @ts-ignore\r\n if (Platform.OS === 'android' || Platform.OS === 'harmony') {\r\n if (this.props.keyboardDismissMode === 'on-drag') {\r\n Keyboard.dismiss();\r\n }\r\n }\r\n };\r\n\r\n private _onPageScrollStateChanged = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageScrollStateChangedEventData>\r\n ) => {\r\n if (this.props.onPageScrollStateChanged) {\r\n this.props.onPageScrollStateChanged(e);\r\n }\r\n this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';\r\n };\r\n\r\n private _onPageSelected = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageSelectedEventData>\r\n ) => {\r\n if (this.props.onPageSelected) {\r\n this.props.onPageSelected(e);\r\n }\r\n };\r\n\r\n private _onMoveShouldSetResponderCapture = () => {\r\n return this.isScrolling;\r\n };\r\n\r\n /**\r\n * A helper function to scroll to a specific page in the PagerView.\r\n * The transition between pages will be animated.\r\n */\r\n public setPage = (selectedPage: number) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setPage(this.pagerView, selectedPage);\r\n }\r\n };\r\n\r\n /**\r\n * A helper function to scroll to a specific page in the PagerView.\r\n * The transition between pages will *not* be animated.\r\n */\r\n public setPageWithoutAnimation = (selectedPage: number) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setPageWithoutAnimation(\r\n this.pagerView,\r\n selectedPage\r\n );\r\n }\r\n };\r\n\r\n /**\r\n * A helper function to enable/disable scroll imperatively\r\n * The recommended way is using the scrollEnabled prop, however, there might be a case where a\r\n * imperative solution is more useful (e.g. for not blocking an animation)\r\n */\r\n public setScrollEnabled = (scrollEnabled: boolean) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setScrollEnabledImperatively(\r\n this.pagerView,\r\n scrollEnabled\r\n );\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <PagerViewNativeComponent\r\n {...this.props}\r\n ref={(ref) => {\r\n this.pagerView = ref;\r\n }}\r\n style={this.props.style}\r\n layoutDirection={this.deducedLayoutDirection}\r\n onPageScroll={this._onPageScroll}\r\n onPageScrollStateChanged={this._onPageScrollStateChanged}\r\n onPageSelected={this._onPageSelected}\r\n onMoveShouldSetResponderCapture={\r\n this._onMoveShouldSetResponderCapture\r\n }\r\n children={childrenWithOverriddenStyle(this.props.children)}\r\n />\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,30 @@ exports.default = exports.Commands = void 0;
7
7
  var _codegenNativeCommands = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeCommands"));
8
8
  var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ /**
11
+ * MIT License
12
+ *
13
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
14
+ *
15
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
16
+ * of this software and associated documentation files (the "Software"), to deal
17
+ * in the Software without restriction, including without limitation the rights
18
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
19
+ * copies of the Software, and to permit persons to whom the Software is
20
+ * furnished to do so, subject to the following conditions:
21
+ *
22
+ * The above copyright notice and this permission notice shall be included in all
23
+ * copies or substantial portions of the Software.
24
+ *
25
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
+ * SOFTWARE.
32
+ */
33
+
10
34
  const Commands = exports.Commands = (0, _codegenNativeCommands.default)({
11
35
  supportedCommands: ['setPage', 'setPageWithoutAnimation', 'setScrollEnabledImperatively']
12
36
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_codegenNativeCommands","_interopRequireDefault","require","_codegenNativeComponent","e","__esModule","default","Commands","exports","codegenNativeCommands","supportedCommands","_default","codegenNativeComponent"],"sources":["PagerViewNativeComponent.ts"],"sourcesContent":["import type * as React from 'react';\r\nimport type { HostComponent, ViewProps } from 'react-native';\r\nimport codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';\r\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\r\n\r\nimport type {\r\n DirectEventHandler,\r\n Double,\r\n Int32,\r\n WithDefault,\r\n} from 'react-native/Libraries/Types/CodegenTypes';\r\n\r\nexport type OnPageScrollEventData = Readonly<{\r\n position: Double;\r\n offset: Double;\r\n}>;\r\n\r\nexport type OnPageSelectedEventData = Readonly<{\r\n position: Double;\r\n}>;\r\n\r\nexport type OnPageScrollStateChangedEventData = Readonly<{\r\n pageScrollState: 'idle' | 'dragging' | 'settling';\r\n}>;\r\n\r\nexport interface NativeProps extends ViewProps {\r\n scrollEnabled?: WithDefault<boolean, true>;\r\n layoutDirection?: WithDefault<'ltr' | 'rtl', 'ltr'>;\r\n initialPage?: Int32;\r\n orientation?: WithDefault<'horizontal' | 'vertical', 'horizontal'>;\r\n offscreenPageLimit?: Int32;\r\n pageMargin?: Int32;\r\n overScrollMode?: WithDefault<'auto' | 'always' | 'never', 'auto'>;\r\n overdrag?: WithDefault<boolean, false>;\r\n keyboardDismissMode?: WithDefault<'none' | 'on-drag', 'none'>;\r\n onPageScroll?: DirectEventHandler<OnPageScrollEventData>;\r\n onPageSelected?: DirectEventHandler<OnPageSelectedEventData>;\r\n onPageScrollStateChanged?: DirectEventHandler<OnPageScrollStateChangedEventData>;\r\n}\r\n\r\ntype PagerViewViewType = HostComponent<NativeProps>;\r\n\r\nexport interface NativeCommands {\r\n setPage: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n selectedPage: Int32\r\n ) => void;\r\n setPageWithoutAnimation: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n selectedPage: Int32\r\n ) => void;\r\n setScrollEnabledImperatively: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n scrollEnabled: boolean\r\n ) => void;\r\n}\r\n\r\nexport const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({\r\n supportedCommands: [\r\n 'setPage',\r\n 'setPageWithoutAnimation',\r\n 'setScrollEnabledImperatively',\r\n ],\r\n});\r\n\r\nexport default codegenNativeComponent<NativeProps>(\r\n 'RNCViewPager'\r\n) as HostComponent<NativeProps>;\r\n"],"mappings":";;;;;;AAEA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAsDtF,MAAMG,QAAwB,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAAE,8BAAqB,EAAiB;EAC5EC,iBAAiB,EAAE,CACjB,SAAS,EACT,yBAAyB,EACzB,8BAA8B;AAElC,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAH,OAAA,CAAAF,OAAA,GAEY,IAAAM,+BAAsB,EACnC,cACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_codegenNativeCommands","_interopRequireDefault","require","_codegenNativeComponent","e","__esModule","default","Commands","exports","codegenNativeCommands","supportedCommands","_default","codegenNativeComponent"],"sources":["PagerViewNativeComponent.ts"],"sourcesContent":["/**\r\n * MIT License\r\n *\r\n * Copyright (C) 2025 Huawei Device Co., Ltd.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nimport type * as React from 'react';\r\nimport type { HostComponent, ViewProps } from 'react-native';\r\nimport codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';\r\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\r\n\r\nimport type {\r\n DirectEventHandler,\r\n Double,\r\n Int32,\r\n WithDefault,\r\n} from 'react-native/Libraries/Types/CodegenTypes';\r\n\r\nexport type OnPageScrollEventData = Readonly<{\r\n position: Double;\r\n offset: Double;\r\n}>;\r\n\r\nexport type OnPageSelectedEventData = Readonly<{\r\n position: Double;\r\n}>;\r\n\r\nexport type OnPageScrollStateChangedEventData = Readonly<{\r\n pageScrollState: 'idle' | 'dragging' | 'settling';\r\n}>;\r\n\r\nexport interface NativeProps extends ViewProps {\r\n scrollEnabled?: WithDefault<boolean, true>;\r\n layoutDirection?: WithDefault<'ltr' | 'rtl', 'ltr'>;\r\n initialPage?: Int32;\r\n orientation?: WithDefault<'horizontal' | 'vertical', 'horizontal'>;\r\n offscreenPageLimit?: Int32;\r\n pageMargin?: Int32;\r\n overScrollMode?: WithDefault<'auto' | 'always' | 'never', 'auto'>;\r\n overdrag?: WithDefault<boolean, false>;\r\n keyboardDismissMode?: WithDefault<'none' | 'on-drag', 'none'>;\r\n onPageScroll?: DirectEventHandler<OnPageScrollEventData>;\r\n onPageSelected?: DirectEventHandler<OnPageSelectedEventData>;\r\n onPageScrollStateChanged?: DirectEventHandler<OnPageScrollStateChangedEventData>;\r\n}\r\n\r\ntype PagerViewViewType = HostComponent<NativeProps>;\r\n\r\nexport interface NativeCommands {\r\n setPage: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n selectedPage: Int32\r\n ) => void;\r\n setPageWithoutAnimation: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n selectedPage: Int32\r\n ) => void;\r\n setScrollEnabledImperatively: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n scrollEnabled: boolean\r\n ) => void;\r\n}\r\n\r\nexport const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({\r\n supportedCommands: [\r\n 'setPage',\r\n 'setPageWithoutAnimation',\r\n 'setScrollEnabledImperatively',\r\n ],\r\n});\r\n\r\nexport default codegenNativeComponent<NativeProps>(\r\n 'RNCViewPager'\r\n) as HostComponent<NativeProps>;\r\n"],"mappings":";;;;;;AAyBA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA1B7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA0DO,MAAMG,QAAwB,GAAAC,OAAA,CAAAD,QAAA,GAAG,IAAAE,8BAAqB,EAAiB;EAC5EC,iBAAiB,EAAE,CACjB,SAAS,EACT,yBAAyB,EACzB,8BAA8B;AAElC,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAH,OAAA,CAAAF,OAAA,GAEY,IAAAM,+BAAsB,EACnC,cACF,CAAC","ignoreList":[]}
@@ -18,5 +18,28 @@ Object.keys(_usePagerView).forEach(function (key) {
18
18
  }
19
19
  });
20
20
  });
21
+ /**
22
+ * MIT License
23
+ *
24
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
25
+ *
26
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
27
+ * of this software and associated documentation files (the "Software"), to deal
28
+ * in the Software without restriction, including without limitation the rights
29
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
30
+ * copies of the Software, and to permit persons to whom the Software is
31
+ * furnished to do so, subject to the following conditions:
32
+ *
33
+ * The above copyright notice and this permission notice shall be included in all
34
+ * copies or substantial portions of the Software.
35
+ *
36
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
37
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
38
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
39
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
40
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
41
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
42
+ * SOFTWARE.
43
+ */
21
44
  var _default = exports.default = _PagerView.PagerView;
22
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_PagerView","require","_usePagerView","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_default","default","PagerView"],"sources":["index.tsx"],"sourcesContent":["import type * as ReactNative from 'react-native';\r\nimport { PagerView } from './PagerView';\r\nexport default PagerView;\r\nexport * from './usePagerView';\r\n\r\nimport type {\r\n OnPageScrollEventData as PagerViewOnPageScrollEventData,\r\n OnPageSelectedEventData as PagerViewOnPageSelectedEventData,\r\n OnPageScrollStateChangedEventData as PageScrollStateChangedNativeEventData,\r\n NativeProps,\r\n} from './PagerViewNativeComponent';\r\n\r\nexport type {\r\n PagerViewOnPageScrollEventData,\r\n PagerViewOnPageSelectedEventData,\r\n PageScrollStateChangedNativeEventData,\r\n NativeProps as PagerViewProps,\r\n};\r\n\r\nexport type PagerViewOnPageScrollEvent =\r\n ReactNative.NativeSyntheticEvent<PagerViewOnPageScrollEventData>;\r\n\r\nexport type PagerViewOnPageSelectedEvent =\r\n ReactNative.NativeSyntheticEvent<PagerViewOnPageSelectedEventData>;\r\n\r\nexport type PageScrollStateChangedNativeEvent =\r\n ReactNative.NativeSyntheticEvent<PageScrollStateChangedNativeEventData>;\r\n"],"mappings":";;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,aAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,aAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,aAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAA+B,IAAAS,QAAA,GAAAJ,OAAA,CAAAK,OAAA,GADhBC,oBAAS","ignoreList":[]}
1
+ {"version":3,"names":["_PagerView","require","_usePagerView","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_default","default","PagerView"],"sources":["index.tsx"],"sourcesContent":["/**\r\n * MIT License\r\n *\r\n * Copyright (C) 2025 Huawei Device Co., Ltd.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nimport type * as ReactNative from 'react-native';\r\nimport { PagerView } from './PagerView';\r\nexport default PagerView;\r\nexport * from './usePagerView';\r\n\r\nimport type {\r\n OnPageScrollEventData as PagerViewOnPageScrollEventData,\r\n OnPageSelectedEventData as PagerViewOnPageSelectedEventData,\r\n OnPageScrollStateChangedEventData as PageScrollStateChangedNativeEventData,\r\n NativeProps,\r\n} from './PagerViewNativeComponent';\r\n\r\nexport type {\r\n PagerViewOnPageScrollEventData,\r\n PagerViewOnPageSelectedEventData,\r\n PageScrollStateChangedNativeEventData,\r\n NativeProps as PagerViewProps,\r\n};\r\n\r\nexport type PagerViewOnPageScrollEvent =\r\n ReactNative.NativeSyntheticEvent<PagerViewOnPageScrollEventData>;\r\n\r\nexport type PagerViewOnPageSelectedEvent =\r\n ReactNative.NativeSyntheticEvent<PagerViewOnPageSelectedEventData>;\r\n\r\nexport type PageScrollStateChangedNativeEvent =\r\n ReactNative.NativeSyntheticEvent<PageScrollStateChangedNativeEventData>;\r\n"],"mappings":";;;;;;;AAwBA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,aAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,aAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,aAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AA1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtBA,IAAAS,QAAA,GAAAJ,OAAA,CAAAK,OAAA,GAyBeC,oBAAS","ignoreList":[]}
@@ -7,6 +7,30 @@ exports.usePagerView = usePagerView;
7
7
  var _PagerView = require("./PagerView");
8
8
  var _reactNative = require("react-native");
9
9
  var _react = require("react");
10
+ /**
11
+ * MIT License
12
+ *
13
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
14
+ *
15
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
16
+ * of this software and associated documentation files (the "Software"), to deal
17
+ * in the Software without restriction, including without limitation the rights
18
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
19
+ * copies of the Software, and to permit persons to whom the Software is
20
+ * furnished to do so, subject to the following conditions:
21
+ *
22
+ * The above copyright notice and this permission notice shall be included in all
23
+ * copies or substantial portions of the Software.
24
+ *
25
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
+ * SOFTWARE.
32
+ */
33
+
10
34
  const AnimatedPagerView = _reactNative.Animated.createAnimatedComponent(_PagerView.PagerView);
11
35
  function usePagerView({
12
36
  pagesAmount
@@ -1 +1 @@
1
- {"version":3,"names":["_PagerView","require","_reactNative","_react","AnimatedPagerView","Animated","createAnimatedComponent","PagerView","usePagerView","pagesAmount","ref","useRef","pages","setPages","useState","Array","fill","map","_v","index","activePage","setActivePage","isAnimated","setIsAnimated","overdragEnabled","setOverdragEnabled","scrollEnabled","setScrollEnabled","scrollState","setScrollState","progress","setProgress","position","offset","onPageScrollOffset","Value","current","onPageScrollPosition","onPageSelectedPosition","setPage","useCallback","page","_ref$current","_ref$current2","setPageWithoutAnimation","addPage","prevPages","length","removePage","slice","toggleAnimation","animated","toggleScroll","enabled","toggleOverdrag","onPageScroll","useMemo","event","nativeEvent","listener","useNativeDriver","onPageSelected","onPageScrollStateChanged","e","pageScrollState"],"sources":["usePagerView.ts"],"sourcesContent":["import type * as ReactNative from 'react-native';\r\nimport type {\r\n OnPageScrollEventData as PagerViewOnPageScrollEventData,\r\n OnPageSelectedEventData as PagerViewOnPageSelectedEventData,\r\n OnPageScrollStateChangedEventData as PageScrollStateChangedNativeEventData,\r\n} from './PagerViewNativeComponent';\r\n\r\ntype PageScrollStateChangedNativeEvent =\r\n ReactNative.NativeSyntheticEvent<PageScrollStateChangedNativeEventData>;\r\n\r\nimport { PagerView } from './PagerView';\r\n\r\nimport { Animated } from 'react-native';\r\nimport { useCallback, useMemo, useRef, useState } from 'react';\r\n\r\nexport type UsePagerViewProps = ReturnType<typeof usePagerView>;\r\n\r\nconst AnimatedPagerView = Animated.createAnimatedComponent(PagerView);\r\n\r\ntype UsePagerViewParams = {\r\n pagesAmount: number;\r\n};\r\n\r\nexport function usePagerView(\r\n { pagesAmount }: UsePagerViewParams = { pagesAmount: 0 }\r\n) {\r\n const ref = useRef<PagerView>(null);\r\n const [pages, setPages] = useState<number[]>(\r\n new Array(pagesAmount).fill('').map((_v, index) => index)\r\n );\r\n const [activePage, setActivePage] = useState(0);\r\n const [isAnimated, setIsAnimated] = useState(true);\r\n const [overdragEnabled, setOverdragEnabled] = useState(false);\r\n const [scrollEnabled, setScrollEnabled] = useState(true);\r\n const [scrollState, setScrollState] = useState('idle');\r\n const [progress, setProgress] = useState({ position: 0, offset: 0 });\r\n const onPageScrollOffset = useRef(new Animated.Value(0)).current;\r\n const onPageScrollPosition = useRef(new Animated.Value(0)).current;\r\n const onPageSelectedPosition = useRef(new Animated.Value(0)).current;\r\n\r\n const setPage = useCallback(\r\n (page: number) =>\r\n isAnimated\r\n ? ref.current?.setPage(page)\r\n : ref.current?.setPageWithoutAnimation(page),\r\n [isAnimated]\r\n );\r\n\r\n const addPage = useCallback(() => {\r\n setPages((prevPages) => {\r\n return [...prevPages, prevPages.length];\r\n });\r\n }, []);\r\n\r\n const removePage = useCallback(() => {\r\n setPages((prevPages) => {\r\n if (prevPages.length === 1) {\r\n return prevPages;\r\n }\r\n return prevPages.slice(0, prevPages.length - 1);\r\n });\r\n }, []);\r\n\r\n const toggleAnimation = useCallback(\r\n () => setIsAnimated((animated) => !animated),\r\n []\r\n );\r\n\r\n const toggleScroll = useCallback(\r\n () => setScrollEnabled((enabled) => !enabled),\r\n []\r\n );\r\n\r\n const toggleOverdrag = useCallback(\r\n () => setOverdragEnabled((enabled) => !enabled),\r\n []\r\n );\r\n\r\n const onPageScroll = useMemo(\r\n () =>\r\n Animated.event<PagerViewOnPageScrollEventData>(\r\n [\r\n {\r\n nativeEvent: {\r\n offset: onPageScrollOffset,\r\n position: onPageScrollPosition,\r\n },\r\n },\r\n ],\r\n {\r\n listener: ({ nativeEvent: { offset, position } }) => {\r\n setProgress({\r\n position,\r\n offset,\r\n });\r\n },\r\n useNativeDriver: true,\r\n }\r\n ),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n []\r\n );\r\n\r\n const onPageSelected = useMemo(\r\n () =>\r\n Animated.event<PagerViewOnPageSelectedEventData>(\r\n [{ nativeEvent: { position: onPageSelectedPosition } }],\r\n {\r\n listener: ({ nativeEvent: { position } }) => {\r\n setActivePage(position);\r\n },\r\n useNativeDriver: true,\r\n }\r\n ),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n []\r\n );\r\n\r\n const onPageScrollStateChanged = useCallback(\r\n (e: PageScrollStateChangedNativeEvent) => {\r\n setScrollState(e.nativeEvent.pageScrollState);\r\n },\r\n []\r\n );\r\n\r\n return {\r\n ref,\r\n activePage,\r\n isAnimated,\r\n pages,\r\n scrollState,\r\n scrollEnabled,\r\n progress,\r\n overdragEnabled,\r\n setPage,\r\n addPage,\r\n removePage,\r\n toggleScroll,\r\n toggleAnimation,\r\n setProgress,\r\n onPageScroll,\r\n onPageSelected,\r\n onPageScrollStateChanged,\r\n toggleOverdrag,\r\n AnimatedPagerView,\r\n PagerView,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_PagerView","require","_reactNative","_react","AnimatedPagerView","Animated","createAnimatedComponent","PagerView","usePagerView","pagesAmount","ref","useRef","pages","setPages","useState","Array","fill","map","_v","index","activePage","setActivePage","isAnimated","setIsAnimated","overdragEnabled","setOverdragEnabled","scrollEnabled","setScrollEnabled","scrollState","setScrollState","progress","setProgress","position","offset","onPageScrollOffset","Value","current","onPageScrollPosition","onPageSelectedPosition","setPage","useCallback","page","_ref$current","_ref$current2","setPageWithoutAnimation","addPage","prevPages","length","removePage","slice","toggleAnimation","animated","toggleScroll","enabled","toggleOverdrag","onPageScroll","useMemo","event","nativeEvent","listener","useNativeDriver","onPageSelected","onPageScrollStateChanged","e","pageScrollState"],"sources":["usePagerView.ts"],"sourcesContent":["/**\r\n * MIT License\r\n *\r\n * Copyright (C) 2025 Huawei Device Co., Ltd.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nimport type * as ReactNative from 'react-native';\r\nimport type {\r\n OnPageScrollEventData as PagerViewOnPageScrollEventData,\r\n OnPageSelectedEventData as PagerViewOnPageSelectedEventData,\r\n OnPageScrollStateChangedEventData as PageScrollStateChangedNativeEventData,\r\n} from './PagerViewNativeComponent';\r\n\r\ntype PageScrollStateChangedNativeEvent =\r\n ReactNative.NativeSyntheticEvent<PageScrollStateChangedNativeEventData>;\r\n\r\nimport { PagerView } from './PagerView';\r\n\r\nimport { Animated } from 'react-native';\r\nimport { useCallback, useMemo, useRef, useState } from 'react';\r\n\r\nexport type UsePagerViewProps = ReturnType<typeof usePagerView>;\r\n\r\nconst AnimatedPagerView = Animated.createAnimatedComponent(PagerView);\r\n\r\ntype UsePagerViewParams = {\r\n pagesAmount: number;\r\n};\r\n\r\nexport function usePagerView(\r\n { pagesAmount }: UsePagerViewParams = { pagesAmount: 0 }\r\n) {\r\n const ref = useRef<PagerView>(null);\r\n const [pages, setPages] = useState<number[]>(\r\n new Array(pagesAmount).fill('').map((_v, index) => index)\r\n );\r\n const [activePage, setActivePage] = useState(0);\r\n const [isAnimated, setIsAnimated] = useState(true);\r\n const [overdragEnabled, setOverdragEnabled] = useState(false);\r\n const [scrollEnabled, setScrollEnabled] = useState(true);\r\n const [scrollState, setScrollState] = useState('idle');\r\n const [progress, setProgress] = useState({ position: 0, offset: 0 });\r\n const onPageScrollOffset = useRef(new Animated.Value(0)).current;\r\n const onPageScrollPosition = useRef(new Animated.Value(0)).current;\r\n const onPageSelectedPosition = useRef(new Animated.Value(0)).current;\r\n\r\n const setPage = useCallback(\r\n (page: number) =>\r\n isAnimated\r\n ? ref.current?.setPage(page)\r\n : ref.current?.setPageWithoutAnimation(page),\r\n [isAnimated]\r\n );\r\n\r\n const addPage = useCallback(() => {\r\n setPages((prevPages) => {\r\n return [...prevPages, prevPages.length];\r\n });\r\n }, []);\r\n\r\n const removePage = useCallback(() => {\r\n setPages((prevPages) => {\r\n if (prevPages.length === 1) {\r\n return prevPages;\r\n }\r\n return prevPages.slice(0, prevPages.length - 1);\r\n });\r\n }, []);\r\n\r\n const toggleAnimation = useCallback(\r\n () => setIsAnimated((animated) => !animated),\r\n []\r\n );\r\n\r\n const toggleScroll = useCallback(\r\n () => setScrollEnabled((enabled) => !enabled),\r\n []\r\n );\r\n\r\n const toggleOverdrag = useCallback(\r\n () => setOverdragEnabled((enabled) => !enabled),\r\n []\r\n );\r\n\r\n const onPageScroll = useMemo(\r\n () =>\r\n Animated.event<PagerViewOnPageScrollEventData>(\r\n [\r\n {\r\n nativeEvent: {\r\n offset: onPageScrollOffset,\r\n position: onPageScrollPosition,\r\n },\r\n },\r\n ],\r\n {\r\n listener: ({ nativeEvent: { offset, position } }) => {\r\n setProgress({\r\n position,\r\n offset,\r\n });\r\n },\r\n useNativeDriver: true,\r\n }\r\n ),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n []\r\n );\r\n\r\n const onPageSelected = useMemo(\r\n () =>\r\n Animated.event<PagerViewOnPageSelectedEventData>(\r\n [{ nativeEvent: { position: onPageSelectedPosition } }],\r\n {\r\n listener: ({ nativeEvent: { position } }) => {\r\n setActivePage(position);\r\n },\r\n useNativeDriver: true,\r\n }\r\n ),\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n []\r\n );\r\n\r\n const onPageScrollStateChanged = useCallback(\r\n (e: PageScrollStateChangedNativeEvent) => {\r\n setScrollState(e.nativeEvent.pageScrollState);\r\n },\r\n []\r\n );\r\n\r\n return {\r\n ref,\r\n activePage,\r\n isAnimated,\r\n pages,\r\n scrollState,\r\n scrollEnabled,\r\n progress,\r\n overdragEnabled,\r\n setPage,\r\n addPage,\r\n removePage,\r\n toggleScroll,\r\n toggleAnimation,\r\n setProgress,\r\n onPageScroll,\r\n onPageSelected,\r\n onPageScrollStateChanged,\r\n toggleOverdrag,\r\n AnimatedPagerView,\r\n PagerView,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,30 @@ exports.childrenWithOverriddenStyle = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  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); }
10
+ /**
11
+ * MIT License
12
+ *
13
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
14
+ *
15
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
16
+ * of this software and associated documentation files (the "Software"), to deal
17
+ * in the Software without restriction, including without limitation the rights
18
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
19
+ * copies of the Software, and to permit persons to whom the Software is
20
+ * furnished to do so, subject to the following conditions:
21
+ *
22
+ * The above copyright notice and this permission notice shall be included in all
23
+ * copies or substantial portions of the Software.
24
+ *
25
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
+ * SOFTWARE.
32
+ */
33
+
10
34
  const childrenWithOverriddenStyle = children => {
11
35
  return _react.Children.map(children, child => {
12
36
  const element = child;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","childrenWithOverriddenStyle","children","Children","map","child","element","createElement","View","style","StyleSheet","absoluteFill","collapsable","React","cloneElement","props","exports"],"sources":["utils.tsx"],"sourcesContent":["import React, { Children, ReactNode } from 'react';\r\nimport { StyleSheet, View } from 'react-native';\r\n\r\nexport const childrenWithOverriddenStyle = (children?: ReactNode) => {\r\n return Children.map(children, (child) => {\r\n const element = child as React.ReactElement;\r\n return (\r\n // Add a wrapper to ensure layout is calculated correctly\r\n <View style={StyleSheet.absoluteFill} collapsable={false}>\r\n {/* @ts-ignore */}\r\n {React.cloneElement(element, {\r\n ...element.props,\r\n // Override styles so that each page will fill the parent.\r\n style: [element.props.style, StyleSheet.absoluteFill],\r\n })}\r\n </View>\r\n );\r\n });\r\n};\r\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAgD,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,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;AAEzC,MAAMkB,2BAA2B,GAAIC,QAAoB,IAAK;EACnE,OAAOC,eAAQ,CAACC,GAAG,CAACF,QAAQ,EAAGG,KAAK,IAAK;IACvC,MAAMC,OAAO,GAAGD,KAA2B;IAC3C;MAAA;MACE;MACA3B,MAAA,CAAAc,OAAA,CAAAe,aAAA,CAAC1B,YAAA,CAAA2B,IAAI;QAACC,KAAK,EAAEC,uBAAU,CAACC,YAAa;QAACC,WAAW,EAAE;MAAM,gBAEtDC,cAAK,CAACC,YAAY,CAACR,OAAO,EAAE;QAC3B,GAAGA,OAAO,CAACS,KAAK;QAChB;QACAN,KAAK,EAAE,CAACH,OAAO,CAACS,KAAK,CAACN,KAAK,EAAEC,uBAAU,CAACC,YAAY;MACtD,CAAC,CACG;IAAC;EAEX,CAAC,CAAC;AACJ,CAAC;AAACK,OAAA,CAAAf,2BAAA,GAAAA,2BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","childrenWithOverriddenStyle","children","Children","map","child","element","createElement","View","style","StyleSheet","absoluteFill","collapsable","React","cloneElement","props","exports"],"sources":["utils.tsx"],"sourcesContent":["/**\r\n * MIT License\r\n *\r\n * Copyright (C) 2025 Huawei Device Co., Ltd.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nimport React, { Children, ReactNode } from 'react';\r\nimport { StyleSheet, View } from 'react-native';\r\n\r\nexport const childrenWithOverriddenStyle = (children?: ReactNode) => {\r\n return Children.map(children, (child) => {\r\n const element = child as React.ReactElement;\r\n return (\r\n // Add a wrapper to ensure layout is calculated correctly\r\n <View style={StyleSheet.absoluteFill} collapsable={false}>\r\n {/* @ts-ignore */}\r\n {React.cloneElement(element, {\r\n ...element.props,\r\n // Override styles so that each page will fill the parent.\r\n style: [element.props.style, StyleSheet.absoluteFill],\r\n })}\r\n </View>\r\n );\r\n });\r\n};\r\n"],"mappings":";;;;;;AAuBA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAAgD,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,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;AAxBhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIO,MAAMkB,2BAA2B,GAAIC,QAAoB,IAAK;EACnE,OAAOC,eAAQ,CAACC,GAAG,CAACF,QAAQ,EAAGG,KAAK,IAAK;IACvC,MAAMC,OAAO,GAAGD,KAA2B;IAC3C;MAAA;MACE;MACA3B,MAAA,CAAAc,OAAA,CAAAe,aAAA,CAAC1B,YAAA,CAAA2B,IAAI;QAACC,KAAK,EAAEC,uBAAU,CAACC,YAAa;QAACC,WAAW,EAAE;MAAM,gBAEtDC,cAAK,CAACC,YAAY,CAACR,OAAO,EAAE;QAC3B,GAAGA,OAAO,CAACS,KAAK;QAChB;QACAN,KAAK,EAAE,CAACH,OAAO,CAACS,KAAK,CAACN,KAAK,EAAEC,uBAAU,CAACC,YAAY;MACtD,CAAC,CACG;IAAC;EAEX,CAAC,CAAC;AACJ,CAAC;AAACK,OAAA,CAAAf,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -2,6 +2,29 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
2
2
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
+ /**
6
+ * MIT License
7
+ *
8
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
9
+ *
10
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
11
+ * of this software and associated documentation files (the "Software"), to deal
12
+ * in the Software without restriction, including without limitation the rights
13
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
+ * copies of the Software, and to permit persons to whom the Software is
15
+ * furnished to do so, subject to the following conditions:
16
+ *
17
+ * The above copyright notice and this permission notice shall be included in all
18
+ * copies or substantial portions of the Software.
19
+ *
20
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
+ * SOFTWARE.
27
+ */
5
28
  import React from 'react';
6
29
  import { Platform, Keyboard } from 'react-native';
7
30
  import { I18nManager } from 'react-native';
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","Keyboard","I18nManager","childrenWithOverriddenStyle","PagerViewNativeComponent","Commands","PagerViewNativeCommands","PagerView","Component","constructor","args","_defineProperty","e","props","onPageScroll","OS","keyboardDismissMode","dismiss","onPageScrollStateChanged","isScrolling","nativeEvent","pageScrollState","onPageSelected","selectedPage","pagerView","setPage","setPageWithoutAnimation","scrollEnabled","setScrollEnabledImperatively","deducedLayoutDirection","layoutDirection","isRTL","render","createElement","_extends","ref","style","_onPageScroll","_onPageScrollStateChanged","_onPageSelected","onMoveShouldSetResponderCapture","_onMoveShouldSetResponderCapture","children"],"sources":["PagerView.tsx"],"sourcesContent":["import React from 'react';\r\nimport { Platform, Keyboard } from 'react-native';\r\nimport { I18nManager } from 'react-native';\r\nimport type * as ReactNative from 'react-native';\r\n\r\nimport {\r\n childrenWithOverriddenStyle,\r\n} from './utils';\r\n\r\nimport PagerViewNativeComponent, {\r\n Commands as PagerViewNativeCommands,\r\n OnPageScrollEventData,\r\n OnPageScrollStateChangedEventData,\r\n OnPageSelectedEventData,\r\n NativeProps,\r\n} from './PagerViewNativeComponent';\r\n\r\n\r\n/**\r\n * Container that allows to flip left and right between child views. Each\r\n * child view of the `PagerView` will be treated as a separate page\r\n * and will be stretched to fill the `PagerView`.\r\n *\r\n * It is important all children are `<View>`s and not composite components.\r\n * You can set style properties like `padding` or `backgroundColor` for each\r\n * child. It is also important that each child have a `key` prop.\r\n *\r\n * Example:\r\n *\r\n * ```\r\n * render: function() {\r\n * return (\r\n * <PagerView\r\n * style={styles.PagerView}\r\n * initialPage={0}>\r\n * <View style={styles.pageStyle} key=\"1\">\r\n * <Text>First page</Text>\r\n * </View>\r\n * <View style={styles.pageStyle} key=\"2\">\r\n * <Text>Second page</Text>\r\n * </View>\r\n * </PagerView>\r\n * );\r\n * }\r\n *\r\n * ...\r\n *\r\n * var styles = {\r\n * ...\r\n * PagerView: {\r\n * flex: 1\r\n * },\r\n * pageStyle: {\r\n * alignItems: 'center',\r\n * padding: 20,\r\n * }\r\n * }\r\n * ```\r\n */\r\n\r\nexport class PagerView extends React.Component<NativeProps> {\r\n private isScrolling = false;\r\n pagerView: React.ElementRef<typeof PagerViewNativeComponent> | null = null;\r\n\r\n\r\n private get deducedLayoutDirection() {\r\n if (\r\n !this.props.layoutDirection ||\r\n //@ts-ignore fix it\r\n this.props.layoutDirection === 'locale'\r\n ) {\r\n return I18nManager.isRTL ? 'rtl' : 'ltr';\r\n } else {\r\n return this.props.layoutDirection;\r\n }\r\n }\r\n\r\n private _onPageScroll = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageScrollEventData>\r\n ) => {\r\n if (this.props.onPageScroll) {\r\n this.props.onPageScroll(e);\r\n }\r\n\r\n // Not implemented on iOS yet\r\n // @ts-ignore\r\n if (Platform.OS === 'android' || Platform.OS === 'harmony') {\r\n if (this.props.keyboardDismissMode === 'on-drag') {\r\n Keyboard.dismiss();\r\n }\r\n }\r\n };\r\n\r\n private _onPageScrollStateChanged = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageScrollStateChangedEventData>\r\n ) => {\r\n if (this.props.onPageScrollStateChanged) {\r\n this.props.onPageScrollStateChanged(e);\r\n }\r\n this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';\r\n };\r\n\r\n private _onPageSelected = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageSelectedEventData>\r\n ) => {\r\n if (this.props.onPageSelected) {\r\n this.props.onPageSelected(e);\r\n }\r\n };\r\n\r\n private _onMoveShouldSetResponderCapture = () => {\r\n return this.isScrolling;\r\n };\r\n\r\n /**\r\n * A helper function to scroll to a specific page in the PagerView.\r\n * The transition between pages will be animated.\r\n */\r\n public setPage = (selectedPage: number) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setPage(this.pagerView, selectedPage);\r\n }\r\n };\r\n\r\n /**\r\n * A helper function to scroll to a specific page in the PagerView.\r\n * The transition between pages will *not* be animated.\r\n */\r\n public setPageWithoutAnimation = (selectedPage: number) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setPageWithoutAnimation(\r\n this.pagerView,\r\n selectedPage\r\n );\r\n }\r\n };\r\n\r\n /**\r\n * A helper function to enable/disable scroll imperatively\r\n * The recommended way is using the scrollEnabled prop, however, there might be a case where a\r\n * imperative solution is more useful (e.g. for not blocking an animation)\r\n */\r\n public setScrollEnabled = (scrollEnabled: boolean) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setScrollEnabledImperatively(\r\n this.pagerView,\r\n scrollEnabled\r\n );\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <PagerViewNativeComponent\r\n {...this.props}\r\n ref={(ref) => {\r\n this.pagerView = ref;\r\n }}\r\n style={this.props.style}\r\n layoutDirection={this.deducedLayoutDirection}\r\n onPageScroll={this._onPageScroll}\r\n onPageScrollStateChanged={this._onPageScrollStateChanged}\r\n onPageSelected={this._onPageSelected}\r\n onMoveShouldSetResponderCapture={\r\n this._onMoveShouldSetResponderCapture\r\n }\r\n children={childrenWithOverriddenStyle(this.props.children)}\r\n />\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","Keyboard","I18nManager","childrenWithOverriddenStyle","PagerViewNativeComponent","Commands","PagerViewNativeCommands","PagerView","Component","constructor","args","_defineProperty","e","props","onPageScroll","OS","keyboardDismissMode","dismiss","onPageScrollStateChanged","isScrolling","nativeEvent","pageScrollState","onPageSelected","selectedPage","pagerView","setPage","setPageWithoutAnimation","scrollEnabled","setScrollEnabledImperatively","deducedLayoutDirection","layoutDirection","isRTL","render","createElement","_extends","ref","style","_onPageScroll","_onPageScrollStateChanged","_onPageSelected","onMoveShouldSetResponderCapture","_onMoveShouldSetResponderCapture","children"],"sources":["PagerView.tsx"],"sourcesContent":["/**\r\n * MIT License\r\n *\r\n * Copyright (C) 2025 Huawei Device Co., Ltd.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nimport React from 'react';\r\nimport { Platform, Keyboard } from 'react-native';\r\nimport { I18nManager } from 'react-native';\r\nimport type * as ReactNative from 'react-native';\r\n\r\nimport {\r\n childrenWithOverriddenStyle,\r\n} from './utils';\r\n\r\nimport PagerViewNativeComponent, {\r\n Commands as PagerViewNativeCommands,\r\n OnPageScrollEventData,\r\n OnPageScrollStateChangedEventData,\r\n OnPageSelectedEventData,\r\n NativeProps,\r\n} from './PagerViewNativeComponent';\r\n\r\n\r\n/**\r\n * Container that allows to flip left and right between child views. Each\r\n * child view of the `PagerView` will be treated as a separate page\r\n * and will be stretched to fill the `PagerView`.\r\n *\r\n * It is important all children are `<View>`s and not composite components.\r\n * You can set style properties like `padding` or `backgroundColor` for each\r\n * child. It is also important that each child have a `key` prop.\r\n *\r\n * Example:\r\n *\r\n * ```\r\n * render: function() {\r\n * return (\r\n * <PagerView\r\n * style={styles.PagerView}\r\n * initialPage={0}>\r\n * <View style={styles.pageStyle} key=\"1\">\r\n * <Text>First page</Text>\r\n * </View>\r\n * <View style={styles.pageStyle} key=\"2\">\r\n * <Text>Second page</Text>\r\n * </View>\r\n * </PagerView>\r\n * );\r\n * }\r\n *\r\n * ...\r\n *\r\n * var styles = {\r\n * ...\r\n * PagerView: {\r\n * flex: 1\r\n * },\r\n * pageStyle: {\r\n * alignItems: 'center',\r\n * padding: 20,\r\n * }\r\n * }\r\n * ```\r\n */\r\n\r\nexport class PagerView extends React.Component<NativeProps> {\r\n private isScrolling = false;\r\n pagerView: React.ElementRef<typeof PagerViewNativeComponent> | null = null;\r\n\r\n\r\n private get deducedLayoutDirection() {\r\n if (\r\n !this.props.layoutDirection ||\r\n //@ts-ignore fix it\r\n this.props.layoutDirection === 'locale'\r\n ) {\r\n return I18nManager.isRTL ? 'rtl' : 'ltr';\r\n } else {\r\n return this.props.layoutDirection;\r\n }\r\n }\r\n\r\n private _onPageScroll = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageScrollEventData>\r\n ) => {\r\n if (this.props.onPageScroll) {\r\n this.props.onPageScroll(e);\r\n }\r\n\r\n // Not implemented on iOS yet\r\n // @ts-ignore\r\n if (Platform.OS === 'android' || Platform.OS === 'harmony') {\r\n if (this.props.keyboardDismissMode === 'on-drag') {\r\n Keyboard.dismiss();\r\n }\r\n }\r\n };\r\n\r\n private _onPageScrollStateChanged = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageScrollStateChangedEventData>\r\n ) => {\r\n if (this.props.onPageScrollStateChanged) {\r\n this.props.onPageScrollStateChanged(e);\r\n }\r\n this.isScrolling = e.nativeEvent.pageScrollState === 'dragging';\r\n };\r\n\r\n private _onPageSelected = (\r\n e: ReactNative.NativeSyntheticEvent<OnPageSelectedEventData>\r\n ) => {\r\n if (this.props.onPageSelected) {\r\n this.props.onPageSelected(e);\r\n }\r\n };\r\n\r\n private _onMoveShouldSetResponderCapture = () => {\r\n return this.isScrolling;\r\n };\r\n\r\n /**\r\n * A helper function to scroll to a specific page in the PagerView.\r\n * The transition between pages will be animated.\r\n */\r\n public setPage = (selectedPage: number) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setPage(this.pagerView, selectedPage);\r\n }\r\n };\r\n\r\n /**\r\n * A helper function to scroll to a specific page in the PagerView.\r\n * The transition between pages will *not* be animated.\r\n */\r\n public setPageWithoutAnimation = (selectedPage: number) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setPageWithoutAnimation(\r\n this.pagerView,\r\n selectedPage\r\n );\r\n }\r\n };\r\n\r\n /**\r\n * A helper function to enable/disable scroll imperatively\r\n * The recommended way is using the scrollEnabled prop, however, there might be a case where a\r\n * imperative solution is more useful (e.g. for not blocking an animation)\r\n */\r\n public setScrollEnabled = (scrollEnabled: boolean) => {\r\n if (this.pagerView) {\r\n PagerViewNativeCommands.setScrollEnabledImperatively(\r\n this.pagerView,\r\n scrollEnabled\r\n );\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <PagerViewNativeComponent\r\n {...this.props}\r\n ref={(ref) => {\r\n this.pagerView = ref;\r\n }}\r\n style={this.props.style}\r\n layoutDirection={this.deducedLayoutDirection}\r\n onPageScroll={this._onPageScroll}\r\n onPageScrollStateChanged={this._onPageScrollStateChanged}\r\n onPageSelected={this._onPageSelected}\r\n onMoveShouldSetResponderCapture={\r\n this._onMoveShouldSetResponderCapture\r\n }\r\n children={childrenWithOverriddenStyle(this.props.children)}\r\n />\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,27 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+
1
25
  import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
2
26
  import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
3
27
  export const Commands = codegenNativeCommands({
@@ -1 +1 @@
1
- {"version":3,"names":["codegenNativeCommands","codegenNativeComponent","Commands","supportedCommands"],"sources":["PagerViewNativeComponent.ts"],"sourcesContent":["import type * as React from 'react';\r\nimport type { HostComponent, ViewProps } from 'react-native';\r\nimport codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';\r\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\r\n\r\nimport type {\r\n DirectEventHandler,\r\n Double,\r\n Int32,\r\n WithDefault,\r\n} from 'react-native/Libraries/Types/CodegenTypes';\r\n\r\nexport type OnPageScrollEventData = Readonly<{\r\n position: Double;\r\n offset: Double;\r\n}>;\r\n\r\nexport type OnPageSelectedEventData = Readonly<{\r\n position: Double;\r\n}>;\r\n\r\nexport type OnPageScrollStateChangedEventData = Readonly<{\r\n pageScrollState: 'idle' | 'dragging' | 'settling';\r\n}>;\r\n\r\nexport interface NativeProps extends ViewProps {\r\n scrollEnabled?: WithDefault<boolean, true>;\r\n layoutDirection?: WithDefault<'ltr' | 'rtl', 'ltr'>;\r\n initialPage?: Int32;\r\n orientation?: WithDefault<'horizontal' | 'vertical', 'horizontal'>;\r\n offscreenPageLimit?: Int32;\r\n pageMargin?: Int32;\r\n overScrollMode?: WithDefault<'auto' | 'always' | 'never', 'auto'>;\r\n overdrag?: WithDefault<boolean, false>;\r\n keyboardDismissMode?: WithDefault<'none' | 'on-drag', 'none'>;\r\n onPageScroll?: DirectEventHandler<OnPageScrollEventData>;\r\n onPageSelected?: DirectEventHandler<OnPageSelectedEventData>;\r\n onPageScrollStateChanged?: DirectEventHandler<OnPageScrollStateChangedEventData>;\r\n}\r\n\r\ntype PagerViewViewType = HostComponent<NativeProps>;\r\n\r\nexport interface NativeCommands {\r\n setPage: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n selectedPage: Int32\r\n ) => void;\r\n setPageWithoutAnimation: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n selectedPage: Int32\r\n ) => void;\r\n setScrollEnabledImperatively: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n scrollEnabled: boolean\r\n ) => void;\r\n}\r\n\r\nexport const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({\r\n supportedCommands: [\r\n 'setPage',\r\n 'setPageWithoutAnimation',\r\n 'setScrollEnabledImperatively',\r\n ],\r\n});\r\n\r\nexport default codegenNativeComponent<NativeProps>(\r\n 'RNCViewPager'\r\n) as HostComponent<NativeProps>;\r\n"],"mappings":"AAEA,OAAOA,qBAAqB,MAAM,wDAAwD;AAC1F,OAAOC,sBAAsB,MAAM,yDAAyD;AAsD5F,OAAO,MAAMC,QAAwB,GAAGF,qBAAqB,CAAiB;EAC5EG,iBAAiB,EAAE,CACjB,SAAS,EACT,yBAAyB,EACzB,8BAA8B;AAElC,CAAC,CAAC;AAEF,eAAeF,sBAAsB,CACnC,cACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["codegenNativeCommands","codegenNativeComponent","Commands","supportedCommands"],"sources":["PagerViewNativeComponent.ts"],"sourcesContent":["/**\r\n * MIT License\r\n *\r\n * Copyright (C) 2025 Huawei Device Co., Ltd.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nimport type * as React from 'react';\r\nimport type { HostComponent, ViewProps } from 'react-native';\r\nimport codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';\r\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\r\n\r\nimport type {\r\n DirectEventHandler,\r\n Double,\r\n Int32,\r\n WithDefault,\r\n} from 'react-native/Libraries/Types/CodegenTypes';\r\n\r\nexport type OnPageScrollEventData = Readonly<{\r\n position: Double;\r\n offset: Double;\r\n}>;\r\n\r\nexport type OnPageSelectedEventData = Readonly<{\r\n position: Double;\r\n}>;\r\n\r\nexport type OnPageScrollStateChangedEventData = Readonly<{\r\n pageScrollState: 'idle' | 'dragging' | 'settling';\r\n}>;\r\n\r\nexport interface NativeProps extends ViewProps {\r\n scrollEnabled?: WithDefault<boolean, true>;\r\n layoutDirection?: WithDefault<'ltr' | 'rtl', 'ltr'>;\r\n initialPage?: Int32;\r\n orientation?: WithDefault<'horizontal' | 'vertical', 'horizontal'>;\r\n offscreenPageLimit?: Int32;\r\n pageMargin?: Int32;\r\n overScrollMode?: WithDefault<'auto' | 'always' | 'never', 'auto'>;\r\n overdrag?: WithDefault<boolean, false>;\r\n keyboardDismissMode?: WithDefault<'none' | 'on-drag', 'none'>;\r\n onPageScroll?: DirectEventHandler<OnPageScrollEventData>;\r\n onPageSelected?: DirectEventHandler<OnPageSelectedEventData>;\r\n onPageScrollStateChanged?: DirectEventHandler<OnPageScrollStateChangedEventData>;\r\n}\r\n\r\ntype PagerViewViewType = HostComponent<NativeProps>;\r\n\r\nexport interface NativeCommands {\r\n setPage: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n selectedPage: Int32\r\n ) => void;\r\n setPageWithoutAnimation: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n selectedPage: Int32\r\n ) => void;\r\n setScrollEnabledImperatively: (\r\n viewRef: React.ElementRef<PagerViewViewType>,\r\n scrollEnabled: boolean\r\n ) => void;\r\n}\r\n\r\nexport const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({\r\n supportedCommands: [\r\n 'setPage',\r\n 'setPageWithoutAnimation',\r\n 'setScrollEnabledImperatively',\r\n ],\r\n});\r\n\r\nexport default codegenNativeComponent<NativeProps>(\r\n 'RNCViewPager'\r\n) as HostComponent<NativeProps>;\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAOA,qBAAqB,MAAM,wDAAwD;AAC1F,OAAOC,sBAAsB,MAAM,yDAAyD;AAsD5F,OAAO,MAAMC,QAAwB,GAAGF,qBAAqB,CAAiB;EAC5EG,iBAAiB,EAAE,CACjB,SAAS,EACT,yBAAyB,EACzB,8BAA8B;AAElC,CAAC,CAAC;AAEF,eAAeF,sBAAsB,CACnC,cACF,CAAC","ignoreList":[]}
@@ -1,3 +1,27 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+
1
25
  import { PagerView } from './PagerView';
2
26
  export default PagerView;
3
27
  export * from './usePagerView';
@@ -1 +1 @@
1
- {"version":3,"names":["PagerView"],"sources":["index.tsx"],"sourcesContent":["import type * as ReactNative from 'react-native';\r\nimport { PagerView } from './PagerView';\r\nexport default PagerView;\r\nexport * from './usePagerView';\r\n\r\nimport type {\r\n OnPageScrollEventData as PagerViewOnPageScrollEventData,\r\n OnPageSelectedEventData as PagerViewOnPageSelectedEventData,\r\n OnPageScrollStateChangedEventData as PageScrollStateChangedNativeEventData,\r\n NativeProps,\r\n} from './PagerViewNativeComponent';\r\n\r\nexport type {\r\n PagerViewOnPageScrollEventData,\r\n PagerViewOnPageSelectedEventData,\r\n PageScrollStateChangedNativeEventData,\r\n NativeProps as PagerViewProps,\r\n};\r\n\r\nexport type PagerViewOnPageScrollEvent =\r\n ReactNative.NativeSyntheticEvent<PagerViewOnPageScrollEventData>;\r\n\r\nexport type PagerViewOnPageSelectedEvent =\r\n ReactNative.NativeSyntheticEvent<PagerViewOnPageSelectedEventData>;\r\n\r\nexport type PageScrollStateChangedNativeEvent =\r\n ReactNative.NativeSyntheticEvent<PageScrollStateChangedNativeEventData>;\r\n"],"mappings":"AACA,SAASA,SAAS,QAAQ,aAAa;AACvC,eAAeA,SAAS;AACxB,cAAc,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["PagerView"],"sources":["index.tsx"],"sourcesContent":["/**\r\n * MIT License\r\n *\r\n * Copyright (C) 2025 Huawei Device Co., Ltd.\r\n *\r\n * Permission is hereby granted, free of charge, to any person obtaining a copy\r\n * of this software and associated documentation files (the \"Software\"), to deal\r\n * in the Software without restriction, including without limitation the rights\r\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\n * copies of the Software, and to permit persons to whom the Software is\r\n * furnished to do so, subject to the following conditions:\r\n *\r\n * The above copyright notice and this permission notice shall be included in all\r\n * copies or substantial portions of the Software.\r\n *\r\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\r\n * SOFTWARE.\r\n */\r\nimport type * as ReactNative from 'react-native';\r\nimport { PagerView } from './PagerView';\r\nexport default PagerView;\r\nexport * from './usePagerView';\r\n\r\nimport type {\r\n OnPageScrollEventData as PagerViewOnPageScrollEventData,\r\n OnPageSelectedEventData as PagerViewOnPageSelectedEventData,\r\n OnPageScrollStateChangedEventData as PageScrollStateChangedNativeEventData,\r\n NativeProps,\r\n} from './PagerViewNativeComponent';\r\n\r\nexport type {\r\n PagerViewOnPageScrollEventData,\r\n PagerViewOnPageSelectedEventData,\r\n PageScrollStateChangedNativeEventData,\r\n NativeProps as PagerViewProps,\r\n};\r\n\r\nexport type PagerViewOnPageScrollEvent =\r\n ReactNative.NativeSyntheticEvent<PagerViewOnPageScrollEventData>;\r\n\r\nexport type PagerViewOnPageSelectedEvent =\r\n ReactNative.NativeSyntheticEvent<PagerViewOnPageSelectedEventData>;\r\n\r\nexport type PageScrollStateChangedNativeEvent =\r\n ReactNative.NativeSyntheticEvent<PageScrollStateChangedNativeEventData>;\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,QAAQ,aAAa;AACvC,eAAeA,SAAS;AACxB,cAAc,gBAAgB","ignoreList":[]}
@@ -1,3 +1,27 @@
1
+ /**
2
+ * MIT License
3
+ *
4
+ * Copyright (C) 2025 Huawei Device Co., Ltd.
5
+ *
6
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ * of this software and associated documentation files (the "Software"), to deal
8
+ * in the Software without restriction, including without limitation the rights
9
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ * copies of the Software, and to permit persons to whom the Software is
11
+ * furnished to do so, subject to the following conditions:
12
+ *
13
+ * The above copyright notice and this permission notice shall be included in all
14
+ * copies or substantial portions of the Software.
15
+ *
16
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ * SOFTWARE.
23
+ */
24
+
1
25
  import { PagerView } from './PagerView';
2
26
  import { Animated } from 'react-native';
3
27
  import { useCallback, useMemo, useRef, useState } from 'react';