react-native-timer-picker 2.3.1 → 2.5.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.
- package/README.md +108 -116
- package/dist/commonjs/components/DurationScroll/DurationScroll.js +15 -27
- package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +1 -1
- package/dist/commonjs/components/DurationScroll/types.js.map +1 -1
- package/dist/commonjs/components/PickerItem/PickerItem.js +47 -0
- package/dist/commonjs/components/PickerItem/PickerItem.js.map +1 -0
- package/dist/commonjs/components/PickerItem/index.js +14 -0
- package/dist/commonjs/components/PickerItem/index.js.map +1 -0
- package/dist/commonjs/components/TimerPicker/TimerPicker.js +11 -7
- package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -1
- package/dist/commonjs/components/TimerPicker/styles.js +45 -18
- package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
- package/dist/commonjs/components/TimerPickerModal/styles.js +4 -15
- package/dist/commonjs/components/TimerPickerModal/styles.js.map +1 -1
- package/dist/commonjs/tests/Modal.test.js +2 -22
- package/dist/commonjs/tests/Modal.test.js.map +1 -1
- package/dist/commonjs/tests/TimerPickerModal.test.js +53 -53
- package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
- package/dist/commonjs/tests/generateNumbers.test.js +35 -35
- package/dist/commonjs/tests/generateNumbers.test.js.map +1 -1
- package/dist/commonjs/tests/padNumber.test.js +18 -18
- package/dist/commonjs/tests/padNumber.test.js.map +1 -1
- package/dist/commonjs/utils/generateNumbers.js +4 -3
- package/dist/commonjs/utils/generateNumbers.js.map +1 -1
- package/dist/commonjs/utils/padNumber.js +7 -7
- package/dist/commonjs/utils/padNumber.js.map +1 -1
- package/dist/module/components/DurationScroll/DurationScroll.js +14 -27
- package/dist/module/components/DurationScroll/DurationScroll.js.map +1 -1
- package/dist/module/components/DurationScroll/types.js.map +1 -1
- package/dist/module/components/PickerItem/PickerItem.js +40 -0
- package/dist/module/components/PickerItem/PickerItem.js.map +1 -0
- package/dist/module/components/PickerItem/index.js +2 -0
- package/dist/module/components/PickerItem/index.js.map +1 -0
- package/dist/module/components/TimerPicker/TimerPicker.js +11 -7
- package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -1
- package/dist/module/components/TimerPicker/styles.js +45 -18
- package/dist/module/components/TimerPicker/styles.js.map +1 -1
- package/dist/module/components/TimerPickerModal/styles.js +4 -15
- package/dist/module/components/TimerPickerModal/styles.js.map +1 -1
- package/dist/module/tests/Modal.test.js +2 -22
- package/dist/module/tests/Modal.test.js.map +1 -1
- package/dist/module/tests/TimerPickerModal.test.js +9 -9
- package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
- package/dist/module/tests/generateNumbers.test.js +35 -35
- package/dist/module/tests/generateNumbers.test.js.map +1 -1
- package/dist/module/tests/padNumber.test.js +18 -18
- package/dist/module/tests/padNumber.test.js.map +1 -1
- package/dist/module/utils/generateNumbers.js +4 -3
- package/dist/module/utils/generateNumbers.js.map +1 -1
- package/dist/module/utils/padNumber.js +7 -7
- package/dist/module/utils/padNumber.js.map +1 -1
- package/dist/typescript/components/DurationScroll/types.d.ts +1 -0
- package/dist/typescript/components/PickerItem/PickerItem.d.ts +15 -0
- package/dist/typescript/components/PickerItem/index.d.ts +1 -0
- package/dist/typescript/components/TimerPicker/styles.d.ts +153 -25
- package/dist/typescript/components/TimerPickerModal/styles.d.ts +256 -254
- package/dist/typescript/utils/padNumber.d.ts +1 -1
- package/package.json +1 -1
|
@@ -10,28 +10,44 @@ const DARK_MODE_TEXT_COLOR = "#E9E9E9";
|
|
|
10
10
|
const LIGHT_MODE_BACKGROUND_COLOR = "#F1F1F1";
|
|
11
11
|
const LIGHT_MODE_TEXT_COLOR = "#1B1B1B";
|
|
12
12
|
const generateStyles = customStyles => {
|
|
13
|
-
var _customStyles$pickerL, _customStyles$text, _customStyles$
|
|
13
|
+
var _customStyles$pickerL, _customStyles$text, _customStyles$pickerA, _customStyles$pickerL2, _customStyles$text2, _customStyles$pickerI, _customStyles$text3;
|
|
14
|
+
const backgroundColor = (customStyles === null || customStyles === void 0 ? void 0 : customStyles.backgroundColor) ?? ((customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_BACKGROUND_COLOR : LIGHT_MODE_BACKGROUND_COLOR);
|
|
15
|
+
const textColor = (customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR;
|
|
16
|
+
const pickerLabelFontSize = (customStyles === null || customStyles === void 0 || (_customStyles$pickerL = customStyles.pickerLabel) === null || _customStyles$pickerL === void 0 ? void 0 : _customStyles$pickerL.fontSize) ?? (customStyles === null || customStyles === void 0 || (_customStyles$text = customStyles.text) === null || _customStyles$text === void 0 ? void 0 : _customStyles$text.fontSize) ?? 18;
|
|
17
|
+
const pickerAmPmFontSize = (customStyles === null || customStyles === void 0 || (_customStyles$pickerA = customStyles.pickerAmPmLabel) === null || _customStyles$pickerA === void 0 ? void 0 : _customStyles$pickerA.fontSize) ?? (customStyles === null || customStyles === void 0 || (_customStyles$pickerL2 = customStyles.pickerLabel) === null || _customStyles$pickerL2 === void 0 ? void 0 : _customStyles$pickerL2.fontSize) ?? (customStyles === null || customStyles === void 0 || (_customStyles$text2 = customStyles.text) === null || _customStyles$text2 === void 0 ? void 0 : _customStyles$text2.fontSize) ?? 18;
|
|
18
|
+
const pickerItemFontSize = (customStyles === null || customStyles === void 0 || (_customStyles$pickerI = customStyles.pickerItem) === null || _customStyles$pickerI === void 0 ? void 0 : _customStyles$pickerI.fontSize) ?? (customStyles === null || customStyles === void 0 || (_customStyles$text3 = customStyles.text) === null || _customStyles$text3 === void 0 ? void 0 : _customStyles$text3.fontSize) ?? 25;
|
|
19
|
+
|
|
20
|
+
// This offset makes the picker label appear to be aligned with the picker item
|
|
21
|
+
// despite them having different font sizes
|
|
22
|
+
const pickerLabelVerticalOffset = pickerItemFontSize - pickerLabelFontSize - 1;
|
|
23
|
+
const pickerAmPmVerticalOffset = pickerItemFontSize - pickerAmPmFontSize - 1;
|
|
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.
|
|
28
|
+
const extraLabelOffsetPercentage = (customStyles === null || customStyles === void 0 ? void 0 : customStyles.labelOffsetPercentage) ?? 8;
|
|
29
|
+
const baseLeftOffsetPercentage = 70;
|
|
30
|
+
const labelOffsetPercentage = baseLeftOffsetPercentage + extraLabelOffsetPercentage;
|
|
14
31
|
return _reactNative.StyleSheet.create({
|
|
15
32
|
pickerContainer: {
|
|
16
33
|
flexDirection: "row",
|
|
17
|
-
|
|
18
|
-
|
|
34
|
+
backgroundColor,
|
|
35
|
+
width: "100%",
|
|
19
36
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerContainer)
|
|
20
37
|
},
|
|
21
38
|
pickerLabelContainer: {
|
|
22
39
|
position: "absolute",
|
|
23
|
-
right: 4,
|
|
24
40
|
top: 0,
|
|
25
41
|
bottom: 0,
|
|
42
|
+
left: `${labelOffsetPercentage}%`,
|
|
26
43
|
justifyContent: "center",
|
|
27
|
-
|
|
44
|
+
marginTop: pickerLabelVerticalOffset,
|
|
28
45
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelContainer)
|
|
29
46
|
},
|
|
30
47
|
pickerLabel: {
|
|
31
48
|
fontSize: 18,
|
|
32
49
|
fontWeight: "bold",
|
|
33
|
-
|
|
34
|
-
color: (customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR,
|
|
50
|
+
color: textColor,
|
|
35
51
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
|
|
36
52
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabel)
|
|
37
53
|
},
|
|
@@ -40,30 +56,39 @@ const generateStyles = customStyles => {
|
|
|
40
56
|
height: 50,
|
|
41
57
|
justifyContent: "center",
|
|
42
58
|
alignItems: "center",
|
|
43
|
-
width: ((customStyles === null || customStyles === void 0 || (_customStyles$pickerI2 = customStyles.pickerItem) === null || _customStyles$pickerI2 === void 0 ? void 0 : _customStyles$pickerI2.fontSize) ?? 25) * 3.6,
|
|
44
59
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItemContainer)
|
|
45
60
|
},
|
|
46
61
|
pickerItem: {
|
|
47
62
|
textAlignVertical: "center",
|
|
48
63
|
fontSize: 25,
|
|
49
|
-
|
|
64
|
+
overflow: "visible",
|
|
65
|
+
color: textColor,
|
|
50
66
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
|
|
51
67
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItem)
|
|
52
68
|
},
|
|
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)
|
|
77
|
+
},
|
|
53
78
|
pickerAmPmContainer: {
|
|
54
79
|
position: "absolute",
|
|
55
|
-
right: 0,
|
|
56
80
|
top: 0,
|
|
57
81
|
bottom: 0,
|
|
82
|
+
left: `${labelOffsetPercentage}%`,
|
|
58
83
|
justifyContent: "center",
|
|
84
|
+
marginTop: pickerAmPmVerticalOffset,
|
|
59
85
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelContainer),
|
|
60
86
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerAmPmContainer)
|
|
61
87
|
},
|
|
62
88
|
pickerAmPmLabel: {
|
|
63
89
|
fontSize: 18,
|
|
64
90
|
fontWeight: "bold",
|
|
65
|
-
|
|
66
|
-
color: (customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR,
|
|
91
|
+
color: textColor,
|
|
67
92
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
|
|
68
93
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabel),
|
|
69
94
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerAmPmLabel)
|
|
@@ -85,15 +110,17 @@ const generateStyles = customStyles => {
|
|
|
85
110
|
height: "100%",
|
|
86
111
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerGradientOverlay)
|
|
87
112
|
},
|
|
88
|
-
durationScrollFlatList: {
|
|
89
|
-
minWidth: 1,
|
|
90
|
-
width: "300%",
|
|
91
|
-
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatList)
|
|
92
|
-
},
|
|
93
113
|
durationScrollFlatListContainer: {
|
|
94
|
-
|
|
114
|
+
flex: 1,
|
|
95
115
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatListContainer)
|
|
96
116
|
},
|
|
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)
|
|
123
|
+
},
|
|
97
124
|
durationScrollFlatListContentContainer: {
|
|
98
125
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatListContentContainer)
|
|
99
126
|
}
|
|
@@ -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$pickerI","_customStyles$text2","_customStyles$pickerI2","_customStyles$pickerI3","StyleSheet","create","pickerContainer","flexDirection","marginRight","backgroundColor","theme","pickerLabelContainer","position","right","top","bottom","justifyContent","minWidth","pickerLabel","fontSize","text","fontWeight","marginTop","pickerItem","color","pickerItemContainer","height","alignItems","width","textAlignVertical","pickerAmPmContainer","pickerAmPmLabel","disabledPickerContainer","opacity","disabledPickerItem","maskedView","flex","pickerGradientOverlay","durationScrollFlatList","durationScrollFlatListContainer","overflow","durationScrollFlatListContentContainer","exports"],"sources":["styles.ts"],"sourcesContent":["import { 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 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 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 StyleSheet.create({\n pickerContainer: {\n flexDirection: \"row\",\n marginRight: \"8%\",\n backgroundColor:\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n ...customStyles?.pickerContainer,\n },\n pickerLabelContainer: {\n position: \"absolute\",\n right: 4,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n minWidth:\n (customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) * 0.65,\n ...customStyles?.pickerLabelContainer,\n },\n pickerLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop:\n (customStyles?.pickerItem?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n },\n pickerItemContainer: {\n flexDirection: \"row\",\n height: 50,\n justifyContent: \"center\",\n alignItems: \"center\",\n width: (customStyles?.pickerItem?.fontSize ?? 25) * 3.6,\n ...customStyles?.pickerItemContainer,\n },\n pickerItem: {\n textAlignVertical: \"center\",\n fontSize: 25,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n },\n pickerAmPmContainer: {\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n ...customStyles?.pickerLabelContainer,\n ...customStyles?.pickerAmPmContainer,\n },\n pickerAmPmLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop: (customStyles?.pickerItem?.fontSize ?? 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\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 durationScrollFlatList: {\n minWidth: 1,\n width: \"300%\",\n ...customStyles?.durationScrollFlatList,\n },\n durationScrollFlatListContainer: {\n overflow: \"visible\",\n ...customStyles?.durationScrollFlatListContainer,\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","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":[]}
|
|
@@ -24,11 +24,7 @@ const generateStyles = (customStyles, variables) => {
|
|
|
24
24
|
container: {
|
|
25
25
|
justifyContent: "center",
|
|
26
26
|
overflow: "hidden",
|
|
27
|
-
...customContainerStyle
|
|
28
|
-
// disable setting alignItems here because it can affect
|
|
29
|
-
// the FlatList's ability to calculate its layout, which can
|
|
30
|
-
// stop snapToOffsets working properly
|
|
31
|
-
alignItems: undefined
|
|
27
|
+
...customContainerStyle
|
|
32
28
|
},
|
|
33
29
|
contentContainer: {
|
|
34
30
|
backgroundColor: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.backgroundColor) ?? ((customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? DARK_MODE_BACKGROUND_COLOR : LIGHT_MODE_BACKGROUND_COLOR),
|
|
@@ -36,12 +32,8 @@ const generateStyles = (customStyles, variables) => {
|
|
|
36
32
|
alignItems: "center",
|
|
37
33
|
borderRadius: 20,
|
|
38
34
|
overflow: "hidden",
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// the FlatList's ability to calculate its layout, which can
|
|
42
|
-
// stop snapToOffsets working properly
|
|
43
|
-
paddingHorizontal: 0,
|
|
44
|
-
paddingVertical: 0
|
|
35
|
+
paddingHorizontal: 20,
|
|
36
|
+
...customContentContainerStyle
|
|
45
37
|
},
|
|
46
38
|
buttonContainer: {
|
|
47
39
|
flexDirection: "row",
|
|
@@ -86,10 +78,7 @@ const generateStyles = (customStyles, variables) => {
|
|
|
86
78
|
timerPickerStyles: {
|
|
87
79
|
...customTimerPickerStyles,
|
|
88
80
|
pickerContainer: {
|
|
89
|
-
|
|
90
|
-
// the FlatList's ability to calculate its layout, which can
|
|
91
|
-
// stop snapToOffsets working properly
|
|
92
|
-
paddingHorizontal: 20,
|
|
81
|
+
marginRight: "8%",
|
|
93
82
|
paddingTop: !(variables !== null && variables !== void 0 && variables.hasModalTitle) ? 20 : 0,
|
|
94
83
|
...((customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.pickerContainer) ?? {})
|
|
95
84
|
}
|
|
@@ -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","variables","button","customButtonStyle","buttonContainer","customButtonContainerStyle","cancelButton","customCancelButtonStyle","confirmButton","customConfirmButtonStyle","container","customContainerStyle","contentContainer","customContentContainerStyle","modalTitle","customModalTitleStyle","customTimerPickerStyles","StyleSheet","create","justifyContent","overflow","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","variables","button","customButtonStyle","buttonContainer","customButtonContainerStyle","cancelButton","customCancelButtonStyle","confirmButton","customConfirmButtonStyle","container","customContainerStyle","contentContainer","customContentContainerStyle","modalTitle","customModalTitleStyle","customTimerPickerStyles","StyleSheet","create","justifyContent","overflow","backgroundColor","theme","alignItems","borderRadius","paddingHorizontal","flexDirection","marginTop","marginBottom","marginHorizontal","paddingVertical","borderWidth","fontSize","text","borderColor","color","undefined","fontWeight","timerPickerStyles","pickerContainer","marginRight","paddingTop","hasModalTitle","exports"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { DimensionValue, TextStyle, ViewStyle } from \"react-native\";\n\nimport type { CustomTimerPickerStyles } from \"../TimerPicker/styles\";\n\nexport interface CustomTimerPickerModalStyles extends CustomTimerPickerStyles {\n button?: TextStyle;\n buttonContainer?: ViewStyle;\n cancelButton?: TextStyle;\n confirmButton?: TextStyle;\n container?: ViewStyle;\n contentContainer?: ViewStyle;\n modalTitle?: TextStyle;\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: CustomTimerPickerModalStyles | undefined,\n variables?: {\n hasModalTitle: boolean;\n }\n) => {\n const {\n button: customButtonStyle,\n buttonContainer: customButtonContainerStyle,\n cancelButton: customCancelButtonStyle,\n confirmButton: customConfirmButtonStyle,\n container: customContainerStyle,\n contentContainer: customContentContainerStyle,\n modalTitle: customModalTitleStyle,\n ...customTimerPickerStyles\n } = customStyles ?? {};\n\n return StyleSheet.create({\n container: {\n justifyContent: \"center\",\n overflow: \"hidden\",\n ...customContainerStyle,\n },\n contentContainer: {\n backgroundColor:\n customTimerPickerStyles?.backgroundColor ??\n (customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: 20,\n overflow: \"hidden\",\n paddingHorizontal: 20,\n ...customContentContainerStyle,\n },\n buttonContainer: {\n flexDirection: \"row\",\n marginTop: 25,\n marginBottom: 20,\n ...customButtonContainerStyle,\n },\n button: {\n marginHorizontal: 12,\n paddingVertical: 10,\n paddingHorizontal: 20,\n borderWidth: 1,\n borderRadius: 10,\n fontSize: 16,\n overflow: \"hidden\",\n ...customTimerPickerStyles?.text,\n ...customButtonStyle,\n },\n cancelButton: {\n borderColor: \"gray\",\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : \"gray\",\n backgroundColor:\n customTimerPickerStyles?.theme === \"dark\" ? \"gray\" : undefined,\n ...customTimerPickerStyles?.text,\n ...customCancelButtonStyle,\n },\n confirmButton: {\n borderColor: \"green\",\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : \"green\",\n backgroundColor:\n customTimerPickerStyles?.theme === \"dark\" ? \"green\" : undefined,\n ...customTimerPickerStyles?.text,\n ...customConfirmButtonStyle,\n },\n modalTitle: {\n fontSize: 24,\n fontWeight: \"600\",\n marginTop: 20,\n marginBottom: 15,\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customTimerPickerStyles?.text,\n ...customModalTitleStyle,\n },\n timerPickerStyles: {\n ...customTimerPickerStyles,\n pickerContainer: {\n marginRight: \"8%\" as DimensionValue,\n paddingTop: !variables?.hasModalTitle ? 20 : 0,\n ...(customTimerPickerStyles?.pickerContainer ?? {}),\n },\n },\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -63,21 +63,10 @@ describe("Modal", () => {
|
|
|
63
63
|
const overlay = getByTestId("modal-backdrop");
|
|
64
64
|
expect(() => _reactNative.fireEvent.press(overlay)).not.toThrow();
|
|
65
65
|
});
|
|
66
|
-
it("renders multiple children", () => {
|
|
67
|
-
const {
|
|
68
|
-
getByText
|
|
69
|
-
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
70
|
-
isVisible: true
|
|
71
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "First Child"), /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Second Child")));
|
|
72
|
-
const firstChild = getByText("First Child");
|
|
73
|
-
const secondChild = getByText("Second Child");
|
|
74
|
-
expect(firstChild).toBeDefined();
|
|
75
|
-
expect(secondChild).toBeDefined();
|
|
76
|
-
});
|
|
77
66
|
it("handles rapid visibility changes", () => {
|
|
78
67
|
const {
|
|
79
|
-
|
|
80
|
-
|
|
68
|
+
getByTestId,
|
|
69
|
+
rerender
|
|
81
70
|
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
82
71
|
isVisible: true
|
|
83
72
|
}));
|
|
@@ -106,14 +95,5 @@ describe("Modal", () => {
|
|
|
106
95
|
_reactNative.fireEvent.press(overlay);
|
|
107
96
|
expect(onOverlayPressMock).toHaveBeenCalledTimes(1);
|
|
108
97
|
});
|
|
109
|
-
it("renders children with complex structure", () => {
|
|
110
|
-
const {
|
|
111
|
-
getByText
|
|
112
|
-
} = (0, _reactNative.render)(/*#__PURE__*/_react.default.createElement(_Modal.default, {
|
|
113
|
-
isVisible: true
|
|
114
|
-
}, /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Parent"), /*#__PURE__*/_react.default.createElement(_reactNative2.Text, null, "Child")));
|
|
115
|
-
expect(getByText("Parent")).toBeDefined();
|
|
116
|
-
expect(getByText("Child")).toBeDefined();
|
|
117
|
-
});
|
|
118
98
|
});
|
|
119
99
|
//# sourceMappingURL=Modal.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNative2","_Modal","e","__esModule","default","describe","beforeEach","jest","useFakeTimers","afterEach","runOnlyPendingTimers","useRealTimers","cleanup","it","getByTestId","render","createElement","isVisible","component","expect","toBeDefined","getByText","Text","content","onOverlayPressMock","fn","onOverlayPress","overlay","fireEvent","press","toHaveBeenCalled","modal","props","visible","toBe","not","toThrow","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNative2","_Modal","e","__esModule","default","describe","beforeEach","jest","useFakeTimers","afterEach","runOnlyPendingTimers","useRealTimers","cleanup","it","getByTestId","render","createElement","isVisible","component","expect","toBeDefined","getByText","Text","content","onOverlayPressMock","fn","onOverlayPress","overlay","fireEvent","press","toHaveBeenCalled","modal","props","visible","toBe","not","toThrow","rerender","toHaveBeenCalledTimes"],"sources":["Modal.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render, fireEvent, cleanup } from \"@testing-library/react-native\";\nimport { Text } from \"react-native\";\n\nimport Modal from \"../components/Modal\";\n\ndescribe(\"Modal\", () => {\n beforeEach(() => {\n jest.useFakeTimers();\n });\n\n afterEach(() => {\n jest.runOnlyPendingTimers();\n jest.useRealTimers();\n cleanup();\n });\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<Modal isVisible />);\n const component = getByTestId(\"modal\");\n expect(component).toBeDefined();\n });\n\n it(\"renders children when visible\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"Modal Content\"}</Text>\n </Modal>\n );\n const content = getByText(\"Modal Content\");\n expect(content).toBeDefined();\n });\n\n it(\"calls onOverlayPress when overlay is pressed\", () => {\n const onOverlayPressMock = jest.fn();\n const { getByTestId } = render(\n <Modal isVisible onOverlayPress={onOverlayPressMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalled();\n });\n\n it(\"renders but is not visible when isVisible is false\", () => {\n const { getByTestId } = render(<Modal isVisible={false} />);\n const modal = getByTestId(\"modal\");\n expect(modal).toBeDefined();\n expect(modal.props.visible).toBe(false);\n });\n\n it(\"does not call onOverlayPress when onOverlayPress is not provided\", () => {\n const { getByTestId } = render(<Modal isVisible />);\n const overlay = getByTestId(\"modal-backdrop\");\n expect(() => fireEvent.press(overlay)).not.toThrow();\n });\n\n it(\"handles rapid visibility changes\", () => {\n const { getByTestId, rerender } = render(<Modal isVisible={true} />);\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(true);\n\n rerender(<Modal isVisible={false} />);\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(false);\n\n rerender(<Modal isVisible={true} />);\n expect(getByTestId(\"modal\")).toBeDefined();\n expect(getByTestId(\"modal\").props.visible).toBe(true);\n });\n\n it(\"calls onOverlayPress exactly once per press\", () => {\n const onOverlayPressMock = jest.fn();\n const { getByTestId } = render(\n <Modal isVisible onOverlayPress={onOverlayPressMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalledTimes(1);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|