react-native-timer-picker 2.5.0 → 2.6.1

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 (122) hide show
  1. package/README.md +22 -13
  2. package/dist/commonjs/components/DurationScroll/DurationScroll.js +39 -18
  3. package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +1 -1
  4. package/dist/commonjs/components/DurationScroll/types.js.map +1 -1
  5. package/dist/commonjs/components/Modal/Modal.js +10 -10
  6. package/dist/commonjs/components/Modal/Modal.js.map +1 -1
  7. package/dist/commonjs/components/Modal/styles.js +5 -5
  8. package/dist/commonjs/components/Modal/styles.js.map +1 -1
  9. package/dist/commonjs/components/Modal/types.js.map +1 -1
  10. package/dist/commonjs/components/PickerItem/PickerItem.js +2 -1
  11. package/dist/commonjs/components/PickerItem/PickerItem.js.map +1 -1
  12. package/dist/commonjs/components/TimerPicker/TimerPicker.js +47 -21
  13. package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -1
  14. package/dist/commonjs/components/TimerPicker/index.js.map +1 -1
  15. package/dist/commonjs/components/TimerPicker/styles.js +79 -69
  16. package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
  17. package/dist/commonjs/components/TimerPicker/types.js.map +1 -1
  18. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js +34 -14
  19. package/dist/commonjs/components/TimerPickerModal/TimerPickerModal.js.map +1 -1
  20. package/dist/commonjs/components/TimerPickerModal/styles.js +34 -28
  21. package/dist/commonjs/components/TimerPickerModal/styles.js.map +1 -1
  22. package/dist/commonjs/components/TimerPickerModal/types.js.map +1 -1
  23. package/dist/commonjs/index.js +3 -39
  24. package/dist/commonjs/index.js.map +1 -1
  25. package/dist/commonjs/tests/DurationScroll.test.js +8 -8
  26. package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
  27. package/dist/commonjs/tests/Modal.test.js.map +1 -1
  28. package/dist/commonjs/tests/TimerPicker.test.js +1 -9
  29. package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
  30. package/dist/commonjs/tests/TimerPickerModal.test.js +3 -3
  31. package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
  32. package/dist/commonjs/tests/colorToRgba.test.js.map +1 -1
  33. package/dist/commonjs/tests/generateNumbers.test.js +63 -63
  34. package/dist/commonjs/tests/generateNumbers.test.js.map +1 -1
  35. package/dist/commonjs/tests/getAdjustedLimit.test.js +38 -38
  36. package/dist/commonjs/tests/getAdjustedLimit.test.js.map +1 -1
  37. package/dist/commonjs/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -1
  38. package/dist/commonjs/tests/getInitialScrollIndex.test.js.map +1 -1
  39. package/dist/commonjs/tests/getSafeInitialValue.test.js +2 -0
  40. package/dist/commonjs/tests/getSafeInitialValue.test.js.map +1 -1
  41. package/dist/commonjs/tests/padNumber.test.js.map +1 -1
  42. package/dist/commonjs/utils/colorToRgba.js +4 -4
  43. package/dist/commonjs/utils/colorToRgba.js.map +1 -1
  44. package/dist/commonjs/utils/generateNumbers.js.map +1 -1
  45. package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
  46. package/dist/commonjs/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  47. package/dist/commonjs/utils/getInitialScrollIndex.js +4 -4
  48. package/dist/commonjs/utils/getInitialScrollIndex.js.map +1 -1
  49. package/dist/commonjs/utils/getSafeInitialValue.js +5 -5
  50. package/dist/commonjs/utils/getSafeInitialValue.js.map +1 -1
  51. package/dist/commonjs/utils/padNumber.js.map +1 -1
  52. package/dist/module/components/DurationScroll/DurationScroll.js +39 -18
  53. package/dist/module/components/DurationScroll/DurationScroll.js.map +1 -1
  54. package/dist/module/components/DurationScroll/types.js.map +1 -1
  55. package/dist/module/components/Modal/Modal.js +10 -10
  56. package/dist/module/components/Modal/Modal.js.map +1 -1
  57. package/dist/module/components/Modal/styles.js +5 -5
  58. package/dist/module/components/Modal/styles.js.map +1 -1
  59. package/dist/module/components/Modal/types.js.map +1 -1
  60. package/dist/module/components/PickerItem/PickerItem.js +2 -1
  61. package/dist/module/components/PickerItem/PickerItem.js.map +1 -1
  62. package/dist/module/components/TimerPicker/TimerPicker.js +47 -21
  63. package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -1
  64. package/dist/module/components/TimerPicker/index.js.map +1 -1
  65. package/dist/module/components/TimerPicker/styles.js +79 -69
  66. package/dist/module/components/TimerPicker/styles.js.map +1 -1
  67. package/dist/module/components/TimerPicker/types.js.map +1 -1
  68. package/dist/module/components/TimerPickerModal/TimerPickerModal.js +35 -15
  69. package/dist/module/components/TimerPickerModal/TimerPickerModal.js.map +1 -1
  70. package/dist/module/components/TimerPickerModal/styles.js +33 -27
  71. package/dist/module/components/TimerPickerModal/styles.js.map +1 -1
  72. package/dist/module/components/TimerPickerModal/types.js.map +1 -1
  73. package/dist/module/index.js +2 -2
  74. package/dist/module/index.js.map +1 -1
  75. package/dist/module/tests/DurationScroll.test.js +8 -8
  76. package/dist/module/tests/DurationScroll.test.js.map +1 -1
  77. package/dist/module/tests/Modal.test.js.map +1 -1
  78. package/dist/module/tests/TimerPicker.test.js +1 -8
  79. package/dist/module/tests/TimerPicker.test.js.map +1 -1
  80. package/dist/module/tests/TimerPickerModal.test.js +3 -3
  81. package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
  82. package/dist/module/tests/colorToRgba.test.js.map +1 -1
  83. package/dist/module/tests/generateNumbers.test.js +63 -63
  84. package/dist/module/tests/generateNumbers.test.js.map +1 -1
  85. package/dist/module/tests/getAdjustedLimit.test.js +38 -38
  86. package/dist/module/tests/getAdjustedLimit.test.js.map +1 -1
  87. package/dist/module/tests/getDurationAndIndexFromScrollOffset.test.js.map +1 -1
  88. package/dist/module/tests/getInitialScrollIndex.test.js.map +1 -1
  89. package/dist/module/tests/getSafeInitialValue.test.js +1 -0
  90. package/dist/module/tests/getSafeInitialValue.test.js.map +1 -1
  91. package/dist/module/tests/padNumber.test.js.map +1 -1
  92. package/dist/module/utils/colorToRgba.js +4 -4
  93. package/dist/module/utils/colorToRgba.js.map +1 -1
  94. package/dist/module/utils/generateNumbers.js.map +1 -1
  95. package/dist/module/utils/getAdjustedLimit.js.map +1 -1
  96. package/dist/module/utils/getDurationAndIndexFromScrollOffset.js.map +1 -1
  97. package/dist/module/utils/getInitialScrollIndex.js +4 -4
  98. package/dist/module/utils/getInitialScrollIndex.js.map +1 -1
  99. package/dist/module/utils/getSafeInitialValue.js +5 -5
  100. package/dist/module/utils/getSafeInitialValue.js.map +1 -1
  101. package/dist/module/utils/padNumber.js.map +1 -1
  102. package/dist/typescript/components/DurationScroll/types.d.ts +9 -6
  103. package/dist/typescript/components/Modal/styles.d.ts +5 -5
  104. package/dist/typescript/components/Modal/types.d.ts +2 -1
  105. package/dist/typescript/components/PickerItem/PickerItem.d.ts +4 -0
  106. package/dist/typescript/components/TimerPicker/styles.d.ts +230 -225
  107. package/dist/typescript/components/TimerPicker/types.d.ts +9 -8
  108. package/dist/typescript/components/TimerPickerModal/styles.d.ts +158 -154
  109. package/dist/typescript/components/TimerPickerModal/types.d.ts +2 -1
  110. package/dist/typescript/index.d.ts +4 -2
  111. package/dist/typescript/tests/DurationScroll.test.d.ts +1 -0
  112. package/dist/typescript/tests/Modal.test.d.ts +1 -0
  113. package/dist/typescript/tests/TimerPicker.test.d.ts +1 -0
  114. package/dist/typescript/tests/TimerPickerModal.test.d.ts +1 -0
  115. package/dist/typescript/tests/colorToRgba.test.d.ts +1 -0
  116. package/dist/typescript/tests/generateNumbers.test.d.ts +1 -0
  117. package/dist/typescript/tests/getAdjustedLimit.test.d.ts +1 -0
  118. package/dist/typescript/tests/getDurationAndIndexFromScrollOffset.test.d.ts +1 -0
  119. package/dist/typescript/tests/getInitialScrollIndex.test.d.ts +1 -0
  120. package/dist/typescript/tests/getSafeInitialValue.test.d.ts +1 -0
  121. package/dist/typescript/tests/padNumber.test.d.ts +1 -0
  122. package/package.json +144 -126
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","PickerItem","React","memo","adjustedLimitedMax","adjustedLimitedMin","allowFontScaling","amLabel","is12HourPicker","item","pmLabel","selectedValue","styles","stringItem","intItem","isAm","parseInt","includes","replace","isSelected","createElement","View","key","style","pickerItemContainer","testID","Text","pickerItem","selectedPickerItem","disabledPickerItem","pickerAmPmContainer","pickerAmPmLabel","_default","exports"],"sources":["PickerItem.tsx"],"sourcesContent":["\nimport React from \"react\";\n\nimport { View, Text } from \"react-native\";\n\nimport type { generateStyles } from \"../TimerPicker/styles\";\n\ninterface PickerItemProps {\n adjustedLimitedMax: number;\n adjustedLimitedMin: number;\n allowFontScaling: boolean;\n amLabel?: string;\n is12HourPicker?: boolean;\n item: string;\n pmLabel?: string;\n selectedValue?: number;\n styles: ReturnType<typeof generateStyles>;\n}\n\nconst PickerItem = React.memo<PickerItemProps>(\n ({\n adjustedLimitedMax,\n adjustedLimitedMin,\n allowFontScaling,\n amLabel,\n is12HourPicker,\n item,\n pmLabel,\n selectedValue,\n styles,\n }) => {\n let stringItem = item;\n let intItem: number;\n let isAm: boolean | undefined;\n\n if (!is12HourPicker) {\n intItem = parseInt(item);\n } else {\n isAm = item.includes(\"AM\");\n stringItem = item.replace(/\\s[AP]M/g, \"\");\n intItem = parseInt(stringItem);\n }\n\n const isSelected = intItem === selectedValue;\n\n return (\n <View\n key={item}\n style={styles.pickerItemContainer}\n testID=\"picker-item\">\n <Text\n allowFontScaling={allowFontScaling}\n style={[\n styles.pickerItem,\n isSelected && styles.selectedPickerItem,\n intItem > adjustedLimitedMax ||\n intItem < adjustedLimitedMin\n ? styles.disabledPickerItem\n : {},\n ]}>\n {stringItem}\n </Text>\n {is12HourPicker && (\n <View style={styles.pickerAmPmContainer}>\n <Text\n allowFontScaling={allowFontScaling}\n style={styles.pickerAmPmLabel}>\n {isAm ? amLabel : pmLabel}\n </Text>\n </View>\n )}\n </View>\n );\n }\n);\n\nexport default PickerItem;"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAA0C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAgB1C,MAAMG,UAAU,gBAAGC,cAAK,CAACC,IAAI,CACzB,CAAC;EACGC,kBAAkB;EAClBC,kBAAkB;EAClBC,gBAAgB;EAChBC,OAAO;EACPC,cAAc;EACdC,IAAI;EACJC,OAAO;EACPC,aAAa;EACbC;AACJ,CAAC,KAAK;EACF,IAAIC,UAAU,GAAGJ,IAAI;EACrB,IAAIK,OAAe;EACnB,IAAIC,IAAyB;EAE7B,IAAI,CAACP,cAAc,EAAE;IACjBM,OAAO,GAAGE,QAAQ,CAACP,IAAI,CAAC;EAC5B,CAAC,MAAM;IACHM,IAAI,GAAGN,IAAI,CAACQ,QAAQ,CAAC,IAAI,CAAC;IAC1BJ,UAAU,GAAGJ,IAAI,CAACS,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IACzCJ,OAAO,GAAGE,QAAQ,CAACH,UAAU,CAAC;EAClC;EAEA,MAAMM,UAAU,GAAGL,OAAO,KAAKH,aAAa;EAE5C,oBACIjB,MAAA,CAAAM,OAAA,CAAAoB,aAAA,CAACvB,YAAA,CAAAwB,IAAI;IACDC,GAAG,EAAEb,IAAK;IACVc,KAAK,EAAEX,MAAM,CAACY,mBAAoB;IAClCC,MAAM,EAAC;EAAa,gBACpB/B,MAAA,CAAAM,OAAA,CAAAoB,aAAA,CAACvB,YAAA,CAAA6B,IAAI;IACDpB,gBAAgB,EAAEA,gBAAiB;IACnCiB,KAAK,EAAE,CACHX,MAAM,CAACe,UAAU,EACjBR,UAAU,IAAIP,MAAM,CAACgB,kBAAkB,EACvCd,OAAO,GAAGV,kBAAkB,IAC5BU,OAAO,GAAGT,kBAAkB,GACtBO,MAAM,CAACiB,kBAAkB,GACzB,CAAC,CAAC;EACV,GACDhB,UACC,CAAC,EACNL,cAAc,iBACXd,MAAA,CAAAM,OAAA,CAAAoB,aAAA,CAACvB,YAAA,CAAAwB,IAAI;IAACE,KAAK,EAAEX,MAAM,CAACkB;EAAoB,gBACpCpC,MAAA,CAAAM,OAAA,CAAAoB,aAAA,CAACvB,YAAA,CAAA6B,IAAI;IACDpB,gBAAgB,EAAEA,gBAAiB;IACnCiB,KAAK,EAAEX,MAAM,CAACmB;EAAgB,GAC7BhB,IAAI,GAAGR,OAAO,GAAGG,OAChB,CACJ,CAER,CAAC;AAEf,CACJ,CAAC;AAAC,IAAAsB,QAAA,GAAAC,OAAA,CAAAjC,OAAA,GAEaC,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","e","__esModule","default","PickerItem","React","memo","adjustedLimitedMax","adjustedLimitedMin","allowFontScaling","amLabel","is12HourPicker","item","pickerAmPmPositionStyle","pmLabel","selectedValue","styles","stringItem","intItem","isAm","parseInt","includes","replace","isSelected","createElement","View","key","style","pickerItemContainer","testID","Text","pickerItem","selectedPickerItem","disabledPickerItem","pickerAmPmContainer","pickerAmPmLabel","_default","exports"],"sources":["PickerItem.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { View, Text } from \"react-native\";\n\nimport type { generateStyles } from \"../TimerPicker/styles\";\n\ninterface PickerItemProps {\n adjustedLimitedMax: number;\n adjustedLimitedMin: number;\n allowFontScaling: boolean;\n amLabel?: string;\n is12HourPicker?: boolean;\n item: string;\n pickerAmPmPositionStyle?: { left: \"50%\"; marginLeft: number };\n pmLabel?: string;\n selectedValue?: number;\n styles: ReturnType<typeof generateStyles>;\n}\n\nconst PickerItem = React.memo<PickerItemProps>(\n ({\n adjustedLimitedMax,\n adjustedLimitedMin,\n allowFontScaling,\n amLabel,\n is12HourPicker,\n item,\n pickerAmPmPositionStyle,\n pmLabel,\n selectedValue,\n styles,\n }) => {\n let stringItem = item;\n let intItem: number;\n let isAm: boolean | undefined;\n\n if (!is12HourPicker) {\n intItem = parseInt(item);\n } else {\n isAm = item.includes(\"AM\");\n stringItem = item.replace(/\\s[AP]M/g, \"\");\n intItem = parseInt(stringItem);\n }\n\n const isSelected = intItem === selectedValue;\n\n return (\n <View key={item} style={styles.pickerItemContainer} testID=\"picker-item\">\n <Text\n allowFontScaling={allowFontScaling}\n style={[\n styles.pickerItem,\n isSelected && styles.selectedPickerItem,\n intItem > adjustedLimitedMax || intItem < adjustedLimitedMin\n ? styles.disabledPickerItem\n : {},\n ]}\n >\n {stringItem}\n </Text>\n {is12HourPicker && (\n <View style={[styles.pickerAmPmContainer, pickerAmPmPositionStyle]}>\n <Text allowFontScaling={allowFontScaling} style={styles.pickerAmPmLabel}>\n {isAm ? amLabel : pmLabel}\n </Text>\n </View>\n )}\n </View>\n );\n }\n);\n\nexport default PickerItem;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAA0C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAiB1C,MAAMG,UAAU,gBAAGC,cAAK,CAACC,IAAI,CAC3B,CAAC;EACCC,kBAAkB;EAClBC,kBAAkB;EAClBC,gBAAgB;EAChBC,OAAO;EACPC,cAAc;EACdC,IAAI;EACJC,uBAAuB;EACvBC,OAAO;EACPC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ,IAAIC,UAAU,GAAGL,IAAI;EACrB,IAAIM,OAAe;EACnB,IAAIC,IAAyB;EAE7B,IAAI,CAACR,cAAc,EAAE;IACnBO,OAAO,GAAGE,QAAQ,CAACR,IAAI,CAAC;EAC1B,CAAC,MAAM;IACLO,IAAI,GAAGP,IAAI,CAACS,QAAQ,CAAC,IAAI,CAAC;IAC1BJ,UAAU,GAAGL,IAAI,CAACU,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;IACzCJ,OAAO,GAAGE,QAAQ,CAACH,UAAU,CAAC;EAChC;EAEA,MAAMM,UAAU,GAAGL,OAAO,KAAKH,aAAa;EAE5C,oBACElB,MAAA,CAAAM,OAAA,CAAAqB,aAAA,CAACxB,YAAA,CAAAyB,IAAI;IAACC,GAAG,EAAEd,IAAK;IAACe,KAAK,EAAEX,MAAM,CAACY,mBAAoB;IAACC,MAAM,EAAC;EAAa,gBACtEhC,MAAA,CAAAM,OAAA,CAAAqB,aAAA,CAACxB,YAAA,CAAA8B,IAAI;IACHrB,gBAAgB,EAAEA,gBAAiB;IACnCkB,KAAK,EAAE,CACLX,MAAM,CAACe,UAAU,EACjBR,UAAU,IAAIP,MAAM,CAACgB,kBAAkB,EACvCd,OAAO,GAAGX,kBAAkB,IAAIW,OAAO,GAAGV,kBAAkB,GACxDQ,MAAM,CAACiB,kBAAkB,GACzB,CAAC,CAAC;EACN,GAEDhB,UACG,CAAC,EACNN,cAAc,iBACbd,MAAA,CAAAM,OAAA,CAAAqB,aAAA,CAACxB,YAAA,CAAAyB,IAAI;IAACE,KAAK,EAAE,CAACX,MAAM,CAACkB,mBAAmB,EAAErB,uBAAuB;EAAE,gBACjEhB,MAAA,CAAAM,OAAA,CAAAqB,aAAA,CAACxB,YAAA,CAAA8B,IAAI;IAACrB,gBAAgB,EAAEA,gBAAiB;IAACkB,KAAK,EAAEX,MAAM,CAACmB;EAAgB,GACrEhB,IAAI,GAAGT,OAAO,GAAGI,OACd,CACF,CAEJ,CAAC;AAEX,CACF,CAAC;AAAC,IAAAsB,QAAA,GAAAC,OAAA,CAAAlC,OAAA,GAEaC,UAAU","ignoreList":[]}
@@ -12,6 +12,15 @@ var _styles = require("./styles");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
14
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
15
+ const resolvePerColumn = (value, column) => {
16
+ if (value == null) {
17
+ return undefined;
18
+ }
19
+ if (typeof value === "number") {
20
+ return value;
21
+ }
22
+ return value[column];
23
+ };
15
24
  const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
