react-native-dates-picker 0.0.8 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/lib/commonjs/CalendarContext.js.map +1 -1
  2. package/lib/commonjs/DateTimePicker.js +6 -1
  3. package/lib/commonjs/DateTimePicker.js.map +1 -1
  4. package/lib/commonjs/components/Calendar.js +1 -1
  5. package/lib/commonjs/components/Calendar.js.map +1 -1
  6. package/lib/commonjs/components/DatePicker.js +31 -27
  7. package/lib/commonjs/components/DatePicker.js.map +1 -1
  8. package/lib/commonjs/components/Day.js +11 -10
  9. package/lib/commonjs/components/Day.js.map +1 -1
  10. package/lib/commonjs/components/DaySelector.js +1 -1
  11. package/lib/commonjs/components/DaySelector.js.map +1 -1
  12. package/lib/commonjs/components/Header.js.map +1 -1
  13. package/lib/commonjs/components/MonthSelector.js.map +1 -1
  14. package/lib/commonjs/components/TimeSelector.js +6 -3
  15. package/lib/commonjs/components/TimeSelector.js.map +1 -1
  16. package/lib/commonjs/components/WheelPicker/Wheel.js +9 -5
  17. package/lib/commonjs/components/WheelPicker/Wheel.js.map +1 -1
  18. package/lib/commonjs/components/WheelPicker/WheelNative.js +16 -38
  19. package/lib/commonjs/components/WheelPicker/WheelNative.js.map +1 -1
  20. package/lib/commonjs/components/WheelPicker/WheelNativePicker/index.js +10 -0
  21. package/lib/commonjs/components/WheelPicker/WheelNativePicker/index.js.map +1 -0
  22. package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker-item.js +124 -0
  23. package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker-item.js.map +1 -0
  24. package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker.js +169 -0
  25. package/lib/commonjs/components/WheelPicker/WheelNativePicker/wheel-picker.js.map +1 -0
  26. package/lib/commonjs/components/WheelPicker/WheelWeb.js +43 -38
  27. package/lib/commonjs/components/WheelPicker/WheelWeb.js.map +1 -1
  28. package/lib/commonjs/components/WheelPicker/animated-math.js +26 -0
  29. package/lib/commonjs/components/WheelPicker/animated-math.js.map +1 -0
  30. package/lib/commonjs/components/WheelPicker/period-native.js +36 -0
  31. package/lib/commonjs/components/WheelPicker/period-native.js.map +1 -0
  32. package/lib/commonjs/components/WheelPicker/period-picker.js +19 -0
  33. package/lib/commonjs/components/WheelPicker/period-picker.js.map +1 -0
  34. package/lib/commonjs/components/WheelPicker/period-web.js +34 -0
  35. package/lib/commonjs/components/WheelPicker/period-web.js.map +1 -0
  36. package/lib/commonjs/components/YearSelector.js.map +1 -1
  37. package/lib/commonjs/enums.js +5 -4
  38. package/lib/commonjs/enums.js.map +1 -1
  39. package/lib/commonjs/utils.js +4 -1
  40. package/lib/commonjs/utils.js.map +1 -1
  41. package/lib/module/CalendarContext.js.map +1 -1
  42. package/lib/module/DateTimePicker.js +6 -1
  43. package/lib/module/DateTimePicker.js.map +1 -1
  44. package/lib/module/components/Calendar.js +2 -2
  45. package/lib/module/components/Calendar.js.map +1 -1
  46. package/lib/module/components/DatePicker.js +32 -28
  47. package/lib/module/components/DatePicker.js.map +1 -1
  48. package/lib/module/components/Day.js +10 -10
  49. package/lib/module/components/Day.js.map +1 -1
  50. package/lib/module/components/DaySelector.js +1 -1
  51. package/lib/module/components/DaySelector.js.map +1 -1
  52. package/lib/module/components/Header.js.map +1 -1
  53. package/lib/module/components/MonthSelector.js.map +1 -1
  54. package/lib/module/components/TimeSelector.js +7 -4
  55. package/lib/module/components/TimeSelector.js.map +1 -1
  56. package/lib/module/components/WheelPicker/Wheel.js +6 -4
  57. package/lib/module/components/WheelPicker/Wheel.js.map +1 -1
  58. package/lib/module/components/WheelPicker/WheelNative.js +12 -36
  59. package/lib/module/components/WheelPicker/WheelNative.js.map +1 -1
  60. package/lib/module/components/WheelPicker/WheelNativePicker/index.js +3 -0
  61. package/lib/module/components/WheelPicker/WheelNativePicker/index.js.map +1 -0
  62. package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker-item.js +116 -0
  63. package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker-item.js.map +1 -0
  64. package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker.js +160 -0
  65. package/lib/module/components/WheelPicker/WheelNativePicker/wheel-picker.js.map +1 -0
  66. package/lib/module/components/WheelPicker/WheelWeb.js +44 -39
  67. package/lib/module/components/WheelPicker/WheelWeb.js.map +1 -1
  68. package/lib/module/components/WheelPicker/animated-math.js +20 -0
  69. package/lib/module/components/WheelPicker/animated-math.js.map +1 -0
  70. package/lib/module/components/WheelPicker/period-native.js +27 -0
  71. package/lib/module/components/WheelPicker/period-native.js.map +1 -0
  72. package/lib/module/components/WheelPicker/period-picker.js +10 -0
  73. package/lib/module/components/WheelPicker/period-picker.js.map +1 -0
  74. package/lib/module/components/WheelPicker/period-web.js +26 -0
  75. package/lib/module/components/WheelPicker/period-web.js.map +1 -0
  76. package/lib/module/components/YearSelector.js.map +1 -1
  77. package/lib/module/enums.js +4 -3
  78. package/lib/module/enums.js.map +1 -1
  79. package/lib/module/utils.js +4 -1
  80. package/lib/module/utils.js.map +1 -1
  81. package/lib/typescript/CalendarContext.d.ts.map +1 -1
  82. package/lib/typescript/DateTimePicker.d.ts +1 -1
  83. package/lib/typescript/DateTimePicker.d.ts.map +1 -1
  84. package/lib/typescript/components/Calendar.d.ts +1 -1
  85. package/lib/typescript/components/DatePicker.d.ts +2 -2
  86. package/lib/typescript/components/DatePicker.d.ts.map +1 -1
  87. package/lib/typescript/components/Day.d.ts +1 -2
  88. package/lib/typescript/components/Day.d.ts.map +1 -1
  89. package/lib/typescript/components/DaySelector.d.ts +2 -2
  90. package/lib/typescript/components/DaySelector.d.ts.map +1 -1
  91. package/lib/typescript/components/Header.d.ts +2 -2
  92. package/lib/typescript/components/Header.d.ts.map +1 -1
  93. package/lib/typescript/components/MonthSelector.d.ts +2 -2
  94. package/lib/typescript/components/MonthSelector.d.ts.map +1 -1
  95. package/lib/typescript/components/TimeSelector.d.ts +2 -2
  96. package/lib/typescript/components/TimeSelector.d.ts.map +1 -1
  97. package/lib/typescript/components/WheelPicker/Wheel.d.ts +5 -4
  98. package/lib/typescript/components/WheelPicker/Wheel.d.ts.map +1 -1
  99. package/lib/typescript/components/WheelPicker/WheelNative.d.ts +7 -8
  100. package/lib/typescript/components/WheelPicker/WheelNative.d.ts.map +1 -1
  101. package/lib/typescript/components/WheelPicker/WheelNativePicker/index.d.ts +3 -0
  102. package/lib/typescript/components/WheelPicker/WheelNativePicker/index.d.ts.map +1 -0
  103. package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker-item.d.ts +16 -0
  104. package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker-item.d.ts.map +1 -0
  105. package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker.d.ts +20 -0
  106. package/lib/typescript/components/WheelPicker/WheelNativePicker/wheel-picker.d.ts.map +1 -0
  107. package/lib/typescript/components/WheelPicker/WheelWeb.d.ts +5 -4
  108. package/lib/typescript/components/WheelPicker/WheelWeb.d.ts.map +1 -1
  109. package/lib/typescript/components/WheelPicker/animated-math.d.ts +5 -0
  110. package/lib/typescript/components/WheelPicker/animated-math.d.ts.map +1 -0
  111. package/lib/typescript/components/WheelPicker/period-native.d.ts +8 -0
  112. package/lib/typescript/components/WheelPicker/period-native.d.ts.map +1 -0
  113. package/lib/typescript/components/WheelPicker/period-picker.d.ts +8 -0
  114. package/lib/typescript/components/WheelPicker/period-picker.d.ts.map +1 -0
  115. package/lib/typescript/components/WheelPicker/period-web.d.ts +8 -0
  116. package/lib/typescript/components/WheelPicker/period-web.d.ts.map +1 -0
  117. package/lib/typescript/components/YearSelector.d.ts +2 -2
  118. package/lib/typescript/components/YearSelector.d.ts.map +1 -1
  119. package/lib/typescript/enums.d.ts +2 -1
  120. package/lib/typescript/enums.d.ts.map +1 -1
  121. package/lib/typescript/types.d.ts +4 -0
  122. package/lib/typescript/types.d.ts.map +1 -1
  123. package/lib/typescript/utils.d.ts +2 -2
  124. package/lib/typescript/utils.d.ts.map +1 -1
  125. package/package.json +7 -6
  126. package/src/DateTimePicker.tsx +13 -8
  127. package/src/components/Calendar.tsx +4 -4
  128. package/src/components/DatePicker.tsx +33 -42
  129. package/src/components/Day.tsx +10 -10
  130. package/src/components/DaySelector.tsx +2 -2
  131. package/src/components/Header.tsx +1 -1
  132. package/src/components/MonthSelector.tsx +1 -1
  133. package/src/components/TimeSelector.tsx +8 -9
  134. package/src/components/WheelPicker/Wheel.tsx +9 -9
  135. package/src/components/WheelPicker/WheelNative.tsx +17 -39
  136. package/src/components/WheelPicker/WheelNativePicker/index.ts +3 -0
  137. package/src/components/WheelPicker/WheelNativePicker/wheel-picker-item.tsx +137 -0
  138. package/src/components/WheelPicker/WheelNativePicker/wheel-picker.tsx +214 -0
  139. package/src/components/WheelPicker/WheelWeb.tsx +83 -64
  140. package/src/components/WheelPicker/animated-math.ts +33 -0
  141. package/src/components/WheelPicker/period-native.tsx +39 -0
  142. package/src/components/WheelPicker/period-picker.tsx +16 -0
  143. package/src/components/WheelPicker/period-web.tsx +37 -0
  144. package/src/components/YearSelector.tsx +1 -1
  145. package/src/enums.ts +4 -3
  146. package/src/types.ts +5 -0
  147. package/src/utils.ts +3 -3
  148. /package/src/{CalendarContext.tsx → CalendarContext.ts} +0 -0
