@fountain-ui/lab 1.21.0 → 2.0.0-beta.10

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 (181) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/commonjs/AnimatedY/AnimatedY.js +10 -14
  3. package/build/commonjs/AnimatedY/AnimatedY.js.map +1 -1
  4. package/build/commonjs/AnimatedY/AnimatedYProps.js.map +1 -1
  5. package/build/commonjs/AnimatedY/index.js.map +1 -1
  6. package/build/commonjs/BottomSheet/BottomSheetNative.js +8 -2
  7. package/build/commonjs/BottomSheet/BottomSheetNative.js.map +1 -1
  8. package/build/commonjs/BottomSheet/BottomSheetProps.js.map +1 -1
  9. package/build/commonjs/BottomSheet/BottomSheetWeb.js +2 -6
  10. package/build/commonjs/BottomSheet/BottomSheetWeb.js.map +1 -1
  11. package/build/commonjs/BottomSheet/TransparentBackdrop.js +1 -1
  12. package/build/commonjs/BottomSheet/TransparentBackdrop.js.map +1 -1
  13. package/build/commonjs/BottomSheet/index.js.map +1 -1
  14. package/build/commonjs/BottomSheet/index.native.js.map +1 -1
  15. package/build/commonjs/Carousel/CarouselNative.js.map +1 -1
  16. package/build/commonjs/Carousel/CarouselProps.js.map +1 -1
  17. package/build/commonjs/Carousel/CarouselWeb.js +1 -1
  18. package/build/commonjs/Carousel/CarouselWeb.js.map +1 -1
  19. package/build/commonjs/Carousel/index.js.map +1 -1
  20. package/build/commonjs/Carousel/index.native.js.map +1 -1
  21. package/build/commonjs/Carousel/utils.js +1 -1
  22. package/build/commonjs/Carousel/utils.js.map +1 -1
  23. package/build/commonjs/ComicViewer/ComicViewer.js +168 -0
  24. package/build/commonjs/ComicViewer/ComicViewer.js.map +1 -0
  25. package/build/commonjs/ComicViewer/ComicViewerItemProps.js +6 -0
  26. package/build/commonjs/ComicViewer/ComicViewerItemProps.js.map +1 -0
  27. package/build/commonjs/ComicViewer/ComicViewerProps.js +2 -0
  28. package/build/commonjs/ComicViewer/ComicViewerProps.js.map +1 -0
  29. package/build/commonjs/ComicViewer/ViewerItem.js +88 -0
  30. package/build/commonjs/ComicViewer/ViewerItem.js.map +1 -0
  31. package/build/commonjs/ComicViewer/index.js +16 -0
  32. package/build/commonjs/ComicViewer/index.js.map +1 -0
  33. package/build/commonjs/DateTimePicker/DateTimePicker.js +7 -1
  34. package/build/commonjs/DateTimePicker/DateTimePicker.js.map +1 -1
  35. package/build/commonjs/DateTimePicker/DateTimePickerProps.js.map +1 -1
  36. package/build/commonjs/DateTimePicker/DateTimePickerProvider.js.map +1 -1
  37. package/build/commonjs/DateTimePicker/YearPicker.js +22 -17
  38. package/build/commonjs/DateTimePicker/YearPicker.js.map +1 -1
  39. package/build/commonjs/DateTimePicker/index.js +4 -4
  40. package/build/commonjs/DateTimePicker/index.js.map +1 -1
  41. package/build/commonjs/DateTimePicker/utils.js +2 -1
  42. package/build/commonjs/DateTimePicker/utils.js.map +1 -1
  43. package/build/commonjs/FlipCard/FlipCard.js +7 -13
  44. package/build/commonjs/FlipCard/FlipCard.js.map +1 -1
  45. package/build/commonjs/FlipCard/FlipCardProps.js.map +1 -1
  46. package/build/commonjs/FlipCard/index.js.map +1 -1
  47. package/build/commonjs/StatusBarProvider/Provider.js +1 -1
  48. package/build/commonjs/StatusBarProvider/Provider.js.map +1 -1
  49. package/build/commonjs/StatusBarProvider/StatusBarProvider.js.map +1 -1
  50. package/build/commonjs/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
  51. package/build/commonjs/StatusBarProvider/index.js.map +1 -1
  52. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js +1 -1
  53. package/build/commonjs/ViewPager/ChildrenMemoizedPage.js.map +1 -1
  54. package/build/commonjs/ViewPager/ViewPagerNative.js +19 -16
  55. package/build/commonjs/ViewPager/ViewPagerNative.js.map +1 -1
  56. package/build/commonjs/ViewPager/ViewPagerProps.js.map +1 -1
  57. package/build/commonjs/ViewPager/ViewPagerWeb.js.map +1 -1
  58. package/build/commonjs/ViewPager/index.js.map +1 -1
  59. package/build/commonjs/ViewPager/index.native.js.map +1 -1
  60. package/build/commonjs/ViewPager/utils.js +13 -11
  61. package/build/commonjs/ViewPager/utils.js.map +1 -1
  62. package/build/commonjs/hooks/index.js.map +1 -1
  63. package/build/commonjs/hooks/useAppbarStyles.js.map +1 -1
  64. package/build/commonjs/hooks/useElevationStyle.js.map +1 -1
  65. package/build/commonjs/hooks/useHeight.js +5 -4
  66. package/build/commonjs/hooks/useHeight.js.map +1 -1
  67. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js +56 -57
  68. package/build/commonjs/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  69. package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js +9 -11
  70. package/build/commonjs/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
  71. package/build/commonjs/index.js +25 -4
  72. package/build/commonjs/index.js.map +1 -1
  73. package/build/module/AnimatedY/AnimatedY.js +11 -10
  74. package/build/module/AnimatedY/AnimatedY.js.map +1 -1
  75. package/build/module/AnimatedY/AnimatedYProps.js.map +1 -1
  76. package/build/module/AnimatedY/index.js.map +1 -1
  77. package/build/module/BottomSheet/BottomSheetNative.js +8 -2
  78. package/build/module/BottomSheet/BottomSheetNative.js.map +1 -1
  79. package/build/module/BottomSheet/BottomSheetProps.js.map +1 -1
  80. package/build/module/BottomSheet/BottomSheetWeb.js +2 -6
  81. package/build/module/BottomSheet/BottomSheetWeb.js.map +1 -1
  82. package/build/module/BottomSheet/TransparentBackdrop.js +1 -1
  83. package/build/module/BottomSheet/TransparentBackdrop.js.map +1 -1
  84. package/build/module/BottomSheet/index.js.map +1 -1
  85. package/build/module/BottomSheet/index.native.js.map +1 -1
  86. package/build/module/Carousel/CarouselNative.js.map +1 -1
  87. package/build/module/Carousel/CarouselProps.js.map +1 -1
  88. package/build/module/Carousel/CarouselWeb.js +1 -1
  89. package/build/module/Carousel/CarouselWeb.js.map +1 -1
  90. package/build/module/Carousel/index.js.map +1 -1
  91. package/build/module/Carousel/index.native.js.map +1 -1
  92. package/build/module/Carousel/utils.js.map +1 -1
  93. package/build/module/ComicViewer/ComicViewer.js +151 -0
  94. package/build/module/ComicViewer/ComicViewer.js.map +1 -0
  95. package/build/module/ComicViewer/ComicViewerItemProps.js +2 -0
  96. package/build/module/ComicViewer/ComicViewerItemProps.js.map +1 -0
  97. package/build/module/ComicViewer/ComicViewerProps.js +2 -0
  98. package/build/module/ComicViewer/ComicViewerProps.js.map +1 -0
  99. package/build/module/ComicViewer/ViewerItem.js +72 -0
  100. package/build/module/ComicViewer/ViewerItem.js.map +1 -0
  101. package/build/module/ComicViewer/index.js +2 -0
  102. package/build/module/ComicViewer/index.js.map +1 -0
  103. package/build/module/DateTimePicker/DateTimePicker.js +7 -1
  104. package/build/module/DateTimePicker/DateTimePicker.js.map +1 -1
  105. package/build/module/DateTimePicker/DateTimePickerProps.js.map +1 -1
  106. package/build/module/DateTimePicker/DateTimePickerProvider.js.map +1 -1
  107. package/build/module/DateTimePicker/YearPicker.js +22 -17
  108. package/build/module/DateTimePicker/YearPicker.js.map +1 -1
  109. package/build/module/DateTimePicker/index.js.map +1 -1
  110. package/build/module/DateTimePicker/utils.js +2 -1
  111. package/build/module/DateTimePicker/utils.js.map +1 -1
  112. package/build/module/FlipCard/FlipCard.js +7 -7
  113. package/build/module/FlipCard/FlipCard.js.map +1 -1
  114. package/build/module/FlipCard/FlipCardProps.js.map +1 -1
  115. package/build/module/FlipCard/index.js.map +1 -1
  116. package/build/module/StatusBarProvider/Provider.js.map +1 -1
  117. package/build/module/StatusBarProvider/StatusBarProvider.js.map +1 -1
  118. package/build/module/StatusBarProvider/StatusBarProviderProps.js.map +1 -1
  119. package/build/module/StatusBarProvider/index.js.map +1 -1
  120. package/build/module/ViewPager/ChildrenMemoizedPage.js +1 -1
  121. package/build/module/ViewPager/ChildrenMemoizedPage.js.map +1 -1
  122. package/build/module/ViewPager/ViewPagerNative.js +14 -9
  123. package/build/module/ViewPager/ViewPagerNative.js.map +1 -1
  124. package/build/module/ViewPager/ViewPagerProps.js.map +1 -1
  125. package/build/module/ViewPager/ViewPagerWeb.js.map +1 -1
  126. package/build/module/ViewPager/index.js.map +1 -1
  127. package/build/module/ViewPager/index.native.js.map +1 -1
  128. package/build/module/ViewPager/utils.js +11 -10
  129. package/build/module/ViewPager/utils.js.map +1 -1
  130. package/build/module/hooks/index.js.map +1 -1
  131. package/build/module/hooks/useAppbarStyles.js.map +1 -1
  132. package/build/module/hooks/useElevationStyle.js.map +1 -1
  133. package/build/module/hooks/useHeight.js +4 -3
  134. package/build/module/hooks/useHeight.js.map +1 -1
  135. package/build/module/hooks/useUnstableCollapsibleAppBar.js +58 -43
  136. package/build/module/hooks/useUnstableCollapsibleAppBar.js.map +1 -1
  137. package/build/module/hooks/useUnstableToggleDisplayStyle.js +9 -7
  138. package/build/module/hooks/useUnstableToggleDisplayStyle.js.map +1 -1
  139. package/build/module/index.js +2 -0
  140. package/build/module/index.js.map +1 -1
  141. package/build/typescript/AnimatedY/AnimatedY.d.ts +0 -1
  142. package/build/typescript/BottomSheet/BottomSheetNative.d.ts +0 -1
  143. package/build/typescript/BottomSheet/BottomSheetWeb.d.ts +0 -1
  144. package/build/typescript/BottomSheet/TransparentBackdrop.d.ts +0 -1
  145. package/build/typescript/Carousel/CarouselNative.d.ts +0 -1
  146. package/build/typescript/ComicViewer/ComicViewer.d.ts +2 -0
  147. package/build/typescript/ComicViewer/ComicViewerItemProps.d.ts +12 -0
  148. package/build/typescript/ComicViewer/ComicViewerProps.d.ts +76 -0
  149. package/build/typescript/ComicViewer/ViewerItem.d.ts +7 -0
  150. package/build/typescript/ComicViewer/index.d.ts +3 -0
  151. package/build/typescript/DateTimePicker/DateTimePicker.d.ts +0 -1
  152. package/build/typescript/DateTimePicker/YearPicker.d.ts +0 -1
  153. package/build/typescript/FlipCard/FlipCard.d.ts +0 -1
  154. package/build/typescript/StatusBarProvider/StatusBarProvider.d.ts +0 -1
  155. package/build/typescript/ViewPager/ViewPagerNative.d.ts +0 -1
  156. package/build/typescript/ViewPager/ViewPagerWeb.d.ts +0 -1
  157. package/build/typescript/hooks/useUnstableCollapsibleAppBar.d.ts +2 -3
  158. package/build/typescript/hooks/useUnstableToggleDisplayStyle.d.ts +2 -2
  159. package/build/typescript/index.d.ts +2 -0
  160. package/package.json +13 -13
  161. package/src/AnimatedY/AnimatedY.tsx +13 -10
  162. package/src/BottomSheet/BottomSheetNative.tsx +6 -0
  163. package/src/ComicViewer/ComicViewer.tsx +162 -0
  164. package/src/ComicViewer/ComicViewerItemProps.ts +15 -0
  165. package/src/ComicViewer/ComicViewerProps.ts +90 -0
  166. package/src/ComicViewer/ViewerItem.tsx +76 -0
  167. package/src/ComicViewer/index.ts +3 -0
  168. package/src/DateTimePicker/DateTimePicker.tsx +6 -0
  169. package/src/DateTimePicker/YearPicker.tsx +2 -1
  170. package/src/FlipCard/FlipCard.tsx +8 -8
  171. package/src/ViewPager/ViewPagerNative.tsx +16 -9
  172. package/src/hooks/useHeight.ts +2 -2
  173. package/src/hooks/useUnstableCollapsibleAppBar.ts +59 -42
  174. package/src/hooks/useUnstableToggleDisplayStyle.ts +8 -6
  175. package/src/index.ts +3 -0
  176. package/build/commonjs/hooks/useWidth.js +0 -29
  177. package/build/commonjs/hooks/useWidth.js.map +0 -1
  178. package/build/module/hooks/useWidth.js +0 -15
  179. package/build/module/hooks/useWidth.js.map +0 -1
  180. package/build/typescript/hooks/useWidth.d.ts +0 -2
  181. package/src/hooks/useWidth.ts +0 -17
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _reactNative = require("react-native");
11
+
12
+ var _core = require("@fountain-ui/core");
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ const styles = _core.StyleSheet.create({
19
+ placeholder: {
20
+ backgroundColor: '#abcabc'
21
+ }
22
+ });
23
+
24
+ function ViewerItem(_ref) {
25
+ let {
26
+ props
27
+ } = _ref;
28
+ const {
29
+ height,
30
+ id,
31
+ isViewable,
32
+ onError,
33
+ sourceUrl,
34
+ width
35
+ } = props;
36
+ const [isLoaded, setIsLoaded] = (0, _react.useState)(false);
37
+ const errorCount = (0, _react.useRef)(0);
38
+ const onLoad = (0, _react.useCallback)(() => {
39
+ errorCount.current = 0;
40
+ setIsLoaded(true);
41
+ }, []);
42
+ const handleError = (0, _react.useCallback)(() => {
43
+ errorCount.current = errorCount.current + 1;
44
+ onError && onError({
45
+ id,
46
+ count: errorCount.current
47
+ });
48
+ }, [id]);
49
+ const viewStyle = {
50
+ width,
51
+ height
52
+ };
53
+
54
+ const Placeholder = () => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
55
+ style: [viewStyle, styles.placeholder]
56
+ });
57
+
58
+ if (!isViewable && !isLoaded) {
59
+ return /*#__PURE__*/_react.default.createElement(Placeholder, null);
60
+ }
61
+
62
+ return /*#__PURE__*/_react.default.createElement(_core.Image, {
63
+ disableOutline: true,
64
+ key: sourceUrl,
65
+ onLoad: onLoad,
66
+ onError: handleError,
67
+ source: {
68
+ uri: sourceUrl
69
+ },
70
+ style: viewStyle,
71
+ square: true
72
+ });
73
+ }
74
+
75
+ var _default = /*#__PURE__*/_react.default.memo(ViewerItem, (prevProps, nextProps) => {
76
+ if (prevProps.props.isViewable !== nextProps.props.isViewable) {
77
+ return false;
78
+ }
79
+
80
+ if (prevProps.props.sourceUrl !== nextProps.props.sourceUrl) {
81
+ return false;
82
+ }
83
+
84
+ return true;
85
+ });
86
+
87
+ exports.default = _default;
88
+ //# sourceMappingURL=ViewerItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["styles","StyleSheet","create","placeholder","backgroundColor","ViewerItem","props","height","id","isViewable","onError","sourceUrl","width","isLoaded","setIsLoaded","useState","errorCount","useRef","onLoad","useCallback","current","handleError","count","viewStyle","Placeholder","uri","React","memo","prevProps","nextProps"],"sources":["ViewerItem.tsx"],"sourcesContent":["import React, { useCallback, useRef, useState } from 'react';\nimport { View } from 'react-native';\nimport { Image, StyleSheet } from '@fountain-ui/core';\nimport ComicViewerItemProps from './ComicViewerItemProps';\n\nconst styles = StyleSheet.create({\n placeholder: {\n backgroundColor: '#abcabc',\n },\n});\n\nfunction ViewerItem<T>({ props }: { props: ComicViewerItemProps<T> }) {\n const {\n height,\n id,\n isViewable,\n onError,\n sourceUrl,\n width,\n } = props;\n\n const [isLoaded, setIsLoaded] = useState(false);\n\n const errorCount = useRef<number>(0);\n\n const onLoad = useCallback(() => {\n errorCount.current = 0;\n setIsLoaded(true);\n }, []);\n\n const handleError = useCallback(() => {\n errorCount.current = errorCount.current + 1;\n\n onError && onError({\n id,\n count: errorCount.current\n });\n }, [id]);\n\n const viewStyle = { width, height };\n\n const Placeholder = () => (\n <View style={[\n viewStyle,\n styles.placeholder,\n ]}/>\n );\n\n if (!isViewable && !isLoaded) {\n return <Placeholder/>;\n }\n\n return (\n <Image\n disableOutline={true}\n key={sourceUrl}\n onLoad={onLoad}\n onError={handleError}\n source={{ uri: sourceUrl }}\n style={viewStyle}\n square={true}\n />\n );\n}\n\nexport default React.memo(ViewerItem, (prevProps, nextProps) => {\n if (prevProps.props.isViewable !== nextProps.props.isViewable) {\n return false;\n }\n\n if (prevProps.props.sourceUrl !== nextProps.props.sourceUrl) {\n return false;\n }\n\n return true;\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,MAAMA,MAAM,GAAGC,gBAAA,CAAWC,MAAX,CAAkB;EAC7BC,WAAW,EAAE;IACTC,eAAe,EAAE;EADR;AADgB,CAAlB,CAAf;;AAMA,SAASC,UAAT,OAAsE;EAAA,IAA/C;IAAEC;EAAF,CAA+C;EAClE,MAAM;IACFC,MADE;IAEFC,EAFE;IAGFC,UAHE;IAIFC,OAJE;IAKFC,SALE;IAMFC;EANE,IAOFN,KAPJ;EASA,MAAM,CAACO,QAAD,EAAWC,WAAX,IAA0B,IAAAC,eAAA,EAAS,KAAT,CAAhC;EAEA,MAAMC,UAAU,GAAG,IAAAC,aAAA,EAAe,CAAf,CAAnB;EAEA,MAAMC,MAAM,GAAG,IAAAC,kBAAA,EAAY,MAAM;IAC7BH,UAAU,CAACI,OAAX,GAAqB,CAArB;IACAN,WAAW,CAAC,IAAD,CAAX;EACH,CAHc,EAGZ,EAHY,CAAf;EAKA,MAAMO,WAAW,GAAG,IAAAF,kBAAA,EAAY,MAAM;IAClCH,UAAU,CAACI,OAAX,GAAqBJ,UAAU,CAACI,OAAX,GAAqB,CAA1C;IAEAV,OAAO,IAAIA,OAAO,CAAC;MACfF,EADe;MAEfc,KAAK,EAAEN,UAAU,CAACI;IAFH,CAAD,CAAlB;EAIH,CAPmB,EAOjB,CAACZ,EAAD,CAPiB,CAApB;EASA,MAAMe,SAAS,GAAG;IAAEX,KAAF;IAASL;EAAT,CAAlB;;EAEA,MAAMiB,WAAW,GAAG,mBAChB,6BAAC,iBAAD;IAAM,KAAK,EAAE,CACTD,SADS,EAETvB,MAAM,CAACG,WAFE;EAAb,EADJ;;EAOA,IAAI,CAACM,UAAD,IAAe,CAACI,QAApB,EAA8B;IAC1B,oBAAO,6BAAC,WAAD,OAAP;EACH;;EAED,oBACI,6BAAC,WAAD;IACI,cAAc,EAAE,IADpB;IAEI,GAAG,EAAEF,SAFT;IAGI,MAAM,EAAEO,MAHZ;IAII,OAAO,EAAEG,WAJb;IAKI,MAAM,EAAE;MAAEI,GAAG,EAAEd;IAAP,CALZ;IAMI,KAAK,EAAEY,SANX;IAOI,MAAM,EAAE;EAPZ,EADJ;AAWH;;4BAEcG,cAAA,CAAMC,IAAN,CAAWtB,UAAX,EAAuB,CAACuB,SAAD,EAAYC,SAAZ,KAA0B;EAC5D,IAAID,SAAS,CAACtB,KAAV,CAAgBG,UAAhB,KAA+BoB,SAAS,CAACvB,KAAV,CAAgBG,UAAnD,EAA+D;IAC3D,OAAO,KAAP;EACH;;EAED,IAAImB,SAAS,CAACtB,KAAV,CAAgBK,SAAhB,KAA8BkB,SAAS,CAACvB,KAAV,CAAgBK,SAAlD,EAA6D;IACzD,OAAO,KAAP;EACH;;EAED,OAAO,IAAP;AACH,CAVc,C"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ComicViewer.default;
10
+ }
11
+ });
12
+
13
+ var _ComicViewer = _interopRequireDefault(require("./ComicViewer"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './ComicViewer';\nexport type { ComicViewerItemData, default as ComicViewerProps, ErrorInfo } from './ComicViewerProps';\nexport type { default as ComicViewerItemProps } from './ComicViewerItemProps';"],"mappings":";;;;;;;;;;;;AAAA"}
@@ -98,7 +98,13 @@ function DateTimePicker(props) {
98
98
  variant: 'text',
99
99
  size: 'small',
100
100
  onPress: () => setYearPickerVisible(true)
101
- })
101
+ }),
102
+ theme: {
103
+ backgroundColor: theme.palette.paper.default,
104
+ calendarBackground: theme.palette.paper.default,
105
+ dayTextColor: theme.palette.text.primary,
106
+ textDisabledColor: theme.palette.text.hint
107
+ }
102
108
  });