16
25
  const {
17
26
  aggressivelyGetLatestDuration = false,
@@ -70,7 +79,14 @@ const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
70
79
  if (otherProps.clickSoundAsset) {
71
80
  console.warn('The "clickSoundAsset" prop is deprecated and will be removed in a future version. Please use the "pickerFeedback" prop instead.');
72
81
  }
73
- }, [otherProps.Audio, otherProps.Haptics, otherProps.clickSoundAsset]);
82
+ if ((customStyles === null || customStyles === void 0 ? void 0 : customStyles.labelOffsetPercentage) != null) {
83
+ if ((customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelGap) != null) {
84
+ console.warn("labelOffsetPercentage is ignored when pickerLabelGap is set. Please remove labelOffsetPercentage.");
85
+ } else {
86
+ console.warn('The "labelOffsetPercentage" style prop is deprecated and will be removed in a future version. Please use the "pickerLabelGap" style prop instead.');
87
+ }
88
+ }
89
+ }, [otherProps.Audio, otherProps.Haptics, otherProps.clickSoundAsset, customStyles === null || customStyles === void 0 ? void 0 : customStyles.labelOffsetPercentage, customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelGap]);
74
90
  const safePadWithNItems = (0, _react.useMemo)(() => {
75
91
  if (padWithNItems < 0 || isNaN(padWithNItems)) {
76
92
  return 0;
@@ -87,6 +103,8 @@ const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
87
103
  minutes: initialValue === null || initialValue === void 0 ? void 0 : initialValue.minutes,
88
104
  seconds: initialValue === null || initialValue === void 0 ? void 0 : initialValue.seconds
89
105
  }), [initialValue === null || initialValue === void 0 ? void 0 : initialValue.days, initialValue === null || initialValue === void 0 ? void 0 : initialValue.hours, initialValue === null || initialValue === void 0 ? void 0 : initialValue.minutes, initialValue === null || initialValue === void 0 ? void 0 : initialValue.seconds]);
106
+ const pickerLabelGap = customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelGap;
107
+ const pickerColumnWidth = customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerColumnWidth;
90
108
  const styles = (0, _react.useMemo)(() => (0, _styles.generateStyles)(customStyles), [customStyles]);