@@ -3,13 +3,17 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = Wheel;
7
- var _react = _interopRequireDefault(require("react"));
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _WheelNative = _interopRequireDefault(require("./WheelNative"));
10
10
  var _WheelWeb = _interopRequireDefault(require("./WheelWeb"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function Wheel(props) {
13
- return _reactNative.Platform.OS === 'web' ? /*#__PURE__*/_react.default.createElement(_WheelWeb.default, props) : /*#__PURE__*/_react.default.createElement(_WheelNative.default, props);
14
- }
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ const Wheel = props => {
15
+ const Component = _reactNative.Platform.OS === 'web' ? _WheelWeb.default : _WheelNative.default;
16
+ return /*#__PURE__*/_react.default.createElement(Component, props);
17
+ };
18
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(Wheel);
15
19
  //# sourceMappingURL=Wheel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_WheelNative","_WheelWeb","obj","__esModule","default","Wheel","props","Platform","OS","createElement"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/Wheel.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAAkC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AASnB,SAASG,KAAKA,CAACC,KAAiB,EAAE;EAC/C,OAAOC,qBAAQ,CAACC,EAAE,KAAK,KAAK,gBAC1BZ,MAAA,CAAAQ,OAAA,CAAAK,aAAA,CAACR,SAAA,CAAAG,OAAQ,EAAKE,KAAQ,CAAC,gBAEvBV,MAAA,CAAAQ,OAAA,CAAAK,aAAA,CAACT,YAAA,CAAAI,OAAW,EAAKE,KAAQ,CAC1B;AACH"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_WheelNative","_interopRequireDefault","_WheelWeb","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Wheel","props","Component","Platform","OS","WheelWeb","WheelNative","createElement","_default","exports","memo"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/Wheel.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAAkC,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAUlC,MAAMY,KAA2B,GAAIC,KAAK,IAAK;EAC7C,MAAMC,SAAS,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAGC,iBAAQ,GAAGC,oBAAW;EAChE,oBAAOnC,MAAA,CAAAS,OAAA,CAAA2B,aAAA,CAACL,SAAS,EAAKD,KAAQ,CAAC;AACjC,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAA7B,OAAA,gBAEa,IAAA8B,WAAI,EAACV,KAAK,CAAC"}
@@ -3,44 +3,29 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = WheelNative;
7
- var _react = _interopRequireDefault(require("react"));
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
- var _reactNativeWheely = _interopRequireDefault(require("react-native-wheely"));
10
- var _CalendarContext = require("../../CalendarContext");
9
+ var _WheelNativePicker = _interopRequireDefault(require("./WheelNativePicker"));
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function WheelNative({
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ const WheelNative = ({
13
14
  value,
14
15
  setValue = () => {},
15
- items,
16
- indicatorStyle
17
- }) {
18
- const {
19
- theme
20
- } = (0, _CalendarContext.useCalendarContext)();
21
- return /*#__PURE__*/_react.default.createElement(_reactNativeWheely.default, {
22
- selectedIndex: value < 0 ? 0 : value,
16
+ items
17
+ }) => {
18
+ return /*#__PURE__*/_react.default.createElement(_WheelNativePicker.default, {
19
+ value: value,
23
20
  options: items,
24
21
  onChange: setValue,
25
- containerStyle: {
26
- ...styles.container,
27
- ...(theme === null || theme === void 0 ? void 0 : theme.wheelPickerContainerStyle)
28
- },
29
- itemStyle: theme === null || theme === void 0 ? void 0 : theme.wheelPickerItemStyle,
30
- itemTextStyle: {
31
- ...styles.wheelPickerText,
32
- ...(theme === null || theme === void 0 ? void 0 : theme.wheelPickerTextStyle)
33
- },
34
- selectedIndicatorStyle: {
35
- ...styles.wheelSelectedIndicator,
36
- ...indicatorStyle,
37
- ...(theme === null || theme === void 0 ? void 0 : theme.wheelPickerIndicatorStyle)
38
- },
39
- itemHeight: 45,
40
- decelerationRate: theme === null || theme === void 0 ? void 0 : theme.wheelPickerDecelerationRate
22
+ containerStyle: defaultStyles.container,
23
+ itemHeight: 44,
24
+ decelerationRate: "fast"
41
25
  });
42
- }
43
- const styles = _reactNative.StyleSheet.create({
26
+ };
27
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(WheelNative);
28
+ const defaultStyles = _reactNative.StyleSheet.create({
44
29
  container: {
45
30
  display: 'flex',
46
31
  ..._reactNative.Platform.select({
@@ -48,13 +33,6 @@ const styles = _reactNative.StyleSheet.create({
48
33
  userSelect: 'none'
49
34
  }
50
35
  })
51
- },
52
- wheelSelectedIndicator: {
53
- borderRadius: 10
54
- },
55
- wheelPickerText: {
56
- fontSize: 18,
57
- fontWeight: '500'
58
36
  }
59
37
  });
60
38
  //# sourceMappingURL=WheelNative.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeWheely","_CalendarContext","obj","__esModule","default","WheelNative","value","setValue","items","indicatorStyle","theme","useCalendarContext","createElement","selectedIndex","options","onChange","containerStyle","styles","container","wheelPickerContainerStyle","itemStyle","wheelPickerItemStyle","itemTextStyle","wheelPickerText","wheelPickerTextStyle","selectedIndicatorStyle","wheelSelectedIndicator","wheelPickerIndicatorStyle","itemHeight","decelerationRate","wheelPickerDecelerationRate","StyleSheet","create","display","Platform","select","web","userSelect","borderRadius","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/WheelNative.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAA2D,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAS5C,SAASG,WAAWA,CAAC;EAClCC,KAAK;EACLC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnBC,KAAK;EACLC;AACU,CAAC,EAAE;EACb,MAAM;IAAEC;EAAM,CAAC,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EAEtC,oBACEf,MAAA,CAAAQ,OAAA,CAAAQ,aAAA,CAACZ,kBAAA,CAAAI,OAAW;IACVS,aAAa,EAAEP,KAAK,GAAG,CAAC,GAAG,CAAC,GAAGA,KAAM;IACrCQ,OAAO,EAAEN,KAAM;IACfO,QAAQ,EAAER,QAAS;IACnBS,cAAc,EAAE;MACd,GAAGC,MAAM,CAACC,SAAS;MACnB,IAAGR,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAES,yBAAyB;IACrC,CAAE;IACFC,SAAS,EAAEV,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEW,oBAAqB;IACvCC,aAAa,EAAE;MACb,GAAGL,MAAM,CAACM,eAAe;MACzB,IAAGb,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEc,oBAAoB;IAChC,CAAE;IACFC,sBAAsB,EAAE;MACtB,GAAGR,MAAM,CAACS,sBAAsB;MAChC,GAAGjB,cAAc;MACjB,IAAGC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEiB,yBAAyB;IACrC,CAAE;IACFC,UAAU,EAAE,EAAG;IACfC,gBAAgB,EAAEnB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEoB;EAA4B,CACtD,CAAC;AAEN;AAEA,MAAMb,MAAM,GAAGc,uBAAU,CAACC,MAAM,CAAC;EAC/Bd,SAAS,EAAE;IACTe,OAAO,EAAE,MAAM;IACf,GAAGC,qBAAQ,CAACC,MAAM,CAAC;MACjBC,GAAG,EAAE;QACHC,UAAU,EAAE;MACd;IACF,CAAC;EACH,CAAC;EACDX,sBAAsB,EAAE;IACtBY,YAAY,EAAE;EAChB,CAAC;EACDf,eAAe,EAAE;IACfgB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_WheelNativePicker","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","WheelNative","value","setValue","items","createElement","options","onChange","containerStyle","defaultStyles","container","itemHeight","decelerationRate","_default","exports","memo","StyleSheet","create","display","Platform","select","web","userSelect"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/WheelNative.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA8C,SAAAG,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAT,wBAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAS9C,MAAMY,WAAiC,GAAGA,CAAC;EACzCC,KAAK;EACLC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnBC;AACF,CAAC,KAAK;EACJ,oBACE/B,MAAA,CAAAQ,OAAA,CAAAwB,aAAA,CAAC5B,kBAAA,CAAAI,OAAW;IACVqB,KAAK,EAAEA,KAAM;IACbI,OAAO,EAAEF,KAAM;IACfG,QAAQ,EAAEJ,QAAS;IACnBK,cAAc,EAAEC,aAAa,CAACC,SAAU;IACxCC,UAAU,EAAE,EAAG;IACfC,gBAAgB,EAAC;EAAM,CACxB,CAAC;AAEN,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAjC,OAAA,gBAEa,IAAAkC,WAAI,EAACd,WAAW,CAAC;AAEhC,MAAMQ,aAAa,GAAGO,uBAAU,CAACC,MAAM,CAAC;EACtCP,SAAS,EAAE;IACTQ,OAAO,EAAE,MAAM;IACf,GAAGC,qBAAQ,CAACC,MAAM,CAAC;MACjBC,GAAG,EAAE;QACHC,UAAU,EAAE;MACd;IACF,CAAC;EACH;AACF,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _wheelPicker = _interopRequireDefault(require("./wheel-picker"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var _default = exports.default = _wheelPicker.default;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_wheelPicker","_interopRequireDefault","require","obj","__esModule","default","_default","exports","WheelPicker"],"sourceRoot":"../../../../../src","sources":["components/WheelPicker/WheelNativePicker/index.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAyC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAE1BG,oBAAW"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ const WheelPickerItem = ({
12
+ height,
13
+ option,
14
+ index,
15
+ visibleRest,
16
+ currentScrollIndex,
17
+ opacityFunction,
18
+ rotationFunction,
19
+ scaleFunction
20
+ }) => {
21
+ const relativeScrollIndex = _reactNative.Animated.subtract(index, currentScrollIndex);
22
+ const translateY = relativeScrollIndex.interpolate({
23
+ inputRange: (() => {
24
+ const range = [0];
25
+ for (let i = 1; i <= visibleRest + 1; i++) {
26
+ range.unshift(-i);
27
+ range.push(i);
28
+ }
29
+ return range;
30
+ })(),
31
+ outputRange: (() => {
32
+ const range = [0];
33
+ for (let i = 1; i <= visibleRest + 1; i++) {
34
+ let y = height / 2 * (1 - Math.sin(Math.PI / 2 - rotationFunction(i)));
35
+ for (let j = 1; j < i; j++) {
36
+ y += height * (1 - Math.sin(Math.PI / 2 - rotationFunction(j)));
37
+ }
38
+ range.unshift(y);
39
+ range.push(-y);
40
+ }
41
+ return range;
42
+ })()
43
+ });
44
+ const opacity = relativeScrollIndex.interpolate({
45
+ inputRange: (() => {
46
+ const range = [0];
47
+ for (let i = 1; i <= visibleRest + 1; i++) {
48
+ range.unshift(-i);
49
+ range.push(i);
50
+ }
51
+ return range;
52
+ })(),
53
+ outputRange: (() => {
54
+ const range = [1];
55
+ for (let x = 1; x <= visibleRest + 1; x++) {
56
+ const y = opacityFunction(x);
57
+ range.unshift(y);
58
+ range.push(y);
59
+ }
60
+ return range;
61
+ })()
62
+ });
63
+ const scale = relativeScrollIndex.interpolate({
64
+ inputRange: (() => {
65
+ const range = [0];
66
+ for (let i = 1; i <= visibleRest + 1; i++) {
67
+ range.unshift(-i);
68
+ range.push(i);
69
+ }
70
+ return range;
71
+ })(),
72
+ outputRange: (() => {
73
+ const range = [1.0];
74
+ for (let x = 1; x <= visibleRest + 1; x++) {
75
+ const y = scaleFunction(x);
76
+ range.unshift(y);
77
+ range.push(y);
78
+ }
79
+ return range;
80
+ })()
81
+ });
82
+ const rotateX = relativeScrollIndex.interpolate({
83
+ inputRange: (() => {
84
+ const range = [0];
85
+ for (let i = 1; i <= visibleRest + 1; i++) {
86
+ range.unshift(-i);
87
+ range.push(i);
88
+ }
89
+ return range;
90
+ })(),
91
+ outputRange: (() => {
92
+ const range = ['0deg'];
93
+ for (let x = 1; x <= visibleRest + 1; x++) {
94
+ const y = rotationFunction(x);
95
+ range.unshift(`${y}deg`);
96
+ range.push(`${y}deg`);
97
+ }
98
+ return range;
99
+ })()
100
+ });
101
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
102
+ style: [styles.option, {
103
+ height,
104
+ opacity,
105
+ transform: [{
106
+ translateY
107
+ }, {
108
+ rotateX
109
+ }, {
110
+ scale
111
+ }]
112
+ }]
113
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, option === null || option === void 0 ? void 0 : option.text));
114
+ };
115
+ const styles = _reactNative.StyleSheet.create({
116
+ option: {
117
+ alignItems: 'center',
118
+ justifyContent: 'center',
119
+ paddingHorizontal: 10,
120
+ zIndex: 100
121
+ }
122
+ });
123
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(WheelPickerItem);
124
+ //# sourceMappingURL=wheel-picker-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","WheelPickerItem","height","option","index","visibleRest","currentScrollIndex","opacityFunction","rotationFunction","scaleFunction","relativeScrollIndex","Animated","subtract","translateY","interpolate","inputRange","range","unshift","push","outputRange","y","Math","sin","PI","j","opacity","x","scale","rotateX","createElement","View","style","styles","transform","Text","text","StyleSheet","create","alignItems","justifyContent","paddingHorizontal","zIndex","_default","exports","memo"],"sourceRoot":"../../../../../src","sources":["components/WheelPicker/WheelNativePicker/wheel-picker-item.tsx"],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _wheelPickerItem = _interopRequireDefault(require("./wheel-picker-item"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ 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); }
14
+ const WheelPicker = ({
15
+ value,
16
+ options,
17
+ onChange,
18
+ itemHeight = 40,
19
+ scaleFunction = x => 1.0 ** x,
20
+ rotationFunction = x => 1 - Math.pow(1 / 2, x),
21
+ opacityFunction = x => Math.pow(1 / 3, x),
22
+ visibleRest = 2,
23
+ decelerationRate = 'normal',
24
+ containerProps = {},
25
+ flatListProps = {}
26
+ }) => {
27
+ const momentumStarted = (0, _react.useRef)(false);
28
+ const selectedIndex = options.findIndex(item => item.value === value);
29
+ const flatListRef = (0, _react.useRef)(null);
30
+ const [scrollY] = (0, _react.useState)(new _reactNative.Animated.Value(selectedIndex * itemHeight));
31
+ const containerHeight = (1 + visibleRest * 2) * itemHeight;
32
+ const paddedOptions = (0, _react.useMemo)(() => {
33
+ const array = [...options];
34
+ for (let i = 0; i < visibleRest; i++) {
35
+ array.unshift(null);
36
+ array.push(null);
37
+ }
38
+ return array;
39
+ }, [options, visibleRest]);
40
+ const offsets = (0, _react.useMemo)(() => [...Array(paddedOptions.length)].map((_, i) => i * itemHeight), [paddedOptions, itemHeight]);
41
+ const currentScrollIndex = (0, _react.useMemo)(() => _reactNative.Animated.add(_reactNative.Animated.divide(scrollY, itemHeight), visibleRest), [visibleRest, scrollY, itemHeight]);
42
+ const handleScrollEnd = event => {
43
+ const offsetY = Math.min(itemHeight * (options.length - 1), Math.max(event.nativeEvent.contentOffset.y, 0));
44
+ let index = Math.floor(offsetY / itemHeight);
45
+ const remainder = offsetY % itemHeight;
46
+ if (remainder > itemHeight / 2) {
47
+ index++;
48
+ }
49
+ if (index !== selectedIndex) {
50
+ var _options$index;
51
+ onChange(((_options$index = options[index]) === null || _options$index === void 0 ? void 0 : _options$index.value) || 0);
52
+ }
53
+ };
54
+ const handleMomentumScrollBegin = () => {
55
+ momentumStarted.current = true;
56
+ };
57
+ const handleMomentumScrollEnd = event => {
58
+ momentumStarted.current = false;
59
+ handleScrollEnd(event);
60
+ };
61
+ const handleScrollEndDrag = event => {
62
+ var _event$nativeEvent$co;
63
+ // Capture the offset value immediately
64
+ const offsetY = (_event$nativeEvent$co = event.nativeEvent.contentOffset) === null || _event$nativeEvent$co === void 0 ? void 0 : _event$nativeEvent$co.y;
65
+
66
+ // We'll start a short timer to see if momentum scroll begins
67
+ setTimeout(() => {
68
+ // If momentum scroll hasn't started within the timeout,
69
+ // then it was a slow scroll that won't trigger momentum
70
+ if (!momentumStarted.current && offsetY !== undefined) {
71
+ // Create a synthetic event with just the data we need
72
+ const syntheticEvent = {
73
+ nativeEvent: {
74
+ contentOffset: {
75
+ y: offsetY
76
+ }
77
+ }
78
+ };
79
+ handleScrollEnd(syntheticEvent);
80
+ }
81
+ }, 50);
82
+ };
83
+ (0, _react.useEffect)(() => {
84
+ if (selectedIndex < 0 || selectedIndex >= options.length) {
85
+ throw new Error(`Selected index ${selectedIndex} is out of bounds [0, ${options.length - 1}]`);
86
+ }
87
+ }, [selectedIndex, options]);
88
+
89
+ /**
90
+ * If selectedIndex is changed from outside (not via onChange) we need to scroll to the specified index.
91
+ * This ensures that what the user sees as selected in the picker always corresponds to the value state.
92
+ */
93
+ (0, _react.useEffect)(() => {
94
+ var _flatListRef$current;
95
+ (_flatListRef$current = flatListRef.current) === null || _flatListRef$current === void 0 || _flatListRef$current.scrollToIndex({
96
+ index: selectedIndex,
97
+ animated: _reactNative.Platform.OS === 'ios'
98
+ });
99
+ }, [selectedIndex, itemHeight]);
100
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
101
+ style: [styles.container, {
102
+ height: containerHeight
103
+ }]
104
+ }, containerProps), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
105
+ style: [styles.selectedIndicator, {
106
+ transform: [{
107
+ translateY: -itemHeight / 2
108
+ }],
109
+ height: itemHeight
110
+ }]
111
+ }), /*#__PURE__*/_react.default.createElement(_reactNative.Animated.FlatList, _extends({}, flatListProps, {
112
+ ref: flatListRef,
113
+ nestedScrollEnabled: true,
114
+ style: styles.scrollView,
115
+ showsVerticalScrollIndicator: false,
116
+ onScroll: _reactNative.Animated.event([{
117
+ nativeEvent: {
118
+ contentOffset: {
119
+ y: scrollY
120
+ }
121
+ }
122
+ }], {
123
+ useNativeDriver: true
124
+ }),
125
+ onScrollEndDrag: handleScrollEndDrag,
126
+ onMomentumScrollBegin: handleMomentumScrollBegin,
127
+ onMomentumScrollEnd: handleMomentumScrollEnd,
128
+ snapToOffsets: offsets,
129
+ decelerationRate: decelerationRate,
130
+ initialScrollIndex: selectedIndex,
131
+ getItemLayout: (_, index) => ({
132
+ length: itemHeight,
133
+ offset: itemHeight * index,
134
+ index
135
+ }),
136
+ data: paddedOptions,
137
+ keyExtractor: (item, index) => item ? `${item.value}-${item.text}-${index}` : `null-${index}`,
138
+ renderItem: ({
139
+ item: option,
140
+ index
141
+ }) => /*#__PURE__*/_react.default.createElement(_wheelPickerItem.default, {
142
+ key: `option-${index}`,
143
+ index: index,
144
+ option: option,
145
+ height: itemHeight,
146
+ currentScrollIndex: currentScrollIndex,
147
+ scaleFunction: scaleFunction,
148
+ rotationFunction: rotationFunction,
149
+ opacityFunction: opacityFunction,
150
+ visibleRest: visibleRest
151
+ })
152
+ })));
153
+ };
154
+ const styles = _reactNative.StyleSheet.create({
155
+ container: {
156
+ position: 'relative'
157
+ },
158
+ selectedIndicator: {
159
+ position: 'absolute',
160
+ width: '100%',
161
+ top: '50%'
162
+ },
163
+ scrollView: {
164
+ overflow: 'hidden',
165
+ flex: 1
166
+ }
167
+ });
168
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(WheelPicker);
169
+ //# sourceMappingURL=wheel-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_wheelPickerItem","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","WheelPicker","value","options","onChange","itemHeight","scaleFunction","x","rotationFunction","Math","pow","opacityFunction","visibleRest","decelerationRate","containerProps","flatListProps","momentumStarted","useRef","selectedIndex","findIndex","item","flatListRef","scrollY","useState","Animated","Value","containerHeight","paddedOptions","useMemo","array","unshift","push","offsets","Array","map","_","currentScrollIndex","add","divide","handleScrollEnd","event","offsetY","min","max","nativeEvent","contentOffset","y","index","floor","remainder","_options$index","handleMomentumScrollBegin","current","handleMomentumScrollEnd","handleScrollEndDrag","_event$nativeEvent$co","setTimeout","undefined","syntheticEvent","useEffect","Error","_flatListRef$current","scrollToIndex","animated","Platform","OS","createElement","View","style","styles","container","height","selectedIndicator","transform","translateY","FlatList","ref","nestedScrollEnabled","scrollView","showsVerticalScrollIndicator","onScroll","useNativeDriver","onScrollEndDrag","onMomentumScrollBegin","onMomentumScrollEnd","snapToOffsets","initialScrollIndex","getItemLayout","offset","data","keyExtractor","text","renderItem","option","StyleSheet","create","position","width","top","overflow","flex","_default","exports","memo"],"sourceRoot":"../../../../../src","sources":["components/WheelPicker/WheelNativePicker/wheel-picker.tsx"],"mappings":"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"}
@@ -6,27 +6,27 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
- var _CalendarContext = require("../../CalendarContext");
10
- var _AnimatedMath = require("./AnimatedMath");
9
+ var _animatedMath = require("./animated-math");
11
10
  var _enums = require("../../enums");
