@dreamstack-us/kaal 0.0.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 (181) hide show
  1. package/lib/module/components/CalendarGrid/CalendarGrid.js +112 -0
  2. package/lib/module/components/CalendarGrid/CalendarGrid.js.map +1 -0
  3. package/lib/module/components/CalendarGrid/CalendarGrid.styles.js +46 -0
  4. package/lib/module/components/CalendarGrid/CalendarGrid.styles.js.map +1 -0
  5. package/lib/module/components/CalendarGrid/DayCell.js +96 -0
  6. package/lib/module/components/CalendarGrid/DayCell.js.map +1 -0
  7. package/lib/module/components/CalendarGrid/index.js +4 -0
  8. package/lib/module/components/CalendarGrid/index.js.map +1 -0
  9. package/lib/module/components/DatePicker/DatePicker.android.js +66 -0
  10. package/lib/module/components/DatePicker/DatePicker.android.js.map +1 -0
  11. package/lib/module/components/DatePicker/DatePicker.ios.js +74 -0
  12. package/lib/module/components/DatePicker/DatePicker.ios.js.map +1 -0
  13. package/lib/module/components/DatePicker/DatePicker.js +9 -0
  14. package/lib/module/components/DatePicker/DatePicker.js.map +1 -0
  15. package/lib/module/components/DatePicker/DatePicker.styles.js +35 -0
  16. package/lib/module/components/DatePicker/DatePicker.styles.js.map +1 -0
  17. package/lib/module/components/DatePicker/DatePicker.web.js +32 -0
  18. package/lib/module/components/DatePicker/DatePicker.web.js.map +1 -0
  19. package/lib/module/components/DatePicker/index.js +4 -0
  20. package/lib/module/components/DatePicker/index.js.map +1 -0
  21. package/lib/module/components/TimePicker/ClockFace.js +194 -0
  22. package/lib/module/components/TimePicker/ClockFace.js.map +1 -0
  23. package/lib/module/components/TimePicker/MaterialTimePicker.js +122 -0
  24. package/lib/module/components/TimePicker/MaterialTimePicker.js.map +1 -0
  25. package/lib/module/components/TimePicker/TimePicker.android.js +77 -0
  26. package/lib/module/components/TimePicker/TimePicker.android.js.map +1 -0
  27. package/lib/module/components/TimePicker/TimePicker.ios.js +83 -0
  28. package/lib/module/components/TimePicker/TimePicker.ios.js.map +1 -0
  29. package/lib/module/components/TimePicker/TimePicker.js +34 -0
  30. package/lib/module/components/TimePicker/TimePicker.js.map +1 -0
  31. package/lib/module/components/TimePicker/TimePicker.styles.js +180 -0
  32. package/lib/module/components/TimePicker/TimePicker.styles.js.map +1 -0
  33. package/lib/module/components/TimePicker/TimePicker.web.js +37 -0
  34. package/lib/module/components/TimePicker/TimePicker.web.js.map +1 -0
  35. package/lib/module/components/TimePicker/TimeWheelPicker.js +178 -0
  36. package/lib/module/components/TimePicker/TimeWheelPicker.js.map +1 -0
  37. package/lib/module/components/TimePicker/index.js +7 -0
  38. package/lib/module/components/TimePicker/index.js.map +1 -0
  39. package/lib/module/components/WheelPicker/WheelPicker.js +5 -0
  40. package/lib/module/components/WheelPicker/WheelPicker.js.map +1 -0
  41. package/lib/module/components/WheelPicker/WheelPicker.styles.js +41 -0
  42. package/lib/module/components/WheelPicker/WheelPicker.styles.js.map +1 -0
  43. package/lib/module/components/WheelPicker/WheelPicker.web.js +190 -0
  44. package/lib/module/components/WheelPicker/WheelPicker.web.js.map +1 -0
  45. package/lib/module/components/WheelPicker/index.js +4 -0
  46. package/lib/module/components/WheelPicker/index.js.map +1 -0
  47. package/lib/module/components/index.js +7 -0
  48. package/lib/module/components/index.js.map +1 -0
  49. package/lib/module/hooks/index.js +6 -0
  50. package/lib/module/hooks/index.js.map +1 -0
  51. package/lib/module/hooks/useCalendar.js +44 -0
  52. package/lib/module/hooks/useCalendar.js.map +1 -0
  53. package/lib/module/hooks/useDatePicker.js +30 -0
  54. package/lib/module/hooks/useDatePicker.js.map +1 -0
  55. package/lib/module/hooks/useTimePicker.js +125 -0
  56. package/lib/module/hooks/useTimePicker.js.map +1 -0
  57. package/lib/module/index.js +22 -0
  58. package/lib/module/index.js.map +1 -0
  59. package/lib/module/types/datepicker.js +2 -0
  60. package/lib/module/types/datepicker.js.map +1 -0
  61. package/lib/module/types/index.js +5 -0
  62. package/lib/module/types/index.js.map +1 -0
  63. package/lib/module/types/timepicker.js +2 -0
  64. package/lib/module/types/timepicker.js.map +1 -0
  65. package/lib/module/unistyles.js +9 -0
  66. package/lib/module/unistyles.js.map +1 -0
  67. package/lib/module/utils/date.js +205 -0
  68. package/lib/module/utils/date.js.map +1 -0
  69. package/lib/module/utils/index.js +5 -0
  70. package/lib/module/utils/index.js.map +1 -0
  71. package/lib/module/utils/validation.js +61 -0
  72. package/lib/module/utils/validation.js.map +1 -0
  73. package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts +12 -0
  74. package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts.map +1 -0
  75. package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts +45 -0
  76. package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -0
  77. package/lib/typescript/components/CalendarGrid/DayCell.d.ts +12 -0
  78. package/lib/typescript/components/CalendarGrid/DayCell.d.ts.map +1 -0
  79. package/lib/typescript/components/CalendarGrid/index.d.ts +2 -0
  80. package/lib/typescript/components/CalendarGrid/index.d.ts.map +1 -0
  81. package/lib/typescript/components/DatePicker/DatePicker.android.d.ts +4 -0
  82. package/lib/typescript/components/DatePicker/DatePicker.android.d.ts.map +1 -0
  83. package/lib/typescript/components/DatePicker/DatePicker.d.ts +15 -0
  84. package/lib/typescript/components/DatePicker/DatePicker.d.ts.map +1 -0
  85. package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts +4 -0
  86. package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts.map +1 -0
  87. package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts +29 -0
  88. package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts.map +1 -0
  89. package/lib/typescript/components/DatePicker/DatePicker.web.d.ts +4 -0
  90. package/lib/typescript/components/DatePicker/DatePicker.web.d.ts.map +1 -0
  91. package/lib/typescript/components/DatePicker/index.d.ts +3 -0
  92. package/lib/typescript/components/DatePicker/index.d.ts.map +1 -0
  93. package/lib/typescript/components/TimePicker/ClockFace.d.ts +12 -0
  94. package/lib/typescript/components/TimePicker/ClockFace.d.ts.map +1 -0
  95. package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts +12 -0
  96. package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts.map +1 -0
  97. package/lib/typescript/components/TimePicker/TimePicker.android.d.ts +4 -0
  98. package/lib/typescript/components/TimePicker/TimePicker.android.d.ts.map +1 -0
  99. package/lib/typescript/components/TimePicker/TimePicker.d.ts +29 -0
  100. package/lib/typescript/components/TimePicker/TimePicker.d.ts.map +1 -0
  101. package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts +4 -0
  102. package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts.map +1 -0
  103. package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts +168 -0
  104. package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts.map +1 -0
  105. package/lib/typescript/components/TimePicker/TimePicker.web.d.ts +10 -0
  106. package/lib/typescript/components/TimePicker/TimePicker.web.d.ts.map +1 -0
  107. package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts +11 -0
  108. package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts.map +1 -0
  109. package/lib/typescript/components/TimePicker/index.d.ts +6 -0
  110. package/lib/typescript/components/TimePicker/index.d.ts.map +1 -0
  111. package/lib/typescript/components/WheelPicker/WheelPicker.d.ts +2 -0
  112. package/lib/typescript/components/WheelPicker/WheelPicker.d.ts.map +1 -0
  113. package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts +40 -0
  114. package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts.map +1 -0
  115. package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts +10 -0
  116. package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts.map +1 -0
  117. package/lib/typescript/components/WheelPicker/index.d.ts +2 -0
  118. package/lib/typescript/components/WheelPicker/index.d.ts.map +1 -0
  119. package/lib/typescript/components/index.d.ts +5 -0
  120. package/lib/typescript/components/index.d.ts.map +1 -0
  121. package/lib/typescript/hooks/index.d.ts +4 -0
  122. package/lib/typescript/hooks/index.d.ts.map +1 -0
  123. package/lib/typescript/hooks/useCalendar.d.ts +10 -0
  124. package/lib/typescript/hooks/useCalendar.d.ts.map +1 -0
  125. package/lib/typescript/hooks/useDatePicker.d.ts +15 -0
  126. package/lib/typescript/hooks/useDatePicker.d.ts.map +1 -0
  127. package/lib/typescript/hooks/useTimePicker.d.ts +52 -0
  128. package/lib/typescript/hooks/useTimePicker.d.ts.map +1 -0
  129. package/lib/typescript/index.d.ts +12 -0
  130. package/lib/typescript/index.d.ts.map +1 -0
  131. package/lib/typescript/types/datepicker.d.ts +15 -0
  132. package/lib/typescript/types/datepicker.d.ts.map +1 -0
  133. package/lib/typescript/types/index.d.ts +3 -0
  134. package/lib/typescript/types/index.d.ts.map +1 -0
  135. package/lib/typescript/types/timepicker.d.ts +54 -0
  136. package/lib/typescript/types/timepicker.d.ts.map +1 -0
  137. package/lib/typescript/unistyles.d.ts +3 -0
  138. package/lib/typescript/unistyles.d.ts.map +1 -0
  139. package/lib/typescript/utils/date.d.ts +94 -0
  140. package/lib/typescript/utils/date.d.ts.map +1 -0
  141. package/lib/typescript/utils/index.d.ts +3 -0
  142. package/lib/typescript/utils/index.d.ts.map +1 -0
  143. package/lib/typescript/utils/validation.d.ts +40 -0
  144. package/lib/typescript/utils/validation.d.ts.map +1 -0
  145. package/package.json +101 -0
  146. package/src/components/CalendarGrid/CalendarGrid.styles.ts +44 -0
  147. package/src/components/CalendarGrid/CalendarGrid.tsx +151 -0
  148. package/src/components/CalendarGrid/DayCell.tsx +108 -0
  149. package/src/components/CalendarGrid/index.ts +1 -0
  150. package/src/components/DatePicker/DatePicker.android.tsx +69 -0
  151. package/src/components/DatePicker/DatePicker.ios.tsx +78 -0
  152. package/src/components/DatePicker/DatePicker.styles.ts +35 -0
  153. package/src/components/DatePicker/DatePicker.tsx +21 -0
  154. package/src/components/DatePicker/DatePicker.web.tsx +36 -0
  155. package/src/components/DatePicker/index.ts +2 -0
  156. package/src/components/TimePicker/ClockFace.tsx +233 -0
  157. package/src/components/TimePicker/MaterialTimePicker.tsx +169 -0
  158. package/src/components/TimePicker/TimePicker.android.tsx +80 -0
  159. package/src/components/TimePicker/TimePicker.ios.tsx +88 -0
  160. package/src/components/TimePicker/TimePicker.styles.ts +209 -0
  161. package/src/components/TimePicker/TimePicker.tsx +35 -0
  162. package/src/components/TimePicker/TimePicker.web.tsx +35 -0
  163. package/src/components/TimePicker/TimeWheelPicker.tsx +211 -0
  164. package/src/components/TimePicker/index.ts +5 -0
  165. package/src/components/WheelPicker/WheelPicker.styles.ts +39 -0
  166. package/src/components/WheelPicker/WheelPicker.tsx +2 -0
  167. package/src/components/WheelPicker/WheelPicker.web.tsx +237 -0
  168. package/src/components/WheelPicker/index.ts +1 -0
  169. package/src/components/index.ts +11 -0
  170. package/src/hooks/index.ts +9 -0
  171. package/src/hooks/useCalendar.ts +59 -0
  172. package/src/hooks/useDatePicker.ts +40 -0
  173. package/src/hooks/useTimePicker.ts +152 -0
  174. package/src/index.ts +77 -0
  175. package/src/types/datepicker.ts +17 -0
  176. package/src/types/index.ts +2 -0
  177. package/src/types/timepicker.ts +59 -0
  178. package/src/unistyles.ts +6 -0
  179. package/src/utils/date.ts +217 -0
  180. package/src/utils/index.ts +2 -0
  181. package/src/utils/validation.ts +76 -0
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native-unistyles';
4
+ const ITEM_HEIGHT = 44;
5
+ const VISIBLE_ITEMS = 5;
6
+ const CONTAINER_HEIGHT = ITEM_HEIGHT * VISIBLE_ITEMS;
7
+ export const styles = StyleSheet.create(theme => ({
8
+ // Container styles
9
+ container: {
10
+ backgroundColor: theme.colors.background.elevated,
11
+ borderRadius: theme.radii.card,
12
+ padding: theme.spacing(4)
13
+ },
14
+ // ============ Wheel Picker Styles (iOS) ============
15
+ wheelContainer: {
16
+ flexDirection: 'row',
17
+ height: CONTAINER_HEIGHT,
18
+ backgroundColor: theme.colors.background.elevated,
19
+ // @ts-ignore - web-only property
20
+ backdropFilter: 'blur(20px)',
21
+ borderRadius: theme.radii.card,
22
+ overflow: 'hidden',
23
+ alignItems: 'center',
24
+ paddingHorizontal: theme.spacing(2)
25
+ },
26
+ wheelColumn: {
27
+ flex: 1,
28
+ height: CONTAINER_HEIGHT,
29
+ overflow: 'hidden',
30
+ position: 'relative'
31
+ },
32
+ wheelSelectionIndicator: {
33
+ position: 'absolute',
34
+ top: ITEM_HEIGHT * 2,
35
+ left: 4,
36
+ right: 4,
37
+ height: ITEM_HEIGHT,
38
+ backgroundColor: theme.colors.datepicker.wheelHighlight,
39
+ borderRadius: theme.radii.button,
40
+ zIndex: 0
41
+ },
42
+ wheelItemsContainer: {
43
+ zIndex: 1
44
+ },
45
+ wheelItem: {
46
+ height: ITEM_HEIGHT,
47
+ justifyContent: 'center',
48
+ alignItems: 'center'
49
+ },
50
+ wheelItemText: {
51
+ fontSize: 22,
52
+ color: theme.colors.foreground.default,
53
+ fontWeight: '400',
54
+ opacity: 0.5
55
+ },
56
+ wheelItemTextSelected: {
57
+ fontWeight: '500',
58
+ opacity: 1
59
+ },
60
+ wheelSeparator: {
61
+ fontSize: 22,
62
+ fontWeight: '500',
63
+ color: theme.colors.foreground.default,
64
+ paddingHorizontal: theme.spacing(1)
65
+ },
66
+ // ============ Material Time Picker Styles ============
67
+ materialContainer: {
68
+ backgroundColor: theme.colors.background.subtle,
69
+ borderRadius: 28,
70
+ padding: theme.spacing(6),
71
+ width: 320
72
+ },
73
+ materialHeader: {
74
+ fontSize: 12,
75
+ fontWeight: '500',
76
+ color: theme.colors.foreground.muted,
77
+ letterSpacing: 0.5,
78
+ marginBottom: theme.spacing(5),
79
+ textTransform: 'uppercase'
80
+ },
81
+ // Time input display
82
+ timeInputContainer: {
83
+ flexDirection: 'row',
84
+ alignItems: 'center',
85
+ justifyContent: 'center',
86
+ gap: theme.spacing(3),
87
+ marginBottom: theme.spacing(6)
88
+ },
89
+ timeFieldsContainer: {
90
+ flexDirection: 'row',
91
+ alignItems: 'center'
92
+ },
93
+ timeField: {
94
+ backgroundColor: theme.colors.background.elevated,
95
+ borderRadius: theme.radii.button,
96
+ paddingVertical: theme.spacing(3),
97
+ paddingHorizontal: theme.spacing(2),
98
+ minWidth: 80,
99
+ alignItems: 'center'
100
+ },
101
+ timeFieldActive: {
102
+ backgroundColor: theme.colors.primary.default
103
+ },
104
+ timeFieldText: {
105
+ fontSize: 48,
106
+ fontWeight: '400',
107
+ color: theme.colors.foreground.default,
108
+ fontVariant: ['tabular-nums']
109
+ },
110
+ timeFieldTextActive: {
111
+ color: '#FFFFFF'
112
+ },
113
+ timeSeparator: {
114
+ fontSize: 48,
115
+ fontWeight: '400',
116
+ color: theme.colors.foreground.default,
117
+ marginHorizontal: theme.spacing(1)
118
+ },
119
+ // Period toggle (AM/PM)
120
+ periodToggleContainer: {
121
+ borderWidth: 1,
122
+ borderColor: theme.colors.border.strong,
123
+ borderRadius: theme.radii.button,
124
+ overflow: 'hidden'
125
+ },
126
+ periodButton: {
127
+ paddingVertical: theme.spacing(2),
128
+ paddingHorizontal: theme.spacing(3),
129
+ backgroundColor: 'transparent'
130
+ },
131
+ periodButtonActive: {
132
+ backgroundColor: `${theme.colors.primary.default}20` // 20% opacity
133
+ },
134
+ periodButtonTop: {
135
+ borderBottomWidth: 1,
136
+ borderBottomColor: theme.colors.border.strong
137
+ },
138
+ periodButtonText: {
139
+ fontSize: 14,
140
+ fontWeight: '500',
141
+ color: theme.colors.foreground.muted
142
+ },
143
+ periodButtonTextActive: {
144
+ color: theme.colors.primary.default
145
+ },
146
+ // ============ Clock Face Styles ============
147
+ clockContainer: {
148
+ alignItems: 'center',
149
+ justifyContent: 'center',
150
+ marginBottom: theme.spacing(5)
151
+ },
152
+ // ============ Action Buttons ============
153
+ actionsContainer: {
154
+ flexDirection: 'row',
155
+ justifyContent: 'space-between',
156
+ alignItems: 'center'
157
+ },
158
+ keyboardButton: {
159
+ padding: theme.spacing(2)
160
+ },
161
+ keyboardButtonText: {
162
+ fontSize: 20,
163
+ color: theme.colors.foreground.muted
164
+ },
165
+ actionButtonsContainer: {
166
+ flexDirection: 'row',
167
+ gap: theme.spacing(2)
168
+ },
169
+ actionButton: {
170
+ paddingVertical: theme.spacing(2.5),
171
+ paddingHorizontal: theme.spacing(4),
172
+ borderRadius: 20
173
+ },
174
+ actionButtonText: {
175
+ fontSize: 14,
176
+ fontWeight: '500',
177
+ color: theme.colors.primary.default
178
+ }
179
+ }));
180
+ //# sourceMappingURL=TimePicker.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","ITEM_HEIGHT","VISIBLE_ITEMS","CONTAINER_HEIGHT","styles","create","theme","container","backgroundColor","colors","background","elevated","borderRadius","radii","card","padding","spacing","wheelContainer","flexDirection","height","backdropFilter","overflow","alignItems","paddingHorizontal","wheelColumn","flex","position","wheelSelectionIndicator","top","left","right","datepicker","wheelHighlight","button","zIndex","wheelItemsContainer","wheelItem","justifyContent","wheelItemText","fontSize","color","foreground","default","fontWeight","opacity","wheelItemTextSelected","wheelSeparator","materialContainer","subtle","width","materialHeader","muted","letterSpacing","marginBottom","textTransform","timeInputContainer","gap","timeFieldsContainer","timeField","paddingVertical","minWidth","timeFieldActive","primary","timeFieldText","fontVariant","timeFieldTextActive","timeSeparator","marginHorizontal","periodToggleContainer","borderWidth","borderColor","border","strong","periodButton","periodButtonActive","periodButtonTop","borderBottomWidth","borderBottomColor","periodButtonText","periodButtonTextActive","clockContainer","actionsContainer","keyboardButton","keyboardButtonText","actionButtonsContainer","actionButton","actionButtonText"],"sourceRoot":"../../../../src","sources":["components/TimePicker/TimePicker.styles.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ import { MaterialTimePicker } from "./MaterialTimePicker.js";
4
+ import { TimeWheelPicker } from "./TimeWheelPicker.js";
5
+
6
+ /**
7
+ * Web implementation of TimePicker
8
+ *
9
+ * - theme="ios": Uses TimeWheelPicker (iOS-style wheel)
10
+ * - theme="android" or "native": Uses MaterialTimePicker (Material clock face)
11
+ */
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ export const TimePicker = ({
14
+ value,
15
+ onChange,
16
+ theme = 'ios',
17
+ is24Hour = false,
18
+ minuteInterval = 1
19
+ }) => {
20
+ // iOS theme uses wheel picker
21
+ if (theme === 'ios') {
22
+ return /*#__PURE__*/_jsx(TimeWheelPicker, {
23
+ value: value,
24
+ onChange: onChange,
25
+ is24Hour: is24Hour,
26
+ minuteInterval: minuteInterval
27
+ });
28
+ }
29
+
30
+ // Android/native theme uses Material clock face
31
+ return /*#__PURE__*/_jsx(MaterialTimePicker, {
32
+ value: value,
33
+ onChange: onChange,
34
+ is24Hour: is24Hour
35
+ });
36
+ };
37
+ //# sourceMappingURL=TimePicker.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MaterialTimePicker","TimeWheelPicker","jsx","_jsx","TimePicker","value","onChange","theme","is24Hour","minuteInterval"],"sourceRoot":"../../../../src","sources":["components/TimePicker/TimePicker.web.tsx"],"mappings":";;AAEA,SAASA,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,eAAe,QAAQ,sBAAmB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AALA,SAAAC,GAAA,IAAAC,IAAA;AAMA,OAAO,MAAMC,UAAqC,GAAGA,CAAC;EACpDC,KAAK;EACLC,QAAQ;EACRC,KAAK,GAAG,KAAK;EACbC,QAAQ,GAAG,KAAK;EAChBC,cAAc,GAAG;AACnB,CAAC,KAAK;EACJ;EACA,IAAIF,KAAK,KAAK,KAAK,EAAE;IACnB,oBACEJ,IAAA,CAACF,eAAe;MACdI,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA,QAAS;MACnBE,QAAQ,EAAEA,QAAS;MACnBC,cAAc,EAAEA;IAAe,CAChC,CAAC;EAEN;;EAEA;EACA,oBACEN,IAAA,CAACH,kBAAkB;IAACK,KAAK,EAAEA,KAAM;IAACC,QAAQ,EAAEA,QAAS;IAACE,QAAQ,EAAEA;EAAS,CAAE,CAAC;AAEhF,CAAC","ignoreList":[]}
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+
3
+ import { memo, useCallback, useMemo } from 'react';
4
+ import { Text, View } from 'react-native';
5
+ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
6
+ import Animated, { runOnJS, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';
7
+ import { to12Hour, to24Hour } from "../../hooks/useTimePicker.js";
8
+ import { styles } from "./TimePicker.styles.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const ITEM_HEIGHT = 44;
11
+ const VISIBLE_ITEMS = 5;
12
+ const CONTAINER_HEIGHT = ITEM_HEIGHT * VISIBLE_ITEMS;
13
+ const WheelColumn = /*#__PURE__*/memo(({
14
+ items,
15
+ selectedIndex,
16
+ onSelect
17
+ }) => {
18
+ const translateY = useSharedValue(-selectedIndex * ITEM_HEIGHT);
19
+ const handleSelect = useCallback(index => {
20
+ onSelect(index);
21
+ }, [onSelect]);
22
+ const panGesture = useMemo(() => Gesture.Pan().onUpdate(e => {
23
+ 'worklet';
24
+
25
+ translateY.value = e.translationY + -selectedIndex * ITEM_HEIGHT;
26
+ }).onEnd(e => {
27
+ 'worklet';
28
+
29
+ const velocity = e.velocityY;
30
+ const targetIndex = Math.round(-translateY.value / ITEM_HEIGHT);
31
+ const clampedIndex = Math.max(0, Math.min(items.length - 1, targetIndex));
32
+ translateY.value = withSpring(-clampedIndex * ITEM_HEIGHT, {
33
+ velocity,
34
+ damping: 20,
35
+ stiffness: 200
36
+ });
37
+ runOnJS(handleSelect)(clampedIndex);
38
+ }), [selectedIndex, items.length, handleSelect, translateY]);
39
+ const animatedStyle = useAnimatedStyle(() => ({
40
+ transform: [{
41
+ translateY: translateY.value
42
+ }]
43
+ }));
44
+ return /*#__PURE__*/_jsxs(View, {
45
+ style: styles.wheelColumn,
46
+ children: [/*#__PURE__*/_jsx(View, {
47
+ style: styles.wheelSelectionIndicator
48
+ }), /*#__PURE__*/_jsx(GestureDetector, {
49
+ gesture: panGesture,
50
+ children: /*#__PURE__*/_jsxs(Animated.View, {
51
+ style: [styles.wheelItemsContainer, animatedStyle],
52
+ children: [/*#__PURE__*/_jsx(View, {
53
+ style: {
54
+ height: ITEM_HEIGHT * 2
55
+ }
56
+ }), items.map((item, index) => {
57
+ const isSelected = index === selectedIndex;
58
+ return /*#__PURE__*/_jsx(View, {
59
+ style: styles.wheelItem,
60
+ children: /*#__PURE__*/_jsx(Text, {
61
+ style: [styles.wheelItemText, isSelected && styles.wheelItemTextSelected],
62
+ children: item.label
63
+ })
64
+ }, `${item.value}`);
65
+ }), /*#__PURE__*/_jsx(View, {
66
+ style: {
67
+ height: ITEM_HEIGHT * 2
68
+ }
69
+ })]
70
+ })
71
+ })]
72
+ });
73
+ });
74
+ WheelColumn.displayName = 'WheelColumn';
75
+ export const TimeWheelPicker = /*#__PURE__*/memo(({
76
+ value,
77
+ onChange,
78
+ is24Hour = false,
79
+ minuteInterval = 1
80
+ }) => {
81
+ // Generate hour items
82
+ const hourItems = useMemo(() => {
83
+ if (is24Hour) {
84
+ return Array.from({
85
+ length: 24
86
+ }, (_, i) => ({
87
+ value: i,
88
+ label: i.toString().padStart(2, '0')
89
+ }));
90
+ }
91
+ // 12-hour format: 1-12
92
+ return Array.from({
93
+ length: 12
94
+ }, (_, i) => ({
95
+ value: i + 1,
96
+ label: (i + 1).toString().padStart(2, '0')
97
+ }));
98
+ }, [is24Hour]);
99
+
100
+ // Generate minute items based on interval
101
+ const minuteItems = useMemo(() => {
102
+ const items = [];
103
+ for (let i = 0; i < 60; i += minuteInterval) {
104
+ items.push({
105
+ value: i,
106
+ label: i.toString().padStart(2, '0')
107
+ });
108
+ }
109
+ return items;
110
+ }, [minuteInterval]);
111
+
112
+ // Period items for 12-hour format
113
+ const periodItems = useMemo(() => [{
114
+ value: 'AM',
115
+ label: 'AM'
116
+ }, {
117
+ value: 'PM',
118
+ label: 'PM'
119
+ }], []);
120
+
121
+ // Calculate selected indices
122
+ const {
123
+ hour: hour12,
124
+ period
125
+ } = to12Hour(value.hours);
126
+ const hourIndex = is24Hour ? value.hours : hour12 - 1; // 12-hour is 1-indexed
127
+ const minuteIndex = Math.floor(value.minutes / minuteInterval);
128
+ const periodIndex = period === 'AM' ? 0 : 1;
129
+ const handleHourChange = useCallback(index => {
130
+ let newHours;
131
+ if (is24Hour) {
132
+ newHours = index;
133
+ } else {
134
+ const hour12 = index + 1; // Convert from 0-indexed to 1-12
135
+ newHours = to24Hour(hour12, period);
136
+ }
137
+ onChange({
138
+ hours: newHours,
139
+ minutes: value.minutes
140
+ });
141
+ }, [is24Hour, period, value.minutes, onChange]);
142
+ const handleMinuteChange = useCallback(index => {
143
+ const newMinutes = index * minuteInterval;
144
+ onChange({
145
+ hours: value.hours,
146
+ minutes: newMinutes
147
+ });
148
+ }, [value.hours, minuteInterval, onChange]);
149
+ const handlePeriodChange = useCallback(index => {
150
+ const newPeriod = index === 0 ? 'AM' : 'PM';
151
+ const newHours = to24Hour(hour12, newPeriod);
152
+ onChange({
153
+ hours: newHours,
154
+ minutes: value.minutes
155
+ });
156
+ }, [hour12, value.minutes, onChange]);
157
+ return /*#__PURE__*/_jsxs(View, {
158
+ style: styles.wheelContainer,
159
+ children: [/*#__PURE__*/_jsx(WheelColumn, {
160
+ items: hourItems,
161
+ selectedIndex: hourIndex,
162
+ onSelect: handleHourChange
163
+ }), /*#__PURE__*/_jsx(Text, {
164
+ style: styles.wheelSeparator,
165
+ children: ":"
166
+ }), /*#__PURE__*/_jsx(WheelColumn, {
167
+ items: minuteItems,
168
+ selectedIndex: minuteIndex,
169
+ onSelect: handleMinuteChange
170
+ }), !is24Hour && /*#__PURE__*/_jsx(WheelColumn, {
171
+ items: periodItems,
172
+ selectedIndex: periodIndex,
173
+ onSelect: handlePeriodChange
174
+ })]
175
+ });
176
+ });
177
+ TimeWheelPicker.displayName = 'TimeWheelPicker';
178
+ //# sourceMappingURL=TimeWheelPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useCallback","useMemo","Text","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useSharedValue","withSpring","to12Hour","to24Hour","styles","jsx","_jsx","jsxs","_jsxs","ITEM_HEIGHT","VISIBLE_ITEMS","CONTAINER_HEIGHT","WheelColumn","items","selectedIndex","onSelect","translateY","handleSelect","index","panGesture","Pan","onUpdate","e","value","translationY","onEnd","velocity","velocityY","targetIndex","Math","round","clampedIndex","max","min","length","damping","stiffness","animatedStyle","transform","style","wheelColumn","children","wheelSelectionIndicator","gesture","wheelItemsContainer","height","map","item","isSelected","wheelItem","wheelItemText","wheelItemTextSelected","label","displayName","TimeWheelPicker","onChange","is24Hour","minuteInterval","hourItems","Array","from","_","i","toString","padStart","minuteItems","push","periodItems","hour","hour12","period","hours","hourIndex","minuteIndex","floor","minutes","periodIndex","handleHourChange","newHours","handleMinuteChange","newMinutes","handlePeriodChange","newPeriod","wheelContainer","wheelSeparator"],"sourceRoot":"../../../../src","sources":["components/TimePicker/TimeWheelPicker.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ export { TimePicker } from './TimePicker';
4
+ export { TimeWheelPicker } from "./TimeWheelPicker.js";
5
+ export { ClockFace } from "./ClockFace.js";
6
+ export { MaterialTimePicker } from "./MaterialTimePicker.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TimePicker","TimeWheelPicker","ClockFace","MaterialTimePicker"],"sourceRoot":"../../../../src","sources":["components/TimePicker/index.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AAEzC,SAASC,eAAe,QAAQ,sBAAmB;AACnD,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,kBAAkB,QAAQ,yBAAsB","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ // Native platforms don't use custom wheel picker - they use native pickers
4
+ export { WheelPicker } from "./WheelPicker.web.js";
5
+ //# sourceMappingURL=WheelPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WheelPicker"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/WheelPicker.tsx"],"mappings":";;AAAA;AACA,SAASA,WAAW,QAAQ,sBAAmB","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native-unistyles';
4
+ export const styles = StyleSheet.create(theme => ({
5
+ container: {
6
+ flexDirection: 'row',
7
+ height: 220,
8
+ backgroundColor: theme.colors.background.elevated,
9
+ borderRadius: theme.radii.card,
10
+ overflow: 'hidden'
11
+ },
12
+ column: {
13
+ flex: 1,
14
+ height: 220,
15
+ overflow: 'hidden'
16
+ },
17
+ selectionHighlight: {
18
+ position: 'absolute',
19
+ top: 88,
20
+ left: 4,
21
+ right: 4,
22
+ height: 44,
23
+ backgroundColor: theme.colors.datepicker.wheelHighlight,
24
+ borderRadius: theme.radii.button,
25
+ zIndex: 0
26
+ },
27
+ itemsContainer: {
28
+ zIndex: 1
29
+ },
30
+ item: {
31
+ height: 44,
32
+ justifyContent: 'center',
33
+ alignItems: 'center'
34
+ },
35
+ itemText: {
36
+ fontSize: 21,
37
+ color: theme.colors.foreground.default,
38
+ fontWeight: '400'
39
+ }
40
+ }));
41
+ //# sourceMappingURL=WheelPicker.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","styles","create","theme","container","flexDirection","height","backgroundColor","colors","background","elevated","borderRadius","radii","card","overflow","column","flex","selectionHighlight","position","top","left","right","datepicker","wheelHighlight","button","zIndex","itemsContainer","item","justifyContent","alignItems","itemText","fontSize","color","foreground","default","fontWeight"],"sourceRoot":"../../../../src","sources":["components/WheelPicker/WheelPicker.styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,wBAAwB;AAEnD,OAAO,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAM,CAAEC,KAAK,KAAM;EAClDC,SAAS,EAAE;IACTC,aAAa,EAAE,KAAK;IACpBC,MAAM,EAAE,GAAG;IACXC,eAAe,EAAEJ,KAAK,CAACK,MAAM,CAACC,UAAU,CAACC,QAAQ;IACjDC,YAAY,EAAER,KAAK,CAACS,KAAK,CAACC,IAAI;IAC9BC,QAAQ,EAAE;EACZ,CAAC;EACDC,MAAM,EAAE;IACNC,IAAI,EAAE,CAAC;IACPV,MAAM,EAAE,GAAG;IACXQ,QAAQ,EAAE;EACZ,CAAC;EACDG,kBAAkB,EAAE;IAClBC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,EAAE;IACPC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRf,MAAM,EAAE,EAAE;IACVC,eAAe,EAAEJ,KAAK,CAACK,MAAM,CAACc,UAAU,CAACC,cAAc;IACvDZ,YAAY,EAAER,KAAK,CAACS,KAAK,CAACY,MAAM;IAChCC,MAAM,EAAE;EACV,CAAC;EACDC,cAAc,EAAE;IACdD,MAAM,EAAE;EACV,CAAC;EACDE,IAAI,EAAE;IACJrB,MAAM,EAAE,EAAE;IACVsB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDC,QAAQ,EAAE;IACRC,QAAQ,EAAE,EAAE;IACZC,KAAK,EAAE7B,KAAK,CAACK,MAAM,CAACyB,UAAU,CAACC,OAAO;IACtCC,UAAU,EAAE;EACd;AACF,CAAC,CAAC,CAAC","ignoreList":[]}