@dreamstack-us/kaal 0.0.3 → 0.0.5

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.
@@ -2,11 +2,27 @@
2
2
 
3
3
  /// <reference lib="dom" />
4
4
 
5
- import { memo, useCallback, useState } from 'react';
5
+ import { memo, useCallback, useMemo, useState } from 'react';
6
6
  import { Pressable, StyleSheet, Text, View } from 'react-native';
7
+ import { useTimePickerOverrides } from "../../context/ThemeOverrideContext.js";
7
8
  import { to12Hour, to24Hour } from "../../hooks/useTimePicker.js";
8
9
  import { ClockFace } from './ClockFace';
10
+
11
+ // Default colors (dark theme)
9
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ const DEFAULT_COLORS = {
14
+ containerBackground: '#2C2C2E',
15
+ headerColor: '#8E8E93',
16
+ timeFieldBackground: '#3A3A3C',
17
+ timeFieldActiveBackground: '#007AFF',
18
+ textColor: '#FFFFFF',
19
+ separatorColor: '#FFFFFF',
20
+ borderColor: '#48484A',
21
+ periodActiveBackground: 'rgba(0, 122, 255, 0.2)',
22
+ periodTextColor: '#8E8E93',
23
+ periodTextActiveColor: '#007AFF',
24
+ actionButtonColor: '#007AFF'
25
+ };
10
26
  // Web-compatible styles (no unistyles dependency)