103
109
  }
104
110
 
@@ -1 +1 @@
1
- {"version":3,"sources":["DateTimePicker.tsx"],"names":["useDateTimePicker","React","useContext","DateTimePickerContext","DateTimePicker","props","currentMonth","Date","locale","markedDate","markedDateProp","maxDate","minDate","onDayPress","onYearPress","onYearPressProp","theme","yearPickerVisible","setYearPickerVisible","useState","locales","LeftArrow","RightArrow","date","LocaleConfig","defaultLocale","direction","selected","disableTouchEvent","selectedColor","palette","primary","main","selectedTextColor","contrastTextColor","toDate"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;AAPA;AASA,MAAMA,iBAAiB,GAAG,MAAM;AAC5B,SAAOC,eAAMC,UAAN,CAAiBC,6CAAjB,CAAP;AACH,CAFD;;AAIe,SAASC,cAAT,CAAwBC,KAAxB,EAAoD;AAC/D,QAAM;AACFC,IAAAA,YAAY,GAAG,IAAIC,IAAJ,EADb;AAEFC,IAAAA,MAFE;AAGFC,IAAAA,UAAU,EAAEC,cAHV;AAIFC,IAAAA,OAJE;AAKFC,IAAAA,OALE;AAMFC,IAAAA,UANE;AAOFC,IAAAA,WAAW,EAAEC;AAPX,MAQFV,KARJ;AAUA,QAAMW,KAAK,GAAG,uBAAd;;AAEA,QAAM,CAACC,iBAAD,EAAoBC,oBAApB,IAA4CjB,eAAMkB,QAAN,CAAe,KAAf,CAAlD;;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAcpB,iBAAiB,EAArC,CAd+D,CAgB/D;;AACA,QAAMqB,SAAS,gBAAG,6BAAC,gBAAD;AAAY,IAAA,QAAQ,EAAE,GAAtB;AAA2B,IAAA,KAAK,EAAE;AAAlC,IAAlB;;AACA,QAAMC,UAAU,gBAAG,6BAAC,gBAAD;AAAY,IAAA,QAAQ,EAAE,GAAtB;AAA2B,IAAA,KAAK,EAAE;AAAlC,IAAnB;;AAEA,QAAMR,WAAW,GAAIS,IAAD,IAAgB;AAChCL,IAAAA,oBAAoB,CAAC,KAAD,CAApB;AACAH,IAAAA,eAAe,IAAIA,eAAe,CAACQ,IAAD,CAAlC;AACH,GAHD;;AAKA,MAAIf,MAAJ,EAAY;AACRgB,uCAAaJ,OAAb,GAAuBA,OAAvB;AACAI,uCAAaC,aAAb,GAA6BjB,MAA7B;AACH;;AAED,QAAMC,UAAU,GAAGC,cAAc,GAAG,qBAAOA,cAAP,EAAuB,YAAvB,CAAH,GAA0C,EAA3E;;AAEA,MAAIO,iBAAJ,EAAuB;AACnB,wBACI,6BAAC,mBAAD;AACI,MAAA,IAAI,EAAEX,YADV;AAEI,MAAA,MAAM,EAAEE,MAFZ;AAGI,MAAA,OAAO,EAAEG,OAHb;AAII,MAAA,OAAO,EAAEC,OAJb;AAKI,MAAA,WAAW,EAAEE;AALjB,MADJ;AASH;;AAED,sBACI,6BAAC,8BAAD;AACI,IAAA,OAAO,EAAER,YADb;AAEI,IAAA,UAAU,EAAEO,UAFhB;AAGI,IAAA,OAAO,EAAEF,OAHb;AAII,IAAA,OAAO,EAAEC,OAJb;AAKI,IAAA,WAAW,EAAGc,SAAD,IAAuBA,SAAS,KAAK,MAAd,GAAuBL,SAAvB,GAAmCC,UAL3E;AAMI,IAAA,WAAW,EAAE;AACT,OAACb,UAAD,GAAc;AACVkB,QAAAA,QAAQ,EAAE,IADA;AAEVC,QAAAA,iBAAiB,EAAE,IAFT;AAGVC,QAAAA,aAAa,EAAEb,KAAK,CAACc,OAAN,CAAcC,OAAd,CAAsBC,IAH3B;AAIVC,QAAAA,iBAAiB,EAAEjB,KAAK,CAACc,OAAN,CAAcC,OAAd,CAAsBG;AAJ/B;AADL,KANjB,CAcI;AAdJ;AAeI,IAAA,YAAY,EAAGX,IAAD,iBACV,6BAAC,YAAD;AACI,MAAA,QAAQ,EAAE,uBAAWA,IAAI,CAACY,MAAL,EAAX,EAA0B3B,MAA1B,CADd;AAEI,MAAA,OAAO,EAAE,MAFb;AAGI,MAAA,IAAI,EAAE,OAHV;AAII,MAAA,OAAO,EAAE,MAAMU,oBAAoB,CAAC,IAAD;AAJvC;AAhBR,IADJ;AA0BH;;AAAA","sourcesContent":["import React from 'react';\nimport { format } from 'date-fns';\n//@ts-ignore\nimport { Calendar, LocaleConfig } from 'react-native-calendars';\nimport { Button, Typography } from '@fountain-ui/core';\nimport { useTheme } from '@fountain-ui/styles';\nimport YearPicker from './YearPicker';\nimport { DateTimePickerContext } from './DateTimePickerProvider';\nimport type DateTimePickerProps from './DateTimePickerProps';\nimport { formatDate } from './utils';\n\nconst useDateTimePicker = () => {\n return React.useContext(DateTimePickerContext);\n};\n\nexport default function DateTimePicker(props: DateTimePickerProps) {\n const {\n currentMonth = new Date(),\n locale,\n markedDate: markedDateProp,\n maxDate,\n minDate,\n onDayPress,\n onYearPress: onYearPressProp,\n } = props;\n\n const theme = useTheme();\n\n const [yearPickerVisible, setYearPickerVisible] = React.useState(false);\n const { locales } = useDateTimePicker();\n\n //TODO: Need to update arrow components\n const LeftArrow = <Typography children={'<'} color={'textPrimary'}/>;\n const RightArrow = <Typography children={'>'} color={'textPrimary'}/>;\n\n const onYearPress = (date: Date) => {\n setYearPickerVisible(false);\n onYearPressProp && onYearPressProp(date);\n };\n\n if (locale) {\n LocaleConfig.locales = locales;\n LocaleConfig.defaultLocale = locale;\n }\n\n const markedDate = markedDateProp ? format(markedDateProp, 'yyyy-MM-dd') : '';\n\n if (yearPickerVisible) {\n return (\n <YearPicker\n date={currentMonth}\n locale={locale}\n maxDate={maxDate}\n minDate={minDate}\n onYearPress={onYearPress}\n />\n );\n }\n\n return (\n <Calendar\n current={currentMonth}\n onDayPress={onDayPress}\n maxDate={maxDate}\n minDate={minDate}\n renderArrow={(direction: string) => direction === 'left' ? LeftArrow : RightArrow}\n markedDates={{\n [markedDate]: {\n selected: true,\n disableTouchEvent: true,\n selectedColor: theme.palette.primary.main,\n selectedTextColor: theme.palette.primary.contrastTextColor,\n },\n }}\n // @ts-ignore\n renderHeader={(date) => (\n <Button\n children={formatDate(date.toDate(), locale)}\n variant={'text'}\n size={'small'}\n onPress={() => setYearPickerVisible(true)}\n />\n )}\n />\n );\n};\n"]}
1
+ {"version":3,"names":["useDateTimePicker","React","useContext","DateTimePickerContext","DateTimePicker","props","currentMonth","Date","locale","markedDate","markedDateProp","maxDate","minDate","onDayPress","onYearPress","onYearPressProp","theme","useTheme","yearPickerVisible","setYearPickerVisible","useState","locales","LeftArrow","RightArrow","date","LocaleConfig","defaultLocale","format","direction","selected","disableTouchEvent","selectedColor","palette","primary","main","selectedTextColor","contrastTextColor","formatDate","toDate","backgroundColor","paper","default","calendarBackground","dayTextColor","text","textDisabledColor","hint"],"sources":["DateTimePicker.tsx"],"sourcesContent":["import React from 'react';\nimport { format } from 'date-fns';\n//@ts-ignore\nimport { Calendar, LocaleConfig } from 'react-native-calendars';\nimport { Button, Typography } from '@fountain-ui/core';\nimport { useTheme } from '@fountain-ui/styles';\nimport YearPicker from './YearPicker';\nimport { DateTimePickerContext } from './DateTimePickerProvider';\nimport type DateTimePickerProps from './DateTimePickerProps';\nimport { formatDate } from './utils';\n\nconst useDateTimePicker = () => {\n return React.useContext(DateTimePickerContext);\n};\n\nexport default function DateTimePicker(props: DateTimePickerProps) {\n const {\n currentMonth = new Date(),\n locale,\n markedDate: markedDateProp,\n maxDate,\n minDate,\n onDayPress,\n onYearPress: onYearPressProp,\n } = props;\n\n const theme = useTheme();\n\n const [yearPickerVisible, setYearPickerVisible] = React.useState(false);\n const { locales } = useDateTimePicker();\n\n //TODO: Need to update arrow components\n const LeftArrow = <Typography children={'<'} color={'textPrimary'}/>;\n const RightArrow = <Typography children={'>'} color={'textPrimary'}/>;\n\n const onYearPress = (date: Date) => {\n setYearPickerVisible(false);\n onYearPressProp && onYearPressProp(date);\n };\n\n if (locale) {\n LocaleConfig.locales = locales;\n LocaleConfig.defaultLocale = locale;\n }\n\n const markedDate = markedDateProp ? format(markedDateProp, 'yyyy-MM-dd') : '';\n\n if (yearPickerVisible) {\n return (\n <YearPicker\n date={currentMonth}\n locale={locale}\n maxDate={maxDate}\n minDate={minDate}\n onYearPress={onYearPress}\n />\n );\n }\n\n return (\n <Calendar\n current={currentMonth}\n onDayPress={onDayPress}\n maxDate={maxDate}\n minDate={minDate}\n renderArrow={(direction: string) => direction === 'left' ? LeftArrow : RightArrow}\n markedDates={{\n [markedDate]: {\n selected: true,\n disableTouchEvent: true,\n selectedColor: theme.palette.primary.main,\n selectedTextColor: theme.palette.primary.contrastTextColor,\n },\n }}\n // @ts-ignore\n renderHeader={(date) => (\n <Button\n children={formatDate(date.toDate(), locale)}\n variant={'text'}\n size={'small'}\n onPress={() => setYearPickerVisible(true)}\n />\n )}\n theme={{\n backgroundColor: theme.palette.paper.default,\n calendarBackground: theme.palette.paper.default,\n dayTextColor: theme.palette.text.primary,\n textDisabledColor: theme.palette.text.hint,\n }}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;AAPA;AASA,MAAMA,iBAAiB,GAAG,MAAM;EAC5B,OAAOC,cAAA,CAAMC,UAAN,CAAiBC,6CAAjB,CAAP;AACH,CAFD;;AAIe,SAASC,cAAT,CAAwBC,KAAxB,EAAoD;EAC/D,MAAM;IACFC,YAAY,GAAG,IAAIC,IAAJ,EADb;IAEFC,MAFE;IAGFC,UAAU,EAAEC,cAHV;IAIFC,OAJE;IAKFC,OALE;IAMFC,UANE;IAOFC,WAAW,EAAEC;EAPX,IAQFV,KARJ;EAUA,MAAMW,KAAK,GAAG,IAAAC,gBAAA,GAAd;;EAEA,MAAM,CAACC,iBAAD,EAAoBC,oBAApB,IAA4ClB,cAAA,CAAMmB,QAAN,CAAe,KAAf,CAAlD;;EACA,MAAM;IAAEC;EAAF,IAAcrB,iBAAiB,EAArC,CAd+D,CAgB/D;;EACA,MAAMsB,SAAS,gBAAG,6BAAC,gBAAD;IAAY,QAAQ,EAAE,GAAtB;IAA2B,KAAK,EAAE;EAAlC,EAAlB;;EACA,MAAMC,UAAU,gBAAG,6BAAC,gBAAD;IAAY,QAAQ,EAAE,GAAtB;IAA2B,KAAK,EAAE;EAAlC,EAAnB;;EAEA,MAAMT,WAAW,GAAIU,IAAD,IAAgB;IAChCL,oBAAoB,CAAC,KAAD,CAApB;IACAJ,eAAe,IAAIA,eAAe,CAACS,IAAD,CAAlC;EACH,CAHD;;EAKA,IAAIhB,MAAJ,EAAY;IACRiB,kCAAA,CAAaJ,OAAb,GAAuBA,OAAvB;IACAI,kCAAA,CAAaC,aAAb,GAA6BlB,MAA7B;EACH;;EAED,MAAMC,UAAU,GAAGC,cAAc,GAAG,IAAAiB,eAAA,EAAOjB,cAAP,EAAuB,YAAvB,CAAH,GAA0C,EAA3E;;EAEA,IAAIQ,iBAAJ,EAAuB;IACnB,oBACI,6BAAC,mBAAD;MACI,IAAI,EAAEZ,YADV;MAEI,MAAM,EAAEE,MAFZ;MAGI,OAAO,EAAEG,OAHb;MAII,OAAO,EAAEC,OAJb;MAKI,WAAW,EAAEE;IALjB,EADJ;EASH;;EAED,oBACI,6BAAC,8BAAD;IACI,OAAO,EAAER,YADb;IAEI,UAAU,EAAEO,UAFhB;IAGI,OAAO,EAAEF,OAHb;IAII,OAAO,EAAEC,OAJb;IAKI,WAAW,EAAGgB,SAAD,IAAuBA,SAAS,KAAK,MAAd,GAAuBN,SAAvB,GAAmCC,UAL3E;IAMI,WAAW,EAAE;MACT,CAACd,UAAD,GAAc;QACVoB,QAAQ,EAAE,IADA;QAEVC,iBAAiB,EAAE,IAFT;QAGVC,aAAa,EAAEf,KAAK,CAACgB,OAAN,CAAcC,OAAd,CAAsBC,IAH3B;QAIVC,iBAAiB,EAAEnB,KAAK,CAACgB,OAAN,CAAcC,OAAd,CAAsBG;MAJ/B;IADL,CANjB,CAcI;IAdJ;IAeI,YAAY,EAAGZ,IAAD,iBACV,6BAAC,YAAD;MACI,QAAQ,EAAE,IAAAa,iBAAA,EAAWb,IAAI,CAACc,MAAL,EAAX,EAA0B9B,MAA1B,CADd;MAEI,OAAO,EAAE,MAFb;MAGI,IAAI,EAAE,OAHV;MAII,OAAO,EAAE,MAAMW,oBAAoB,CAAC,IAAD;IAJvC,EAhBR;IAuBI,KAAK,EAAE;MACHoB,eAAe,EAAEvB,KAAK,CAACgB,OAAN,CAAcQ,KAAd,CAAoBC,OADlC;MAEHC,kBAAkB,EAAE1B,KAAK,CAACgB,OAAN,CAAcQ,KAAd,CAAoBC,OAFrC;MAGHE,YAAY,EAAE3B,KAAK,CAACgB,OAAN,CAAcY,IAAd,CAAmBX,OAH9B;MAIHY,iBAAiB,EAAE7B,KAAK,CAACgB,OAAN,CAAcY,IAAd,CAAmBE;IAJnC;EAvBX,EADJ;AAgCH;;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["DateTimePickerProps.ts"],"sourcesContent":["import type { ComponentProps } from '@fountain-ui/core';\n\nexport interface Day {\n dateString: string;\n day: number;\n month: number;\n timestamp: number;\n year: number;\n}\n\nexport default interface DateTimePickerProps extends ComponentProps<{\n /**\n * To select month on calendar.\n * @default Date()\n */\n currentMonth?: Date;\n\n /**\n * Locale for calendar.\n */\n locale?: string;\n\n /**\n * Marked date on calendar.\n * @default Date()\n */\n markedDate?: Date;\n\n /**\n * Maximum date that can be selected, dates after maxDate will be grayed out.\n */\n maxDate?: Date;\n\n /**\n * Minimum date that can be selected, dates before minDate will be grayed out.\n */\n minDate?: Date;\n\n /**\n * Handler which gets executed on day press.\n */\n onDayPress?: (day: Day) => void;\n\n /**\n * Handler which gets executed on year press.\n */\n onYearPress?: (year: Date) => void;\n}> {}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["DateTimePickerProvider.ts"],"names":["defaultValue","locales","DateTimePickerContext","React","createContext","Provider"],"mappings":";;;;;;;AAAA;;;;AAMA,MAAMA,YAAiC,GAAG;AACtCC,EAAAA,OAAO,EAAE;AAD6B,CAA1C;;AAIO,MAAMC,qBAAqB,gBAAGC,eAAMC,aAAN,CAAyCJ,YAAzC,CAA9B;;;eAEQE,qBAAqB,CAACG,Q","sourcesContent":["import React from 'react';\n\nexport interface DateTimePickerValue {\n locales: object;\n}\n\nconst defaultValue: DateTimePickerValue = {\n locales: {},\n};\n\nexport const DateTimePickerContext = React.createContext<DateTimePickerValue>(defaultValue);\n\nexport default DateTimePickerContext.Provider;"]}
1
+ {"version":3,"names":["defaultValue","locales","DateTimePickerContext","React","createContext","Provider"],"sources":["DateTimePickerProvider.ts"],"sourcesContent":["import React from 'react';\n\nexport interface DateTimePickerValue {\n locales: object;\n}\n\nconst defaultValue: DateTimePickerValue = {\n locales: {},\n};\n\nexport const DateTimePickerContext = React.createContext<DateTimePickerValue>(defaultValue);\n\nexport default DateTimePickerContext.Provider;"],"mappings":";;;;;;;AAAA;;;;AAMA,MAAMA,YAAiC,GAAG;EACtCC,OAAO,EAAE;AAD6B,CAA1C;;AAIO,MAAMC,qBAAqB,gBAAGC,cAAA,CAAMC,aAAN,CAAyCJ,YAAzC,CAA9B;;;eAEQE,qBAAqB,CAACG,Q"}
@@ -30,13 +30,14 @@ const useStyles = function () {
30
30
  };
31
31
  };
32
32
 
33
- const YearPicker = ({
34
- date,
35
- locale,
36
- maxDate,
37
- minDate,
38
- onYearPress
39
- }) => {
33
+ const YearPicker = _ref => {
34
+ let {
35
+ date,
36
+ locale,
37
+ maxDate,
38
+ minDate,
39
+ onYearPress
40
+ } = _ref;
40
41
  const styles = useStyles();
41
42
 
42
43
  const ref = _react.default.useRef(null);
@@ -62,20 +63,24 @@ const YearPicker = ({
62
63
 
63
64
  return /*#__PURE__*/_react.default.createElement(_core.Column, null, /*#__PURE__*/_react.default.createElement(_core.Typography, {
64
65
  children: (0, _utils.formatDate)(date, locale),
66
+ color: 'textPrimary',
65
67
  variant: 'subtitle2'
66
68
  }), /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
67
69
  data: years,
68
70
  keyExtractor: item => item.toString(),
69
- renderItem: ({
70
- item
71
- }) => /*#__PURE__*/_react.default.createElement(_core.Button, {
72
- children: item.toString(),
73
- variant: 'text',
74
- onPress: () => {
75
- const newDate = (0, _dateFns.setYear)(date, item);
76
- onYearPress(newDate);
77
- }
78
- }),
71
+ renderItem: _ref2 => {
72
+ let {
73
+ item
74
+ } = _ref2;
75
+ return /*#__PURE__*/_react.default.createElement(_core.Button, {
76
+ children: item.toString(),
77
+ variant: 'text',
78
+ onPress: () => {
79
+ const newDate = (0, _dateFns.setYear)(date, item);
80
+ onYearPress(newDate);
81
+ }
82
+ });
83
+ },
79
84
  getItemLayout: getItemLayout,
80
85
  style: styles.list,
81
86
  ref: ref
@@ -1 +1 @@
1
- {"version":3,"sources":["YearPicker.tsx"],"names":["initYear","itemHeight","useStyles","theme","list","marginTop","spacing","maxHeight","YearPicker","date","locale","maxDate","minDate","onYearPress","styles","ref","React","useRef","minYear","maxYear","Date","years","Array","fill","map","v","i","useEffect","current","scrollToItem","animated","item","getItemLayout","data","index","length","offset","toString","newDate"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;AAEA,MAAMA,QAAQ,GAAG,IAAjB;AACA,MAAMC,UAAU,GAAG,EAAnB;;AAYA,MAAMC,SAAsC,GAAG,YAA8B;AACzE,QAAMC,KAAK,GAAG,qBAAd;AAEA,SAAO;AACHC,IAAAA,IAAI,EAAE;AACFC,MAAAA,SAAS,EAAEF,KAAK,CAACG,OAAN,CAAc,CAAd,CADT;AAEFC,MAAAA,SAAS,EAAE;AAFT;AADH,GAAP;AAMH,CATD;;AAWA,MAAMC,UAAU,GAAG,CAAC;AAChBC,EAAAA,IADgB;AAEhBC,EAAAA,MAFgB;AAGhBC,EAAAA,OAHgB;AAIhBC,EAAAA,OAJgB;AAKhBC,EAAAA;AALgB,CAAD,KAMI;AACnB,QAAMC,MAAM,GAAGZ,SAAS,EAAxB;;AAEA,QAAMa,GAAG,GAAGC,eAAMC,MAAN,CAA8B,IAA9B,CAAZ;;AAEA,QAAMC,OAAO,GAAGN,OAAO,GAAG,sBAAQA,OAAR,CAAH,GAAsBZ,QAA7C;AACA,QAAMmB,OAAO,GAAGR,OAAO,GAAG,sBAAQA,OAAR,CAAH,GAAsB,sBAAQ,IAAIS,IAAJ,EAAR,CAA7C;AACA,QAAMC,KAAK,GAAGC,KAAK,CAACH,OAAO,GAAGD,OAAV,GAAoB,CAArB,CAAL,CAA6BK,IAA7B,CAAkCL,OAAlC,EAA2CM,GAA3C,CAA+C,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,GAAGC,CAA7D,CAAd;;AAEAV,iBAAMW,SAAN,CAAgB,MAAM;AAAA;;AAClB,oBAAAZ,GAAG,CAACa,OAAJ,8DAAaC,YAAb,CAA0B;AACtBC,MAAAA,QAAQ,EAAE,KADY;AAEtBC,MAAAA,IAAI,EAAE,sBAAQtB,IAAR;AAFgB,KAA1B;AAIH,GALD,EAKG,CAACA,IAAD,CALH;;AAOA,QAAMuB,aAAa,GAAG,CAACC,IAAD,EAAyCC,KAAzC,MAA4D;AAC9EC,IAAAA,MAAM,EAAElC,UADsE;AAE9EmC,IAAAA,MAAM,EAAEnC,UAAU,GAAGiC,KAFyD;AAG9EA,IAAAA;AAH8E,GAA5D,CAAtB;;AAMA,sBACI,6BAAC,YAAD,qBACI,6BAAC,gBAAD;AACI,IAAA,QAAQ,EAAE,uBAAWzB,IAAX,EAAiBC,MAAjB,CADd;AAEI,IAAA,OAAO,EAAE;AAFb,IADJ,eAKI,6BAAC,qBAAD;AACI,IAAA,IAAI,EAAEW,KADV;AAEI,IAAA,YAAY,EAAEU,IAAI,IAAIA,IAAI,CAACM,QAAL,EAF1B;AAGI,IAAA,UAAU,EAAE,CAAC;AAAEN,MAAAA;AAAF,KAAD,kBACR,6BAAC,YAAD;AACI,MAAA,QAAQ,EAAEA,IAAI,CAACM,QAAL,EADd;AAEI,MAAA,OAAO,EAAE,MAFb;AAGI,MAAA,OAAO,EAAE,MAAM;AACX,cAAMC,OAAO,GAAG,sBAAQ7B,IAAR,EAAcsB,IAAd,CAAhB;AACAlB,QAAAA,WAAW,CAACyB,OAAD,CAAX;AACH;AANL,MAJR;AAaI,IAAA,aAAa,EAAEN,aAbnB;AAcI,IAAA,KAAK,EAAElB,MAAM,CAACV,IAdlB;AAeI,IAAA,GAAG,EAAEW;AAfT,IALJ,CADJ;AAyBH,CArDD;;eAuDeP,U","sourcesContent":["import React from 'react';\nimport { FlatList } from 'react-native';\nimport { getYear, setYear } from 'date-fns';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { Button, Column, Typography, useTheme } from '@fountain-ui/core';\nimport { formatDate } from './utils';\n\nconst initYear = 1901;\nconst itemHeight = 40;\n\ninterface YearPickerProps {\n date: Date;\n locale?: string,\n maxDate?: Date;\n minDate?: Date;\n onYearPress: (date: Date) => void;\n}\n\ntype YearPickerStyles = NamedStylesStringUnion<'list'>;\n\nconst useStyles: UseStyles<YearPickerStyles> = function (): YearPickerStyles {\n const theme = useTheme();\n\n return {\n list: {\n marginTop: theme.spacing(1),\n maxHeight: 270,\n },\n };\n};\n\nconst YearPicker = ({\n date,\n locale,\n maxDate,\n minDate,\n onYearPress,\n}: YearPickerProps) => {\n const styles = useStyles();\n\n const ref = React.useRef<FlatList | null>(null);\n\n const minYear = minDate ? getYear(minDate) : initYear;\n const maxYear = maxDate ? getYear(maxDate) : getYear(new Date());\n const years = Array(maxYear - minYear + 1).fill(minYear).map((v, i) => v + i);\n\n React.useEffect(() => {\n ref.current?.scrollToItem({\n animated: false,\n item: getYear(date),\n });\n }, [date]);\n\n const getItemLayout = (data: Array<number> | null | undefined, index: number) => ({\n length: itemHeight,\n offset: itemHeight * index,\n index,\n });\n\n return (\n <Column>\n <Typography\n children={formatDate(date, locale)}\n variant={'subtitle2'}\n />\n <FlatList\n data={years}\n keyExtractor={item => item.toString()}\n renderItem={({ item }) => (\n <Button\n children={item.toString()}\n variant={'text'}\n onPress={() => {\n const newDate = setYear(date, item);\n onYearPress(newDate);\n }}\n />\n )}\n getItemLayout={getItemLayout}\n style={styles.list}\n ref={ref}\n />\n </Column>\n );\n};\n\nexport default YearPicker;"]}
1
+ {"version":3,"names":["initYear","itemHeight","useStyles","theme","useTheme","list","marginTop","spacing","maxHeight","YearPicker","date","locale","maxDate","minDate","onYearPress","styles","ref","React","useRef","minYear","getYear","maxYear","Date","years","Array","fill","map","v","i","useEffect","current","scrollToItem","animated","item","getItemLayout","data","index","length","offset","formatDate","toString","newDate","setYear"],"sources":["YearPicker.tsx"],"sourcesContent":["import React from 'react';\nimport { FlatList } from 'react-native';\nimport { getYear, setYear } from 'date-fns';\nimport { NamedStylesStringUnion, UseStyles } from '@fountain-ui/styles';\nimport { Button, Column, Typography, useTheme } from '@fountain-ui/core';\nimport { formatDate } from './utils';\n\nconst initYear = 1901;\nconst itemHeight = 40;\n\ninterface YearPickerProps {\n date: Date;\n locale?: string,\n maxDate?: Date;\n minDate?: Date;\n onYearPress: (date: Date) => void;\n}\n\ntype YearPickerStyles = NamedStylesStringUnion<'list'>;\n\nconst useStyles: UseStyles<YearPickerStyles> = function (): YearPickerStyles {\n const theme = useTheme();\n\n return {\n list: {\n marginTop: theme.spacing(1),\n maxHeight: 270,\n },\n };\n};\n\nconst YearPicker = ({\n date,\n locale,\n maxDate,\n minDate,\n onYearPress,\n}: YearPickerProps) => {\n const styles = useStyles();\n\n const ref = React.useRef<FlatList | null>(null);\n\n const minYear = minDate ? getYear(minDate) : initYear;\n const maxYear = maxDate ? getYear(maxDate) : getYear(new Date());\n const years = Array(maxYear - minYear + 1).fill(minYear).map((v, i) => v + i);\n\n React.useEffect(() => {\n ref.current?.scrollToItem({\n animated: false,\n item: getYear(date),\n });\n }, [date]);\n\n const getItemLayout = (data: Array<number> | null | undefined, index: number) => ({\n length: itemHeight,\n offset: itemHeight * index,\n index,\n });\n\n return (\n <Column>\n <Typography\n children={formatDate(date, locale)}\n color={'textPrimary'}\n variant={'subtitle2'}\n />\n <FlatList\n data={years}\n keyExtractor={item => item.toString()}\n renderItem={({ item }) => (\n <Button\n children={item.toString()}\n variant={'text'}\n onPress={() => {\n const newDate = setYear(date, item);\n onYearPress(newDate);\n }}\n />\n )}\n getItemLayout={getItemLayout}\n style={styles.list}\n ref={ref}\n />\n </Column>\n );\n};\n\nexport default YearPicker;\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;;;AAEA,MAAMA,QAAQ,GAAG,IAAjB;AACA,MAAMC,UAAU,GAAG,EAAnB;;AAYA,MAAMC,SAAsC,GAAG,YAA8B;EACzE,MAAMC,KAAK,GAAG,IAAAC,cAAA,GAAd;EAEA,OAAO;IACHC,IAAI,EAAE;MACFC,SAAS,EAAEH,KAAK,CAACI,OAAN,CAAc,CAAd,CADT;MAEFC,SAAS,EAAE;IAFT;EADH,CAAP;AAMH,CATD;;AAWA,MAAMC,UAAU,GAAG,QAMI;EAAA,IANH;IAChBC,IADgB;IAEhBC,MAFgB;IAGhBC,OAHgB;IAIhBC,OAJgB;IAKhBC;EALgB,CAMG;EACnB,MAAMC,MAAM,GAAGb,SAAS,EAAxB;;EAEA,MAAMc,GAAG,GAAGC,cAAA,CAAMC,MAAN,CAA8B,IAA9B,CAAZ;;EAEA,MAAMC,OAAO,GAAGN,OAAO,GAAG,IAAAO,gBAAA,EAAQP,OAAR,CAAH,GAAsBb,QAA7C;EACA,MAAMqB,OAAO,GAAGT,OAAO,GAAG,IAAAQ,gBAAA,EAAQR,OAAR,CAAH,GAAsB,IAAAQ,gBAAA,EAAQ,IAAIE,IAAJ,EAAR,CAA7C;EACA,MAAMC,KAAK,GAAGC,KAAK,CAACH,OAAO,GAAGF,OAAV,GAAoB,CAArB,CAAL,CAA6BM,IAA7B,CAAkCN,OAAlC,EAA2CO,GAA3C,CAA+C,CAACC,CAAD,EAAIC,CAAJ,KAAUD,CAAC,GAAGC,CAA7D,CAAd;;EAEAX,cAAA,CAAMY,SAAN,CAAgB,MAAM;IAAA;;IAClB,gBAAAb,GAAG,CAACc,OAAJ,8DAAaC,YAAb,CAA0B;MACtBC,QAAQ,EAAE,KADY;MAEtBC,IAAI,EAAE,IAAAb,gBAAA,EAAQV,IAAR;IAFgB,CAA1B;EAIH,CALD,EAKG,CAACA,IAAD,CALH;;EAOA,MAAMwB,aAAa,GAAG,CAACC,IAAD,EAAyCC,KAAzC,MAA4D;IAC9EC,MAAM,EAAEpC,UADsE;IAE9EqC,MAAM,EAAErC,UAAU,GAAGmC,KAFyD;IAG9EA;EAH8E,CAA5D,CAAtB;;EAMA,oBACI,6BAAC,YAAD,qBACI,6BAAC,gBAAD;IACI,QAAQ,EAAE,IAAAG,iBAAA,EAAW7B,IAAX,EAAiBC,MAAjB,CADd;IAEI,KAAK,EAAE,aAFX;IAGI,OAAO,EAAE;EAHb,EADJ,eAMI,6BAAC,qBAAD;IACI,IAAI,EAAEY,KADV;IAEI,YAAY,EAAEU,IAAI,IAAIA,IAAI,CAACO,QAAL,EAF1B;IAGI,UAAU,EAAE;MAAA,IAAC;QAAEP;MAAF,CAAD;MAAA,oBACR,6BAAC,YAAD;QACI,QAAQ,EAAEA,IAAI,CAACO,QAAL,EADd;QAEI,OAAO,EAAE,MAFb;QAGI,OAAO,EAAE,MAAM;UACX,MAAMC,OAAO,GAAG,IAAAC,gBAAA,EAAQhC,IAAR,EAAcuB,IAAd,CAAhB;UACAnB,WAAW,CAAC2B,OAAD,CAAX;QACH;MANL,EADQ;IAAA,CAHhB;IAaI,aAAa,EAAEP,aAbnB;IAcI,KAAK,EAAEnB,MAAM,CAACV,IAdlB;IAeI,GAAG,EAAEW;EAfT,EANJ,CADJ;AA0BH,CAtDD;;eAwDeP,U"}
@@ -3,16 +3,16 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- Object.defineProperty(exports, "default", {
6
+ Object.defineProperty(exports, "DateTimePickerProvider", {
7
7
  enumerable: true,
8
8
  get: function () {
9
- return _DateTimePicker.default;
9
+ return _DateTimePickerProvider.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "DateTimePickerProvider", {
12
+ Object.defineProperty(exports, "default", {
13
13
  enumerable: true,
14
14
  get: function () {
15
- return _DateTimePickerProvider.default;
15
+ return _DateTimePicker.default;
16
16
  }
17
17
  });
18
18
 
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA","sourcesContent":["export { default } from './DateTimePicker';\nexport { default as DateTimePickerProvider } from './DateTimePickerProvider';\nexport type { default as DateTimePickerProps } from './DateTimePickerProps';"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './DateTimePicker';\nexport { default as DateTimePickerProvider } from './DateTimePickerProvider';\nexport type { default as DateTimePickerProps } from './DateTimePickerProps';"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
@@ -21,7 +21,8 @@ const localeMap = {
21
21
  fr: _fr.default
22
22
  };
23
23
 
24
- const formatDate = (date, locale = 'en') => {
24
+ const formatDate = function (date) {
25
+ let locale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'en';
25
26
  //@ts-ignore
26
27
  return (0, _dateFns.format)(date, 'MMMM uuuu', {
27
28
  locale: localeMap[locale]
@@ -1 +1 @@
1
- {"version":3,"sources":["utils.ts"],"names":["localeMap","en","enLocale","de","deLocale","fr","frLocale","formatDate","date","locale"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,SAAS,GAAG;AACdC,EAAAA,EAAE,EAAEC,aADU;AAEdC,EAAAA,EAAE,EAAEC,WAFU;AAGdC,EAAAA,EAAE,EAAEC;AAHU,CAAlB;;AAMO,MAAMC,UAAU,GAAG,CAACC,IAAD,EAAaC,MAAc,GAAG,IAA9B,KAA+C;AACrE;AACA,SAAO,qBAAOD,IAAP,EAAa,WAAb,EAA0B;AAAEC,IAAAA,MAAM,EAAET,SAAS,CAACS,MAAD;AAAnB,GAA1B,CAAP;AACH,CAHM","sourcesContent":["import { format } from 'date-fns';\nimport enLocale from 'date-fns/locale/en-US';\nimport deLocale from 'date-fns/locale/de';\nimport frLocale from 'date-fns/locale/fr';\n\nconst localeMap = {\n en: enLocale,\n de: deLocale,\n fr: frLocale,\n};\n\nexport const formatDate = (date: Date, locale: string = 'en'): string => {\n //@ts-ignore\n return format(date, 'MMMM uuuu', { locale: localeMap[locale] });\n};"]}
1
+ {"version":3,"names":["localeMap","en","enLocale","de","deLocale","fr","frLocale","formatDate","date","locale","format"],"sources":["utils.ts"],"sourcesContent":["import { format } from 'date-fns';\nimport enLocale from 'date-fns/locale/en-US';\nimport deLocale from 'date-fns/locale/de';\nimport frLocale from 'date-fns/locale/fr';\n\nconst localeMap = {\n en: enLocale,\n de: deLocale,\n fr: frLocale,\n};\n\nexport const formatDate = (date: Date, locale: string = 'en'): string => {\n //@ts-ignore\n return format(date, 'MMMM uuuu', { locale: localeMap[locale] });\n};"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,SAAS,GAAG;EACdC,EAAE,EAAEC,aADU;EAEdC,EAAE,EAAEC,WAFU;EAGdC,EAAE,EAAEC;AAHU,CAAlB;;AAMO,MAAMC,UAAU,GAAG,UAACC,IAAD,EAA+C;EAAA,IAAlCC,MAAkC,uEAAjB,IAAiB;EACrE;EACA,OAAO,IAAAC,eAAA,EAAOF,IAAP,EAAa,WAAb,EAA0B;IAAEC,MAAM,EAAET,SAAS,CAACS,MAAD;EAAnB,CAA1B,CAAP;AACH,CAHM"}
@@ -9,9 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _reactNative = require("react-native");
11
11
 
12
- var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
15
13
 
16
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
15
 
@@ -40,10 +38,8 @@ function FlipCard(props) {
40
38
  reanimationKey,
41
39
  style
42
40
  } = props;
43
-
44
- const sharedAngle = _reactNativeReanimated.default.useSharedValue(0);
45
-
46
- const animatedFrontCardStyle = _reactNativeReanimated.default.useAnimatedStyle(() => {
41
+ const sharedAngle = (0, _reactNativeReanimated.useSharedValue)(0);
42
+ const animatedFrontCardStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
47
43
  return {
48
44
  zIndex: sharedAngle.value < Z_INDEX_CHANGE_ANGLE ? 2 : 1,
49
45
  transform: [{
@@ -52,9 +48,8 @@ function FlipCard(props) {
52
48
  rotateX: `${sharedAngle.value}deg`
53
49
  }]
54
50
  };
55
- });
56
-
57
- const animatedBackCardStyle = _reactNativeReanimated.default.useAnimatedStyle(() => {
51
+ }, []);
52
+ const animatedBackCardStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
58
53
  return {
59
54
  zIndex: sharedAngle.value <= Z_INDEX_CHANGE_ANGLE ? 1 : 2,
60
55
  transform: [{
@@ -63,11 +58,10 @@ function FlipCard(props) {
63
58
  rotateX: `${sharedAngle.value + 180}deg`
64
59
  }]
65
60
  };
66
- });
67
-
61
+ }, []);
68
62
  (0, _react.useEffect)(() => {
69
63
  sharedAngle.value = 0;
70
- sharedAngle.value = _reactNativeReanimated.default.withTiming(180, {
64
+ sharedAngle.value = (0, _reactNativeReanimated.withTiming)(180, {
71
65
  duration: 500
72
66
  });
73
67
  }, [reanimationKey]);
@@ -1 +1 @@
1
- {"version":3,"sources":["FlipCard.tsx"],"names":["styles","StyleSheet","create","container","height","width","animatedCard","alignItems","backfaceVisibility","justifyContent","position","PERSPECTIVE","Z_INDEX_CHANGE_ANGLE","FlipCard","props","backCard","frontCard","reanimationKey","style","sharedAngle","Animated","useSharedValue","animatedFrontCardStyle","useAnimatedStyle","zIndex","value","transform","perspective","rotateX","animatedBackCardStyle","withTiming","duration"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAGA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC7BC,EAAAA,SAAS,EAAE;AACPC,IAAAA,MAAM,EAAE,EADD;AAEPC,IAAAA,KAAK,EAAE;AAFA,GADkB;AAK7BC,EAAAA,YAAY,EAAE;AACVC,IAAAA,UAAU,EAAE,QADF;AAEVC,IAAAA,kBAAkB,EAAE,QAFV;AAGVC,IAAAA,cAAc,EAAE,QAHN;AAIVC,IAAAA,QAAQ,EAAE;AAJA;AALe,CAAlB,CAAf;;AAaA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,oBAAoB,GAAG,EAA7B;;AAEe,SAASC,QAAT,CAAkBC,KAAlB,EAAwC;AACnD,QAAM;AACFC,IAAAA,QADE;AAEFC,IAAAA,SAFE;AAGFC,IAAAA,cAHE;AAIFC,IAAAA;AAJE,MAKFJ,KALJ;;AAOA,QAAMK,WAAW,GAAGC,+BAASC,cAAT,CAAwB,CAAxB,CAApB;;AAEA,QAAMC,sBAAsB,GAAGF,+BAASG,gBAAT,CAA0B,MAAM;AAC3D,WAAO;AACHC,MAAAA,MAAM,EAAEL,WAAW,CAACM,KAAZ,GAAoBb,oBAApB,GAA2C,CAA3C,GAA+C,CADpD;AAEHc,MAAAA,SAAS,EAAE,CACP;AAAEC,QAAAA,WAAW,EAAEhB;AAAf,OADO,EAEP;AAAEiB,QAAAA,OAAO,EAAG,GAAET,WAAW,CAACM,KAAM;AAAhC,OAFO;AAFR,KAAP;AAOH,GAR8B,CAA/B;;AAUA,QAAMI,qBAAqB,GAAGT,+BAASG,gBAAT,CAA0B,MAAM;AAC1D,WAAO;AACHC,MAAAA,MAAM,EAAEL,WAAW,CAACM,KAAZ,IAAqBb,oBAArB,GAA4C,CAA5C,GAAgD,CADrD;AAEHc,MAAAA,SAAS,EAAE,CACP;AAAEC,QAAAA,WAAW,EAAEhB;AAAf,OADO,EAEP;AAAEiB,QAAAA,OAAO,EAAG,GAAGT,WAAW,CAACM,KAAZ,GAAoB,GAAK;AAAxC,OAFO;AAFR,KAAP;AAOH,GAR6B,CAA9B;;AAUA,wBAAU,MAAM;AACZN,IAAAA,WAAW,CAACM,KAAZ,GAAoB,CAApB;AACAN,IAAAA,WAAW,CAACM,KAAZ,GAAoBL,+BAASU,UAAT,CAAoB,GAApB,EAAyB;AAAEC,MAAAA,QAAQ,EAAE;AAAZ,KAAzB,CAApB;AACH,GAHD,EAGG,CAACd,cAAD,CAHH;AAKA,sBACI,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACjB,MAAM,CAACG,SAAR,EAAmBe,KAAnB;AAAb,kBACI,6BAAC,8BAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE,CAAClB,MAAM,CAACM,YAAR,EAAsBgB,sBAAtB;AAAtB,KACKN,SADL,CADJ,eAKI,6BAAC,8BAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAE,CAAChB,MAAM,CAACM,YAAR,EAAsBuB,qBAAtB;AAAtB,KACKd,QADL,CALJ,CADJ;AAWH;;AAAA","sourcesContent":["import React, { useEffect } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type FlipCardProps from './FlipCardProps';\n\nconst styles = StyleSheet.create({\n container: {\n height: 32,\n width: 24,\n },\n animatedCard: {\n alignItems: 'center',\n backfaceVisibility: 'hidden',\n justifyContent: 'center',\n position: 'absolute',\n },\n});\n\nconst PERSPECTIVE = 100;\nconst Z_INDEX_CHANGE_ANGLE = 90;\n\nexport default function FlipCard(props: FlipCardProps) {\n const {\n backCard,\n frontCard,\n reanimationKey,\n style,\n } = props;\n\n const sharedAngle = Animated.useSharedValue(0);\n\n const animatedFrontCardStyle = Animated.useAnimatedStyle(() => {\n return {\n zIndex: sharedAngle.value < Z_INDEX_CHANGE_ANGLE ? 2 : 1,\n transform: [\n { perspective: PERSPECTIVE },\n { rotateX: `${sharedAngle.value}deg` },\n ],\n };\n });\n\n const animatedBackCardStyle = Animated.useAnimatedStyle(() => {\n return {\n zIndex: sharedAngle.value <= Z_INDEX_CHANGE_ANGLE ? 1 : 2,\n transform: [\n { perspective: PERSPECTIVE },\n { rotateX: `${(sharedAngle.value + 180)}deg` },\n ],\n };\n });\n\n useEffect(() => {\n sharedAngle.value = 0;\n sharedAngle.value = Animated.withTiming(180, { duration: 500 });\n }, [reanimationKey]);\n\n return (\n <View style={[styles.container, style]}>\n <Animated.View style={[styles.animatedCard, animatedFrontCardStyle]}>\n {frontCard}\n </Animated.View>\n\n <Animated.View style={[styles.animatedCard, animatedBackCardStyle]}>\n {backCard}\n </Animated.View>\n </View>\n );\n};"]}
1
+ {"version":3,"names":["styles","StyleSheet","create","container","height","width","animatedCard","alignItems","backfaceVisibility","justifyContent","position","PERSPECTIVE","Z_INDEX_CHANGE_ANGLE","FlipCard","props","backCard","frontCard","reanimationKey","style","sharedAngle","useSharedValue","animatedFrontCardStyle","useAnimatedStyle","zIndex","value","transform","perspective","rotateX","animatedBackCardStyle","useEffect","withTiming","duration"],"sources":["FlipCard.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport type FlipCardProps from './FlipCardProps';\n\nconst styles = StyleSheet.create({\n container: {\n height: 32,\n width: 24,\n },\n animatedCard: {\n alignItems: 'center',\n backfaceVisibility: 'hidden',\n justifyContent: 'center',\n position: 'absolute',\n },\n});\n\nconst PERSPECTIVE = 100;\nconst Z_INDEX_CHANGE_ANGLE = 90;\n\nexport default function FlipCard(props: FlipCardProps) {\n const {\n backCard,\n frontCard,\n reanimationKey,\n style,\n } = props;\n\n const sharedAngle = useSharedValue(0);\n\n const animatedFrontCardStyle = useAnimatedStyle(() => {\n return {\n zIndex: sharedAngle.value < Z_INDEX_CHANGE_ANGLE ? 2 : 1,\n transform: [\n { perspective: PERSPECTIVE },\n { rotateX: `${sharedAngle.value}deg` },\n ],\n };\n }, []);\n\n const animatedBackCardStyle = useAnimatedStyle(() => {\n return {\n zIndex: sharedAngle.value <= Z_INDEX_CHANGE_ANGLE ? 1 : 2,\n transform: [\n { perspective: PERSPECTIVE },\n { rotateX: `${(sharedAngle.value + 180)}deg` },\n ],\n };\n }, []);\n\n useEffect(() => {\n sharedAngle.value = 0;\n sharedAngle.value = withTiming(180, { duration: 500 });\n }, [reanimationKey]);\n\n return (\n <View style={[styles.container, style]}>\n <Animated.View style={[styles.animatedCard, animatedFrontCardStyle]}>\n {frontCard}\n </Animated.View>\n\n <Animated.View style={[styles.animatedCard, animatedBackCardStyle]}>\n {backCard}\n </Animated.View>\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAGA,MAAMA,MAAM,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC7BC,SAAS,EAAE;IACPC,MAAM,EAAE,EADD;IAEPC,KAAK,EAAE;EAFA,CADkB;EAK7BC,YAAY,EAAE;IACVC,UAAU,EAAE,QADF;IAEVC,kBAAkB,EAAE,QAFV;IAGVC,cAAc,EAAE,QAHN;IAIVC,QAAQ,EAAE;EAJA;AALe,CAAlB,CAAf;;AAaA,MAAMC,WAAW,GAAG,GAApB;AACA,MAAMC,oBAAoB,GAAG,EAA7B;;AAEe,SAASC,QAAT,CAAkBC,KAAlB,EAAwC;EACnD,MAAM;IACFC,QADE;IAEFC,SAFE;IAGFC,cAHE;IAIFC;EAJE,IAKFJ,KALJ;EAOA,MAAMK,WAAW,GAAG,IAAAC,qCAAA,EAAe,CAAf,CAApB;EAEA,MAAMC,sBAAsB,GAAG,IAAAC,uCAAA,EAAiB,MAAM;IAClD,OAAO;MACHC,MAAM,EAAEJ,WAAW,CAACK,KAAZ,GAAoBZ,oBAApB,GAA2C,CAA3C,GAA+C,CADpD;MAEHa,SAAS,EAAE,CACP;QAAEC,WAAW,EAAEf;MAAf,CADO,EAEP;QAAEgB,OAAO,EAAG,GAAER,WAAW,CAACK,KAAM;MAAhC,CAFO;IAFR,CAAP;EAOH,CAR8B,EAQ5B,EAR4B,CAA/B;EAUA,MAAMI,qBAAqB,GAAG,IAAAN,uCAAA,EAAiB,MAAM;IACjD,OAAO;MACHC,MAAM,EAAEJ,WAAW,CAACK,KAAZ,IAAqBZ,oBAArB,GAA4C,CAA5C,GAAgD,CADrD;MAEHa,SAAS,EAAE,CACP;QAAEC,WAAW,EAAEf;MAAf,CADO,EAEP;QAAEgB,OAAO,EAAG,GAAGR,WAAW,CAACK,KAAZ,GAAoB,GAAK;MAAxC,CAFO;IAFR,CAAP;EAOH,CAR6B,EAQ3B,EAR2B,CAA9B;EAUA,IAAAK,gBAAA,EAAU,MAAM;IACZV,WAAW,CAACK,KAAZ,GAAoB,CAApB;IACAL,WAAW,CAACK,KAAZ,GAAoB,IAAAM,iCAAA,EAAW,GAAX,EAAgB;MAAEC,QAAQ,EAAE;IAAZ,CAAhB,CAApB;EACH,CAHD,EAGG,CAACd,cAAD,CAHH;EAKA,oBACI,6BAAC,iBAAD;IAAM,KAAK,EAAE,CAACjB,MAAM,CAACG,SAAR,EAAmBe,KAAnB;EAAb,gBACI,6BAAC,8BAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAAClB,MAAM,CAACM,YAAR,EAAsBe,sBAAtB;EAAtB,GACKL,SADL,CADJ,eAKI,6BAAC,8BAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAAChB,MAAM,CAACM,YAAR,EAAsBsB,qBAAtB;EAAtB,GACKb,QADL,CALJ,CADJ;AAWH;;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["FlipCardProps.ts"],"sourcesContent":["import React from 'react';\nimport { ComponentProps } from '@fountain-ui/core';\n\nexport default interface FlipCardProps extends ComponentProps<{\n /**\n * Element placed on backSide\n */\n backCard: React.ReactElement;\n\n /**\n * Element placed on frontSide\n */\n frontCard: React.ReactElement;\n\n /**\n * The key to reanimate Component, usually includes card content\n */\n reanimationKey?: string;\n}> {}"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { default } from './FlipCard';\nexport type { default as FlipCardProps } from './FlipCardProps';"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './FlipCard';\nexport type { default as FlipCardProps } from './FlipCardProps';"],"mappings":";;;;;;;;;;;;AAAA"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.useStatusBarContext = exports.StatusBarContext = void 0;
6
+ exports.useStatusBarContext = exports.default = exports.StatusBarContext = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Provider.ts"],"names":["StatusBarContext","React","createContext","useStatusBarContext","useContext","Provider"],"mappings":";;;;;;;AAAA;;;;AAUO,MAAMA,gBAAgB,gBAAGC,eAAMC,aAAN,CAAmD,IAAnD,CAAzB;;;;AAEA,MAAMC,mBAAmB,GAAG,MAAM;AACrC,SAAOF,eAAMG,UAAN,CAAiBJ,gBAAjB,CAAP;AACH,CAFM;;;eAIQA,gBAAgB,CAACK,Q","sourcesContent":["import React from 'react';\nimport type { StatusBarStyle } from 'react-native';\n\nexport interface StatusBarProviderValue {\n setTranslucent: (value: boolean) => void;\n setBackgroundColor: (value: string) => void;\n setHidden: (value: boolean) => void;\n setBarStyle: (value: StatusBarStyle, animated?: boolean) => void;\n}\n\nexport const StatusBarContext = React.createContext<StatusBarProviderValue | null>(null);\n\nexport const useStatusBarContext = () => {\n return React.useContext(StatusBarContext);\n};\n\nexport default StatusBarContext.Provider;"]}
1
+ {"version":3,"names":["StatusBarContext","React","createContext","useStatusBarContext","useContext","Provider"],"sources":["Provider.ts"],"sourcesContent":["import React from 'react';\nimport type { StatusBarStyle } from 'react-native';\n\nexport interface StatusBarProviderValue {\n setTranslucent: (value: boolean) => void;\n setBackgroundColor: (value: string) => void;\n setHidden: (value: boolean) => void;\n setBarStyle: (value: StatusBarStyle, animated?: boolean) => void;\n}\n\nexport const StatusBarContext = React.createContext<StatusBarProviderValue | null>(null);\n\nexport const useStatusBarContext = () => {\n return React.useContext(StatusBarContext);\n};\n\nexport default StatusBarContext.Provider;"],"mappings":";;;;;;;AAAA;;;;AAUO,MAAMA,gBAAgB,gBAAGC,cAAA,CAAMC,aAAN,CAAmD,IAAnD,CAAzB;;;;AAEA,MAAMC,mBAAmB,GAAG,MAAM;EACrC,OAAOF,cAAA,CAAMG,UAAN,CAAiBJ,gBAAjB,CAAP;AACH,CAFM;;;eAIQA,gBAAgB,CAACK,Q"}
@@ -1 +1 @@
1
- {"version":3,"sources":["StatusBarProvider.tsx"],"names":["initialVisible","Platform","select","ios","android","StatusBarProvider","props","children","theme","defaultColor","palette","background","default","visible","setVisible","React","useState","backgroundViewColor","setBackgroundViewColor","setBackgroundColor","value","OS","RNStatusBar","setBarStyle","animated","setHidden","setTranslucent","shouldRenderBackgroundView","inset","backgroundViewStyle","backgroundColor","height","top","left","position","right","zIndex","statusBar"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAGA,MAAMA,cAAc,GAAGC,sBAASC,MAAT,CAAgB;AACnCC,EAAAA,GAAG,EAAE,IAD8B;AAEnCC,EAAAA,OAAO,EAAE;AAF0B,CAAhB,CAAvB;;AAKe,SAASC,iBAAT,CAA2BC,KAA3B,EAA0D;AACrE,QAAM;AAAEC,IAAAA;AAAF,MAAeD,KAArB;AAEA,QAAME,KAAK,GAAG,qBAAd;AACA,QAAMC,YAAY,GAAGD,KAAK,CAACE,OAAN,CAAcC,UAAd,CAAyBC,OAA9C;;AAEA,QAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,eAAMC,QAAN,CAAehB,cAAf,CAA9B;;AACA,QAAM,CAACiB,mBAAD,EAAsBC,sBAAtB,IAAgDH,eAAMC,QAAN,CAAeP,YAAf,CAAtD;;AAEA,QAAMU,kBAAkB,GAAIC,KAAD,IAAmB;AAC1C,QAAInB,sBAASoB,EAAT,KAAgB,SAApB,EAA+B;AAC3BC,6BAAYH,kBAAZ,CAA+BC,KAA/B;AACH;;AAED,QAAInB,sBAASoB,EAAT,KAAgB,KAApB,EAA2B;AACvBH,MAAAA,sBAAsB,CAACE,KAAD,CAAtB;AACH;AACJ,GARD;;AAUA,QAAMG,WAAW,GAAG,CAACH,KAAD,EAAwBI,QAAxB,KAA+C;AAC/DF,2BAAYC,WAAZ,CAAwBH,KAAxB,EAA+BI,QAA/B;AACH,GAFD;;AAIA,QAAMC,SAAS,GAAIL,KAAD,IAAoB;AAClC,QAAInB,sBAASoB,EAAT,KAAgB,KAApB,EAA2B;AACvBP,MAAAA,UAAU,CAAC,CAACM,KAAF,CAAV;AACH;;AAEDE,2BAAYG,SAAZ,CAAsBL,KAAtB;AACH,GAND;;AAQA,QAAMM,cAAc,GAAIN,KAAD,IAAoB;AACvC,QAAInB,sBAASoB,EAAT,KAAgB,SAApB,EAA+B;AAC3BC,6BAAYI,cAAZ,CAA2BN,KAA3B;AACH;AACJ,GAJD;;AAMA,QAAMO,0BAA0B,GAAG1B,sBAASoB,EAAT,KAAgB,KAAhB,IAAyBR,OAA5D;AAEA,QAAMe,KAAK,GAAG,oDAAd;AACA,QAAMC,mBAAmB,GAAG,iBAAI,CAC5B;AACIC,IAAAA,eAAe,EAAEb,mBADrB;AAEIc,IAAAA,MAAM,EAAEH,KAAK,CAACI,GAFlB;AAGIC,IAAAA,IAAI,EAAE,CAHV;AAIIC,IAAAA,QAAQ,EAAE,UAJd;AAKIC,IAAAA,KAAK,EAAE,CALX;AAMIH,IAAAA,GAAG,EAAE,CANT;AAOII,IAAAA,MAAM,EAAE5B,KAAK,CAAC4B,MAAN,CAAaC;AAPzB,GAD4B,CAAJ,CAA5B;AAYA,sBACI,6BAAC,iBAAD;AAAU,IAAA,KAAK,EAAE;AACblB,MAAAA,kBADa;AAEbI,MAAAA,WAFa;AAGbE,MAAAA,SAHa;AAIbC,MAAAA;AAJa;AAAjB,KAMKC,0BAA0B,gBACvB,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEE;AAAb,IADuB,GAEvB,IARR,EASKtB,QATL,CADJ;AAaH","sourcesContent":["import React from 'react';\nimport type { StatusBarStyle } from 'react-native';\nimport { Platform, StatusBar as RNStatusBar, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { useTheme } from '@fountain-ui/core';\nimport { css } from '@fountain-ui/styles';\nimport Provider from './Provider';\nimport type StatusBarProviderProps from './StatusBarProviderProps';\n\nconst initialVisible = Platform.select({\n ios: true,\n android: false,\n});\n\nexport default function StatusBarProvider(props: StatusBarProviderProps) {\n const { children } = props;\n\n const theme = useTheme();\n const defaultColor = theme.palette.background.default;\n\n const [visible, setVisible] = React.useState(initialVisible);\n const [backgroundViewColor, setBackgroundViewColor] = React.useState(defaultColor);\n\n const setBackgroundColor = (value: string) => {\n if (Platform.OS === 'android') {\n RNStatusBar.setBackgroundColor(value);\n }\n\n if (Platform.OS === 'ios') {\n setBackgroundViewColor(value);\n }\n };\n\n const setBarStyle = (value: StatusBarStyle, animated?: boolean) => {\n RNStatusBar.setBarStyle(value, animated);\n };\n\n const setHidden = (value: boolean) => {\n if (Platform.OS === 'ios') {\n setVisible(!value);\n }\n\n RNStatusBar.setHidden(value);\n };\n\n const setTranslucent = (value: boolean) => {\n if (Platform.OS === 'android') {\n RNStatusBar.setTranslucent(value);\n }\n };\n\n const shouldRenderBackgroundView = Platform.OS === 'ios' && visible;\n\n const inset = useSafeAreaInsets();\n const backgroundViewStyle = css([\n {\n backgroundColor: backgroundViewColor,\n height: inset.top,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n zIndex: theme.zIndex.statusBar,\n },\n ]);\n\n return (\n <Provider value={{\n setBackgroundColor,\n setBarStyle,\n setHidden,\n setTranslucent,\n }}>\n {shouldRenderBackgroundView ? (\n <View style={backgroundViewStyle}/>\n ) : null}\n {children}\n </Provider>\n );\n}"]}
1
+ {"version":3,"names":["initialVisible","Platform","select","ios","android","StatusBarProvider","props","children","theme","useTheme","defaultColor","palette","background","default","visible","setVisible","React","useState","backgroundViewColor","setBackgroundViewColor","setBackgroundColor","value","OS","RNStatusBar","setBarStyle","animated","setHidden","setTranslucent","shouldRenderBackgroundView","inset","useSafeAreaInsets","backgroundViewStyle","css","backgroundColor","height","top","left","position","right","zIndex","statusBar"],"sources":["StatusBarProvider.tsx"],"sourcesContent":["import React from 'react';\nimport type { StatusBarStyle } from 'react-native';\nimport { Platform, StatusBar as RNStatusBar, View } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { useTheme } from '@fountain-ui/core';\nimport { css } from '@fountain-ui/styles';\nimport Provider from './Provider';\nimport type StatusBarProviderProps from './StatusBarProviderProps';\n\nconst initialVisible = Platform.select({\n ios: true,\n android: false,\n});\n\nexport default function StatusBarProvider(props: StatusBarProviderProps) {\n const { children } = props;\n\n const theme = useTheme();\n const defaultColor = theme.palette.background.default;\n\n const [visible, setVisible] = React.useState(initialVisible);\n const [backgroundViewColor, setBackgroundViewColor] = React.useState(defaultColor);\n\n const setBackgroundColor = (value: string) => {\n if (Platform.OS === 'android') {\n RNStatusBar.setBackgroundColor(value);\n }\n\n if (Platform.OS === 'ios') {\n setBackgroundViewColor(value);\n }\n };\n\n const setBarStyle = (value: StatusBarStyle, animated?: boolean) => {\n RNStatusBar.setBarStyle(value, animated);\n };\n\n const setHidden = (value: boolean) => {\n if (Platform.OS === 'ios') {\n setVisible(!value);\n }\n\n RNStatusBar.setHidden(value);\n };\n\n const setTranslucent = (value: boolean) => {\n if (Platform.OS === 'android') {\n RNStatusBar.setTranslucent(value);\n }\n };\n\n const shouldRenderBackgroundView = Platform.OS === 'ios' && visible;\n\n const inset = useSafeAreaInsets();\n const backgroundViewStyle = css([\n {\n backgroundColor: backgroundViewColor,\n height: inset.top,\n left: 0,\n position: 'absolute',\n right: 0,\n top: 0,\n zIndex: theme.zIndex.statusBar,\n },\n ]);\n\n return (\n <Provider value={{\n setBackgroundColor,\n setBarStyle,\n setHidden,\n setTranslucent,\n }}>\n {shouldRenderBackgroundView ? (\n <View style={backgroundViewStyle}/>\n ) : null}\n {children}\n </Provider>\n );\n}"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AAGA,MAAMA,cAAc,GAAGC,qBAAA,CAASC,MAAT,CAAgB;EACnCC,GAAG,EAAE,IAD8B;EAEnCC,OAAO,EAAE;AAF0B,CAAhB,CAAvB;;AAKe,SAASC,iBAAT,CAA2BC,KAA3B,EAA0D;EACrE,MAAM;IAAEC;EAAF,IAAeD,KAArB;EAEA,MAAME,KAAK,GAAG,IAAAC,cAAA,GAAd;EACA,MAAMC,YAAY,GAAGF,KAAK,CAACG,OAAN,CAAcC,UAAd,CAAyBC,OAA9C;;EAEA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBC,cAAA,CAAMC,QAAN,CAAejB,cAAf,CAA9B;;EACA,MAAM,CAACkB,mBAAD,EAAsBC,sBAAtB,IAAgDH,cAAA,CAAMC,QAAN,CAAeP,YAAf,CAAtD;;EAEA,MAAMU,kBAAkB,GAAIC,KAAD,IAAmB;IAC1C,IAAIpB,qBAAA,CAASqB,EAAT,KAAgB,SAApB,EAA+B;MAC3BC,sBAAA,CAAYH,kBAAZ,CAA+BC,KAA/B;IACH;;IAED,IAAIpB,qBAAA,CAASqB,EAAT,KAAgB,KAApB,EAA2B;MACvBH,sBAAsB,CAACE,KAAD,CAAtB;IACH;EACJ,CARD;;EAUA,MAAMG,WAAW,GAAG,CAACH,KAAD,EAAwBI,QAAxB,KAA+C;IAC/DF,sBAAA,CAAYC,WAAZ,CAAwBH,KAAxB,EAA+BI,QAA/B;EACH,CAFD;;EAIA,MAAMC,SAAS,GAAIL,KAAD,IAAoB;IAClC,IAAIpB,qBAAA,CAASqB,EAAT,KAAgB,KAApB,EAA2B;MACvBP,UAAU,CAAC,CAACM,KAAF,CAAV;IACH;;IAEDE,sBAAA,CAAYG,SAAZ,CAAsBL,KAAtB;EACH,CAND;;EAQA,MAAMM,cAAc,GAAIN,KAAD,IAAoB;IACvC,IAAIpB,qBAAA,CAASqB,EAAT,KAAgB,SAApB,EAA+B;MAC3BC,sBAAA,CAAYI,cAAZ,CAA2BN,KAA3B;IACH;EACJ,CAJD;;EAMA,MAAMO,0BAA0B,GAAG3B,qBAAA,CAASqB,EAAT,KAAgB,KAAhB,IAAyBR,OAA5D;EAEA,MAAMe,KAAK,GAAG,IAAAC,6CAAA,GAAd;EACA,MAAMC,mBAAmB,GAAG,IAAAC,WAAA,EAAI,CAC5B;IACIC,eAAe,EAAEf,mBADrB;IAEIgB,MAAM,EAAEL,KAAK,CAACM,GAFlB;IAGIC,IAAI,EAAE,CAHV;IAIIC,QAAQ,EAAE,UAJd;IAKIC,KAAK,EAAE,CALX;IAMIH,GAAG,EAAE,CANT;IAOII,MAAM,EAAE/B,KAAK,CAAC+B,MAAN,CAAaC;EAPzB,CAD4B,CAAJ,CAA5B;EAYA,oBACI,6BAAC,iBAAD;IAAU,KAAK,EAAE;MACbpB,kBADa;MAEbI,WAFa;MAGbE,SAHa;MAIbC;IAJa;EAAjB,GAMKC,0BAA0B,gBACvB,6BAAC,iBAAD;IAAM,KAAK,EAAEG;EAAb,EADuB,GAEvB,IARR,EASKxB,QATL,CADJ;AAaH"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["StatusBarProviderProps.ts"],"sourcesContent":["import React from 'react';\n\nexport default interface StatusBarProviderProp {\n /**\n * The screens where the statusbar will be visible.\n */\n children: React.ReactNode;\n}"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA","sourcesContent":["export { default } from './StatusBarProvider';\nexport { useStatusBarContext } from './Provider';\nexport type { default as StatusBarProviderProps } from './StatusBarProviderProps';"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './StatusBarProvider';\nexport { useStatusBarContext } from './Provider';\nexport type { default as StatusBarProviderProps } from './StatusBarProviderProps';"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA"}
@@ -11,7 +11,7 @@ var _reactNative = require("react-native");
11
11
 
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
 
14
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
15
15
 
16
16
  const Page = function Page(props) {
17
17
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["ChildrenMemoizedPage.tsx"],"names":["Page","props","isVisible","otherProps","React","memo","prevProps","nextProps","children","isNeighbor","rerenderKey"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAGA,MAAMA,IAAI,GAAG,SAASA,IAAT,CAAcC,KAAd,EAAgC;AACzC,QAAM;AAAEC,IAAAA,SAAF;AAAa,OAAGC;AAAhB,MAA+BF,KAArC;AAEA,sBACI,6BAAC,iBAAD;AACI,IAAA,WAAW,EAAE;AADjB,KAEQE,UAFR,EADJ;AAMH,CATD;;4BAWeC,eAAMC,IAAN,CAAWL,IAAX,EAAiB,CAACM,SAAD,EAAYC,SAAZ,KAA0B;AACtD,MAAID,SAAS,CAACE,QAAV,KAAuB,IAAvB,IAA+BD,SAAS,CAACC,QAAV,KAAuB,IAA1D,EAAgE;AAC5D,WAAO,IAAP;AACH,GAHqD,CAKtD;AACA;;;AACA,MAAIF,SAAS,CAACJ,SAAV,KAAwBK,SAAS,CAACL,SAAtC,EAAiD;AAC7C,WAAO,KAAP;AACH;;AAED,MAAIK,SAAS,CAACL,SAAV,IAAuBK,SAAS,CAACE,UAArC,EAAiD;AAC7C,WAAO,KAAP;AACH;;AAED,MAAIH,SAAS,CAACI,WAAV,KAA0BH,SAAS,CAACG,WAAxC,EAAqD;AACjD,WAAO,KAAP;AACH;;AAED,SAAOJ,SAAS,CAACE,QAAV,KAAuB,IAAvB,IAA+BD,SAAS,CAACC,QAAV,KAAuB,IAA7D;AACH,CApBc,C","sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport type { PageProps } from './ViewPagerProps';\n\nconst Page = function Page(props: PageProps) {\n const { isVisible, ...otherProps } = props;\n\n return (\n <View\n collapsable={false}\n {...otherProps}\n />\n );\n};\n\nexport default React.memo(Page, (prevProps, nextProps) => {\n if (prevProps.children === null && nextProps.children === null) {\n return true;\n }\n\n // isVisible is an important condition for determining memos on the web.\n // Reference ViewPagerWeb's return.\n if (prevProps.isVisible !== nextProps.isVisible) {\n return false;\n }\n\n if (nextProps.isVisible || nextProps.isNeighbor) {\n return false;\n }\n\n if (prevProps.rerenderKey !== nextProps.rerenderKey) {\n return false;\n }\n\n return prevProps.children !== null && nextProps.children !== null;\n});\n"]}
1
+ {"version":3,"names":["Page","props","isVisible","otherProps","React","memo","prevProps","nextProps","children","isNeighbor","rerenderKey"],"sources":["ChildrenMemoizedPage.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport type { PageProps } from './ViewPagerProps';\n\nconst Page = function Page(props: PageProps) {\n const { isVisible, ...otherProps } = props;\n\n return (\n <View\n collapsable={false}\n {...otherProps}\n />\n );\n};\n\nexport default React.memo(Page, (prevProps, nextProps) => {\n if (prevProps.children === null && nextProps.children === null) {\n return true;\n }\n\n // isVisible is an important condition for determining memos on the web.\n // Reference ViewPagerWeb's return.\n if (prevProps.isVisible !== nextProps.isVisible) {\n return false;\n }\n\n if (nextProps.isVisible || nextProps.isNeighbor) {\n return false;\n }\n\n if (prevProps.rerenderKey !== nextProps.rerenderKey) {\n return false;\n }\n\n return prevProps.children !== null && nextProps.children !== null;\n});\n"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAGA,MAAMA,IAAI,GAAG,SAASA,IAAT,CAAcC,KAAd,EAAgC;EACzC,MAAM;IAAEC,SAAF;IAAa,GAAGC;EAAhB,IAA+BF,KAArC;EAEA,oBACI,6BAAC,iBAAD;IACI,WAAW,EAAE;EADjB,GAEQE,UAFR,EADJ;AAMH,CATD;;4BAWeC,cAAA,CAAMC,IAAN,CAAWL,IAAX,EAAiB,CAACM,SAAD,EAAYC,SAAZ,KAA0B;EACtD,IAAID,SAAS,CAACE,QAAV,KAAuB,IAAvB,IAA+BD,SAAS,CAACC,QAAV,KAAuB,IAA1D,EAAgE;IAC5D,OAAO,IAAP;EACH,CAHqD,CAKtD;EACA;;;EACA,IAAIF,SAAS,CAACJ,SAAV,KAAwBK,SAAS,CAACL,SAAtC,EAAiD;IAC7C,OAAO,KAAP;EACH;;EAED,IAAIK,SAAS,CAACL,SAAV,IAAuBK,SAAS,CAACE,UAArC,EAAiD;IAC7C,OAAO,KAAP;EACH;;EAED,IAAIH,SAAS,CAACI,WAAV,KAA0BH,SAAS,CAACG,WAAxC,EAAqD;IACjD,OAAO,KAAP;EACH;;EAED,OAAOJ,SAAS,CAACE,QAAV,KAAuB,IAAvB,IAA+BD,SAAS,CAACC,QAAV,KAAuB,IAA7D;AACH,CApBc,C"}
@@ -5,14 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = ViewPager;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var _viewpager = _interopRequireDefault(require("@react-native-community/viewpager"));
10
+ var _reactNativePagerView = _interopRequireDefault(require("react-native-pager-view"));
11
11
 
12
12
  var _utils = require("./utils");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
16
20
  function ViewPager(props) {
17
21
  const {
18
22
  children,
@@ -27,11 +31,8 @@ function ViewPager(props) {
27
31
  scrollEnabled = true,
28
32
  style
29
33
  } = props;
30
-
31
- const indexRef = _react.default.useRef(index);
32
-
33
- const pagerRef = _react.default.useRef(null);
34
-
34
+ const indexRef = (0, _react.useRef)(index);
35
+ const pagerRef = (0, _react.useRef)(null);
35
36
  const renderer = (0, _utils.usePageRenderer)({
36
37
  enableVisibleHint,
37
38
  index,
@@ -40,24 +41,26 @@ function ViewPager(props) {
40
41
  pageForceRerenderKey,
41
42
  enableNeighborPageRerender
42
43
  });
43
-
44
- const handlePageSelected = _react.default.useCallback(e => {
44
+ const handlePageSelected = (0, _react.useCallback)(e => {
45
45
  indexRef.current = e.nativeEvent.position;
46
46
 
47
47
  if (onChange) {
48
48
  onChange(indexRef.current);
49
49
  }
50
50
  }, [onChange]);
51
-
52
- _react.default.useEffect(() => {
53
- if (index !== indexRef.current) {
51
+ (0, _react.useEffect)(() => {
52
+ const handleNumber = index !== indexRef.current ? requestAnimationFrame(() => {
54
53
  var _pagerRef$current;
55
54
 
56
- (_pagerRef$current = pagerRef.current) === null || _pagerRef$current === void 0 ? void 0 : _pagerRef$current.setPage(index);
57
- }
55
+ return (_pagerRef$current = pagerRef.current) === null || _pagerRef$current === void 0 ? void 0 : _pagerRef$current.setPage(index);
56
+ }) : undefined;
57
+ return () => {
58
+ if (handleNumber) {
59
+ cancelAnimationFrame(handleNumber);
60
+ }
61
+ };
58
62
  }, [index]);
59
-
60
- return /*#__PURE__*/_react.default.createElement(_viewpager.default, {
63
+ return /*#__PURE__*/_react.default.createElement(_reactNativePagerView.default, {
61
64
  initialPage: index,
62
65
  keyboardDismissMode: keyboardDismissMode,
63
66
  onPageSelected: handlePageSelected,
@@ -1 +1 @@
1
- {"version":3,"sources":["ViewPagerNative.tsx"],"names":["ViewPager","props","children","enableVisibleHint","defaultEnableVisibleHint","index","keyboardDismissMode","loading","defaultLoading","onChange","pageComponent","defaultPageComponent","enableNeighborPageRerender","defaultEnableNeighborPageRerender","pageForceRerenderKey","scrollEnabled","style","indexRef","React","useRef","pagerRef","renderer","handlePageSelected","useCallback","e","current","nativeEvent","position","useEffect","setPage"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;AAQe,SAASA,SAAT,CAAmBC,KAAnB,EAA0C;AACrD,QAAM;AACFC,IAAAA,QADE;AAEFC,IAAAA,iBAAiB,GAAGC,+BAFlB;AAGFC,IAAAA,KAHE;AAIFC,IAAAA,mBAAmB,GAAG,SAJpB;AAKFC,IAAAA,OAAO,GAAGC,qBALR;AAMFC,IAAAA,QANE;AAOFC,IAAAA,aAAa,GAAGC,2BAPd;AAQFC,IAAAA,0BAA0B,GAAGC,wCAR3B;AASFC,IAAAA,oBATE;AAUFC,IAAAA,aAAa,GAAG,IAVd;AAWFC,IAAAA;AAXE,MAYFf,KAZJ;;AAcA,QAAMgB,QAAQ,GAAGC,eAAMC,MAAN,CAAqBd,KAArB,CAAjB;;AACA,QAAMe,QAAQ,GAAGF,eAAMC,MAAN,CAAiC,IAAjC,CAAjB;;AAEA,QAAME,QAAQ,GAAG,4BAAgB;AAC7BlB,IAAAA,iBAD6B;AAE7BE,IAAAA,KAF6B;AAG7BE,IAAAA,OAH6B;AAI7BG,IAAAA,aAJ6B;AAK7BI,IAAAA,oBAL6B;AAM7BF,IAAAA;AAN6B,GAAhB,CAAjB;;AASA,QAAMU,kBAAkB,GAAGJ,eAAMK,WAAN,CAAmBC,CAAD,IAAqC;AAC9EP,IAAAA,QAAQ,CAACQ,OAAT,GAAmBD,CAAC,CAACE,WAAF,CAAcC,QAAjC;;AAEA,QAAIlB,QAAJ,EAAc;AACVA,MAAAA,QAAQ,CAACQ,QAAQ,CAACQ,OAAV,CAAR;AACH;AACJ,GAN0B,EAMxB,CAAChB,QAAD,CANwB,CAA3B;;AAQAS,iBAAMU,SAAN,CAAgB,MAAM;AAClB,QAAIvB,KAAK,KAAKY,QAAQ,CAACQ,OAAvB,EAAgC;AAAA;;AAC5B,2BAAAL,QAAQ,CAACK,OAAT,wEAAkBI,OAAlB,CAA0BxB,KAA1B;AACH;AACJ,GAJD,EAIG,CAACA,KAAD,CAJH;;AAMA,sBACI,6BAAC,kBAAD;AACI,IAAA,WAAW,EAAEA,KADjB;AAEI,IAAA,mBAAmB,EAAEC,mBAFzB;AAGI,IAAA,cAAc,EAAEgB,kBAHpB;AAII,IAAA,UAAU,EAAE,CAJhB;AAKI,IAAA,GAAG,EAAEF,QALT;AAMI,IAAA,aAAa,EAAEL,aANnB;AAOI,IAAA,KAAK,EAAEC;AAPX,KASKK,QAAQ,CAACnB,QAAD,CATb,CADJ;AAaH;;AAAA","sourcesContent":["import React from 'react';\nimport RNViewPager, { ViewPagerOnPageSelectedEvent } from '@react-native-community/viewpager';\nimport type ViewPagerProps from './ViewPagerProps';\nimport {\n defaultEnableNeighborPageRerender,\n defaultEnableVisibleHint,\n defaultLoading,\n defaultPageComponent,\n usePageRenderer,\n} from './utils';\n\nexport default function ViewPager(props: ViewPagerProps) {\n const {\n children,\n enableVisibleHint = defaultEnableVisibleHint,\n index,\n keyboardDismissMode = 'on-drag',\n loading = defaultLoading,\n onChange,\n pageComponent = defaultPageComponent,\n enableNeighborPageRerender = defaultEnableNeighborPageRerender,\n pageForceRerenderKey,\n scrollEnabled = true,\n style,\n } = props;\n\n const indexRef = React.useRef<number>(index);\n const pagerRef = React.useRef<RNViewPager | null>(null);\n\n const renderer = usePageRenderer({\n enableVisibleHint,\n index,\n loading,\n pageComponent,\n pageForceRerenderKey,\n enableNeighborPageRerender,\n });\n\n const handlePageSelected = React.useCallback((e: ViewPagerOnPageSelectedEvent) => {\n indexRef.current = e.nativeEvent.position;\n\n if (onChange) {\n onChange(indexRef.current);\n }\n }, [onChange]);\n\n React.useEffect(() => {\n if (index !== indexRef.current) {\n pagerRef.current?.setPage(index);\n }\n }, [index]);\n\n return (\n <RNViewPager\n initialPage={index}\n keyboardDismissMode={keyboardDismissMode}\n onPageSelected={handlePageSelected}\n pageMargin={8}\n ref={pagerRef}\n scrollEnabled={scrollEnabled}\n style={style}\n >\n {renderer(children)}\n </RNViewPager>\n );\n};\n"]}
1
+ {"version":3,"names":["ViewPager","props","children","enableVisibleHint","defaultEnableVisibleHint","index","keyboardDismissMode","loading","defaultLoading","onChange","pageComponent","defaultPageComponent","enableNeighborPageRerender","defaultEnableNeighborPageRerender","pageForceRerenderKey","scrollEnabled","style","indexRef","useRef","pagerRef","renderer","usePageRenderer","handlePageSelected","useCallback","e","current","nativeEvent","position","useEffect","handleNumber","requestAnimationFrame","setPage","undefined","cancelAnimationFrame"],"sources":["ViewPagerNative.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from 'react';\nimport type { ViewPagerOnPageSelectedEvent } from 'react-native-pager-view';\nimport RNViewPager from 'react-native-pager-view';\nimport type ViewPagerProps from './ViewPagerProps';\nimport {\n defaultEnableNeighborPageRerender,\n defaultEnableVisibleHint,\n defaultLoading,\n defaultPageComponent,\n usePageRenderer,\n} from './utils';\n\nexport default function ViewPager(props: ViewPagerProps) {\n const {\n children,\n enableVisibleHint = defaultEnableVisibleHint,\n index,\n keyboardDismissMode = 'on-drag',\n loading = defaultLoading,\n onChange,\n pageComponent = defaultPageComponent,\n enableNeighborPageRerender = defaultEnableNeighborPageRerender,\n pageForceRerenderKey,\n scrollEnabled = true,\n style,\n } = props;\n\n const indexRef = useRef<number>(index);\n const pagerRef = useRef<RNViewPager | null>(null);\n\n const renderer = usePageRenderer({\n enableVisibleHint,\n index,\n loading,\n pageComponent,\n pageForceRerenderKey,\n enableNeighborPageRerender,\n });\n\n const handlePageSelected = useCallback((e: ViewPagerOnPageSelectedEvent) => {\n indexRef.current = e.nativeEvent.position;\n\n if (onChange) {\n onChange(indexRef.current);\n }\n }, [onChange]);\n\n useEffect(() => {\n const handleNumber = index !== indexRef.current\n ? requestAnimationFrame(() => pagerRef.current?.setPage(index))\n : undefined;\n\n return () => {\n if (handleNumber) {\n cancelAnimationFrame(handleNumber);\n }\n };\n }, [index]);\n\n return (\n <RNViewPager\n initialPage={index}\n keyboardDismissMode={keyboardDismissMode}\n onPageSelected={handlePageSelected}\n pageMargin={8}\n ref={pagerRef}\n scrollEnabled={scrollEnabled}\n style={style}\n >\n {renderer(children)}\n </RNViewPager>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;;;;;;;AAQe,SAASA,SAAT,CAAmBC,KAAnB,EAA0C;EACrD,MAAM;IACFC,QADE;IAEFC,iBAAiB,GAAGC,+BAFlB;IAGFC,KAHE;IAIFC,mBAAmB,GAAG,SAJpB;IAKFC,OAAO,GAAGC,qBALR;IAMFC,QANE;IAOFC,aAAa,GAAGC,2BAPd;IAQFC,0BAA0B,GAAGC,wCAR3B;IASFC,oBATE;IAUFC,aAAa,GAAG,IAVd;IAWFC;EAXE,IAYFf,KAZJ;EAcA,MAAMgB,QAAQ,GAAG,IAAAC,aAAA,EAAeb,KAAf,CAAjB;EACA,MAAMc,QAAQ,GAAG,IAAAD,aAAA,EAA2B,IAA3B,CAAjB;EAEA,MAAME,QAAQ,GAAG,IAAAC,sBAAA,EAAgB;IAC7BlB,iBAD6B;IAE7BE,KAF6B;IAG7BE,OAH6B;IAI7BG,aAJ6B;IAK7BI,oBAL6B;IAM7BF;EAN6B,CAAhB,CAAjB;EASA,MAAMU,kBAAkB,GAAG,IAAAC,kBAAA,EAAaC,CAAD,IAAqC;IACxEP,QAAQ,CAACQ,OAAT,GAAmBD,CAAC,CAACE,WAAF,CAAcC,QAAjC;;IAEA,IAAIlB,QAAJ,EAAc;MACVA,QAAQ,CAACQ,QAAQ,CAACQ,OAAV,CAAR;IACH;EACJ,CAN0B,EAMxB,CAAChB,QAAD,CANwB,CAA3B;EAQA,IAAAmB,gBAAA,EAAU,MAAM;IACZ,MAAMC,YAAY,GAAGxB,KAAK,KAAKY,QAAQ,CAACQ,OAAnB,GACfK,qBAAqB,CAAC;MAAA;;MAAA,4BAAMX,QAAQ,CAACM,OAAf,sDAAM,kBAAkBM,OAAlB,CAA0B1B,KAA1B,CAAN;IAAA,CAAD,CADN,GAEf2B,SAFN;IAIA,OAAO,MAAM;MACT,IAAIH,YAAJ,EAAkB;QACdI,oBAAoB,CAACJ,YAAD,CAApB;MACH;IACJ,CAJD;EAKH,CAVD,EAUG,CAACxB,KAAD,CAVH;EAYA,oBACI,6BAAC,6BAAD;IACI,WAAW,EAAEA,KADjB;IAEI,mBAAmB,EAAEC,mBAFzB;IAGI,cAAc,EAAEgB,kBAHpB;IAII,UAAU,EAAE,CAJhB;IAKI,GAAG,EAAEH,QALT;IAMI,aAAa,EAAEJ,aANnB;IAOI,KAAK,EAAEC;EAPX,GASKI,QAAQ,CAAClB,QAAD,CATb,CADJ;AAaH;;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
1
+ {"version":3,"names":[],"sources":["ViewPagerProps.ts"],"sourcesContent":["import React from 'react';\nimport type { ViewProps } from 'react-native';\nimport type { ComponentProps } from '@fountain-ui/core';\n\nexport type KeyboardDismissMode = 'none' | 'on-drag';\n\nexport type PageProps = React.PropsWithChildren<ViewProps> & {\n isNeighbor: boolean;\n isVisible: boolean;\n rerenderKey?: any;\n};\n\nexport type PageComponent = React.ComponentType<PageProps>;\n\nexport type Loading = 'lazy' | 'eager';\n\nexport default interface ViewPagerProps extends ComponentProps<{\n /**\n * Collection of ViewPager components.\n */\n children?: React.ReactNode;\n\n /**\n * If `true`, enable page visible hint.\n * @default false\n */\n enableVisibleHint?: boolean;\n\n /**\n * If `true`, Based on the current index, the pages on the left and right are also rerender.\n * @default false\n */\n enableNeighborPageRerender?: boolean;\n\n /**\n * A number representing the index of the active page.\n */\n index: number,\n\n /**\n * Whether to load the page immediately (`eager`) or on an as-needed basis (`lazy`).\n * @default 'lazy'\n */\n loading?: Loading;\n\n /**\n * Callback fired when an index is changed.\n */\n onChange?: (newIndex: number) => void,\n\n /**\n * The component used to render the wrapper of the page.\n * @default 'ChildrenMemoizedPage'\n */\n pageComponent?: PageComponent,\n\n /**\n * When this value is changed, page will be rerender.\n */\n pageForceRerenderKey?: any;\n\n /**\n * Mobile only. Should pager view scroll, when scroll enabled.\n * @default true\n */\n scrollEnabled?: boolean;\n\n /**\n * Mobile only. Determines whether the keyboard gets dismissed in response to a drag.\n * @default 'on-drag'\n */\n keyboardDismissMode?: KeyboardDismissMode;\n}> {}\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"sources":["ViewPagerWeb.tsx"],"names":["styles","StyleSheet","create","root","overflow","position","none","display","ViewPager","props","children","enableVisibleHint","defaultEnableVisibleHint","enableNeighborPageRerender","defaultEnableNeighborPageRerender","index","loading","defaultLoading","pageComponent","defaultPageComponent","pageForceRerenderKey","style","renderer","React","Children","map","child","i","cloneElement","isVisible","absoluteFill"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;AAQA,MAAMA,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC7BC,EAAAA,IAAI,EAAE;AACF;AACAC,IAAAA,QAAQ,EAAE,MAFR;AAGFC,IAAAA,QAAQ,EAAE;AAHR,GADuB;AAM7BC,EAAAA,IAAI,EAAE;AAAEC,IAAAA,OAAO,EAAE;AAAX;AANuB,CAAlB,CAAf;;AASe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;AACrD,QAAM;AACFC,IAAAA,QADE;AAEFC,IAAAA,iBAAiB,GAAGC,+BAFlB;AAGFC,IAAAA,0BAA0B,GAAGC,wCAH3B;AAIFC,IAAAA,KAJE;AAKFC,IAAAA,OAAO,GAAGC,qBALR;AAMFC,IAAAA,aAAa,GAAGC,2BANd;AAOFC,IAAAA,oBAPE;AAQFC,IAAAA;AARE,MASFZ,KATJ;AAWA,QAAMa,QAAQ,GAAG,4BAAgB;AAC7BX,IAAAA,iBAD6B;AAE7BE,IAAAA,0BAF6B;AAG7BE,IAAAA,KAH6B;AAI7BC,IAAAA,OAJ6B;AAK7BE,IAAAA,aAL6B;AAM7BE,IAAAA;AAN6B,GAAhB,CAAjB;AASA,sBACI,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACpB,MAAM,CAACG,IAAR,EAAckB,KAAd;AAAb,KACKE,eAAMC,QAAN,CAAeC,GAAf,CAAmBH,QAAQ,CAACZ,QAAD,CAA3B,EAAuC,CAACgB,KAAD,EAAQC,CAAR,kBACpCJ,eAAMK,YAAN,CAAmBF,KAAnB,EAAgD;AAC5CG,IAAAA,SAAS,EAAEF,CAAC,KAAKZ,KAD2B;AAE5CM,IAAAA,KAAK,EAAEM,CAAC,KAAKZ,KAAN,GAAcf,MAAM,CAACM,IAArB,GAA4BL,wBAAW6B;AAFF,GAAhD,CADH,CADL,CADJ;AAUH;;AAAA","sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport type ViewPagerProps from './ViewPagerProps';\nimport {\n defaultEnableNeighborPageRerender,\n defaultEnableVisibleHint,\n defaultLoading,\n defaultPageComponent,\n usePageRenderer,\n} from './utils';\n\nconst styles = StyleSheet.create({\n root: {\n // @ts-ignore\n overflow: 'auto',\n position: 'relative',\n },\n none: { display: 'none' },\n});\n\nexport default function ViewPager(props: ViewPagerProps) {\n const {\n children,\n enableVisibleHint = defaultEnableVisibleHint,\n enableNeighborPageRerender = defaultEnableNeighborPageRerender,\n index,\n loading = defaultLoading,\n pageComponent = defaultPageComponent,\n pageForceRerenderKey,\n style,\n } = props;\n\n const renderer = usePageRenderer({\n enableVisibleHint,\n enableNeighborPageRerender,\n index,\n loading,\n pageComponent,\n pageForceRerenderKey,\n });\n\n return (\n <View style={[styles.root, style]}>\n {React.Children.map(renderer(children), (child, i) =>\n React.cloneElement(child as React.ReactElement, {\n isVisible: i === index,\n style: i !== index ? styles.none : StyleSheet.absoluteFill,\n }),\n )}\n </View>\n );\n};\n"]}
1
+ {"version":3,"names":["styles","StyleSheet","create","root","overflow","position","none","display","ViewPager","props","children","enableVisibleHint","defaultEnableVisibleHint","enableNeighborPageRerender","defaultEnableNeighborPageRerender","index","loading","defaultLoading","pageComponent","defaultPageComponent","pageForceRerenderKey","style","renderer","usePageRenderer","React","Children","map","child","i","cloneElement","isVisible","absoluteFill"],"sources":["ViewPagerWeb.tsx"],"sourcesContent":["import React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport type ViewPagerProps from './ViewPagerProps';\nimport {\n defaultEnableNeighborPageRerender,\n defaultEnableVisibleHint,\n defaultLoading,\n defaultPageComponent,\n usePageRenderer,\n} from './utils';\n\nconst styles = StyleSheet.create({\n root: {\n // @ts-ignore\n overflow: 'auto',\n position: 'relative',\n },\n none: { display: 'none' },\n});\n\nexport default function ViewPager(props: ViewPagerProps) {\n const {\n children,\n enableVisibleHint = defaultEnableVisibleHint,\n enableNeighborPageRerender = defaultEnableNeighborPageRerender,\n index,\n loading = defaultLoading,\n pageComponent = defaultPageComponent,\n pageForceRerenderKey,\n style,\n } = props;\n\n const renderer = usePageRenderer({\n enableVisibleHint,\n enableNeighborPageRerender,\n index,\n loading,\n pageComponent,\n pageForceRerenderKey,\n });\n\n return (\n <View style={[styles.root, style]}>\n {React.Children.map(renderer(children), (child, i) =>\n React.cloneElement(child as React.ReactElement, {\n isVisible: i === index,\n style: i !== index ? styles.none : StyleSheet.absoluteFill,\n }),\n )}\n </View>\n );\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;AAQA,MAAMA,MAAM,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC7BC,IAAI,EAAE;IACF;IACAC,QAAQ,EAAE,MAFR;IAGFC,QAAQ,EAAE;EAHR,CADuB;EAM7BC,IAAI,EAAE;IAAEC,OAAO,EAAE;EAAX;AANuB,CAAlB,CAAf;;AASe,SAASC,SAAT,CAAmBC,KAAnB,EAA0C;EACrD,MAAM;IACFC,QADE;IAEFC,iBAAiB,GAAGC,+BAFlB;IAGFC,0BAA0B,GAAGC,wCAH3B;IAIFC,KAJE;IAKFC,OAAO,GAAGC,qBALR;IAMFC,aAAa,GAAGC,2BANd;IAOFC,oBAPE;IAQFC;EARE,IASFZ,KATJ;EAWA,MAAMa,QAAQ,GAAG,IAAAC,sBAAA,EAAgB;IAC7BZ,iBAD6B;IAE7BE,0BAF6B;IAG7BE,KAH6B;IAI7BC,OAJ6B;IAK7BE,aAL6B;IAM7BE;EAN6B,CAAhB,CAAjB;EASA,oBACI,6BAAC,iBAAD;IAAM,KAAK,EAAE,CAACpB,MAAM,CAACG,IAAR,EAAckB,KAAd;EAAb,GACKG,cAAA,CAAMC,QAAN,CAAeC,GAAf,CAAmBJ,QAAQ,CAACZ,QAAD,CAA3B,EAAuC,CAACiB,KAAD,EAAQC,CAAR,kBACpCJ,cAAA,CAAMK,YAAN,CAAmBF,KAAnB,EAAgD;IAC5CG,SAAS,EAAEF,CAAC,KAAKb,KAD2B;IAE5CM,KAAK,EAAEO,CAAC,KAAKb,KAAN,GAAcf,MAAM,CAACM,IAArB,GAA4BL,uBAAA,CAAW8B;EAFF,CAAhD,CADH,CADL,CADJ;AAUH;;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { default } from './ViewPagerWeb';\nexport type { default as ViewPagerProps } from './ViewPagerProps';"]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { default } from './ViewPagerWeb';\nexport type { default as ViewPagerProps } from './ViewPagerProps';"],"mappings":";;;;;;;;;;;;AAAA"}