91
109
  const [selectedDays, setSelectedDays] = (0, _react.useState)(safeInitialValue.days);
92
110
  const [selectedHours, setSelectedHours] = (0, _react.useState)(safeInitialValue.hours);
@@ -106,46 +124,46 @@ const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
106
124
  const minutesDurationScrollRef = (0, _react.useRef)(null);
107
125
  const secondsDurationScrollRef = (0, _react.useRef)(null);
108
126
  (0, _react.useImperativeHandle)(ref, () => {
109
- var _daysDurationScrollRe3, _hoursDurationScrollR3, _minutesDurationScrol3, _secondsDurationScrol3;
127
+ var _daysDurationScrollRe, _hoursDurationScrollR, _minutesDurationScrol, _secondsDurationScrol;
110
128
  return {
129
+ latestDuration: {
130
+ days: (_daysDurationScrollRe = daysDurationScrollRef.current) === null || _daysDurationScrollRe === void 0 ? void 0 : _daysDurationScrollRe.latestDuration,
131
+ hours: (_hoursDurationScrollR = hoursDurationScrollRef.current) === null || _hoursDurationScrollR === void 0 ? void 0 : _hoursDurationScrollR.latestDuration,
132
+ minutes: (_minutesDurationScrol = minutesDurationScrollRef.current) === null || _minutesDurationScrol === void 0 ? void 0 : _minutesDurationScrol.latestDuration,
133
+ seconds: (_secondsDurationScrol = secondsDurationScrollRef.current) === null || _secondsDurationScrol === void 0 ? void 0 : _secondsDurationScrol.latestDuration
134
+ },
111
135
  reset: options => {
112
- var _daysDurationScrollRe, _hoursDurationScrollR, _minutesDurationScrol, _secondsDurationScrol;
136
+ var _daysDurationScrollRe2, _hoursDurationScrollR2, _minutesDurationScrol2, _secondsDurationScrol2;
113
137
  setSelectedDays(safeInitialValue.days);
114
138
  setSelectedHours(safeInitialValue.hours);
115
139
  setSelectedMinutes(safeInitialValue.minutes);
116
140
  setSelectedSeconds(safeInitialValue.seconds);
117
- (_daysDurationScrollRe = daysDurationScrollRef.current) === null || _daysDurationScrollRe === void 0 || _daysDurationScrollRe.reset(options);
118
- (_hoursDurationScrollR = hoursDurationScrollRef.current) === null || _hoursDurationScrollR === void 0 || _hoursDurationScrollR.reset(options);
119
- (_minutesDurationScrol = minutesDurationScrollRef.current) === null || _minutesDurationScrol === void 0 || _minutesDurationScrol.reset(options);
120
- (_secondsDurationScrol = secondsDurationScrollRef.current) === null || _secondsDurationScrol === void 0 || _secondsDurationScrol.reset(options);
141
+ (_daysDurationScrollRe2 = daysDurationScrollRef.current) === null || _daysDurationScrollRe2 === void 0 || _daysDurationScrollRe2.reset(options);
142
+ (_hoursDurationScrollR2 = hoursDurationScrollRef.current) === null || _hoursDurationScrollR2 === void 0 || _hoursDurationScrollR2.reset(options);
143
+ (_minutesDurationScrol2 = minutesDurationScrollRef.current) === null || _minutesDurationScrol2 === void 0 || _minutesDurationScrol2.reset(options);
144
+ (_secondsDurationScrol2 = secondsDurationScrollRef.current) === null || _secondsDurationScrol2 === void 0 || _secondsDurationScrol2.reset(options);
121
145
  },
122
146
  setValue: (value, options) => {
123
147
  if (value.days !== undefined) {
124
- var _daysDurationScrollRe2;
148
+ var _daysDurationScrollRe3;
125
149
  setSelectedDays(value.days);
126
- (_daysDurationScrollRe2 = daysDurationScrollRef.current) === null || _daysDurationScrollRe2 === void 0 || _daysDurationScrollRe2.setValue(value.days, options);
150
+ (_daysDurationScrollRe3 = daysDurationScrollRef.current) === null || _daysDurationScrollRe3 === void 0 || _daysDurationScrollRe3.setValue(value.days, options);
127
151
  }
128
152
  if (value.hours !== undefined) {
129
- var _hoursDurationScrollR2;
153
+ var _hoursDurationScrollR3;
130
154
  setSelectedHours(value.hours);
131
- (_hoursDurationScrollR2 = hoursDurationScrollRef.current) === null || _hoursDurationScrollR2 === void 0 || _hoursDurationScrollR2.setValue(value.hours, options);
155
+ (_hoursDurationScrollR3 = hoursDurationScrollRef.current) === null || _hoursDurationScrollR3 === void 0 || _hoursDurationScrollR3.setValue(value.hours, options);
132
156
  }
133
157
  if (value.minutes !== undefined) {
134
- var _minutesDurationScrol2;
158
+ var _minutesDurationScrol3;
135
159
  setSelectedMinutes(value.minutes);
136
- (_minutesDurationScrol2 = minutesDurationScrollRef.current) === null || _minutesDurationScrol2 === void 0 || _minutesDurationScrol2.setValue(value.minutes, options);
160
+ (_minutesDurationScrol3 = minutesDurationScrollRef.current) === null || _minutesDurationScrol3 === void 0 || _minutesDurationScrol3.setValue(value.minutes, options);
137
161
  }
138
162
  if (value.seconds !== undefined) {
139
- var _secondsDurationScrol2;
163
+ var _secondsDurationScrol3;
140
164
  setSelectedSeconds(value.seconds);
141
- (_secondsDurationScrol2 = secondsDurationScrollRef.current) === null || _secondsDurationScrol2 === void 0 || _secondsDurationScrol2.setValue(value.seconds, options);
165
+ (_secondsDurationScrol3 = secondsDurationScrollRef.current) === null || _secondsDurationScrol3 === void 0 || _secondsDurationScrol3.setValue(value.seconds, options);
142
166
  }
143
- },
144
- latestDuration: {
145
- days: (_daysDurationScrollRe3 = daysDurationScrollRef.current) === null || _daysDurationScrollRe3 === void 0 ? void 0 : _daysDurationScrollRe3.latestDuration,
146
- hours: (_hoursDurationScrollR3 = hoursDurationScrollRef.current) === null || _hoursDurationScrollR3 === void 0 ? void 0 : _hoursDurationScrollR3.latestDuration,
147
- minutes: (_minutesDurationScrol3 = minutesDurationScrollRef.current) === null || _minutesDurationScrol3 === void 0 ? void 0 : _minutesDurationScrol3.latestDuration,
148
- seconds: (_secondsDurationScrol3 = secondsDurationScrollRef.current) === null || _secondsDurationScrol3 === void 0 ? void 0 : _secondsDurationScrol3.latestDuration
149
167
  }
150
168
  };
151
169
  });
@@ -166,6 +184,8 @@ const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
166
184
  onDurationChange: setSelectedDays,
167
185
  padNumbersWithZero: padDaysWithZero,
168
186
  padWithNItems: safePadWithNItems,
187
+ pickerColumnWidth: resolvePerColumn(pickerColumnWidth, "days"),
188
+ pickerLabelGap: resolvePerColumn(pickerLabelGap, "days"),
169
189
  repeatNumbersNTimes: repeatDayNumbersNTimes,
170
190
  repeatNumbersNTimesNotExplicitlySet: (props === null || props === void 0 ? void 0 : props.repeatDayNumbersNTimes) === undefined,
171
191
  selectedValue: selectedDays,
@@ -188,6 +208,8 @@ const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
188
208
  onDurationChange: setSelectedHours,
189
209
  padNumbersWithZero: padHoursWithZero,
190
210
  padWithNItems: safePadWithNItems,
211
+ pickerColumnWidth: resolvePerColumn(pickerColumnWidth, "hours"),
212
+ pickerLabelGap: resolvePerColumn(pickerLabelGap, "hours"),
191
213
  pmLabel: pmLabel,
192
214
  repeatNumbersNTimes: repeatHourNumbersNTimes,
193
215
  repeatNumbersNTimesNotExplicitlySet: (props === null || props === void 0 ? void 0 : props.repeatHourNumbersNTimes) === undefined,
@@ -209,6 +231,8 @@ const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
209
231
  onDurationChange: setSelectedMinutes,
210
232
  padNumbersWithZero: padMinutesWithZero,
211
233
  padWithNItems: safePadWithNItems,
234
+ pickerColumnWidth: resolvePerColumn(pickerColumnWidth, "minutes"),
235
+ pickerLabelGap: resolvePerColumn(pickerLabelGap, "minutes"),
212
236
  repeatNumbersNTimes: repeatMinuteNumbersNTimes,
213
237
  repeatNumbersNTimesNotExplicitlySet: (props === null || props === void 0 ? void 0 : props.repeatMinuteNumbersNTimes) === undefined,
214
238
  selectedValue: selectedMinutes,
@@ -229,6 +253,8 @@ const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
229
253
  onDurationChange: setSelectedSeconds,
230
254
  padNumbersWithZero: padSecondsWithZero,
231
255
  padWithNItems: safePadWithNItems,
256
+ pickerColumnWidth: resolvePerColumn(pickerColumnWidth, "seconds"),
257
+ pickerLabelGap: resolvePerColumn(pickerLabelGap, "seconds"),
232
258
  repeatNumbersNTimes: repeatSecondNumbersNTimes,
233
259
  repeatNumbersNTimesNotExplicitlySet: (props === null || props === void 0 ? void 0 : props.repeatSecondNumbersNTimes) === undefined,