11
27
  const webStyles = StyleSheet.create({
12
28
  materialContainer: {
@@ -124,6 +140,7 @@ export const MaterialTimePicker = /*#__PURE__*/memo(({
124
140
  onCancel,
125
141
  onConfirm
126
142
  }) => {
143
+ const overrides = useTimePickerOverrides();
127
144
  const [mode, setMode] = useState('hours');
128
145
  const {
129
146
  hour: hour12,
@@ -147,10 +164,45 @@ export const MaterialTimePicker = /*#__PURE__*/memo(({
147
164
  }, []);
148
165
  const displayHour = is24Hour ? value.hours.toString().padStart(2, '0') : hour12.toString().padStart(2, '0');
149
166
  const displayMinute = value.minutes.toString().padStart(2, '0');
167
+
168
+ // Build override styles from themeOverrides
169
+ const containerStyle = useMemo(() => ({
170
+ backgroundColor: overrides?.containerBackground ?? DEFAULT_COLORS.containerBackground
171
+ }), [overrides]);
172
+ const headerStyle = useMemo(() => ({
173
+ color: overrides?.headerColor ?? DEFAULT_COLORS.headerColor
174
+ }), [overrides]);
175
+ const timeFieldStyle = useMemo(() => ({
176
+ backgroundColor: overrides?.timeFieldBackground ?? DEFAULT_COLORS.timeFieldBackground
177
+ }), [overrides]);
178
+ const timeFieldActiveStyle = useMemo(() => ({
179
+ backgroundColor: overrides?.timeFieldActiveBackground ?? DEFAULT_COLORS.timeFieldActiveBackground
180
+ }), [overrides]);
181
+ const textStyle = useMemo(() => ({
182
+ color: overrides?.textColor ?? DEFAULT_COLORS.textColor
183
+ }), [overrides]);
184
+ const separatorStyle = useMemo(() => ({
185
+ color: overrides?.separatorColor ?? DEFAULT_COLORS.separatorColor
186
+ }), [overrides]);
187
+ const periodContainerStyle = useMemo(() => ({
188
+ borderColor: overrides?.periodBorderColor ?? DEFAULT_COLORS.borderColor
189
+ }), [overrides]);
190
+ const periodActiveStyle = useMemo(() => ({
191
+ backgroundColor: overrides?.periodActiveBackground ?? DEFAULT_COLORS.periodActiveBackground
192
+ }), [overrides]);
193
+ const periodTextStyle = useMemo(() => ({
194
+ color: overrides?.periodTextColor ?? DEFAULT_COLORS.periodTextColor
195
+ }), [overrides]);
196
+ const periodTextActiveStyle = useMemo(() => ({
197
+ color: overrides?.periodTextActiveColor ?? DEFAULT_COLORS.periodTextActiveColor
198
+ }), [overrides]);
199
+ const actionButtonTextStyle = useMemo(() => ({
200
+ color: overrides?.actionButtonColor ?? DEFAULT_COLORS.actionButtonColor
201
+ }), [overrides]);
150
202
  return /*#__PURE__*/_jsxs(View, {
151
- style: webStyles.materialContainer,
203
+ style: [webStyles.materialContainer, containerStyle],
152
204
  children: [/*#__PURE__*/_jsx(Text, {
153
- style: webStyles.materialHeader,
205
+ style: [webStyles.materialHeader, headerStyle],
154
206
  children: "Select time"
155
207
  }), /*#__PURE__*/_jsxs(View, {
156
208
  style: webStyles.timeInputContainer,
@@ -158,36 +210,36 @@ export const MaterialTimePicker = /*#__PURE__*/memo(({
158
210
  style: webStyles.timeFieldsContainer,
159
211
  children: [/*#__PURE__*/_jsx(Pressable, {
160
212
  onPress: handleHourPress,
161
- style: [webStyles.timeField, mode === 'hours' && webStyles.timeFieldActive],
213
+ style: [webStyles.timeField, timeFieldStyle, mode === 'hours' && [webStyles.timeFieldActive, timeFieldActiveStyle]],
162
214
  children: /*#__PURE__*/_jsx(Text, {
163
- style: [webStyles.timeFieldText, mode === 'hours' && webStyles.timeFieldTextActive],
215
+ style: [webStyles.timeFieldText, textStyle, mode === 'hours' && webStyles.timeFieldTextActive],
164
216
  children: displayHour
165
217
  })
166
218
  }), /*#__PURE__*/_jsx(Text, {
167
- style: webStyles.timeSeparator,
219
+ style: [webStyles.timeSeparator, separatorStyle],
168
220
  children: ":"
169
221
  }), /*#__PURE__*/_jsx(Pressable, {
170
222
  onPress: handleMinutePress,
171
- style: [webStyles.timeField, mode === 'minutes' && webStyles.timeFieldActive],
223
+ style: [webStyles.timeField, timeFieldStyle, mode === 'minutes' && [webStyles.timeFieldActive, timeFieldActiveStyle]],
172
224
  children: /*#__PURE__*/_jsx(Text, {
173
- style: [webStyles.timeFieldText, mode === 'minutes' && webStyles.timeFieldTextActive],
225
+ style: [webStyles.timeFieldText, textStyle, mode === 'minutes' && webStyles.timeFieldTextActive],
174
226
  children: displayMinute
175
227
  })
176
228
  })]
177
229
  }), !is24Hour && /*#__PURE__*/_jsxs(View, {
178
- style: webStyles.periodToggleContainer,
230
+ style: [webStyles.periodToggleContainer, periodContainerStyle],
179
231
  children: [/*#__PURE__*/_jsx(Pressable, {
180
232
  onPress: () => handlePeriodChange('AM'),
181
- style: [webStyles.periodButton, webStyles.periodButtonTop, period === 'AM' && webStyles.periodButtonActive],
233
+ style: [webStyles.periodButton, webStyles.periodButtonTop, period === 'AM' && [webStyles.periodButtonActive, periodActiveStyle]],
182
234
  children: /*#__PURE__*/_jsx(Text, {
183
- style: [webStyles.periodButtonText, period === 'AM' && webStyles.periodButtonTextActive],
235
+ style: [webStyles.periodButtonText, periodTextStyle, period === 'AM' && [webStyles.periodButtonTextActive, periodTextActiveStyle]],
184
236
  children: "AM"
185
237
  })
186
238
  }), /*#__PURE__*/_jsx(Pressable, {
187
239
  onPress: () => handlePeriodChange('PM'),
188
- style: [webStyles.periodButton, period === 'PM' && webStyles.periodButtonActive],
240
+ style: [webStyles.periodButton, period === 'PM' && [webStyles.periodButtonActive, periodActiveStyle]],
189
241
  children: /*#__PURE__*/_jsx(Text, {
190
- style: [webStyles.periodButtonText, period === 'PM' && webStyles.periodButtonTextActive],
242
+ style: [webStyles.periodButtonText, periodTextStyle, period === 'PM' && [webStyles.periodButtonTextActive, periodTextActiveStyle]],
191
243
  children: "PM"
192
244
  })
193
245
  })]
@@ -212,14 +264,14 @@ export const MaterialTimePicker = /*#__PURE__*/memo(({
212
264
  style: webStyles.actionButton,
213
265
  onPress: onCancel,
214
266
  children: /*#__PURE__*/_jsx(Text, {
215
- style: webStyles.actionButtonText,
267
+ style: [webStyles.actionButtonText, actionButtonTextStyle],
216
268
  children: "Cancel"
217
269
  })
218
270
  }), onConfirm && /*#__PURE__*/_jsx(Pressable, {
219
271
  style: webStyles.actionButton,
220
272
  onPress: onConfirm,
221
273
  children: /*#__PURE__*/_jsx(Text, {
222
- style: webStyles.actionButtonText,
274
+ style: [webStyles.actionButtonText, actionButtonTextStyle],
223
275
  children: "OK"
224
276
  })
225
277
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useState","Pressable","StyleSheet","Text","View","to12Hour","to24Hour","ClockFace","jsx","_jsx","jsxs","_jsxs","webStyles","create","materialContainer","backgroundColor","borderRadius","padding","width","materialHeader","fontSize","fontWeight","color","letterSpacing","marginBottom","textTransform","timeInputContainer","flexDirection","alignItems","justifyContent","gap","timeFieldsContainer","timeField","paddingVertical","paddingHorizontal","minWidth","timeFieldActive","timeFieldText","timeFieldTextActive","timeSeparator","marginHorizontal","periodToggleContainer","borderWidth","borderColor","overflow","periodButton","periodButtonActive","periodButtonTop","borderBottomWidth","borderBottomColor","periodButtonText","periodButtonTextActive","clockContainer","actionsContainer","keyboardButton","keyboardButtonText","actionButtonsContainer","actionButton","actionButtonText","MaterialTimePicker","value","onChange","is24Hour","onCancel","onConfirm","mode","setMode","hour","hour12","period","hours","handleHourPress","handleMinutePress","handlePeriodChange","newPeriod","newHours","minutes","handleModeChange","newMode","displayHour","toString","padStart","displayMinute","style","children","onPress","onModeChange","displayName"],"sourceRoot":"../../../../src","sources":["components/TimePicker/MaterialTimePicker.web.tsx"],"mappings":";;AAAA;;AAEA,SAASA,IAAI,EAAEC,WAAW,EAAEC,QAAQ,QAAQ,OAAO;AACnD,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAChE,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,8BAA2B;AAE9D,SAASC,SAAS,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUxC;AACA,MAAMC,SAAS,GAAGV,UAAU,CAACW,MAAM,CAAC;EAClCC,iBAAiB,EAAE;IACjBC,eAAe,EAAE,SAAS;IAC1BC,YAAY,EAAE,EAAE;IAChBC,OAAO,EAAE,EAAE;IACXC,KAAK,EAAE;EACT,CAAC;EACDC,cAAc,EAAE;IACdC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE,SAAS;IAChBC,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,EAAE;IAChBC,aAAa,EAAE;EACjB,CAAC;EACDC,kBAAkB,EAAE;IAClBC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,GAAG,EAAE,EAAE;IACPN,YAAY,EAAE;EAChB,CAAC;EACDO,mBAAmB,EAAE;IACnBJ,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE;EACd,CAAC;EACDI,SAAS,EAAE;IACTjB,eAAe,EAAE,SAAS;IAC1BC,YAAY,EAAE,CAAC;IACfiB,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,CAAC;IACpBC,QAAQ,EAAE,EAAE;IACZP,UAAU,EAAE;EACd,CAAC;EACDQ,eAAe,EAAE;IACfrB,eAAe,EAAE;EACnB,CAAC;EACDsB,aAAa,EAAE;IACbjB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE;EACT,CAAC;EACDgB,mBAAmB,EAAE;IACnBhB,KAAK,EAAE;EACT,CAAC;EACDiB,aAAa,EAAE;IACbnB,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE,SAAS;IAChBkB,gBAAgB,EAAE;EACpB,CAAC;EACDC,qBAAqB,EAAE;IACrBC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,SAAS;IACtB3B,YAAY,EAAE,CAAC;IACf4B,QAAQ,EAAE;EACZ,CAAC;EACDC,YAAY,EAAE;IACZZ,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE,EAAE;IACrBnB,eAAe,EAAE;EACnB,CAAC;EACD+B,kBAAkB,EAAE;IAClB/B,eAAe,EAAE;EACnB,CAAC;EACDgC,eAAe,EAAE;IACfC,iBAAiB,EAAE,CAAC;IACpBC,iBAAiB,EAAE;EACrB,CAAC;EACDC,gBAAgB,EAAE;IAChB9B,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE;EACT,CAAC;EACD6B,sBAAsB,EAAE;IACtB7B,KAAK,EAAE;EACT,CAAC;EACD8B,cAAc,EAAE;IACdxB,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBL,YAAY,EAAE;EAChB,CAAC;EACD6B,gBAAgB,EAAE;IAChB1B,aAAa,EAAE,KAAK;IACpBE,cAAc,EAAE,eAAe;IAC/BD,UAAU,EAAE;EACd,CAAC;EACD0B,cAAc,EAAE;IACdrC,OAAO,EAAE;EACX,CAAC;EACDsC,kBAAkB,EAAE;IAClBnC,QAAQ,EAAE,EAAE;IACZE,KAAK,EAAE;EACT,CAAC;EACDkC,sBAAsB,EAAE;IACtB7B,aAAa,EAAE,KAAK;IACpBG,GAAG,EAAE;EACP,CAAC;EACD2B,YAAY,EAAE;IACZxB,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBlB,YAAY,EAAE;EAChB,CAAC;EACD0C,gBAAgB,EAAE;IAChBtC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,KAAK,EAAE;EACT;AACF,CAAC,CAAC;AAEF,OAAO,MAAMqC,kBAAqD,gBAAG7D,IAAI,CACvE,CAAC;EAAE8D,KAAK;EAAEC,QAAQ;EAAEC,QAAQ,GAAG,KAAK;EAAEC,QAAQ;EAAEC;AAAU,CAAC,KAAK;EAC9D,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGlE,QAAQ,CAAY,OAAO,CAAC;EACpD,MAAM;IAAEmE,IAAI,EAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGhE,QAAQ,CAACuD,KAAK,CAACU,KAAK,CAAC;EAEtD,MAAMC,eAAe,GAAGxE,WAAW,CAAC,MAAM;IACxCmE,OAAO,CAAC,OAAO,CAAC;EAClB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMM,iBAAiB,GAAGzE,WAAW,CAAC,MAAM;IAC1CmE,OAAO,CAAC,SAAS,CAAC;EACpB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMO,kBAAkB,GAAG1E,WAAW,CACnC2E,SAAqB,IAAK;IACzB,MAAMC,QAAQ,GAAGrE,QAAQ,CAAC8D,MAAM,EAAEM,SAAS,CAAC;IAC5Cb,QAAQ,CAAC;MAAES,KAAK,EAAEK,QAAQ;MAAEC,OAAO,EAAEhB,KAAK,CAACgB;IAAQ,CAAC,CAAC;EACvD,CAAC,EACD,CAACR,MAAM,EAAER,KAAK,CAACgB,OAAO,EAAEf,QAAQ,CAClC,CAAC;EAED,MAAMgB,gBAAgB,GAAG9E,WAAW,CAAE+E,OAAkB,IAAK;IAC3DZ,OAAO,CAACY,OAAO,CAAC;EAClB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,WAAW,GAAGjB,QAAQ,GACxBF,KAAK,CAACU,KAAK,CAACU,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GACvCb,MAAM,CAACY,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACtC,MAAMC,aAAa,GAAGtB,KAAK,CAACgB,OAAO,CAACI,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAE/D,oBACEtE,KAAA,CAACP,IAAI;IAAC+E,KAAK,EAAEvE,SAAS,CAACE,iBAAkB;IAAAsE,QAAA,gBACvC3E,IAAA,CAACN,IAAI;MAACgF,KAAK,EAAEvE,SAAS,CAACO,cAAe;MAAAiE,QAAA,EAAC;IAAW,CAAM,CAAC,eAEzDzE,KAAA,CAACP,IAAI;MAAC+E,KAAK,EAAEvE,SAAS,CAACc,kBAAmB;MAAA0D,QAAA,gBACxCzE,KAAA,CAACP,IAAI;QAAC+E,KAAK,EAAEvE,SAAS,CAACmB,mBAAoB;QAAAqD,QAAA,gBACzC3E,IAAA,CAACR,SAAS;UACRoF,OAAO,EAAEd,eAAgB;UACzBY,KAAK,EAAE,CACLvE,SAAS,CAACoB,SAAS,EACnBiC,IAAI,KAAK,OAAO,IAAIrD,SAAS,CAACwB,eAAe,CAC7C;UAAAgD,QAAA,eAEF3E,IAAA,CAACN,IAAI;YACHgF,KAAK,EAAE,CACLvE,SAAS,CAACyB,aAAa,EACvB4B,IAAI,KAAK,OAAO,IAAIrD,SAAS,CAAC0B,mBAAmB,CACjD;YAAA8C,QAAA,EAEDL;UAAW,CACR;QAAC,CACE,CAAC,eAEZtE,IAAA,CAACN,IAAI;UAACgF,KAAK,EAAEvE,SAAS,CAAC2B,aAAc;UAAA6C,QAAA,EAAC;QAAC,CAAM,CAAC,eAE9C3E,IAAA,CAACR,SAAS;UACRoF,OAAO,EAAEb,iBAAkB;UAC3BW,KAAK,EAAE,CACLvE,SAAS,CAACoB,SAAS,EACnBiC,IAAI,KAAK,SAAS,IAAIrD,SAAS,CAACwB,eAAe,CAC/C;UAAAgD,QAAA,eAEF3E,IAAA,CAACN,IAAI;YACHgF,KAAK,EAAE,CACLvE,SAAS,CAACyB,aAAa,EACvB4B,IAAI,KAAK,SAAS,IAAIrD,SAAS,CAAC0B,mBAAmB,CACnD;YAAA8C,QAAA,EAEDF;UAAa,CACV;QAAC,CACE,CAAC;MAAA,CACR,CAAC,EAEN,CAACpB,QAAQ,iBACRnD,KAAA,CAACP,IAAI;QAAC+E,KAAK,EAAEvE,SAAS,CAAC6B,qBAAsB;QAAA2C,QAAA,gBAC3C3E,IAAA,CAACR,SAAS;UACRoF,OAAO,EAAEA,CAAA,KAAMZ,kBAAkB,CAAC,IAAI,CAAE;UACxCU,KAAK,EAAE,CACLvE,SAAS,CAACiC,YAAY,EACtBjC,SAAS,CAACmC,eAAe,EACzBsB,MAAM,KAAK,IAAI,IAAIzD,SAAS,CAACkC,kBAAkB,CAC/C;UAAAsC,QAAA,eAEF3E,IAAA,CAACN,IAAI;YACHgF,KAAK,EAAE,CACLvE,SAAS,CAACsC,gBAAgB,EAC1BmB,MAAM,KAAK,IAAI,IAAIzD,SAAS,CAACuC,sBAAsB,CACnD;YAAAiC,QAAA,EACH;UAED,CAAM;QAAC,CACE,CAAC,eACZ3E,IAAA,CAACR,SAAS;UACRoF,OAAO,EAAEA,CAAA,KAAMZ,kBAAkB,CAAC,IAAI,CAAE;UACxCU,KAAK,EAAE,CACLvE,SAAS,CAACiC,YAAY,EACtBwB,MAAM,KAAK,IAAI,IAAIzD,SAAS,CAACkC,kBAAkB,CAC/C;UAAAsC,QAAA,eAEF3E,IAAA,CAACN,IAAI;YACHgF,KAAK,EAAE,CACLvE,SAAS,CAACsC,gBAAgB,EAC1BmB,MAAM,KAAK,IAAI,IAAIzD,SAAS,CAACuC,sBAAsB,CACnD;YAAAiC,QAAA,EACH;UAED,CAAM;QAAC,CACE,CAAC;MAAA,CACR,CACP;IAAA,CACG,CAAC,eAEP3E,IAAA,CAACF,SAAS;MACRqD,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA,QAAS;MACnBI,IAAI,EAAEA,IAAK;MACXqB,YAAY,EAAET,gBAAiB;MAC/Bf,QAAQ,EAAEA;IAAS,CACpB,CAAC,eAEFnD,KAAA,CAACP,IAAI;MAAC+E,KAAK,EAAEvE,SAAS,CAACyC,gBAAiB;MAAA+B,QAAA,gBACtC3E,IAAA,CAACR,SAAS;QAACkF,KAAK,EAAEvE,SAAS,CAAC0C,cAAe;QAAA8B,QAAA,eACzC3E,IAAA,CAACN,IAAI;UAACgF,KAAK,EAAEvE,SAAS,CAAC2C,kBAAmB;UAAA6B,QAAA,EAAC;QAAE,CAAM;MAAC,CAC3C,CAAC,eAEZzE,KAAA,CAACP,IAAI;QAAC+E,KAAK,EAAEvE,SAAS,CAAC4C,sBAAuB;QAAA4B,QAAA,GAC3CrB,QAAQ,iBACPtD,IAAA,CAACR,SAAS;UAACkF,KAAK,EAAEvE,SAAS,CAAC6C,YAAa;UAAC4B,OAAO,EAAEtB,QAAS;UAAAqB,QAAA,eAC1D3E,IAAA,CAACN,IAAI;YAACgF,KAAK,EAAEvE,SAAS,CAAC8C,gBAAiB;YAAA0B,QAAA,EAAC;UAAM,CAAM;QAAC,CAC7C,CACZ,EACApB,SAAS,iBACRvD,IAAA,CAACR,SAAS;UAACkF,KAAK,EAAEvE,SAAS,CAAC6C,YAAa;UAAC4B,OAAO,EAAErB,SAAU;UAAAoB,QAAA,eAC3D3E,IAAA,CAACN,IAAI;YAACgF,KAAK,EAAEvE,SAAS,CAAC8C,gBAAiB;YAAA0B,QAAA,EAAC;UAAE,CAAM;QAAC,CACzC,CACZ;MAAA,CACG,CAAC;IAAA,CACH,CAAC;EAAA,CACH,CAAC;AAEX,CACF,CAAC;AAEDzB,kBAAkB,CAAC4B,WAAW,GAAG,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useMemo","useState","Pressable","StyleSheet","Text","View","useTimePickerOverrides","to12Hour","to24Hour","ClockFace","jsx","_jsx","jsxs","_jsxs","DEFAULT_COLORS","containerBackground","headerColor","timeFieldBackground","timeFieldActiveBackground","textColor","separatorColor","borderColor","periodActiveBackground","periodTextColor","periodTextActiveColor","actionButtonColor","webStyles","create","materialContainer","backgroundColor","borderRadius","padding","width","materialHeader","fontSize","fontWeight","color","letterSpacing","marginBottom","textTransform","timeInputContainer","flexDirection","alignItems","justifyContent","gap","timeFieldsContainer","timeField","paddingVertical","paddingHorizontal","minWidth","timeFieldActive","timeFieldText","timeFieldTextActive","timeSeparator","marginHorizontal","periodToggleContainer","borderWidth","overflow","periodButton","periodButtonActive","periodButtonTop","borderBottomWidth","borderBottomColor","periodButtonText","periodButtonTextActive","clockContainer","actionsContainer","keyboardButton","keyboardButtonText","actionButtonsContainer","actionButton","actionButtonText","MaterialTimePicker","value","onChange","is24Hour","onCancel","onConfirm","overrides","mode","setMode","hour","hour12","period","hours","handleHourPress","handleMinutePress","handlePeriodChange","newPeriod","newHours","minutes","handleModeChange","newMode","displayHour","toString","padStart","displayMinute","containerStyle","headerStyle","timeFieldStyle","timeFieldActiveStyle","textStyle","separatorStyle","periodContainerStyle","periodBorderColor","periodActiveStyle","periodTextStyle","periodTextActiveStyle","actionButtonTextStyle","style","children","onPress","onModeChange","displayName"],"sourceRoot":"../../../../src","sources":["components/TimePicker/MaterialTimePicker.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -148,9 +148,11 @@ export const getMonthDays = (year, month) => {
148
148
 
149
149
  /**
150
150
  * Gets the first day of the month
151
+ * Falls back to today if date is undefined/null
151
152
  */
152
153
  export const getFirstDayOfMonth = date => {
153
- return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1));
154
+ const d = date ?? today();
155
+ return new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), 1));
154
156
  };
155
157
 
156
158
  /**
@@ -172,7 +174,8 @@ export const getDayOfWeek = date => {
172
174
  */
173
175
  export const formatMonth = (date, locale = 'en-US', style = 'long') => {
174
176
  return new Intl.DateTimeFormat(locale, {
175
- month: style
177
+ month: style,
178
+ timeZone: 'UTC'
176
179
  }).format(date);
177
180
  };
178
181
 
@@ -181,7 +184,8 @@ export const formatMonth = (date, locale = 'en-US', style = 'long') => {
181
184
  */
182
185
  export const formatWeekday = (date, locale = 'en-US', style = 'short') => {
183
186
  return new Intl.DateTimeFormat(locale, {
184
- weekday: style
187
+ weekday: style,
188
+ timeZone: 'UTC'
185
189
  }).format(date);
186
190
  };
187
191
 
@@ -191,7 +195,8 @@ export const formatWeekday = (date, locale = 'en-US', style = 'short') => {
191
195
  export const formatYearMonth = (date, locale = 'en-US') => {
192
196
  return new Intl.DateTimeFormat(locale, {
193
197
  month: 'long',
194
- year: 'numeric'
198
+ year: 'numeric',
199
+ timeZone: 'UTC'
195
200
  }).format(date);
196
201
  };
197
202
 
@@ -1 +1 @@
1
- {"version":3,"names":["toISODateString","date","year","getUTCFullYear","month","String","getUTCMonth","padStart","day","getUTCDate","toISODateTimeString","timeZone","tz","getUserTimezone","formatter","Intl","DateTimeFormat","hour","minute","second","hour12","parts","formatToParts","get","type","find","p","value","parseISODate","iso","split","map","Number","Date","UTC","fromISODateString","parseISODateTime","fromISODateTimeString","getDateRange","start","end","dates","current","getTime","push","setUTCDate","isDateInRange","minDate","maxDate","time","resolvedOptions","addDays","days","result","addMonths","months","dayOfMonth","setUTCMonth","daysInMonth","Math","min","compareDates","a","b","isSameDay","isSameMonth","getMonthDays","getFirstDayOfMonth","getLastDayOfMonth","getDayOfWeek","getUTCDay","formatMonth","locale","style","format","formatWeekday","weekday","formatYearMonth","today","now","getFullYear","getMonth","getDate"],"sourceRoot":"../../../src","sources":["utils/date.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["toISODateString","date","year","getUTCFullYear","month","String","getUTCMonth","padStart","day","getUTCDate","toISODateTimeString","timeZone","tz","getUserTimezone","formatter","Intl","DateTimeFormat","hour","minute","second","hour12","parts","formatToParts","get","type","find","p","value","parseISODate","iso","split","map","Number","Date","UTC","fromISODateString","parseISODateTime","fromISODateTimeString","getDateRange","start","end","dates","current","getTime","push","setUTCDate","isDateInRange","minDate","maxDate","time","resolvedOptions","addDays","days","result","addMonths","months","dayOfMonth","setUTCMonth","daysInMonth","Math","min","compareDates","a","b","isSameDay","isSameMonth","getMonthDays","getFirstDayOfMonth","d","today","getLastDayOfMonth","getDayOfWeek","getUTCDay","formatMonth","locale","style","format","formatWeekday","weekday","formatYearMonth","now","getFullYear","getMonth","getDate"],"sourceRoot":"../../../src","sources":["utils/date.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"DayCell.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarGrid/DayCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AA8BD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAyH1C,CAAC"}
1
+ {"version":3,"file":"DayCell.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarGrid/DayCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAiED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA0I1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DayCell.web.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarGrid/DayCell.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AA+BD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAyH1C,CAAC"}
1
+ {"version":3,"file":"DayCell.web.d.ts","sourceRoot":"","sources":["../../../../src/components/CalendarGrid/DayCell.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,UAAU,YAAY;IACpB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAkED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAiJ1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialTimePicker.web.d.ts","sourceRoot":"","sources":["../../../../src/components/TimePicker/MaterialTimePicker.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAyB,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAG/E,UAAU,uBAAuB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAiHD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CA6IhE,CAAC"}
1
+ {"version":3,"file":"MaterialTimePicker.web.d.ts","sourceRoot":"","sources":["../../../../src/components/TimePicker/MaterialTimePicker.web.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAyB,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAkB/E,UAAU,uBAAuB;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAiHD,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAsQhE,CAAC"}
@@ -65,8 +65,9 @@ export declare const isSameMonth: (a: Date, b: Date) => boolean;
65
65
  export declare const getMonthDays: (year: number, month: number) => Date[];
66
66
  /**
67
67
  * Gets the first day of the month
68
+ * Falls back to today if date is undefined/null
68
69
  */
69
- export declare const getFirstDayOfMonth: (date: Date) => Date;
70
+ export declare const getFirstDayOfMonth: (date: Date | null | undefined) => Date;
70
71
  /**
71
72
  * Gets the last day of the month
72
73
  */
@@ -1 +1 @@
1
- {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/utils/date.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,KAAG,MAK5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,WAAW,MAAM,KAAG,MAenE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,IAG1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QARI,MAAM,KAAG,IAQE,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,IAE9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAPI,MAAM,KAAG,IAOM,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,IAAI,EAAE,KAAK,IAAI,KAAG,IAAI,EAUzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,EACV,UAAU,IAAI,EACd,UAAU,IAAI,KACb,OAKF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,MAElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,IAAI,EAAE,MAAM,MAAM,KAAG,IAIlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,EAAE,QAAQ,MAAM,KAAG,IAUtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAG,MAE/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAG,OAE5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAG,OAK9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,IAAI,EAO9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,KAAG,IAE/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,KAAG,IAE9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI,KAAG,MAEzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,IAAI,EACV,eAAgB,EAChB,QAAO,MAAM,GAAG,OAAO,GAAG,QAAiB,KAC1C,MAEF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,EACV,eAAgB,EAChB,QAAO,MAAM,GAAG,OAAO,GAAG,QAAkB,KAC3C,MAEF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,EAAE,eAAgB,KAAG,MAK9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,QAAO,IAGxB,CAAC"}
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/utils/date.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,KAAG,MAK5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,WAAW,MAAM,KAAG,MAenE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,IAG1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QARI,MAAM,KAAG,IAQE,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,IAE9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAPI,MAAM,KAAG,IAOM,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,IAAI,EAAE,KAAK,IAAI,KAAG,IAAI,EAUzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,EACV,UAAU,IAAI,EACd,UAAU,IAAI,KACb,OAKF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,QAAO,MAElC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,MAAM,IAAI,EAAE,MAAM,MAAM,KAAG,IAIlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,EAAE,QAAQ,MAAM,KAAG,IAUtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAG,MAE/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAG,OAE5C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,IAAI,EAAE,GAAG,IAAI,KAAG,OAK9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,IAAI,EAO9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,IAAI,GAAG,IAAI,GAAG,SAAS,KAAG,IAGlE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,IAAI,KAAG,IAE9C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI,KAAG,MAEzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,IAAI,EACV,eAAgB,EAChB,QAAO,MAAM,GAAG,OAAO,GAAG,QAAiB,KAC1C,MAKF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,IAAI,EACV,eAAgB,EAChB,QAAO,MAAM,GAAG,OAAO,GAAG,QAAkB,KAC3C,MAKF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,EAAE,eAAgB,KAAG,MAM9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,KAAK,QAAO,IAGxB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dreamstack-us/kaal",
3
- "version": "0.0.3",
4
- "description": "High-performance React Native DatePicker with Unistyles v3",
3
+ "version": "0.0.5",
4
+ "description": "High-performance React Native DatePicker and TimePicker",
5
5
  "type": "module",
6
6
  "main": "./lib/module/index.js",
7
7
  "types": "./lib/typescript/index.d.ts",
@@ -33,12 +33,9 @@
33
33
  "peerDependencies": {
34
34
  "react": ">=18.2.0",
35
35
  "react-native": ">=0.78.0",
36
- "react-native-unistyles": "^3.0.0",
37
- "react-native-nitro-modules": "0.31.4",
38
- "react-native-reanimated": ">=3.17.0",
39
- "react-native-gesture-handler": ">=2.20.0",
40
36
  "react-native-svg": ">=13.0.0",
41
- "@dreamstack-us/kaal-themes": ">=1.0.0"
37
+ "react-native-reanimated": ">=3.17.0",
38
+ "react-native-gesture-handler": ">=2.20.0"
42
39
  },
43
40
  "peerDependenciesMeta": {
44
41
  "@expo/ui": {
@@ -46,6 +43,9 @@
46
43
  },
47
44
  "@dreamstack-us/kaal-themes": {
48
45
  "optional": true
46
+ },
47
+ "react-native-nitro-modules": {
48
+ "optional": true
49
49
  }
50
50
  },
51
51
  "devDependencies": {
@@ -57,7 +57,6 @@
57
57
  "react-native-nitro-modules": "0.31.4",
58
58
  "react-native-reanimated": "^3.17.0",
59
59
  "react-native-svg": "^15.15.1",
60
- "react-native-unistyles": "^3.0.0",
61
60
  "typescript": "^5.7.0"
62
61
  },
63
62
  "react-native-builder-bob": {
@@ -94,7 +93,7 @@
94
93
  "datepicker",
95
94
  "timepicker",
96
95
  "calendar",
97
- "unistyles",
96
+ "expo",
98
97
  "new-architecture"
99
98
  ],
100
99
  "license": "MIT"
@@ -135,7 +135,7 @@ export const CalendarGrid: React.FC<CalendarGridProps> = memo((props) => {
135
135
 
136
136
  const overrides = useDatePickerOverrides();
137
137
  const [currentMonth, setCurrentMonth] = React.useState(() =>
138
- getFirstDayOfMonth(singleValue ?? rangeStart ?? new Date()),
138
+ getFirstDayOfMonth(singleValue || rangeStart || today()),
139
139
  );
140
140
 
141
141
  const days = useMemo(
@@ -189,7 +189,7 @@ export const CalendarGrid: React.FC<CalendarGridProps> = memo((props) => {
189
189
 
190
190
  const overrides = useDatePickerOverrides();
191
191
  const [currentMonth, setCurrentMonth] = React.useState(() =>
192
- getFirstDayOfMonth(singleValue ?? rangeStart ?? new Date()),
192
+ getFirstDayOfMonth(singleValue || rangeStart || today()),
193
193
  );
194
194
 
195
195
  const days = useMemo(
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
2
  import { memo, useMemo } from 'react';
3
- import { Pressable, StyleSheet, Text } from 'react-native';
3
+ import { Pressable, StyleSheet, Text, View } from 'react-native';
4
4
  import { useDatePickerOverrides } from '../../context/ThemeOverrideContext';
5
5
 
6
6
  interface DayCellProps {
@@ -30,16 +30,51 @@ const DEFAULT_COLORS = {
30
30
  cellBorderRadius: 22,
31
31
  };
32
32
 
33
+ const CELL_SIZE = 44;
34
+ const BAND_HEIGHT = 28; // Narrower band for thermometer effect
35
+
33
36
  const styles = StyleSheet.create({
34
37
  cell: {
35
- width: 44,
36
- height: 44,
38
+ width: CELL_SIZE,
39
+ height: CELL_SIZE,
37
40
  justifyContent: 'center',
38
41
  alignItems: 'center',
39
42
  },
43
+ // Thermometer band for in-range dates
44
+ rangeBand: {
45
+ position: 'absolute',
46
+ top: (CELL_SIZE - BAND_HEIGHT) / 2,
47
+ height: BAND_HEIGHT,
48
+ left: 0,
49
+ right: 0,
50
+ },
51
+ // Half band extending right from range start
52
+ rangeBandRight: {
53
+ position: 'absolute',
54
+ top: (CELL_SIZE - BAND_HEIGHT) / 2,
55
+ height: BAND_HEIGHT,
56
+ left: CELL_SIZE / 2,
57
+ right: 0,
58
+ },
59
+ // Half band extending left to range end
60
+ rangeBandLeft: {
61
+ position: 'absolute',
62
+ top: (CELL_SIZE - BAND_HEIGHT) / 2,
63
+ height: BAND_HEIGHT,
64
+ left: 0,
65
+ right: CELL_SIZE / 2,
66
+ },
67
+ // Circle overlay for selected dates
68
+ circleOverlay: {
69
+ position: 'absolute',
70
+ width: CELL_SIZE,
71
+ height: CELL_SIZE,
72
+ borderRadius: CELL_SIZE / 2,
73
+ },
40
74
  text: {
41
75
  fontSize: 17,
42
76
  fontWeight: '400',
77
+ zIndex: 1,
43
78
  },
44
79
  });
45
80
 
@@ -57,48 +92,12 @@ export const DayCell: React.FC<DayCellProps> = memo(
57
92
  }) => {
58
93
  const overrides = useDatePickerOverrides();
59
94
 
60
- // Build cell style based on state and overrides
61
- // Use primaryColor as fallback for cellSelectedColor (consumer expectation)
62
- const cellStyle = useMemo(() => {
63
- const style: Record<string, unknown> = {
64
- backgroundColor: DEFAULT_COLORS.cellBackground,
65
- };
66
-
67
- // Range start/end get selected styling
68
- if (isRangeStart || isRangeEnd || isSelected) {
69
- style.backgroundColor =
70
- overrides?.cellSelectedColor ??
71
- overrides?.primaryColor ??
72
- DEFAULT_COLORS.cellSelected;
73
- style.borderRadius =
74
- overrides?.cellBorderRadius ?? DEFAULT_COLORS.cellBorderRadius;
75
- } else if (isInRange) {
76
- // Dates in range get lighter background
77
- style.backgroundColor =
78
- overrides?.cellInRangeColor ?? DEFAULT_COLORS.cellInRange;
79
- } else if (isToday) {
80
- style.backgroundColor =
81
- overrides?.cellTodayColor ?? DEFAULT_COLORS.cellToday;
82
- style.borderRadius =
83
- overrides?.cellBorderRadius ?? DEFAULT_COLORS.cellBorderRadius;
84
- style.borderWidth = 1;
85
- style.borderColor = overrides?.primaryColor ?? DEFAULT_COLORS.primary;
86
- }
87
-
88
- if (isDisabled) {
89
- style.opacity = 0.4;
90
- }
91
-
92
- return style;
93
- }, [
94
- overrides,
95
- isSelected,
96
- isToday,
97
- isDisabled,
98
- isRangeStart,
99
- isRangeEnd,
100
- isInRange,
101
- ]);
95
+ const rangeColor =
96
+ overrides?.cellInRangeColor ?? DEFAULT_COLORS.cellInRange;
97
+ const selectedColor =
98
+ overrides?.cellSelectedColor ??
99
+ overrides?.primaryColor ??
100
+ DEFAULT_COLORS.cellSelected;
102
101
 
103
102
  // Build text style based on state and overrides
104
103
  const textStyle = useMemo(() => {
@@ -135,13 +134,36 @@ export const DayCell: React.FC<DayCellProps> = memo(
135
134
  isInRange,
136
135
  ]);
137
136
 
137
+ // Today style (non-range)
138
+ const todayStyle = useMemo(() => {
139
+ if (
140
+ isToday &&
141
+ !isSelected &&
142
+ !isRangeStart &&
143
+ !isRangeEnd &&
144
+ !isInRange
145
+ ) {
146
+ return {
147
+ backgroundColor:
148
+ overrides?.cellTodayColor ?? DEFAULT_COLORS.cellToday,
149
+ borderRadius:
150
+ overrides?.cellBorderRadius ?? DEFAULT_COLORS.cellBorderRadius,
151
+ borderWidth: 1,
152
+ borderColor: overrides?.primaryColor ?? DEFAULT_COLORS.primary,
153
+ };
154
+ }
155
+ return null;
156
+ }, [isToday, isSelected, isRangeStart, isRangeEnd, isInRange, overrides]);
157
+
138
158
  if (!date) {
139
159
  return <Pressable style={styles.cell} disabled />;
140
160
  }
141
161
 
162
+ const cellOpacity = isDisabled ? 0.4 : 1;
163
+
142
164
  return (
143
165
  <Pressable
144
- style={[styles.cell, cellStyle]}
166
+ style={[styles.cell, { opacity: cellOpacity }]}
145
167
  onPress={onPress}
146
168
  disabled={isDisabled}
147
169
  accessibilityRole="button"
@@ -149,9 +171,39 @@ export const DayCell: React.FC<DayCellProps> = memo(
149
171
  weekday: 'long',
150
172
  month: 'long',
151
173
  day: 'numeric',
174
+ timeZone: 'UTC',
152
175
  }).format(date)}
153
176
  accessibilityState={{ selected: isSelected, disabled: isDisabled }}
154
177
  >
178
+ {/* Thermometer band for range start (extends right) */}
179
+ {isRangeStart && !isRangeEnd && (
180
+ <View
181
+ style={[styles.rangeBandRight, { backgroundColor: rangeColor }]}
182
+ />
183
+ )}
184
+
185
+ {/* Thermometer band for range end (extends left) */}
186
+ {isRangeEnd && !isRangeStart && (
187
+ <View
188
+ style={[styles.rangeBandLeft, { backgroundColor: rangeColor }]}
189
+ />
190
+ )}
191
+
192
+ {/* Thermometer band for in-range dates (full width) */}
193
+ {isInRange && (
194
+ <View style={[styles.rangeBand, { backgroundColor: rangeColor }]} />
195
+ )}
196
+
197
+ {/* Circle for selected/range start/end */}
198
+ {(isRangeStart || isRangeEnd || isSelected) && (
199
+ <View
200
+ style={[styles.circleOverlay, { backgroundColor: selectedColor }]}
201
+ />
202
+ )}
203
+
204
+ {/* Today indicator (when not in range) */}
205
+ {todayStyle && <View style={[styles.circleOverlay, todayStyle]} />}
206
+
155
207
  <Text style={[styles.text, textStyle]}>{date.getUTCDate()}</Text>
156
208
  </Pressable>
157
209
  );