@dreamstack-us/kaal 0.0.1 → 0.0.3

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 (136) hide show
  1. package/README.md +165 -0
  2. package/lib/module/components/CalendarGrid/CalendarGrid.js +125 -29
  3. package/lib/module/components/CalendarGrid/CalendarGrid.js.map +1 -1
  4. package/lib/module/components/CalendarGrid/CalendarGrid.styles.js +22 -17
  5. package/lib/module/components/CalendarGrid/CalendarGrid.styles.js.map +1 -1
  6. package/lib/module/components/CalendarGrid/CalendarGrid.web.js +265 -0
  7. package/lib/module/components/CalendarGrid/CalendarGrid.web.js.map +1 -0
  8. package/lib/module/components/CalendarGrid/DayCell.js +77 -53
  9. package/lib/module/components/CalendarGrid/DayCell.js.map +1 -1
  10. package/lib/module/components/CalendarGrid/DayCell.web.js +124 -0
  11. package/lib/module/components/CalendarGrid/DayCell.web.js.map +1 -0
  12. package/lib/module/components/CalendarGrid/index.js +1 -1
  13. package/lib/module/components/CalendarGrid/index.js.map +1 -1
  14. package/lib/module/components/DatePicker/DatePicker.android.js +53 -21
  15. package/lib/module/components/DatePicker/DatePicker.android.js.map +1 -1
  16. package/lib/module/components/DatePicker/DatePicker.ios.js +55 -23
  17. package/lib/module/components/DatePicker/DatePicker.ios.js.map +1 -1
  18. package/lib/module/components/DatePicker/DatePicker.js.map +1 -1
  19. package/lib/module/components/DatePicker/DatePicker.styles.js +19 -20
  20. package/lib/module/components/DatePicker/DatePicker.styles.js.map +1 -1
  21. package/lib/module/components/DatePicker/DatePicker.web.js +59 -21
  22. package/lib/module/components/DatePicker/DatePicker.web.js.map +1 -1
  23. package/lib/module/components/TimePicker/ClockFace.js +27 -7
  24. package/lib/module/components/TimePicker/ClockFace.js.map +1 -1
  25. package/lib/module/components/TimePicker/ClockFace.web.js +253 -0
  26. package/lib/module/components/TimePicker/ClockFace.web.js.map +1 -0
  27. package/lib/module/components/TimePicker/MaterialTimePicker.js +68 -16
  28. package/lib/module/components/TimePicker/MaterialTimePicker.js.map +1 -1
  29. package/lib/module/components/TimePicker/MaterialTimePicker.web.js +231 -0
  30. package/lib/module/components/TimePicker/MaterialTimePicker.web.js.map +1 -0
  31. package/lib/module/components/TimePicker/TimePicker.android.js +13 -6
  32. package/lib/module/components/TimePicker/TimePicker.android.js.map +1 -1
  33. package/lib/module/components/TimePicker/TimePicker.ios.js +14 -7
  34. package/lib/module/components/TimePicker/TimePicker.ios.js.map +1 -1
  35. package/lib/module/components/TimePicker/TimePicker.styles.js +53 -45
  36. package/lib/module/components/TimePicker/TimePicker.styles.js.map +1 -1
  37. package/lib/module/components/TimePicker/TimePicker.web.js +24 -12
  38. package/lib/module/components/TimePicker/TimePicker.web.js.map +1 -1
  39. package/lib/module/components/TimePicker/TimeWheelPicker.js +45 -10
  40. package/lib/module/components/TimePicker/TimeWheelPicker.js.map +1 -1
  41. package/lib/module/components/TimePicker/TimeWheelPicker.web.js +339 -0
  42. package/lib/module/components/TimePicker/TimeWheelPicker.web.js.map +1 -0
  43. package/lib/module/components/TimePicker/index.js +3 -3
  44. package/lib/module/components/TimePicker/index.js.map +1 -1
  45. package/lib/module/components/WheelPicker/WheelPicker.js +21 -2
  46. package/lib/module/components/WheelPicker/WheelPicker.js.map +1 -1
  47. package/lib/module/components/WheelPicker/WheelPicker.styles.js +13 -8
  48. package/lib/module/components/WheelPicker/WheelPicker.styles.js.map +1 -1
  49. package/lib/module/components/WheelPicker/WheelPicker.web.js +146 -57
  50. package/lib/module/components/WheelPicker/WheelPicker.web.js.map +1 -1
  51. package/lib/module/context/ThemeOverrideContext.js +34 -0
  52. package/lib/module/context/ThemeOverrideContext.js.map +1 -0
  53. package/lib/module/index.js +3 -0
  54. package/lib/module/index.js.map +1 -1
  55. package/lib/module/utils/validation.js +74 -34
  56. package/lib/module/utils/validation.js.map +1 -1
  57. package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts +24 -3
  58. package/lib/typescript/components/CalendarGrid/CalendarGrid.d.ts.map +1 -1
  59. package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts +12 -10
  60. package/lib/typescript/components/CalendarGrid/CalendarGrid.styles.d.ts.map +1 -1
  61. package/lib/typescript/components/CalendarGrid/CalendarGrid.web.d.ts +33 -0
  62. package/lib/typescript/components/CalendarGrid/CalendarGrid.web.d.ts.map +1 -0
  63. package/lib/typescript/components/CalendarGrid/DayCell.d.ts +3 -0
  64. package/lib/typescript/components/CalendarGrid/DayCell.d.ts.map +1 -1
  65. package/lib/typescript/components/CalendarGrid/DayCell.web.d.ts +15 -0
  66. package/lib/typescript/components/CalendarGrid/DayCell.web.d.ts.map +1 -0
  67. package/lib/typescript/components/DatePicker/DatePicker.android.d.ts.map +1 -1
  68. package/lib/typescript/components/DatePicker/DatePicker.d.ts +27 -4
  69. package/lib/typescript/components/DatePicker/DatePicker.d.ts.map +1 -1
  70. package/lib/typescript/components/DatePicker/DatePicker.ios.d.ts.map +1 -1
  71. package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts +12 -13
  72. package/lib/typescript/components/DatePicker/DatePicker.styles.d.ts.map +1 -1
  73. package/lib/typescript/components/DatePicker/DatePicker.web.d.ts.map +1 -1
  74. package/lib/typescript/components/TimePicker/ClockFace.d.ts.map +1 -1
  75. package/lib/typescript/components/TimePicker/ClockFace.web.d.ts +12 -0
  76. package/lib/typescript/components/TimePicker/ClockFace.web.d.ts.map +1 -0
  77. package/lib/typescript/components/TimePicker/MaterialTimePicker.d.ts.map +1 -1
  78. package/lib/typescript/components/TimePicker/MaterialTimePicker.web.d.ts +12 -0
  79. package/lib/typescript/components/TimePicker/MaterialTimePicker.web.d.ts.map +1 -0
  80. package/lib/typescript/components/TimePicker/TimePicker.android.d.ts.map +1 -1
  81. package/lib/typescript/components/TimePicker/TimePicker.ios.d.ts.map +1 -1
  82. package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts +29 -25
  83. package/lib/typescript/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
  84. package/lib/typescript/components/TimePicker/TimePicker.web.d.ts.map +1 -1
  85. package/lib/typescript/components/TimePicker/TimeWheelPicker.d.ts.map +1 -1
  86. package/lib/typescript/components/TimePicker/TimeWheelPicker.web.d.ts +11 -0
  87. package/lib/typescript/components/TimePicker/TimeWheelPicker.web.d.ts.map +1 -0
  88. package/lib/typescript/components/WheelPicker/WheelPicker.d.ts +14 -1
  89. package/lib/typescript/components/WheelPicker/WheelPicker.d.ts.map +1 -1
  90. package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts +9 -7
  91. package/lib/typescript/components/WheelPicker/WheelPicker.styles.d.ts.map +1 -1
  92. package/lib/typescript/components/WheelPicker/WheelPicker.web.d.ts.map +1 -1
  93. package/lib/typescript/context/ThemeOverrideContext.d.ts +23 -0
  94. package/lib/typescript/context/ThemeOverrideContext.d.ts.map +1 -0
  95. package/lib/typescript/index.d.ts +4 -2
  96. package/lib/typescript/index.d.ts.map +1 -1
  97. package/lib/typescript/types/datepicker.d.ts +78 -3
  98. package/lib/typescript/types/datepicker.d.ts.map +1 -1
  99. package/lib/typescript/types/timepicker.d.ts +62 -0
  100. package/lib/typescript/types/timepicker.d.ts.map +1 -1
  101. package/lib/typescript/utils/validation.d.ts +47 -27
  102. package/lib/typescript/utils/validation.d.ts.map +1 -1
  103. package/package.json +8 -8
  104. package/src/components/CalendarGrid/CalendarGrid.styles.ts +21 -17
  105. package/src/components/CalendarGrid/CalendarGrid.tsx +265 -85
  106. package/src/components/CalendarGrid/CalendarGrid.web.tsx +396 -0
  107. package/src/components/CalendarGrid/DayCell.tsx +122 -61
  108. package/src/components/CalendarGrid/DayCell.web.tsx +171 -0
  109. package/src/components/DatePicker/DatePicker.android.tsx +48 -24
  110. package/src/components/DatePicker/DatePicker.ios.tsx +51 -27
  111. package/src/components/DatePicker/DatePicker.styles.ts +18 -22
  112. package/src/components/DatePicker/DatePicker.tsx +35 -4
  113. package/src/components/DatePicker/DatePicker.web.tsx +55 -23
  114. package/src/components/TimePicker/ClockFace.tsx +34 -8
  115. package/src/components/TimePicker/ClockFace.web.tsx +303 -0
  116. package/src/components/TimePicker/MaterialTimePicker.tsx +144 -13
  117. package/src/components/TimePicker/MaterialTimePicker.web.tsx +271 -0
  118. package/src/components/TimePicker/TimePicker.android.tsx +9 -1
  119. package/src/components/TimePicker/TimePicker.ios.tsx +10 -6
  120. package/src/components/TimePicker/TimePicker.styles.ts +52 -45
  121. package/src/components/TimePicker/TimePicker.web.tsx +17 -7
  122. package/src/components/TimePicker/TimeWheelPicker.tsx +60 -6
  123. package/src/components/TimePicker/TimeWheelPicker.web.tsx +401 -0
  124. package/src/components/WheelPicker/WheelPicker.styles.ts +12 -8
  125. package/src/components/WheelPicker/WheelPicker.tsx +24 -2
  126. package/src/components/WheelPicker/WheelPicker.web.tsx +153 -57
  127. package/src/context/ThemeOverrideContext.tsx +38 -0
  128. package/src/index.ts +13 -0
  129. package/src/types/datepicker.ts +87 -3
  130. package/src/types/timepicker.ts +74 -0
  131. package/src/utils/validation.ts +111 -55
  132. package/lib/module/unistyles.js +0 -9
  133. package/lib/module/unistyles.js.map +0 -1
  134. package/lib/typescript/unistyles.d.ts +0 -3
  135. package/lib/typescript/unistyles.d.ts.map +0 -1
  136. package/src/unistyles.ts +0 -6
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import React, { Suspense, useCallback } from 'react';
3
+ import React, { Suspense } from 'react';
4
4
  import { ActivityIndicator, View } from 'react-native';