234
260
  selectedValue: selectedSeconds,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getSafeInitialValue","_DurationScroll","_interopRequireDefault","_styles","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","TimerPicker","forwardRef","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","dayInterval","dayLabel","dayLimit","daysPickerIsDisabled","decelerationRate","disableInfiniteScroll","hideDays","hideHours","hideMinutes","hideSeconds","hourInterval","hourLabel","hourLimit","hoursPickerIsDisabled","initialValue","maximumDays","maximumHours","maximumMinutes","maximumSeconds","minuteInterval","minuteLabel","minuteLimit","minutesPickerIsDisabled","onDurationChange","padDaysWithZero","padHoursWithZero","padMinutesWithZero","padSecondsWithZero","padWithNItems","pickerContainerProps","pmLabel","repeatDayNumbersNTimes","repeatHourNumbersNTimes","repeatMinuteNumbersNTimes","repeatSecondNumbersNTimes","secondInterval","secondLabel","secondLimit","secondsPickerIsDisabled","styles","customStyles","use12HourPicker","otherProps","useEffect","Audio","console","warn","Haptics","clickSoundAsset","safePadWithNItems","useMemo","isNaN","maxPadWithNItems","Math","round","safeInitialValue","getSafeInitialValue","days","hours","minutes","seconds","generateStyles","selectedDays","setSelectedDays","useState","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","daysDurationScrollRef","useRef","hoursDurationScrollRef","minutesDurationScrollRef","secondsDurationScrollRef","useImperativeHandle","_daysDurationScrollRe3","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","reset","options","_daysDurationScrollRe","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","current","setValue","value","undefined","_daysDurationScrollRe2","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","latestDuration","createElement","View","style","pickerContainer","testID","interval","isDisabled","label","limit","maximumValue","padNumbersWithZero","repeatNumbersNTimes","repeatNumbersNTimesNotExplicitlySet","selectedValue","is12HourPicker","_default","exports","React","memo"],"sources":["TimerPicker.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { View } from \"react-native\";\n\nimport { getSafeInitialValue } from \"../../utils/getSafeInitialValue\";\nimport DurationScroll from \"../DurationScroll\";\nimport type { DurationScrollRef } from \"../DurationScroll\";\n\nimport { generateStyles } from \"./styles\";\nimport type { TimerPickerProps, TimerPickerRef } from \"./types\";\n\nconst TimerPicker = forwardRef<TimerPickerRef, TimerPickerProps>(\n (props, ref) => {\n const {\n aggressivelyGetLatestDuration = false,\n allowFontScaling = false,\n amLabel = \"am\",\n dayInterval = 1,\n dayLabel,\n dayLimit,\n daysPickerIsDisabled = false,\n decelerationRate = 0.88,\n disableInfiniteScroll = false,\n hideDays = true,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = false,\n hourInterval = 1,\n hourLabel,\n hourLimit,\n hoursPickerIsDisabled = false,\n initialValue,\n maximumDays = 30,\n maximumHours = 23,\n maximumMinutes = 59,\n maximumSeconds = 59,\n minuteInterval = 1,\n minuteLabel,\n minuteLimit,\n minutesPickerIsDisabled = false,\n onDurationChange,\n padDaysWithZero = false,\n padHoursWithZero = false,\n padMinutesWithZero = true,\n padSecondsWithZero = true,\n padWithNItems = 1,\n pickerContainerProps,\n pmLabel = \"pm\",\n repeatDayNumbersNTimes = 3,\n repeatHourNumbersNTimes = 8,\n repeatMinuteNumbersNTimes = 3,\n repeatSecondNumbersNTimes = 3,\n secondInterval = 1,\n secondLabel,\n secondLimit,\n secondsPickerIsDisabled = false,\n styles: customStyles,\n use12HourPicker = false,\n ...otherProps\n } = props;\n\n useEffect(() => {\n if (otherProps.Audio) {\n console.warn(\n 'The \"Audio\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n if (otherProps.Haptics) {\n console.warn(\n 'The \"Haptics\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n if (otherProps.clickSoundAsset) {\n console.warn(\n 'The \"clickSoundAsset\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n }, [otherProps.Audio, otherProps.Haptics, otherProps.clickSoundAsset]);\n\n const safePadWithNItems = useMemo(() => {\n if (padWithNItems < 0 || isNaN(padWithNItems)) {\n return 0;\n }\n\n const maxPadWithNItems = hideHours ? 15 : 6;\n\n if (padWithNItems > maxPadWithNItems) {\n return maxPadWithNItems;\n }\n\n return Math.round(padWithNItems);\n }, [hideHours, padWithNItems]);\n\n const safeInitialValue = useMemo(\n () =>\n getSafeInitialValue({\n days: initialValue?.days,\n hours: initialValue?.hours,\n minutes: initialValue?.minutes,\n seconds: initialValue?.seconds,\n }),\n [\n initialValue?.days,\n initialValue?.hours,\n initialValue?.minutes,\n initialValue?.seconds,\n ]\n );\n\n const styles = useMemo(\n () => generateStyles(customStyles),\n\n [customStyles]\n );\n\n const [selectedDays, setSelectedDays] = useState(safeInitialValue.days);\n const [selectedHours, setSelectedHours] = useState(\n safeInitialValue.hours\n );\n const [selectedMinutes, setSelectedMinutes] = useState(\n safeInitialValue.minutes\n );\n const [selectedSeconds, setSelectedSeconds] = useState(\n safeInitialValue.seconds\n );\n\n useEffect(() => {\n onDurationChange?.({\n days: selectedDays,\n hours: selectedHours,\n minutes: selectedMinutes,\n seconds: selectedSeconds,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedDays, selectedHours, selectedMinutes, selectedSeconds]);\n\n const daysDurationScrollRef = useRef<DurationScrollRef>(null);\n const hoursDurationScrollRef = useRef<DurationScrollRef>(null);\n const minutesDurationScrollRef = useRef<DurationScrollRef>(null);\n const secondsDurationScrollRef = useRef<DurationScrollRef>(null);\n\n useImperativeHandle(ref, () => ({\n reset: (options) => {\n setSelectedDays(safeInitialValue.days);\n setSelectedHours(safeInitialValue.hours);\n setSelectedMinutes(safeInitialValue.minutes);\n setSelectedSeconds(safeInitialValue.seconds);\n daysDurationScrollRef.current?.reset(options);\n hoursDurationScrollRef.current?.reset(options);\n minutesDurationScrollRef.current?.reset(options);\n secondsDurationScrollRef.current?.reset(options);\n },\n setValue: (value, options) => {\n if (value.days !== undefined) {\n setSelectedDays(value.days);\n daysDurationScrollRef.current?.setValue(\n value.days,\n options\n );\n }\n if (value.hours !== undefined) {\n setSelectedHours(value.hours);\n hoursDurationScrollRef.current?.setValue(\n value.hours,\n options\n );\n }\n if (value.minutes !== undefined) {\n setSelectedMinutes(value.minutes);\n minutesDurationScrollRef.current?.setValue(\n value.minutes,\n options\n );\n }\n if (value.seconds !== undefined) {\n setSelectedSeconds(value.seconds);\n secondsDurationScrollRef.current?.setValue(\n value.seconds,\n options\n );\n }\n },\n latestDuration: {\n days: daysDurationScrollRef.current?.latestDuration,\n hours: hoursDurationScrollRef.current?.latestDuration,\n minutes: minutesDurationScrollRef.current?.latestDuration,\n seconds: secondsDurationScrollRef.current?.latestDuration,\n },\n }));\n\n return (\n <View\n {...pickerContainerProps}\n style={styles.pickerContainer}\n testID=\"timer-picker\">\n {!hideDays ? (\n <DurationScroll\n ref={daysDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.days}\n interval={dayInterval}\n isDisabled={daysPickerIsDisabled}\n label={dayLabel ?? \"d\"}\n limit={dayLimit}\n maximumValue={maximumDays}\n onDurationChange={setSelectedDays}\n padNumbersWithZero={padDaysWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatDayNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatDayNumbersNTimes === undefined\n }\n selectedValue={selectedDays}\n styles={styles}\n testID=\"duration-scroll-day\"\n {...otherProps}\n />\n ) : null}\n {!hideHours ? (\n <DurationScroll\n ref={hoursDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n amLabel={amLabel}\n decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.hours}\n interval={hourInterval}\n is12HourPicker={use12HourPicker}\n isDisabled={hoursPickerIsDisabled}\n label={\n hourLabel ?? (!use12HourPicker ? \"h\" : undefined)\n }\n limit={hourLimit}\n maximumValue={maximumHours}\n onDurationChange={setSelectedHours}\n padNumbersWithZero={padHoursWithZero}\n padWithNItems={safePadWithNItems}\n pmLabel={pmLabel}\n repeatNumbersNTimes={repeatHourNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatHourNumbersNTimes === undefined\n }\n selectedValue={selectedHours}\n styles={styles}\n testID=\"duration-scroll-hour\"\n {...otherProps}\n />\n ) : null}\n {!hideMinutes ? (\n <DurationScroll\n ref={minutesDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.minutes}\n interval={minuteInterval}\n isDisabled={minutesPickerIsDisabled}\n label={minuteLabel ?? \"m\"}\n limit={minuteLimit}\n maximumValue={maximumMinutes}\n onDurationChange={setSelectedMinutes}\n padNumbersWithZero={padMinutesWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatMinuteNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatMinuteNumbersNTimes === undefined\n }\n selectedValue={selectedMinutes}\n styles={styles}\n testID=\"duration-scroll-minute\"\n {...otherProps}\n />\n ) : null}\n {!hideSeconds ? (\n <DurationScroll\n ref={secondsDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.seconds}\n interval={secondInterval}\n isDisabled={secondsPickerIsDisabled}\n label={secondLabel ?? \"s\"}\n limit={secondLimit}\n maximumValue={maximumSeconds}\n onDurationChange={setSelectedSeconds}\n padNumbersWithZero={padSecondsWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatSecondNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatSecondNumbersNTimes === undefined\n }\n selectedValue={selectedSeconds}\n styles={styles}\n testID=\"duration-scroll-second\"\n {...otherProps}\n />\n ) : null}\n </View>\n );\n }\n);\n\nexport default React.memo(TimerPicker);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_getSafeInitialValue","_DurationScroll","_interopRequireDefault","_styles","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","resolvePerColumn","value","column","undefined","TimerPicker","forwardRef","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","dayInterval","dayLabel","dayLimit","daysPickerIsDisabled","decelerationRate","disableInfiniteScroll","hideDays","hideHours","hideMinutes","hideSeconds","hourInterval","hourLabel","hourLimit","hoursPickerIsDisabled","initialValue","maximumDays","maximumHours","maximumMinutes","maximumSeconds","minuteInterval","minuteLabel","minuteLimit","minutesPickerIsDisabled","onDurationChange","padDaysWithZero","padHoursWithZero","padMinutesWithZero","padSecondsWithZero","padWithNItems","pickerContainerProps","pmLabel","repeatDayNumbersNTimes","repeatHourNumbersNTimes","repeatMinuteNumbersNTimes","repeatSecondNumbersNTimes","secondInterval","secondLabel","secondLimit","secondsPickerIsDisabled","styles","customStyles","use12HourPicker","otherProps","useEffect","Audio","console","warn","Haptics","clickSoundAsset","labelOffsetPercentage","pickerLabelGap","safePadWithNItems","useMemo","isNaN","maxPadWithNItems","Math","round","safeInitialValue","getSafeInitialValue","days","hours","minutes","seconds","pickerColumnWidth","generateStyles","selectedDays","setSelectedDays","useState","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","daysDurationScrollRef","useRef","hoursDurationScrollRef","minutesDurationScrollRef","secondsDurationScrollRef","useImperativeHandle","_daysDurationScrollRe","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","latestDuration","current","reset","options","_daysDurationScrollRe2","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","setValue","_daysDurationScrollRe3","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","createElement","View","style","pickerContainer","testID","interval","isDisabled","label","limit","maximumValue","padNumbersWithZero","repeatNumbersNTimes","repeatNumbersNTimesNotExplicitlySet","selectedValue","is12HourPicker","_default","exports","React","memo"],"sources":["TimerPicker.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { View } from \"react-native\";\n\nimport { getSafeInitialValue } from \"../../utils/getSafeInitialValue\";\nimport DurationScroll from \"../DurationScroll\";\nimport type { DurationScrollRef } from \"../DurationScroll\";\nimport { generateStyles } from \"./styles\";\nimport type { PerColumnValue, PickerColumn } from \"./styles\";\nimport type { TimerPickerProps, TimerPickerRef } from \"./types\";\n\nconst resolvePerColumn = (\n value: PerColumnValue | undefined,\n column: PickerColumn\n): number | undefined => {\n if (value == null) {\n return undefined;\n }\n\n if (typeof value === \"number\") {\n return value;\n }\n\n return value[column];\n};\n\nconst TimerPicker = forwardRef<TimerPickerRef, TimerPickerProps>((props, ref) => {\n const {\n aggressivelyGetLatestDuration = false,\n allowFontScaling = false,\n amLabel = \"am\",\n dayInterval = 1,\n dayLabel,\n dayLimit,\n daysPickerIsDisabled = false,\n decelerationRate = 0.88,\n disableInfiniteScroll = false,\n hideDays = true,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = false,\n hourInterval = 1,\n hourLabel,\n hourLimit,\n hoursPickerIsDisabled = false,\n initialValue,\n maximumDays = 30,\n maximumHours = 23,\n maximumMinutes = 59,\n maximumSeconds = 59,\n minuteInterval = 1,\n minuteLabel,\n minuteLimit,\n minutesPickerIsDisabled = false,\n onDurationChange,\n padDaysWithZero = false,\n padHoursWithZero = false,\n padMinutesWithZero = true,\n padSecondsWithZero = true,\n padWithNItems = 1,\n pickerContainerProps,\n pmLabel = \"pm\",\n repeatDayNumbersNTimes = 3,\n repeatHourNumbersNTimes = 8,\n repeatMinuteNumbersNTimes = 3,\n repeatSecondNumbersNTimes = 3,\n secondInterval = 1,\n secondLabel,\n secondLimit,\n secondsPickerIsDisabled = false,\n styles: customStyles,\n use12HourPicker = false,\n ...otherProps\n } = props;\n\n useEffect(() => {\n if (otherProps.Audio) {\n console.warn(\n 'The \"Audio\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n if (otherProps.Haptics) {\n console.warn(\n 'The \"Haptics\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n if (otherProps.clickSoundAsset) {\n console.warn(\n 'The \"clickSoundAsset\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n if (customStyles?.labelOffsetPercentage != null) {\n if (customStyles?.pickerLabelGap != null) {\n console.warn(\n \"labelOffsetPercentage is ignored when pickerLabelGap is set. Please remove labelOffsetPercentage.\"\n );\n } else {\n console.warn(\n 'The \"labelOffsetPercentage\" style prop is deprecated and will be removed in a future version. Please use the \"pickerLabelGap\" style prop instead.'\n );\n }\n }\n }, [\n otherProps.Audio,\n otherProps.Haptics,\n otherProps.clickSoundAsset,\n customStyles?.labelOffsetPercentage,\n customStyles?.pickerLabelGap,\n ]);\n\n const safePadWithNItems = useMemo(() => {\n if (padWithNItems < 0 || isNaN(padWithNItems)) {\n return 0;\n }\n\n const maxPadWithNItems = hideHours ? 15 : 6;\n\n if (padWithNItems > maxPadWithNItems) {\n return maxPadWithNItems;\n }\n\n return Math.round(padWithNItems);\n }, [hideHours, padWithNItems]);\n\n const safeInitialValue = useMemo(\n () =>\n getSafeInitialValue({\n days: initialValue?.days,\n hours: initialValue?.hours,\n minutes: initialValue?.minutes,\n seconds: initialValue?.seconds,\n }),\n [initialValue?.days, initialValue?.hours, initialValue?.minutes, initialValue?.seconds]\n );\n\n const pickerLabelGap = customStyles?.pickerLabelGap;\n const pickerColumnWidth = customStyles?.pickerColumnWidth;\n\n const styles = useMemo(\n () => generateStyles(customStyles),\n\n [customStyles]\n );\n\n const [selectedDays, setSelectedDays] = useState(safeInitialValue.days);\n const [selectedHours, setSelectedHours] = useState(safeInitialValue.hours);\n const [selectedMinutes, setSelectedMinutes] = useState(safeInitialValue.minutes);\n const [selectedSeconds, setSelectedSeconds] = useState(safeInitialValue.seconds);\n\n useEffect(() => {\n onDurationChange?.({\n days: selectedDays,\n hours: selectedHours,\n minutes: selectedMinutes,\n seconds: selectedSeconds,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedDays, selectedHours, selectedMinutes, selectedSeconds]);\n\n const daysDurationScrollRef = useRef<DurationScrollRef>(null);\n const hoursDurationScrollRef = useRef<DurationScrollRef>(null);\n const minutesDurationScrollRef = useRef<DurationScrollRef>(null);\n const secondsDurationScrollRef = useRef<DurationScrollRef>(null);\n\n useImperativeHandle(ref, () => ({\n latestDuration: {\n days: daysDurationScrollRef.current?.latestDuration,\n hours: hoursDurationScrollRef.current?.latestDuration,\n minutes: minutesDurationScrollRef.current?.latestDuration,\n seconds: secondsDurationScrollRef.current?.latestDuration,\n },\n reset: (options) => {\n setSelectedDays(safeInitialValue.days);\n setSelectedHours(safeInitialValue.hours);\n setSelectedMinutes(safeInitialValue.minutes);\n setSelectedSeconds(safeInitialValue.seconds);\n daysDurationScrollRef.current?.reset(options);\n hoursDurationScrollRef.current?.reset(options);\n minutesDurationScrollRef.current?.reset(options);\n secondsDurationScrollRef.current?.reset(options);\n },\n setValue: (value, options) => {\n if (value.days !== undefined) {\n setSelectedDays(value.days);\n daysDurationScrollRef.current?.setValue(value.days, options);\n }\n if (value.hours !== undefined) {\n setSelectedHours(value.hours);\n hoursDurationScrollRef.current?.setValue(value.hours, options);\n }\n if (value.minutes !== undefined) {\n setSelectedMinutes(value.minutes);\n minutesDurationScrollRef.current?.setValue(value.minutes, options);\n }\n if (value.seconds !== undefined) {\n setSelectedSeconds(value.seconds);\n secondsDurationScrollRef.current?.setValue(value.seconds, options);\n }\n },\n }));\n\n return (\n <View {...pickerContainerProps} style={styles.pickerContainer} testID=\"timer-picker\">\n {!hideDays ? (\n <DurationScroll\n ref={daysDurationScrollRef}\n aggressivelyGetLatestDuration={aggressivelyGetLatestDuration}\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.days}\n interval={dayInterval}\n isDisabled={daysPickerIsDisabled}\n label={dayLabel ?? \"d\"}\n limit={dayLimit}\n maximumValue={maximumDays}\n onDurationChange={setSelectedDays}\n padNumbersWithZero={padDaysWithZero}\n padWithNItems={safePadWithNItems}\n pickerColumnWidth={resolvePerColumn(pickerColumnWidth, \"days\")}\n pickerLabelGap={resolvePerColumn(pickerLabelGap, \"days\")}\n repeatNumbersNTimes={repeatDayNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={props?.repeatDayNumbersNTimes === undefined}\n selectedValue={selectedDays}\n styles={styles}\n testID=\"duration-scroll-day\"\n {...otherProps}\n />\n ) : null}\n {!hideHours ? (\n <DurationScroll\n ref={hoursDurationScrollRef}\n aggressivelyGetLatestDuration={aggressivelyGetLatestDuration}\n allowFontScaling={allowFontScaling}\n amLabel={amLabel}\n decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.hours}\n interval={hourInterval}\n is12HourPicker={use12HourPicker}\n isDisabled={hoursPickerIsDisabled}\n label={hourLabel ?? (!use12HourPicker ? \"h\" : undefined)}\n limit={hourLimit}\n maximumValue={maximumHours}\n onDurationChange={setSelectedHours}\n padNumbersWithZero={padHoursWithZero}\n padWithNItems={safePadWithNItems}\n pickerColumnWidth={resolvePerColumn(pickerColumnWidth, \"hours\")}\n pickerLabelGap={resolvePerColumn(pickerLabelGap, \"hours\")}\n pmLabel={pmLabel}\n repeatNumbersNTimes={repeatHourNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={props?.repeatHourNumbersNTimes === undefined}\n selectedValue={selectedHours}\n styles={styles}\n testID=\"duration-scroll-hour\"\n {...otherProps}\n />\n ) : null}\n {!hideMinutes ? (\n <DurationScroll\n ref={minutesDurationScrollRef}\n aggressivelyGetLatestDuration={aggressivelyGetLatestDuration}\n allowFontScaling={allowFontScaling}\n decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.minutes}\n interval={minuteInterval}\n isDisabled={minutesPickerIsDisabled}\n label={minuteLabel ?? \"m\"}\n limit={minuteLimit}\n maximumValue={maximumMinutes}\n onDurationChange={setSelectedMinutes}\n padNumbersWithZero={padMinutesWithZero}\n padWithNItems={safePadWithNItems}\n pickerColumnWidth={resolvePerColumn(pickerColumnWidth, \"minutes\")}\n pickerLabelGap={resolvePerColumn(pickerLabelGap, \"minutes\")}\n repeatNumbersNTimes={repeatMinuteNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={props?.repeatMinuteNumbersNTimes === undefined}\n selectedValue={selectedMinutes}\n styles={styles}\n testID=\"duration-scroll-minute\"\n {...otherProps}\n />\n ) : null}\n {!hideSeconds ? (\n <DurationScroll\n ref={secondsDurationScrollRef}\n aggressivelyGetLatestDuration={aggressivelyGetLatestDuration}\n allowFontScaling={allowFontScaling}\n decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.seconds}\n interval={secondInterval}\n isDisabled={secondsPickerIsDisabled}\n label={secondLabel ?? \"s\"}\n limit={secondLimit}\n maximumValue={maximumSeconds}\n onDurationChange={setSelectedSeconds}\n padNumbersWithZero={padSecondsWithZero}\n padWithNItems={safePadWithNItems}\n pickerColumnWidth={resolvePerColumn(pickerColumnWidth, \"seconds\")}\n pickerLabelGap={resolvePerColumn(pickerLabelGap, \"seconds\")}\n repeatNumbersNTimes={repeatSecondNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={props?.repeatSecondNumbersNTimes === undefined}\n selectedValue={selectedSeconds}\n styles={styles}\n testID=\"duration-scroll-second\"\n {...otherProps}\n />\n ) : null}\n </View>\n );\n});\n\nexport default React.memo(TimerPicker);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_TimerPicker","_interopRequireDefault","require","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_styles","e","__esModule","default"],"sources":["index.ts"],"sourcesContent":["export { default } from \"./TimerPicker\";\n\nexport * from \"./types\";\n\nexport * from \"./styles\";\n\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,OAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,OAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,OAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAAyB,SAAAN,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["_TimerPicker","_interopRequireDefault","require","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_styles","e","__esModule","default"],"sources":["index.ts"],"sourcesContent":["export { default } from \"./TimerPicker\";\n\nexport * from \"./types\";\n\nexport * from \"./styles\";\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,OAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,OAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,OAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAAyB,SAAAN,uBAAAgB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
@@ -22,107 +22,117 @@ const generateStyles = customStyles => {
22
22
  const pickerLabelVerticalOffset = pickerItemFontSize - pickerLabelFontSize - 1;
23
23
  const pickerAmPmVerticalOffset = pickerItemFontSize - pickerAmPmFontSize - 1;
24
24
 
25
- // The label is absolutely positioned, so we need to offset it for it to appear
26
- // in the correct position. We offset it to the left of the container so that
27
- // the width of the label doesn't impact its position.
25
+ // Determine whether to use the legacy percentage-based label positioning.
26
+ // The new pixel-based system (pickerLabelGap) is the default.
27
+ // The old system is only used when labelOffsetPercentage is explicitly set
28
+ // without pickerLabelGap.
29
+ const useLegacyLabelPosition = (customStyles === null || customStyles === void 0 ? void 0 : customStyles.labelOffsetPercentage) != null && (customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelGap) == null;
28
30
  const extraLabelOffsetPercentage = (customStyles === null || customStyles === void 0 ? void 0 : customStyles.labelOffsetPercentage) ?? 8;
29
31
  const baseLeftOffsetPercentage = 70;
30
32
  const labelOffsetPercentage = baseLeftOffsetPercentage + extraLabelOffsetPercentage;
31
33
  return _reactNative.StyleSheet.create({
32
- pickerContainer: {
33
- flexDirection: "row",
34
- backgroundColor,
35
- width: "100%",
36
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerContainer)
34
+ disabledPickerContainer: {
35
+ opacity: 0.4,
36
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.disabledPickerContainer)
37
37
  },
38
- pickerLabelContainer: {
39
- position: "absolute",
40
- top: 0,
41
- bottom: 0,
42
- left: `${labelOffsetPercentage}%`,
43
- justifyContent: "center",
44
- marginTop: pickerLabelVerticalOffset,
45
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelContainer)
38
+ disabledPickerItem: {
39
+ opacity: 0.2,
40
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.disabledPickerItem)
46
41
  },
47
- pickerLabel: {
48
- fontSize: 18,
49
- fontWeight: "bold",
50
- color: textColor,
51
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
52
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabel)
42
+ durationScrollFlatList: {
43
+ marginRight: "-25%",
44
+ // These paddings allow the inner am/pm label to
45
+ // spill out of the flatlist
46
+ paddingRight: "25%",
47
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatList)
53
48
  },
54
- pickerItemContainer: {
55
- flexDirection: "row",
56
- height: 50,
57
- justifyContent: "center",
58
- alignItems: "center",
59
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItemContainer)
49
+ durationScrollFlatListContainer: {
50
+ flex: 1,
51
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatListContainer)
60
52
  },