11
+ var _lodash = require("lodash");
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
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
+ const ITEM_HEIGHT = 44;
15
16
  const WheelWeb = ({
16
17
  value,
17
18
  setValue = () => {},
18
19
  items
19
20
  }) => {
20
- const {
21
- theme
22
- } = (0, _CalendarContext.useCalendarContext)();
23
21
  const displayCount = 5;
24
22
  const translateY = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
25
23
  const renderCount = displayCount * 2 < items.length ? displayCount * 8 : displayCount * 2 - 1;
26
24
  const circular = items.length >= displayCount;
27
- const height = 130;
25
+ const height = 140;
28
26
  const radius = height / 2;
29
- const valueIndex = (0, _react.useMemo)(() => items.indexOf(('0' + value).slice(-2)), [items, value]);
27
+ const valueIndex = (0, _react.useMemo)(() => {
28
+ return items.findIndex(item => item.value === value) || 0;
29
+ }, [items, value]);
30
30
  const panResponder = (0, _react.useMemo)(() => {
31
31
  return _reactNative.PanResponder.create({
32
32
  onMoveShouldSetPanResponder: () => true,
@@ -39,14 +39,15 @@ const WheelWeb = ({
39
39
  evt.stopPropagation();
40
40
  },
41
41
  onPanResponderRelease: (_, gestureState) => {
42
+ var _items$;
42
43
  translateY.extractOffset();
43
44
  let newValueIndex = valueIndex - Math.round(gestureState.dy / (radius * 2 / displayCount));
44
45
  if (circular) newValueIndex = (newValueIndex + items.length) % items.length;else if (newValueIndex < 0) newValueIndex = 0;else if (newValueIndex >= items.length) newValueIndex = items.length - 1;
45
- const newValue = items[newValueIndex] || '00';
46
- if (newValue === ('0' + value).slice(-2)) {
46
+ const newValue = items[newValueIndex];
47
+ if ((newValue === null || newValue === void 0 ? void 0 : newValue.value) === value) {
47
48
  translateY.setOffset(0);
48
49
  translateY.setValue(0);
49
- } else setValue(parseInt(newValue, 10));
50
+ } else if (newValue !== null && newValue !== void 0 && newValue.value) setValue(newValue.value);else if ((_items$ = items[0]) !== null && _items$ !== void 0 && _items$.value) setValue(items[0].value);
50
51
  }
51
52
  });
52
53
  }, [circular, displayCount, radius, setValue, value, valueIndex, items, translateY]);
@@ -56,17 +57,14 @@ const WheelWeb = ({
56
57
  length: renderCount
57
58
  }, (_, index) => {
58
59
  let targetIndex = valueIndex + index - centerIndex;
59
- if (targetIndex < 0 || targetIndex >= items.length) {
60
- if (!circular) return 0;
61
- targetIndex = (targetIndex + items.length) % items.length;
62
- }
63
- return items[targetIndex] || 0;
60
+ if (circular) targetIndex = (targetIndex % items.length + items.length) % items.length;else targetIndex = Math.max(0, Math.min(targetIndex, items.length - 1));
61
+ return items[targetIndex] || items[0];
64
62
  });
65
63
  }, [renderCount, valueIndex, items, circular]);