5
+ import { ThemeOverrideProvider } from "../../context/ThemeOverrideContext.js";
5
6
  import { toISODateString } from "../../utils/date.js";
6
7
  import { CalendarGrid } from "../CalendarGrid/index.js";
7
8
  import { styles } from "./DatePicker.styles.js";
@@ -31,36 +32,67 @@ const ExpoDatePicker = /*#__PURE__*/React.lazy(async () => {
31
32
  };
32
33
  }
33
34
  });
34
- export const DatePicker = ({
35
- value,
36
- onChange,
37
- theme = 'native',
38
- minDate,
39
- maxDate,
40
- disabledDates
41
- }) => {
42
- const handleDateChange = useCallback(date => {
43
- onChange(date);
44
- }, [onChange]);
35
+ export const DatePicker = props => {
36
+ const {
37
+ theme = 'native',
38
+ minDate,
39
+ maxDate,
40
+ disabledDates,
41
+ themeOverrides,
42
+ weekStartsOn = 0
43
+ } = props;
44
+ const themeMode = theme === 'native' ? 'android' : theme;
45
+
46
+ // Range mode
47
+ if (props.selectionMode === 'range') {
48
+ return /*#__PURE__*/_jsx(ThemeOverrideProvider, {
49
+ value: {
50
+ datePicker: themeOverrides
51
+ },
52
+ children: /*#__PURE__*/_jsx(CalendarGrid, {
53
+ selectionMode: "range",
54
+ startDate: props.startDate,
55
+ endDate: props.endDate,
56
+ onRangeChange: props.onRangeChange,
57
+ minDate: minDate,
58
+ maxDate: maxDate,
59
+ disabledDates: disabledDates,
60
+ themeMode: themeMode,
61
+ weekStartsOn: weekStartsOn
62
+ })
63
+ });
64
+ }
65
+
66
+ // Single selection mode
67
+ // Native picker only available for single selection
45
68
  if (theme === 'native') {
46
69
  return /*#__PURE__*/_jsx(View, {
47
70
  style: styles.container,
48
71
  children: /*#__PURE__*/_jsx(Suspense, {
49
72
  fallback: /*#__PURE__*/_jsx(ActivityIndicator, {}),
50
73
  children: /*#__PURE__*/_jsx(ExpoDatePicker, {
51
- value: value,
52
- onChange: handleDateChange
74
+ value: props.value,
75
+ onChange: props.onChange
53
76
  })
54
77
  })
55
78
  });
56
79
  }
57
- return /*#__PURE__*/_jsx(CalendarGrid, {
58
- value: value,
59
- onChange: onChange,
60
- minDate: minDate,
61
- maxDate: maxDate,
62
- disabledDates: disabledDates,
63
- themeMode: theme
80
+
81
+ // Single selection with custom theme
82
+ return /*#__PURE__*/_jsx(ThemeOverrideProvider, {
83
+ value: {
84
+ datePicker: themeOverrides
85
+ },
86
+ children: /*#__PURE__*/_jsx(CalendarGrid, {
87
+ selectionMode: "single",
88
+ value: props.value,
89
+ onChange: props.onChange,
90
+ minDate: minDate,
91
+ maxDate: maxDate,
92
+ disabledDates: disabledDates,
93
+ themeMode: themeMode,
94
+ weekStartsOn: weekStartsOn
95
+ })
64
96
  });
65
97
  };
66
98
  //# sourceMappingURL=DatePicker.android.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Suspense","useCallback","ActivityIndicator","View","toISODateString","CalendarGrid","styles","jsx","_jsx","ExpoDatePicker","lazy","DateTimePicker","default","value","onChange","onDateSelected","displayedComponents","initialDate","variant","_props","DatePicker","theme","minDate","maxDate","disabledDates","handleDateChange","date","style","container","children","fallback","themeMode"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.android.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AACpD,SAASC,iBAAiB,EAAEC,IAAI,QAAQ,cAAc;AACtD,SAASC,eAAe,QAAQ,qBAAkB;AAClD,SAASC,YAAY,QAAQ,0BAAiB;AAE9C,SAASC,MAAM,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO7C;AACA,MAAMC,cAAc,gBAAGV,KAAK,CAACW,IAAI,CAAC,YAAY;EAC5C,IAAI;IACF;IACA,MAAM;MAAEC;IAAe,CAAC,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC;IACnE,OAAO;MACLC,OAAO,EAAEA,CAAC;QAAEC,KAAK;QAAEC;MAA8B,CAAC,kBAChDN,IAAA,CAACG,cAAc;QACbI,cAAc,EAAED,QAAS;QACzBE,mBAAmB,EAAC,MAAM;QAC1BC,WAAW,EAAEb,eAAe,CAACS,KAAK,CAAE;QACpCK,OAAO,EAAC;MAAQ,CACjB;IAEL,CAAC;EACH,CAAC,CAAC,MAAM;IACN;IACA,OAAO;MAAEN,OAAO,EAAGO,MAA2B,IAAK;IAAK,CAAC;EAC3D;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,UAAyC,GAAGA,CAAC;EACxDP,KAAK;EACLC,QAAQ;EACRO,KAAK,GAAG,QAAQ;EAChBC,OAAO;EACPC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAGxB,WAAW,CACjCyB,IAAU,IAAK;IACdZ,QAAQ,CAACY,IAAI,CAAC;EAChB,CAAC,EACD,CAACZ,QAAQ,CACX,CAAC;EAED,IAAIO,KAAK,KAAK,QAAQ,EAAE;IACtB,oBACEb,IAAA,CAACL,IAAI;MAACwB,KAAK,EAAErB,MAAM,CAACsB,SAAU;MAAAC,QAAA,eAC5BrB,IAAA,CAACR,QAAQ;QAAC8B,QAAQ,eAAEtB,IAAA,CAACN,iBAAiB,IAAE,CAAE;QAAA2B,QAAA,eACxCrB,IAAA,CAACC,cAAc;UAACI,KAAK,EAAEA,KAAM;UAACC,QAAQ,EAAEW;QAAiB,CAAE;MAAC,CACpD;IAAC,CACP,CAAC;EAEX;EAEA,oBACEjB,IAAA,CAACH,YAAY;IACXQ,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBQ,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BO,SAAS,EAAEV;EAAM,CAClB,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Suspense","ActivityIndicator","View","ThemeOverrideProvider","toISODateString","CalendarGrid","styles","jsx","_jsx","ExpoDatePicker","lazy","DateTimePicker","default","value","onChange","onDateSelected","displayedComponents","initialDate","variant","_props","DatePicker","props","theme","minDate","maxDate","disabledDates","themeOverrides","weekStartsOn","themeMode","selectionMode","datePicker","children","startDate","endDate","onRangeChange","style","container","fallback"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.android.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,iBAAiB,EAAEC,IAAI,QAAQ,cAAc;AACtD,SAASC,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,eAAe,QAAQ,qBAAkB;AAClD,SAASC,YAAY,QAAQ,0BAAiB;AAE9C,SAASC,MAAM,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO7C;AACA,MAAMC,cAAc,gBAAGV,KAAK,CAACW,IAAI,CAAC,YAAY;EAC5C,IAAI;IACF;IACA,MAAM;MAAEC;IAAe,CAAC,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC;IACnE,OAAO;MACLC,OAAO,EAAEA,CAAC;QAAEC,KAAK;QAAEC;MAA8B,CAAC,kBAChDN,IAAA,CAACG,cAAc;QACbI,cAAc,EAAED,QAAS;QACzBE,mBAAmB,EAAC,MAAM;QAC1BC,WAAW,EAAEb,eAAe,CAACS,KAAK,CAAE;QACpCK,OAAO,EAAC;MAAQ,CACjB;IAEL,CAAC;EACH,CAAC,CAAC,MAAM;IACN;IACA,OAAO;MAAEN,OAAO,EAAGO,MAA2B,IAAK;IAAK,CAAC;EAC3D;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,UAAyC,GAAIC,KAAK,IAAK;EAClE,MAAM;IACJC,KAAK,GAAG,QAAQ;IAChBC,OAAO;IACPC,OAAO;IACPC,aAAa;IACbC,cAAc;IACdC,YAAY,GAAG;EACjB,CAAC,GAAGN,KAAK;EAET,MAAMO,SAAS,GAAGN,KAAK,KAAK,QAAQ,GAAG,SAAS,GAAGA,KAAK;;EAExD;EACA,IAAID,KAAK,CAACQ,aAAa,KAAK,OAAO,EAAE;IACnC,oBACErB,IAAA,CAACL,qBAAqB;MAACU,KAAK,EAAE;QAAEiB,UAAU,EAAEJ;MAAe,CAAE;MAAAK,QAAA,eAC3DvB,IAAA,CAACH,YAAY;QACXwB,aAAa,EAAC,OAAO;QACrBG,SAAS,EAAEX,KAAK,CAACW,SAAU;QAC3BC,OAAO,EAAEZ,KAAK,CAACY,OAAQ;QACvBC,aAAa,EAAEb,KAAK,CAACa,aAAc;QACnCX,OAAO,EAAEA,OAAQ;QACjBC,OAAO,EAAEA,OAAQ;QACjBC,aAAa,EAAEA,aAAc;QAC7BG,SAAS,EAAEA,SAAU;QACrBD,YAAY,EAAEA;MAAa,CAC5B;IAAC,CACmB,CAAC;EAE5B;;EAEA;EACA;EACA,IAAIL,KAAK,KAAK,QAAQ,EAAE;IACtB,oBACEd,IAAA,CAACN,IAAI;MAACiC,KAAK,EAAE7B,MAAM,CAAC8B,SAAU;MAAAL,QAAA,eAC5BvB,IAAA,CAACR,QAAQ;QAACqC,QAAQ,eAAE7B,IAAA,CAACP,iBAAiB,IAAE,CAAE;QAAA8B,QAAA,eACxCvB,IAAA,CAACC,cAAc;UAACI,KAAK,EAAEQ,KAAK,CAACR,KAAM;UAACC,QAAQ,EAAEO,KAAK,CAACP;QAAS,CAAE;MAAC,CACxD;IAAC,CACP,CAAC;EAEX;;EAEA;EACA,oBACEN,IAAA,CAACL,qBAAqB;IAACU,KAAK,EAAE;MAAEiB,UAAU,EAAEJ;IAAe,CAAE;IAAAK,QAAA,eAC3DvB,IAAA,CAACH,YAAY;MACXwB,aAAa,EAAC,QAAQ;MACtBhB,KAAK,EAAEQ,KAAK,CAACR,KAAM;MACnBC,QAAQ,EAAEO,KAAK,CAACP,QAAS;MACzBS,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA,OAAQ;MACjBC,aAAa,EAAEA,aAAc;MAC7BG,SAAS,EAAEA,SAAU;MACrBD,YAAY,EAAEA;IAAa,CAC5B;EAAC,CACmB,CAAC;AAE5B,CAAC","ignoreList":[]}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import React, { Suspense, useCallback } from 'react';
3
+ import React, { Suspense } from 'react';
4
4
  import { ActivityIndicator, View } from 'react-native';
5
+ import { ThemeOverrideProvider } from "../../context/ThemeOverrideContext.js";
5
6
  import { toISODateString } from "../../utils/date.js";
6
7
  import { CalendarGrid } from "../CalendarGrid/index.js";
7
8
  import { styles } from "./DatePicker.styles.js";
@@ -36,39 +37,70 @@ const ExpoDatePicker = /*#__PURE__*/React.lazy(async () => {
36
37
  };
37
38
  }
38
39
  });
39
- export const DatePicker = ({
40
- value,
41
- onChange,
42
- mode = 'date',
43
- theme = 'native',
44
- variant = 'wheel',
45
- minDate,
46
- maxDate,
47
- disabledDates
48
- }) => {
49
- const handleDateChange = useCallback(date => {
50
- onChange(date);
51
- }, [onChange]);
40
+ export const DatePicker = props => {
41
+ const {
42
+ mode = 'date',
43
+ theme = 'native',
44
+ variant = 'wheel',
45
+ minDate,
46
+ maxDate,
47
+ disabledDates,
48
+ themeOverrides,
49
+ weekStartsOn = 0
50
+ } = props;
51
+ const themeMode = theme === 'native' ? 'ios' : theme;
52
+
53
+ // Range mode
54
+ if (props.selectionMode === 'range') {
55
+ return /*#__PURE__*/_jsx(ThemeOverrideProvider, {
56
+ value: {
57
+ datePicker: themeOverrides
58
+ },
59
+ children: /*#__PURE__*/_jsx(CalendarGrid, {
60
+ selectionMode: "range",
61
+ startDate: props.startDate,
62
+ endDate: props.endDate,
63
+ onRangeChange: props.onRangeChange,
64
+ minDate: minDate,
65
+ maxDate: maxDate,
66
+ disabledDates: disabledDates,
67
+ themeMode: themeMode,
68
+ weekStartsOn: weekStartsOn
69
+ })
70
+ });
71
+ }
72
+
73
+ // Single selection mode
74
+ // Native picker only available for single selection
52
75
  if (theme === 'native') {
53
76
  return /*#__PURE__*/_jsx(View, {
54
77
  style: styles.container,
55
78
  children: /*#__PURE__*/_jsx(Suspense, {
56
79
  fallback: /*#__PURE__*/_jsx(ActivityIndicator, {}),
57
80
  children: /*#__PURE__*/_jsx(ExpoDatePicker, {
58
- value: value,
59
- onChange: handleDateChange,
81
+ value: props.value,
82
+ onChange: props.onChange,
60
83
  variant: variant
61
84
  })
62
85
  })
63
86
  });
64
87
  }
65
- return /*#__PURE__*/_jsx(CalendarGrid, {
66
- value: value,
67
- onChange: onChange,
68
- minDate: minDate,
69
- maxDate: maxDate,
70
- disabledDates: disabledDates,
71
- themeMode: theme
88
+
89
+ // Single selection with custom theme
90
+ return /*#__PURE__*/_jsx(ThemeOverrideProvider, {
91
+ value: {
92
+ datePicker: themeOverrides
93
+ },
94
+ children: /*#__PURE__*/_jsx(CalendarGrid, {
95
+ selectionMode: "single",
96
+ value: props.value,
97
+ onChange: props.onChange,
98
+ minDate: minDate,
99
+ maxDate: maxDate,
100
+ disabledDates: disabledDates,
101
+ themeMode: themeMode,
102
+ weekStartsOn: weekStartsOn
103
+ })
72
104
  });
73
105
  };
74
106
  //# sourceMappingURL=DatePicker.ios.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Suspense","useCallback","ActivityIndicator","View","toISODateString","CalendarGrid","styles","jsx","_jsx","ExpoDatePicker","lazy","DateTimePicker","Host","default","value","onChange","variant","matchContents","children","onDateSelected","displayedComponents","initialDate","_props","DatePicker","mode","theme","minDate","maxDate","disabledDates","handleDateChange","date","style","container","fallback","themeMode"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.ios.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AACpD,SAASC,iBAAiB,EAAEC,IAAI,QAAQ,cAAc;AACtD,SAASC,eAAe,QAAQ,qBAAkB;AAClD,SAASC,YAAY,QAAQ,0BAAiB;AAE9C,SAASC,MAAM,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ7C;AACA,MAAMC,cAAc,gBAAGV,KAAK,CAACW,IAAI,CAAC,YAAY;EAC5C,IAAI;IACF;IACA,MAAM;MAAEC,cAAc;MAAEC;IAAK,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC;IAClE,OAAO;MACLC,OAAO,EAAEA,CAAC;QAAEC,KAAK;QAAEC,QAAQ;QAAEC;MAA6B,CAAC,kBACzDR,IAAA,CAACI,IAAI;QAACK,aAAa;QAAAC,QAAA,eACjBV,IAAA,CAACG,cAAc;UACbQ,cAAc,EAAEJ,QAAS;UACzBK,mBAAmB,EAAC,MAAM;UAC1BC,WAAW,EAAEjB,eAAe,CAACU,KAAK,CAAE;UACpCE,OAAO,EAAEA,OAAO,IAAI;QAAQ,CAC7B;MAAC,CACE;IAEV,CAAC;EACH,CAAC,CAAC,MAAM;IACN;IACA,OAAO;MAAEH,OAAO,EAAGS,MAA2B,IAAK;IAAK,CAAC;EAC3D;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,UAAyC,GAAGA,CAAC;EACxDT,KAAK;EACLC,QAAQ;EACRS,IAAI,GAAG,MAAM;EACbC,KAAK,GAAG,QAAQ;EAChBT,OAAO,GAAG,OAAO;EACjBU,OAAO;EACPC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAMC,gBAAgB,GAAG5B,WAAW,CACjC6B,IAAU,IAAK;IACdf,QAAQ,CAACe,IAAI,CAAC;EAChB,CAAC,EACD,CAACf,QAAQ,CACX,CAAC;EAED,IAAIU,KAAK,KAAK,QAAQ,EAAE;IACtB,oBACEjB,IAAA,CAACL,IAAI;MAAC4B,KAAK,EAAEzB,MAAM,CAAC0B,SAAU;MAAAd,QAAA,eAC5BV,IAAA,CAACR,QAAQ;QAACiC,QAAQ,eAAEzB,IAAA,CAACN,iBAAiB,IAAE,CAAE;QAAAgB,QAAA,eACxCV,IAAA,CAACC,cAAc;UACbK,KAAK,EAAEA,KAAM;UACbC,QAAQ,EAAEc,gBAAiB;UAC3Bb,OAAO,EAAEA;QAAQ,CAClB;MAAC,CACM;IAAC,CACP,CAAC;EAEX;EAEA,oBACER,IAAA,CAACH,YAAY;IACXS,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBW,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BM,SAAS,EAAET;EAAM,CAClB,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Suspense","ActivityIndicator","View","ThemeOverrideProvider","toISODateString","CalendarGrid","styles","jsx","_jsx","ExpoDatePicker","lazy","DateTimePicker","Host","default","value","onChange","variant","matchContents","children","onDateSelected","displayedComponents","initialDate","_props","DatePicker","props","mode","theme","minDate","maxDate","disabledDates","themeOverrides","weekStartsOn","themeMode","selectionMode","datePicker","startDate","endDate","onRangeChange","style","container","fallback"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.ios.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["DatePicker","_props"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.tsx"],"mappings":";;AAeA;AACA;AACA,OAAO,MAAMA,UAAyC,GAAIC,MAAM,IAAK;EACnE;EACA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["DatePicker","_props"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.tsx"],"mappings":";;AA8CA;AACA;AACA,OAAO,MAAMA,UAAyC,GAAIC,MAAM,IAAK;EACnE;EACA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -1,35 +1,34 @@
1
1
  "use strict";
2
2
 
3
- import { Platform } from 'react-native';
4
- import { StyleSheet } from 'react-native-unistyles';
5
- export const styles = StyleSheet.create(theme => ({
3
+ import { Platform, StyleSheet } from 'react-native';
4
+
5
+ /**
6
+ * Default styles for DatePicker using plain React Native StyleSheet.
7
+ * Colors use dark theme defaults - consumers override via themeOverrides prop.
8
+ */
9
+ export const styles = StyleSheet.create({
6
10
  container: {
7
- backgroundColor: theme.colors.background.default,
8
- borderRadius: theme.radii.card,
11
+ backgroundColor: '#1E1E1E',
12
+ borderRadius: 16,
9
13
  overflow: 'hidden',
10
- variants: {
11
- size: {
12
- compact: {
13
- padding: theme.spacing(2)
14
- },
15
- default: {
16
- padding: theme.spacing(4)
17
- },
18
- large: {
19
- padding: theme.spacing(6)
20
- }
21
- }
22
- }
14
+ padding: 16
15
+ },
16
+ containerCompact: {
17
+ padding: 8
18
+ },
19
+ containerLarge: {
20
+ padding: 24
23
21
  },
24
22
  backdrop: Platform.select({
25
23
  web: {
24
+ // @ts-ignore - web-only properties
26
25
  backdropFilter: 'blur(20px) saturate(180%)',
27
26
  WebkitBackdropFilter: 'blur(20px) saturate(180%)',
28
27
  backgroundColor: 'rgba(255, 255, 255, 0.7)'
29
28
  },
30
29
  default: {
31
- backgroundColor: theme.colors.background.elevated
30
+ backgroundColor: '#2C2C2E'
32
31
  }
33
32
  })
34
- }));
33
+ });
35
34
  //# sourceMappingURL=DatePicker.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","StyleSheet","styles","create","theme","container","backgroundColor","colors","background","default","borderRadius","radii","card","overflow","variants","size","compact","padding","spacing","large","backdrop","select","web","backdropFilter","WebkitBackdropFilter","elevated"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,UAAU,QAAgC,wBAAwB;AAE3E,OAAO,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAM,CAAEC,KAAK,KAAM;EAClDC,SAAS,EAAE;IACTC,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC,UAAU,CAACC,OAAO;IAChDC,YAAY,EAAEN,KAAK,CAACO,KAAK,CAACC,IAAI;IAC9BC,QAAQ,EAAE,QAAQ;IAClBC,QAAQ,EAAE;MACRC,IAAI,EAAE;QACJC,OAAO,EAAE;UACPC,OAAO,EAAEb,KAAK,CAACc,OAAO,CAAC,CAAC;QAC1B,CAAC;QACDT,OAAO,EAAE;UACPQ,OAAO,EAAEb,KAAK,CAACc,OAAO,CAAC,CAAC;QAC1B,CAAC;QACDC,KAAK,EAAE;UACLF,OAAO,EAAEb,KAAK,CAACc,OAAO,CAAC,CAAC;QAC1B;MACF;IACF;EACF,CAAC;EACDE,QAAQ,EAAEpB,QAAQ,CAACqB,MAAM,CAAC;IACxBC,GAAG,EAAE;MACHC,cAAc,EAAE,2BAA2B;MAC3CC,oBAAoB,EAAE,2BAA2B;MACjDlB,eAAe,EAAE;IACnB,CAAC;IACDG,OAAO,EAAE;MACPH,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC,UAAU,CAACiB;IAC3C;EACF,CAAC;AACH,CAAC,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Platform","StyleSheet","styles","create","container","backgroundColor","borderRadius","overflow","padding","containerCompact","containerLarge","backdrop","select","web","backdropFilter","WebkitBackdropFilter","default"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,QAAQ,cAAc;;AAEnD;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAM,CAAC;EACtCC,SAAS,EAAE;IACTC,eAAe,EAAE,SAAS;IAC1BC,YAAY,EAAE,EAAE;IAChBC,QAAQ,EAAE,QAAQ;IAClBC,OAAO,EAAE;EACX,CAAC;EACDC,gBAAgB,EAAE;IAChBD,OAAO,EAAE;EACX,CAAC;EACDE,cAAc,EAAE;IACdF,OAAO,EAAE;EACX,CAAC;EACDG,QAAQ,EAAEX,QAAQ,CAACY,MAAM,CAAC;IACxBC,GAAG,EAAE;MACH;MACAC,cAAc,EAAE,2BAA2B;MAC3CC,oBAAoB,EAAE,2BAA2B;MACjDV,eAAe,EAAE;IACnB,CAAC;IACDW,OAAO,EAAE;MACPX,eAAe,EAAE;IACnB;EACF,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,32 +1,70 @@
1
1
  "use strict";
2
2
 
3
+ import { ThemeOverrideProvider } from "../../context/ThemeOverrideContext.js";
3
4
  import { CalendarGrid } from "../CalendarGrid/index.js";
4
5
  import { WheelPicker } from "../WheelPicker/index.js";
5
6
  import { jsx as _jsx } from "react/jsx-runtime";
6
- export const DatePicker = ({
7
- value,
8
- onChange,
9
- theme = 'ios',
10
- variant = 'calendar',
11
- minDate,
12
- maxDate,
13
- disabledDates
14
- }) => {
7
+ export const DatePicker = props => {
8
+ const {
9
+ theme = 'ios',
10
+ variant = 'calendar',
11
+ minDate,
12
+ maxDate,
13
+ disabledDates,
14
+ themeOverrides,
15
+ weekStartsOn = 0
16
+ } = props;
17
+ const themeMode = theme === 'native' ? 'ios' : theme;
18
+
19
+ // Range mode
20
+ if (props.selectionMode === 'range') {
21
+ return /*#__PURE__*/_jsx(ThemeOverrideProvider, {
22
+ value: {
23
+ datePicker: themeOverrides
24
+ },
25
+ children: /*#__PURE__*/_jsx(CalendarGrid, {
26
+ selectionMode: "range",
27
+ startDate: props.startDate,
28
+ endDate: props.endDate,
29
+ onRangeChange: props.onRangeChange,
30
+ minDate: minDate,
31
+ maxDate: maxDate,
32
+ disabledDates: disabledDates,
33
+ themeMode: themeMode,
34
+ weekStartsOn: weekStartsOn
35
+ })
36
+ });
37
+ }
38
+
39
+ // Single selection mode (default)
40
+ // Wheel picker only supports single selection
15
41
  if (theme === 'ios' && variant === 'wheel') {
16
- return /*#__PURE__*/_jsx(WheelPicker, {
17
- value: value,
18
- onChange: onChange,
19
- minDate: minDate,
20
- maxDate: maxDate
42
+ return /*#__PURE__*/_jsx(ThemeOverrideProvider, {
43
+ value: {
44
+ datePicker: themeOverrides
45
+ },
46
+ children: /*#__PURE__*/_jsx(WheelPicker, {
47
+ value: props.value,
48
+ onChange: props.onChange,
49
+ minDate: minDate,
50
+ maxDate: maxDate
51
+ })
21
52
  });
22
53
  }
23
- return /*#__PURE__*/_jsx(CalendarGrid, {
24
- value: value,
25
- onChange: onChange,
26
- minDate: minDate,
27
- maxDate: maxDate,
28
- disabledDates: disabledDates,
29
- themeMode: theme === 'native' ? 'ios' : theme
54
+ return /*#__PURE__*/_jsx(ThemeOverrideProvider, {
55
+ value: {
56
+ datePicker: themeOverrides
57
+ },
58
+ children: /*#__PURE__*/_jsx(CalendarGrid, {
59
+ selectionMode: "single",
60
+ value: props.value,
61
+ onChange: props.onChange,
62
+ minDate: minDate,
63
+ maxDate: maxDate,
64
+ disabledDates: disabledDates,
65
+ themeMode: themeMode,
66
+ weekStartsOn: weekStartsOn
67
+ })
30
68
  });
31
69
  };
32
70
  //# sourceMappingURL=DatePicker.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CalendarGrid","WheelPicker","jsx","_jsx","DatePicker","value","onChange","theme","variant","minDate","maxDate","disabledDates","themeMode"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.web.tsx"],"mappings":";;AACA,SAASA,YAAY,QAAQ,0BAAiB;AAC9C,SAASC,WAAW,QAAQ,yBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG7C,OAAO,MAAMC,UAAyC,GAAGA,CAAC;EACxDC,KAAK;EACLC,QAAQ;EACRC,KAAK,GAAG,KAAK;EACbC,OAAO,GAAG,UAAU;EACpBC,OAAO;EACPC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,IAAIJ,KAAK,KAAK,KAAK,IAAIC,OAAO,KAAK,OAAO,EAAE;IAC1C,oBACEL,IAAA,CAACF,WAAW;MACVI,KAAK,EAAEA,KAAM;MACbC,QAAQ,EAAEA,QAAS;MACnBG,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA;IAAQ,CAClB,CAAC;EAEN;EAEA,oBACEP,IAAA,CAACH,YAAY;IACXK,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBG,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7BC,SAAS,EAAEL,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAGA;EAAM,CAC/C,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ThemeOverrideProvider","CalendarGrid","WheelPicker","jsx","_jsx","DatePicker","props","theme","variant","minDate","maxDate","disabledDates","themeOverrides","weekStartsOn","themeMode","selectionMode","value","datePicker","children","startDate","endDate","onRangeChange","onChange"],"sourceRoot":"../../../../src","sources":["components/DatePicker/DatePicker.web.tsx"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,uCAAoC;AAC1E,SAASC,YAAY,QAAQ,0BAAiB;AAC9C,SAASC,WAAW,QAAQ,yBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG7C,OAAO,MAAMC,UAAyC,GAAIC,KAAK,IAAK;EAClE,MAAM;IACJC,KAAK,GAAG,KAAK;IACbC,OAAO,GAAG,UAAU;IACpBC,OAAO;IACPC,OAAO;IACPC,aAAa;IACbC,cAAc;IACdC,YAAY,GAAG;EACjB,CAAC,GAAGP,KAAK;EAET,MAAMQ,SAAS,GAAGP,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAGA,KAAK;;EAEpD;EACA,IAAID,KAAK,CAACS,aAAa,KAAK,OAAO,EAAE;IACnC,oBACEX,IAAA,CAACJ,qBAAqB;MAACgB,KAAK,EAAE;QAAEC,UAAU,EAAEL;MAAe,CAAE;MAAAM,QAAA,eAC3Dd,IAAA,CAACH,YAAY;QACXc,aAAa,EAAC,OAAO;QACrBI,SAAS,EAAEb,KAAK,CAACa,SAAU;QAC3BC,OAAO,EAAEd,KAAK,CAACc,OAAQ;QACvBC,aAAa,EAAEf,KAAK,CAACe,aAAc;QACnCZ,OAAO,EAAEA,OAAQ;QACjBC,OAAO,EAAEA,OAAQ;QACjBC,aAAa,EAAEA,aAAc;QAC7BG,SAAS,EAAEA,SAAU;QACrBD,YAAY,EAAEA;MAAa,CAC5B;IAAC,CACmB,CAAC;EAE5B;;EAEA;EACA;EACA,IAAIN,KAAK,KAAK,KAAK,IAAIC,OAAO,KAAK,OAAO,EAAE;IAC1C,oBACEJ,IAAA,CAACJ,qBAAqB;MAACgB,KAAK,EAAE;QAAEC,UAAU,EAAEL;MAAe,CAAE;MAAAM,QAAA,eAC3Dd,IAAA,CAACF,WAAW;QACVc,KAAK,EAAEV,KAAK,CAACU,KAAM;QACnBM,QAAQ,EAAEhB,KAAK,CAACgB,QAAS;QACzBb,OAAO,EAAEA,OAAQ;QACjBC,OAAO,EAAEA;MAAQ,CAClB;IAAC,CACmB,CAAC;EAE5B;EAEA,oBACEN,IAAA,CAACJ,qBAAqB;IAACgB,KAAK,EAAE;MAAEC,UAAU,EAAEL;IAAe,CAAE;IAAAM,QAAA,eAC3Dd,IAAA,CAACH,YAAY;MACXc,aAAa,EAAC,QAAQ;MACtBC,KAAK,EAAEV,KAAK,CAACU,KAAM;MACnBM,QAAQ,EAAEhB,KAAK,CAACgB,QAAS;MACzBb,OAAO,EAAEA,OAAQ;MACjBC,OAAO,EAAEA,OAAQ;MACjBC,aAAa,EAAEA,aAAc;MAC7BG,SAAS,EAAEA,SAAU;MACrBD,YAAY,EAAEA;IAAa,CAC5B;EAAC,CACmB,CAAC;AAE5B,CAAC","ignoreList":[]}
@@ -5,6 +5,7 @@ import { View } from 'react-native';
5
5
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
6
6
  import { runOnJS } from 'react-native-reanimated';
7
7
  import Svg, { Circle, G, Line, Text as SvgText } from 'react-native-svg';
8
+ import { useTimePickerOverrides } from "../../context/ThemeOverrideContext.js";
8
9
  import { to12Hour, to24Hour } from "../../hooks/useTimePicker.js";
9
10
  import { styles } from "./TimePicker.styles.js";
10
11
 
@@ -20,6 +21,15 @@ const CENTER_DOT_RADIUS = 4;
20
21
  const HOURS_12 = [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
21
22
  const MINUTE_LABELS = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55];
22
23
 
24
+ // Default colors (dark theme)
25
+ const DEFAULT_COLORS = {
26
+ clockBackground: '#3F384C',
27
+ handColor: '#4DA6FF',
28
+ selectionDotColor: '#4DA6FF',
29
+ textColor: '#E6E1E5',
30
+ textSelectedColor: '#FFFFFF'
31
+ };
32
+
23
33
  /**
24
34
  * Converts clock position (0-11 for hours, 0-59 for minutes) to angle in degrees
25
35
  * 12 o'clock is at -90 degrees (top)
@@ -48,11 +58,21 @@ export const ClockFace = /*#__PURE__*/memo(({
48
58
  onModeChange,
49
59
  is24Hour = false
50
60
  }) => {
61
+ const overrides = useTimePickerOverrides();
51
62
  const {
52
63
  hour: hour12,
53
64
  period
54
65
  } = to12Hour(value.hours);
55
66
 
67
+ // Build colors from overrides
68
+ const colors = useMemo(() => ({
69
+ clockBackground: overrides?.clockBackground ?? DEFAULT_COLORS.clockBackground,
70
+ handColor: overrides?.clockHandColor ?? DEFAULT_COLORS.handColor,
71
+ selectionDotColor: overrides?.clockSelectionColor ?? DEFAULT_COLORS.selectionDotColor,
72
+ textColor: overrides?.clockTextColor ?? DEFAULT_COLORS.textColor,
73
+ textSelectedColor: overrides?.clockTextSelectedColor ?? DEFAULT_COLORS.textSelectedColor
74
+ }), [overrides]);
75
+
56
76
  // Calculate hand end position based on current value
57
77
  const handAngle = useMemo(() => {
58
78
  if (mode === 'hours') {
@@ -132,7 +152,7 @@ export const ClockFace = /*#__PURE__*/memo(({
132
152
  alignmentBaseline: "central",
133
153
  fontSize: 14,
134
154
  fontWeight: isSelected ? '500' : '400',
135
- fill: isSelected ? '#FFFFFF' : '#E6E1E5',
155
+ fill: isSelected ? colors.textSelectedColor : colors.textColor,
136
156
  children: hour
137
157
  }, hour);
138
158
  });
@@ -148,11 +168,11 @@ export const ClockFace = /*#__PURE__*/memo(({
148
168
  alignmentBaseline: "central",
149
169
  fontSize: 14,
150
170
  fontWeight: isSelected ? '500' : '400',
151
- fill: isSelected ? '#FFFFFF' : '#E6E1E5',
171
+ fill: isSelected ? colors.textSelectedColor : colors.textColor,
152
172
  children: minute.toString().padStart(2, '0')
153
173
  }, minute);
154
174
  });
155
- }, [mode, hour12, value.minutes]);
175
+ }, [mode, hour12, value.minutes, colors]);
156
176
  return /*#__PURE__*/_jsx(View, {
157
177
  style: styles.clockContainer,
158
178
  children: /*#__PURE__*/_jsx(GestureDetector, {
@@ -165,24 +185,24 @@ export const ClockFace = /*#__PURE__*/memo(({
165
185
  cx: CLOCK_CENTER,
166
186
  cy: CLOCK_CENTER,
167
187
  r: CLOCK_SIZE / 2 - 4,
168
- fill: "#3F384C"
188
+ fill: colors.clockBackground
169
189
  }), /*#__PURE__*/_jsx(Circle, {
170
190
  cx: handEndPos.x,
171
191
  cy: handEndPos.y,
172
192
  r: SELECTION_DOT_RADIUS,
173
- fill: "#4DA6FF"
193
+ fill: colors.selectionDotColor
174
194
  }), /*#__PURE__*/_jsx(Line, {
175
195
  x1: CLOCK_CENTER,
176
196
  y1: CLOCK_CENTER,
177
197
  x2: handEndPos.x,
178
198
  y2: handEndPos.y,
179
- stroke: "#4DA6FF",
199
+ stroke: colors.handColor,
180
200
  strokeWidth: 2
181
201
  }), /*#__PURE__*/_jsx(Circle, {
182
202
  cx: CLOCK_CENTER,
183
203
  cy: CLOCK_CENTER,
184
204
  r: CENTER_DOT_RADIUS,
185
- fill: "#4DA6FF"
205
+ fill: colors.handColor
186
206
  }), /*#__PURE__*/_jsx(G, {
187
207
  children: numbers
188
208
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useMemo","View","Gesture","GestureDetector","runOnJS","Svg","Circle","G","Line","Text","SvgText","to12Hour","to24Hour","styles","jsx","_jsx","jsxs","_jsxs","CLOCK_SIZE","CLOCK_CENTER","OUTER_RADIUS","SELECTION_DOT_RADIUS","CENTER_DOT_RADIUS","HOURS_12","MINUTE_LABELS","positionToAngle","position","isMinutes","getPointOnCircle","angleDegrees","radius","rad","Math","PI","x","cos","y","sin","ClockFace","value","onChange","mode","onModeChange","is24Hour","hour","hour12","period","hours","handAngle","hourIndex","indexOf","minutes","handEndPos","handleInteraction","dx","dy","angle","atan2","normalized","round","undefined","newHours","handleInteractionEnd","setTimeout","panGesture","Pan","onStart","e","onUpdate","onEnd","tapGesture","Tap","combinedGesture","Race","numbers","map","index","pos","isSelected","textAnchor","alignmentBaseline","fontSize","fontWeight","fill","children","minute","toString","padStart","style","clockContainer","gesture","width","height","viewBox","cx","cy","r","x1","y1","x2","y2","stroke","strokeWidth","displayName"],"sourceRoot":"../../../../src","sources":["components/TimePicker/ClockFace.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useMemo","View","Gesture","GestureDetector","runOnJS","Svg","Circle","G","Line","Text","SvgText","useTimePickerOverrides","to12Hour","to24Hour","styles","jsx","_jsx","jsxs","_jsxs","CLOCK_SIZE","CLOCK_CENTER","OUTER_RADIUS","SELECTION_DOT_RADIUS","CENTER_DOT_RADIUS","HOURS_12","MINUTE_LABELS","DEFAULT_COLORS","clockBackground","handColor","selectionDotColor","textColor","textSelectedColor","positionToAngle","position","isMinutes","getPointOnCircle","angleDegrees","radius","rad","Math","PI","x","cos","y","sin","ClockFace","value","onChange","mode","onModeChange","is24Hour","overrides","hour","hour12","period","hours","colors","clockHandColor","clockSelectionColor","clockTextColor","clockTextSelectedColor","handAngle","hourIndex","indexOf","minutes","handEndPos","handleInteraction","dx","dy","angle","atan2","normalized","round","undefined","newHours","handleInteractionEnd","setTimeout","panGesture","Pan","onStart","e","onUpdate","onEnd","tapGesture","Tap","combinedGesture","Race","numbers","map","index","pos","isSelected","textAnchor","alignmentBaseline","fontSize","fontWeight","fill","children","minute","toString","padStart","style","clockContainer","gesture","width","height","viewBox","cx","cy","r","x1","y1","x2","y2","stroke","strokeWidth","displayName"],"sourceRoot":"../../../../src","sources":["components/TimePicker/ClockFace.tsx"],"mappings":"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","ignoreList":[]}