61
- pickerItem: {
62
- textAlignVertical: "center",
63
- fontSize: 25,
64
- overflow: "visible",
65
- color: textColor,
66
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
67
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItem)
53
+ durationScrollFlatListContentContainer: {
54
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatListContentContainer)
68
55
  },
69
- selectedPickerItem: {
70
- textAlignVertical: "center",
71
- fontSize: 25,
72
- overflow: "visible",
73
- color: textColor,
74
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
75
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItem),
76
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.selectedPickerItem)
56
+ maskedView: {
57
+ flex: 1
77
58
  },
78
59
  pickerAmPmContainer: {
79
- position: "absolute",
80
- top: 0,
81
60
  bottom: 0,
82
- left: `${labelOffsetPercentage}%`,
83
61
  justifyContent: "center",
84
62
  marginTop: pickerAmPmVerticalOffset,
63
+ position: "absolute",
64
+ top: 0,
65
+ // Only apply percentage-based left when using legacy positioning.
66
+ // The new pixel-based positioning is applied per-column in PickerItem.
67
+ ...(useLegacyLabelPosition ? {
68
+ left: `${labelOffsetPercentage}%`
69
+ } : undefined),
85
70
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelContainer),
86
71
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerAmPmContainer)
87
72
  },
88
73
  pickerAmPmLabel: {
74
+ color: textColor,
89
75
  fontSize: 18,
90
76
  fontWeight: "bold",
91
- color: textColor,
92
77
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
93
78
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabel),
94
79
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerAmPmLabel)
95
80
  },