66
64
  const animatedAngles = (0, _react.useMemo)(() => {
67
65
  //translateY.setValue(0);
68
66
  translateY.setOffset(0);
69
- const currentIndex = displayValues.indexOf(('0' + value).slice(-2));
67
+ const currentIndex = displayValues.findIndex(item => (item === null || item === void 0 ? void 0 : item.value) === value);
70
68
  return displayValues && displayValues.length > 0 ? displayValues.map((_, index) => translateY.interpolate({
71
69
  inputRange: [-radius, radius],
72
70
  outputRange: [-radius + radius * 2 / displayCount * (index - currentIndex), radius + radius * 2 / displayCount * (index - currentIndex)],
@@ -78,21 +76,25 @@ const WheelWeb = ({
78
76
  })) : [];
79
77
  }, [displayValues, radius, value, displayCount, translateY]);
80
78
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, _extends({
81
- style: [styles.container]
82
- }, panResponder.panHandlers), displayValues === null || displayValues === void 0 ? void 0 : displayValues.map((displayValue, index) => {
79
+ style: [defaultStyles.container]
80
+ }, panResponder.panHandlers), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
81
+ style: [defaultStyles.selectedIndicator, {
82
+ transform: [{
83
+ translateY: -ITEM_HEIGHT / 2
84
+ }],
85
+ height: ITEM_HEIGHT
86
+ }]
87
+ }), displayValues === null || displayValues === void 0 ? void 0 : displayValues.map((displayValue, index) => {
83
88
  const animatedAngle = animatedAngles[index];
84
- return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.Text, {
85
- key: `${displayValue}-${index}`,
86
- style: [{
87
- ...styles.wheelPickerText,
88
- ...(theme === null || theme === void 0 ? void 0 : theme.wheelPickerTextStyle)
89
- },
89
+ return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
90
+ key: `${displayValue === null || displayValue === void 0 ? void 0 : displayValue.text}-${index}`
90
91
  // eslint-disable-next-line react-native/no-inline-styles
91
- {
92
+ ,
93
+ style: {
92
94
  position: 'absolute',
93
- height: 25,
95
+ height: ITEM_HEIGHT - 10,
94
96
  transform: animatedAngle ? [{
95
- translateY: _reactNative.Animated.multiply(radius, (0, _AnimatedMath.sin)(animatedAngle))
97
+ translateY: _reactNative.Animated.multiply(radius, (0, _animatedMath.sin)(animatedAngle))
96
98
  }, {
97
99
  rotateX: animatedAngle.interpolate({
98
100
  inputRange: [-Math.PI / 2, Math.PI / 2],
@@ -100,18 +102,18 @@ const WheelWeb = ({
100
102
  extrapolate: 'clamp'
101
103
  })
102
104
  }] : [],
103
- opacity: displayValue !== ('0' + value).slice(-2) ? 0.3 : 1
104
- }]
105
- }, displayValue);
105
+ opacity: (displayValue === null || displayValue === void 0 ? void 0 : displayValue.value) !== value ? 0.3 : 1
106
+ }
107
+ }, /*#__PURE__*/_react.default.createElement(_reactNative.Text, null, displayValue === null || displayValue === void 0 ? void 0 : displayValue.text));
106
108
  }));