96
- disabledPickerContainer: {
97
- opacity: 0.4,
98
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.disabledPickerContainer)
99
- },
100
- disabledPickerItem: {
101
- opacity: 0.2,
102
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.disabledPickerItem)
103
- },
104
- maskedView: {
105
- flex: 1
81
+ pickerContainer: {
82
+ backgroundColor,
83
+ flexDirection: "row",
84
+ width: "100%",
85
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerContainer)
106
86
  },
107
87
  pickerGradientOverlay: {
88
+ height: "100%",
108
89
  position: "absolute",
109
90
  width: "100%",
110
- height: "100%",
111
91
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerGradientOverlay)
112
92
  },
113
- durationScrollFlatListContainer: {
114
- flex: 1,
115
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatListContainer)
93
+ pickerItem: {
94
+ color: textColor,
95
+ fontSize: 25,
96
+ overflow: "visible",
97
+ textAlignVertical: "center",
98
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
99
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItem)
116
100
  },
117
- durationScrollFlatList: {
118
- // These paddings allow the inner am/pm label to
119
- // spill out of the flatlist
120
- paddingRight: "25%",
121
- marginRight: "-25%",
122
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatList)
101
+ pickerItemContainer: {
102
+ alignItems: "center",
103
+ flexDirection: "row",
104
+ height: 50,
105
+ justifyContent: "center",
106
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItemContainer)
123
107
  },
124
- durationScrollFlatListContentContainer: {
125
- ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatListContentContainer)
108
+ pickerLabel: {
109
+ color: textColor,
110
+ fontSize: 18,
111
+ fontWeight: "bold",
112
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
113
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabel)
114
+ },
115
+ pickerLabelContainer: {
116
+ bottom: 0,
117
+ justifyContent: "center",
118
+ marginTop: pickerLabelVerticalOffset,
119
+ position: "absolute",
120
+ top: 0,
121
+ // Only apply percentage-based left when using legacy positioning.
122
+ // The new pixel-based positioning is applied per-column in DurationScroll.
123
+ ...(useLegacyLabelPosition ? {
124
+ left: `${labelOffsetPercentage}%`
125
+ } : undefined),
126
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelContainer)
127
+ },
128
+ selectedPickerItem: {
129
+ color: textColor,
130
+ fontSize: 25,
131
+ overflow: "visible",
132
+ textAlignVertical: "center",
133
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
134
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItem),
135
+ ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.selectedPickerItem)
126
136
  }
127
137
  });
128
138
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","_customStyles$pickerL","_customStyles$text","_customStyles$pickerA","_customStyles$pickerL2","_customStyles$text2","_customStyles$pickerI","_customStyles$text3","backgroundColor","theme","textColor","pickerLabelFontSize","pickerLabel","fontSize","text","pickerAmPmFontSize","pickerAmPmLabel","pickerItemFontSize","pickerItem","pickerLabelVerticalOffset","pickerAmPmVerticalOffset","extraLabelOffsetPercentage","labelOffsetPercentage","baseLeftOffsetPercentage","StyleSheet","create","pickerContainer","flexDirection","width","pickerLabelContainer","position","top","bottom","left","justifyContent","marginTop","fontWeight","color","pickerItemContainer","height","alignItems","textAlignVertical","overflow","selectedPickerItem","pickerAmPmContainer","disabledPickerContainer","opacity","disabledPickerItem","maskedView","flex","pickerGradientOverlay","durationScrollFlatListContainer","durationScrollFlatList","paddingRight","marginRight","durationScrollFlatListContentContainer","exports"],"sources":["styles.ts"],"sourcesContent":["\nimport { StyleSheet } from \"react-native\";\nimport type { TextStyle, ViewStyle } from \"react-native\";\n\nexport interface CustomTimerPickerStyles {\n backgroundColor?: string;\n disabledPickerContainer?: ViewStyle;\n disabledPickerItem?: TextStyle;\n durationScrollFlatList?: ViewStyle;\n durationScrollFlatListContainer?: ViewStyle;\n durationScrollFlatListContentContainer?: ViewStyle;\n labelOffsetPercentage?: number;\n pickerAmPmContainer?: ViewStyle;\n pickerAmPmLabel?: TextStyle;\n pickerContainer?: ViewStyle & { backgroundColor?: string };\n pickerGradientOverlay?: ViewStyle;\n pickerItem?: TextStyle;\n pickerItemContainer?: ViewStyle & { height?: number };\n pickerLabel?: TextStyle;\n pickerLabelContainer?: ViewStyle;\n selectedPickerItem?: TextStyle;\n text?: TextStyle;\n theme?: \"light\" | \"dark\";\n}\n\nconst DARK_MODE_BACKGROUND_COLOR = \"#232323\";\nconst DARK_MODE_TEXT_COLOR = \"#E9E9E9\";\nconst LIGHT_MODE_BACKGROUND_COLOR = \"#F1F1F1\";\nconst LIGHT_MODE_TEXT_COLOR = \"#1B1B1B\";\n\nexport const generateStyles = (\n customStyles: CustomTimerPickerStyles | undefined\n) => {\n const backgroundColor =\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR);\n\n const textColor =\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR;\n\n const pickerLabelFontSize =\n customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 18;\n const pickerAmPmFontSize =\n customStyles?.pickerAmPmLabel?.fontSize ??\n customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 18;\n const pickerItemFontSize =\n customStyles?.pickerItem?.fontSize ??\n customStyles?.text?.fontSize ??\n 25;\n\n // This offset makes the picker label appear to be aligned with the picker item\n // despite them having different font sizes\n const pickerLabelVerticalOffset =\n pickerItemFontSize - pickerLabelFontSize - 1;\n const pickerAmPmVerticalOffset =\n pickerItemFontSize - pickerAmPmFontSize - 1;\n\n // The label is absolutely positioned, so we need to offset it for it to appear\n // in the correct position. We offset it to the left of the container so that\n // the width of the label doesn't impact its position.\n const extraLabelOffsetPercentage = customStyles?.labelOffsetPercentage ?? 8;\n const baseLeftOffsetPercentage = 70;\n const labelOffsetPercentage =\n baseLeftOffsetPercentage + extraLabelOffsetPercentage;\n\n return StyleSheet.create({\n pickerContainer: {\n flexDirection: \"row\",\n backgroundColor,\n width: \"100%\",\n ...customStyles?.pickerContainer,\n },\n pickerLabelContainer: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: `${labelOffsetPercentage}%`,\n justifyContent: \"center\",\n marginTop: pickerLabelVerticalOffset,\n ...customStyles?.pickerLabelContainer,\n },\n pickerLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n color: textColor,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n },\n pickerItemContainer: {\n flexDirection: \"row\",\n height: 50,\n justifyContent: \"center\",\n alignItems: \"center\",\n ...customStyles?.pickerItemContainer,\n },\n pickerItem: {\n textAlignVertical: \"center\",\n fontSize: 25,\n overflow: \"visible\",\n color: textColor,\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n },\n selectedPickerItem: {\n textAlignVertical: \"center\",\n fontSize: 25,\n overflow: \"visible\",\n color: textColor,\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n ...customStyles?.selectedPickerItem,\n },\n pickerAmPmContainer: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: `${labelOffsetPercentage}%`,\n justifyContent: \"center\",\n marginTop: pickerAmPmVerticalOffset,\n ...customStyles?.pickerLabelContainer,\n ...customStyles?.pickerAmPmContainer,\n },\n pickerAmPmLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n color: textColor,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n ...customStyles?.pickerAmPmLabel,\n },\n disabledPickerContainer: {\n opacity: 0.4,\n ...customStyles?.disabledPickerContainer,\n },\n disabledPickerItem: {\n opacity: 0.2,\n ...customStyles?.disabledPickerItem,\n },\n maskedView: {\n flex: 1,\n },\n pickerGradientOverlay: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n ...customStyles?.pickerGradientOverlay,\n },\n durationScrollFlatListContainer: {\n flex: 1,\n ...customStyles?.durationScrollFlatListContainer,\n },\n durationScrollFlatList: {\n // These paddings allow the inner am/pm label to\n // spill out of the flatlist\n paddingRight: \"25%\",\n marginRight: \"-25%\",\n ...customStyles?.durationScrollFlatList,\n },\n durationScrollFlatListContentContainer: {\n ...customStyles?.durationScrollFlatListContentContainer,\n },\n });\n};"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","_customStyles$pickerL","_customStyles$text","_customStyles$pickerA","_customStyles$pickerL2","_customStyles$text2","_customStyles$pickerI","_customStyles$text3","backgroundColor","theme","textColor","pickerLabelFontSize","pickerLabel","fontSize","text","pickerAmPmFontSize","pickerAmPmLabel","pickerItemFontSize","pickerItem","pickerLabelVerticalOffset","pickerAmPmVerticalOffset","useLegacyLabelPosition","labelOffsetPercentage","pickerLabelGap","extraLabelOffsetPercentage","baseLeftOffsetPercentage","StyleSheet","create","disabledPickerContainer","opacity","disabledPickerItem","durationScrollFlatList","marginRight","paddingRight","durationScrollFlatListContainer","flex","durationScrollFlatListContentContainer","maskedView","pickerAmPmContainer","bottom","justifyContent","marginTop","position","top","left","undefined","pickerLabelContainer","color","fontWeight","pickerContainer","flexDirection","width","pickerGradientOverlay","height","overflow","textAlignVertical","pickerItemContainer","alignItems","selectedPickerItem","exports"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { TextStyle, ViewStyle } from \"react-native\";\n\nexport type PickerColumn = \"days\" | \"hours\" | \"minutes\" | \"seconds\";\n\nexport type PerColumnValue = number | Partial<Record<PickerColumn, number>>;\n\nexport interface CustomTimerPickerStyles {\n backgroundColor?: string;\n disabledPickerContainer?: ViewStyle;\n disabledPickerItem?: TextStyle;\n durationScrollFlatList?: ViewStyle;\n durationScrollFlatListContainer?: ViewStyle;\n durationScrollFlatListContentContainer?: ViewStyle;\n /** @deprecated Use pickerLabelGap instead. Will be removed in a future version. */\n labelOffsetPercentage?: number;\n pickerAmPmContainer?: ViewStyle;\n pickerAmPmLabel?: TextStyle;\n pickerColumnWidth?: PerColumnValue;\n pickerContainer?: ViewStyle & { backgroundColor?: string };\n pickerGradientOverlay?: ViewStyle;\n pickerItem?: TextStyle;\n pickerItemContainer?: ViewStyle & { height?: number };\n pickerLabel?: TextStyle;\n pickerLabelContainer?: ViewStyle;\n pickerLabelGap?: PerColumnValue;\n selectedPickerItem?: TextStyle;\n text?: TextStyle;\n theme?: \"light\" | \"dark\";\n}\n\nconst DARK_MODE_BACKGROUND_COLOR = \"#232323\";\nconst DARK_MODE_TEXT_COLOR = \"#E9E9E9\";\nconst LIGHT_MODE_BACKGROUND_COLOR = \"#F1F1F1\";\nconst LIGHT_MODE_TEXT_COLOR = \"#1B1B1B\";\n\nexport const generateStyles = (customStyles: CustomTimerPickerStyles | undefined) => {\n const backgroundColor =\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\" ? DARK_MODE_BACKGROUND_COLOR : LIGHT_MODE_BACKGROUND_COLOR);\n\n const textColor = customStyles?.theme === \"dark\" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR;\n\n const pickerLabelFontSize =\n customStyles?.pickerLabel?.fontSize ?? customStyles?.text?.fontSize ?? 18;\n const pickerAmPmFontSize =\n customStyles?.pickerAmPmLabel?.fontSize ??\n customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 18;\n const pickerItemFontSize =\n customStyles?.pickerItem?.fontSize ?? customStyles?.text?.fontSize ?? 25;\n\n // This offset makes the picker label appear to be aligned with the picker item\n // despite them having different font sizes\n const pickerLabelVerticalOffset = pickerItemFontSize - pickerLabelFontSize - 1;\n const pickerAmPmVerticalOffset = pickerItemFontSize - pickerAmPmFontSize - 1;\n\n // Determine whether to use the legacy percentage-based label positioning.\n // The new pixel-based system (pickerLabelGap) is the default.\n // The old system is only used when labelOffsetPercentage is explicitly set\n // without pickerLabelGap.\n const useLegacyLabelPosition =\n customStyles?.labelOffsetPercentage != null && customStyles?.pickerLabelGap == null;\n\n const extraLabelOffsetPercentage = customStyles?.labelOffsetPercentage ?? 8;\n const baseLeftOffsetPercentage = 70;\n const labelOffsetPercentage = baseLeftOffsetPercentage + extraLabelOffsetPercentage;\n\n return StyleSheet.create({\n disabledPickerContainer: {\n opacity: 0.4,\n ...customStyles?.disabledPickerContainer,\n },\n disabledPickerItem: {\n opacity: 0.2,\n ...customStyles?.disabledPickerItem,\n },\n durationScrollFlatList: {\n marginRight: \"-25%\",\n // These paddings allow the inner am/pm label to\n // spill out of the flatlist\n paddingRight: \"25%\",\n ...customStyles?.durationScrollFlatList,\n },\n durationScrollFlatListContainer: {\n flex: 1,\n ...customStyles?.durationScrollFlatListContainer,\n },\n durationScrollFlatListContentContainer: {\n ...customStyles?.durationScrollFlatListContentContainer,\n },\n maskedView: {\n flex: 1,\n },\n pickerAmPmContainer: {\n bottom: 0,\n justifyContent: \"center\",\n marginTop: pickerAmPmVerticalOffset,\n position: \"absolute\",\n top: 0,\n // Only apply percentage-based left when using legacy positioning.\n // The new pixel-based positioning is applied per-column in PickerItem.\n ...(useLegacyLabelPosition ? { left: `${labelOffsetPercentage}%` } : undefined),\n ...customStyles?.pickerLabelContainer,\n ...customStyles?.pickerAmPmContainer,\n },\n pickerAmPmLabel: {\n color: textColor,\n fontSize: 18,\n fontWeight: \"bold\",\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n ...customStyles?.pickerAmPmLabel,\n },\n pickerContainer: {\n backgroundColor,\n flexDirection: \"row\",\n width: \"100%\",\n ...customStyles?.pickerContainer,\n },\n pickerGradientOverlay: {\n height: \"100%\",\n position: \"absolute\",\n width: \"100%\",\n ...customStyles?.pickerGradientOverlay,\n },\n pickerItem: {\n color: textColor,\n fontSize: 25,\n overflow: \"visible\",\n textAlignVertical: \"center\",\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n },\n pickerItemContainer: {\n alignItems: \"center\",\n flexDirection: \"row\",\n height: 50,\n justifyContent: \"center\",\n ...customStyles?.pickerItemContainer,\n },\n pickerLabel: {\n color: textColor,\n fontSize: 18,\n fontWeight: \"bold\",\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n },\n pickerLabelContainer: {\n bottom: 0,\n justifyContent: \"center\",\n marginTop: pickerLabelVerticalOffset,\n position: \"absolute\",\n top: 0,\n // Only apply percentage-based left when using legacy positioning.\n // The new pixel-based positioning is applied per-column in DurationScroll.\n ...(useLegacyLabelPosition ? { left: `${labelOffsetPercentage}%` } : undefined),\n ...customStyles?.pickerLabelContainer,\n },\n selectedPickerItem: {\n color: textColor,\n fontSize: 25,\n overflow: \"visible\",\n textAlignVertical: \"center\",\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n ...customStyles?.selectedPickerItem,\n },\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AA+BA,MAAMC,0BAA0B,GAAG,SAAS;AAC5C,MAAMC,oBAAoB,GAAG,SAAS;AACtC,MAAMC,2BAA2B,GAAG,SAAS;AAC7C,MAAMC,qBAAqB,GAAG,SAAS;AAEhC,MAAMC,cAAc,GAAIC,YAAiD,IAAK;EAAA,IAAAC,qBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,mBAAA;EACnF,MAAMC,eAAe,GACnB,CAAAR,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEQ,eAAe,MAC5B,CAAAR,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAES,KAAK,MAAK,MAAM,GAAGd,0BAA0B,GAAGE,2BAA2B,CAAC;EAE7F,MAAMa,SAAS,GAAG,CAAAV,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAES,KAAK,MAAK,MAAM,GAAGb,oBAAoB,GAAGE,qBAAqB;EAE/F,MAAMa,mBAAmB,GACvB,CAAAX,YAAY,aAAZA,YAAY,gBAAAC,qBAAA,GAAZD,YAAY,CAAEY,WAAW,cAAAX,qBAAA,uBAAzBA,qBAAA,CAA2BY,QAAQ,MAAIb,YAAY,aAAZA,YAAY,gBAAAE,kBAAA,GAAZF,YAAY,CAAEc,IAAI,cAAAZ,kBAAA,uBAAlBA,kBAAA,CAAoBW,QAAQ,KAAI,EAAE;EAC3E,MAAME,kBAAkB,GACtB,CAAAf,YAAY,aAAZA,YAAY,gBAAAG,qBAAA,GAAZH,YAAY,CAAEgB,eAAe,cAAAb,qBAAA,uBAA7BA,qBAAA,CAA+BU,QAAQ,MACvCb,YAAY,aAAZA,YAAY,gBAAAI,sBAAA,GAAZJ,YAAY,CAAEY,WAAW,cAAAR,sBAAA,uBAAzBA,sBAAA,CAA2BS,QAAQ,MACnCb,YAAY,aAAZA,YAAY,gBAAAK,mBAAA,GAAZL,YAAY,CAAEc,IAAI,cAAAT,mBAAA,uBAAlBA,mBAAA,CAAoBQ,QAAQ,KAC5B,EAAE;EACJ,MAAMI,kBAAkB,GACtB,CAAAjB,YAAY,aAAZA,YAAY,gBAAAM,qBAAA,GAAZN,YAAY,CAAEkB,UAAU,cAAAZ,qBAAA,uBAAxBA,qBAAA,CAA0BO,QAAQ,MAAIb,YAAY,aAAZA,YAAY,gBAAAO,mBAAA,GAAZP,YAAY,CAAEc,IAAI,cAAAP,mBAAA,uBAAlBA,mBAAA,CAAoBM,QAAQ,KAAI,EAAE;;EAE1E;EACA;EACA,MAAMM,yBAAyB,GAAGF,kBAAkB,GAAGN,mBAAmB,GAAG,CAAC;EAC9E,MAAMS,wBAAwB,GAAGH,kBAAkB,GAAGF,kBAAkB,GAAG,CAAC;;EAE5E;EACA;EACA;EACA;EACA,MAAMM,sBAAsB,GAC1B,CAAArB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEsB,qBAAqB,KAAI,IAAI,IAAI,CAAAtB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEuB,cAAc,KAAI,IAAI;EAErF,MAAMC,0BAA0B,GAAG,CAAAxB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEsB,qBAAqB,KAAI,CAAC;EAC3E,MAAMG,wBAAwB,GAAG,EAAE;EACnC,MAAMH,qBAAqB,GAAGG,wBAAwB,GAAGD,0BAA0B;EAEnF,OAAOE,uBAAU,CAACC,MAAM,CAAC;IACvBC,uBAAuB,EAAE;MACvBC,OAAO,EAAE,GAAG;MACZ,IAAG7B,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE4B,uBAAuB;IAC1C,CAAC;IACDE,kBAAkB,EAAE;MAClBD,OAAO,EAAE,GAAG;MACZ,IAAG7B,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE8B,kBAAkB;IACrC,CAAC;IACDC,sBAAsB,EAAE;MACtBC,WAAW,EAAE,MAAM;MACnB;MACA;MACAC,YAAY,EAAE,KAAK;MACnB,IAAGjC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE+B,sBAAsB;IACzC,CAAC;IACDG,+BAA+B,EAAE;MAC/BC,IAAI,EAAE,CAAC;MACP,IAAGnC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEkC,+BAA+B;IAClD,CAAC;IACDE,sCAAsC,EAAE;MACtC,IAAGpC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEoC,sCAAsC;IACzD,CAAC;IACDC,UAAU,EAAE;MACVF,IAAI,EAAE;IACR,CAAC;IACDG,mBAAmB,EAAE;MACnBC,MAAM,EAAE,CAAC;MACTC,cAAc,EAAE,QAAQ;MACxBC,SAAS,EAAErB,wBAAwB;MACnCsB,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACN;MACA;MACA,IAAItB,sBAAsB,GAAG;QAAEuB,IAAI,EAAE,GAAGtB,qBAAqB;MAAI,CAAC,GAAGuB,SAAS,CAAC;MAC/E,IAAG7C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE8C,oBAAoB;MACrC,IAAG9C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEsC,mBAAmB;IACtC,CAAC;IACDtB,eAAe,EAAE;MACf+B,KAAK,EAAErC,SAAS;MAChBG,QAAQ,EAAE,EAAE;MACZmC,UAAU,EAAE,MAAM;MAClB,IAAGhD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEc,IAAI;MACrB,IAAGd,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEY,WAAW;MAC5B,IAAGZ,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEgB,eAAe;IAClC,CAAC;IACDiC,eAAe,EAAE;MACfzC,eAAe;MACf0C,aAAa,EAAE,KAAK;MACpBC,KAAK,EAAE,MAAM;MACb,IAAGnD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEiD,eAAe;IAClC,CAAC;IACDG,qBAAqB,EAAE;MACrBC,MAAM,EAAE,MAAM;MACdX,QAAQ,EAAE,UAAU;MACpBS,KAAK,EAAE,MAAM;MACb,IAAGnD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEoD,qBAAqB;IACxC,CAAC;IACDlC,UAAU,EAAE;MACV6B,KAAK,EAAErC,SAAS;MAChBG,QAAQ,EAAE,EAAE;MACZyC,QAAQ,EAAE,SAAS;MACnBC,iBAAiB,EAAE,QAAQ;MAC3B,IAAGvD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEc,IAAI;MACrB,IAAGd,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEkB,UAAU;IAC7B,CAAC;IACDsC,mBAAmB,EAAE;MACnBC,UAAU,EAAE,QAAQ;MACpBP,aAAa,EAAE,KAAK;MACpBG,MAAM,EAAE,EAAE;MACVb,cAAc,EAAE,QAAQ;MACxB,IAAGxC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEwD,mBAAmB;IACtC,CAAC;IACD5C,WAAW,EAAE;MACXmC,KAAK,EAAErC,SAAS;MAChBG,QAAQ,EAAE,EAAE;MACZmC,UAAU,EAAE,MAAM;MAClB,IAAGhD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEc,IAAI;MACrB,IAAGd,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEY,WAAW;IAC9B,CAAC;IACDkC,oBAAoB,EAAE;MACpBP,MAAM,EAAE,CAAC;MACTC,cAAc,EAAE,QAAQ;MACxBC,SAAS,EAAEtB,yBAAyB;MACpCuB,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,CAAC;MACN;MACA;MACA,IAAItB,sBAAsB,GAAG;QAAEuB,IAAI,EAAE,GAAGtB,qBAAqB;MAAI,CAAC,GAAGuB,SAAS,CAAC;MAC/E,IAAG7C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE8C,oBAAoB;IACvC,CAAC;IACDY,kBAAkB,EAAE;MAClBX,KAAK,EAAErC,SAAS;MAChBG,QAAQ,EAAE,EAAE;MACZyC,QAAQ,EAAE,SAAS;MACnBC,iBAAiB,EAAE,QAAQ;MAC3B,IAAGvD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEc,IAAI;MACrB,IAAGd,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEkB,UAAU;MAC3B,IAAGlB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE0D,kBAAkB;IACrC;EACF,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAA5D,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { RefObject } from \"react\";\n\nimport type { View } from \"react-native\";\n\nimport type {\n LinearGradientProps,\n SoundAsset,\n Limit,\n} from \"../DurationScroll/types\";\n\nimport type { CustomTimerPickerStyles } from \"./styles\";\n\nexport interface TimerPickerRef {\n latestDuration: {\n days: RefObject<number> | undefined;\n hours: RefObject<number> | undefined;\n minutes: RefObject<number> | undefined;\n seconds: RefObject<number> | undefined;\n };\n reset: (options?: { animated?: boolean }) => void;\n setValue: (\n value: {\n days?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n },\n options?: { animated?: boolean }\n ) => void;\n}\n\nexport interface TimerPickerProps {\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Audio?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n FlatList?: any;\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Haptics?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n LinearGradient?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n MaskedView?: any;\n aggressivelyGetLatestDuration?: boolean;\n allowFontScaling?: boolean;\n amLabel?: string;\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n clickSoundAsset?: SoundAsset;\n dayInterval?: number;\n dayLabel?: string | React.ReactElement;\n dayLimit?: Limit;\n daysPickerIsDisabled?: boolean;\n decelerationRate?: number | \"normal\" | \"fast\";\n disableInfiniteScroll?: boolean;\n hideDays?: boolean;\n hideHours?: boolean;\n hideMinutes?: boolean;\n hideSeconds?: boolean;\n hourInterval?: number;\n hourLabel?: string | React.ReactElement;\n hourLimit?: Limit;\n hoursPickerIsDisabled?: boolean;\n initialValue?: {\n days?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n };\n maximumDays?: number;\n maximumHours?: number;\n maximumMinutes?: number;\n maximumSeconds?: number;\n minuteInterval?: number;\n minuteLabel?: string | React.ReactElement;\n minuteLimit?: Limit;\n minutesPickerIsDisabled?: boolean;\n onDurationChange?: (duration: {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n }) => void;\n padDaysWithZero?: boolean;\n padHoursWithZero?: boolean;\n padMinutesWithZero?: boolean;\n padSecondsWithZero?: boolean;\n padWithNItems?: number;\n pickerContainerProps?: React.ComponentProps<typeof View>;\n pickerFeedback?: () => void | Promise<void>;\n pickerGradientOverlayProps?: Partial<LinearGradientProps>;\n pmLabel?: string;\n repeatDayNumbersNTimes?: number;\n repeatHourNumbersNTimes?: number;\n repeatMinuteNumbersNTimes?: number;\n repeatSecondNumbersNTimes?: number;\n secondInterval?: number;\n secondLabel?: string | React.ReactElement;\n secondLimit?: Limit;\n secondsPickerIsDisabled?: boolean;\n styles?: CustomTimerPickerStyles;\n use12HourPicker?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type React from \"react\";\nimport { type RefObject } from \"react\";\n\nimport type { View } from \"react-native\";\n\nimport type { LinearGradientProps, SoundAsset, Limit } from \"../DurationScroll/types\";\nimport type { CustomTimerPickerStyles } from \"./styles\";\n\nexport interface TimerPickerRef {\n latestDuration: {\n days: RefObject<number> | undefined;\n hours: RefObject<number> | undefined;\n minutes: RefObject<number> | undefined;\n seconds: RefObject<number> | undefined;\n };\n reset: (options?: { animated?: boolean }) => void;\n setValue: (\n value: {\n days?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n },\n options?: { animated?: boolean }\n ) => void;\n}\n\nexport interface TimerPickerProps {\n aggressivelyGetLatestDuration?: boolean;\n allowFontScaling?: boolean;\n amLabel?: string;\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Audio?: any;\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n clickSoundAsset?: SoundAsset;\n dayInterval?: number;\n dayLabel?: string | React.ReactElement;\n dayLimit?: Limit;\n daysPickerIsDisabled?: boolean;\n decelerationRate?: number | \"normal\" | \"fast\";\n disableInfiniteScroll?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n FlatList?: any;\n /** @deprecated Use pickerFeedback prop instead. Will be removed in a future version. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Haptics?: any;\n hideDays?: boolean;\n hideHours?: boolean;\n hideMinutes?: boolean;\n hideSeconds?: boolean;\n hourInterval?: number;\n hourLabel?: string | React.ReactElement;\n hourLimit?: Limit;\n hoursPickerIsDisabled?: boolean;\n initialValue?: {\n days?: number;\n hours?: number;\n minutes?: number;\n seconds?: number;\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n LinearGradient?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n MaskedView?: any;\n maximumDays?: number;\n maximumHours?: number;\n maximumMinutes?: number;\n maximumSeconds?: number;\n minuteInterval?: number;\n minuteLabel?: string | React.ReactElement;\n minuteLimit?: Limit;\n minutesPickerIsDisabled?: boolean;\n onDurationChange?: (duration: {\n days: number;\n hours: number;\n minutes: number;\n seconds: number;\n }) => void;\n padDaysWithZero?: boolean;\n padHoursWithZero?: boolean;\n padMinutesWithZero?: boolean;\n padSecondsWithZero?: boolean;\n padWithNItems?: number;\n pickerContainerProps?: React.ComponentProps<typeof View>;\n pickerFeedback?: () => void | Promise<void>;\n pickerGradientOverlayProps?: Partial<LinearGradientProps>;\n pmLabel?: string;\n repeatDayNumbersNTimes?: number;\n repeatHourNumbersNTimes?: number;\n repeatMinuteNumbersNTimes?: number;\n repeatSecondNumbersNTimes?: number;\n secondInterval?: number;\n secondLabel?: string | React.ReactElement;\n secondLimit?: Limit;\n secondsPickerIsDisabled?: boolean;\n styles?: CustomTimerPickerStyles;\n use12HourPicker?: boolean;\n}\n"],"mappings":"","ignoreList":[]}