107
109
  };
108
- const styles = _reactNative.StyleSheet.create({
110
+ const defaultStyles = _reactNative.StyleSheet.create({
109
111
  container: {
110
112
  minWidth: 30,
111
113
  overflow: 'hidden',
112
114
  alignItems: 'center',
113
115
  justifyContent: 'center',
114
- height: _enums.CALENDAR_HEIGHT / 2,
116
+ height: _enums.CONTAINER_HEIGHT / 2,
115
117
  ..._reactNative.Platform.select({
116
118
  web: {
117
119
  cursor: 'pointer',
@@ -123,12 +125,15 @@ const styles = _reactNative.StyleSheet.create({
123
125
  justifyContent: 'space-between',
124
126
  alignItems: 'center'
125
127
  },
126
- wheelPickerText: {
127
- fontSize: 20,
128
- fontWeight: '500'
128
+ selectedIndicator: {
129
+ position: 'absolute',
130
+ width: '100%',
131
+ top: '50%'
129
132
  }
130
133
  });
131
- var _default = exports.default = /*#__PURE__*/(0, _react.memo)(WheelWeb, (prevProps, nextProps) => {
132
- return prevProps.value === nextProps.value && prevProps.setValue === nextProps.setValue;
133
- });
134
+ const customComparator = (prev, next) => {
135
+ const areEqual = prev.value === next.value && prev.setValue === next.setValue && (0, _lodash.isEqual)(prev.items, next.items);
136
+ return areEqual;
137
+ };
138
+ var _default = exports.default = /*#__PURE__*/(0, _react.memo)(WheelWeb, customComparator);
134
139
  //# sourceMappingURL=WheelWeb.js.map